bfdcbcd2 by white

亚心医院专用查询程序

1 parent c383c570
Showing 149 changed files with 5604 additions and 0 deletions
No preview for this file type

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HcgClientExport", "HcgClientExport\HcgClientExport.csproj", "{D395B57C-8A8F-47EE-8DC6-0D83158EC3C6}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{D395B57C-8A8F-47EE-8DC6-0D83158EC3C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D395B57C-8A8F-47EE-8DC6-0D83158EC3C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D395B57C-8A8F-47EE-8DC6-0D83158EC3C6}.Debug|x86.ActiveCfg = Debug|x86
{D395B57C-8A8F-47EE-8DC6-0D83158EC3C6}.Debug|x86.Build.0 = Debug|x86
{D395B57C-8A8F-47EE-8DC6-0D83158EC3C6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D395B57C-8A8F-47EE-8DC6-0D83158EC3C6}.Release|Any CPU.Build.0 = Release|Any CPU
{D395B57C-8A8F-47EE-8DC6-0D83158EC3C6}.Release|x86.ActiveCfg = Release|x86
{D395B57C-8A8F-47EE-8DC6-0D83158EC3C6}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {265F3B90-60F0-418F-BFF0-C74D19312827}
EndGlobalSection
EndGlobal
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/></startup>
<appSettings>
<add key="orgguid" value="DSA手术室~ZNG007"/>
<add key="AppPassword" value="cszng@123"/>
<add key="SysName" value="链享科技耗材柜科室商品查询"/>
<add key="connstr" value="server=127.0.0.1;user id=root;password=xueying;database=hcgnew_sg;Allow User Variables=True;charset=utf8;"/>
<add key="ZNG007" value="server=127.0.0.1;user id=root;password=xueying;database=hcgnew_sg;Allow User Variables=True;charset=utf8;"/>
<add key="url" value="http://localhost:9538/"/>
<add key="xh" value="hcg/yxsap/GetSapConsumption"/>
<add key="bs" value="hcg/yxsap/GetSappd"/>
</appSettings>
</configuration>
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
namespace HcgClientExport
{
public class DataControl
{
public string GetLogin(string userid, string password, Form1 f)
{
string sqlstr = @"select ROLEGUID FROM sys_user where LOGINUSER=@id and PWD=@pwd";
MySql.Data.MySqlClient.MySqlParameter[] parameters = new MySql.Data.MySqlClient.MySqlParameter[2];
parameters[0] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[0].ParameterName = "id";
parameters[0].Value = userid;
parameters[1] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[1].ParameterName = "pwd";
parameters[1].Value = password;
// DataSet ds = MySQLHelper.GetDataSet(sqlstr, CommandType.Text, parameters);
try
{
//read = MySQLHelper.ExecuteReader(sqlstr, CommandType.Text, parameters);
DataSet ds = MySQLHelper.GetDataSet(sqlstr, CommandType.Text, parameters);
if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
{
if (ds.Tables[0].Rows[0][0] != null && !ds.Tables[0].Rows[0][0].Equals(""))
{
sqlstr = @"select ROLEMENU FROM sys_role where guid=@id";
MySql.Data.MySqlClient.MySqlParameter[] parameters2 = new MySql.Data.MySqlClient.MySqlParameter[1];
parameters2[0] = new MySql.Data.MySqlClient.MySqlParameter();
parameters2[0].ParameterName = "id";
parameters2[0].Value = ds.Tables[0].Rows[0][0].ToString();
DataSet ds2 = MySQLHelper.GetDataSet(sqlstr, CommandType.Text, parameters2);
if (ds2.Tables[0].Rows[0][0] != null && !ds2.Tables[0].Rows[0][0].Equals(""))
{
string[] qxs = ds2.Tables[0].Rows[0][0].ToString().Split('-');
StringBuilder sb = new StringBuilder();
foreach (string each in qxs)
{
sb.Append("'" + each + "',");
}
sb.Length--;
sqlstr = "select MENUDIR FROM sys_menu where guid in (" + sb.ToString() + ")";
DataSet ds3 = MySQLHelper.GetDataSet(sqlstr);
for (int i = 0; i < ds3.Tables[0].Rows.Count; i++)
{
f.qx.Add(ds3.Tables[0].Rows[i][0].ToString());
}
if (ds3.Tables[0].Rows.Count > 0)
{
return "1";
}
return "您无权使用程序";
}
else
{
return "您无权使用程序";
}
}
else
{
return "您无权使用程序";
}
}
else
{
return "账户密码错误";
}
}
catch (Exception ex)
{
return "服务器连接失败";
}
}
public DataTable GetKucInfo(string orgguid)
{
string sqlstr = @"SELECT
(@rowNum :=@rowNum + 1) rownum,
TA.GoodsCode 商品编码,
TA.GoodsName 商品名称,
TA.GoodsSpec 规格,
TA.Manufacturer 生产厂家,
TA.Lot 批号,
TA.ExpireDate 有效期,
TA.SUPPLIERNAME 供应商,
TA.QTY 数量,
TA.CUBENAME 柜子
FROM
(
SELECT
a.Goodsguid GoodsCode,
a.GoodsName,
concat(b.GoodsSpec,b.model) GoodsSpec,
b.Producer Manufacturer,
a.Lot,
a.ExpireDate,
a.SupplierName,
a.cubename,
SUM(FLOOR(NUMBER)) QTY
FROM
mfcubestockdetail a,
his_goods b
WHERE
a.billstate = 'Y'
and a.depotguid like @orgguid
AND a.GoodsGUID = b.GUID
GROUP BY
a.Goodsguid,
a.GoodsName,
b.GoodsSpec,
b.Producer,
a.Lot,
a.ExpireDate,
a.SUPPLIERNAME,
a.cubename
) TA,
(SELECT(@rowNum := 0)) TC
Order by ta.goodscode,
ta.GoodsName,
ta.LOT,
ta.ExpireDate,
ta.cubename
";
MySql.Data.MySqlClient.MySqlParameter[] parameters = new MySql.Data.MySqlClient.MySqlParameter[1];
parameters[0] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[0].ParameterName = "orgguid";
if(!orgguid.Equals("-1"))
parameters[0].Value = orgguid;
else
parameters[0].Value = "%%";
DataSet ds = MySQLHelper.GetDataSet(sqlstr, CommandType.Text, parameters);
return ds.Tables[0];
}
public List<int> kcsx(string orgid,string goodsid)
{
List<int> ls = new List<int>();
string sqlstr = "select StockUpperLimit sx,StockLowerLimit xx FROM his_goods_bound where HisGoodsGUID=@gd and orgGUID=@orgguid";
MySql.Data.MySqlClient.MySqlParameter[] parameters = new MySql.Data.MySqlClient.MySqlParameter[2];
parameters[0] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[0].ParameterName = "gd";
parameters[0].Value = goodsid;
parameters[1] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[1].ParameterName = "orgguid";
parameters[1].Value = orgid;
DataSet ds = MySQLHelper.GetDataSet(sqlstr, CommandType.Text, parameters);
if (ds.Tables[0].Rows.Count > 0)
{
ls.Add(Int32.Parse( ds.Tables[0].Rows[0][0].ToString()));
ls.Add(Int32.Parse(ds.Tables[0].Rows[0][1].ToString()));
}
else
{
ls.Add(0);
ls.Add(0);
}
return ls;
}
public List<his_goods_buound> spxx(string orgid)
{
List<his_goods_buound> ls = new List<his_goods_buound>();
string sqlstr = "select hg.GoodsName,HisGoodsGUID,hg.GoodsCode,hgd.StockUpperLimit,hgd.StockLowerLimit,hgd.orgGUID FROM his_goods hg,his_goods_bound hgd where hg.guid=hgd.HisGoodsGUID and orgGUID=@org";
MySql.Data.MySqlClient.MySqlParameter[] parameters = new MySql.Data.MySqlClient.MySqlParameter[1];
parameters[0] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[0].ParameterName = "org";
parameters[0].Value = orgid;
DataSet ds = MySQLHelper.GetDataSet(sqlstr, CommandType.Text, parameters);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++) {
his_goods_buound h = new his_goods_buound();
h.goodsname = ds.Tables[0].Rows[0].ToString();
h.HisGoodsGUID = ds.Tables[0].Rows[1].ToString();
h.GoodsCode = ds.Tables[0].Rows[2].ToString();
h.StockUpperLimit = ds.Tables[3].Rows[0].ToString();
h.StockLowerLimit = ds.Tables[4].Rows[0].ToString();
h.orgGUID = ds.Tables[0].Rows[5].ToString();
ls.Add(h);
}
return ls;
}
public DataTable GetGoodsKucInfo(string orgguid)
{
string sqlstr = @"SELECT
(@rowNum :=@rowNum + 1) rownum6,
TA.GoodsCode 商品编码6,
TA.GoodsName 商品名称6,
TA.GoodsSpec 规格6,
TA.Manufacturer 生产厂家6,
TA.SUPPLIERNAME 供应商6,
TA.QTY 数量6,
TA.CUBENAME 柜子6
FROM
(
SELECT
a.Goodsguid GoodsCode,
a.GoodsName,
concat(b.GoodsSpec,b.model) GoodsSpec,
b.Producer Manufacturer,
a.SupplierName,
a.cubename,
SUM(FLOOR(NUMBER)) QTY
FROM
mfcubestockdetail a,
his_goods b
WHERE
a.billstate = 'Y'
and a.depotguid like @orgguid
AND a.GoodsGUID = b.GUID
GROUP BY
a.Goodsguid,
a.GoodsName,
b.GoodsSpec,
b.Producer,
a.SUPPLIERNAME,
a.cubename
) TA,
(SELECT(@rowNum := 0)) TC
Order by ta.goodscode,
ta.GoodsName,
ta.cubename
";
MySql.Data.MySqlClient.MySqlParameter[] parameters = new MySql.Data.MySqlClient.MySqlParameter[1];
parameters[0] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[0].ParameterName = "orgguid";
// parameters[0].Value = orgguid;
if (!orgguid.Equals("-1"))
parameters[0].Value = orgguid;
else
parameters[0].Value = "%%";
DataSet ds = MySQLHelper.GetDataSet(sqlstr, CommandType.Text, parameters);
return ds.Tables[0];
}
public DataTable Getbhxxinfo(string orgguid)
{
string sqlstr = @"SELECT
'0' rownumbh,
hg.GoodsName 商品名称bh,
hg.GoodsCode 商品编码bh,
concat_ws( '', hg.GoodsSpec, hg.model ) 规格型号bh,
hg.Producer 生产厂家bh ,
hgd.StockUpperLimit 库存上限bh,
'0' 数量bh ,
hgd.StockLowerLimit 库存下限bh,
'0' 建议补货bh
FROM
his_goods hg,
his_goods_bound hgd
WHERE
hg.guid = hgd.HisGoodsGUID and orgGUID=@org";
MySql.Data.MySqlClient.MySqlParameter[] parameters = new MySql.Data.MySqlClient.MySqlParameter[1];
parameters[0] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[0].ParameterName = "org";
parameters[0].Value = orgguid;
DataSet ds = MySQLHelper.GetDataSet(sqlstr, CommandType.Text, parameters);
return ds.Tables[0];
}
public int Getgoodskccount(string org, string goodspec)
{
string sqlstr = @"select count(*) FROM mfcubestockdetail where depotGuid=@org and GoodsGUID=@goodspec";
MySql.Data.MySqlClient.MySqlParameter[] parameters = new MySql.Data.MySqlClient.MySqlParameter[2];
parameters[0] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[0].ParameterName = "org";
parameters[0].Value = org;
parameters[1] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[1].ParameterName = "goodspec";
parameters[1].Value = goodspec;
DataSet ds = MySQLHelper.GetDataSet(sqlstr, CommandType.Text, parameters);
return int.Parse( ds.Tables[0].Rows[0][0].ToString());
}
public DataTable GetKucMxInfo(string orgguid)
{
string sqlstr = @"SELECT
(@rowNum :=@rowNum + 1) rownum4,
TA.GoodsCode 商品编码4,
TA.GoodsName 商品名称4,
TA.GoodsSpec 规格4,
TA.Manufacturer 生产厂家4,
TA.Lot 批号4,
TA.ExpireDate 有效期4,
TA.SUPPLIERNAME 供应商4,
TA.QTY 数量4,
ta.labguid 高值码4,
ta.cubename 柜子4
FROM
(
SELECT
a.Goodsguid GoodsCode,
a.GoodsName,
concat(b.GoodsSpec,b.model) GoodsSpec,
b.Producer Manufacturer,
a.Lot,
a.ExpireDate,
a.SupplierName,
FLOOR(a.NUMBER) QTY,
a.labguid,
a.cubename
FROM
mfcubestockdetail a,
his_goods b
WHERE
a.billstate = 'Y'
and a.depotguid like @orgguid
AND a.GoodsGUID = b.GUID
) TA,
(SELECT(@rowNum := 0)) TC
Order by TA.GoodsCode ,
TA.GoodsName ,
TA.LOT,
TA.ExpireDate,
TA.CUBENAME,
TA.LABGUID
";
MySql.Data.MySqlClient.MySqlParameter[] parameters = new MySql.Data.MySqlClient.MySqlParameter[1];
parameters[0] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[0].ParameterName = "orgguid";
// parameters[0].Value = orgguid;
if (!orgguid.Equals("-1"))
parameters[0].Value = orgguid;
else
parameters[0].Value = "%%";
DataSet ds = MySQLHelper.GetDataSet(sqlstr, CommandType.Text, parameters);
return ds.Tables[0];
}
public bool hfkc(string barcode)
{
string sql = " INSERT INTO mfcubestockdetail SELECT * FROM mfcubestockdetail_old where LabGuid= '"+ barcode + "'";
if(MySQLHelper.ExecuteNonQuery(sql)<=0)
{
return false;
}
sql= "delete from trchargingdetail where LabGuid='"+barcode+"';";
if (MySQLHelper.ExecuteNonQuery(sql) <= 0)
{
return false;
}
return true;
}
public string ChangePwd(string oldpwd,string newpwd,string uid)
{
if(!oldpwd.Equals("-1"))
{
string sql = "select * from sys_user where LOGINUSER=@uid and PWD=@pwd";
MySql.Data.MySqlClient.MySqlParameter[] parameters = new MySql.Data.MySqlClient.MySqlParameter[2];
parameters[0] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[0].ParameterName = "uid";
parameters[0].Value = uid;
parameters[1] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[1].ParameterName = "pwd";
parameters[1].Value = oldpwd;
DataSet ds = MySQLHelper.GetDataSet(sql, CommandType.Text, parameters);
if(ds.Tables[0].Rows.Count<=0)
{
return "旧密码错误!";
}
sql = "update sys_user set pwd=@pwd where LOGINUSER=@uid";
MySql.Data.MySqlClient.MySqlParameter[] parameters2 = new MySql.Data.MySqlClient.MySqlParameter[2];
parameters2[0] = new MySql.Data.MySqlClient.MySqlParameter();
parameters2[0].ParameterName = "uid";
parameters2[0].Value = uid;
parameters2[1] = new MySql.Data.MySqlClient.MySqlParameter();
parameters2[1].ParameterName = "pwd";
parameters2[1].Value = newpwd;
//ds = MySQLHelper.GetDataSet(sql, CommandType.Text, parameters);
if (MySQLHelper.ExecuteNonQuery(sql,CommandType.Text,parameters2)<=0)
{
return "修改失败!";
}
}
else
{
string sql = "update sys_user set pwd='96e79218965eb72c92a549dd5a330112' where LOGINUSER=@uid";
MySql.Data.MySqlClient.MySqlParameter[] parameters2 = new MySql.Data.MySqlClient.MySqlParameter[1];
parameters2[0] = new MySql.Data.MySqlClient.MySqlParameter();
parameters2[0].ParameterName = "uid";
parameters2[0].Value = uid;
//ds = MySQLHelper.GetDataSet(sql, CommandType.Text, parameters);
if (MySQLHelper.ExecuteNonQuery(sql, CommandType.Text, parameters2) <= 0)
{
return "初始化密码失败!";
}
}
return "修改成功";
}
public DataTable Getxh(string orgguid)
{
string sqlstr = @"SELECT
(@rowNum :=@rowNum + 1) rownum12,
TA.GoodsCode 商品编码12,
TA.GoodsName 商品名称12,
TA.GoodsSpec 规格12,
TA.Manufacturer 生产厂家12,
TA.Lot 批号12,
TA.ExpireDate 有效期12,
TA.SUPPLIERNAME 供应商12,
ta.labguid 高值码12,
ta.cubename 柜子12,
ta.InputDate 消耗时间12,
'恢复库存' 操作12
FROM
(
SELECT
a.Goodsguid GoodsCode,
a.GoodsName,
concat(b.GoodsSpec,b.model) GoodsSpec,
b.Producer Manufacturer,
a.Lot,
a.ExpireDate,
a.SupplierName,
a.labguid,
a.cubename,
tr.InputDate
FROM
mfcubestockdetail_old a,
his_goods b,
trchargingdetail tr
WHERE
a.depotguid like @orgguid
and a.LabGuid=tr.LabGuid
AND a.GoodsGUID = b.GUID
) TA,
(SELECT(@rowNum := 0)) TC
Order by TA.InputDate,
TA.GoodsCode ,
TA.GoodsName ,
TA.LOT,
TA.ExpireDate,
TA.CUBENAME,
TA.LABGUID
";
MySql.Data.MySqlClient.MySqlParameter[] parameters = new MySql.Data.MySqlClient.MySqlParameter[1];
parameters[0] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[0].ParameterName = "orgguid";
// parameters[0].Value = orgguid;
if (!orgguid.Equals("-1"))
parameters[0].Value = orgguid;
else
parameters[0].Value = "%%";
DataSet ds = MySQLHelper.GetDataSet(sqlstr, CommandType.Text, parameters);
return ds.Tables[0];
}
public DataTable GetGoodsUseHzCurrentDayInfo(string orgguid, string begintime, string endtime)
{
string sqlstr = @"SELECT
(@rowNum :=@rowNum + 1) rownum1,
TA.GoodsCode 商品编码1,
TA.GoodsName 商品名称1,
TA.GoodsSpec 规格1,
TA.Manufacturer 生产厂家1,
TA.Lot 批号1,
TA.ExpireDate 有效期1,
TA.SUPPLIERNAME 供应商1,
TA.QTY 数量1,
TA.OPERATERNAME 操作人1,
TA.INPUTDATE 操作时间1
FROM
(
SELECT
a.Goodsguid GoodsCode,
a.GoodsName,
concat(b.GoodsSpec,b.model) GoodsSpec,
b.Producer Manufacturer,
a.Lot,
a.ExpireDate,
a.SupplierName,
a.qty qty,
a.OPERATERNAME,
a.inputdate
FROM
mfcubestockstatement a,
his_goods b
WHERE a.type='2'
and backsts='N'
and a.depotguid like @orgguid
and a.GoodsGUID = b.GUID
and a.inputdate between @begintime and @endtime ) TA,
(SELECT(@rowNum := 0)) TC
Order by ta.goodscode,
ta.GoodsName,
ta.LOT,
ta.ExpireDate
";
MySql.Data.MySqlClient.MySqlParameter[] parameters = new MySql.Data.MySqlClient.MySqlParameter[3];
parameters[0] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[0].ParameterName = "orgguid";
// parameters[0].Value = orgguid;
if (!orgguid.Equals("-1"))
parameters[0].Value = orgguid;
else
parameters[0].Value = "%%";
parameters[1] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[1].ParameterName = "begintime";
parameters[1].DbType = DbType.DateTime;
parameters[1].Value = begintime;
parameters[2] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[2].ParameterName = "endtime";
parameters[2].DbType = DbType.DateTime;
parameters[2].Value = endtime;
DataSet ds = MySQLHelper.GetDataSet(sqlstr, CommandType.Text, parameters);
return ds.Tables[0];
}
public DataTable GetGoodsUseInfo(string orgguid, string begintime, string endtime)
{
string sqlstr = @"SELECT
(@rowNum :=@rowNum + 1) rownum2,
TA.GoodsCode 商品编码2,
TA.GoodsName 商品名称2,
TA.GoodsSpec 规格2,
TA.Manufacturer 生产厂家2,
TA.Lot 批号2,
TA.ExpireDate 有效期2,
TA.SUPPLIERNAME 供应商2,
TA.QTY 数量2,
TA.OPERATERNAME 操作人2,
TA.INPUTDATE 操作时间2,
TA.barcode 高值码2
FROM
(
SELECT
a.Goodsguid GoodsCode,
a.GoodsName,
concat(b.GoodsSpec,b.model) GoodsSpec,
b.Producer Manufacturer,
a.Lot,
a.ExpireDate,
a.SupplierName,
1 qty, -- floor(a.qty) qty,
a.OPERATERNAME,
a.inputdate,
a.barcode
FROM
mfcubestockstatement a,
his_goods b
WHERE a.type='2'
and backsts='N'
and a.depotguid like @orgguid
and a.GoodsGUID = b.GUID
and a.inputdate between @begintime and @endtime ) TA,
(SELECT(@rowNum := 0)) TC
Order by ta.goodscode,
ta.GoodsName,
ta.LOT,
ta.ExpireDate,
ta.barcode
";
MySql.Data.MySqlClient.MySqlParameter[] parameters = new MySql.Data.MySqlClient.MySqlParameter[3];
parameters[0] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[0].ParameterName = "orgguid";
// parameters[0].Value = orgguid;
if (!orgguid.Equals("-1"))
parameters[0].Value = orgguid;
else
parameters[0].Value = "%%";
parameters[1] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[1].ParameterName = "begintime";
parameters[1].DbType = DbType.DateTime;
parameters[1].Value = begintime;
parameters[2] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[2].ParameterName = "endtime";
parameters[2].DbType = DbType.DateTime;
parameters[2].Value = endtime;
DataSet ds = MySQLHelper.GetDataSet(sqlstr, CommandType.Text, parameters);
return ds.Tables[0];
}
public DataTable GetGoodsUseHzInfo(string orgguid, string begintime, string endtime)
{
string sqlstr = @"SELECT
(@rowNum :=@rowNum + 1) rownum3,
TA.GoodsCode 商品编码3,
TA.GoodsName 商品名称3,
TA.GoodsSpec 规格3,
TA.Manufacturer 生产厂家3,
TA.Lot 批号3,
TA.ExpireDate 有效期3,
TA.SUPPLIERNAME 供应商3,
TA.QTY 数量3
FROM
(
SELECT
a.Goodsguid GoodsCode,
a.GoodsName,
concat(b.GoodsSpec,b.model) GoodsSpec,
b.Producer Manufacturer,
a.Lot,
a.ExpireDate,
a.SupplierName,
count(a.qty) qty
FROM
mfcubestockstatement a,
his_goods b
WHERE a.type='2'
and backsts='N'
and a.depotguid like @orgguid
and a.GoodsGUID = b.GUID
and a.inputdate between @begintime and @endtime
group by
a.Goodsguid ,
a.GoodsName,
b.GoodsSpec,
b.Producer ,
a.Lot,
a.ExpireDate,
a.SupplierName,
a.qty
) TA,
(SELECT(@rowNum := 0)) TC
Order by ta.goodscode,
ta.GoodsName,
ta.LOT,
ta.ExpireDate ";
MySql.Data.MySqlClient.MySqlParameter[] parameters = new MySql.Data.MySqlClient.MySqlParameter[3];
parameters[0] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[0].ParameterName = "orgguid";
//parameters[0].Value = orgguid;
if (!orgguid.Equals("-1"))
parameters[0].Value = orgguid;
else
parameters[0].Value = "%%";
parameters[1] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[1].ParameterName = "begintime";
parameters[1].DbType = DbType.DateTime;
parameters[1].Value = begintime;
parameters[2] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[2].ParameterName = "endtime";
parameters[2].DbType = DbType.DateTime;
parameters[2].Value = endtime;
DataSet ds = MySQLHelper.GetDataSet(sqlstr, CommandType.Text, parameters);
return ds.Tables[0];
}
public DataTable GetExpiteKucMxInfo(string orgguid,string expiredate)
{
string sqlstr = @"SELECT
(@rowNum :=@rowNum + 1) rownum5,
TA.GoodsCode 商品编码5,
TA.GoodsName 商品名称5,
TA.GoodsSpec 规格5,
TA.Manufacturer 生产厂家5,
TA.Lot 批号5,
TA.ExpireDate 有效期5,
TA.SUPPLIERNAME 供应商5,
TA.expire 效期5,
ta.labguid 高值码5,
ta.cubename 柜子5
FROM
(
SELECT
a.Goodsguid GoodsCode,
a.GoodsName,
concat(b.GoodsSpec,b.model) GoodsSpec,
b.Producer Manufacturer,
a.Lot,
a.ExpireDate,
a.SupplierName,
datediff( ExpireDate, curdate()) expire,
a.labguid,
a.cubename
FROM
mfcubestockdetail a,
his_goods b
WHERE
a.billstate = 'Y'
and a.depotguid like @orgguid
AND a.GoodsGUID = b.GUID
and datediff( ExpireDate, curdate())<=@expire
) TA,
(SELECT(@rowNum := 0)) TC
Order by TA.GoodsCode ,
TA.GoodsName ,
TA.LOT,
TA.ExpireDate,
TA.LABGUID
";
MySql.Data.MySqlClient.MySqlParameter[] parameters = new MySql.Data.MySqlClient.MySqlParameter[2];
parameters[0] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[0].ParameterName = "orgguid";
// parameters[0].Value = orgguid;
if (!orgguid.Equals("-1"))
parameters[0].Value = orgguid;
else
parameters[0].Value = "%%";
parameters[1] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[1].ParameterName = "expire";
parameters[1].Value = expiredate;
DataSet ds = MySQLHelper.GetDataSet(sqlstr, CommandType.Text, parameters);
return ds.Tables[0];
}
public DataTable GetGoodsRkInfo(string orgguid, string begintime, string endtime)
{
string sqlstr = @"SELECT
(@rowNum :=@rowNum + 1) rownum7,
TA.GoodsCode 商品编码7,
TA.GoodsName 商品名称7,
TA.GoodsSpec 规格7,
TA.Manufacturer 生产厂家7,
TA.Lot 批号7,
TA.ExpireDate 有效期7,
TA.SUPPLIERNAME 供应商7,
TA.QTY 数量7,
TA.OPERATERNAME 操作人7,
TA.INPUTDATE 操作时间7,
TA.barcode 高值码7,
ta.cubename 柜子7
FROM
(
SELECT
a.Goodsguid GoodsCode,
a.GoodsName,
concat(b.GoodsSpec,b.model) GoodsSpec,
b.Producer Manufacturer,
a.Lot,
a.ExpireDate,
a.SupplierName,
1 qty, -- floor(a.qty) qty,
a.OPERATERNAME,
a.inputdate,
a.barcode,
a.cubename
FROM
mfcubestockstatement a,
his_goods b
WHERE a.type='1'
and a.depotguid like @orgguid
and a.GoodsGUID = b.GUID
and a.inputdate between @begintime and @endtime ) TA,
(SELECT(@rowNum := 0)) TC
Order by
ta.inputdate
";
MySql.Data.MySqlClient.MySqlParameter[] parameters = new MySql.Data.MySqlClient.MySqlParameter[3];
parameters[0] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[0].ParameterName = "orgguid";
// parameters[0].Value = orgguid;
if (!orgguid.Equals("-1"))
parameters[0].Value = orgguid;
else
parameters[0].Value = "%%";
parameters[1] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[1].ParameterName = "begintime";
parameters[1].DbType = DbType.DateTime;
parameters[1].Value = begintime;
parameters[2] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[2].ParameterName = "endtime";
parameters[2].DbType = DbType.DateTime;
parameters[2].Value = endtime;
DataSet ds = MySQLHelper.GetDataSet(sqlstr, CommandType.Text, parameters);
return ds.Tables[0];
}
public DataTable GetGoodsPickInfo(string orgguid, string begintime, string endtime)
{
string sqlstr = @"SELECT
(@rowNum :=@rowNum + 1) rownum8,
TA.GoodsCode 商品编码8,
TA.GoodsName 商品名称8,
TA.GoodsSpec 规格8,
TA.Manufacturer 生产厂家8,
TA.Lot 批号8,
TA.ExpireDate 有效期8,
TA.SUPPLIERNAME 供应商8,
TA.QTY 数量8,
TA.OPERATERNAME 操作人8,
TA.INPUTDATE 操作时间8,
TA.barcode 高值码8,
ta.cubename 柜子8
FROM
(
SELECT
a.Goodsguid GoodsCode,
a.GoodsName,
concat(b.GoodsSpec,b.model) GoodsSpec,
b.Producer Manufacturer,
a.Lot,
a.ExpireDate,
a.SupplierName,
1 qty, -- floor(a.qty) qty,
a.OPERATERNAME,
a.inputdate,
a.barcode,
a.cubename
FROM
mfcubestockstatement a,
his_goods b
WHERE a.type='2'
and a.depotguid like @orgguid
and a.GoodsGUID = b.GUID
and a.inputdate between @begintime and @endtime ) TA,
(SELECT(@rowNum := 0)) TC
Order by ta.inputdate
";
MySql.Data.MySqlClient.MySqlParameter[] parameters = new MySql.Data.MySqlClient.MySqlParameter[3];
parameters[0] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[0].ParameterName = "orgguid";
// parameters[0].Value = orgguid;
if (!orgguid.Equals("-1"))
parameters[0].Value = orgguid;
else
parameters[0].Value = "%%";
parameters[1] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[1].ParameterName = "begintime";
parameters[1].DbType = DbType.DateTime;
parameters[1].Value = begintime;
parameters[2] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[2].ParameterName = "endtime";
parameters[2].DbType = DbType.DateTime;
parameters[2].Value = endtime;
DataSet ds = MySQLHelper.GetDataSet(sqlstr, CommandType.Text, parameters);
return ds.Tables[0];
}
public DataTable GetGoodsBackInfo(string orgguid, string begintime, string endtime)
{
string sqlstr = @"SELECT
(@rowNum :=@rowNum + 1) rownum9,
TA.GoodsCode 商品编码9,
TA.GoodsName 商品名称9,
TA.GoodsSpec 规格9,
TA.Manufacturer 生产厂家9,
TA.Lot 批号9,
TA.ExpireDate 有效期9,
TA.SUPPLIERNAME 供应商9,
TA.QTY 数量9,
TA.OPERATERNAME 操作人9,
TA.INPUTDATE 操作时间9,
TA.barcode 高值码9,
ta.cubename 柜子9
FROM
(
SELECT
a.Goodsguid GoodsCode,
a.GoodsName,
concat(b.GoodsSpec,b.model) GoodsSpec,
b.Producer Manufacturer,
a.Lot,
a.ExpireDate,
a.SupplierName,
1 qty, -- floor(a.qty) qty,
a.OPERATERNAME,
a.inputdate,
a.barcode,
a.cubename
FROM
mfcubestockstatement a,
his_goods b
WHERE a.type='6'
and a.depotguid like @orgguid
and a.GoodsGUID = b.GUID
and a.inputdate between @begintime and @endtime ) TA,
(SELECT(@rowNum := 0)) TC
Order by ta.inputdate
";
MySql.Data.MySqlClient.MySqlParameter[] parameters = new MySql.Data.MySqlClient.MySqlParameter[3];
parameters[0] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[0].ParameterName = "orgguid";
// parameters[0].Value = orgguid;
if (!orgguid.Equals("-1"))
parameters[0].Value = orgguid;
else
parameters[0].Value = "%%";
parameters[1] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[1].ParameterName = "begintime";
parameters[1].DbType = DbType.DateTime;
parameters[1].Value = begintime;
parameters[2] = new MySql.Data.MySqlClient.MySqlParameter();
parameters[2].ParameterName = "endtime";
parameters[2].DbType = DbType.DateTime;
parameters[2].Value = endtime;
DataSet ds = MySQLHelper.GetDataSet(sqlstr, CommandType.Text, parameters);
return ds.Tables[0];
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace HcgClientExport
{
public class En
{
public static string GenerateMD5(string txt)
{
using (System.Security.Cryptography.MD5 mi = System.Security.Cryptography.MD5.Create())
{
byte[] buffer = Encoding.Default.GetBytes(txt);
//开始加密
byte[] newBuffer = mi.ComputeHash(buffer);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < newBuffer.Length; i++)
{
sb.Append(newBuffer[i].ToString("x2"));
}
return sb.ToString();
}
}
}
}
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Text;
namespace HcgClientExport
{
public class ExportHelper
{
/// <summary>
/// Datable导出成Excel
/// </summary>
/// <param name="dt"></param>
/// <param name="file">导出路径(包括文件名与扩展名)</param>
public static void TableToExcel(DataTable dt, string file)
{
IWorkbook workbook;
string fileExt = Path.GetExtension(file).ToLower();
if (fileExt == ".xlsx") { workbook = new XSSFWorkbook(); } else if (fileExt == ".xls") { workbook = new HSSFWorkbook(); } else { workbook = null; }
if (workbook == null) { return; }
ISheet sheet = string.IsNullOrEmpty(dt.TableName) ? workbook.CreateSheet("Sheet1") : workbook.CreateSheet(dt.TableName);
//表头
IRow row = sheet.CreateRow(0);
for (int i = 0; i < dt.Columns.Count; i++)
{
ICell cell = row.CreateCell(i);
cell.SetCellValue(dt.Columns[i].ColumnName);
}
//数据
for (int i = 0; i < dt.Rows.Count; i++)
{
IRow row1 = sheet.CreateRow(i + 1);
for (int j = 0; j < dt.Columns.Count; j++)
{
ICell cell = row1.CreateCell(j);
cell.SetCellValue(dt.Rows[i][j].ToString());
}
}
//转为字节数组
MemoryStream stream = new MemoryStream();
workbook.Write(stream);
var buf = stream.ToArray();
//保存为Excel文件
using (FileStream fs = new FileStream(file, FileMode.Create, FileAccess.Write))
{
fs.Write(buf, 0, buf.Length);
fs.Flush();
}
}
}
}
This diff could not be displayed because it is too large.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace HcgClientExport
{
public partial class Form1 : Form
{
private static String selectorg = "全部";
private static Dictionary<string, string> orgds;
public string uid = "-1";
public List<string> qx=new List<string>();
public Form1()
{
InitializeComponent();
}
public static string orgguid ;
private DataControl control = new DataControl();
private DataTable tablekuc = new DataTable();
private DataTable tablekucmx = new DataTable();
private DataTable tabgoodsusecurrent = new DataTable();
private DataTable tabgoodsuse = new DataTable();
private DataTable tabgoodshzuse = new DataTable();
private DataTable tabgoodexpired = new DataTable();
private DataTable tabgoodskuc = new DataTable();
private DataTable tabgoodsrk = new DataTable();
private DataTable tabgoodspick = new DataTable();
private DataTable tabgoodsback = new DataTable();
private DataTable tabbhcx = new DataTable();
private DataTable tabbhxh = new DataTable();
private List<DataGridView> dvs = new List<DataGridView>(); //表格集合
string currentdate = string.Empty;
private void Form1_Load(object sender, EventArgs e)
{
string org = ConfigurationManager.AppSettings["orgguid"];
Form1.orgds = new Dictionary<string, string>();
if (org != null) {
string[] gs = org.Split(',');
int i = 0;
foreach (string each in gs) {
string[] orgdet = each.Split('~');
if (i == 0) {
orgguid = orgdet[1];
}
Form1.orgds.Add(orgdet[0], orgdet[1]);
i++;
}
}
string sysname = ConfigurationManager.AppSettings["SysName"];
this.Text = sysname;
cxb_expired.SelectedIndex = 0;
GetkucMx();
for (int i = 0; i < tabkcxx.Controls.Count; i++) {
if (tabkcxx.Controls[i].Name.Equals("tabPage13"))
{
continue;
}
Label l = new Label();
l.Text = "科室:";
l.Location = new Point(800, 25);
l.Size = new Size(55, 24);
ComboBox c = new ComboBox();
c.Tag = "org";
// c.Items.Add("全部");
//c.Items.Add("测试1");
foreach (var item in Form1.orgds) {
c.Items.Add(item.Key);
}
c.SelectedIndex = 0;
c.SelectedIndexChanged += cxb_c_SelectedIndexChanged;
c.Location = new Point(855, 22);
tabkcxx.Controls[i].Controls[0].Controls[1].Controls[0].Controls.Add(l);
// tabControl1.Controls[i].Controls[0].Controls[1].Controls[0].Controls.SetChildIndex(c, 3);
tabkcxx.Controls[i].Controls[0].Controls[1].Controls[0].Controls.Add(c);
// MessageBox.Show(tabControl1.Controls[i].Controls[0].Controls[1].Controls[0].Controls.Count.ToString());
// for(int )
}
this.Width = 1100;
for(int i=0;i<this.tabkcxx.TabCount;i++)
{
if(this.tabkcxx.TabPages[i].Controls[0].Controls.Count!=3)//排除设置
{
return;
}
if(((this.tabkcxx.TabPages[i].Controls[0].Controls)[2].Controls[0] is DataGridView))
{
dvs.Add((this.tabkcxx.TabPages[i].Controls[0].Controls)[2].Controls[0] as DataGridView);
((this.tabkcxx.TabPages[i].Controls[0].Controls)[2].Controls[0] as DataGridView).ContextMenuStrip = this.concopy;
((this.tabkcxx.TabPages[i].Controls[0].Controls)[2].Controls[0] as DataGridView).CellContextMenuStripNeeded+= new System.Windows.Forms.DataGridViewCellContextMenuStripNeededEventHandler(this.dgv_Change_CellContextMenuStripNeeded);
//((this.tabkcxx.TabPages[i].Controls[0].Controls)[2].Controls[0] as DataGridView).Columns[]
}
}
}
private string message = "-1";
private void dgv_Change_CellContextMenuStripNeeded(object sender, DataGridViewCellContextMenuStripNeededEventArgs e)
{
if (e.RowIndex >= 0)
{
if ((sender as DataGridView).Rows.Count == 0)
{
this.toolStripMenuItem1.Text = "复制";
}
else
{
message = (sender as DataGridView).Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
this.toolStripMenuItem1.Text = "复制" + (sender as DataGridView).Columns[e.ColumnIndex].HeaderText;
e.ContextMenuStrip = this.concopy;
}
}
}
private void cxb_c_SelectedIndexChanged(object sender, EventArgs e)
{
Form1.selectorg = ((ComboBox)sender).Text;
orgguid = Form1.orgds[Form1.selectorg];
MySQLHelper.connectionString = ConfigurationManager.AppSettings[orgguid];
reft();
for (int i = 0; i < tabkcxx.Controls.Count; i++)
{
for (int j = 0; j < tabkcxx.Controls[i].Controls[0].Controls[1].Controls[0].Controls.Count; j++)
{
if (tabkcxx.Controls[i].Controls[0].Controls[1].Controls[0].Controls[j] is ComboBox) {
if (((ComboBox)tabkcxx.Controls[i].Controls[0].Controls[1].Controls[0].Controls[j]).Tag!=null && ((ComboBox)tabkcxx.Controls[i].Controls[0].Controls[1].Controls[0].Controls[j]).Tag.Equals("org")) {
((ComboBox)tabkcxx.Controls[i].Controls[0].Controls[1].Controls[0].Controls[j]).SelectedIndexChanged -= cxb_c_SelectedIndexChanged;
// ((ComboBox)tabControl1.Controls[i].Controls[0].Controls[1].Controls[0].Controls[j]).SelectedIndexChanged += null;
((ComboBox)tabkcxx.Controls[i].Controls[0].Controls[1].Controls[0].Controls[j]).SelectedIndex = ((ComboBox)sender).SelectedIndex;
((ComboBox)tabkcxx.Controls[i].Controls[0].Controls[1].Controls[0].Controls[j]).SelectedIndexChanged += cxb_c_SelectedIndexChanged;
break;
}
}
}
// GetexpiredKucMx();
}
}
private void GetKucInfo()
{
try
{
tablekuc = control.GetKucInfo(orgguid);
this.dgv_Detail.DataSource = tablekuc;
DataTable table = GetDgvToTable(this.dgv_Detail);
int sum = 0;
for (int i = 0; i < table.Rows.Count; i++)
{
sum = sum + Convert.ToInt32(table.Rows[i]["数量"].ToString());
}
lab_kuchz.Text = "库存数"+ " "+ sum.ToString();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
public DataTable GetDgvToTable(DataGridView dgv)
{
DataTable dt = new DataTable();
dt.TableName = dgv.Tag.ToString();
for (int count = 0; count < dgv.Columns.Count; count++)
{
DataColumn dc = new DataColumn(dgv.Columns[count].HeaderText.ToString());
dt.Columns.Add(dc);
}
for (int count = 0; count < dgv.Rows.Count; count++)
{
DataRow dr = dt.NewRow();
for (int countsub = 0; countsub < dgv.Columns.Count; countsub++)
{
dr[countsub] = Convert.ToString(dgv.Rows[count].Cells[countsub].Value);
}
dt.Rows.Add(dr);
}
return dt;
}
private void btn_export_Click(object sender, EventArgs e)
{
try
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Title = "保存";
sfd.Filter = "xls文件.xlsx|*.xlsx";
sfd.ShowDialog();
string sFilePath = sfd.FileName;
DataTable table = GetDgvToTable(this.dgv_Detail);
ExportHelper.TableToExcel(table, sFilePath);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void btn_refresh_Click(object sender, EventArgs e)
{
GetKucInfo();
}
private void txt_Goods_TextChanged(object sender, EventArgs e)
{
KucFilter();
}
private void KucFilter()
{
try
{
if (txt_Goods.Text.Trim().Length < 1)
{
tablekuc.DefaultView.RowFilter = "";
}
else
{
tablekuc.DefaultView.RowFilter = string.Format(" 商品编码 LIKE '%{0}%' OR 商品名称 LIKE '%{0}%' OR 生产厂家 LIKE '%{0}%' OR 供应商 LIKE '%{0}%' OR 规格 LIKE '%{0}%' OR 柜子 LIKE '%{0}%' ", txt_Goods.Text);
}
dgv_Detail.DataSource = tablekuc.DefaultView.Table;
DataTable table = GetDgvToTable(this.dgv_Detail);
int sum = 0;
for (int i = 0; i < table.Rows.Count; i++)
{
sum = sum + Convert.ToInt32(table.Rows[i]["数量"].ToString());
}
lab_kuchz.Text = "库存数" + " " + sum.ToString();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
}
private void GoodsUseDayFilter()
{
try
{
if (txb_currentdayfilter.Text.Trim().Length < 1)
{
tabgoodsusecurrent.DefaultView.RowFilter = "";
}
else
{
tabgoodsusecurrent.DefaultView.RowFilter = string.Format(" 商品编码1 LIKE '%{0}%' OR 商品名称1 LIKE '%{0}%' OR 生产厂家1 LIKE '%{0}%' OR 供应商1 LIKE '%{0}%' OR 规格1 LIKE '%{0}%' ", txb_currentdayfilter.Text);
}
dgv_goodsusecurrentday.DataSource = tabgoodsusecurrent.DefaultView.Table;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
}
private void GoodsUseFilter()
{
try
{
if (txb_goodsuse.Text.Trim().Length < 1)
{
tabgoodsuse.DefaultView.RowFilter = "";
}
else
{
tabgoodsuse.DefaultView.RowFilter = string.Format(" 商品编码2 LIKE '%{0}%' OR 商品名称2 LIKE '%{0}%' OR 生产厂家2 LIKE '%{0}%' OR 供应商2 LIKE '%{0}%' OR 规格2 LIKE '%{0}%'", txb_goodsuse.Text);
}
dgv_goodsuse.DataSource = tabgoodsuse.DefaultView.Table;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
}
private void button1_Click(object sender, EventArgs e)
{
GetGoodsUseCurretDay();
}
private void GetGoodsUseCurretDay()
{
try
{
string begin_time = this.dtp_Start_A.Value.Year.ToString() + "/" + this.dtp_Start_A.Value.Month.ToString() + "/" + this.dtp_Start_A.Value.Day.ToString() + " " + this.dtp_Start_A.Value.Hour.ToString() + ":00:00";
string end_time = this.dtp_End_A.Value.Year.ToString() + "/" + this.dtp_End_A.Value.Month.ToString() + "/" + this.dtp_End_A.Value.Day.ToString() + " " + this.dtp_End_A.Value.Hour.ToString() + ":59:59";
tabgoodsusecurrent = control.GetGoodsUseHzCurrentDayInfo(orgguid, begin_time, end_time);
dgv_goodsusecurrentday.DataSource = tabgoodsusecurrent;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void GetGoodsUse()
{
try
{
string begin_time = this.dtp_Start_B.Value.Year.ToString() + "/" + this.dtp_Start_B.Value.Month.ToString() + "/" + this.dtp_Start_B.Value.Day.ToString() + " 00:00:00";
string end_time = this.dtp_End_B.Value.AddDays(1).Year.ToString() + "/"+ this.dtp_End_B.Value.AddDays(1).Month.ToString() + "/" + this.dtp_End_B.Value.AddDays(1).Day.ToString()+" 00:00:00";
tabgoodsuse = control.GetGoodsUseInfo(orgguid, begin_time, end_time);
dgv_goodsuse.DataSource = tabgoodsuse;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
reft();
}
private void reft(){
if (tabkcxx.SelectedIndex == 0)
{ GetkucMx(); }
else if (tabkcxx.SelectedIndex == 1)
{ GetKucInfo(); }
else if (tabkcxx.SelectedIndex == 2)
{
GetGoodskucInfo();
}
else if (tabkcxx.SelectedIndex == 3)
{
GetGoodsUseCurretDay();
}
else if (tabkcxx.SelectedIndex == 4)
{ GetGoodsUse(); }
else if (tabkcxx.SelectedIndex == 5)
{
GetGoodsHzUse();
}
else if (tabkcxx.SelectedIndex == 6)
{
GetexpiredKucMx();
}
else if (tabkcxx.SelectedIndex == 7)
{ GetGoodsRkInfo(); }
else if (tabkcxx.SelectedIndex == 8)
{ GetGoodspickInfo(); }
else if (tabkcxx.SelectedIndex == 9)
{ GetGoodsbackInfo(); }
else if (tabkcxx.SelectedIndex == 10) {
Getbhcc();
}
else if (tabkcxx.SelectedIndex == 11)
{
Getxh();
}
}
private void txb_currentdayfilter_TextChanged(object sender, EventArgs e)
{
GoodsUseDayFilter();
}
private void button2_Click(object sender, EventArgs e)
{
try
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Title = "保存";
sfd.Filter = "xls文件.xlsx|*.xlsx";
sfd.ShowDialog();
string sFilePath = sfd.FileName;
DataTable table = GetDgvToTable(this.dgv_goodsusecurrentday);
ExportHelper.TableToExcel(table, sFilePath);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void button3_Click(object sender, EventArgs e)
{
GetGoodsUse();
}
private void txb_goodsuse_TextChanged(object sender, EventArgs e)
{
GoodsUseFilter();
}
private void button4_Click(object sender, EventArgs e)
{
try
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Title = "保存";
sfd.Filter = "xls文件.xlsx|*.xlsx";
sfd.ShowDialog();
string sFilePath = sfd.FileName;
DataTable table = GetDgvToTable(this.dgv_goodsuse);
ExportHelper.TableToExcel(table, sFilePath);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void GetGoodsHzUse()
{
try
{
string begin_time = this.dtp_Start_C.Value.Year.ToString() + "/" + this.dtp_Start_C.Value.Month.ToString() + "/" + this.dtp_Start_C.Value.Day.ToString() + " 00:00:00";
string end_time = this.dtp_End_C.Value.AddDays(1).Year.ToString() + "/" + this.dtp_End_C.Value.AddDays(1).Month.ToString() + "/" + this.dtp_End_C.Value.AddDays(1).Day.ToString() + " 00:00:00";
tabgoodshzuse = control.GetGoodsUseHzInfo(orgguid, begin_time, end_time);
dgv_goodsusehz.DataSource = tabgoodshzuse;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void GoodsUseHzFilter()
{
try
{
if (txb_goodsusehz.Text.Trim().Length < 1)
{
tabgoodshzuse.DefaultView.RowFilter = "";
}
else
{
tabgoodshzuse.DefaultView.RowFilter = string.Format(" 商品编码3 LIKE '%{0}%' OR 商品名称3 LIKE '%{0}%' OR 生产厂家3 LIKE '%{0}%' OR 供应商3 LIKE '%{0}%' OR 规格3 LIKE '%{0}%'", txb_goodsusehz.Text);
}
dgv_goodsusehz.DataSource = tabgoodshzuse.DefaultView.Table;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
}
private void btn_refresh_goodshzuse_Click(object sender, EventArgs e)
{
GetGoodsHzUse();
}
private void txb_goodsusehz_TextChanged(object sender, EventArgs e)
{
GoodsUseHzFilter();
}
private void button6_Click(object sender, EventArgs e)
{
try
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Title = "保存";
sfd.Filter = "xls文件.xlsx|*.xlsx";
sfd.ShowDialog();
string sFilePath = sfd.FileName;
DataTable table = GetDgvToTable(this.dgv_goodsusehz);
ExportHelper.TableToExcel(table, sFilePath);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void GetkucMx()
{
try
{
tablekucmx = control.GetKucMxInfo(orgguid);
this.dgv_kucmx.DataSource = tablekucmx;
int sum = 0;
DataTable table = GetDgvToTable(this.dgv_kucmx);
for (int i = 0; i < table.Rows.Count; i++)
{
sum = sum + Convert.ToInt32(table.Rows[i]["数量"].ToString());
}
lab_kucmx.Text = "库存数:" +" "+ sum.ToString();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void btn_kucmx_Click(object sender, EventArgs e)
{
GetkucMx();
}
private void GetexpiredKucMx()
{
try
{
tabgoodexpired = control.GetExpiteKucMxInfo(orgguid,cxb_expired.Text.ToString());
this.dgv_expired.DataSource = tabgoodexpired;
int sum = 0;
DataTable table = GetDgvToTable(this.dgv_expired);
lbl_expired.Text = "库存数:" + " " + table.Rows.Count.ToString();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void Getbhcc()
{
try
{
tabbhcx = control.Getbhxxinfo(orgguid);
this.databh.DataSource = tabbhcx;
this.databh.Columns["dataGridViewTextBoxColumn15"].DisplayIndex = 6;
for (int i = 0; i < this.databh.Rows.Count; i++)
{
this.databh.Rows[i].Cells["dataGridViewTextBoxColumn15"].Value = control.Getgoodskccount(orgguid, tabbhcx.Rows[i]["商品编码bh"].ToString());
this.databh.Rows[i].Cells["dataGridViewTextBoxColumn7"].Value = i + 1;
int sx = int.Parse(tabbhcx.Rows[i]["库存上限bh"].ToString());
int xx = int.Parse(tabbhcx.Rows[i]["库存下限bh"].ToString());
int cursl = int.Parse(tabbhcx.Rows[i]["数量bh"].ToString());
tabbhcx.Rows[i]["数量bh"] = this.databh.Rows[i].Cells["dataGridViewTextBoxColumn15"].Value;
tabbhcx.Rows[i]["rownumbh"] = this.databh.Rows[i].Cells["dataGridViewTextBoxColumn7"].Value;
if (cursl > sx)
{
this.databh.Rows[i].Cells["dataGridViewTextBoxColumn17"].Value = "超出: " + (cursl - sx);
this.databh.Rows[i].Cells["dataGridViewTextBoxColumn17"].Style.ForeColor = Color.Orange;
}
else if (cursl < xx)
{
this.databh.Rows[i].Cells["dataGridViewTextBoxColumn17"].Value = "需补: " + (sx - cursl);
this.databh.Rows[i].Cells["dataGridViewTextBoxColumn17"].Style.ForeColor = Color.Red;
}
else
{
this.databh.Rows[i].Cells["dataGridViewTextBoxColumn17"].Value = "正常";
this.databh.Rows[i].Cells["dataGridViewTextBoxColumn17"].Style.ForeColor = Color.Green;
}
tabbhcx.Rows[i]["建议补货bh"] = this.databh.Rows[i].Cells["dataGridViewTextBoxColumn17"].Value;
}
DataTable table = GetDgvToTable(this.databh);
}
catch (Exception ex)
{
MessageBox.Show(ex.StackTrace);
}
}
private void expiredMxFilter()
{
try
{
if (txb_expired.Text.Trim().Length < 1)
{
tabgoodexpired.DefaultView.RowFilter = "";
}
else
{
tabgoodexpired.DefaultView.RowFilter = string.Format(" 商品编码5 LIKE '%{0}%' OR 商品名称5 LIKE '%{0}%' OR 生产厂家5 LIKE '%{0}%' OR 供应商5 LIKE '%{0}%' OR 高值码5 LIKE '%{0}%' OR 规格5 LIKE '%{0}%' OR 柜子5 LIKE '%{0}%'", txb_expired.Text);
}
dgv_expired.DataSource = tabgoodexpired.DefaultView.Table;
DataTable table = GetDgvToTable(this.dgv_expired);
lbl_expired.Text = "库存数:" + " " + table.Rows.Count;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
}
private void kucMxFilter()
{
try
{
if (txb_kucmx.Text.Trim().Length < 1)
{
tablekucmx.DefaultView.RowFilter = "";
}
else
{
tablekucmx.DefaultView.RowFilter = string.Format(" 商品编码4 LIKE '%{0}%' OR 商品名称4 LIKE '%{0}%' OR 生产厂家4 LIKE '%{0}%' OR 供应商4 LIKE '%{0}%' OR 高值码4 LIKE '%{0}%' OR 规格4 LIKE '%{0}%' OR 柜子4 LIKE '%{0}%' ", txb_kucmx.Text);
}
dgv_kucmx.DataSource = tablekucmx.DefaultView.Table;
DataTable table = GetDgvToTable(this.dgv_kucmx);
lab_kucmx.Text = "库存数:" + " " +table.Rows.Count.ToString();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
}
private void txb_kucmx_TextChanged(object sender, EventArgs e)
{
kucMxFilter();
}
private void btn_kucmxexport_Click(object sender, EventArgs e)
{
try
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Title = "保存";
sfd.Filter = "xls文件.xlsx|*.xlsx";
sfd.ShowDialog();
string sFilePath = sfd.FileName;
DataTable table = GetDgvToTable(this.dgv_kucmx);
ExportHelper.TableToExcel(table, sFilePath);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void dgv_goodsuse_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
private void cxb_expired_SelectedIndexChanged(object sender, EventArgs e)
{
GetexpiredKucMx();
}
private void btn_refresh_expired_Click(object sender, EventArgs e)
{
GetexpiredKucMx();
}
private void btn_export_expired_Click(object sender, EventArgs e)
{
try
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Title = "保存";
sfd.Filter = "xls文件.xlsx|*.xlsx";
sfd.ShowDialog();
string sFilePath = sfd.FileName;
DataTable table = GetDgvToTable(this.dgv_expired);
ExportHelper.TableToExcel(table, sFilePath);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void txb_expired_TextChanged(object sender, EventArgs e)
{
expiredMxFilter();
}
private void GetGoodskucInfo()
{
try
{
tabgoodskuc = control.GetGoodsKucInfo(orgguid);
this.dgv_goodskuc.DataSource = tabgoodskuc;
int sum = 0;
DataTable table = GetDgvToTable(this.dgv_goodskuc);
for (int i = 0; i < table.Rows.Count; i++)
{
int cursl = Convert.ToInt32(table.Rows[i]["数量"].ToString());
sum = sum + cursl;
}
lbl_goodskuc.Text = "库存数:" + " " + sum.ToString();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void btn_goodskuc_Click(object sender, EventArgs e)
{
GetGoodskucInfo();
}
private void btn_exportgoodskuc_Click(object sender, EventArgs e)
{
try
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Title = "保存";
sfd.Filter = "xls文件.xlsx|*.xlsx";
sfd.ShowDialog();
string sFilePath = sfd.FileName;
DataTable table = GetDgvToTable(this.dgv_goodskuc);
ExportHelper.TableToExcel(table, sFilePath);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void txt_goodskuc_TextChanged(object sender, EventArgs e)
{
GoodsKucFilter();
}
private void GoodsKucFilter()
{
try
{
if (txt_goodskuc.Text.Trim().Length < 1)
{
tabgoodskuc.DefaultView.RowFilter = "";
}
else
{
tabgoodskuc.DefaultView.RowFilter = string.Format(" 商品编码6 LIKE '%{0}%' OR 商品名称6 LIKE '%{0}%' OR 生产厂家6 LIKE '%{0}%' OR 供应商6 LIKE '%{0}%' OR 规格6 LIKE '%{0}%' OR 柜子6 LIKE '%{0}%' ", txt_goodskuc.Text);
}
dgv_goodskuc.DataSource = tabgoodskuc.DefaultView.Table;
int sum = 0;
DataTable table = GetDgvToTable(this.dgv_goodskuc);
for (int i = 0; i < table.Rows.Count; i++)
{
sum = sum + Convert.ToInt32(table.Rows[i]["数量"].ToString());
}
lbl_goodskuc.Text = "库存数:" + " " + sum.ToString();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
}
private void GetGoodsRkInfo()
{
try
{
string begin_time = this.date_start_rk.Value.Year.ToString() + "/" + this.date_start_rk.Value.Month.ToString() + "/" + this.date_start_rk.Value.Day.ToString() + " 00:00:00";
string end_time = this.date_end_rk.Value.AddDays(1).Year.ToString() + "/" + this.date_end_rk.Value.AddDays(1).Month.ToString() + "/" + this.date_end_rk.Value.AddDays(1).Day.ToString() + " 00:00:00";
tabgoodsrk = control.GetGoodsRkInfo(orgguid,begin_time,end_time);
this.dgv_rk.DataSource = tabgoodsrk;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void GoodsRkFilter()
{
try
{
if (txb_rk.Text.Trim().Length < 1)
{
tabgoodsrk.DefaultView.RowFilter = "";
}
else
{
tabgoodsrk.DefaultView.RowFilter = string.Format(" 商品编码7 LIKE '%{0}%' OR 商品名称7 LIKE '%{0}%' OR 生产厂家7 LIKE '%{0}%' OR 供应商7 LIKE '%{0}%' OR 规格7 LIKE '%{0}%' OR 柜子7 LIKE '%{0}%' ", txb_rk.Text);
}
dgv_rk.DataSource = tabgoodsrk.DefaultView.Table;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
}
private void btn_rk_refresh_Click(object sender, EventArgs e)
{
GetGoodsRkInfo();
}
private void txb_rk_TextChanged(object sender, EventArgs e)
{
GoodsRkFilter();
}
private void btn_rk_export_Click(object sender, EventArgs e)
{
try
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Title = "保存";
sfd.Filter = "xls文件.xlsx|*.xlsx";
sfd.ShowDialog();
string sFilePath = sfd.FileName;
DataTable table = GetDgvToTable(this.dgv_rk);
ExportHelper.TableToExcel(table, sFilePath);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void GetGoodspickInfo()
{
try
{
string begin_time = this.date_start_pick.Value.Year.ToString() + "/" + this.date_start_pick.Value.Month.ToString() + "/" + this.date_start_pick.Value.Day.ToString() + " 00:00:00";
string end_time = this.date_end_pick.Value.AddDays(1).Year.ToString() + "/" + this.date_end_pick.Value.AddDays(1).Month.ToString() + "/" + this.date_end_pick.Value.AddDays(1).Day.ToString() + " 00:00:00";
tabgoodspick = control.GetGoodsPickInfo(orgguid, begin_time, end_time);
this.dgv_pick.DataSource = tabgoodspick;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void GoodsPickFilter()
{
try
{
if (txb_pick.Text.Trim().Length < 1)
{
tabgoodspick.DefaultView.RowFilter = "";
}
else
{
tabgoodspick.DefaultView.RowFilter = string.Format(" 商品编码8 LIKE '%{0}%' OR 商品名称8 LIKE '%{0}%' OR 生产厂家8 LIKE '%{0}%' OR 供应商8 LIKE '%{0}%' OR 规格8 LIKE '%{0}%' OR 柜子8 LIKE '%{0}%' ", txb_pick.Text);
}
dgv_pick.DataSource = tabgoodspick.DefaultView.Table;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
}
private void btn_pick_refresh_Click(object sender, EventArgs e)
{
GetGoodspickInfo();
}
private void txb_pick_TextChanged(object sender, EventArgs e)
{
GoodsPickFilter();
}
private void btn_pick_export_Click(object sender, EventArgs e)
{
try
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Title = "保存";
sfd.Filter = "xls文件.xlsx|*.xlsx";
sfd.ShowDialog();
string sFilePath = sfd.FileName;
DataTable table = GetDgvToTable(this.dgv_pick);
ExportHelper.TableToExcel(table, sFilePath);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void GetGoodsbackInfo()
{
try
{
string begin_time = this.date_start_back.Value.Year.ToString() + "/" + this.date_start_back.Value.Month.ToString() + "/" + this.date_start_back.Value.Day.ToString() + " 00:00:00";
string end_time = this.date_end_back.Value.AddDays(1).Year.ToString() + "/" + this.date_end_back.Value.AddDays(1).Month.ToString() + "/" + this.date_end_back.Value.AddDays(1).Day.ToString() + " 00:00:00";
tabgoodsback = control.GetGoodsBackInfo(orgguid, begin_time, end_time);
this.dgv_back.DataSource = tabgoodsback;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void GoodsBackFilter()
{
try
{
if (txb_back.Text.Trim().Length < 1)
{
tabgoodsback.DefaultView.RowFilter = "";
}
else
{
tabgoodsback.DefaultView.RowFilter = string.Format(" 商品编码9 LIKE '%{0}%' OR 商品名称9 LIKE '%{0}%' OR 生产厂家9 LIKE '%{0}%' OR 供应商9 LIKE '%{0}%' OR 规格9 LIKE '%{0}%' OR 柜子9 LIKE '%{0}%' ", txb_back.Text);
}
dgv_back.DataSource = tabgoodsback.DefaultView.Table;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
}
private void btn_back_refresh_Click(object sender, EventArgs e)
{
GetGoodsbackInfo();
}
private void btn_back_export_Click(object sender, EventArgs e)
{
try
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Title = "保存";
sfd.Filter = "xls文件.xlsx|*.xlsx";
sfd.ShowDialog();
string sFilePath = sfd.FileName;
DataTable table = GetDgvToTable(this.dgv_back);
ExportHelper.TableToExcel(table, sFilePath);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void txb_back_TextChanged(object sender, EventArgs e)
{
GoodsBackFilter();
}
private void Form1_Click(object sender, EventArgs e)
{
}
private void Form1_MouseDoubleClick(object sender, MouseEventArgs e)
{
}
private void dgv_kucmx_MouseDoubleClick(object sender, MouseEventArgs e)
{
//MessageBox.Show("12121213");
}
private void dgv_kucmx_ColumnHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
//foreach(var item in dgv_kucmx)
for (int i = 0; i < dgv_kucmx.RowCount; i++){
//MessageBox.Show(.ToString());
dgv_kucmx.Rows[i].Cells[0].Value = i + 1;
}
}
private void dgv_Detail_ColumnHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
//foreach(var item in dgv_kucmx)
for (int i = 0; i < dgv_Detail.RowCount; i++)
{
//MessageBox.Show(.ToString());
dgv_Detail.Rows[i].Cells[0].Value = i + 1;
}
}
private void dgv_goodskuc_ColumnHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
for (int i = 0; i < dgv_goodskuc.RowCount; i++)
{
//MessageBox.Show(.ToString());
dgv_goodskuc.Rows[i].Cells[0].Value = i + 1;
}
}
private void dgv_goodsusecurrentday_ColumnHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
for (int i = 0; i < dgv_goodsusecurrentday.RowCount; i++)
{
//MessageBox.Show(.ToString());
dgv_goodsusecurrentday.Rows[i].Cells[0].Value = i + 1;
}
}
private void dgv_goodsuse_ColumnHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
for (int i = 0; i < dgv_goodsuse.RowCount; i++)
{
//MessageBox.Show(.ToString());
dgv_goodsuse.Rows[i].Cells[0].Value = i + 1;
}
}
private void dgv_goodsusehz_ColumnHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
for (int i = 0; i < dgv_goodsusehz.RowCount; i++)
{
//MessageBox.Show(.ToString());
dgv_goodsusehz.Rows[i].Cells[0].Value = i + 1;
}
}
private void dgv_expired_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
for (int i = 0; i < dgv_expired.RowCount; i++)
{
//MessageBox.Show(.ToString());
dgv_expired.Rows[i].Cells[0].Value = i + 1;
}
}
private void dgv_rk_ColumnHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
for (int i = 0; i < dgv_rk.RowCount; i++)
{
//MessageBox.Show(.ToString());
dgv_rk.Rows[i].Cells[0].Value = i + 1;
}
}
private void dgv_pick_ColumnHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
for (int i = 0; i < dgv_pick.RowCount; i++)
{
//MessageBox.Show(.ToString());
dgv_pick.Rows[i].Cells[0].Value = i + 1;
}
}
private void dgv_back_ColumnHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
for (int i = 0; i < dgv_back.RowCount; i++)
{
//MessageBox.Show(.ToString());
dgv_back.Rows[i].Cells[0].Value = i + 1;
}
}
private void dgv_kucmx_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
// MessageBox.Show("1111");
}
private void button5_Click(object sender, EventArgs e)
{
try
{
Getbhcc();
if (txbbhtj.Text.Trim().Length < 1)
{
tabbhcx.DefaultView.RowFilter = "";
}
else
{
tabbhcx.DefaultView.RowFilter = string.Format(" 商品编码bh LIKE '%{0}%' OR 商品名称bh LIKE '%{0}%' OR 生产厂家bh LIKE '%{0}%' OR 规格型号bh LIKE '%{0}%' ", txbbhtj.Text);
}
databh.DataSource = tabbhcx.DefaultView.Table;
DataTable table = GetDgvToTable(this.databh);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
}
private void button7_Click(object sender, EventArgs e)
{
try
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Title = "保存";
sfd.Filter = "xls文件.xlsx|*.xlsx";
sfd.ShowDialog();
string sFilePath = sfd.FileName;
DataTable table = GetDgvToTable(this.databh);
ExportHelper.TableToExcel(table, sFilePath);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
try
{
if (txbbhtj.Text.Trim().Length < 1)
{
tabbhcx.DefaultView.RowFilter = "";
}
else
{
tabbhcx.DefaultView.RowFilter = string.Format(" 商品编码bh LIKE '%{0}%' OR 商品名称bh LIKE '%{0}%' OR 生产厂家bh LIKE '%{0}%' OR 规格型号bh LIKE '%{0}%' ", txbbhtj.Text);
}
databh.DataSource = tabbhcx.DefaultView.Table;
DataTable table = GetDgvToTable(this.databh);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
}
private void dgv_goodsusehz_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
string xh = ConfigurationManager.AppSettings["xh"];
string url= ConfigurationManager.AppSettings["url"];
string bs = ConfigurationManager.AppSettings["bs"];
private void button8_Click(object sender, EventArgs e)
{
RestClient client = new RestClient(url);
string result = client.Get(xh);
GetkucMx();
MessageBox.Show(result);
}
private void button9_Click(object sender, EventArgs e)
{
RestClient client = new RestClient(url);
string result = client.Get(bs);
GetkucMx();
MessageBox.Show(result);
}
private void button12_Click(object sender, EventArgs e)
{
Getxh();
}
private void Getxh()
{
try
{
tabbhxh = control.Getxh(orgguid);
this.dataGridView1.DataSource = tabbhxh;
int sum = 0;
DataTable table = GetDgvToTable(this.dataGridView1);
for (int i = 0; i < table.Rows.Count; i++)
{
sum = sum + 1;
}
label27.Text = "库存数:" + " " + sum.ToString();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
/// <summary>
///
/// </summary>
private void kucxhFilter()
{
try
{
if (textBox1.Text.Trim().Length < 1)
{
tabbhxh.DefaultView.RowFilter = "";
}
else
{
tabbhxh.DefaultView.RowFilter = string.Format(" 商品编码12 LIKE '%{0}%' OR 商品名称12 LIKE '%{0}%' OR 生产厂家12 LIKE '%{0}%' OR 供应商12 LIKE '%{0}%' OR 高值码12 LIKE '%{0}%' OR 规格12 LIKE '%{0}%' OR 柜子12 LIKE '%{0}%' ", textBox1.Text);
}
dataGridView1.DataSource = tabbhxh.DefaultView.Table;
DataTable table = GetDgvToTable(this.dataGridView1);
label27.Text = "库存数:" + " " + table.Rows.Count.ToString();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
}
private void textBox1_TextChanged_1(object sender, EventArgs e)
{
kucxhFilter();
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 11)
{
bool sq = false;
foreach (string each in qx)
{
if(this.dataGridView1.Tag.Equals(each))
{
sq = true;
break;
}
}
if (sq)
{
if (MessageBox.Show("确认恢复库存吗?", "消息", MessageBoxButtons.OKCancel,MessageBoxIcon.Warning) == DialogResult.OK)
{
if(control.hfkc(this.dataGridView1.SelectedRows[0].Cells[8].Value.ToString()))
{
Getxh();
}
else
{
MessageBox.Show("恢复失败!");
}
}
}
else
{
MessageBox.Show("您无权此操作");
}
}
}
private void btnpwup_Click(object sender, EventArgs e)
{
if (pwnew.Text.Length < 6)
{
MessageBox.Show( "新密码不能小于6位");
return;
}
MessageBox.Show(control.ChangePwd(En.GenerateMD5(pwold.Text),En.GenerateMD5(pwnew.Text),uid));
}
private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
if (this.linkoldpwd.Tag.ToString().Equals("0"))
{
this.pwold.PasswordChar = new char();
this.linkoldpwd.Tag = "1";
this.linkoldpwd.Text = "隐藏密码";
}
else
{
this.pwold.PasswordChar = '*';
this.linkoldpwd.Tag = "0";
this.linkoldpwd.Text = "显示密码";
}
}
private void linknewpwd_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
if (this.linknewpwd.Tag.ToString().Equals("0"))
{
this.pwnew.PasswordChar = new char();
this.linknewpwd.Tag = "1";
this.linknewpwd.Text = "隐藏密码";
}
else
{
this.pwnew.PasswordChar = '*';
this.linknewpwd.Tag = "0";
this.linknewpwd.Text = "显示密码";
}
}
private void btnpwinit_Click(object sender, EventArgs e)
{
MessageBox.Show(control.ChangePwd("-1", "", uid));
}
private void button13_Click(object sender, EventArgs e)
{
try
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Title = "保存";
sfd.Filter = "xls文件.xlsx|*.xlsx";
sfd.ShowDialog();
string sFilePath = sfd.FileName;
DataTable table = GetDgvToTable(this.dataGridView1);
ExportHelper.TableToExcel(table, sFilePath);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void concopy_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
if(message.Length==0)
{
Clipboard.Clear();
return;
}
Clipboard.SetText(message);
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="rownum1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="商品编码1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="商品名称1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="规格1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="生产厂家1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="供应商1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="批号1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="有效期1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="数量1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="操作人1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="操作时间1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="rownum.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="商品编码.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="商品名称.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="规格.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="生产厂家.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="供应商.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="批号.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="有效期.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="数量.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="rownum4.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="商品编码4.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="商品名称4.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="规格4.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="生产厂家4.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="供应商4.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="批号4.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="有效期4.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="数量4.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="高值码4.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="柜子4.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn4.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn5.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn6.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn9.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="柜子6.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="rownum2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="商品编码2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="商品名称2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="规格2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="生产厂家2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="供应商2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="批号2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="有效期2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="数量2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="操作人2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="操作时间2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="高值码2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="rownum3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="商品编码3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="商品名称3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="规格3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="生产厂家3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="供应商3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="批号3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="有效期3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="数量3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="rownum5.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="商品编码5.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="商品名称5.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="规格5.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="生产厂家5.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="供应商5.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="批号5.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="有效期5.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="效期5.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="柜子5.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="高值码5.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="rownum7.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="商品编码7.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="商品名称7.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="规格7.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="生产厂家7.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="供应商7.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="批号7.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="有效期7.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="数量7.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="操作人7.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="操作时间7.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="高值码7.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="柜子7.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="rownum8.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="商品编码8.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="商品名称8.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="规格8.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="生产厂家8.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="供应商8.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="批号8.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="有效期8.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="数量8.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="操作人8.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="操作时间8.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="高值码8.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="柜子8.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="rownum9.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="商品编码9.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="商品名称9.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="规格9.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="生产厂家9.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="供应商9.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="批号9.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="有效期9.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="数量9.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="操作人9.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="操作时间9.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="高值码9.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="柜子9.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn7.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn8.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn10.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn12.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ggxh.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn14.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn15.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn16.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn17.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn11.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn13.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn18.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn19.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn20.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn21.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn22.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn23.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn25.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn26.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="concopy.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAYGAAAAEAIAColAAAFgAAACgAAABgAAAAwAAAAAEAIAAAAAAAAJAAAMMOAADDDgAAAAAAAAAA
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
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAAAAAAAAAAAQEBAQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEB
AAEAAAACAAAAARQUFAwODQ0MAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAIAAAAHFhYVOh0dHKcUExOnCwoJOQAAAAcAAAACAAAAAQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEAAAACAAAAAxISER0ZGRh7GhkZ4h4e
Hf8VFBP/DQwM4g0MC3sICAccAAAAAwAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAA
AAIHBwcMGRgYThsaGsAbGxr8Gxsa/x8fHv8VFRT/DQ0M/w4NDPwMDAu/CwoKTQMDAwsAAAACAAAAAgAA
AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAEBAQEAAAACAAAABRcXFiocHBuTHBwb7hwcG/8bGxr/Gxsa/yAfH/8WFhX/Dg4N/w0M
DP8NDQz/DQwL7gwMC5IJCQgqAAAABQAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAAAAAgAAAAIQDw8SHBwbZB4eHdIeHh3/HBwb/xYW
Fv8VFRT/HBsb/yAgH/8XFxb/Dw4N/wYGBf8HBwb/DAwL/w0NDP8MDAvSCwsKYwYGBRIAAAACAAAAAgAA
AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAABxsb
GjsfHx2qHx8e9x8fHf8bGxr/ExMT/xAQEP8UFBP/HBwb/yEhIP8YFxb/Dw8O/wQEBP8AAAD/AwMD/woJ
Cf8NDAz/DAwL9gwLC6oKCgk6AAAABwAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAABAQEBAAAAAgAAAAMXFxYdHx8efCEgH+IhIB//Hh4d/xcXF/8SEhL/EBAQ/xAQEP8UFBT/HR0c/yIh
If8ZGBf/EBAP/wUFBP8AAAD/AAAA/wEBAf8GBgX/CwsK/w0MDP8MDAvhCwsKewcHBxwAAAADAAAAAgAA
AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACCAgIDB8fHk4iISDAIiIh/SEhIP8bGxr/FBQT/xER
Ef8RERH/EBAQ/xAQEP8UFBT/Hh0c/yIiIf8ZGRj/EREQ/wUFBf8AAAD/AAAA/wAAAP8AAAD/AgIC/wgI
CP8MDAv/DAwL/QsLCr8KCglOAwMCCwAAAAIAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAAAAAgAAAAQdHBwqIyIhkyQk
I+4kIyL/Hx8e/xcXFv8SERH/ERER/xEREf8RERH/EBAQ/xAQEP8UFBT/Hh4d/yMjIv8aGhn/EhIQ/wUF
Bf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8EBAT/CgoJ/wwMC/8MCwrtCwoKkwgICCkAAAAEAAAAAgAA
AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAA
AAIAAAACFRQUEyMiImQmJSTSJiYk/yQjI/8cGxv/ExMT/xEREf8RERH/ERER/xEREf8RERH/EBAQ/xAQ
EP8UFBT/Hx8e/yQkI/8bGxr/EhIR/wUFBf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEB/wcG
Bv8LCwr/DAsL/wsLCtILCwpkBgYGEwAAAAIAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAABAQABAAAAAgAAAAciIiE7JyYlqygnJvcmJiX/ISEg/xcXF/8SEhL/ERER/xER
Ef8RERH/ERER/xEREf8RERH/EBAQ/xAQEP8VFRT/IB8e/yUkI/8bGxr/ExIS/wYGBv8AAAD/AQEB/wEB
Af8BAQH/AQEB/wEBAf8AAAD/AAAA/wEBAf8EBAP/CQkI/wwLC/8LCwr3CwoKqgkJCDoAAAAHAAAAAgAA
AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAAAAIAAAADHBwbHScmJXwpKSfiKSko/yUl
JP8cGxv/FBQU/xMTE/8SEhL/EhIS/xISEv8SEhL/EhIS/xISEv8SEhL/ERER/xEREf8WFhX/ISAf/yUl
JP8cHBv/FBMS/wYGBv8BAQH/AQEB/wEBAf8BAQH/AQEB/wEBAf8BAQH/AQEB/wEBAf8BAQH/AgIC/wYG
Bv8KCgr/DAsK/wsLCuELCwp7CAcHHAAAAAMAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgwL
CwwnJyZOKioowCsqKfwpKSj/ISEg/xcXF/8TExP/ExMT/xMTE/8SEhL/EhIS/xISEv8SEhL/EhIS/xIS
Ev8SEhL/ERER/xEREf8WFhX/ISEg/yYmJf8eHRz/FRQT/wcHB/8BAQH/AgIC/wICAv8CAgL/AgIC/wIC
Av8CAgL/AgIC/wICAv8CAgL/AgIC/wICAv8EBAP/CAgH/wsLCv8MCwv8CwsKvwoKCU0EBAQMAAAAAwAA
AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAQEBAQAAAAIAAAAEIyMhKiwrKpQtLSzuLSwr/ycnJf8bGxv/FBQU/xMTE/8TExP/ExMT/xMT
E/8TExP/ExMS/xMTE/8TExP/ExMT/xMTE/8TExL/EhIS/xESEf8XFhb/IiIg/ycnJv8eHh3/FRUU/wgI
B/8CAgL/AwIC/wMCAv8DAgL/AwIC/wMCAv8DAgL/AwIC/wMCAv8DAgL/AwIC/wMCAv8CAgL/AwMC/wYF
Bf8JCQj/CwsK/wwLCu4LCgmTCQgIKQAAAAQAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEAAAACAAAAAxkZGBMsKypkLy4t0zAvLv8tLCv/IiEh/xcW
Fv8TExP/ExMT/xMTE/8TExP/ExMT/xMTE/8TExP/ExMT/xMTE/8TExP/ExMT/xMTE/8TExP/ExIS/xIS
Ev8XFxf/IyMi/ygoJv8fHh3/FhYU/wgICP8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD
A/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8EBAP/CAcH/wsKCv8LCwr/CwsK0goKCWMGBgYSAAAAAwAA
AAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQAAAAIAAAAHKikoOzAv
LqsxMC/3MDAu/ykoJ/8cHBv/FRUV/xQUFP8UFBT/FBQU/xQUFP8UFBT/FBQU/xQUFP8TExP/ExMT/xMT
E/8TExP/ExMT/xMTE/8TExP/ExMT/xMTE/8YGBj/JCQj/ykoJ/8gHx7/FxcV/wkJCf8EAwP/BAQE/wQE
BP8EBAT/BAQE/wQEBP8EBAT/BAQE/wQEBP8EBAT/BAQE/wQEBP8EBAT/BAQE/wQEBP8EBAT/BAQE/wYF
Bf8JCQj/CwsK/wsLCvcLCwqqCgkJOgAAAAcAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIB
AQEAAAACAAAAAyIiIR0xMC58MjIw4jMyMf8uLiz/IiIh/xgXF/8VFRX/FRUV/xQUFP8UFRT/FBUU/xQV
FP8UFRT/FBUU/xQVFP8UFBT/ExMT/xMUE/8TFBP/ExQT/xMUE/8TExP/ExMT/xMTE/8YGBj/JSQj/yop
KP8hIR//GRgX/woJCf8EBAT/BAQE/wQEBf8EBAX/BAQF/wQEBf8EBAX/BAQF/wQEBf8EBAX/BAQF/wQE
Bf8EBAX/BAQF/wQEBf8EBAX/BAQF/wQEBP8FBAX/BwcH/woKCf8LCwr/CwsK4goKCXsHBwYeAAAABQAA
AAQAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAABAQEBAAAAAgAAAAIPDw4MLy4tTjQzMsA1NDP8MzMx/ykpKP8bGxv/FhYW/xYW
Fv8WFhb/FhYV/xUVFf8VFRX/FRUV/xUVFf8VFRX/FRUV/xUVFf8VFBT/FBQU/xQUFP8UFBT/FBQU/xQU
FP8UFBT/EhIS/xISEv8ZGBj/JiUk/ysqKf8jIiH/GhkY/woKCv8LCwv/BwcH/wUFBf8FBQX/BQUF/wUF
Bf8FBQX/BQUF/wUFBf8FBQX/BQUF/wUFBf8FBQX/BQUF/wUFBf8FBQX/BQUF/wUFBf8FBQX/BQUF/wYG
Bv8JCQj/CwsK/wsLCvwLCwrACgkJUgICAhMAAAAIAAAABQAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAgEAAAACAAAABSsqKSo1NDKUNjU07jY1
NP8wLy7/IiEh/xgYF/8XFhb/FxcW/xcXFv8XFxb/FhYW/xYWFf8WFhX/FhYV/xYWFf8WFhX/FhYV/xYW
Ff8VFRX/FRUU/xUVFP8VFRT/FRUU/xQUFP8XFhb/KSkp/xoZGf8ZGRj/JyYl/ywrKv8jIyH/GxoZ/wsL
C/82Njb/GBgY/wcHB/8HBwf/BQUE/wYGBv8GBgb/BgYG/wYGBv8GBgb/BgYG/wYGBv8GBgb/BgYG/wYG
Bv8GBgb/BgYG/wYGBv8GBgb/BgYG/wYGBv8GBgb/BwcH/woKCf8LCwr/CwsK7woKCZkHBgY3AAAAEAAA
AAkAAAAFAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAAAAAgAA
AAIeHh0TNDQyZDg3NdM5ODb/NjUz/ykoJ/8bGxv/FxcX/xcXF/8XFxf/FxcX/xcXF/8XFxf/FxcX/xYW
Fv8WFhb/FhYW/xYWFv8WFhb/FhYW/xYWFv8WFhb/FRUV/xUVFf8VFRX/ExMT/x0dHf9gYWH/T09P/xoa
Gv8ZGRn/Jycm/ywsK/8lJCP/HBsa/wwMC/8+Pj7/Wlpb/0NDRP8wMTH/Hx8f/wsLCv8HBwb/BwcH/wcH
B/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcG/wcH
B/8JCQj/CwoK/wsLCv8LCgrWCQkIcQMDAyMAAAAOAAAACQAAAAQAAAACAAAAAQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAEAAAACAAAABzIyMTs6OTirOzo49zk5N/8xMC//ISEg/xgYGP8YGBj/GBgY/xgY
GP8YGBj/GBgY/xgYGP8YGBj/GBcX/xcXF/8XFxf/FxcX/xcXF/8XFxf/FxcX/xcXF/8WFhb/FBQU/xQU
FP8jIyP/Pz8//x8fH/9wcHH/UlJS/xcXF/8bGhr/KSgn/y0tLP8mJST/HRwb/wwLC/9QUFD/iIiJ/2pr
a/9GRkb/PT4+/z4+Pv8ODg7/BwcH/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgI
CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8HBwf/CAgI/woKCf8LCwr/CwsK+AsKCbMHBwdNAAAAGQAA
AA4AAAAIAAAABAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAUqKSgdOjk3fDw8OuI9PDr/ODc1/ygo
J/8bGxv/GBgY/xkZGf8ZGRn/GRkZ/xkZGf8ZGRn/GRkZ/xkZGf8ZGRn/GBgY/xgYGP8YGBj/GBgY/xgY
GP8YGBj/GBgY/xgYGP8YGBj/NDQ0/y8vL/8mJib/Ozs7/xYWFv8fHx//dHV1/ysrK/8aGhr/Kiko/y8u
Lf8nJiT/Hh0c/w0MDP82Njb/PT09/2dnZ/9MTEz/Ozs7/2lqav88PDz/MDAw/woKCv8JCQn/CQkJ/wkJ
Cf8JCQn/CQkJ/wkJCf8JCQn/CQkJ/wkJCf8JCQn/CQkJ/wkJCf8JCQn/CQkJ/wkJCf8JCQn/CQgI/wgI
CP8JCQj/CwoK/wsLCv8LCwrlCgkJiwQEBDQAAAAXAAAADgAAAAcAAAADAAAAAQAAAAEAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAEAAAABycm
JSA9PDq2Pz48/j08Ov8wMC//ICAf/xkZGf8ZGRn/GRkZ/xkZGf8ZGRn/GRkZ/xkZGf8ZGRn/GRkZ/xkZ
Gf8aGRn/GRkZ/xgYGP8YGBj/GBgY/xgYGP8YGBj/GBgY/xcXF/82NTX/YmJi/2ZmZv8XFxf/FhUV/xsb
G/9CQkL/VlZW/xwcHP8cHBv/Kyop/zAvLv8oJyb/Hx4d/w8PDv8JCQj/CAgI/zU1Nf9JSUn/cHBw/1BQ
UP8sLCz/YWFh/xEREf8JCQn/CwsK/woKCv8KCgr/CgoK/woKCv8KCgr/CgoK/woKCv8KCgr/CgoK/woK
Cv8KCgr/CgoK/woKCv8KCgr/CgoK/woKCf8JCQn/CQkI/woKCf8LCwr/CwsK/goKCcADAwM/AAAAIQAA
ABYAAAANAAAABwAAAAMAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAABAAAAAwAAAAYAAAALAAAADi8uLUBAPz3uOjk3/yYmJf8bGhr/GhkZ/xoaGv8aGhr/Ghoa/xoa
Gv8aGhr/Ghoa/xoaGv8aGhr/Ghoa/xoaGv8aGhr/GhoZ/xkZGf8ZGRn/GRkZ/xkZGf8ZGRn/GBgY/xoa
Gv9iY2P/YWJi/0ZGRv8YFxf/GBgY/xwcHP80NDT/Hx8f/xYWFv8dHRz/LCsq/zEwL/8qKSf/ISAe/xAQ
D/8KCgr/CwsL/wsKCv8ODg7/ODg4/0RERP8gIB//dnZ2/0ZGRv8TExL/MTEw/yQkJP8KCgn/CwsL/wsL
C/8LCwv/CwsL/wsLC/8LCwv/CwsL/wsLC/8LCwv/CwsL/wsLC/8LCwv/CwsL/wsLC/8LCwv/CwsK/woK
Cf8JCQn/CwoK/wsLCvIFBQRoAAAAOQAAAC0AAAAgAAAAFQAAAA0AAAAHAAAABAAAAAIAAAABAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAABwAAAA0AAAASAAAAEzIyMFJCQT/zLS0s/xcX
F/8aGRn/Gxsa/xsbG/8bGxv/Gxsb/xsbG/8bGxv/Gxsb/xsbG/8bGxv/Gxsb/xsbG/8bGxv/Gxoa/xoa
Gv8aGhr/GhoY/xoZGP8fHx//Q0ND/0BAQP9wcHD/ZGRk/ywsK/8YGBj/GRkZ/xkZGP8XFxf/GBgX/xgY
F/8eHR3/LCwq/zIxMP8rKij/IiEg/xEREP8LCgr/CwsL/wwMDP8MDAv/DQ0M/xsaGv8ZGBj/XV1d/zo5
Ov8SERH/Q0ND/zY2Nv8KCQn/DAwM/wwMDP8MDAz/DAwM/wwMDP8MDAz/DAwM/wwMDP8MDAz/DAwM/wwM
DP8MDAz/DAwM/wwMDP8MDAz/DAwM/wwLC/8KCQn/CgkJ/wsLCvYFBQV/AAAATQAAAEQAAAA3AAAAKgAA
AB0AAAATAAAADAAAAAYAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAABgAA
AAwAAAARAAAAETc2NWBCQT/5Kyop/xgYGP8aGhr/HBsb/xwcHP8cGxz/HBsc/xwbHP8cGxz/HBsc/xwb
HP8cGxz/HBsc/xwbHP8cHBz/Gxsb/xsaGv8bGxv/GyBD/xocLv8mJib/Ozs7/yEgIP9FRUX/ZGRk/y0t
Lf8ZGRn/Ghka/xoZGf8YGBj/GRgY/xgYGP8fHh7/LS0r/zMyMf8sKyr/IyIh/xIREP8VFBT/Hx4e/w4N
Df8NDQz/DQ0M/w0MDP8NDQz/HR0d/0FAQP85OTn/W1tb/zo6Ov8KCgn/Dg0N/w0NDf8NDQ3/DQ0N/w0N
Df8NDQ3/DQ0N/w0NDf8NDQ3/DQ0N/w0NDf8NDQ3/DQ0N/w0NDf8NDQ3/DQ0N/w0NDP8LCwv/CgoJ/wsL
CvsGBgaOAAAAVQAAAFAAAABHAAAAOwAAAC8AAAAjAAAAGQAAABAAAAAJAAAABAAAAAEAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAHAAAACD49O2pDQkD/KSgn/xkZGf8bGxv/HRwc/x0c
HP8dHBz/HRwc/x0cHP8dHBz/HRwc/x0cHP8dHBz/HRwc/x0cHP8dHBz/HBwc/xwbGf8cIEP/HTPU/x0r
mP8bHCP/GhoZ/xsbG/8bGxv/HR0c/xoaGv8aGhn/GRkZ/x0dHP8+Pj7/ICAg/xkZGP8fHx7/Ly4t/zQz
Mv8tLCr/JCMi/xISEf8gICD/UVJR/z4+Pv8SEhH/Dg4N/w4ODv8ODg7/DQ0N/w4ODf8dHRz/UFBQ/1RV
Vf8dHRz/Dg4N/w4ODv8ODg7/Dg4O/w4ODv8ODQ3/Dg0N/w4ODv8ODg7/Dg4O/w4ODv8ODg7/Dg4O/w4O
Dv8ODg7/Dg4O/w4ODf8MDAz/CgoK/wsLCv8HBwaXAAAAUgAAAFAAAABLAAAARAAAADwAAAAyAAAAJgAA
ABsAAAAQAAAABwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgoF9AENC
QXZEQ0H/JyYm/xoZGf8cHBz/HR0d/x4dHf8eHR3/Hh0d/x4dHf8eHR3/Hh0d/x0dHP8dHR3/Hh0d/x4d
Hf8eHR3/HR0c/x0dIf8dKX//HSmE/x0gOf8dHB3/HRwc/x0cHP8cHBv/Ghoa/xoaGv8oKCf/NTU0/xwc
G/9zc3T/QkJC/xgYF/8gIB//MC8u/zU0M/8uLiz/JiUj/xQTEv8VFRT/NjY2/2pqav9KSkr/Kysr/w8O
Dv8QEA//Dw4O/xAPD/8PDg7/Dw4N/yEgIP8dHRz/Dw8O/xAPD/8QDw//EA8P/xAPDv8PIBb/Dx8W/xAN
Df8QDg7/EA8P/xAPD/8QDw//EA8P/xAPD/8QDw//EA8P/w8PDv8NDQ3/CwsK/wsLCv8ICAegAAAATQAA
AE0AAABLAAAARwAAAEEAAAA4AAAALQAAACAAAAAUAAAACgAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAA3NjQASkpHAEZFQ4hFREL/JSQk/xsaGv8eHR3/Hh4e/x8eHv8fHh7/Hx4e/x4e
Hv8eHh3/HRwc/yoqKf8nJib/Hh4d/x8eHv8fHh7/Hh4d/x4eIv8eHy3/HR0c/x0dG/8dHR3/Hh0d/x0d
Hf8dHRz/MTAw/yYmJv84ODj/S0pK/xkZGf85OTn/bm5u/yIiIv8hICD/MTAv/zY1NP8vLi3/JyYk/xMT
Ev81NDT/fX19/2JjYv9LS0v/SEhI/1VWVv87Ojr/HBwc/xISEf8QEA//ERAQ/xAPD/8QEA//ERAQ/xEQ
EP8REBD/ERAQ/xEPD/8QLh3/D5dO/w9jNv8QHRb/ERAP/xEREP8REBD/ERAQ/xEQEP8REBD/ERAQ/xAQ
D/8PDg7/DAsL/wsLCv8JCQirAAAASgAAAEkAAABGAAAAQgAAADsAAAAyAAAAKAAAABwAAAARAAAACAAA
AAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFREMAMjE0AUhHRZxFREL/IyMi/xwc
G/8eHh7/Hx8f/x8fH/8fHx//Hx4e/yAgH/8sLCv/NjY1/19fX/8vLy//Hh4e/x8fH/8fHx//Hx8e/x4e
Hf8eHh3/Hh4e/x4eHv8eHh7/Hh0d/x4eHv9bW1v/ZGRk/ysrKv8dHRz/HR0c/x8fHv88PDz/fX19/zY2
Nv8hIB//MjEw/zc2Nf8wLy7/JyYl/xUVFP8dHBz/UVFR/z09Pf8zMzP/fn5+/5aXmP9UVFT/bGxt/01N
Tf8hICD/EREQ/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SEBD/EHE9/w7GZP8UQin/MjAx/yop
Kf8QDw7/ERAQ/xIREf8SERH/EhER/xEREP8QDw//DQwM/wwMC/8KCQi3AAAARgAAAEEAAAA7AAAANAAA
ACwAAAAjAAAAGgAAABEAAAAKAAAABQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AABHRkQARkVEA0pJR69EQ0L/ISEh/x0cHP8fHx//ICAg/x8fHv8eHR3/Ly4u/19fX/9sbGz/f3+A/2lp
af8iISH/ICAg/yAgIP8gICD/IB8f/x8fH/8fHx//Hx8f/x8fH/8gHx//PDw8/yoqKv9fX1//aGlp/yUl
JP8eHR3/Hh0d/ygnJ/9ZWVr/Ojo6/x8eHv8jIiL/MzIx/zg4Nv8yMS//KCcm/xcWFv8REBD/HBwc/zMz
M/80NDT/hYWG/01NTf9QUFD/cHBw/0FBQP8kIyP/EhIR/xMTEv8TExL/ExMS/xMTEv8TExL/ExMS/xMT
Ev8TEhL/Ex0X/xIwH/8XGBf/U1RU/1tbW/8hICD/JiUl/xgYF/8RERH/ExIS/xMSEv8RERD/Dg0N/wwM
C/8LCwrCAQEBPAAAADIAAAAqAAAAIgAAABoAAAATAAAADQAAAAgAAAAEAAAAAgAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIR0UASklHCktKSL9DQkD/ISAg/x4dHf8gIB//ISEg/zk4
OP9QUFD/PDw8/2RkZP9QUFD/fHx8/0lJSP8fHx7/ISEg/yEhIP8hISD/ISAg/yAgH/8gIB//IB4e/yAf
Hv8zMzP/fX19/1FRUP8gICD/bW5t/0VFRf8dHRz/Hx8e/yAfH/8fHh7/HRwc/x0dHf8kJCP/NDMy/zk4
N/8zMjH/Kiko/xgYF/8SEhL/ExMS/xIREf8WFhb/HBwc/ysrK/9FRUX/dHR0/01NTf8bGxv/ExMS/xMT
E/8TExP/ExMT/xMTE/8TExP/ExMT/xMTE/8TExP/FBMT/xQREv8SERH/Jycn/z09PP9KSkr/dXZ2/zIy
Mv8sLCz/Gxoa/xEREf8SERD/Dw4O/w0NDP8MCwvKAgICMAAAAB8AAAAYAAAAEQAAAAwAAAAHAAAABAAA
AAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKSUcAS0pIFU1M
Ss1DQkD/IB8f/yAfH/8nJyb/TEtL/2ZmZv9tbW3/aGho/19eXv8rKir/Pz8+/ywrK/8iISH/IiEh/yIh
If8iISH/IiEh/yEgIP8hIiH/IEo0/yBaO/9FSEb/aWlp/yoqKf8+Pj7/Y2Ni/y8vLv8fHx7/IB8f/yAf
H/8fHh7/HR0c/x4eHf8lJCT/NTQz/zs6OP80MzH/Kyop/xkZGP8SEhL/FBQT/xQUE/8UFBP/FBQT/xYW
Ff8aGhn/Tk5N/1BRUP8kJCP/FBMT/xQUE/8UFBP/FBQT/xQUE/8UFBP/FBQT/xQUE/8UFBP/FBQT/xQU
E/8UFBP/FRUU/xQUE/8nJyb/bW1t/zg4OP8xMTH/JiYl/z4+Pv8hISH/EBAP/w4ODf8NDQzRBwYGKAAA
AA4AAAAKAAAABwAAAAQAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAABMS0kATEtJIE9OTNtCQT//HR0d/zU1NP9oaGj/YWFh/11dXf9bW1v/ZmZm/1ZW
Vv8pKCj/ISEg/yIiIf8jIyL/IyMi/yMjIv8jIyL/IiEh/yIzKf8gmlv/H9F2/yFYO/8jISH/LSws/yQj
I/87Ozv/MC8v/yAgH/8hISD/ISAg/yEhIP83Njb/QEBA/yEhIP8mJiX/NzY0/zw7Of81NDP/LSwq/xoZ
Gf8fHx7/IB8f/xQTE/8VFBT/FhUV/xYVFf8VFRT/FhYV/ykpKf8jIyL/FRUU/xYVFf8WFRX/FhUV/xYV
Ff8WFRX/FhUV/xYVFf8WFRX/FhUV/xYVFf8WFRX/FhUV/xUVFP8WFhX/W1tc/zc3Nv8TEhL/GRgY/1pa
Wv8/Pz//EREQ/w4ODf8ODg3cCwsKJwAAAAQAAAADAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQT00AUU9OKlJRT+hBQD7/HBsb/0dH
R/+Pj4//b29v/3R0dP9FRET/JSQk/yUkJP8jIyL/IyMi/yQjI/8kIyP/JCMj/yQjI/8kIyP/IyIi/yMt
J/8hi1T/IYZR/yMkI/8jIiL/IiIh/yMiIv8hICD/ISAg/yEhIP8jIyL/JCQk/ycnJv9UVFT/h4eI/y8v
L/8mJST/Nzc1/z08O/83NjT/Li0r/xgYF/9CQkL/QUFA/zMzMv8oJyb/FhUU/xYWFf8XFhX/FxYV/xYV
FP8WFhX/FxcW/xcWFv8XFhb/FxYW/xcWFv8XFhb/FxYW/xcXFv8XFhX/FxUV/xcWFf8XFxb/FxYW/xcW
Ff8WFhX/IyMi/yEgH/8WFhX/FhUU/ysrKv82NTX/EhIR/w8PDv8PDg3oDg0NKx4dHAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AABTUlAAU1JQN1RTUfI+PTz/HBwb/09PT/90dHT/QUFB/zExMP8lJCT/JSQk/yQkI/8kJCP/LCsr/ygo
J/8lJCT/JSQk/yUkJP8lJCT/JCQj/yQiIv8kJCP/JCck/yQjI/8kIyP/JCMj/yQjI/8hICD/JyYm/ysq
Kv9OTk7/WVlY/ycnJv9HR0f/g4OD/zAvLv8oJyb/OTg2/z49PP84NzX/Ly4s/xoZGP9MS0v/c3Ny/6ys
rP9lZWT/Xl5e/ykoJ/8eHR3/FhUU/xcXFv8YGBf/GBgX/xgYF/8YGBf/GBgX/xgYF/8YGBf/GBgX/xgX
F/8YIxz/FzYk/xgaGP8YFhb/GBgX/xkYF/8YGBf/FxcW/xgXFv8YGBf/GRgX/zQzM/9aWlr/GRkY/xAQ
D/8QDw7yDw4ONw8PDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVVFEAVFJQSlVUUvc8Ozr/Hh4e/zAwL/80NDT/JSQk/yUk
JP8lJST/JCQj/ysqKv9LS0v/cnJy/1xcXP8lJCT/JiUl/yYlJf8mJSX/JSUk/yUkJP8lJCT/JSQj/yUk
JP8kJCP/JCMj/ygnJv9TU1L/gYGB/09PTv8+PTz/PDw7/z49Pf+Xl5f/VlZV/ywsK/8qKSn/Ojk4/0A/
Pf86OTf/MTAu/xsaGf9XV1b/vL29/5CRkP+BgYH/pKSk/46Ojv9XV1b/QkJB/zAwL/8ZGRj/GRgX/xkZ
GP8ZGRj/GRkY/xkZGP8ZGRj/GRkY/xkYGP8ZIhz/E49M/xKYUP8XQSr/Kysr/zk5OP8cGxr/HR0c/xkY
F/8ZGRj/GRkY/y4uLf9ERET/FxYW/xEQEP8QEA/3EA8OSRAPDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXVlMAVlRSXVZV
U/s5ODf/Hx8f/yMiIv8lJCT/JiUl/yYmJf8qKin/PDw8/1VVVf9ubm7/UVFR/2dmZ/8mJiX/JyYm/ycm
Jv8nJib/JiUl/yUlJP8lJST/JSUk/ycmJf8tLCz/Ozo6/zQzM/9zc3L/hoaF/zIwMP8xMC//Ly4t/0ZF
Rf+wsLD/enl5/zEwMP8rKin/Ozo4/0A/Pv87Ojj/MjEv/x4dHP9BQD//ZGNi/1pZWP+NjYz/lZWV/7Cw
sP9lZWT/TU1M/2pqaf9ISEf/KCcm/xwbGv8aGRj/GxoZ/xsaGf8bGhn/GxoZ/xsaGf8bGBj/GEgt/xDG
ZP8XZTv/REND/3BwcP9DQ0L/aGho/zIxMP8aGRj/GhkY/xoZGP8YFxb/FhUU/xEREP8RERD7ERAPXBEQ
DwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAFVUUgBXVlQAV1ZUb1hXVf82NjX/IB8f/yQkJP8nJib/MzIy/1xcXP9jY2P/hIWF/1BP
T/9sbGz/Y2Nj/0tLS/8mJSX/Jycm/ycnJv8nJyb/JyYm/ycnJv8qKSn/Lyws/zIyMP9JSUj/lZSU/1tb
Wv9UU1P/f39+/zIxMP8zMjL/MjEx/zg3Nv9PT07/ODc3/y4tLf8sKyr/PDs5/0FAPv88Ozn/MzIw/yEg
H/8kJCL/JiUk/zk5OP9jY2L/WVlY/2trav9tbWz/WVlY/4KBgf+EhIT/YGBf/y8uLf80MzP/IB8e/x0d
HP8cHBv/HBsa/xwbGv8cGxr/HB0b/xoxJP8bHhv/IB8f/1BPT/8xMTD/VVVV/zAwL/8vLi3/NDMy/xsa
Gf8ZGRj/FxYW/xMSEv8SERD/EhEQbxIREAASERAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFZVUwBbWlgAWlhWgllYVv80MzL/IiEh/ycn
Jv8/Pz7/U1NT/2ZmZv9vb2//kJCQ/1xcW/9nZ2f/UlJS/ysqKv8oKCf/KCgn/ykoKP8sKyr/MC8v/zQz
Mv83QTv/NHVg/z12X/+KiYn/paSk/0lIR/9tbWz/iYmI/zIyMf81NDP/NDQz/zMzMv8yMTD/MjEw/zAv
Lv8tLCv/PTw7/0NCQP8+PDr/NTQy/yIhIP8nJiX/Kiko/ykoJ/8qKij/KSgn/ywsKv9iYmH/jY6N/25t
bf9AQD//fX19/4mJif9tbWz/IyMh/yQjIv8iISD/IB8e/x4eHP8dHRz/HRwb/x0bG/8dHBz/Hh0c/yAg
H/8cGxr/ODc3/z8/Pv8rKyr/MjEx/0dHRv9HR0f/Gxsb/xMTEv8SEhH/EhERgRISEQASERAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFlY
VgBTT04BW1pYlVlYVv8xMDD/KSkp/2lpaf96enr/W1tb/2VlZf9KSkr/VVRU/z08PP8sKyv/KCcn/yko
KP8rKir/Ly8u/zU0NP86OTj/Ozk5/zdsW/8uzbL/Ldu6/zleUP9NSkr/XFxb/z08O/95eHj/ZWRk/zU0
M/82NTT/NjU0/zU0M/8zMjL/MzIx/zEwL/8uLSz/Pj08/0RDQv8/Pjz/NjUz/yMjIf8oJyb/LCop/ysr
Kf8rKij/Kiko/yopJ/8tLCr/SklI/3Bwb/8/Pj3/WVhX/5WVlf9MS0r/JCMh/yYlI/8lJCP/JSQi/yQj
If8iISD/IB8e/x8eHf8eHhz/Hh4c/x4dHP8jIyH/UlJR/2FhYP8eHRz/HBsa/0BAP/9YWFj/IB8e/xQU
E/8TExL/ExIRlA8RDwESEhEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAFtaWABZV1YFXlxaqFpZV/8uLi3/JSUl/3R0dP9ubm7/XVxc/2ho
aP83Nzb/LCsr/ykoKP8qKin/LS0s/zQ0M/87Ojn/Pj08/z4+PP8+PTz/PTs6/zpeUv8wx6j/NYhz/zs5
N/87Ojn/Ozo5/zo5OP83Nzb/NzY1/zg3Nv82NjX/NjU0/z09O/9ubm7/fHx8/zg3Nv8uLi3/QD89/0ZF
Q/9CQT7/OTc1/yQkIv8tLCr/NTQy/y0sK/8tKyr/LCsp/ywqKf8rKij/Kign/zIxL/8tLCv/QkJB/4KC
gv8vLi3/JyYl/ycmJf8nJiT/JiUk/yYlJP8lJCP/JSQh/yQjIv8iIR//ICAf/yAfHv8gHx7/MjEx/zQ0
M/8fHx7/IB8e/yMiIf9HR0b/JSQj/xUVFP8TExP/ExMSpxMTEgUTExIAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF5dWwBdXFoKYF9dulpZ
V/8sKyv/IiIh/1hYWP9UU1P/Li0t/zAvL/8qKin/LCwr/zExMP85ODf/Tk1M/0lIR/9APz7/QD8+/0A/
Pv8/Pj7/Pj08/z47O/89RUD/PT89/z07O/88Ozr/PDs6/zw7Ov86OTj/OTc2/zk4N/9NTEz/SklI/0RE
Q/9paWj/oJ+g/0NCQv8vLi7/QkE//0dGRP9DQkD/Ojg3/yQjIv9DQkH/dHRz/y8uLP8uLiz/Li4s/ysq
Kf8sKyr/LCsp/ysqKf8qKij/LCsp/zAvLf8pKCf/KSgn/ygoJv8oJyb/Jycl/ycmJf8nJiT/IidL/xop
jP8jJTT/JCQh/yMiIf8iISD/IB8e/x8fHv8hIB//IB8e/y4uLf9jY2L/Ozs6/xUUFP8UFBP/FBMTuRMT
EwkUExMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAGBfXQBgX10PYmFfy1pZV/8qKSj/JSUk/ywrKv8sLCv/Kysq/y4tLP80MzL/PTs6/0ZE
Q/+Af37/kI+O/1JRUP9BPz7/QkA//0JAP/9BPz7/QD89/z8+Pf8/PTz/Pz08/z49PP8+PDv/PTw7/z08
O/9HRkX/UVBP/zs5OP+Dg4L/Z2Zl/zk3Nv9zcnH/lpaW/zk4N/8xMC//QkE//0hHRf9FREL/PDo5/yUl
I/9GRkT/lpaV/0RDQf84ODb/fX18/11cW/8yMjD/LSwq/y0sKv8sLCr/LCsp/ysqKP8rKij/Kioo/yop
J/8pKSf/KSgm/ygoJv8oKCj/HSqA/xIs3/8cKYX/JiUl/yQkIv8lJCL/JyYl/yMiIf8iIiD/IiEg/ycn
Jf9DQ0L/KSgo/xcXFv8VFBP/FBQTyxQTEw8UExMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGFgXgBhYF4aY2Jg2FhXVv8oJyf/JiYm/ysq
Kv8vLy7/NzY1/0JBQP9aWVj/VFJR/1RTUv+qqqn/T01M/0NCQf9DQkH/Q0JB/0NCQf9CQUD/QkE//0FA
P/9APz7/QD8+/0A+Pf8/Pjz/Pj07/0dGRf+IiIf/qaio/05NTP9AQD//Pjw7/z08O/9qaWn/qKin/z8+
Pf8yMTD/Q0JA/0lIRv9HRkT/Pj07/ycmJf9GRUT/oqKh/3l5eP9TU1H/lpaW/3p6ef9paWj/Li4r/y8u
LP8uLiz/Li0r/y0sKv8sLCr/LCsq/ysrKf8rKij/Kioo/yopJ/8pKSf/KSkr/yQpTP8fKXL/MTNA/0xM
Sv8yMjD/UFBP/0ZFRP8lJCP/IyMh/yMjIf8hIR//IB8e/xoZGP8WFhX/FRUU2BUUFBoVFBQAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGNi
YABjYmApZWRi41ZVU/8nJyf/KSgo/zc2Nf9KSUf/TUxL/3Z1dP+hoKD/m5qa/4aFhP+trKz/SkhH/0VE
Q/9FREP/RURD/0RDQv9EQ0L/Q0JB/0JBQP9CQUD/QkA//z89PP9aWVj/bm1s/0VEQ/9aWVj/lZSU/0xL
Sv88Ozr/PDs6/0tKSf+Lior/eHh3/zk4N/8zMjH/RURC/0tKSP9JSEb/QD89/ykoJv9BQD//kZGQ/2Fh
X/9LSkj/np6d/5OTk/91dXT/MC8t/zAvLf8vLy3/Ly4s/y4uLP8uLSv/LSwr/y0sKv8sKyr/LCsp/ysq
Kf8qKij/Kion/yopJf8pKCb/LCws/0pKSP9BQD//MzMx/2ZmZv84Nzb/R0ZF/ykoJ/8kJCL/IB8e/xsa
Gf8XFxb/FhYV4hYWFCgWFhQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVkYgBlZGI2Z2Zk7VNSUP8nJyf/Ojk4/0xLSv+amZj/srGx/7S0
tP+goJ//rq6t/7a2tv+OjYz/SUhH/0dGRf9HRkT/R0ZE/0ZFRP9GRUP/RURD/0RBQP9EQD//Qk9H/0ZT
TP+Mi4v/ubm5/11cW/+Dg4L/q6ur/0VEQ/8+PTz/Pj08/0VEQ/9VVVT/Pj08/zk4N/80MzL/RkVD/01M
Sv9LSkj/Q0JA/ysqKf8yMTD/S0tJ/25tbP9kY2L/kpKR/4yMi/9nZ2X/MC8t/zIxL/8xMC7/MDAu/zAv
Lf8vLi3/Ly4s/y4tLP8uLSv/LSwr/ywsKv8sKyr/LCsp/ysqKf8rKij/Kikn/ygnJv8oJyb/QUFA/3Z2
dv81NTP/REND/zU1M/9YWFf/OTk4/xwcG/8YFxb/FxcW7RYWFTUWFhUAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhnZQBoZ2VDamhm91FQ
Tv8rKir/e3t6/7Cvr/+pqKf/wsLC/6Ggn/+goJ//rKuq/2ZmZP9PTkz/SUhH/0lHRv9JR0b/SEdG/0hG
Rf9IRkX/RkdE/0NeVP86loH/NL6c/1R4aP+enJz/gYGA/0VEQ/9tbGv/oaCg/0hHRf9APz3/QD89/z8+
PP89PDv/Pjw7/zo5OP82NTT/R0ZE/05NS/9NS0n/RENB/y0sKv8zMS//NjUz/zU0Mv85ODb/VFRS/3x8
e/9YWFb/MjEv/zMyMP8zMS//MjEv/zIwLv8xMC7/MC8t/zAvLf8vLiz/Ly0s/y4tK/8uLCv/LSwq/y0s
Kv8sKyn/LCsp/ysqKP8qKSf/Q0JB/3FxcP82NTP/JyYk/ykoJv9fXl3/UE9P/x4dHP8ZGBf/GRgX9xgX
FkMYFxYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAGxraQBqaWdVa2pn/U1MS/8tLSz/eHh2/8bGxf92dnT/mZiX/3p6eP9ZWFb/VlVT/0pJ
R/9LSkj/S0lI/0tJR/9KSUf/SklH/0pIRv9JR0b/SExH/zmvkv8q/OD/Op6H/0VEQf9VU1L/VFNS/01M
Sv9/f37/WllY/0FAP/9CQD//QUA+/0A/Pv8+PTv/PTw6/zw7Of83NjT/SklH/1FQTf9PTkz/RkVD/y0t
K/80MzH/OTg2/zg4Nf84NzX/NTUy/zU0Mv81NDL/NTQy/zQ0Mv80MzH/MzMx/zMyMP8yMS//MTEv/zEw
Lv8wMC7/MC8t/y8vLf8vLiz/Li0s/y4tK/8tLCv/LSwq/ywrKv8rKyn/Ozo5/1ZVVP8wMC7/KSkn/yko
Jv9SUlH/QEA//x4dHP8aGRj/GRgX/BkYFlQYGBYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG5sagBramhqbGtp/0pJSP8xMC//YF9e/66u
rf9ZWFb/VFJR/1BPTf9NS0r/TUtK/01LSv9LSkn/TUxK/0xKSf9MSkn/S0pI/0tJSP9KSUj/SkdG/0Zc
U/8+kXv/RlRO/0dFRP9GRUP/RURD/0ZFQ/9EQkH/Q0FA/0NCQf9CQD//QUA//0lHRv+Af37/enl4/z8+
Pf84Nzb/S0pI/1FQTv9QT03/SEdF/y8vLf81NDL/Ojk2/zo5N/85ODb/OTg2/zg3Nf83NjT/NzY0/zY1
M/81NDL/NTQy/zQzMf8zMzH/MzIw/zIxL/8yMS//MTAu/zEwLv8wLy3/Ly4s/y8uK/8uLSv/Li0r/y0s
K/8tLCr/LCsp/yopJ/8rKyn/Kyoo/y4tLP9qamn/R0ZF/x8fHf8bGhn/GhkY/xoZGGgaGRgAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZmVkAG9u
bABsa2l9bWxq/0ZFRP81NDP/S0pI/1dWVP9QT03/T05M/09OTP9OTUv/TEtJ/1BPTf+CgYD/oqKh/1RT
Uf9MS0r/TEtJ/0xLSf9LSkn/S0pI/0pIRv9KRkX/SUdG/0hHRv9IR0X/R0ZF/0dGRP9FQ0L/Q0JB/0RD
Qf9fXlz/UE9N/01MS/94d3b/sbGx/0hHRv84ODb/Tk1K/1NSUP9SUU//SklG/y8uLf9FREP/TEtJ/zk4
Nv86OTf/Ojk3/zk4Nv85NzX/ODc1/zc2NP83NjP/NjUz/zU0Mv81NDL/NDMx/zMzMP8zMjD/MjEv/zIx
L/8xMC7/MDA0/yUubv8rLkj/Ly4r/y4tLP8uLSv/LSwq/ywrKv8tLCr/LCsp/ywrKf88Ozn/MzMx/yIh
IP8cGxr/HBsa/xsaGXwbGhgAGxoZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAlZSHAHFwbQBubWuRbm1r/0JBQP84Nzb/S0pI/1FPTf9SUE//T05M/09N
S/9kY2H/fHt6/4OCgf+vrq7/trW0/1dVU/9OTEv/Tk1L/05MS/9NTEr/TEtJ/0tKSP9LSkj/SklH/0pJ
R/9JSEb/SUhG/0hGRf9eXFv/YmFg/0ZEQ/+Ih4f/Xl1c/0RDQf9zcnL/j46O/0JBP/85OTj/T05M/1VU
Uv9UUlH/TEtI/y8uLf9iYWD/b25t/2xrav9hYF7/Ozo3/z49Ov86OTf/OTg2/zk4Nv84NzX/NzY1/zc2
NP82NTP/NTQz/zU0Mv80MzH/MzMx/zMyMP8zMS7/KDBp/xMt4v8dLab/MDA0/zEwLv8uLSv/Pj08/zk5
N/8uLSz/LSwq/y0sK/8sKyn/Kikn/yQjIv8dHBv/HRwb/xwbGpAdHRsAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaWhmAGFgXwFwb22jb25s/z4+
Pf86OTj/TEtJ/1BPTf9UU1H/d3V0/3h3df+dnJv/u7q5/9bW1f95eHf/amlo/1BPTf9PTkz/T05M/09N
TP9OTUv/TUxK/0xLSf9MS0n/S0pI/0tKSP9MS0n/SUhG/15dXP+fn57/sbGx/1FQT/9JSEb/RURC/15d
XP+YmJf/WllY/0A/Pv87Ojn/UVBO/1dWVP9WVVP/TUxK/zAvLf9iYmD/j4+O/7+/v/98e3r/SUlG/3Nz
cf88Ozn/RENB/z8+PP84NzX/OTc1/zg3Nf83NjT/NzY0/zY1M/81NDL/NTQy/zQzMf80MzD/MTI8/yow
ZP8gLpT/LzRW/11cWf9PTk3/ZWVk/3p6ef88Ozn/NDMy/zAvLf8tLCr/Kyoo/yYlJP8eHRz/Hh0c/x4d
HKMYFhUBHBsaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAbWxqAGxraQlxcG20b25s/zs7Of89PDv/WFZV/4eGhP+WlJP/rayr/9LS0v+OjIv/np2c/9jY
1/+gn57/d3Z0/1BPTf9RT03/UU9N/1BOTf9PTUv/T01L/05MSv9OSkn/TUpI/0pJR/9zcnH/bGtq/4qJ
iP9+fXz/m5qZ/19dXP9GRUP/RURC/2VjYv+xsLD/g4KB/0RDQf88Ozr/U1JQ/1lYVv9YV1X/T05M/zEw
Lv9nZmX/yMjI/5STkv9wb23/VVRS/5OTkv9APzz/bGtp/4B/fv9VVFL/PTs5/zo5N/83NjT/ODc1/zc2
NP83NTP/NjUz/zU0Mv81NDL/NDMx/zQzLv8zMjL/MjE0/z08Ov9HRkT/QkFA/19eXf80MzH/WFhX/0FA
P/9CQT//NjUz/ycmJf8fHx7/Hh4c/x4dHLMdHRsIHR0bAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcG5sAG9ubBBycW/Fbmxq/zk4N/9EQ0L/l5aV/8fG
xv/AwL//fXx6/9zb2/+zsrH/nZyb/3NycP+BgH//XFpY/1NRT/9TUU//U1FP/1JQTv9gX13/VFFQ/09R
Tf9JcGP/Q5J4/19uZf+zsbH/rKuq/6empf9ta2r/oJ+e/1hXVf9IR0X/SEZF/1FPTv9iYF//TEpJ/0JB
P/89PDv/VVNR/1taWP9aWVf/UVBO/zMyMP9aWVf/hoWE/2NiYP91dHL/h4eG/6Wlpf9TUlD/Q0JA/2lo
Z/+MjIv/cnFw/4KCgf9YV1X/Ojk3/zg3Nf84NzT/NzY0/zc1M/82NTP/NTQy/zU0Mv80MzH/NDIw/zIx
L/8xMC7/MzIw/1taWf9JSEf/NTQy/zMyMP9LSkn/X15e/y0sK/8gIB//IB8e/x8fHcQfHx0QHx8dAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXNxAHVz
cRd0c3HVbGtp/zU0NP9lZGT/p6am/4mIh/+rqqn/oJ+f/5KRkP+SkZD/bGpp/1NSUP9SUVD/VFNR/1RT
Uf9SUVD/UVBP/3V0c/+amZj/VGpg/zq+pP8u79T/PqiO/2xtav+xsLD/bm1s/5KRkP+enp3/k5KS/01M
S/9KSEf/SUhH/0hHRv9GRUT/RkVE/0JBQP89PDv/VlVT/11cWf9bWlj/U1JQ/zY1M/89PDr/QkE+/01M
Sv9lZGP/g4OC/2NiYP93d3b/f359/56enf93d3b/fn59/3t6ef9ZWVf/PDs5/zo4Nv85ODb/ODc1/zg2
NP83NjT/NjUz/zY1M/81NDL/NTQx/zQzMf8zMTD/RENC/3h4d/9ZWFf/Ly4s/zAvLf8+PTz/dXV0/zQz
Mv8hIB//ISAf/yEgH9QhIB8XISAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAdnVyAHZ1ciF2dXPiaWhn/zMyMv91c3P/v76+/4uKif+KiIj/i4qI/1tZ
V/9UU1H/VlRS/1ZVU/9WVFL/VVNR/1NRUP9lZGL/goGA/7a1tf+vrq7/UlxV/z6zmv83zrL/Tl5X/09M
S/9kYmH/VlRT/2VkY/+Qj47/W1lY/0tJSP9LSUj/SklH/0lHRv9HRkX/RUNC/z89PP88Ojn/WFdV/19d
W/9dXFr/VVNR/zY1M/88Ozn/Q0E//0JBP/9DQj//RENA/0NCP/9iYmD/eHh2/35+fP9RUE//fn18/5GR
kP9YV1b/Ozk3/zs6N/86OTf/OTg2/zk4Nf84NzX/NzY0/zc2M/82NTP/NjUy/zU0Mv80MzH/NjUz/0VE
Qv85ODb/MjEv/zEwLv9CQT//bGtq/zMyMf8iIiD/ISEf/yEhH+IhIB8gISAfAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdnRyAHV0cjF4dnTraGdl/zQz
M/9SUFD/jYuL/3x7ev9ZV1b/V1VU/1lXVf9YVlX/WFZU/1hWVP9cWlj/bWtq/21rav+rqqr/vb28/3t5
eP+1tLP/WFVU/1JXUv9QYFj/Uk9O/1FPTv9PTUz/T05M/05NTP9MS0n/TEpJ/0xKSf9KSEf/SEZF/0VD
Q/9CQED/PTw7/zU0M/83NjX/WlhW/2FgXf9fX1z/VlVT/zIxL/80MzH/PTw5/0A+PP9BQD3/QkA9/0JB
Pv9BQD3/RURC/2dmZP9cXFn/cnJw/4SDgv9XVlT/PTs5/zw7OP87Ojf/Ojk3/zo4Nv85ODb/ODc1/zg3
M/83NjP/NzYz/zY1M/81NDL/NTQx/zMyMP8zMjD/MzIw/zIxL/9JSUf/cnJx/zY2NP8jIyH/IiEg/yMi
IOoiIiAwIiIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAeHZ0AHd2c0J6eHbyZWRi/zU0M/9MS0n/VVNR/1lXVf9aWFb/WlhW/1lXVf9cWlj/YWBe/5ST
kv+uraz/q6qp/8nJyP+9vLz/vby8/4KAf/+fnp3/VVNS/1NRUP9TUE//UlFP/1JQTv9RUE7/UE9N/09N
TP9NS0r/SklI/0dGRf9EQ0L/QD8+/zo5OP8zMjL/Li0t/zEwL/9DQkH/XFtZ/2JhX/9gX13/WFdV/z09
O/8sKyr/LCsq/zEwLv83NjT/Ozs5/z49O/9APjz/QD88/z49O/8+PTv/RkVD/2FgXv9lZGL/Pz07/z07
Of88Ozn/Ozo4/zo5N/86ODb/OTg3/y00bv8sNG3/NzYz/zY1M/82NTP/NTQy/zQyMf80MzH/NDMx/zMy
MP80MzL/NzY1/y4tLP8lJCP/IyIh/yQjIfEkIyJAJCQiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1dHIAeHd1AHh3dVJ7eXf5YWBe/zY1Nf9PTk3/WVhW/1ta
WP9aWVf/X15c/3t6eP+op6b/sK+v/7KxsP+Pjo3/p6al/87Ozf+RkI//srGw/7Kysf9tbGr/VFNR/1RT
Uv9UU1H/U1JQ/1JRT/9QT03/TkxL/0tKSf9HRkX/QkFA/zw7Ov81NDP/MC8v/zQzMv8/Pj3/Tk1L/1pZ
V/9fXlz/Xl1b/2JhX/9iYV7/WllX/1lXVf9SUU//RURD/zc2Nf8tLCv/Kysq/zAvLv82NTP/Ojk3/z08
Ov8+PTv/Pz07/z08Ov8+PTr/Pj07/z48Ov89Ozn/PDs5/zs6OP87Ojb/NDdV/xkvzv8XLtT/MjZS/zs6
Nv83NjT/Ojk3/09PTf86Ojj/NDMx/zMyMP80MzH/MzIw/y8uLf8mJiT/JCMi/yUkI/klJCNRJSQjACcm
JQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0c3EAe3p4AHt6
eGJ8e3n/XFta/zg3Nv9RT07/W1lY/3Bubf9ubGv/lpSU/5ORkf+gn5//ubi4/7Gwr/+cm5r/goGA/6yr
qv9sa2r/YV9e/2NiYf9XVVP/VlRT/1RTUv9TUVD/UE9O/01MS/9KSEf/RURD/z89Pf83NTX/MjAw/zU0
M/9CQED/UlFQ/19dXP9kY2H/YmFf/2BfXf9gX13/Y2Jg/3Jwbv9wb23/X15c/1tZV/9ZWFb/WFdV/1ZU
Uv9PTkz/RENB/zY1NP8sLCv/Kyop/y8uLf81NDL/OTk2/zw7OP89PDn/PT06/z49Ov89PDr/PTw5/zw7
Of88Ozj/OTo9/zM3WP8oNIf/LDRw/1dXVf9mZmT/XFxa/319fP9aWlj/QD89/0REQv80MzH/MzIw/zAw
Lv8oJyb/JSQj/ycmJP8mJSNiJiUjACYmJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAB2dHMAgYB9AHx6eHZ9fHr/WFdW/zo5OP9raWf/iYeG/8fGxf/IyMf/xcTD/5WU
k/+pqKf/iYeG/8vKyv+dnJv/YF5d/19dW/9aWVf/WVdV/1hWVP9WVVP/VFJQ/1BOTf9MS0n/R0ZF/0BA
P/84ODf/MzMy/zc3Nf9EQ0L/VFNS/2JhX/9nZmT/aGdk/2VkYv9lZGL/aWhm/3RycP+CgX//jYyK/5KR
jv+PjYv/hoWD/3p5d/9ramj/X15c/1lXVf9WVVP/VVRS/1NSUP9NTEr/QUA//zUzMv8sKyr/Kyoo/y8u
LP80MzH/ODc1/zs5N/88Ozj/PDs5/z07Of88Ozn/PDs4/zw6Nv87OTX/OTg5/zw7Of9HRkX/Y2Jh/2Jh
YP9qaWj/TU1L/1VUU/9EREL/SklH/zEwLv8pKCf/JiUk/ygnJf8nJiR1JyckACYlJAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB5eHUAlJKQAHx7eYp+fXv/U1NR/zw7
Ov+hoZ//0dDQ/7++vf/Ozs3/pqWk/6yrqv+zsrH/eHd1/3p4d/9gXlz/WllX/1pYVv9YVlX/VlRS/1NR
T/9PTUz/SUhH/0JBQP85OTj/NDQz/zg4N/9GRUT/WFdV/2dlY/9sa2j/a2po/2ppZv9qaGb/cG5s/3p5
d/+HhoT/kI+N/5KRj/+OjYv/iIeF/4OCgP+BgH7/g4KA/4aFg/+JiIX/hYOB/3p5dv9qaWf/Xlxa/1ZV
U/9TUVD/UlFP/1BPTf9KSUf/Pz48/zQyMf8sKyr/Kiko/y4tK/8zMjD/NzY0/zk4Nv86OTf/Ozo3/zs6
OP87Ojf/Ojk3/zo5Nv83NTP/UVBO/2ZlZP9xcXD/Pz48/zU0Mv9GRkT/ZGNi/zIxL/8rKSj/JyYk/ykp
J/8oJyaJLS4qACcmJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAB8e3kAc3FwAX18ep5+fXv/T05N/z8+Pf+vrq7/ysnI/4+Ojf+trKv/goB//2loZv9vbWv/Xlxb/1tZ
V/9bWVf/WFdV/1VTUv9SUE7/TUtK/0VDQ/88Ozv/NjU1/zo5OP9IR0b/W1pY/2loZv9wb23/cG9t/25t
a/9vbmz/dXRx/39+fP+Lioj/lJOQ/5STkP+OjYr/h4aE/4OCgP+Dgn//goF//4GAfv9/fnz/f358/358
ev9+fXr/f357/4KBf/+FhIH/g4J//3h3df9paGb/XFtZ/1RTUP9QT03/T05M/01MSv9IR0X/PTw7/zIx
MP8rKin/Kiko/y0sK/8yMS//NjQy/zg3NP85ODb/Ojg2/zo5Nv85ODb/Pjw6/2xsa/90c3L/Ojk3/zc1
M/84NzX/XVxb/z08Ov8rKin/JyYk/yopJ/8oKCadHyAgAScnJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/fnsAgoF+BIB/fbF+fXv/S0pJ/0ZEQ/+vra3/joyL/3Ny
cP9nZWP/YV9d/11cWv9bWVf/WlhW/1dVVP9TUVD/TkxL/0ZFRP89PDv/ODY2/zs6Ov9LSkj/Xl1b/2xr
af9ycW//c3Jw/3Jxbv9zcnD/e3l3/4WEgv+Qj43/lZOR/5KQjv+Mi4n/iIeF/4WEgv+Eg4H/g4KA/4OB
f/+BgH7/gYB+/4GAfv+Af33/f358/358ev99fHr/e3p4/3p5d/95eHb/enl3/3x7ef9/fnz/f357/3Z1
c/9qaWf/XFtZ/1FQTv9NTEr/S0pI/0pJR/9FREL/Ozo5/zEwLv8qKSj/KSgn/ywrKv8xMC7/NDMx/zY1
M/84NzT/ODc1/z49O/8/Pjz/ODc1/zc2NP9APz3/a2pp/1ZVVP8sKyn/JyYl/ysqKP8qKSiwKiknBCop
KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB7eXgAfn16C4GA
fsF9fHr/RkVE/0hHRf9ubWv/YV9d/19eXP9dW1n/W1lX/1hWVf9UUlH/T01M/0dFRf8+PDz/ODc2/zw7
O/9MS0r/YF9d/29ubP93dXP/dnVz/3Rzcf93dnT/gH58/4qJhv+UkpD/l5WT/5KRjv+Lioj/hoWD/4WD
gf+FhIL/hYSB/4SDgf+Eg4H/g4F//4KBf/+BgH7/gH99/4B/ff9/fnz/fXx6/3x7ef98enj/e3l3/3l4
dv94d3X/d3Z0/3V0cv9zcnD/dXNx/3d2dP97enf/e3p3/3Rzcf9nZmT/WllX/1BPTf9KSUf/SUdF/0dG
Q/9CQD//Ojk3/zAvLf8pKCf/KCcm/ysqKf8vLiz/MzEw/zQzMf81NDL/NzY0/zY1M/8+PTz/Z2dl/1xb
Wv8tLCr/JyYl/ywrKf8sKynALCspCywrKQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAB9fHoAfXx6FoKBfs9+fHr/QkFA/0dFRP9WVVP/W1lY/1lXVv9VU1L/UE5N/0hG
Rf8+PTz/OTg3/z08O/9OTUv/Y2Jg/3Nyb/95eHb/eXh2/3l4dv99fHr/hYOB/46Miv+VlJL/lZSS/5GQ
jv+LiYf/hoWD/4aFg/+FhIL/hYSB/4WEgv+Fg4H/hYSB/4WEgf+Eg4D/goF//4GAfv+Af33/gH98/359
e/99fHr/fXx5/3t6eP96eXf/eXh2/3h3df94d3T/dnVy/3RzcP9zcm//cnBu/3Fwbv9vbmz/b21r/3Bv
bf90cnD/dXRy/3Fwbv9mZWP/WVdV/05NSv9IR0X/RkVC/0RCQP8/Pjz/NjU0/y4tLP8pKCf/KCYl/yop
KP8uLSv/MTAu/zMyMP80MzH/NDMx/zQzMf8uLSz/KCcl/y0sK/8tLCrOKyspFSwrKQAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBgH0AgYB+IYOCf9x8e3n/PTw7/0RE
Qv9QT03/UE5N/0lHRv8/Pj3/OTg3/z49PP9PTk3/ZWRi/3V0cv98e3n/fXx5/317ef+Bf33/iYiG/5KR
j/+Yl5X/lpWT/4+OjP+KiYb/h4WD/4aEgv+GhYL/hYSC/4aFg/+GhIL/hYSC/4aEgv+FhIH/hIOB/4SD
gf+Dgn//gYB9/4B/ff9/fnz/fn17/318ev99fHr/fHt5/3p4dv95d3X/eHd1/3h2dP93dnP/dXRx/3Ny
b/9xcG7/cG9t/29ubP9tbGr/bWxp/2tqaP9paGb/aWhm/2ppZ/9tbGn/b25s/2xraf9jYmD/V1ZU/0xL
Sf9FREL/QkE//0A/Pf89Ozr/NTQy/y0sKv8oJyX/JyYl/ykoJ/8tLCr/MC8t/zEwLv8tLCr/JyYk/y4u
LP8uLizbLi0rIC4tKwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AACDgoAAhIKAK4WDgel5eHb/Nzc2/zo5OP88Ojr/OTg3/z4+Pf9QT07/ZmVk/3d2dP9/fnz/gH58/4B/
ff+Fg4H/jYyK/5WUkv+ZmJX/lpWS/5CPjP+KiYf/h4aD/4aEgv+GhYP/hoWD/4aFg/+HhoP/hoWD/4WE
gv+GhIL/hYSC/4WEgf+Eg4H/g4KA/4OBf/+CgX//gH99/4B/fP9/fnv/fn16/317ef99e3n/e3l3/3h3
df94dnT/d3Z0/3Z0cv91dHH/c3Fv/3Jwbv9wb23/b21r/25ta/9tbGr/bGpo/2ppZ/9paGb/Z2Zk/2Vk
Yv9kY2H/YmFf/2NhX/9lZGL/aWhl/2hnZf9iYV//VlVT/0tKR/9DQkD/Pz48/z08Ov85ODb/MjEw/ysq
Kf8nJiX/JiUk/ygnJf8mJST/IyIh/y4tLP8wLy3pLy4sKy8uLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEg4EAg4KAOYaEgvJ2dXP/MzMy/zk5OP9QT07/aWhm/3p5
d/+CgH7/g4F//4SCgP+JiIb/kY+N/5iWlP+ZmJX/lZOR/46Ni/+JiIb/h4aD/4aFg/+HhoT/h4aE/4aF
g/+GhIL/hYSC/4aFgv+HhoP/h4WD/4aFgv+GhIL/hIOB/4SDgf+EgoD/g4J//4OBf/+CgH7/gH99/399
e/9+fHr/fXx5/3x7eP96eXf/eXh2/3d2dP92dXP/dnRy/3Rzcf90c3H/cnBu/3Bvbf9wbmz/b21r/2xr
af9sa2j/amln/2hnZf9nZmT/ZmRi/2RjYf9jYmD/YWBd/2BeXP9eXVv/XVxa/11cWv9fXlz/YmFf/2Ni
X/9eXVv/VFNR/0lIRf9APz3/PDs4/zo4Nv83NjT/MTAu/ykoJ/8iISH/Hx4d/y4tK/8xMC7yMC8uOTAv
LgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEg4EAg4KATYaF
g/d/fnv/bWxq/3x7eP+EgoD/hYSC/4eFg/+Ni4n/lZOR/5qYlv+Zl5X/k5KP/4yLif+Ih4X/h4aD/4eF
g/+HhoT/h4WD/4eGhP+Ih4T/h4aE/4aEgv+GhIL/hoWC/4aFgv+GhYP/hoWD/4aEgv+FhIH/hIOA/4SD
gP+Dgn//goF//4KAfv+Bf33/f317/358ev99fHn/fHt5/3t6eP96eXb/eHd1/3d2dP91dHL/dHNx/3Ny
cP9zcW//cXBt/29ubP9ubWv/bWxq/2traP9qaWf/aGdl/2dlY/9lZGL/ZGNh/2NiYP9hYF7/X15c/15d
W/9dXFr/XFpY/1pZV/9YV1X/VlVT/1dWU/9ZWFb/XFtZ/11cWv9aWVf/UlBO/0dFQ/8+PTv/OTg2/zY1
M/8zMjD/LSwr/zExL/8yMjD3MjEvSzIxLwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAACGhIIAhYSCYIaFg/yGhYP/h4aE/4uJh/+Qj4z/lpWT/5qYlv+YlpT/kpGO/4yL
if+IhoT/hoWD/4eGg/+HhoP/h4aD/4eFg/+Ih4T/h4aE/4eGhP+HhoT/h4aD/4WEgv+GhYL/hoWD/4aF
g/+GhIL/hYSC/4WEgv+Fg4H/g4KA/4OCf/+CgX//gX99/4B+fP9/fnz/fn17/318ef98e3j/e3p4/3p5
d/95eHX/d3Z0/3Z1cv90c3H/c3Jw/3Jxb/9ycG7/cG9s/25sav9tbGn/a2po/2ppZ/9paGX/Z2Zj/2Vk
Yv9kY2H/Y2Jg/2NiX/9fXlz/Xlxa/11cWf9bWlj/WllX/1hXVf9XVlT/VlVT/1RTUf9TUlD/UlFP/1BP
Tf9SUU//VlVS/1hXVf9WVVP/T05M/0VEQv89PDn/NzYz/zQzMf8zMjH7MzIwXjMyMAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIhoQAhoWDcYmIhv+Rj43/mZeV/5ua
l/+XlpT/kI+N/4qJh/+HhoP/hoWD/4eGhP+HhoT/h4aE/4eGhP+HhoP/h4aE/4eGhP+HhoT/h4aD/4iH
hP+HhoP/hoWD/4aEgv+GhIL/hoWD/4aFg/+GhYL/hYSC/4WDgf+Eg4D/g4KA/4KBfv+BgH7/gH99/39+
fP9+fXv/fHt5/3x6eP96eXf/eXh2/3h3df94d3T/dnVz/3V0cf9zcnD/cnFv/3Fvbf9vbmz/bm1r/2xr
af9ramj/a2ln/2loZv9oZ2T/ZmVi/2NiYP9iYV//YWBe/2BfXf9eXVv/XFtZ/1taWP9aWVf/WVhW/1hX
Vf9WVVL/VFNR/1RTUP9SUU//UE9N/05NS/9NTEr/TEtJ/0tKSP9NTEr/UE5M/1NSUP9TUlD/Tk1K/0JB
P/85ODb/NTQycTY1MwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AACJiIYAiIeFMouJh4qOjYu4jo2K24mIhvKHhYP/h4aD/4eGhP+HhoT/h4aE/4eFg/+HhoP/h4aE/4eG
hP+GhYP/h4aE/4eGhP+HhoT/hoWD/4iGhP+IhoT/h4aE/4aFg/+GhYP/hoWD/4aEgv+FhIL/hIOB/4SD
gP+Dgn//gYB+/4B/ff+Af3z/f358/359e/98e3n/e3p4/3p5d/95eHb/eHd0/3d2dP93dXP/dXRx/3Ny
cP9xcG7/cW9t/3BvbP9ubWv/bWtp/2tqaP9paGb/aWhm/2hmZP9mZWL/ZWNh/2JhX/9hYF7/YF9d/15d
W/9dXFn/W1pY/1pZVv9YV1X/WFdU/1ZVU/9UU1H/UlFP/1JRT/9RUE7/UE9N/05NS/9MS0n/S0pI/0pJ
R/9JSEb/R0VE/0ZFQ/9IRkTySklG2klIRrhEQ0GOOzo4NkA+PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIh4UAh4WDAOnn5wB6eXYJgoF/HoaEgj6FhIJohoSCloaF
g76HhoPgh4aD9IeGg/+HhoP/iIeE/4eGhP+HhYP/iIaE/4iGhP+HhoT/h4aE/4iHhP+IhoT/h4aD/4aF
g/+GhYP/h4WD/4WEgv+Eg4H/g4KA/4OCgP+BgH7/gYB9/4B+fP9+fXv/fXx6/318ev98e3n/enl3/3l4
dv94d3T/d3Z0/3Z1cv91dHH/dHJw/3Fwbv9wb23/b25s/25ta/9tbGr/a2po/2ppZv9oZ2X/Z2Zk/2Zl
Y/9kY2H/YmFf/2FgXv9gX1z/Xl1b/11cWv9bWlj/WllX/1hXVf9XVlT/V1VT/1VUUv9TUlD/UVBO/1FQ
Tv9QT03/Tk1L/0xLSf9MSkj/S0pI9ElIRuBHRkS+RUVDlUZFQ2dEQ0E+QD89Hjs6OAkAAAAALy4sACgn
JQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBgH0AhYOBAIKA
fgCFhIEAhYSBAIaFgwCIh4UA29XOAIOCfw2FhIEihYSCRoaFg2+GhYKehoWDxYeGg+SHhoT3iIeE/4eG
hP+HhoT/iIaE/4iHhP+HhoT/h4aE/4aFgv+FhIL/hYOB/4SDgf+DgoD/g4KA/4KBf/+BgH7/f317/359
e/99fHr/fHt5/3x7eP97enj/enh2/3h3df92dXP/dXRy/3V0cv90c3H/c3Jv/3Fwbf9vbmz/bm1r/21r
af9ramj/amln/2hnZf9nZmT/ZmVi/2NiYP9jYmD/YWBe/19eXP9fXVv/XVxa/1xbWf9aWVf/WFdV/1dW
VP9WVVP/VVRS/1NSUP9SUU//UVBO/1BPTfdOTUvkTkxKxUtKSJ1KSUdvSklGRkhHRSJGRUMNUU9NAEdG
RABFREIAQ0JAAENCQABOTUsA////AN/f3wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/fnwAf358AIOCgACFhIIAhoSCAIqJ
hgB3dnQBgoF/D4OCgCiFhIJNiIeEeIaFg6SHhoTNh4aE6IeGg/uIhoT/h4WD/4WEgv+FhIL/hIKA/4OC
gP+CgX//goF//4GAfv+Af33/fn17/358ev98e3n/fHt4/3p5d/96eXf/eHd1/3Z1c/91dHL/dXNx/3Ry
cP9ycW//cXBu/29ubP9ubWv/bWtp/2tqaP9qaWf/aWhm/2hmZP9lZGL/ZGNh/2JhX/9iYV7/YV9d/15d
W/9dXFn/XFtZ/1taV/9ZWFX/V1ZU/1ZUUv9UU1H7VFNR6FJST8xRUE6kUVBNeE5NS0xNTEooTEtJDz8+
PQFLSkgASklHAElHRQBHRUMARENBAEVEQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAACAfnwAgoGAAIB/fQCDgoAAg4F/AIOCgQCGhYMAi4qHAIB+fASEg4ESg4KAL4WE
glOFhIKBhIOBrIWDgdOEg4Htg4KA/YKBf/+CgX//gYB+/4B/ff9+fXv/fXx6/317ef98e3n/e3p3/3p4
dv95eHX/d3Z0/3V0cv90c3H/c3Jw/3Jwbv9xb23/b25s/21sav9tbGr/bGto/2tpZ/9paGb/Z2Zk/2Zk
Yv9kY2H/YmFf/2JgXv9hX13/X15b/11cWv9cWlj/W1pX/FpZV+xYVlTTVlVSrFVUUoFTUlBTUlFPL1FQ
ThJOTUoEUVBOAE5NSwBOTUoATEtIAElIRgBJSEYATUtJAEdGRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAB+fXwAfn17AIOCgACEg4EAg4KAAIaFgwCKiYYAfX16BoOCgBeBgH41gYB+XYF/fYmAf322f3582H9+
fPJ+fXv+fHt5/3x6eP97eXf/eXh2/3l4df93dnT/dXRy/3Rzcf9zcnD/cnBu/3Fwbf9vbmz/bWxq/2xr
af9samj/amln/2poZv9oZmT/ZmRi/2NiYP9jYV//YWBe/2BfXf5fXlzyXFtZ2FxbWbVaWVeJWlhWXFlY
VTVVVFIXUlFPBlZVUwBUU1EAUlFPAFFQTgBPTkwAT05LAFBPTQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH18egAgDx0AgH99AIOC
gACCgX8AgoF+AJCOjQB5eHYHe3t4HX59ezt8e3hoe3l3knl4dsB5eHbfeHd193d2dP92dXP/dHJw/3Ny
cP9ycW7/cW9t/29ubP9vbmz/bWxq/2tqaP9qaWf/aWdl/2hmZP9mZGL/ZGNh92JhX99hYF7AYF9dkl9e
XGdeXVs7W1pYHVpZVgdmZGEAW1lXAFlYVgBWVVMAU1JQAF9eSwBVVFEAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9fHkAfXx5AH9+fAB6eXcAe3p4AH9+fAB+fHoAAAAAAHV0
cgt3dnMjdXRyRXVzcXJ1c3GecnFvyXFwbuZwb236b25s/25ta/9ta2n/a2po/2ppZ/poZmTmZ2VjyWVk
Yp5kYmByY2JfRWFgXSNfXlwLAAAAAF9eXABeXVsAW1pYAFlXVQBXV1UAUlFPAFVUUgAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAHZ1cgB5eHoAdnVzAHd1dAB3dnMAdnVzAHd2dABXVVcBcG5sEnBubClwb2xTbm1rfWxr
aa1qaWetaWhmfWhnZVNlZGIpY2JgElFPTgFmZGIAY2JgAGFgXgBgX1wAXFtZAGBfXQBcW1kAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1s
awBtbGsAcG5tAHBvbQBwb2wAc3JvAGdmZQNkY2EDcXBuAGloZgBmZWMAZGJgAGFgXgBhYF4AAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGloZgBzcG4AbGpoAGtqaABpZ2YAZmRiAGxt
aQBiYF8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
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
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////////
/////////+AH/////////////8AD/////////////wAA/////////////AAAP///////////+AAAH///
////////4AAAB///////////gAAAAf//////////AAAAAP/////////8AAAAAD/////////wAAAAAA//
///////gAAAAAAf///////+AAAAAAAH///////8AAAAAAAD///////wAAAAAAAA///////gAAAAAAAAf
/////+AAAAAAAAAH/////8AAAAAAAAAD/////wAAAAAAAAAA/////AAAAAAAAAAAH///+AAAAAAAAAAA
B///4AAAAAAAAAAAAf//gAAAAAAAAAAAAH//AAAAAAAAAAAAAB/8AAAAAAAAAAAAAAfwAAAAAAAAAAAA
AAHwAAAAAAAAAAAAAADgAAAAAAAAAAAAAADgAAAAAAAAAAAAAADgAAAAAAAAAAAAAADgAAAAAAAAAAAA
AADgAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/gAAAAAAAAAAAAAD/gAAAAAAAAAAAAAD/gAAAAAAAAAAA
AAD/gAAAAAAAAAAAAAD/gAAAAAAAAAAAAAD/gAAAAAAAAAAAAAf/gAAAAAAAAAAAAB//gAAAAAAAAAAA
AH//gAAAAAAAAAAAAf//AAAAAAAAAAAAAP//AAAAAAAAAAAAAP//AAAAAAAAAAAAAP//AAAAAAAAAAAA
AP//AAAAAAAAAAAAAP//AAAAAAAAAAAAAP//AAAAAAAAAAAAAP//AAAAAAAAAAAAAP//AAAAAAAAAAAA
AP//AAAAAAAAAAAAAP//AAAAAAAAAAAAAP//AAAAAAAAAAAAAP/+AAAAAAAAAAAAAH/+AAAAAAAAAAAA
AH/+AAAAAAAAAAAAAH/+AAAAAAAAAAAAAH/+AAAAAAAAAAAAAH/+AAAAAAAAAAAAAH/+AAAAAAAAAAAA
AH/+AAAAAAAAAAAAAH/+AAAAAAAAAAAAAH/8AAAAAAAAAAAAAD/8AAAAAAAAAAAAAD/8AAAAAAAAAAAA
AD/8AAAAAAAAAAAAAD/8AAAAAAAAAAAAAD/8AAAAAAAAAAAAAD/8AAAAAAAAAAAAAD/8AAAAAAAAAAAA
AD/8AAAAAAAAAAAAAD/8AAAAAAAAAAAAAD/8AAAAAAAAAAAAAD/8AAAAAAAAAAAAAD/8AAAAAAAAAAAA
AD/8AAAAAAAAAAAAAD/8AAAAAAAAAAAAAD/8AAAAAAAAAAAAAD/8AAAAAAAAAAAAAD//8AAAAAAAAAAA
D////gAAAAAAAAAAf/////gAAAAAAAAf///////AAAAAAAP////////8AAAAAD//////////4AAAB///
/////////4AB//////////////AP////////////////////////////////////////////////////
//////////////////////////////////////////////////8=
</value>
</data>
</root>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{D395B57C-8A8F-47EE-8DC6-0D83158EC3C6}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>HcgClientExport</RootNamespace>
<AssemblyName>HcgClientExport</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
<TargetFrameworkProfile>Client</TargetFrameworkProfile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>stock_market_96px_1082607_easyicon.net.ico</ApplicationIcon>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<OutputPath>bin\x86\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
<HintPath>..\packages\SharpZipLib.0.86.0\lib\20\ICSharpCode.SharpZipLib.dll</HintPath>
</Reference>
<Reference Include="MySql.Data, Version=8.0.17.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Debug\MySql.Data.dll</HintPath>
</Reference>
<Reference Include="NPOI, Version=2.4.0.0, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
<HintPath>..\packages\NPOI.2.4.0\lib\net40\NPOI.dll</HintPath>
</Reference>
<Reference Include="NPOI.OOXML, Version=2.4.0.0, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
<HintPath>..\packages\NPOI.2.4.0\lib\net40\NPOI.OOXML.dll</HintPath>
</Reference>
<Reference Include="NPOI.OpenXml4Net, Version=2.4.0.0, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
<HintPath>..\packages\NPOI.2.4.0\lib\net40\NPOI.OpenXml4Net.dll</HintPath>
</Reference>
<Reference Include="NPOI.OpenXmlFormats, Version=2.4.0.0, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
<HintPath>..\packages\NPOI.2.4.0\lib\net40\NPOI.OpenXmlFormats.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="DataControl.cs" />
<Compile Include="En.cs" />
<Compile Include="ExportHelper.cs" />
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="his_goods_buound.cs" />
<Compile Include="login.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="login.Designer.cs">
<DependentUpon>login.cs</DependentUpon>
</Compile>
<Compile Include="MySqlHelper.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="RestClient.cs" />
<Compile Include="WinApi.cs" />
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="login.resx">
<DependentUpon>login.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config">
<SubType>Designer</SubType>
</None>
</ItemGroup>
<ItemGroup>
<Content Include="stock_market_96px_1082607_easyicon.net.ico" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
\ No newline at end of file
using MySql.Data.MySqlClient;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Text;
namespace HcgClientExport
{
public abstract class MySQLHelper
{
//数据库连接字符串(注意:这里的“DBConnectionString”一定要与web.config文件中connectionStrings节点值一致)
public static string connectionString = ConfigurationManager.AppSettings["connstr"];
// 用于缓存参数的HASH表
private static Hashtable parmCache = Hashtable.Synchronized(new Hashtable());
/// <summary>
/// 给定连接的数据库用假设参数执行一个sql命令(不返回数据集)
/// </summary>
/// <param name="cmdType">命令类型(存储过程, 文本, 等等)</param>
/// <param name="cmdText">存储过程名称或者sql命令语句</param>
/// <param name="commandParameters">执行命令所用参数的集合</param>
/// <returns>执行命令所影响的行数</returns>
public static int ExecuteNonQuery(string cmdText, CommandType cmdType = CommandType.Text, params MySqlParameter[] commandParameters)
{
MySqlCommand cmd = new MySqlCommand();
using (MySqlConnection conn = new MySqlConnection(connectionString))
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
int val = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
return val;
}
}
/// <summary>
/// 用执行的数据库连接执行一个返回数据集的sql命令
/// </summary>
/// <remarks>
/// 举例:
/// MySqlDataReader r = ExecuteReader(connString, CommandType.StoredProcedure, "PublishOrders", new MySqlParameter("@prodid", 24));
/// </remarks>
/// <param name="cmdType">命令类型(存储过程, 文本, 等等)</param>
/// <param name="cmdText">存储过程名称或者sql命令语句</param>
/// <param name="commandParameters">执行命令所用参数的集合</param>
/// <returns>包含结果的读取器</returns>
public static MySqlDataReader ExecuteReader(string cmdText, CommandType cmdType = CommandType.Text, params MySqlParameter[] commandParameters)
{
//创建一个MySqlCommand对象
MySqlCommand cmd = new MySqlCommand();
//创建一个MySqlConnection对象
MySqlConnection conn = new MySqlConnection(connectionString);
//在这里我们用一个try/catch结构执行sql文本命令/存储过程,因为如果这个方法产生一个异常我们要关闭连接,因为没有读取器存在,
//因此commandBehaviour.CloseConnection 就不会执行
try
{
//调用 PrepareCommand 方法,对 MySqlCommand 对象设置参数
PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
//调用 MySqlCommand 的 ExecuteReader 方法
MySqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
//清除参数
cmd.Parameters.Clear();
return reader;
}
catch
{
//关闭连接,抛出异常
conn.Close();
throw;
}
}
/// <summary>
/// 返回DataSet
/// </summary>
/// <param name="cmdType">命令类型(存储过程, 文本, 等等)</param>
/// <param name="cmdText">存储过程名称或者sql命令语句</param>
/// <param name="commandParameters">执行命令所用参数的集合</param>
/// <returns></returns>
public static DataSet GetDataSet(string cmdText, CommandType cmdType = CommandType.Text, params MySqlParameter[] commandParameters)
{
//创建一个MySqlCommand对象
MySqlCommand cmd = new MySqlCommand();
//创建一个MySqlConnection对象
MySqlConnection conn = new MySqlConnection(connectionString);
//在这里我们用一个try/catch结构执行sql文本命令/存储过程,因为如果这个方法产生一个异常我们要关闭连接,因为没有读取器存在,
try
{
//调用 PrepareCommand 方法,对 MySqlCommand 对象设置参数
PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
//调用 MySqlCommand 的 ExecuteReader 方法
MySqlDataAdapter adapter = new MySqlDataAdapter();
adapter.SelectCommand = cmd;
DataSet ds = new DataSet();
adapter.Fill(ds);
//清除参数
cmd.Parameters.Clear();
conn.Close();
return ds;
}
catch (Exception e)
{
throw e;
}
}
/// <summary>
/// 用指定的数据库连接字符串执行一个命令并返回一个数据集的第一列
/// </summary>
/// <remarks>
///例如:
/// Object obj = ExecuteScalar(connString, CommandType.StoredProcedure, "PublishOrders", new MySqlParameter("@prodid", 24));
/// </remarks>
/// <param name="cmdType">命令类型(存储过程, 文本, 等等)</param>
/// <param name="cmdText">存储过程名称或者sql命令语句</param>
/// <param name="commandParameters">执行命令所用参数的集合</param>
/// <returns>用 Convert.To{Type}把类型转换为想要的 </returns>
public static object ExecuteScalar(string cmdText, CommandType cmdType = CommandType.Text, params MySqlParameter[] commandParameters)
{
MySqlCommand cmd = new MySqlCommand();
using (MySqlConnection connection = new MySqlConnection(connectionString))
{
PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);
object val = cmd.ExecuteScalar();
cmd.Parameters.Clear();
return val;
}
}
/// <summary>
/// 将参数集合添加到缓存
/// </summary>
/// <param name="cacheKey">添加到缓存的变量</param>
/// <param name="commandParameters">一个将要添加到缓存的sql参数集合</param>
public static void CacheParameters(string cacheKey, params MySqlParameter[] commandParameters)
{
parmCache[cacheKey] = commandParameters;
}
/// <summary>
/// 找回缓存参数集合
/// </summary>
/// <param name="cacheKey">用于找回参数的关键字</param>
/// <returns>缓存的参数集合</returns>
public static MySqlParameter[] GetCachedParameters(string cacheKey)
{
MySqlParameter[] cachedParms = (MySqlParameter[])parmCache[cacheKey];
if (cachedParms == null)
return null;
MySqlParameter[] clonedParms = new MySqlParameter[cachedParms.Length];
for (int i = 0, j = cachedParms.Length; i < j; i++)
clonedParms[i] = (MySqlParameter)((ICloneable)cachedParms[i]).Clone();
return clonedParms;
}
/// <summary>
/// 准备执行一个命令
/// </summary>
/// <param name="cmd">sql命令</param>
/// <param name="conn">OleDb连接</param>
/// <param name="trans">OleDb事务</param>
/// <param name="cmdType">命令类型例如 存储过程或者文本</param>
/// <param name="cmdText">命令文本,例如:Select * from Products</param>
/// <param name="cmdParms">执行命令的参数</param>
private static void PrepareCommand(MySqlCommand cmd, MySqlConnection conn, MySqlTransaction trans, CommandType cmdType, string cmdText, MySqlParameter[] cmdParms)
{
if (conn.State != ConnectionState.Open)
conn.Open();
cmd.Connection = conn;
cmd.CommandText = cmdText;
if (trans != null)
cmd.Transaction = trans;
cmd.CommandType = cmdType;
if (cmdParms != null)
{
foreach (MySqlParameter parameter in cmdParms)
{
if ((parameter.Direction == ParameterDirection.InputOutput || parameter.Direction == ParameterDirection.Input) &&
(parameter.Value == null))
{
parameter.Value = DBNull.Value;
}
cmd.Parameters.Add(parameter);
}
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace HcgClientExport
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new login());
}
}
}
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的一般信息由以下
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("HcgClientExport")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("HcgClientExport")]
[assembly: AssemblyCopyright("Copyright © 2019")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 会使此程序集中的类型
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
//请将此类型的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("d395b57c-8a8f-47ee-8dc6-0d83158ec3c6")]
// 程序集的版本信息由下列四个值组成:
//
// 主版本
// 次版本
// 生成号
// 修订号
//
// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号
// 方法是按如下所示使用“*”: :
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace HcgClientExport.Properties {
using System;
/// <summary>
/// 一个强类型的资源类,用于查找本地化的字符串等。
/// </summary>
// 此类是由 StronglyTypedResourceBuilder
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// 返回此类使用的缓存的 ResourceManager 实例。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("HcgClientExport.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// 使用此强类型资源类,为所有资源查找
/// 重写当前线程的 CurrentUICulture 属性。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace HcgClientExport.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
}
}
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>
using System;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Text;
using System.Web;
namespace HcgClientExport
{
class RestClient
{
private string BaseUri;
public RestClient(string baseUri)
{
this.BaseUri = baseUri;
}
#region Get请求
public string Get(string uri)
{
//先根据用户请求的uri构造请求地址
string serviceUrl = string.Format("{0}/{1}", this.BaseUri, uri);
//创建Web访问对 象
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(serviceUrl);
//通过Web访问对象获取响应内容
HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
//通过响应内容流创建StreamReader对象,因为StreamReader更高级更快
StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
//string returnXml = HttpUtility.UrlDecode(reader.ReadToEnd());//如果有编码问题就用这个方法
string returnXml = reader.ReadToEnd();//利用StreamReader就可以从响应内容从头读到尾
reader.Close();
myResponse.Close();
return returnXml;
}
#endregion
#region Post请求
public string Post(string data, string uri)
{
//先根据用户请求的uri构造请求地址
string serviceUrl = string.Format("{0}/{1}", this.BaseUri, uri);
//创建Web访问对象
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(serviceUrl);
//把用户传过来的数据转成“UTF-8”的字节流
byte[] buf = System.Text.Encoding.GetEncoding("UTF-8").GetBytes(data);
myRequest.Method = "POST";
myRequest.ContentLength = buf.Length;
myRequest.ContentType = "application/json";
myRequest.MaximumAutomaticRedirections = 1;
myRequest.AllowAutoRedirect = true;
//发送请求
Stream stream = myRequest.GetRequestStream();
stream.Write(buf, 0, buf.Length);
stream.Close();
//获取接口返回值
//通过Web访问对象获取响应内容
HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
//通过响应内容流创建StreamReader对象,因为StreamReader更高级更快
StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
//string returnXml = HttpUtility.UrlDecode(reader.ReadToEnd());//如果有编码问题就用这个方法
string returnXml = reader.ReadToEnd();//利用StreamReader就可以从响应内容从头读到尾
reader.Close();
myResponse.Close();
return returnXml;
}
#endregion
#region Put请求
public string Put(string data, string uri)
{
//先根据用户请求的uri构造请求地址
string serviceUrl = string.Format("{0}/{1}", this.BaseUri, uri);
//创建Web访问对象
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(serviceUrl);
//把用户传过来的数据转成“UTF-8”的字节流
byte[] buf = System.Text.Encoding.GetEncoding("UTF-8").GetBytes(data);
myRequest.Method = "PUT";
myRequest.ContentLength = buf.Length;
myRequest.ContentType = "application/json";
myRequest.MaximumAutomaticRedirections = 1;
myRequest.AllowAutoRedirect = true;
//发送请求
Stream stream = myRequest.GetRequestStream();
stream.Write(buf, 0, buf.Length);
stream.Close();
//获取接口返回值
//通过Web访问对象获取响应内容
HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
//通过响应内容流创建StreamReader对象,因为StreamReader更高级更快
StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
//string returnXml = HttpUtility.UrlDecode(reader.ReadToEnd());//如果有编码问题就用这个方法
string returnXml = reader.ReadToEnd();//利用StreamReader就可以从响应内容从头读到尾
reader.Close();
myResponse.Close();
return returnXml;
}
#endregion
#region Delete请求
public string Delete(string data, string uri)
{
//先根据用户请求的uri构造请求地址
string serviceUrl = string.Format("{0}/{1}", this.BaseUri, uri);
//创建Web访问对象
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(serviceUrl);
//把用户传过来的数据转成“UTF-8”的字节流
byte[] buf = System.Text.Encoding.GetEncoding("UTF-8").GetBytes(data);
myRequest.Method = "DELETE";
myRequest.ContentLength = buf.Length;
myRequest.ContentType = "application/json";
myRequest.MaximumAutomaticRedirections = 1;
myRequest.AllowAutoRedirect = true;
//发送请求
Stream stream = myRequest.GetRequestStream();
stream.Write(buf, 0, buf.Length);
stream.Close();
//获取接口返回值
//通过Web访问对象获取响应内容
HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
//通过响应内容流创建StreamReader对象,因为StreamReader更高级更快
StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
//string returnXml = HttpUtility.UrlDecode(reader.ReadToEnd());//如果有编码问题就用这个方法
string returnXml = reader.ReadToEnd();//利用StreamReader就可以从响应内容从头读到尾
reader.Close();
myResponse.Close();
return returnXml;
}
#endregion
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
namespace HcgClientExport
{
public static class WinAPI
{
[DllImport("kernel32")] // 写入配置文件的接口
private static extern long WritePrivateProfileString(
string section, string key, string val, string filePath);
[DllImport("kernel32")] // 读取配置文件的接口
private static extern int GetPrivateProfileString(
string section, string key, string def,
StringBuilder retVal, int size, string filePath);
// 向配置文件写入值
public static void ProfileWriteValue(
string section, string key, string value, string path)
{
WritePrivateProfileString(section, key, value, path);
}
// 读取配置文件的值
public static string ProfileReadValue(
string section, string key, string path)
{
StringBuilder sb = new StringBuilder(255);
GetPrivateProfileString(section, key, "", sb, 255, path);
return sb.ToString().Trim();
}
}
}
No preview for this file type
No preview for this file type
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/></startup>
<appSettings>
<add key="orgguid" value="DSA手术室~ZNG007"/>
<add key="AppPassword" value="cszng@123"/>
<add key="SysName" value="链享科技耗材柜科室商品查询"/>
<add key="connstr" value="server=127.0.0.1;user id=root;password=xueying;database=hcgnew_sg;Allow User Variables=True;charset=utf8;"/>
<add key="ZNG007" value="server=127.0.0.1;user id=root;password=xueying;database=hcgnew_sg;Allow User Variables=True;charset=utf8;"/>
<add key="url" value="http://localhost:9538/"/>
<add key="xh" value="hcg/yxsap/GetSapConsumption"/>
<add key="bs" value="hcg/yxsap/GetSappd"/>
</appSettings>
</configuration>
No preview for this file type
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/></startup>
<appSettings>
<add key="orgguid" value="DSA手术室~ZNG007"/>
<add key="AppPassword" value="cszng@123"/>
<add key="SysName" value="链享科技耗材柜科室商品查询"/>
<add key="connstr" value="server=127.0.0.1;user id=root;password=xueying;database=hcgnew_sg;Allow User Variables=True;charset=utf8;"/>
<add key="ZNG007" value="server=127.0.0.1;user id=root;password=xueying;database=hcgnew_sg;Allow User Variables=True;charset=utf8;"/>
<add key="url" value="http://localhost:9538/"/>
<add key="xh" value="hcg/yxsap/GetSapConsumption"/>
<add key="bs" value="hcg/yxsap/GetSappd"/>
</appSettings>
</configuration>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/></startup>
<appSettings>
<add key="orgguid" value="消融手术室~ZNG007,DSA手术室~x02,ICU~x03,ICU门诊手术室~x04"/>
<add key="AppPassword" value="cszng@123"/>
<add key="SysName" value="复旦大学附属肿瘤医院科室商品查询"/>
<add key="connstr" value="server=127.0.0.1;user id=root;password=xueying;database=hcgnew_sg;Allow User Variables=True;"/>
<add key="ZNG007" value="server=127.0.0.1;user id=root;password=xueying;database=hcgnew_sg;Allow User Variables=True;"/>
<add key="x02" value="server=127.0.0.1;user id=root;password=xueying;database=hcg1;Allow User Variables=True;"/>
<add key="x03" value="server=127.0.0.1;user id=root;password=xueying;database=hcg2;Allow User Variables=True;"/>
<add key="x04" value="server=127.0.0.1;user id=root;password=xueying;database=hcg3;Allow User Variables=True;"/>
</appSettings>
</configuration>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/></startup>
<appSettings>
<add key="orgguid" value="消融手术室~ZNG007,DSA手术室~x02,ICU~x03,ICU门诊手术室~x04"/>
<add key="AppPassword" value="cszng@123"/>
<add key="SysName" value="复旦大学附属肿瘤医院科室商品查询"/>
<add key="connstr" value="server=127.0.0.1;user id=root;password=xueying;database=hcgnew_sg;Allow User Variables=True;"/>
<add key="ZNG007" value="server=127.0.0.1;user id=root;password=xueying;database=hcgnew_sg;Allow User Variables=True;"/>
<add key="x02" value="server=127.0.0.1;user id=root;password=xueying;database=hcg1;Allow User Variables=True;"/>
<add key="x03" value="server=127.0.0.1;user id=root;password=xueying;database=hcg2;Allow User Variables=True;"/>
<add key="x04" value="server=127.0.0.1;user id=root;password=xueying;database=hcg3;Allow User Variables=True;"/>
</appSettings>
</configuration>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
No preview for this file type
This diff could not be displayed because it is too large.
No preview for this file type
No preview for this file type
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/></startup>
<appSettings>
<add key="orgguid" value="消融手术室~x01,DSA手术室~x02,ICU~x03,ICU门诊手术室~x04"/>
<add key="AppPassword" value="cszng@123"/>
<add key="SysName" value="复旦大学附属肿瘤医院科室商品查询"/>
<add key="connstr" value="server=127.0.0.1;user id=root;password=xueying;database=hcg;Allow User Variables=True;"/>
<add key="x01" value="server=127.0.0.1;user id=root;password=xueying;database=hcg;Allow User Variables=True;"/>
<add key="x02" value="server=127.0.0.1;user id=root;password=xueying;database=hcg1;Allow User Variables=True;"/>
<add key="x03" value="server=127.0.0.1;user id=root;password=xueying;database=hcg2;Allow User Variables=True;"/>
<add key="x04" value="server=127.0.0.1;user id=root;password=xueying;database=hcg3;Allow User Variables=True;"/>
</appSettings>
</configuration>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/></startup>
<appSettings>
<add key="orgguid" value="消融手术室~x01,DSA手术室~x02,ICU~x03,ICU门诊手术室~x04"/>
<add key="AppPassword" value="cszng@123"/>
<add key="SysName" value="复旦大学附属肿瘤医院科室商品查询"/>
<add key="connstr" value="server=127.0.0.1;user id=root;password=xueying;database=hcg;Allow User Variables=True;"/>
<add key="x01" value="server=127.0.0.1;user id=root;password=xueying;database=hcg;Allow User Variables=True;"/>
<add key="x02" value="server=127.0.0.1;user id=root;password=xueying;database=hcg1;Allow User Variables=True;"/>
<add key="x03" value="server=127.0.0.1;user id=root;password=xueying;database=hcg2;Allow User Variables=True;"/>
<add key="x04" value="server=127.0.0.1;user id=root;password=xueying;database=hcg3;Allow User Variables=True;"/>
</appSettings>
</configuration>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
No preview for this file type
This diff could not be displayed because it is too large.
No preview for this file type
No preview for this file type
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/></startup>
<appSettings>
<add key="orgguid" value="消融手术室~x01,DSA手术室~x02,ICU~x03,ICU门诊手术室~x04"/>
<add key="AppPassword" value="cszng@123"/>
<add key="SysName" value="复旦大学附属肿瘤医院科室商品查询"/>
<add key="connstr" value="server=127.0.0.1;user id=root;password=xueying;database=hcg;Allow User Variables=True;"/>
<add key="x01" value="server=127.0.0.1;user id=root;password=xueying;database=hcg;Allow User Variables=True;"/>
<add key="x02" value="server=127.0.0.1;user id=root;password=xueying;database=hcg1;Allow User Variables=True;"/>
<add key="x03" value="server=127.0.0.1;user id=root;password=xueying;database=hcg2;Allow User Variables=True;"/>
<add key="x04" value="server=127.0.0.1;user id=root;password=xueying;database=hcg3;Allow User Variables=True;"/>
</appSettings>
</configuration>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/></startup>
<appSettings>
<add key="orgguid" value="消融手术室~x01,DSA手术室~x02,ICU~x03,ICU门诊手术室~x04"/>
<add key="AppPassword" value="cszng@123"/>
<add key="SysName" value="复旦大学附属肿瘤医院科室商品查询"/>
<add key="connstr" value="server=127.0.0.1;user id=root;password=xueying;database=hcg;Allow User Variables=True;"/>
<add key="x01" value="server=127.0.0.1;user id=root;password=xueying;database=hcg;Allow User Variables=True;"/>
<add key="x02" value="server=127.0.0.1;user id=root;password=xueying;database=hcg1;Allow User Variables=True;"/>
<add key="x03" value="server=127.0.0.1;user id=root;password=xueying;database=hcg2;Allow User Variables=True;"/>
<add key="x04" value="server=127.0.0.1;user id=root;password=xueying;database=hcg3;Allow User Variables=True;"/>
</appSettings>
</configuration>
No preview for this file type
This diff could not be displayed because it is too large.
No preview for this file type
No preview for this file type
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace HcgClientExport
{
public class his_goods_buound
{
/// <summary>
/// 商品名称
/// </summary>
public string goodsname { get; set; }
/// <summary>
/// 商品表guid
/// </summary>
public string HisGoodsGUID { get; set; }
/// <summary>
/// 商品编码
/// </summary>
public string GoodsCode { get; set; }
/// <summary>
/// 库存上限
/// </summary>
public string StockUpperLimit { get; set; }
/// <summary>
///
/// 库存下限
/// </summary>
public string StockLowerLimit { get; set; }
/// <summary>
/// 科室编码
/// </summary>
public string orgGUID { get; set; }
}
}
namespace HcgClientExport
{
partial class login
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.label1 = new System.Windows.Forms.Label();
this.textBox1 = new System.Windows.Forms.TextBox();
this.textBox2 = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(47, 50);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(60, 15);
this.label1.TabIndex = 0;
this.label1.Text = "用户名:";
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(113, 47);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(160, 25);
this.textBox1.TabIndex = 1;
this.textBox1.Click += new System.EventHandler(this.textBox1_Click);
//
// textBox2
//
this.textBox2.Location = new System.Drawing.Point(113, 99);
this.textBox2.Name = "textBox2";
this.textBox2.PasswordChar = '*';
this.textBox2.Size = new System.Drawing.Size(160, 25);
this.textBox2.TabIndex = 3;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(47, 102);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(60, 15);
this.label2.TabIndex = 2;
this.label2.Text = "密 码:";
//
// button1
//
this.button1.Location = new System.Drawing.Point(50, 148);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 4;
this.button1.Text = "登陆";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// button2
//
this.button2.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.button2.Location = new System.Drawing.Point(198, 148);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(75, 23);
this.button2.TabIndex = 5;
this.button2.Text = "取消";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// login
//
this.AcceptButton = this.button1;
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.button2;
this.ClientSize = new System.Drawing.Size(322, 183);
this.Controls.Add(this.button2);
this.Controls.Add(this.button1);
this.Controls.Add(this.textBox2);
this.Controls.Add(this.label2);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.label1);
this.MaximizeBox = false;
this.Name = "login";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "登陆";
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button2;
}
}
\ No newline at end of file
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace HcgClientExport
{
public partial class login : Form
{
public login()
{
InitializeComponent();
this.textBox1.GotFocus += new EventHandler(textBox1_GotFocus);
this.textBox2.GotFocus += new EventHandler(textBox2_GotFocus);
textBox1.MouseUp += new MouseEventHandler(textBox1_MouseUp);
textBox2.MouseUp += new MouseEventHandler(textBox2_MouseUp);
this.FormBorderStyle = FormBorderStyle.FixedSingle;
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
this.Icon=((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
}
// private string titie = "xhcx";
private void button1_Click(object sender, EventArgs e)
{
Form1 f = new Form1();
string ss = new DataControl().GetLogin(this.textBox1.Text, En.GenerateMD5(this.textBox2.Text),f );
if (ss.Equals("1"))
{
this.Hide();
f.uid = this.textBox1.Text;
f.ShowDialog();
Application.Exit();
}
else if (ss.Equals("-1"))
{
MessageBox.Show("登陆失败");
}
else
{
MessageBox.Show(ss);
}
}
private void button2_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void textBox1_Click(object sender, EventArgs e)
{
// this.textBox1.
}
void textBox1_MouseUp(object sender, MouseEventArgs e)
{
//如果鼠标左键操作并且标记存在,则执行全选
if (e.Button == MouseButtons.Left && (bool)textBox1.Tag == true)
{
textBox1.SelectAll();
}
//取消全选标记
textBox1.Tag = false;
}
void textBox2_MouseUp(object sender, MouseEventArgs e)
{
//如果鼠标左键操作并且标记存在,则执行全选
if (e.Button == MouseButtons.Left && (bool)textBox2.Tag == true)
{
textBox2.SelectAll();
}
//取消全选标记
textBox2.Tag = false;
}
void textBox2_GotFocus(object sender, EventArgs e)
{
textBox2.Tag = true; //设置标记
textBox2.SelectAll(); //注意1
}
void textBox1_GotFocus(object sender, EventArgs e)
{
textBox1.Tag = true; //设置标记
textBox1.SelectAll(); //注意1
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\Debug\HcgClientExport.exe.config
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\obj\Debug\HcgClientExport.Form1.resources
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\obj\Debug\HcgClientExport.Properties.Resources.resources
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\obj\Debug\HcgClientExport.csproj.GenerateResource.Cache
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\Debug\HcgClientExport.exe
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\Debug\HcgClientExport.pdb
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\Debug\ICSharpCode.SharpZipLib.dll
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\Debug\NPOI.dll
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\Debug\NPOI.OOXML.dll
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\Debug\NPOI.OpenXml4Net.dll
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\Debug\NPOI.OpenXmlFormats.dll
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\obj\Debug\HcgClientExport.exe
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\obj\Debug\HcgClientExport.pdb
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\obj\Debug\HcgClientExport.csprojResolveAssemblyReference.cache
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\obj\Debug\HcgClientExport.login.resources
No preview for this file type
No preview for this file type
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\Release\HcgClientExport.exe.config
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\Release\HcgClientExport.exe
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\Release\HcgClientExport.pdb
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\Release\ICSharpCode.SharpZipLib.dll
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\Release\MySql.Data.dll
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\Release\NPOI.dll
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\Release\NPOI.OOXML.dll
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\Release\NPOI.OpenXml4Net.dll
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\Release\NPOI.OpenXmlFormats.dll
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\Release\MySql.Data.xml
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\obj\Release\HcgClientExport.Form1.resources
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\obj\Release\HcgClientExport.Properties.Resources.resources
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\obj\Release\HcgClientExport.csproj.GenerateResource.Cache
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\obj\Release\HcgClientExport.exe
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\obj\Release\HcgClientExport.pdb
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\obj\Release\HcgClientExport.csprojResolveAssemblyReference.cache
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\x86\Debug\HcgClientExport.exe.config
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\x86\Debug\HcgClientExport.exe
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\x86\Debug\HcgClientExport.pdb
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\x86\Debug\ICSharpCode.SharpZipLib.dll
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\x86\Debug\MySql.Data.dll
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\x86\Debug\NPOI.dll
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\x86\Debug\NPOI.OOXML.dll
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\x86\Debug\NPOI.OpenXml4Net.dll
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\x86\Debug\NPOI.OpenXmlFormats.dll
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\x86\Debug\MySql.Data.xml
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\obj\x86\Debug\HcgClientExport.csprojResolveAssemblyReference.cache
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\obj\x86\Debug\HcgClientExport.Form1.resources
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\obj\x86\Debug\HcgClientExport.Properties.Resources.resources
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\obj\x86\Debug\HcgClientExport.csproj.GenerateResource.Cache
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\obj\x86\Debug\HcgClientExport.exe
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\obj\x86\Debug\HcgClientExport.pdb
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\x86\Release\HcgClientExport.exe.config
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\x86\Release\HcgClientExport.exe
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\x86\Release\HcgClientExport.pdb
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\x86\Release\ICSharpCode.SharpZipLib.dll
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\x86\Release\MySql.Data.dll
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\x86\Release\NPOI.dll
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\x86\Release\NPOI.OOXML.dll
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\x86\Release\NPOI.OpenXml4Net.dll
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\x86\Release\NPOI.OpenXmlFormats.dll
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\bin\x86\Release\MySql.Data.xml
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\obj\x86\Release\HcgClientExport.csprojResolveAssemblyReference.cache
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\obj\x86\Release\HcgClientExport.Form1.resources
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\obj\x86\Release\HcgClientExport.Properties.Resources.resources
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\obj\x86\Release\HcgClientExport.csproj.GenerateResource.Cache
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\obj\x86\Release\HcgClientExport.exe
D:\java\ConsumableCabinet\库存导出小程序\HcgClientExport\HcgClientExport\obj\x86\Release\HcgClientExport.pdb
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="NPOI" version="2.4.0" targetFramework="net40-client" />
<package id="SharpZipLib" version="0.86.0" targetFramework="net40-client" />
</packages>
\ No newline at end of file
No preview for this file type
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction, and
distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by the copyright
owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all other entities
that control, are controlled by, or are under common control with that entity.
For the purposes of this definition, "control" means (i) the power, direct or
indirect, to cause the direction or management of such entity, whether by
contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity exercising
permissions granted by this License.
"Source" form shall mean the preferred form for making modifications, including
but not limited to software source code, documentation source, and configuration
files.
"Object" form shall mean any form resulting from mechanical transformation or
translation of a Source form, including but not limited to compiled object code,
generated documentation, and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or Object form, made
available under the License, as indicated by a copyright notice that is included
in or attached to the work (an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object form, that
is based on (or derived from) the Work and for which the editorial revisions,
annotations, elaborations, or other modifications represent, as a whole, an
original work of authorship. For the purposes of this License, Derivative Works
shall not include works that remain separable from, or merely link (or bind by
name) to the interfaces of, the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including the original version
of the Work and any modifications or additions to that Work or Derivative Works
thereof, that is intentionally submitted to Licensor for inclusion in the Work
by the copyright owner or by an individual or Legal Entity authorized to submit
on behalf of the copyright owner. For the purposes of this definition,
"submitted" means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems, and
issue tracking systems that are managed by, or on behalf of, the Licensor for
the purpose of discussing and improving the Work, but excluding communication
that is conspicuously marked or otherwise designated in writing by the copyright
owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf
of whom a Contribution has been received by Licensor and subsequently
incorporated within the Work.
2. Grant of Copyright License.
Subject to the terms and conditions of this License, each Contributor hereby
grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
irrevocable copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the Work and such
Derivative Works in Source or Object form.
3. Grant of Patent License.
Subject to the terms and conditions of this License, each Contributor hereby
grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
irrevocable (except as stated in this section) patent license to make, have
made, use, offer to sell, sell, import, and otherwise transfer the Work, where
such license applies only to those patent claims licensable by such Contributor
that are necessarily infringed by their Contribution(s) alone or by combination
of their Contribution(s) with the Work to which such Contribution(s) was
submitted. If You institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work or a
Contribution incorporated within the Work constitutes direct or contributory
patent infringement, then any patent licenses granted to You under this License
for that Work shall terminate as of the date such litigation is filed.
4. Redistribution.
You may reproduce and distribute copies of the Work or Derivative Works thereof
in any medium, with or without modifications, and in Source or Object form,
provided that You meet the following conditions:
You must give any other recipients of the Work or Derivative Works a copy of
this License; and
You must cause any modified files to carry prominent notices stating that You
changed the files; and
You must retain, in the Source form of any Derivative Works that You distribute,
all copyright, patent, trademark, and attribution notices from the Source form
of the Work, excluding those notices that do not pertain to any part of the
Derivative Works; and
If the Work includes a "NOTICE" text file as part of its distribution, then any
Derivative Works that You distribute must include a readable copy of the
attribution notices contained within such NOTICE file, excluding those notices
that do not pertain to any part of the Derivative Works, in at least one of the
following places: within a NOTICE text file distributed as part of the
Derivative Works; within the Source form or documentation, if provided along
with the Derivative Works; or, within a display generated by the Derivative
Works, if and wherever such third-party notices normally appear. The contents of
the NOTICE file are for informational purposes only and do not modify the
License. You may add Your own attribution notices within Derivative Works that
You distribute, alongside or as an addendum to the NOTICE text from the Work,
provided that such additional attribution notices cannot be construed as
modifying the License.
You may add Your own copyright statement to Your modifications and may provide
additional or different license terms and conditions for use, reproduction, or
distribution of Your modifications, or for any such Derivative Works as a whole,
provided Your use, reproduction, and distribution of the Work otherwise complies
with the conditions stated in this License.
5. Submission of Contributions.
Unless You explicitly state otherwise, any Contribution intentionally submitted
for inclusion in the Work by You to the Licensor shall be under the terms and
conditions of this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify the terms of
any separate license agreement you may have executed with Licensor regarding
such Contributions.
6. Trademarks.
This License does not grant permission to use the trade names, trademarks,
service marks, or product names of the Licensor, except as required for
reasonable and customary use in describing the origin of the Work and
reproducing the content of the NOTICE file.
7. Disclaimer of Warranty.
Unless required by applicable law or agreed to in writing, Licensor provides the
Work (and each Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,
including, without limitation, any warranties or conditions of TITLE,
NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are
solely responsible for determining the appropriateness of using or
redistributing the Work and assume any risks associated with Your exercise of
permissions under this License.
8. Limitation of Liability.
In no event and under no legal theory, whether in tort (including negligence),
contract, or otherwise, unless required by applicable law (such as deliberate
and grossly negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special, incidental,
or consequential damages of any character arising as a result of this License or
out of the use or inability to use the Work (including but not limited to
damages for loss of goodwill, work stoppage, computer failure or malfunction, or
any and all other commercial damages or losses), even if such Contributor has
been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability.
While redistributing the Work or Derivative Works thereof, You may choose to
offer, and charge a fee for, acceptance of support, warranty, indemnity, or
other liability obligations and/or rights consistent with this License. However,
in accepting such obligations, You may act only on Your own behalf and on Your
sole responsibility, not on behalf of any other Contributor, and only if You
agree to indemnify, defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason of your
accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work
To apply the Apache License to your work, attach the following boilerplate
notice, with the fields enclosed by brackets "{}" replaced with your own
identifying information. (Don't include the brackets!) The text should be
enclosed in the appropriate comment syntax for the file format. We also
recommend that a file or class name and description of purpose be included on
the same "printed page" as the copyright notice for easier identification within
third-party archives.
\ No newline at end of file
No preview for this file type
================
* Introduction *
================
This project is the .NET port of POI project. With NPOI, you can read/write Excel and Word files easily. It has a wide application.
For example, you can use it a to generate a Excel report without Microsoft Office suite installed on your
server and more efficient than call Microsoft Excel ActiveX at background; you can also use it to extract
text from Office documents to help you implement full-text indexing feature (most of time this feature is
used to create search engines).
=========================
* Neuzilla Introduction *
=========================
Neuzilla is the studio behind NPOI. While using NPOI, you are becoming one of Neuzilla's clients.
For commercial cooperation or support service consulting, please contact support@neuzilla.com
==================
* NPOI Website *
==================
https://github.com/tonyqus/npoi/ (Latest source code available)
http://npoi.codeplex.com (Deprecated)
http://npoi.neuzilla.com (coming soon)
======================
* System Requirement *
======================
VS2013
VS2010 with .NET 2.0 or .NET 4.0
VS2005 or VS2008 with .NET 2.0 Runtime (SP1)
vs2003 with .NET 1.1
medium trust environment in ASP.NET
=================
* Neuzilla on Internet *
=================
Neuzilla's homepage: http://blog.neuzilla.com
Homepage on Linkedin: http://www.linkedin.com/company/neuzilla
User Group on Linkedin: http://www.linkedin.com/groups/NPOI-User-Group-6655065
企业客户QQ群: 116053476
WeChat Official AccountID: neuzilla
微信公众号ID:neuzilla
================
* Team Members *
================
Tony Qu - coodinator, developer
-------------------------------
From: Shanghai, China
Participated since Sep, 2008
Time Zone: GMT+8
--------------------------------------------------------------------------------
NPOI 1.2.1
--------------------------------------------------------------------------------
Hüseyin Tüfekcilerli - developer
--------------------
From: Istanbul, Turkey
Participated since Nov, 2008
Time Zone: GMT+2
Main Contribution: POIFS Browser 1.0
aTao Xiang - Technical writer
-----------
From: China
Participated since Aug, 2009
Time Zone: GMT+8
Main Contribution: NPOI 1.2 Chinese Tutorial
--------------------------------------------------------------------------------
NPOI 1.2.3 - NPOI 1.2.5
--------------------------------------------------------------------------------
Antony - developer
------------------------------
From: Guangzhou, China
Time Zone: GMT+8
Main Contribution: main code,bug fixing ,Excel2Html, Word2Html
Christian Leutloff - developer
------------------------------
From: Germany
Time Zone: GMT+1
Main Contribution: fix FXCop warnings, OOXML
Jeff Stedfast - developer
------------------------------
From: Cambridge, MA, USA
Time Zone: GMT
Main contribution: Mono version of NPOI, naming conversion
Leon Wang - developer
-----------------------------
From: Xi'an, China
Time Zone: GMT+8
Main contribution: NPOIFS/POIFS
NPOI 2.0
--------------------------------------------------------------------------------
Tony Qu - chief developer
-------------------------------
From: Shanghai, China
Time Zone: GMT+8
Main Contribution: OpenXml4Net, OpenXmlFormats, NPOI.XSSF, NPOI.XWPF implementation
Antony - developer
------------------------------
From: Guangzhou, China
Time Zone: GMT+8
Main Contribution: XWPF implementation, OpenXmlFormats
Christian Leutloff - developer
------------------------------
From: Germany
Time Zone: GMT+1
Main Contribution: OpenXmlFormats, Excel 2007 comment read
Jeff Stedfast - developer
------------------------------
From: Cambridge, MA, USA
Time Zone: GMT
Main contribution: Mono version of NPOI, enumeration changes and compilation optimization
Paul Kratt - developer
------------------------------
From: Greater Milwaukee Area, Wisconsin, USA
Time Zone: GMT
Main contribution: CopyTo, CopySheet functions in HSSFSheet
NPOI 2.1
--------------------------------------------------------------------------------
Tony Qu - main contributor
Antony - fix some poi bugs
Phil Rykoff - developer
------------------------------
Main contribution: XSSF bug fixing and feature implement
NPOI 2.2
--------------------------------------------------------------------------------
Antony
Tony Qu
==================
* How to join us *
==================
If you are interested in this project and want to join me, please write mail to npoi@neuzilla.com
\ No newline at end of file
This diff could not be displayed because it is too large.
No preview for this file type
No preview for this file type
{
"runtimeTarget": {
"name": ".NETStandard,Version=v2.0/",
"signature": "f3247252f71688b566c9b169cc236cfdfd2c9409"
},
"compilationOptions": {},
"targets": {
".NETStandard,Version=v2.0": {},
".NETStandard,Version=v2.0/": {
"NPOI.OOXML/1.0.0": {
"dependencies": {
"NETStandard.Library": "2.0.3",
"NPOI": "1.0.0",
"NPOI.OpenXml4Net": "1.0.0",
"NPOI.OpenXmlFormats": "1.0.0",
"SharpZipLib": "1.0.0",
"System.Configuration.ConfigurationManager": "4.5.0",
"System.Drawing.Common": "4.5.0"
},
"runtime": {
"NPOI.OOXML.dll": {}
}
},
"Microsoft.NETCore.Platforms/1.1.0": {},
"NETStandard.Library/2.0.3": {
"dependencies": {
"Microsoft.NETCore.Platforms": "1.1.0"
}
},
"SharpZipLib/1.0.0": {
"runtime": {
"lib/netstandard2.0/ICSharpCode.SharpZipLib.dll": {
"assemblyVersion": "1.0.0.999",
"fileVersion": "1.0.0.999"
}
}
},
"System.Buffers/4.4.0": {
"runtime": {
"lib/netstandard2.0/System.Buffers.dll": {
"assemblyVersion": "4.0.2.0",
"fileVersion": "4.6.25519.3"
}
}
},
"System.Configuration.ConfigurationManager/4.5.0": {
"dependencies": {
"System.Security.Cryptography.ProtectedData": "4.5.0",
"System.Security.Permissions": "4.5.0"
},
"runtime": {
"lib/netstandard2.0/System.Configuration.ConfigurationManager.dll": {
"assemblyVersion": "4.0.1.0",
"fileVersion": "4.6.26515.6"
}
}
},
"System.Drawing.Common/4.5.0": {
"runtime": {
"lib/netstandard2.0/System.Drawing.Common.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.6.26515.6"
}
}
},
"System.Memory/4.5.0": {
"dependencies": {
"System.Buffers": "4.4.0",
"System.Numerics.Vectors": "4.4.0",
"System.Runtime.CompilerServices.Unsafe": "4.5.0"
},
"runtime": {
"lib/netstandard2.0/System.Memory.dll": {
"assemblyVersion": "4.0.1.0",
"fileVersion": "4.6.26515.6"
}
}
},
"System.Numerics.Vectors/4.4.0": {
"runtime": {
"lib/netstandard2.0/System.Numerics.Vectors.dll": {
"assemblyVersion": "4.1.3.0",
"fileVersion": "4.6.25519.3"
}
}
},
"System.Runtime.CompilerServices.Unsafe/4.5.0": {
"runtime": {
"lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll": {
"assemblyVersion": "4.0.4.0",
"fileVersion": "0.0.0.0"
}
}
},
"System.Security.AccessControl/4.5.0": {
"dependencies": {
"System.Security.Principal.Windows": "4.5.0"
},
"runtime": {
"lib/netstandard2.0/System.Security.AccessControl.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.6.26515.6"
}
}
},
"System.Security.Cryptography.ProtectedData/4.5.0": {
"dependencies": {
"System.Memory": "4.5.0"
},
"runtime": {
"lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll": {
"assemblyVersion": "4.0.3.0",
"fileVersion": "4.6.26515.6"
}
}
},
"System.Security.Permissions/4.5.0": {
"dependencies": {
"System.Security.AccessControl": "4.5.0"
},
"runtime": {
"lib/netstandard2.0/System.Security.Permissions.dll": {
"assemblyVersion": "4.0.1.0",
"fileVersion": "4.6.26515.6"
}
}
},
"System.Security.Principal.Windows/4.5.0": {
"runtime": {
"lib/netstandard2.0/System.Security.Principal.Windows.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.6.26515.6"
}
}
},
"System.Text.Encoding.CodePages/4.5.0": {
"dependencies": {
"System.Runtime.CompilerServices.Unsafe": "4.5.0"
},
"runtime": {
"lib/netstandard2.0/System.Text.Encoding.CodePages.dll": {
"assemblyVersion": "4.1.1.0",
"fileVersion": "4.6.26515.6"
}
}
},
"NPOI/1.0.0": {
"dependencies": {
"SharpZipLib": "1.0.0",
"System.Configuration.ConfigurationManager": "4.5.0",
"System.Drawing.Common": "4.5.0",
"System.Text.Encoding.CodePages": "4.5.0"
},
"runtime": {
"NPOI.dll": {}
}
},
"NPOI.OpenXml4Net/1.0.0": {
"dependencies": {
"NPOI": "1.0.0",
"SharpZipLib": "1.0.0",
"System.Configuration.ConfigurationManager": "4.5.0",
"System.Drawing.Common": "4.5.0"
},
"runtime": {
"NPOI.OpenXml4Net.dll": {}
}
},
"NPOI.OpenXmlFormats/1.0.0": {
"dependencies": {
"NPOI": "1.0.0",
"NPOI.OpenXml4Net": "1.0.0",
"SharpZipLib": "1.0.0",
"System.Configuration.ConfigurationManager": "4.5.0",
"System.Drawing.Common": "4.5.0"
},
"runtime": {
"NPOI.OpenXmlFormats.dll": {}
}
}
}
},
"libraries": {
"NPOI.OOXML/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Microsoft.NETCore.Platforms/1.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==",
"path": "microsoft.netcore.platforms/1.1.0",
"hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512"
},
"NETStandard.Library/2.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
"path": "netstandard.library/2.0.3",
"hashPath": "netstandard.library.2.0.3.nupkg.sha512"
},
"SharpZipLib/1.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-38egGevtPMQn/6olZZUteKUC7+BD47LdCGKo9Vyj17+HWDwiqPXsyJu55q9WSybhwVKwt0q2FLhiuJjZfQpsHw==",
"path": "sharpziplib/1.0.0",
"hashPath": "sharpziplib.1.0.0.nupkg.sha512"
},
"System.Buffers/4.4.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-AwarXzzoDwX6BgrhjoJsk6tUezZEozOT5Y9QKF94Gl4JK91I4PIIBkBco9068Y9/Dra8Dkbie99kXB8+1BaYKw==",
"path": "system.buffers/4.4.0",
"hashPath": "system.buffers.4.4.0.nupkg.sha512"
},
"System.Configuration.ConfigurationManager/4.5.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-NIY8VUJuSNeXPrV5wjQBKKMcd/vctzEGzQuY15zt3/j7Vd4PXfk/QVIOBlqU1/ONRRUu0dsdk5uUTLSSNY+now==",
"path": "system.configuration.configurationmanager/4.5.0",
"hashPath": "system.configuration.configurationmanager.4.5.0.nupkg.sha512"
},
"System.Drawing.Common/4.5.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-LLI+GGolsv4K8Eu2PN5N3/1t4pM5zoU4fM3lWhSOawJuCjv9iQJJODjd4/QJIgpjlqxzQDMMoOjAaVuzrNJT0g==",
"path": "system.drawing.common/4.5.0",
"hashPath": "system.drawing.common.4.5.0.nupkg.sha512"
},
"System.Memory/4.5.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-P56/L4B9vhz0YFTC4qIXFgx+VgMhg3JhCm5/EASihTotyjwmBt2QEAQdmd2tNctYET/w0CRJzVH1cwxgbKGnDQ==",
"path": "system.memory/4.5.0",
"hashPath": "system.memory.4.5.0.nupkg.sha512"
},
"System.Numerics.Vectors/4.4.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-UiLzLW+Lw6HLed1Hcg+8jSRttrbuXv7DANVj0DkL9g6EnnzbL75EB7EWsw5uRbhxd/4YdG8li5XizGWepmG3PQ==",
"path": "system.numerics.vectors/4.4.0",
"hashPath": "system.numerics.vectors.4.4.0.nupkg.sha512"
},
"System.Runtime.CompilerServices.Unsafe/4.5.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-6zBxkHYemB0kQiHP3vGXGRXejZVoNVuMn2paUuqKKi5Wyjkxfkp+D0rd0c3VrGwotidRINt6KpOi2smL4VkJKw==",
"path": "system.runtime.compilerservices.unsafe/4.5.0",
"hashPath": "system.runtime.compilerservices.unsafe.4.5.0.nupkg.sha512"
},
"System.Security.AccessControl/4.5.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-aVjTe36YkO8FzfNhMLoPEzv3gF9rphoW9ngFhG/MH4zzEPLx07sNrgCLwMP4Wx2leI6qarMrGv21OwQXYUKLmw==",
"path": "system.security.accesscontrol/4.5.0",
"hashPath": "system.security.accesscontrol.4.5.0.nupkg.sha512"
},
"System.Security.Cryptography.ProtectedData/4.5.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-wZGwRoLGTuEQBOYXlZmEK41OfmO+vYWbLk7q5ePoFqs6vOKP2kUsOeviEjQoR6MbW9udlDjx9iWhcWOTzSj05w==",
"path": "system.security.cryptography.protecteddata/4.5.0",
"hashPath": "system.security.cryptography.protecteddata.4.5.0.nupkg.sha512"
},
"System.Security.Permissions/4.5.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-vDQ7q30Soe0a1cPhvxn+7IFmMeTG5IP+hTQrnKQDjTNpD2epqwbZSzMM2Git5TXBr4Kwwhc/0SEtJY0qPoiegA==",
"path": "system.security.permissions/4.5.0",
"hashPath": "system.security.permissions.4.5.0.nupkg.sha512"
},
"System.Security.Principal.Windows/4.5.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-WA9ETb/pY3BjnxKjBUHEgO59B7d/nnmjHFsqjJ2eDT780nD769CT1/bw2ia0Z6W7NqlcqokE6sKGKa6uw88XGA==",
"path": "system.security.principal.windows/4.5.0",
"hashPath": "system.security.principal.windows.4.5.0.nupkg.sha512"
},
"System.Text.Encoding.CodePages/4.5.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-16EVkWmNnoH3/Yj9c5s5VuLK5Uv/Dnkc3P2kMmnD7wJcUuvcHVvM2IhVJanf2hHRZUitH+cIkPCPHrBoCXc7Rw==",
"path": "system.text.encoding.codepages/4.5.0",
"hashPath": "system.text.encoding.codepages.4.5.0.nupkg.sha512"
},
"NPOI/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"NPOI.OpenXml4Net/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"NPOI.OpenXmlFormats/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}
\ No newline at end of file
No preview for this file type
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!