Program.cs 58 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863
  1. using HTEXLib.Translator;
  2. using Ionic.Zip;
  3. using NPOI.SS.UserModel;
  4. using NPOI.SS.UserModel.Charts;
  5. using NPOI.SS.Util;
  6. using NPOI.XSSF.UserModel;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.IO;
  10. using System.Linq;
  11. using System.Net;
  12. using System.Net.NetworkInformation;
  13. using System.Net.Sockets;
  14. using System.Security.Cryptography;
  15. using System.Text;
  16. using System.Text.RegularExpressions;
  17. using System.Web;
  18. using System.Xml;
  19. using System.Xml.Linq;
  20. using System.Xml.Xsl;
  21. namespace HTEXTest
  22. {
  23. public class Node {
  24. public string val { get; set; }
  25. public List<Node> children { get; set; }
  26. public Node(string text, List<Node> node ) {
  27. this.val = text;
  28. this.children = node;
  29. }
  30. }
  31. class Program
  32. {
  33. /// <summary>
  34. /// 获取本地机器网卡的所有IP地址
  35. /// </summary>
  36. /// <returns></returns>
  37. public static List<string> getIPAddress()
  38. {
  39. return NetworkInterface.GetAllNetworkInterfaces()
  40. .SelectMany(i => i.GetIPProperties().UnicastAddresses)
  41. .Select(a => a.Address)
  42. //AddressFamily.InterNetwork 过滤掉IPV6 //过滤127.0.0.1 !IPAddress.IsLoopback(a)
  43. .Where(a => a.AddressFamily == AddressFamily.InterNetwork)
  44. .Select(a => a.ToString()).ToList();
  45. }
  46. public static List<IPAddress> getIPAddressE()
  47. {
  48. return NetworkInterface.GetAllNetworkInterfaces()
  49. .SelectMany(i => i.GetIPProperties().UnicastAddresses)
  50. .Select(a => a.Address)
  51. //AddressFamily.InterNetwork 过滤掉IPV6 //过滤127.0.0.1 !IPAddress.IsLoopback(a)
  52. //.Where(a => a.AddressFamily == AddressFamily.InterNetwork)
  53. .ToList();
  54. }
  55. public static IList<string> PreorderTraversal(Node root)
  56. {
  57. //返回的list
  58. var forReturn = new List<string>();
  59. if (root == null) return forReturn;
  60. //定义一个栈
  61. var stackTemp = new Stack<Node>();
  62. //在栈的顶部插入根节点
  63. stackTemp.Push(root);
  64. while (stackTemp.Any())
  65. {
  66. //移除栈顶部的对象
  67. var curNode = stackTemp.Pop();
  68. //将该对象add至返回的list中
  69. forReturn.Add(curNode.val);
  70. if (curNode.children != null)
  71. {
  72. for (var i = curNode.children.Count - 1; i >= 0; i--)
  73. stackTemp.Push(curNode.children[i]);
  74. }
  75. }
  76. return forReturn;
  77. }
  78. public static void changeArgb(long color) {
  79. //int color = 0x1A0078ff;
  80. long alpha = (color & 0xff000000) >> 24;
  81. long red = (color & 0x00ff0000) >> 16;
  82. long green = (color & 0x0000ff00) >> 8;
  83. long blue = (color & 0x000000ff);
  84. }
  85. public static string sKey= "cstftsmf";
  86. public static string DESDeCode(string pToDecrypt)
  87. {
  88. // HttpContext.Current.Response.Write(pToDecrypt + "<br>" + sKey);
  89. // HttpContext.Current.Response.End();
  90. DESCryptoServiceProvider des = new DESCryptoServiceProvider();
  91. byte[] inputByteArray = new byte[pToDecrypt.Length / 2];
  92. for (int x = 0; x < pToDecrypt.Length / 2; x++)
  93. {
  94. int i = (Convert.ToInt32(pToDecrypt.Substring(x * 2, 2), 16));
  95. inputByteArray[x] = (byte)i;
  96. }
  97. des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
  98. des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
  99. MemoryStream ms = new MemoryStream();
  100. CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
  101. cs.Write(inputByteArray, 0, inputByteArray.Length);
  102. cs.FlushFinalBlock();
  103. StringBuilder ret = new StringBuilder();
  104. return HttpUtility.UrlDecode(System.Text.Encoding.UTF8.GetString(ms.ToArray()));
  105. }
  106. public static string DESEnCode(string pToEncrypt)
  107. {
  108. pToEncrypt = HttpUtility.UrlEncode(pToEncrypt);
  109. DESCryptoServiceProvider des = new DESCryptoServiceProvider();
  110. byte[] inputByteArray = Encoding.GetEncoding("UTF-8").GetBytes(pToEncrypt);
  111. //建立加密对象的密钥和偏移量
  112. //原文使用ASCIIEncoding.ASCII方法的GetBytes方法
  113. //使得输入密码必须输入英文文本
  114. des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
  115. des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
  116. MemoryStream ms = new MemoryStream();
  117. CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
  118. cs.Write(inputByteArray, 0, inputByteArray.Length);
  119. cs.FlushFinalBlock();
  120. StringBuilder ret = new StringBuilder();
  121. foreach (byte b in ms.ToArray())
  122. {
  123. ret.AppendFormat("{0:X2}", b);
  124. }
  125. ret.ToString();
  126. return ret.ToString();
  127. }
  128. public static string Encrypt(string stringToEncrypt, string sKey)
  129. {
  130. DESCryptoServiceProvider des = new DESCryptoServiceProvider();
  131. byte[] inputByteArray = Encoding.GetEncoding("UTF-8").GetBytes(stringToEncrypt);
  132. des.Key = ASCIIEncoding.UTF8.GetBytes(sKey);
  133. des.IV = ASCIIEncoding.UTF8.GetBytes(sKey);
  134. MemoryStream ms = new MemoryStream();
  135. CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
  136. cs.Write(inputByteArray, 0, inputByteArray.Length);
  137. cs.FlushFinalBlock();
  138. StringBuilder ret = new StringBuilder();
  139. foreach (byte b in ms.ToArray())
  140. {
  141. ret.AppendFormat("{0:X2}", b);
  142. }
  143. ret.ToString();
  144. return ret.ToString();
  145. }
  146. public static string Decrypt(string stringToDecrypt, string sKey)
  147. {
  148. DESCryptoServiceProvider des = new DESCryptoServiceProvider();
  149. byte[] inputByteArray = new byte[stringToDecrypt.Length / 2];
  150. for (int x = 0; x < stringToDecrypt.Length / 2; x++)
  151. {
  152. int i = (Convert.ToInt32(stringToDecrypt.Substring(x * 2, 2), 16));
  153. inputByteArray[x] = (byte)i;
  154. }
  155. des.Key = ASCIIEncoding.UTF8.GetBytes(sKey);
  156. des.IV = ASCIIEncoding.UTF8.GetBytes(sKey);
  157. MemoryStream ms = new MemoryStream();
  158. CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
  159. cs.Write(inputByteArray, 0, inputByteArray.Length);
  160. cs.FlushFinalBlock();
  161. StringBuilder ret = new StringBuilder();
  162. return System.Text.Encoding.Default.GetString(ms.ToArray());
  163. }
  164. public static int getWeek(DateTimeOffset dt)
  165. {
  166. DateTimeOffset time = Convert.ToDateTime(dt.ToString("yyyy") + "-01-01");
  167. TimeSpan ts = dt - time;
  168. int iii = (int)time.DayOfWeek;
  169. int day = int.Parse(ts.TotalDays.ToString("F0"));
  170. if (iii == 0)
  171. {
  172. day--;
  173. }
  174. else
  175. {
  176. day = day - (7 - iii) - 1;
  177. }
  178. int week = ((day + 7) / 7) + 1;
  179. return week;
  180. }
  181. private static string HTEXTranslator(string stream)
  182. {
  183. Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
  184. Encoding encoding = Encoding.GetEncoding("GB2312");
  185. var options = new ReadOptions { StatusMessageWriter = System.Console.Out, Encoding = encoding };
  186. using (ZipFile zip = ZipFile.Read(stream, options))
  187. {
  188. zip.AlternateEncoding = encoding;
  189. List<Stream> streams = new List<Stream>();
  190. foreach (var f in zip.Entries)
  191. {
  192. string neme= f.FileName;
  193. if (f.IsDirectory) {
  194. string subPath = "F:\\cccc\\" + neme;
  195. if (false == System.IO.Directory.Exists(subPath))
  196. {
  197. //创建pic文件夹
  198. System.IO.Directory.CreateDirectory(subPath);
  199. }
  200. continue;
  201. }
  202. // var st= ;
  203. //一个个解压
  204. var a = f.OpenReader();
  205. byte[] bytes = new byte[a.Length];
  206. a.Read(bytes, 0, bytes.Length);
  207. FileStream stream2 = new FileStream("F:\\cccc\\" + neme, FileMode.OpenOrCreate);
  208. stream2.Write(bytes, 0, bytes.Length);
  209. stream2.Close();
  210. }
  211. }
  212. return null;
  213. }
  214. static void CreateChart(IDrawing drawing, ISheet sheet, IClientAnchor anchor, string serie1, string serie2)
  215. {
  216. IChart chart = drawing.CreateChart(anchor);
  217. IChartLegend legend = chart.GetOrCreateLegend();
  218. //标题位置
  219. legend.Position = LegendPosition.Top;
  220. IBarChartData<double, double> data = chart.ChartDataFactory.CreateBarChartData<double, double>();
  221. // Use a category axis for the bottom axis.
  222. //横坐标
  223. IChartAxis bottomAxis = chart.ChartAxisFactory.CreateCategoryAxis(AxisPosition.Bottom);
  224. //纵坐标
  225. IValueAxis leftAxis = chart.ChartAxisFactory.CreateValueAxis(AxisPosition.Left);
  226. leftAxis.Crosses = AxisCrosses.AutoZero;//AxisCrosses.Max 则纵坐标在右侧
  227. IChartDataSource<double> xs = DataSources.FromNumericCellRange(sheet, new CellRangeAddress(0, 0, 0, 10 - 1));
  228. IChartDataSource<double> ys1 = DataSources.FromNumericCellRange(sheet, new CellRangeAddress(1, 1, 0, 10 - 1));
  229. IChartDataSource<double> ys2 = DataSources.FromNumericCellRange(sheet, new CellRangeAddress(2, 2, 0, 10 - 1));
  230. //添加标题
  231. var s1 = data.AddSeries(xs, ys1);
  232. s1.SetTitle(serie1);
  233. var s2 = data.AddSeries(xs, ys2);
  234. s2.SetTitle(serie2);
  235. chart.Plot(data, bottomAxis, leftAxis);
  236. }
  237. const int NUM_OF_ROWS = 3;
  238. const int NUM_OF_COLUMNS = 10;
  239. class MemoryResourceResolver : XmlUrlResolver {
  240. public override object GetEntity(Uri absoluteUri,
  241. string role, Type ofObjectToReturn)
  242. {
  243. if (absoluteUri.ToString().Contains("Common"))
  244. {
  245. return new MemoryStream(Encoding.UTF8.GetBytes("Xml with with common data"));
  246. }
  247. if (absoluteUri.ToString().Contains("Xhtml"))
  248. {
  249. return new MemoryStream(Encoding.UTF8.GetBytes("Xml with with xhtml data"));
  250. }
  251. return "";
  252. }
  253. }
  254. public class Stu {
  255. public int id { get; set; }
  256. public string classid { get; set; }
  257. public string name { get; set; }
  258. public int score { get; set; }
  259. }
  260. static void Main(string[] args)
  261. {
  262. string rtf = @"{\*\blipuid 1b80440fbb2ab6748cc9f28edcef985e}ffd8ffe000104a46494600010101006000600000ff296ade39fda3bc25fb445bfed45fb47f8221f0ae91e17d01be0af8347ecfa9f09b5ed17c3be2b1e32d4f4bbfd4bc51f003c51f1bf42b2f885ab5b68d07c5083c05f19bc1a9e3bd17c31e17d075b13691a15859c5e6dfb26ff00c13a3e147ec79f173e31fc66f87bf113e2af8a7c53f1e2c6d6d3e25c5e3cb2f824e3c5177a3f8bbc51e2af0af893c4be26f027c17f01fc45f1cf8d7c2d6de31d7bc2369e38f88de37f1978b7c45e159aca3f1eeb3e30d7f48d275fb2fd02a2800a28a2800a28a2803fffd9}}{\nonshppict{\pict\picscalex100\picscaley99\piccropl0\piccropr0\piccropt0\piccropb0\picw2249\pich1085\picwgoal1275\pichgoal615\wmetafile8\bliptag461390863\blipupi96{\*\blipuid 1b80440fbb2ab6748cc9f28edcef985e}0100090000035609000000002d0900000010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010000000101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010100000001010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101000000040000002701ffff030000000000}}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \loch\af14\hich\af14\dbch\af14\insrsid10430208 \loch\af14\hich\af14\dbch\f14 \'a6\'62\'a4\'cf\'a4\'f1\'a8\'d2\'a8\'e7\'bc\'c6\'b9\'cf\'b9\'b3\'a4\'57\'a6\'b3\'a8\'e2\'c2\'49}{\rtlch\fcs1 \af0 \ltrch\fcs0 \loch\af0\hich\af0\dbch\af14\insrsid10430208 \hich\af0\dbch\af14\loch\f0 A(x1}{\rtlch\fcs1 \af0 \ltrch\fcs0 \loch\af14\hich\af14\dbch\af14\insrsid10430208 \loch\af14\hich\af14\dbch\f14 \'a1\'41}{\rtlch\fcs1 \af0 \ltrch\fcs0 \loch\af0\hich\af0\dbch\af14\insrsid10430208 \hich\af0\dbch\af14\loch\f0 y1)}{\rtlch\fcs1 \af0 \ltrch\fcs0 \loch\af14\hich\af14\dbch\af14\insrsid10430208 \loch\af14\hich\af14\dbch\f14 \'a1\'42}{\rtlch\fcs1 \af0 \ltrch\fcs0 \loch\af0\hich\af0\dbch\af14\insrsid10430208 \hich\af0\dbch\af14\loch\f0 B(x2}{\rtlch\fcs1 \af0 \ltrch\fcs0 \loch\af14\hich\af14\dbch\af14\insrsid10430208 \loch\af14\hich\af14\dbch\f14 \'a1\'41}{\rtlch\fcs1 \af0 \ltrch\fcs0 \loch\af0\hich\af0\dbch\af14\insrsid10430208 \hich\af0\dbch\af14\loch\f0 y2)}{\rtlch\fcs1 \af0 \ltrch\fcs0 \loch\af14\hich\af14\dbch\af14\insrsid10430208 \loch\af14\hich\af14\dbch\f14 \'a1\'41}{\rtlch\fcs1 \af0 \ltrch\fcs0 \loch\af0\hich\af0\dbch\af14\insrsid10430208 \hich\af0\dbch\af14\loch\f0 x1}{\rtlch\fcs1 \af0 \ltrch\fcs0 \loch\af14\hich\af14\dbch\af14\insrsid10430208 \loch\af14\hich\af14\dbch\f14 \'a1\'d5}{\rtlch\fcs1 \af0 \ltrch\fcs0 \loch\af0\hich\af0\dbch\af14\insrsid10430208 0}{\rtlch\fcs1 \af0 \ltrch\fcs0 \loch\af14\hich\af14\dbch\af14\insrsid10430208 \loch\af14\hich\af14\dbch\f14 \'a1\'d5}{\rtlch\fcs1 \af0 \ltrch\fcs0 \loch\af0\hich\af0\dbch\af14\insrsid10430208 \hich\af0\dbch\af14\loch\f0 y1}{\rtlch\fcs1 \af0 \ltrch\fcs0 \loch\af14\hich\af14\dbch\af14\insrsid10430208 \loch\af14\hich\af14\dbch\f14 \'a1\'41}{\rtlch\fcs1 \af0 \ltrch\fcs0 \loch\af0\hich\af0\dbch\af14\insrsid10430208 \hich\af0\dbch\af14\loch\f0 y1}{\rtlch\fcs1 \af0 \ltrch\fcs0 \loch\af14\hich\af14\dbch\af14\insrsid10430208 \loch\af14\hich\af14\dbch\f14 \'a1\'d5}{\rtlch\fcs1 \af0 \ltrch\fcs0 \loch\af0\hich\af0\dbch\af14\insrsid10430208 \hich\af0\dbch\af14\loch\f0 y2}{\rtlch\fcs1 \af0 \ltrch\fcs0 \loch\af14\hich\af14\dbch\af14\insrsid10430208 \loch\af14\hich\af14\dbch\f14 \'a1\'41\'ab\'68}{\rtlch\fcs1 \af0 \ltrch\fcs0 \loch\af0\hich\af0\dbch\af14\insrsid10430208 \hich\af0\dbch\af14\loch\f0 m}{\rtlch\fcs1 \af0 \ltrch\fcs0 \loch\af14\hich\af14\dbch\af14\insrsid10430208 \loch\af14\hich\af14\dbch\f14 \'aa\'ba\'a8\'fa\'ad\'c8\'bd\'64\'b3\'f2\'ac\'4f\'a1\'5d\'a1\'5e}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid13373147\charrsid11947830 {\*\shppict{\pict{\*\picprop\shplid1025{\sp{\sn shapeType}{\sv 75}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn fLockRotation}{\sv 0}}{\sp{\sn fLockAspectRatio}{\sv 1}}{\sp{\sn fLockPosition}{\sv 0}}{\sp{\sn fLockAgainstSelect}{\sv 0}}{\sp{\sn fLockCropping}{\sv 0}}{\sp{\sn fLockVerticies}{\sv 0}}{\sp{\sn fLockAgainstGrouping}{\sv 0}}{\sp{\sn pictureGray}{\sv 0}}{\sp{\sn pictureBiLevel}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn fNoFillHitTest}{\sv 0}}{\sp{\sn fLine}{\sv 0}}{\sp{\sn wzName}{\sv \'cd\'bc\'c6\'ac 1}}{\sp{\sn dhgt}{\sv 251658240}}{\sp{\sn fHidden}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}}\picscalex100\picscaley99\piccropl0\piccropr0\piccropt0\piccropb0\picw2619\pich1535\picwgoal1485\pichgoal870\jpegblip\bliptag598940992{\*\blipuid 23b31d4086481d13c8807e05722de477}ffd8ffe000104a46494600010101006000600000ffdb00430001010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101ffdb004301010101010101010101010a049a5482e0c6678524758a63096688cd186092189999a32e1b61662b824d45454caad49c9ce752739b4d39ca72949a926a49c9b6da6a4d357b34ddf765d3c3d0a5054a950a34a9a7192a74e9c21052872f2494231514e3c90e5695e3cb1b5b9558a28a2a0d828a28a00ffd9}}{\nonshppict{\pict\picscalex100\picscaley99\piccropl0\piccropr0\piccropt0\piccropb0\picw2619\pich1535\picwgoal1485\pichgoal870\wmetafile8\bliptag598940992\blipupi96{\*\blipuid 23b31d4086481d13c8807e05722de477}0100090000034622000000001d22000000000400000003010800050000000b0200000000050000000c023b006400030000001e00040000000701040004000000070104001d220000410b2000cc003a006300000000003a0063000000000028000000630000 ng1025 \cf3 \'bf\'ef\'be\'dc\'c3D}{\rtlch \fcs1 \af0 \afs21 \ltrch \fcs0 \fs21 \kerning2 \rtlch \alang1025 \ltrch \dbch \af4 \hich \af0 \loch \f0 \lang1033 \langnp1033 \langfe1028 \langfenp1028 \alang1025 \cf3 \}}{\rtlch \fcs1 \af0 \afs22 \ltrch \fcs0 \fs21 \kerning2 \rtlch \alang1025 \ltrch \dbch \af1 \hich \af3 \loch \af3 \lang1033 \langnp1033 \langfe2052 \langfenp2052 \alang1025 {\*\shppict {\pict {\*\picprop \shplid1025 {\sp {\sn shapeType}{\sv 75}}{\sp {\sn fFlipH}{\sv 0}}{\sp {\sn fFlipV}{\sv 0}}{\sp {\sn fLockAspectRatio}{\sv 1}}{\sp {\sn dxWrapDistLeft}{\sv 0}}{\sp {\sn dxWrapDistRight}{\sv 0}}{\sp {\sn fLayoutInCell}{\sv 1}}}\piccropl0 \piccropr0 \piccropt0 \piccropb0 \picscalex100 \picscaley101 \picw85 \pich41 \picwgoal1275 \pichgoal615 \pngblip {\*\blipuid a1f35504a1f35504a1f35504a1f35504}89504e470d0a1a0a002f9ca26841dc25d81534e125949a47226e7868b23eebb80cdbc6bba2464777952cb6428438937e42eaf71a4b6e711cab3f09aaed25f2223b5bae593d9bd2b44daa990bb5a8edec45b6e979cd41a2f31be80b194d09ee3ada48f9e2ad620d5bb3a03ce8033e00c3803ce401506fe007ed9acab7780f7220000000049454e44ae426082}}{\nonshppict {\pict \piccropl0 \piccropr0 \piccropt0 \piccropb0 \picscalex100 \picscaley101 \picw85 \pich41 \picwgoal1275 \pichgoal615 \wmetafile8 {\*\blipuid a1f35504a1f35504a1f35504a1f35504}010009000040000002701ffff030000000000}}}{\rtlch \fcs1 \af0 \afs22 \ltrch \fcs0 \fs21 \kerning2 \rtlch \alang1025 \ltrch \loch \af0 \hich \af0 \dbch \f4 \lang1033 \langnp1033 \langfe1028 \langfenp1028 \alang1025 \'a6b\'a4\'cf\'a4\sv 75}}{\sp {\sn fFlipH}{\sv 0}}{\sp {\sn fFlipV}{\sv 0}}{\sp {\sn fLockAspectRatio}{\sv 1}}{\sp {\sn fNoFillHitTest}{\sv 1}}{\sp {\sn fFilled}{\sv 0}}{\sp {\sn fLine}{\sv 0}}{\sp {\sn fPreferRelativeResize}{\sv 1}}{\sp {\sn wzName}{\sv \'cd\'bc\'c6\'ac 1}}{\sp {\sn fLayoutInCell}{\sv 1}}{\sp {\sn @unknown\id8405 }{\sv 1}}}\piccropl0 \piccropr0 \piccropt0 \piccropb0 \picscalex100 \picscaley100 \picw99 \pich57 \picwgoal1485 \pichgoal869 \pngblip {\*\blipuid b5c49745b5c49745b5c49745b5c49745}89504e470d0a1a0a0000000d49484452000000630000085f2ba158ada4a90d335dcdd2bbdcc08af1b83971fff0cd070a55458e46a7be4f8784f89b28d78a4d62c881897479cdae4f6145f5a3b9b4800e078ca966423360c004269f5e8e619eb14b4ec7d8ef25fcdf17b87ffad20cac00bbee567fab5eb601a8d6d04005f2919fd430080f6df34955b51d6866f886bcf9dda24aee7dbd429ced0395d8373f714aa6c59c1b079e9aab8b20000c6a7e3dc41b5833a25651f3522929a72b811752f5b64720180a34e532ae5753539c399ba70d89e604b3eced0d1c1bebb0e0aaf73de8deb61630020429fbfa7f837256e63854c31319fb6fddd678dd2ba2772685ab65ab6e94d2d7bfac027db3ed9ba30e01e3f9615dbe76f4870883636cb574afc4e511b9b05d73bb08261b04c0090f269703616e7b1f67137bffbe1c45f33d14f005bf4fba926dc65e5048e4c21ca6a720600e4c5390020ce72066f0c8d0180158d0180985f206ba5505e73466e0ec4ad5094b42731adde887be1f38eb9b33d3a52f74ffa852c945e030087ed334574e6dd499b720f7a7c025fe877a74e964235f5b52ffb08006c4996969f88850c89acfb15689e5900c09986ad04b1ac0000bf53e4778ae09ac2e7e3a95bd3b7dfa5ffc703fbfb142d4c295a9852b430a568614ad1c294a28529450b538a967f01ce893329af3697820000000049454e44ae426082}}{\nonshppict {\pict \piccropl0 \piccropr0 \piccropt0 \piccropb0 \picscalex100 \picscaley100 \picw99 \pich57 \picwgoal1485 \pichgoal869 \wmetafile8 {\*\blipuid b5c49745b5c49745b5c49745b5c49745}0100090000039e0d00000000750d000000000400000003 ";
  263. FileStream fss = new FileStream(@"C:\Users\CrazyIter\Desktop\trf.rtf", System.IO.FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
  264. StreamReader srs = new StreamReader(fss, System.Text.Encoding.UTF8);
  265. string lines;
  266. StringBuilder builder = new StringBuilder();
  267. while ((lines = srs.ReadLine()) != null)
  268. {
  269. builder.Append(lines.ToString());
  270. }
  271. srs.Close();
  272. string text = builder.ToString();
  273. //string reg = @"\{\\\*\\blipuid.*?\}";
  274. string base64 = @"F:\base64.txt";
  275. string reg = @"\{([\\S].*?)\}";
  276. var array = Regex.Split(text, reg);
  277. var strs = array.Select((x, index) => new { index, x }).Where(t => t.x.Contains("blipuid")).Select(y => new { str = array[y.index + 1], }).ToList() ;
  278. StreamReader sr = new StreamReader(base64, Encoding.Default);
  279. StringBuilder content = new StringBuilder();
  280. string line;
  281. while (( line = sr.ReadLine()) != null)
  282. {
  283. content.Append(line);
  284. }
  285. byte[] bytes = Convert.FromBase64String(content.ToString());
  286. // 写入文件到指定位置
  287. using (System.IO.FileStream fs = new System.IO.FileStream("F:\\001.emf", System.IO.FileMode.Create, System.IO.FileAccess.Write))
  288. {
  289. fs.Write(bytes, 0, bytes.Length);
  290. fs.Flush();
  291. }
  292. string aasd = "对错对错对错对对错错错错错对对对对对对错对对错对错对错错错错错错对错对错错对错对对对错对对对对错错对错对对对错错对错错对";
  293. for (int i = 1; i <= aasd.Length; i++) {
  294. Console.WriteLine($"{i} : {aasd[i-1]}");
  295. }
  296. long a = 1123; long b = 500000552;
  297. var c = a / b;
  298. string aza = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  299. string azh = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  300. string aaa= aza.Replace("A", "A");
  301. long now = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
  302. Console.WriteLine(now);
  303. List<Stu> stus = new List<Stu>();
  304. Random random = new Random();
  305. for (int i = 0; i < 20; i++) {
  306. stus.Add(new Stu { id = i + 1,classid= $"class{i %5}",name= $"学生{i+1}",score= random.Next(50 ,100)});
  307. }
  308. //源数据
  309. Console.WriteLine("源数据 -----------------------------");
  310. stus.ForEach(x => { Console.WriteLine($"{x.id}:{x.classid}:{x.name}:{x.score}"); });
  311. //排序数据
  312. Console.WriteLine("排序数据-----------------------------");
  313. var orderData= stus.OrderBy(x => x.score);
  314. orderData.ToList().ForEach(x => { Console.WriteLine($"{x.id}:{x.classid}:{x.name}:{x.score}"); });
  315. //分组数据
  316. Console.WriteLine("分组数据-----------------------------");
  317. var groupData= stus.Select(x => new {classid= x.classid,stu= x }).GroupBy(y=>y.classid).ToList();
  318. groupData.ForEach(x => {
  319. var classid = x.Key;
  320. x.ToList().ForEach(y => { Console.WriteLine($"{classid}:{y.stu.name}:{y.stu.id}:{y.stu.classid}:{y.stu.score}"); });
  321. });
  322. Console.WriteLine();
  323. // XslCompiledTransform xslt = new XslCompiledTransform();
  324. // MemoryResourceResolver resolver = new MemoryResourceResolver();
  325. //// XmlTextReader xR = new XmlTextReader(new StringReader(styleSheet));
  326. //// xslt.Load(xR, null, resolver);
  327. // StringWriter sw = new StringWriter();
  328. // XmlReader OMML2MML = XmlReader.Create(new StreamReader("D:\\VSProjectCode\\TEAMModelHTEX\\HTEXTest\\xslt\\mmltex.xsl"));
  329. // XslCompiledTransform xslTransform = new XslCompiledTransform();
  330. // //resolver.ResolveUri("D:\\VSProjectCode\\TEAMModelHTEX\\HTEXTest\\xslt", "D:\\VSProjectCode\\TEAMModelHTEX\\HTEXTest\\xslt\\mmltex.xsl");
  331. // xslTransform.Load(OMML2MML, null, resolver);
  332. // XmlReader OMML2MML = XmlReader.Create(new StreamReader("D:\\VSProjectCode\\TEAMModelHTEX\\HTEXTest\\xslt\\mmltex.xsl"));
  333. // XslCompiledTransform xslTransform = new XslCompiledTransform();
  334. // xslTransform.Load(OMML2MML);
  335. // string mathXml = "<math xmlns:mml=\"http://www.w3.org/1998/Math/MathML\" xmlns:m=\"http://schemas.openxmlformats.org/officeDocument/2006/math\"><msup><mrow><mfenced separators=\"|\"><mrow><mi>𝑥</mi><mo>+</mo><mi>𝑎</mi></mrow></mfenced></mrow><mrow><mi>𝑛</mi></mrow></msup><mo>=</mo><mrow><msubsup><mo stretchy=\"false\">∑</mo><mrow><mi>𝑘</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>𝑛</mi></mrow></msubsup><mrow><mfenced separators=\"|\"><mrow><mfrac linethickness=\"0pt\"><mrow><mi>𝑛</mi></mrow><mrow><mi>𝑘</mi></mrow></mfrac></mrow></mfenced><msup><mrow><mi>𝑥</mi></mrow><mrow><mi>𝑘</mi></mrow></msup><msup><mrow><mi>𝑎</mi></mrow><mrow><mi>𝑛</mi><mo>−</mo><mi>𝑘</mi></mrow></msup></mrow></mrow></math>";
  336. string officeML = string.Empty;
  337. //using (TextReader tr = new StringReader(mathXml))
  338. //{
  339. // using (XmlReader reader = XmlReader.Create(tr))
  340. // {
  341. // using (MemoryStream ms = new MemoryStream())
  342. // {
  343. // XmlWriterSettings settings = xslTransform.OutputSettings.Clone();
  344. // settings.ConformanceLevel = ConformanceLevel.Fragment;
  345. // settings.OmitXmlDeclaration = true;
  346. // XmlWriter xw = XmlWriter.Create(ms, settings);
  347. // xslTransform.Transform(reader, xw);
  348. // ms.Seek(0, SeekOrigin.Begin);
  349. // using (StreamReader sr = new StreamReader(ms, Encoding.UTF8))
  350. // {
  351. // officeML = sr.ReadToEnd();
  352. // }
  353. // }
  354. // }
  355. //}
  356. // officeML = officeML.Replace("mml:", "");
  357. //XElement officeElement = XElement.Load(new StringReader(officeML));
  358. // List<string> sq = new List<string>();
  359. // sq.Add($"array_contains(c.targetClassIds,'1')");
  360. // sq.Add($"array_contains(c.targetClassIds,'2')");
  361. // sq.Add($"array_contains(c.targetClassIds,'3')");
  362. // string sql = string.Join(" or " ,sq);
  363. // int rot =559% 2;
  364. // string qus = "<!DOCTYPE html ><html xmlns=\"http://www.w3.org/1999/xhtml\"><head><meta charset=\"UTF-8\" /><title></title><meta name=\"Generator\" content=\"PowerTools for Open XML\" /><style>span {/* white-space: pre-wrap;*/ }body { margin: 1cm auto; max-width: 20cm; padding: 0; }</style></head><body><div><p dir=\"ltr\" class=\"pt-a\"><span class=\"pt-a0\">" +
  365. // "{1 判断题}-1是自然数</span></p><p dir=\"ltr\" class=\"pt-a\"><span class=\"pt-a0\">{答案}错</span></p><p dir=\"ltr\" class=\"pt-a\"><span class=\"pt-a0\">{知识点}自然数</span></p><p dir=\"ltr\" class=\"pt-a\"><span class=\"pt-a0\">{评鉴}</span></p><p dir=\"ltr\" class=\"pt-a\"><span class=\"pt-a0\">{配分}5</span></p><p dir=\"ltr\" class=\"pt-a\"><span class=\"pt-a0\">{</span><span class=\"pt-a0\">2</span><span lang=\"zh-CN\" xml:space=\"preserve\" class=\"pt-a0-000000\">判断题}非0为真 A.对 B.错 </span></p><p dir=\"ltr\" class=\"pt-a\"><span class=\"pt-a0\">{知识点}是非判断</span></p><p dir=\"ltr\" class=\"pt-a\"><span class=\"pt-a0\">{配分}5</span></p><p dir=\"ltr\" class=\"pt-a\"><span class=\"pt-a0\">{应用}</span></p><p dir=\"ltr\" class=\"pt-a\"><span class=\"pt-a0\">{答案}A</span></p><p dir=\"ltr\" class=\"pt-a-000001\"><span xml:space=\"preserve\" class=\"pt-000002\"> </span></p><p dir=\"ltr\" class=\"pt-a-000001\"><span xml:space=\"preserve\" class=\"pt-000002\"> </span></p><p dir=\"ltr\" class=\"pt-a-000001\"><span class=\"pt-a0-000003\">{3单选题}</span><span lang=\"zh-CN\" class=\"pt-a0-000004\">中国的创新发展战略使科技领域不断取得新成果,下列说法正确的是</span><span lang=\"zh-CN\" class=\"pt-a0-000004\">( )</span></p><p dir=\"ltr\" class=\"pt-a-000001\"><span class=\"pt-a0-000004\">A.智能机器人只能通过声音信号控制</span><span xml:space=\"preserve\" class=\"pt-a0-000004\"> </span><span class=\"pt-a0-000004\">B.北斗卫星导航是通过光纤传递信息</span></p><p dir=\"ltr\" class=\"pt-a-000001\"><span class=\"pt-a0-000004\">C.无人自动驾驶汽车行驶不需要消耗能量</span><span xml:space=\"preserve\" class=\"pt-a0-000004\"> </span><span class=\"pt-a0-000004\">D.用5G手机上网是通过电磁波传递信息</span></p><p dir=\"ltr\" class=\"pt-a-000001\"><span class=\"pt-a0-000004\">{答案}D</span></p><p dir=\"ltr\" class=\"pt-a-000005\"><span class=\"pt-a0-000003\">{解析}</span><span class=\"pt-a0-000006\">A.智能机器人可以通过电磁波信号控制。B.北斗卫星通过电磁波传递信息。C.无人驾驶汽车需要消耗能量。</span></p><p dir=\"ltr\" class=\"pt-a-000001\"><span class=\"pt-a0-000003\">";
  366. // string qus1 = "{1问答题}文字{答案}4*4=16,3+3+3=9{解析}正方形面积为边长的平方,三角形的边长*3为周长{知识点}三角形,正方形,面积{2问答题}圆的面积公式是什么。{解析}正方形面积为边长的平方,三角形的边长*3为周长{答案}4*4=16,3+3+3=9{配分}10{知识点}三角形,正方形,面积{应用}{3问答题}平行四边形的面积公式是什么。{配分}10{应用}";
  367. // string qus2 = "{2问答题}圆的面积公式是什么。{解析}正方形面积为边长的平方,三角形的边长*3为周长{答案}4*4=16,3+3+3=9{配分}10{知识点}三角形,正方形,面积{应用}";
  368. // string qus3 = "{3问答题}平行四边形的面积公式是什么。{配分}10{应用}";
  369. // var rrre = Regex.Split(qus, "{([\\s]*?)}");
  370. // var rrr= Regex.Split(qus, "{([\\S]*?)}");
  371. // var rrrs = Regex.Split(qus, "{(.*?)}");
  372. // List<string> an = new List<string>();
  373. // bool taga = false;
  374. // bool tagb = false;
  375. // int ina = 0;
  376. // int inb = 0;
  377. // int inc = 0;
  378. // int ind = 0;
  379. // for (int i = 0; i < qus1.Length; i++) {
  380. // if (qus1[i].Equals('{')) {
  381. // taga = true;
  382. // ina = i;
  383. // }
  384. // if (qus1[i].Equals('}')&& taga==true)
  385. // {
  386. // inb = i;
  387. // tagb = true;
  388. // }
  389. // if (inb > 0 && taga&& tagb) {
  390. // an.Add(qus1.Substring(ina, inb - ina));
  391. // taga = false;
  392. // tagb = false;
  393. // ina = 0;
  394. // inb = 0;
  395. // }
  396. // }
  397. // List<string> sdee = new List<string>();
  398. // sdee.Add("三角形");
  399. // sdee.Add("正方形");
  400. // sdee.Add("面积");
  401. // sdee.Add("正方形");
  402. // sdee.Add("周长");
  403. // sdee.Add("圆");
  404. //var fd= sdee.IndexOf("圆");
  405. // var fr = sdee.IndexOf("方");
  406. // string ssss = "三角形.正方形,面积、正方形,周长:圆";
  407. // string[]eeee= Regex.Split(ssss, "\\.|\\.|\\、|\\:|\\:|\\,|\\,|\\;|\\;");
  408. // var reg = "^[0-9]+(\\.?[0-9]+)?";
  409. // Match m1t = Regex.Match("1223.444,5678,", reg);
  410. // Console.WriteLine(m1t.Value);
  411. // Dictionary<string, string> question = new Dictionary<string, string> {
  412. // { "Summary", "{\\d+问答题}" },
  413. // { "Answer", "{答案}" },
  414. // { "Score", "{配分}" },
  415. // { "Point", "{知识点}" },
  416. // { "Analysis", "{解析}" },
  417. // { "Filed1", "{知识}" },
  418. // { "Filed2", "{理解}" },
  419. // { "Filed3", "{应用}" },
  420. // { "Filed4", "{分析}" },
  421. // { "Filed5", "{综合}" },
  422. // { "Filed6", "{评鉴}" }
  423. // };
  424. // Dictionary<string, string> dict = new Dictionary<string, string> ();
  425. // foreach (var mkey in question.Keys) {
  426. // //比较最短的
  427. // List<string> val = new List<string>();
  428. // string RegexStr = question [mkey] +".*";
  429. // Match mt = Regex.Match(qus1, RegexStr);
  430. // val.Add(mt.Value);
  431. // foreach (var skey in question.Keys)
  432. // {
  433. // if (mkey != skey) {
  434. // RegexStr = question[mkey] + "([\\s\\S]*?)" + question[skey];
  435. // mt = Regex.Match(qus1, RegexStr);
  436. // if (!string.IsNullOrWhiteSpace(mt.Value)) {
  437. // val.Add(mt.Value);
  438. // }
  439. // }
  440. // }
  441. // val = val.OrderBy(s => s.Length).ToList() ;
  442. // dict.Add(mkey,val.First());
  443. // }
  444. // var keys = dict.Keys;
  445. // foreach (string key in keys) {
  446. // switch (key) {
  447. // case "Summary":
  448. // break;
  449. // case "Answer":
  450. // break;
  451. // case "Score":
  452. // break;
  453. // case "Point":
  454. // break;
  455. // case "Filed1":
  456. // break;
  457. // case "Filed2":
  458. // break;
  459. // case "Filed3":
  460. // break;
  461. // case "Filed4":
  462. // break;
  463. // case "Filed5":
  464. // break;
  465. // case "Filed6":
  466. // break;
  467. // default: break;
  468. // }
  469. // }
  470. //IWorkbook wb = new XSSFWorkbook();
  471. //ISheet sheet = wb.CreateSheet("linechart");
  472. //IRow row;
  473. //ICell cell;
  474. //for (int rowIndex = 0; rowIndex < NUM_OF_ROWS; rowIndex++)
  475. //{
  476. // row = sheet.CreateRow((short)rowIndex);
  477. // for (int colIndex = 0; colIndex < NUM_OF_COLUMNS; colIndex++)
  478. // {
  479. // cell = row.CreateCell((short)colIndex);
  480. // cell.SetCellValue(colIndex * (rowIndex + 1));
  481. // }
  482. //}
  483. //IDrawing drawing = sheet.CreateDrawingPatriarch();
  484. //IClientAnchor anchor1 = drawing.CreateAnchor(0, 0, 0, 0, 0, 5, 10, 15);
  485. //CreateChart(drawing, sheet, anchor1, "title1", "title2");
  486. //IClientAnchor anchor2 = drawing.CreateAnchor(0, 0, 0, 0, 0, 20, 10, 35);
  487. //CreateChart(drawing, sheet, anchor2, "s1", "s2");
  488. //using (FileStream fs = File.Create("F:\\test5.png"))
  489. //{
  490. // wb.Write(fs);
  491. //}
  492. //HTEXTranslator("F:\\zip测试.zip");
  493. //var a = new HandWriteRecognizerCSharp.InkAnalyzer();
  494. // a.Recognizer("", 1);
  495. // var sesa= Convert.FromBase64String(s_Blank_wml_base64);
  496. //var s_EmptyDocument = new WmlDocument("F:\\EmptyDocument.xml", Convert.FromBase64String(s_Blank_wml_base64));
  497. // s_EmptyDocument.Save();
  498. // Stream stream123 = new MemoryStream(sesa);
  499. // // 把 Stream 转换成 byte[]
  500. // byte[] bytes = new byte[stream123.Length];
  501. // stream123.Read(bytes, 0, bytes.Length);
  502. // // 设置当前流的位置为流的开始
  503. // stream123.Seek(0, SeekOrigin.Begin);
  504. // // 把 byte[] 写入文件
  505. // FileStream fs = new FileStream("F:\\123.xml", FileMode.Create);
  506. // BinaryWriter bw = new BinaryWriter(fs);
  507. // bw.Write(bytes);
  508. // bw.Close();
  509. // fs.Close();
  510. // FileStream stream= new FileStream("F:\\WORD解析\\测试多种插入图形.docx", FileMode.Open,FileAccess.ReadWrite);
  511. // var s = new DOXC2HTMLTranslator().Translate(stream);
  512. // var saes = Convert.FromBase64String(s_Blank_wml_base64);
  513. // List<string> option = new List<string>() {"A","B","A","C","D","B","D","A" ,"C","A","C"};
  514. //var dddd= option.GroupBy(x => x);
  515. // foreach (var dd in dddd) {
  516. // var ddds = dd.Count();
  517. // Console.WriteLine(ddds);
  518. // }
  519. // Console.WriteLine(getWeek(DateTimeOffset.UtcNow.AddDays(-13)));
  520. // var str = "123456789";
  521. // var aa = DESEnCode(str);
  522. // Console.WriteLine(aa);
  523. // var encode = "52A8A78FB4FAB031F5D62EAE7AD5EA6B9AC97E2F05771FA7455EBF68265AD0D7AC892DDC041D15486EC8E90922C0CA1FE1C59962FE5C980C29861DFC1FC0CD30E59B6CC02EBC46172221A71CA7FF8F0111604D862BB78C317AB52608F08639B4B815A3F8A2D0C9D980E5D4C82E5F94618C30C5C87A52AFF44B60E931508381279C6F53BA47453F96570FF73C41E9D8456690BBA9BE1B78146AE66F93CB0FDCBE8030AC2A6302F5CC1C9064E8282C9E7B0B96F447D44D73AE0D0532F939999A6CEA4FBD9F9AF09E44BEDCD6252898C4C0DA2E299D193A690DDADFB0CCE641F228ADA1434AFFC16EDC4803FF71D8A705FD525E735DCA594B2AFC5AF529E999F1CEE7AB4E1CE2EDBDED422EF41900CCDDA67E7BA71B4523E921ABDF0A6853E3E3F4";
  524. // Console.WriteLine(Decrypt(encode, "cstftsmf"));
  525. // List<double> ds = new List<double>();
  526. // ds.Add(0);
  527. // ds.Add(51.222);
  528. // ds.Add(60);
  529. // ds.Add(70);
  530. // ds.Add(80);
  531. // Console.WriteLine(2.ToString().PadRight(4, '0') + 1.ToString().PadLeft(3, '0'));
  532. // Console.WriteLine(25.ToString().PadRight(4, '0') + 10.ToString().PadLeft(3, '0'));
  533. // Console.WriteLine(225.ToString().PadRight(4, '0') + 110.ToString().PadLeft(3, '0'));
  534. // Console.WriteLine(125.ToString().PadRight(4, '0') + 0.ToString().PadLeft(3, '0'));
  535. // XmlDocument doc = new XmlDocument();
  536. // Console.WriteLine(BulletAutonumberHelper.IntToCircle(15, true));
  537. // Console.WriteLine( BulletAutonumberHelper.IntToRoman(12, true));
  538. // Console.WriteLine(BulletAutonumberHelper.IntToRoman(27, true));
  539. // Console.WriteLine(BulletAutonumberHelper.IntToChar(25,false));
  540. // Console.WriteLine(BulletAutonumberHelper.IntToChar(26, false));
  541. // Console.WriteLine(BulletAutonumberHelper.IntToChar(27, false));
  542. // Console.WriteLine(BulletAutonumberHelper.IntToChar(2019, false));
  543. // Color color = ColorTranslator.FromHtml("#" + "FF0000CC");
  544. // string cls= ColorTranslator.ToHtml(color);
  545. // string time = string.Format("{0:yyyyMMdd-HH:mm:ss.fff}", DateTimeOffset.Now);
  546. // TimeSpan ts = DateTimeOffset.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
  547. // var tim= Convert.ToInt64(ts.TotalMilliseconds).ToString();
  548. // string appid = "4E28C6F06EDA495491FA7943C143E534";
  549. // string appkey = "3B83808EE00E42DFBBEB7502331CF1D8";
  550. // string key = appid + appkey + tim;
  551. // var sha = ShaHashHelper.GetSHA1(key).ToUpper() ;
  552. // List<IPAddress> a = getIPAddressE();
  553. // foreach (var ae in a) {
  554. // Console.WriteLine(ae);
  555. // }
  556. // string jsonStr = "{name:计算数据大表名称,num:15,sheet:[{sheetName:不同时期,nums:[23,52,86],special:[准业务,磨合期,老业主,稳定期]},{sheetName:50分制}]}";
  557. // string jsonStro = jsonStr.Replace(",", ",");
  558. }
  559. private static string s_Blank_wml_base64 = @"UEsDBBQABgAIAAAAIQAJJIeCgQEAAI4FAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAAC
  560. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  561. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  562. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  563. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  564. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  565. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  566. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  567. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  568. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0
  569. lE1Pg0AQhu8m/geyVwPbejDGlPag9ahNrPG8LkPZyH5kZ/v17x1KS6qhpVq9kMAy7/vMCzOD0UqX
  570. 0QI8KmtS1k96LAIjbabMLGWv08f4lkUYhMlEaQ2kbA3IRsPLi8F07QAjqjaYsiIEd8c5ygK0wMQ6
  571. MHSSW69FoFs/407IDzEDft3r3XBpTQAT4lBpsOHgAXIxL0M0XtHjmsRDiSy6r1+svFImnCuVFIFI
  572. +cJk31zirUNClZt3sFAOrwiD8VaH6uSwwbbumaLxKoNoInx4Epow+NL6jGdWzjX1kByXaeG0ea4k
  573. NPWVmvNWAiJlrsukOdFCmR3/QQ4M6xLw7ylq3RPt31QoxnkOkj52dx4a46rppLbYq+12gxAopFNM
  574. vv6CcVfouFXuRFjC+8u/UeyJd4LkNBpT8V7CCYn/MIxGuhMi0LwD31z7Z3NsZI5Z0mRMvHVI+8P/
  575. ou3dgqiqYxo5Bz4oaFZE24g1jrR7zu4Pqu2WQdbizTfbdPgJAAD//wMAUEsDBBQABgAIAAAAIQAe
  576. kRq38wAAAE4CAAALAAgCX3JlbHMvLnJlbHMgogQCKKAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  577. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  578. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  579. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  580. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  581. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  582. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  583. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  584. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  585. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjJLbSgNBDIbvBd9hyH032woi0tneSKF3
  586. IusDhJnsAXcOzKTavr2jILpQ217m9OfLT9abg5vUO6c8Bq9hWdWg2JtgR99reG23iwdQWchbmoJn
  587. DUfOsGlub9YvPJGUoTyMMaui4rOGQSQ+ImYzsKNchci+VLqQHEkJU4+RzBv1jKu6vsf0VwOamaba
  588. WQ1pZ+9AtcdYNl/WDl03Gn4KZu/Yy4kVyAdhb9kuYipsScZyjWop9SwabDDPJZ2RYqwKNuBpotX1
  589. RP9fi46FLAmhCYnP83x1nANaXg902aJ5x687HyFZLBZ9e/tDg7MvaD4BAAD//wMAUEsDBBQABgAI
  590. AAAAIQB8O5c5IgEAALkDAAAcAAgBd29yZC9fcmVscy9kb2N1bWVudC54bWwucmVscyCiBAEooAAB
  591. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  592. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  593. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  594. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  595. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKyTTU+EMBCG7yb+B9K7FFZdjdmyFzXZq67x3C1T
  596. aISWdMYP/r0VswrKogcuTWaavs/TSbtav9VV9AIejbOCpXHCIrDK5cYWgj1sb08uWYQkbS4rZ0Gw
  597. FpCts+Oj1R1UksIhLE2DUUixKFhJ1FxxjqqEWmLsGrBhRztfSwqlL3gj1ZMsgC+SZMl9P4Nlg8xo
  598. kwvmN/kpi7ZtE8h/ZzutjYJrp55rsDSC4AhE4WYYMqUvgATbd+Lgyfi4wuKAQm2Ud+g0xcrV/JP+
  599. Qb0YXowjtRXgo6HyRmtQ1Mf/3JrySA94jIz5H6PoyL1BdPUUfjknnsILgW96V/JuTacczud00M7S
  600. Vu6qnsdXa0ribE6JV9jd/3qVveZehA8+XPYOAAD//wMAUEsDBBQABgAIAACqpkDt0tkFcQIAAOsF
  601. AAARAAAAd29yZC9kb2N1bWVudC54bWzsvQdgHEmWJSYvbcp7f0r1StfgdKEIgGATJNiQQBDswYjN
  602. 5pLsHWlHIymrKoHKZVZlXWYWQMztnbz33nvvvffee++997o7nU4n99//P1xmZAFs9s5K2smeIYCq
  603. yB8/fnwfPyL+x7/3H3z8e7xblOllXjdFtfzso93xzkdpvpxWs2J58dlHX715tn3wUdq02XKWldUy
  604. /+yj67z56Pc4+o2Tx1ePZtV0vciXbUogls2jq9X0s4/mbbt6dPduM53ni6wZL4ppXTXVeTueVou7
  605. 1fl5Mc3vXlX17O7ezu4O/7aqq2neNNTfSba8zJqPFNyiD61a5Uv68ryqF1lLf9YXdxdZ/Xa92ibo
  606. q6wtJkVZtNcEe+dTA6b67KN1vXykILYtQnjlkSCkP8wb9W36lVeeKgW4x7t1XhIO1bKZFys3jK8L
  607. jb6cGyCXmwZxuShNu6vV7v6HzcHTOruiHw7gbdCfyUuLUjDfDHF35xYzAhD2jdugEPZpMFlkxdJ1
  608. /LVI4xP34usAcFh9XlfrlYNWfBi0s+VbCwuC+R6wdI78oTXvBaCHzOt5tiIBWkwfnV0sqzqblIQR
  609. UTwFR35E6iJNSWFMqtk1/85/rdKrR6R2Zq8++2hn59793f1j0j360dP8PFuXrfeNvqdwqrcQ/Ndt
  610. Vrf0SjGjhnh3mS2o39//8+pJNn370d3YO6fLmX3DNHh8l7BxiDX5tH1Z+y+vLl7/gN4iTtzd29vn
  611. rub0+/2DfQdEG36R1fRtW5Hg7O5L07q4mLfuz0nVttXC/V3m59638zyb5aSCHuzxn+dV1Xp/Xqxb
  612. /jPE3UMYfyqZ8atR0Uf/TwAAAP//UEsDBBQABgAIAAAAIQAw3UMpqAYAAKQbAAAVAAAAd29yZC90
  613. aGVtZS90aGVtZTEueG1s7FlPb9s2FL8P2HcgdG9jJ3YaB3WK2LGbLU0bxG6HHmmJlthQokDSSX0b
  614. 2uOAAcO6YYcV2G2HYVuBFtil+zTZOmwd0K+wR1KSxVhekjbYiq0+JBL54/v/Hh+pq9fuxwwdEiEp
  615. T9pe/XLNQyTxeUCTsO3dHvYvrXlIKpwEmPGEtL0pkd61jfffu4rXVURigmB9Itdx24uUSteXlqQP
  616. w1he5ilJYG7MRYwVvIpwKRD4COjGbGm5VltdijFNPJTgGMjeGo+pT9BQk/Q2cuI9Bq+JknrAZ2Kg
  617. SRNnhcEGB3WNkFPZZQIdYtb2gE/Aj4bkvvIQw1LBRNurmZ+3tHF1Ca9ni5hasLa0rm9+2bpsQXCw
  618. bHiKcFQwrfcbrStbBX0DYGoe1+v1ur16Qc8AsO+DplaWMs1Gf63eyWmWQPZxnna31qw1XHyJ/sqc
  619. zK1Op9NsZbJYogZkHxtz+LXaamNz2cEbkMU35/CNzma3u+rgDcjiV+fw/Sut1YaLN6CI0eRgDq0d
  620. 2u9n1AvImLPtSvgawNdqGXyGgmgookuzGPNELYq1GN/jog8ADWRY0QSpaUrG2Ico7uJ4JCjWDPA6
  621. waUZO+TLuSHNC0lf0FS1vQ9TDBkxo/fq+fevnj9Fxw+eHT/46fjhw+MHP1pCzqptnITlVS+//ezP
  622. xx+jP55+8/LRF9V4Wcb/+sMnv/z8eTUQ0mcmzosvn/z27MmLrz79/btHFfBNgUdl+JDGRKKb5Ajt
  623. 8xgUM1ZxJScjcb4VwwjT8orNJJQ4wZpLBf2eihz0zSlmmXccOTrEteAdAeWjCnh9cs8ReBCJiaIV
  624. nHei2AHucs46XFRaYUfzKpl5OEnCauZiUsbtY3xYxbuLE8e/vUkKdTMPS0fxbkQcMfcYThQOSUIU
  625. 0nP8gJAK7e5S6th1l/qCSz5W6C5FHUwrTTKkIyeaZou2aQx+mVbpDP52bLN7B3U4q9J6ixy6SMgK
  626. zCqEHxLmmPE6nigcV5Ec4piVDX4Dq6hKyMFU+GVcTyrwdEgYR72ASFm15pYAfUtO38FQsSrdvsum
  627. sYsUih5U0byBOS8jt/hBN8JxWoUd0CQqYz+QBxCiGO1xVQXf5W6G6HfwA04WuvsOJY67T68Gt2no
  628. iDQLED0zERW+vE64E7+DKRtjYkoNFHWnVsc0+bvCzShUbsvh4go3lMoXXz+ukPttLdmbsHtV5cz2
  629. iUK9CHeyPHe5COjbX5238CTZI5AQ81vUu+L8rjh7//nivCifL74kz6owFGjdi9hG27Td8cKue0wZ
  630. G6gpIzekabwl7D1BHwb1OnPiJMUpLI3gUWcyMHBwocBmDRJcfURVNIhwCk173dNEQpmRDiVKuYTD
  631. ohmupK3x0Pgre9Rs6kOIrRwSq10e2OEVPZyfNQoyRqrQHGhzRiuawFmZrVzJiIJur8OsroU6M7e6
  632. Ec0URYdbobI2sTmUg8kL1WCwsCY0NQhaIbDyKpz5NWs47GBGAm1366PcLcYLF+kiGeGAZD7Ses/7
  633. qG6clMfKnCJaDxsM+uB4itVK3Fqa7BtwO4uTyuwaC9jl3nsTL+URPPMSUDuZjiwpJydL0FHbazWX
  634. mx7ycdr2xnBOhsc4Ba9L3UdiFsJlk6+EDftTk9lk+cybrVwxNwnqcPVh7T6nsFMHUiHVFpaRDQ0z
  635. lYUASzQnK/9yE8x6UQpUVKOzSbGyBsHwr0kBdnRdS8Zj4quys0sj2nb2NSulfKKIGETBERqxidjH
  636. 4H4dqqBPQCVcd5iKoF/gbk5b20y5xTlLuvKNmMHZcczSCGflVqdonskWbgpSIYN5K4kHulXKbpQ7
  637. vyom5S9IlXIY/89U0fsJ3D6sBNoDPlwNC4x0prQ9LlTEoQqlEfX7AhoHUzsgWuB+F6YhqOCC2vwX
  638. 5FD/tzlnaZi0hkOk2qchEhT2IxUJQvagLJnoO4VYPdu7LEmWETIRVRJXplbsETkkbKhr4Kre2z0U
  639. QaibapKVAYM7GX/ue5ZBo1A3OeV8cypZsffaHPinOx+bzKCUW4dNQ5PbvxCxaA9mu6pdb5bne29Z
  640. ET0xa7MaeVYAs9JW0MrS/jVFOOdWayvWnMbLzVw48OK8xjBYNEQp3CEh/Qf2Pyp8Zr926A11yPeh
  641. tiL4eKGJQdhAVF+yjQfSBdIOjqBxsoM2mDQpa9qsddJWyzfrC+50C74njK0lO4u/z2nsojlz2Tm5
  642. eJHGzizs2NqOLTQ1ePZkisLQOD/IGMeYz2TlL1l8dA8cvQXfDCZMSRNM8J1KYOihByYPIPktR7N0
  643. 4y8AAAD//wMAUEsDBBQABgAIAKSopkCDd7GUMQQAAEIKAAARAAAAd29yZC9zZXR0aW5ncy54bWzs
  644. vQdgHEmWJSYvbcp7f0r1StfgdKEIgGATJNiQQBDswYjN5pLsHWlHIymrKoHKZVZlXWYWQMztnbz3
  645. 3nvvvffee++997o7nU4n99//P1xmZAFs9s5K2smeIYCqyB8/fnwfPyL+x7/3H3z8e7xblOllXjdF
  646. tfzso93xzkdpvpxWs2J58dlHX715tn3wUdq02XKWldUy/+yj67z56Pc4+o2Tx1ePmrxtqVmTEohl
  647. 82gx/eyjeduuHt2920zn+SJrxtUqX9KX51W9yFr6s764u8jqt+vV9rRarLK2mBRl0V7f3dvZ+fQj
  648. BVN99tG6Xj5SENuLYlpXTXXe4pVH1fl5Mc31h3mjvk2/8srTarpe5MuWe7xb5yXhUC2bebFqDLTF
  649. 14VGX84NkMtNg7hclKbd1e7OLYZ7VdUz+8Zt0MMLq7qa5k1DE7QoDYLF0nW83wNk+x5T3zpEBkWv
  650. 7+7wbw7zprwNIvLV82JSZ/W1j8Vi+ujsYlnV2aQkpiJsPiKeSlPiqh9U1SK9erTK6ymRllhyZ+ej
  651. u+ZLGlR1/rrN2pyaNKu8LJlPp2WeEdCrRxd1tiAOM5/Y92b5ebYu2zfZ5HVbrajhZUb4P9jzQE/n
  652. WZ1N27x+vcqmBPWkWrZ1VZq2s+pF1Z4Q19ZEVO8t5mP+y/v7tUgGvbvMFjS+gNu/qGY5cF3Xxe2n
  653. 4CODB1Hq7k3dVSTPdTHL34C6r9vrMn9Gg3ld/CA/Xs6+s27aguAy538AHjejkS/R/5fEFW+uV/mz
  654. PGvXRLyf1S55lp6VxeqLoq6r+mw5Ix76Brp8fDeYauqfFOascejgz1dV1ZoXd3buH+/cPzn1UUYb
  655. 9/3e03v3ngRD6n1//+GG7+/d390/Nvwb+X7/2YPT3QfD39+E36f37x0/+3T4+ycP7h3fPx7+/nT/
  656. 3sHxBvyf7eye7j706Oso+njxCMr0ZW3elb/BxOlC3j/JFpO6yNIvoHRtH4tHk/rtk2JpWk1yUkZ5
  657. //vX64lpsr3tf90ssrJ8RnrAfO0RePFoVjSrp/m590n5RVZfuP6C1vWG70gffcf2AT2X15/X1Xrl
  658. t7mqs5UwsGm4u78fQCmW7fNiYb5t1pPXIYQlKV2vwXo5+/KythQPiEzT05JQsKJ4nrFE8Tv5cvur
  659. 1566K+vXEJ78i2y1EsGbXOx+9lFZXMzbXYhNS3/NyMbzH5OLPf1uj7/bk+/4j2yKcVNr/cV9tmc+
  660. 89rdM5/dc5/tm8/23Wf3zWf33Wefms8+xWdz0kU1mY23pA7Mr/j8vCrL6iqffdt93/vIEaKZZ6v8
  661. qVgVqwYq+ViNTZNePsrfkQXLZ0VLTtSqmC2ydzBoe55Y6Ttldl2t2+ANbcFt8OoqhDfL2izQiXcD
  662. UFas+piyPZwWxOqvrxcTZ+LGbnhl0ZBuXZFFbKvafD/i7xmmen5H/08AAAD//1BLAwQUAAYACAAA
  663. ACEAF6AWTgIBAACsAQAAFAAAAHdvcmQvd2ViU2V0dGluZ3MueG1sjNDBSgMxEAbgu+A7LLm32ZUi
  664. snS3IFLxIoL6AGl2dhvMZMJMaqxPb9qqIF56yySZj5l/ufpAX70Di6PQqWZeqwqCpcGFqVOvL+vZ
  665. jaokmTAYTwE6tQdRq/7yYpnbDJtnSKn8lKooQVq0ndqmFFutxW4BjcwpQiiPIzGaVEqeNBp+28WZ
  666. JYwmuY3zLu31VV1fq2+Gz1FoHJ2FO7I7hJCO/ZrBF5GCbF2UHy2fo2XiITJZECn7oD95aFz4ZZrF
  667. PwidZRIa07wso08T6QNV2pv6eEKvKrTtwxSIzcaXBHOzUH2Jj2Jy6D5hTXzLlAVYH66N95SfHu9L
  668. of9k3H8BAAD//wMAUEsDBBQABgAIAAAAIQCAS4U32AgAAAJCAAAaAAAAd29yZC9zdHlsZXNXaXRo
  669. RWZmZWN0cy54bWzsW0tz2zYQvnem/4HDuyPJcqzEEyXjOHHiGecpe3qGKMhiTRIsH3bcX9/FgoQo
  670. UhR3TebWk0wQ2G9f+BaSsW/e/QoD50Emqa+iuTt5MXYdGXlq5Ud3c/f25vLoleukmYhWIlCRnLtP
  671. MnXfvf3zjzePZ2n2FMjUAQFRevYYe3N3k2Xx2WiUehsZivRF6HuJStU6e+GpcKTWa9+To0eVrEbH
  672. 48kY/4oT5ck0BbQLET2I1C3EhU1pKpYRYK1VEoosfaGSu1Eokvs8PgLpscj8pR/42RPIHp+WYtTc
  673. zZPorFDoyCqkl5wZhYqPckXSsGIPrln5QXl5KKMMEUeJDEAHFaUbP96a8VxpYOKmVOnhkBEPYVDO
  674. e4wnJw08azIlBh8S8Qih2ApsiNvjjJVZFAbGDzq+26jWJU7Gh4wpIqJFWB0oKuxilpqEwo+smOe5
  675. pupc2A998vtTovLYqhP7/aRdRfdWlt6WDM3Gp7jzqqalLAGNrbvYiFi6TuidXd1FKhHLADR6nJw4
  676. OiPdt0AVK+V9kGuRB1mqH5PvSfFYPOHHpYqy1Hk8E6nn+zdAISAl9EHg5/Mo9V14I0Wanae+2Pty
  677. o2ftfeOlWUXae3/luyONmP4LMh9EMHePj8uRC63BzlggortyTEZHt4uqJnPXDi1B7twVydHiXAsb
  678. oZnlZ8XceMd4eEJVYuHBzgMcsc4kkBCwmMYJfB3d4xkwmnn4mWvnijxTBQgKALCqWHiseRy4CZhq
  679. YRgb3sr1tfLu5WqRwYu5i1gweHv1PfFVAjQ6d1+/1pgwuJCh/9lfraQuEMXYbbTxV/KvjYxuU7na
  680. jv+4RHouJHoqjzJQ/3SGWRCkq4+/PBlrmgTRkdAR/qoXAIdBOCo4qFDub7UxAzVUHPynhJyYGO5F
  681. 2UihS5qD+h8EQqvz3kDH2qKqASiXpeu0v4iT/iJe9heBydvPF7P+WsBBpm9ETG5UspIe1Ex5Jvmq
  682. fpi+PpCyekUjizpXNJKmc0UjRzpXNFKic0UjAzpXNALeuaIR384VjXAeXOEJJK56Fk3RG6SNfeNn
  683. AdTJDqab9KS6otQ430Ui7hIRbxxdWOtqHyLLRb7MaKoinT6fLBdZovRxs8MjUJ311n02J38M441I
  684. fTiVdwH1dP2NPvo4nxIfjq8dUC9N8jVswoPJ3hL2PRCe3KhgJRPnRv4yEWWs/6qchTlldCrXM6zX
  685. /t0mc+BUqEtuJ9hpi9PbPWHkX/sp+uBgNT9tMaVLOCmGpy152S78i1z5eVi6hnAaOTV8zghzDQJV
  686. POyiEx2i5u7qtEIHgGKCKRd8E1A+QX9TXPjydYwp+ptS9Ez5BP1N4XqmfMyPw/FlM80H+FnFIW2v
  687. GXvvXqhAJes8KPdAJz3M2DvYQtBMYG9iK59EEjP2Dt6hT+fc8+CbGyVP2bHY8igDhR0Og4KbjW4L
  688. Oyg12pswLGIHqIZ1zMDqx7UMIDbp/pQPvv4RmFsMkKXtWbNzO09bPAAliHSG/pGrrPsMfdzCeVSU
  689. qwh+LkmlQ0Obtuw8KlqRT6beMWLcr/AxgPpVQAZQv1LIAGrJj/Yzj62JdJD+xZGBxaZlW8Uw7cjM
  690. PGMzswXilYCB6ibh/NWye9tzoVk3CSjsADXrJgGFHZ1aLbN1k4A1WN0kYLVUjfYYVTmVYxS7blaB
  691. 7EmAYNEw5E0AGoa8CUDDkDcBqD95d4MMR94ELDY3WE6tkjcBCKdwvupboCp5E4DY3GDYrvjNqKx7
  692. KOXwl9sByJuAwg5Qk7wJKOzotJE3AQuncDKhhmWpjoA1DHkTgIYhbwLQMORNABqGvAlAw5A3Aag/
  693. eXeDDEfeBCw2N1hOrZI3AYhNDxaoSt4EIJzC4Ya95I27/reTNwGFHaAmeRNQ2NGpEao9pBKw2AGq
  694. YVnyJmDhFE4yFFiY3ByjhiFvgkXDkDcBaBjyJgANQ94EoP7k3Q0yHHkTsNjcYDm1St4EIDY9WKAq
  695. eROA2Nywl7xxM/528iagsAPUJG8CCjs6NUK1PEfAYgeohmXJm4CF+dKbvAlAOOW5QByLhiFvgkXD
  696. kDcBaBjyJgD1J+9ukOHIm4DF5gbLqVXyJgCx6cECVcmbAMTmhr3kjXvkt5M3AYUdoCZ5E1DY0akR
  697. qiVvAhY7QDUsS3UErGHImwCEidmbvAlAOOUZQLiLOGEahrwJFg1D3gSg/uTdDTIceROw2NxgObVK
  698. 3gQgNj1YoCp5E4DY3KDv2cJ9UfL11ElLElDvGZS3GsiAxy1BogIWBv6Ua5lAV6Hsvh3SE7C0kIHY
  699. kh5UE98rde/QLnZPWxKEDOUvA1/hle4nvKVTaUSYzg50Etx8u3A+mwaYxjpMqd2bN9A9VG0XwvYk
  700. 3TgEemZPMbTsxOXNci0NGoR0X1fRAoQ9oVfQEFS09ejFus8HJmJTVTGM/7ctUPFv6D9dlXPG45PL
  701. 2cdJYVGjQWopoQUUtJiYDinzeA4NUam53VxoUvRRFbPwqTmpaK86wf8i6YfW9io0rMMV1vjC2RPs
  702. eqqav21DQquXApqnvuleqIZzIrjhvW8clLwvx0uYi41ITPi3zSXlnKLDpN3X72fT85fYsYY9ZNrE
  703. eynjr4CPOuqHa/BMik8qz7Sbrh+CEmCskU3/mV4LrX34sbeZT/x9oJlPv/xYNPjpxNrp59tZue3n
  704. 08Pbfr6lceqFUdXTN01LLaenLy9fI7lgKyBSPLTR4d3K7bD+9yNk1vtL481Kf+CrcqTSH4hjYDma
  705. DJ8tKeJBdIQHTX0HdkvRs2Gv0WHHhvZjNXlaGjvQ6GbgiwaP7dcAM2/nmrGJXIvemW5mOKAzNjsc
  706. 3OYOTjGeayoI/YWoUpeGwDrLwGQV/HEVaZ54LBoMDR+tfgkjCt5fyCD4IjAHMxW3Tw3kWu8vEDQZ
  707. 4yGuJmqpskyF7esT7HFoFQDpUFXGPGoj2vMkysOlTIqOiVZW1YefBq1AaweOt6QC1dPtuu3ksJen
  708. 4JqFLgl11t9hpHr+Fi+dibMlrBoD7t0HaNU+3mvNLPNit6ZUee5/kipDnb79DwAA//8DAFBLAwQU
  709. AAYACAAAACEA7eys33sBAADfAgAAEQAIAWRvY1Byb3BzL2NvcmUueG1sIKIEASigAAEAAAAAAAAA
  710. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  711. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  712. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  713. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  714. AAAAAAAAAAAAAAAAAAAAAAAAAAAAfJJdT8IwFIbvTfwPS+9HuwFGFjYSP7iSxESMxrvaHqCydU1b
  715. mPx7zzYYLBqTXvR8Peect53Ovos82IN1qtQpiQaMBKBFKZVep+R1OQ9vSeA815LnpYaUHMCRWXZ9
  716. NRUmEaWFZ1sasF6BC5CkXSJMSjbem4RSJzZQcDfADI3BVWkL7tG0a2q42PI10JixG1qA55J7Tmtg
  717. aDoiOSKl6JBmZ/MGIAWFHArQ3tFoENFzrgdbuD8LmshFZqH8weBOx3Ev2VK0wS7726kusaqqQTVs
  718. xsD5I/q+eHppVg2VrrUSQLKpFIlXPodsSs9XvLnd5xcI37o7AwPCAvelzR6tEk3NyVFLvYVDVVrp
  719. sKxnYZ0EJ6wyHh+whfYcmJ1z5xf4oisF8u5w5P/2120s7FX9E7JJ06czcZtGvHZIkAHKkbTinSJv
  720. w/uH5ZxkMYuiEA+Ll2yUROOEsY96nV59LU/rKI6D/U+MQzbGs2STZDzqE0+AVpn+l8x+AAAA//8D
  721. AFBLAwQUAAYACAB1gqVAQzGb3QQJAACCRAAADwAAAHdvcmQvc3R5bGVzLnhtbOy9B2AcSZYlJi9t
  722. ynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcplVmVdZhZAzO2dvPfee++999577733
  723. ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/Iv7Hv/cffPx7vFuU6WVeN0W1/Oyj3fHOR2m+
  724. nFazYnnx2UdfvXm2ffBR2rTZcpaV1TL/7KPrvPno9zj6jZPHV4+a9rrMm5QALJtHi+lnH83bdvXo
  725. 7t1mOs8XWTOuVvmSvjyv6kXW0p/1xd1FVr9dr7an1WKVtcWkKIv2+u7ezs6nHymY+jZQqvPzYpo/
  726. rabrRb5s+f27dV4SxGrZzItVY6Bd3QbaVVXPVnU1zZuGBr0oBd4iK5YWzO5+D9CimNZVU523YxqM
  727. YsSg6PXdHf5tUX6ULqaPzi6WVZ1NSiIeAfqIaJemRL1ZNX2an2frsm34I/6wflnrh/qZ+dT+KR88
  728. q5Ztk149ypppUbwhjAj4oqB+vn28bIqP6Js8a9rjpsiiX87xS/SbadN6Hz8pZsVHd8O+mx9Qs8us
  729. /Oyjvb3+dyfN8Ldltrww3+bL7a9e+3h6H02o188+yurt18ceiMd3fULoXyGxqI9VlICrLgGbVTYt
  730. GJvsvM2J6WjO0XVZgMf3Hnxq/ni1xrxl67YKR/O7bm8HYCY5sRS13BU48ucxvaZN6JuPXG/aiv/q
  731. N1Ik9i1GARLb2wFJ3ND0L3/4+KjLZzwRLcnNaxFfapGfP6+mb/PZ65a++Owj7pc+/OrsZV1UNYno
  732. Zx89fKgfvs4XxbeL2SxfKrZouJwXs/y783z5VZPP3Oc/8YzFTCFOq/WSft/79MFHbr7KZnb6bpqv
  733. ILrUZpmB917gtRLvNF5vDGRdOJzkg07f/OEvMh3v2lkb6mueZ9B16e6N3T38Jrvbi0L/GoDufVOA
  734. 9r8pQPe/KUCfflOAHnxTgA6+KUAPPxRQW02FZX0g9x7e6r0e793yvR6r3fK9Hmfd8r0eI93yvR7f
  735. 3PK9Hpvc8r0eV9zyvR4T3OK9acZ/995kWr0H/7wp2jK/UeXtfiMqVs1P+jKrs4s6W81TuC+9vm6E
  736. 83o9aW+H9u43gfbrtq6WFzd2tifi9IGdnS5W86wpmpu7+0am5A380fTzupjd2OH9Abt3Uxcvy2ya
  737. z6tyltfpm/xd+/WgvKjS1+Ic3YjoNzLpz4uLeZu+nrOavrHLTwcm43a9PC+a9uYuBoZ1uy5uNcOf
  738. DnDwTV18kc+K9cIQ6xYe1Kf3vpGO9m7uaP+DOsLE3GY49z+8l1uM5dMP6gUcMDQWv5cHH97LLcZy
  739. 8OG93Lu5l6+psZ5ScuJ2Qvnga8r9SVVW9fm6vLWCefA1pd92dLvhfE0FYHu5lZp58DWlP1DJ6fF0
  740. SrHrbTj6a86R083v0dfXnCanpN+jr685WV1t/R49fs2J66rt9+jxm9Df79Hd11Tkr/LLAnnTr/c2
  741. Y2l94huRvDdAk/S9/JufWFftzQ703jeS6zhbUpqpydPb9XlvQF7fr8/Atr4HB3wTRvY9uvsmrO17
  742. dPdNmN336O5D7e/tu/qmDPF79Pg1VX1gkd+ju6+p7QPT/B7dfU1VH7XRt/AHv+b09W30Lfr6mhPX
  743. t9G36OtrztqQjb5Fj19z4oZs9C16/CZt9C26+5o2OmoQbtHdN2kQbtHdN2kQbtHdN2kQbtHdN2UQ
  744. bu7qmzYIt+jxa+qVqEG4RXdfU7XEDMJtuvuaeiVqEG4Run/N6esbhFv09TUnrm8QbtHX15y1IYNw
  745. ix6/5sQNGYRb9PhNGoRbdPdNGoRbdPdNGoRbdPdNGoRbdPdNGoRbdPdNGYSbu/qmDcItevyaeiVq
  746. EG7R3ddULVGDcIvuvqZeiRqE/Ru7++YMwi36+poT1zcIt+jra87akEG4RY9fc+KGDMItevwmDcIt
  747. uvsmDcItuvsmDcItuvsmDcItuvsmDcItuvumDMLNXX3TBuEWPX5NvRI1CLfo7muqlqhBuEV3X1Ov
  748. RA3C/Ru7++YMwi36+poT1zcIt+jra87akEG4RY9fc+KGDMItevwmDcItuvsmDcItuvsmDcItuvtw
  749. g/Beo/smDcItuvumDMLNXX3TBuEWPX5NvRI1CLfo7muqlqhBuEV3X1OvRA3Cpzd2980ZhFv09TUn
  750. rm8QbtHX15y1IYNwix6/5sQNGYRb9PhNGoRbdPdNGoRbdPdNGoRbdPdNGoRbdPdNGoRbdPdNGYSb
  751. u/qmDcItevyaeiVqEG7R3ddULVGDcIvuvqZeeb2etGWeni5W86wpmhv72R1gEfrwFz2r6kXWUpsb
  752. ez1btvmyeY9u9wYm7/261cG+ys/zOl9O8xu7vfeNdGtG+x79DjDP+/X7pKrepm8KGvLNHQ6wz3t2
  753. WEzKorqos9X8utfDgxtff/PlSfrtnMW69/bDKCqP7xKojKjbvm6vy7yRD2ms+IteaK9XBHeV1Rkj
  754. BRiz/Dxblwwj1YZnNNQXgFx+5DAEStTgMivtlx7+ion3Sd2QuGr7nZ39Zw9Od82IgSV3dAv0LEJK
  755. iN0BlObydRpMyiSjaftyOYz2Mn/XDn9bFsu35lvT/ck8q/02blJMy4fvQ5cnD+4d3z/231i9rPUP
  756. /vNtnq9eEJamhf3webHMm+DTat0Sxvnzy9LCd4Dv+pCBRthN/axatg29lzXTongzz8F/i+ynq/rb
  757. x8umwEzkWdMeN0Xmf3mqn+H7ORpG35w2rffxk2JWWLxkmsK/TsJhTWEAzIjufXr/2UPmVAbJxuGz
  758. jzK2Cu5j2EKI37Own+YHBszeQfebkybyHahmCHUD006JL7Jpm9cbZOqpfPzS8DdoPsDO2jS1bVNu
  759. vJHxAtZ32s1/J9BntxLGNpuIuhwY0xt8fwtlkXLDj+4ebZKcQHRuPQL+op2UIUfTB2dLSNqV6m0Z
  760. z+xdFk49tTvJy/KLzL0tn1erG17mZmV+3kq73Z2DjS0nVdtWi9vArDlyuwkoJq6HvH54O55drheT
  761. vFbrMmgH4OYNTi07gTfow683q+8jb9N1Q6Rlk9fFP9Db8VFoEwp7usq9Yz+i8nuDvXgPW3GTZfiR
  762. yg6/eS+VbX9vjv6fAAAA//9QSwMEFAAGAAgAAAAhAE229p7CAQAAogQAABIAAAB3b3JkL2ZvbnRU
  763. YWJsZS54bWykkk1u2zAQhfcFegeB+5ikrKSJEDkI3BroposiPQBNUxZR/ggc2qpv3xEpKwsjgN1K
  764. ACG94TzMfHjPL3+sKY4qgPauIXzBSKGc9Dvt9g359ba5eyQFROF2wninGnJSQF5Wnz89D3XrXYQC
  765. +x3UVjaki7GvKQXZKStg4XvlsNj6YEXE37CnVoTfh/5OetuLqLfa6HiiJWMPZLIJ17j4ttVSffXy
  766. YJWLqZ8GZdDRO+h0D2e34Rq3wYddH7xUALizNdnPCu1mG15dGFktgwffxgUuQ/NEdLTCds7SlzWk
  767. sLL+vnc+iK1BdgOvyGoCVwy1ExbFtTB6G3Qq9MJ5UBxrR2Eawkq2Yfd4jm/FluNJ6OggOxFAxfki
  768. y3IrrDanswqDBsiFXkfZnfWjCHocKJdA77FwgC1ryDfOGCs3G5IV3pAKhdf1rJQ4VH6epjvLWcHk
  769. 4GDJJ13hT8kHFfSZutKcNEfngsSbtgqKH2oofnor3AdESvaAJO6Rx0hmeRORkHwTwWuJ4ODl67w/
  770. brJG5ctjxaf9byKSfa4nshYWoyE+IDESyCRGIrdl499IXGaDVTObdxIpCZio/8nGFBJY/QUAAP//
  771. AwBQSwMEFAAGAAgAAAAhAE5wytZwAQAAxQIAABAACAFkb2NQcm9wcy9hcHAueG1sIKIEASigAAEA
  772. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  773. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  774. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  775. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  776. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnFLLTsMwELwj8Q9R7tQpQghVW1eoCHHgUamBni17
  777. k1g4tmWbqv171g1tg7iR086sdzI7Nix2vSm2GKJ2dl5OJ1VZoJVOadvOy/f68equLGISVgnjLM7L
  778. PcZywS8vYBWcx5A0xoIkbJyXXUp+xliUHfYiTqhtqdO40ItEMLTMNY2W+ODkV482seuqumW4S2gV
  779. qit/EiwHxdk2/VdUOZn9xY9678kwhxp7b0RC/prtmIlyqQd2YqF2SZha98inRJ8ArESLMXNDARsX
  780. VOQVsKGAZSeCkInyy+QIwb33RkuRKFf+omVw0TWpeDskUORpYOMjQKmsUX4FnfZZagzhWVtyQexQ
  781. kKsg2iB8dyBHCNZSGFzS6rwRJiKwMwFL13th95x8HivS+4zvvnYPOZufkd/kaMWNTt3aCzl4OS87
  782. 4mFNgaAi90e1MwFPdBnB5F/SrG1RHc/8beT4PoZXyac3k4q+Q15Hji7k9Fz4NwAAAP//AwBQSwEC
  783. LQAUAAYACAAAACEACSSHgoEBAACOBQAAEwAAAAAAAAAAAAAAAAAAAAAAW0NvbnRlbnRfVHlwZXNd
  784. LnhtbFBLAQItABQABgAIAAAAIQAekRq38wAAAE4CAAALAAAAAAAAAAAAAAAAALoDAABfcmVscy8u
  785. cmVsc1BLAQItABQABgAIAAAAIQB8O5c5IgEAALkDAAAcAAAAAAAAAAAAAAAAAN4GAAB3b3JkL19y
  786. ZWxzL2RvY3VtZW50LnhtbC5yZWxzUEsBAi0AFAAGAAgA7qmmQO3S2QVxAgAA6wUAABEAAAAAAAAA
  787. AAAAAAAAQgkAAHdvcmQvZG9jdW1lbnQueG1sUEsBAi0AFAAGAAgAAAAhADDdQymoBgAApBsAABUA
  788. AAAAAAAAAAAAAAAA4gsAAHdvcmQvdGhlbWUvdGhlbWUxLnhtbFBLAQItABQABgAIAKSopkCDd7GU
  789. MQQAAEIKAAARAAAAAAAAAAAAAAAAAL0SAAB3b3JkL3NldHRpbmdzLnhtbFBLAQItABQABgAIAAAA
  790. IQAXoBZOAgEAAKwBAAAUAAAAAAAAAAAAAAAAAB0XAAB3b3JkL3dlYlNldHRpbmdzLnhtbFBLAQIt
  791. ABQABgAIAAAAIQCAS4U32AgAAAJCAAAaAAAAAAAAAAAAAAAAAFEYAAB3b3JkL3N0eWxlc1dpdGhF
  792. ZmZlY3RzLnhtbFBLAQItABQABgAIAAAAIQDt7KzfewEAAN8CAAARAAAAAAAAAAAAAAAAAGEhAABk
  793. b2NQcm9wcy9jb3JlLnhtbFBLAQItABQABgAIAHWCpUBDMZvdBAkAAIJEAAAPAAAAAAAAAAAAAAAA
  794. ABMkAAB3b3JkL3N0eWxlcy54bWxQSwECLQAUAAYACAAAACEATbb2nsIBAACiBAAAEgAAAAAAAAAA
  795. AAAAAABELQAAd29yZC9mb250VGFibGUueG1sUEsBAi0AFAAGAAgAAAAhAE5wytZwAQAAxQIAABAA
  796. AAAAAAAAAAAAAAAANi8AAGRvY1Byb3BzL2FwcC54bWxQSwUGAAAAAAwADAAJAwAA3DEAAAAA";
  797. }
  798. }