From fac3ec10737520c4448d4b5a04b1fac137e652a2 Mon Sep 17 00:00:00 2001
From: duhe <226547893@qq.com>
Date: 星期一, 19 八月 2024 08:40:12 +0800
Subject: [PATCH] 斯莫尔:钉钉数据同步开机自启动、隐藏界面

---
 LMES/DingDing_autoGetData.Designer.cs                            |   72 ++++++
 sdk_dingding/TopSdk/bin/Debug/TopSdk.dll                         |    0 
 /dev/null                                                        |    0 
 sdk_dingding/TopSdk/obj/Debug/TopSdk.csproj.FileListAbsolute.txt |    1 
 sdk_dingding/TopSdk/obj/Debug/TopSdk.pdb                         |    0 
 LMES/packages.config                                             |   17 +
 LMES/Program.cs                                                  |    7 
 sdk_dingding/TopSdk/obj/Debug/TopSdk.dll                         |    0 
 LMES/DingDing_autoGetData.resx                                   |  455 +++++++++++++++++++++++++++++++++++++
 LMES/DingDing_autoGetData.cs                                     |  116 +++++++++
 sdk_dingding/TopSdk/bin/Debug/TopSdk.pdb                         |    0 
 LMES/LMES.csproj                                                 |   14 +
 12 files changed, 679 insertions(+), 3 deletions(-)

diff --git a/LMES/DingDing_autoGetData.Designer.cs b/LMES/DingDing_autoGetData.Designer.cs
new file mode 100644
index 0000000..4ceeeda
--- /dev/null
+++ b/LMES/DingDing_autoGetData.Designer.cs
@@ -0,0 +1,72 @@
+锘�
+namespace LMES
+{
+    partial class DingDing_autoGetData
+    {
+        /// <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.components = new System.ComponentModel.Container();
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DingDing_autoGetData));
+            this.notifyIcon_Icon = new System.Windows.Forms.NotifyIcon(this.components);
+            this.timer1 = new System.Windows.Forms.Timer(this.components);
+            this.timer2 = new System.Windows.Forms.Timer(this.components);
+            this.SuspendLayout();
+            // 
+            // notifyIcon_Icon
+            // 
+            this.notifyIcon_Icon.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon_Icon.Icon")));
+            this.notifyIcon_Icon.Text = "LMES";
+            this.notifyIcon_Icon.Visible = true;
+            // 
+            // timer1
+            // 
+            this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
+            // 
+            // timer2
+            // 
+            this.timer2.Enabled = true;
+            this.timer2.Interval = 3600000;
+            this.timer2.Tick += new System.EventHandler(this.timer2_Tick);
+            // 
+            // DingDing_autoGetData
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 18F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.ClientSize = new System.Drawing.Size(800, 450);
+            this.Name = "DingDing_autoGetData";
+            this.Text = "LMES";
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+
+        private System.Windows.Forms.NotifyIcon notifyIcon_Icon;
+        private System.Windows.Forms.Timer timer1;
+        private System.Windows.Forms.Timer timer2;
+    }
+}
\ No newline at end of file
diff --git a/LMES/DingDing_autoGetData.cs b/LMES/DingDing_autoGetData.cs
new file mode 100644
index 0000000..3cfcffa
--- /dev/null
+++ b/LMES/DingDing_autoGetData.cs
@@ -0,0 +1,116 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using WebAPI.Controllers;
+
+namespace LMES
+{
+    public partial class DingDing_autoGetData : Form
+    {
+        public DingDing_autoGetData()
+        {
+            InitializeComponent();
+
+            //椤甸潰鍒濆鍖�
+            set_initPage();
+        }
+
+        #region 椤甸潰鍒濆鍖�
+        public void set_initPage()
+        {
+            timer1.Enabled = true;
+        }
+        #endregion
+
+
+        #region 閽夐拤鏁版嵁鍚屾
+        public bool DingDing_getData(ref string msg)
+        {
+            //閽夐拤鏁版嵁鍚屾鎿嶄綔绫�
+            DD_DataSynchronizationController obj = new DD_DataSynchronizationController();
+
+            try
+            {
+                obj.getAccessToken();
+                if (obj.getData_FenCengShenHeQianDaoBiao(ref msg) == false)
+                {
+                    return false;
+                }
+
+                if (obj.getData_XianChangBianHuaDianPingShenDan(ref msg) == false)
+                {
+                    return false;
+                }
+
+                if (obj.getData_FenCengShenHeGuanLi(ref msg) == false)
+                {
+                    return false;
+                }
+
+                if (obj.getData_QRQCWenTiTiJiaoBiao(ref msg) == false)
+                {
+                    return false;
+                }
+
+                if (obj.getData_HuaMingCe(ref msg) == false)
+                {
+                    return false;
+                }
+
+                return true;
+            }
+            catch (Exception e)
+            {
+                msg = e.Message;
+                return false;
+            }
+        }
+        #endregion
+
+        #region 瀹氭椂鍣ㄤ竴
+        private void timer1_Tick(object sender, EventArgs e)
+        {
+            //绯荤粺鎵樼洏鏄剧ず杞欢鍥炬爣
+            this.notifyIcon_Icon.Visible = true;
+            // 闅愯棌涓荤獥浣�
+            this.Hide(); 
+            // 闅愯棌浠诲姟鏍忚蒋浠跺浘鏍�
+            this.ShowInTaskbar = false;
+
+            timer1.Enabled = false;
+        }
+        #endregion
+
+        #region 瀹氭椂鍣ㄤ簩锛氬悓姝ラ拤閽夋暟鎹�
+        private void timer2_Tick(object sender, EventArgs e)
+        {
+            int connectTimes = 0;
+            int maxConnectTimes = 10;
+
+            string msg = "";
+
+            while (true)
+            {
+                if(DingDing_getData(ref msg) == true)
+                {
+                    break;
+                }
+                else
+                {
+                    connectTimes++;
+                    if (connectTimes >= maxConnectTimes)
+                    {
+                        break;
+                    }
+                }
+            }
+        }
+        #endregion
+    }
+}
diff --git a/LMES/DingDing_autoGetData.resx b/LMES/DingDing_autoGetData.resx
new file mode 100644
index 0000000..1a19b28
--- /dev/null
+++ b/LMES/DingDing_autoGetData.resx
@@ -0,0 +1,455 @@
+锘�<?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="notifyIcon_Icon.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="notifyIcon_Icon.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+        AAAAAAAAAAAAAAAAAAAAAAAAAgkMFAYcJTwCGCFFAAAAOwAAAEQEAgFYJxoRc0QvII1gRDGkcEcusYJN
+        LbqIVDa+hmFQu3FTQ7NYNyOmOh8LkR8QBnoAAABmAAAAXAAAAFkAAABTAAAARwAAADcAAAAmAAAAFwAA
+        AAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJOZokhj7v/Dj1PfwAA
+        ADIAAAA7AAAAIAAAAAkAAAAAAAAAAAAAAAoAAAAWAAAAHQAAACUAAABBIxoTbmVHMqShcVPS0Zt07e27
+        lPr7063//8+i///NoP//0qj//+bL///bu//4yqT/4qV5+cN8S+qSVi7QVTAXqRULA38AAABlAAAAXAAA
+        AFEAAABBAAAALgAAABwAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVa
+        dqghjLj8DjlKdAAAADgAAAA7AAAAHwAAAAkAAAAAAAAADAAAABkAAAAmAAAANyYcFWd/YFCu0qKH7Pe/
+        lP//167//+/P///86P////X////x////9v////n/////////8////+r///7t///jyf//v5T/6Ztn/7Rw
+        QOlhOhy1GA4FfgAAAF8AAABYAAAASwAAADYAAAAjAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAFVhzDBlpiboii7f8DjhJdAAAADwAAAA/AAAAIgAAAAwAAAALAAAAGgAAACIRDAhIak8yoMyb
+        bOn9yaT//+PL///z3f///Or////3///////////////2////9/////b////9/////v////X////0////
+        +///+/L//+TI//2+kv/nl2H/rnFG5lA3JqcGAwBtAAAAXAAAAFIAAAA7AAAAIgAAABEAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAG3edEBx5nsMhjLj/DjxPfQAAAEAAAABEAAAAJwAAABYAAAAYAAAAIywg
+        FGCheE7K7LN+//3Imf/+4Lb///vh////+P////v////u///64v//8NL//+bA///kv///47v//+7T///0
+        3P//7Mj///HP///21P//++H////v///13f/9zan/9K+D/9iZbfx/TCPLGQ4EfgAAAF4AAABTAAAAOwAA
+        ACQAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG3uhERx6oMMhj7v/D0BUjwAAAEQAAABLAAAAMAAA
+        ACAAAAAhQC4db76LW+Pvtn//98SX///bsf//68P///LV///w1v//6cz//+vP///jw//+yJ///riM//65
+        jv/9tor//sWd///Qrv/+wJT//sWa///OpP//1q3//+C6///szf//79P//te6//O+nf/ajlf/nFwr3yUV
+        CIcAAABdAAAAVAAAADsAAAAhAAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAHX6lEBx6n78lk7//E09mqAAA
+        AEkAAABRAAAAPAAAACpALiByxY5b7OWsd//tuY7//s+l///ctP//17L//9a1///Wtv/+x6D//sei///L
+        qf//xKL//biR//2ufv/9q3r//rWL//7CoP/6roH/+Kt9//qvgv/7tIj//LyQ///Emf//zqj//9i2//3X
+        vf/nsI7/2Y1V/6ViK+gpFgiKAAAAXQAAAFAAAAAzAAAAGwAAAAwAAAAAAAAAAAAAAAAAAAAAFmSCDRpr
+        jLUsmsj/GmiJxQEFB1UAAABVAAAAQjEjGHG2gmDr259t/+GqfP/2wpX//82i//7Jo///wZz//sOe//7M
+        q///w5z//8Oc//+5jf//u5L//8up///Hov//tor//7WJ///HpP/9s4f/+6x9//erff/0q3v/86p9//au
+        gf/5tIj/+7iM//7Lqv/1xKb/3qiE/9WRXf+fYS7mHhAFggAAAFgAAABGAAAALAAAABUAAAAIAAAAAAAA
+        AAAAAAAADkJXCBVad6Ywm8n/IoCm3gMRF2kAAABUEwwGbIteO9zKk27/0Jlx/+asgf/0u5L/+LyV//m7
+        lP/9vJX//sGa///Qr///zqj//8Wd//+3iv//t4b//7uO///Hof//zqr//8mj///Orv//uIz//699//2w
+        gf/4rn//9Kt8//Coef/uqHv/8Kl7//a7l//yt5H/4KJ4/9CZc//Sk2L/iFo11QsHBW0AAABSAAAAPgAA
+        ACIAAAAMAAAAAAAAAAAAAAAAAAAAABNbeI8zmMP/MZvH+gQlNIYBAABeUzMew59nQP+1hGT/0Jl3/+Sm
+        gf/vsov/9LWP//q6kv//wZn//8ef///XtP//1bD//76S//+6i///vY7//7uM//+5if//v5P//8ym///Z
+        uv//yqT//7aI//+zgP/9sYH/+q+A//Wtff/wqXr/66R1/+6wiv/uso3/459v/9KPX//GhVL/xYZU/1s/
+        KrIAAAFfAAAATwAAAC8AAAATAAAAAAAAAAAAAAAAAAAAABBVcXIvkbr/Ra/d/wtLZq4iEQiUeksr+41b
+        OP+vgGD/1J9+/+WngP/xs4r/+rqS///Dmv//yqH//82j///buP//0qz//7yM//+/kP//wJP//7+S//+/
+        j///vIz//7uH///PqP//1rT//82o///FnP//tof//a9///muf//1rX3/8Kd3/+2uhP/qrof/4p9u/9mW
+        Zv/Ef0z/uXI3/6VnMPMoGQuLAAAAVwAAAD0AAAAdAAAACgAAAAAAAAAAAAAAAAo9UFUmiLD7Vrjl/yqC
+        qOZXRjbifFE0/4RXOP+vfl7/1aKB/+irgv/3uI7//sKa///Lov//0Kf//9Or///ZtP//1K7//8CQ///E
+        lP//xZb//8aW///Elf//w5T//7+O///Opf//zab//8CS///Np///zaj//8GY//yzhf/4rXv/9Kp5//Gy
+        hv/tsYr/455t/9uYZ//Kh1X/tXI8/7hwMf9zRRzNBAIBYwAAAEYAAAAoAAAAEwAAAAAAAAAAAAAAAAw8
+        TjMbeZ7jWbfg/0mt2f9WYmD/fVU8/4hlTP+uf2L/1aOE/+ywh//7v5T//8mg///RqP//1Kz//8yh///L
+        n///2rb//8SV///Flf//yJn//8mZ///ImP//x5f//8WT///Sqf//1rL//72K//+8iv//wpX//8uj///J
+        p//8v5n/97KD//azh//xtpH/6KFu/96aaf/Pi1v/vHlD/7VvNP+mZSr3LBoLiwAAAEkAAAA0AAAAGwAA
+        AAkAAAAAAAAAAA01RhIUZ4jASKnS/2rI7v1AeIz/dk4x/45sU/+xjHP/2KqO/++2lP/7wpn//s6k///V
+        q///zqL//8KR///Hmf//3rr//8qa///Glf//yZr//8qa///Jmf//yJj//8aV///Spf//3Lf//8WT///A
+        j///vIr//7uK//++kP/+xZv//cWg//vDof/2vZj/7KVz/+Ocaf/UkF7/w39L/7BtNP+zbC3/YjoXvAIB
+        AFMAAAA8AAAAJAAAAAwAAAAAAAAAAAAAAAATXnyTMZS+/33M5/1SpMD/Y1lL/5RiQf+wh2z/1qyS/+7H
+        qf/507H//tSv///Knf//v4///8CQ///GmP//37r//9Kk///JmP//zJ3//8yc///Lm///y5r//8mX///Q
+        of//3rn//8ma///Dkv//wZD//76M//+6h///toT//biK//zDm//7yKj/9LmS/+qqe//blmP/yYRP/7Jv
+        Nf+waiz/jFMh4xIKA2gAAABAAAAAKwAAAA8AAAAAAAAAAAAAAAAMP1NWJoeu922zzv98w9f/VXmB/5do
+        SP+xgWD/z6WI/+jEpP/30rL//du+///buf//1az//82h///ImP//3LX//9aq///Hlf//zZ3//8+f///Q
+        oP//0Z7//86b///RoP//473//9Cg///Fkv//xZP//8OP///Ajf//u4z//7aD//y5if/6wpz/9riN//O5
+        kf/mrIP/1JVn/7h1P/+qZSf/omAk9y4cDocAAABDAAAAMQAAABIAAAAAAAAAAAAAAAADFRwiInCP1Fic
+        uP+Iv83/ZZ2s/4h2ZP+6hWL/zJ9//+OwjP/zsob//MSa///Xsv//48H//+jH///lxP//6sv//+K8///T
+        pP//0qL//8+d///Om///0Zz//8+c///Rnf//5b7//9ap///Jlf//yJb//8aT///CkP//v4z//7qI//+8
+        kP/7xZ7/8698//CqeP/pp3r/26R5/8OMYv+rcD//qmgt/1AyGqkAAABJAAAANAAAABQAAAAAAAAAAAAA
+        AAAMCAUUNVZew02Npv9+rLr/grK6/3mDfv+7f1f/zZJt/+Ctiv/xroH/+reH///Aj///yZr//9Ko///d
+        tv//7Mr///bW///x0P//8c3//+rF///gtv//2an//9Sg///Omf//4rj//9iq///Jlf//ypj//8eW///E
+        k///wY3//7yI//+/kf/9yKL/97KE//Otev/qo2//25Zh/8WHVf+udkj/r3NE/2dDJsEBAQFQAAAANQAA
+        ABQAAAAAAAAAAAAAAAAgDAAebFM40U19i/9vlaL/lLCw/4CWlf+vgWL/05Fo/96tjf/usYf/97iK//zA
+        kf/+xZP//8iV///Jlf//2av//+rE///cr///5bn//+7H///yzf//8s7///HL///pw///7cr//+C1///M
+        mP//yJX//8eU///Fk///wo///72L///Ck//+yaT/+bSG//Wxfv/uqnX/35pn/8iFT/+ubDL/rGkv/3hN
+        KdEJBwVZAAAAMwAAABUAAAAAAAAAAAAAAAAjDwApi0wa3mBvbP9kiJT/maai/5mppP+hjXz/1pJn/96q
+        if/osYn/87WH//nAkP/9xpb//82b///Nmf//1aX//+fA///ToP//0Zz//9ah///XpP//2qv//+G0///m
+        vP//8c3///LT///owf//37T//9Ok///Ilv//wo7//76I///Ckf/+zKj/+reI//eyf//vrHj/4aBs/8+O
+        WP+0dDz/rmkq/4FQKNoQCgdfAAAAMAAAABQAAAAAAAAAAAAAAAAjEgIskkkQ4n5iQ/9jgIj/lJ2c/66w
+        o/+hnpD/zJNu/+Gqg//lsYr/8LGE//i+j//8x5b//82b///Pnf//1aL//+rC///aq///06D//9aj///U
+        of//06D//9Og///RnP//4bP//+i////aqf//37T//+G6///dt///1Kr//8mZ///Elf/+zaf/+riG//ez
+        fv/wrXr/4qNu/9CRW/+0dj//r2wv/4RSK90RCwhfAAAALgAAABQAAAAAAAAAAAAAAAAjEgMokUwV4Jha
+        Jv9wdGv/i5eX/7ayp/+0r53/vJd7/+KlgP/lso//7LCB//W+jv/7xZX//sqY///OnP//0qD//+jA///e
+        sf//1KH//9mn///Xpf//16X//9ak///ToP//3bH//+W8///Omv//y5b//8yZ///QoP//0qj//9Wt///V
+        rv//1rL//MKV//i1gv/vrHf/4qBq/8yNV/+ydD3/rmwv/4NOJtsQCgVaAAAAKwAAABMAAAAAAAAAAAAA
+        AAAkEwQgjE0Y16NbI/+Ma07/goZ9/7Crof/IwLD/vKya/9imgv/msov/6Kp9//G5iv/4w5H//cmX//7N
+        m///0J3//+S7///gtf//05///9im///Xpf//2Kb//9im///Wof//3q///+rB///Sn///z5r//8yY///I
+        lP//xZH//8SQ///Imf//17T//c+p//3In//1vZL/4qV2/8qKVv+xcjn/rWop/3xIHdMNBwZPAAAAJwAA
+        ABEAAAAAAAAAAAAAAABSLA4Xf0cZyKJdJ/+la0H/jHtm/6GXiP/ItaH/zL6t/8q1n//mupj/57KI/+y1
+        h//zu4v/+cOQ//7Kl///z5v//+K3///it///0p7//9ak///VpP//1qT//9aj///VoP//3az//+vD///W
+        of//0Zv//86a//7Jlv/9x5T/+cCN//K6iv/nv5v/2KZ8/8yacf/Dl3T/to1t/6Z9W/+TZT7/lFYi/1sx
+        EccBAQFKAAAAKwAAAA4AAAAAAAAAAAAAAABsPBYJhUscppxcJ/+pajv/p3lT/5qNfP+7ppD/1Leb/8iz
+        nf/Yu6L/6MKc/+fFof/uyKH/9sme//vMm//9zJj//9yw///kuv//0Z3//9Wi///Vo///1aL//9Wj///T
+        nv//26r//+rE///Wov//0Zr//8+b//3Klv/5xJH/8rqI/+Wvg//SrYz/tZNr/4SQM/97hyP/gHRI/4Ne
+        Pf9yYFD/eGVa/0UuHroAAABGAAAALQAAAAoAAAAAAAAAAAAAAAAAAAAAZjsWeKBfKv+laTv/t3ZF/6iH
+        av+tnIn/0LOX/9e5nP/ItJ7/5bCE/+i3i//ow5z/8M+p//fZtP/63rj//ubC///qxP//263//9mr///X
+        pv//1aH//9Kf///Rmv//16T//+rE///Uof//zpf//syY//rGk//zvo3/5rCC/9Kfdv+zmnv/epxb/1W0
+        Jv5bqQD/VIJG/1BrZ/9Ilbr/Tp7F/zhaZs0DDRBRAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAWDQTSJxd
+        KfOlbD3/s3JB/8CFWP+slHr/wKeR/9y7n//Twq3/z62M/+qrev/osYP/6riI//HClP/2zaD//N20//7r
+        xv//5r7//+rC///qxP//6L///+a6///hsv//3rH//+vD///Vof//zZb/+8iS//XAjP/ptYX/1qV4/7qN
+        af+JnHX/Yr1x91zCV/9isST+P6Fy8yC/4Pgd0v7/Jc71/yvA6fEQVWeKAAAAOAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAPCMOFYVQJMurbz//qm47/8WBTP/Ekmr/tJuE/82xl//gybH/zLmi/9iqg//tsYD/6LKE/+y4
+        if/xvYz/98ye//vetv/9z53//9Sh///bq///36///+e6///rwf//7cb///XP///pvP//4bL/99Kj/+zA
+        jv/aq3z/wJJo/6SDYf9zq2D/XLQ6/2C3OP+KlVL/W6a0/xPN9v8I0Pj/Ds30/wvV9f8Ll6/IAxwhQwAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAGtCHH6rcD3/p2w4/7d3Qv/Tj1v/xJhz/7mhi//YwKr/4Mir/8ew
+        lf/crYT/7bOB/+i0hf/quYn/8MWY//XZsv/6zJr//c2X//7Qmv//zpj//9Ga///Rmv//16P//+zE///g
+        sv//3q3/79Os/+DFof/Iro3/sJJ1/6ydb/9pnxj9S6QA/2mTAP+lbE7/dJTD/zO59/8sqPD/KJfr/xKs
+        7v8ArMfhAFlgZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEksFCWeaTzgqGw2/61uOf/Gh1L/15hm/8Kb
+        ev/DsJ7/3cSq/9m/of/HsJb/366E/+yygf/ns4T/6r6R/+/Sqv/0x5f/+ciV//vOm//9z5r//9Gc///Q
+        mv//0Zz//+a9///UoP//ypH/5beF/9Gofv+4mHX/zaiL/9awcP93mg3/UKQA/4V5Ev+jZmn/cJjU/06o
+        +P9KkO3/Q3Lm/zRs5v8Rh8LlAlhkegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABzUDZ6s3pM/6pw
+        O/+3eUP/0Y9c/92cav/JqY3/xbOf/9y+nv/XwKP/xrCV/92vhf/rsID/5rWJ/+fKpP/rwJP/8L+O//TF
+        lf/4yZf//M2Z//7MmP/+zpr//+S6///Vov//ypT/2qx+/8SYb//Hnnf/5LeN/9imbv+cmR7/cpMC/51r
+        L/+Tepr/W6ns/0iu+P9DnO3/Oobp/zZo5f8hUbfmBx46hwAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AABFMCEZnW5Iy7iFW/+2g1n/xY5g/9ubaP/mroL/y62P/8Opjf/bvZ//1b6j/8Ovlv/Zq4T/6rOD/+fC
+        nf/kuIv/5raH/+q8jP/uwI7/88SR//fFkv/5x5T/+921//3Rn//+yJH/0KR5/8accv/aqnv12KJt/9iZ
+        Yf/CkjL/qXwP/6VrU/9yksf/TrX5/0qw9P9Ene7/OYjp/y9t5f8mRb/wEBhQpAAAABEAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAYz8fTa51QfC4hlj/wJJq/9Kkfv/puZP/7byT/8urif/BrpX/17uf/9O8
+        of+/rZT/zq2J/+bAmv/otIb/4a19/96wgv/gsoX/47aG/+i5h//uv4z/9Nau//jLmv/8wo3/ypht/9Kd
+        bP/Um2H/zZFP/8iIO//Jfxv5wG0i/417iPNSo+3+RKv4/0Sa7f86hen/MWzl/yta4f8qUtv6FSpwvgAA
+        ABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHhMI3u5djr9t31E/8CNWf/ar4f/8sSf//TF
+        nP/avqP/w7em/83BsP/QxK//urem/7q2pf/Uroj/5Kp5/9+nd//Wpnj/1Kd6/9ipe//er4D/5MKe/+u0
+        iP/wqHf/zI9e/8+UVf/Jij7/w38m/r57Ev+/fCn/p21D/4prXv9Kmt//OJPx/zR35v8sX+L/KVPh/ypU
+        4f8qV+H/GDGBxQAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACOUCKNuG4v/7l0
+        OP/JkWT/4a+F//C2hf/7w5L/576X/8e4ov++vbD/xsi7/7bEvv+jsar/r6mV/82rif/eqX//2KB4/86V
+        bf/Jj2n/y5x+/9GSa//XjmL/yItH/8SDK/m+ehDzw30a/8SDOv+/iWP/uHdK/6piLf9NaobXOI/u+zJ0
+        5v8qXeP/KVTh/ypW4f8qV+H/GTWIvgAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AABwOxcJjEscj71kJ/vBeEv/zY9p/+Kdb//5tor//8GT//a+kv/VsZH/t6uc/7O7t/+ut7X/lqqs/4ee
+        of+am5T/wJ2I/9Kbff/JlXf/upeB/7iSeP+/lHb/voU+/8GELP/LjU3/zYtc/8B7Sv/HiWT/w3tL/0op
+        D40VL0VGM4TZvzN14/srX+P/Klbh/ypX4f8qV+D+GDOFsQAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAHtBGHS0bUDqxn1S/858TP/pn3b//7+Z///Rq///1a7/7s+u/8bN
+        wv+itrX/mbG0/5Czu/9zprT/YZWj/3qQkP+mm4r/w7Of/8O2n/+7spz/tauX/76ljf/Cl4D/uYNk/7t3
+        Sv+ocU/nPykcdwEAABkAAAAbDyhDPyZUpKwrXuD1KVbg/ipX4f8fVa37FS1zkQAAABkAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACFUTFErGk9xMFqLv/Qfkj/5ptv//m9
+        mP//2rf///LQ////8v/m8+T/stfU/4bC0v93vNX/arnX/0+nyf9Bk7D/Xpiq/5mrov/FrI3/w5Fw/7B4
+        Vv+mbEr/pG1K/3FPOsseFhFgAAAAHwAAAB4AAAAeAAAAHwAAACsULWxwIki90CpX4PwbVJrtBxAmSAAA
+        ABYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaEInF4pK
+        G3yxYynZx3M5/92KVP/wpXj/+sSf///t2v//+uL///rl/+Dw5v+j0df/cbfP/1ex2P9Hrdn/MZfE/yyG
+        rP9Ufo3/hm5b/5taL/uCQRfPRCILiwoFAkoAAAAvAAAALQAAACYAAAAdAAAAGgAAABwULGoSFjB/RxtY
+        l9gYUom4AAICGAAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAACKTR8mpVslc6JaJsDCbDPr0n5I/+6viP/1r4H/+7SC///Flv//ypn/67eO/6qa
+        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
+        IGQeHh41NDQ0GDQ0NBQeJSgpHh4eUiAiI4g2LimxVUQ5xXNfT8yEcF7Pim9Z0OS4lcbTtZzRemNTz2FJ
+        OM1CMijKKyckwyUlJbYjIyOjIiIigyEhIV4gICA+NDQ0IjQ0NBA0NDQFNDQ0AgAAAAA0NDQGH05gfSJi
+        fMAjJSaOHx8fbR8fHz00NDQjHBwcNx4eHmQ6MiundWFVyffKp9H/7crR///x0f///9H///3R////0f//
+        /9H///fR//fm0f/Mp9HWkF7JTjstzSsoJ8QlJSWzIyMjliEhIWsgICBENDQ0IzQ0NA80NDQENDQ0ATQ0
+        NAYjY3yII2J8wyMmJ5YfHx94Hx8fTh8fH0MmIyFzYk88vvK7iM//68XR///z0f//+9H//vDR//La0f/r
+        z9H/7tPR//bm0f/02dH/+uPR///w0f/x2NH9vpHRu4Fc0TkvJ8slJSW8JCQknSEhIW0gICBDNDQ0HzQ0
+        NAs0NDQENDQ0BiNphYgiaIPIIiYooCAgIIghISFlKygkgHtgRsf7wo7R/9qw0f/pxtH/68/R/+DB0f/f
+        vtH+wprR/rKE0f21h9H/yKPR/LuP0f3CltH+0KbR/+K/0f/mydH/0bHR2Y9b0VY3H9EmJia+IyMjnSEh
+        IWc0NDQ0NDQ0GTQ0NAk0NDQFIl51fyaNt8wiKy6qIyMjlygmJJF4XEfI6K150fjFmdH/0KjR/8ai0f7L
+        qdH/wpzR/76W0f/AmtH+wZrR/rOF0f+/mdH7roLR+Kl70fWrfdH3sIPR+7uQ0f/OrtHvuprR2JFc0VI2
+        INEmJia6IyMjkCEhIVg0NDQpNDQ0EjQ0NAUeSVptMJ7M0SE0PLUlJCStVUExx8+XcNHgpn3R9bqR0fm5
+        ktH+vJXR/82q0f/Np9H/uozR/7iI0f/Bl9H/yqTR/9Cv0f+6jdH+rn3R+K1+0fKqetHupXfR87OL0e6y
+        jNHZm3HRyotY0TgxLMomJiawIiIieyAgIEE0NDQeNDQ0Ax1FVVU5o8/RJEpZvzEoIsWOWjbRu4lp0eGm
+        gNHzs4vR/L6V0f/IntH/2LPR/82k0f+7i9H/v5LR/7yM0f+8i9H/zqbR/9Ct0f/Bl9H+tITR+a5+0fKp
+        eNHtrIHR6auB0dmVZNHGgUrRmWM00SknJsIkJCSbISEhWjQ0NCw0NDQCGjhDODaXv81BnsjHYk09x4RY
+        OtG4iGjR5qyE0fu9ktH/y6LR/9Kp0f/VrtH/z6bR/8GR0f/Hl9H/xpfR/8KQ0f/Ln9H/y6LR/8WZ0f/K
+        otH+vpXR+LCA0fOvgtHrrYLR35po0cSBT9G9dDXRRTUnzCYmJq8iIiJ0ICAgPwAAAAAeND0XKHGOuF3C
+        7NFWaGrRiF5B0buSeNHrs5HR/cab0f/SqNH/y5/R/8eZ0f/Xr9H/xZTR/8ma0f/JmdH/xpXR/8+j0f/U
+        qtH/vYnR/76N0f/DmNH9w5vR+sCb0fO1jNHknWnRzopX0bp0OtGTWibRKigmvSQkJIogICBQAAAAADQ0
+        NAYcWHGUZL7g0V6YqdGDWz/RvI5y0efBpdH82LfR/9Os0f/ElNH/xJXR/9qy0f/KmdH/zJzR/82d0f/M
+        mtH/0KDR/9qx0f/Ek9H/wI7R/7yI0f64h9H9v5TR+sOf0fCyh9HbmWjRu3Y+0a9nKNE3LibGJSUlmiEh
+        IV8AAAAANDQ0BBk3Q2FPnr3RernL0Xt4bdG+iWXR3rGP0ffBmdH/1rLR/+G90f/futH/5cLR/9Wo0f/Q
+        oNH/z53R/8+b0f/QndH/4LbR/8uY0f/Gk9H/w5HR/7yK0f66i9H5vpTR8q+A0eapftHGjWDRsW810Ug3
+        KcwmJiakIiIiagAAAAA0NDQFKSYiTkl2g813pK/Rd4yK0a14VtLGlnfT2qF41OOrgdTkt4/U5MGb1ObU
+        tdPm17nT6Ni30unVstLqz6jR68mf0f/iudH/zZrR/8aT0f/Fk9H/v4zR/8CR0fzBmdH1rXvR6KJt0cuL
+        WNGydULRVkEwziYmJqsjIyNvAAAAADQ0NAU7Kx5eZmRX0W2LlNKImJXTnn1l1r+PcNnGmHfbzJ553dGn
+        gNzVq4Hb1ruW2tq8ltnevZLX48ig1OfQqtLq1rLR//DN0f/kvNH/1qjR/8uZ0f/AjNH/wZDR/cWd0fiy
+        gNHsqXXR0pBb0bRwM9FeRC7OJyYmrSMjI24AAAAAJiYmBTQiFmKBUirTY3R31oyQitqJe2vgnHRb55h3
+        X+2del/vp4hq7K6PbumwmXvotqGE5sOjfeDSsIba4ryR1enBktL/5LjR/92v0f/ZrNH/2rHR/9Ko0f/M
+        odH9yaHR+LN/0e2pdNHUlV/RtXU60WFFLs8oJiWqIyMjZwAAAAAmJiYGMCMYX45PHdZtYlPafoB64YWC
+        c+uAfE/4iHtK/IVyVfqNc1r3koFs9pSLefeZjHfzqZBw7MGlgeHcu5LY58OU0//it9H/2ajR/8qV0f/K
+        ltH/yZnR/82h0f7Ur9H9xZrR8LSF0dGSX9GzcjXRXkIpzSclJaAhISFZGRkZASUlJQs5KRxWgUsg1n1X
+        OuBtaFzqfopr+VW0Jv5bqQD/MlI3+ytGTvg0Zn/7OmyF/DJRX/KUgGb2rZNz6tOzjNzkwJHU/+O10f/e
+        rtH/0JnR/8uY0f/HktH/xJLR/c6j0fu8itHvtYnR0J1y0bZ5RtFWPSnLJCQkjR8fH0YZGRkGJSUlFDQo
+        HkljPyLTe1Aw6HJvVfZivXH3XMJX/2KxJP4/oXLzIL/g+B3S/v8lzvX/K8Dp8YiJePudiG3xyquG4OG6
+        jNX/3rDR/9ut0f/NldH/y5fR/8eU0f/Dk9H+z6bR+LiE0eWmcdHGhlDRt2ov0Uo2KcMjIyNxHR0dMBkZ
+        GQ0ZGRkkIyMjSkszH8t3VTfyT3dJ91y0Ov9gtzj/ipVS/1umtP8Tzfb/CND4/w7N9P8L1fX/Iml1+pSK
+        dfXCsZLj3smj1//pwNH/47XR/9Kd0f/LlNH/xY7R/8KO0f/NpNH3uIXR4KBr0cJ0PNG2YiHRNywjsSEh
+        IVE0NDQaGBgYGBkZGTkhISFpQTUqyYZpRftpnxj9S6QA/2mTAP+lbE7/dJTD/zO59/8sqPD/KJfr/xKs
+        7v8bdIL9jIVs+L2hfebcvJLY/+W50f/pvdH/4LHR/92x0f/Wp9H/y5vR/82j0e+rdtHWhlDRw28x0W9I
+        Kc0oJSKINDQ0MDQ0NBIYGBgmGRkZUjQwLJR8aFrq1rBw/3eaDf9QpAD/hXkS/6Nmaf9wmNT/Tqj4/0qQ
+        7f9Dcub/NGzm/xaIwv+Gf2r5uZp359qxhNn/2KfR/9ur0f/LktH/zZjR/9Ge0f3NoNH8xaPR66mC0cyF
+        V9HIczfRSTQmtiEhIVEcHBwmNDQ0FRgYGDYlIyByemdU2OS3jf/Ypm7/nJke/3KTAv+day//k3qa/1up
+        7P9Irvj/Q5zt/zqG6f82aOX/JVW4/35vYPqukHDp06t/2vzSotH+2arR/8qT0f/Jk9H+uoTR96h10fOw
+        iNHbkmLRzYNP0XtWPssoJSNvNDQ0LxwcHDIcHBwuGBgYSWZWRa3aqnv12KJt/9iZYf/CkjL/qXwP/6Vr
+        U/9yksf/TrX5/0qw9P9Ene7/OYjp/y9t5f8pSMP/eWRe/JyAY+u+mXLa7MSW0fXMoNH7u4bR+7B+0fin
+        dtH2p3bR7K2H0c9+RtHLcS/NOi0jjTQ0NC0dLDBEHx8fSh4eHk88Myllm3lY7dSbYf/NkU//yIg7/8l/
+        G/mLVST3jXuI81Kj7f5Eq/j/RJrt/zqF6f8xbOX/K1rh/ypS2/opNVr1mnle7LSGZNvQnHfR1Z550d+U
+        ZdHqn3HR9qt/0fCleNHfn3bR134/0U03J5w0NDQuNDQ0Gh1GWHodJyxtIiIiaIZnRKLPlFX/yYo+/8N/
+        Jv6KXxr5dU8W1001IaFnT0LgPYXD8jiT8f80d+b/LF/i/ylT4f8qVOH/Klfh/yk4Y/Vuc3HrmYFw2saZ
+        fdG/noTRvZ+E0dGtkNHfpITR04pa0c+KX8tNOCibNDQ0NzQ0NB80NDQYHT1LbRw4RJYlJSVvsH0/4cSD
+        K/m+ehDzjl8S5G9PFaI/MBpbIyMjQjIoI1VRZ33dOI/u+zJ05v8qXeP/KVTh/ypW4f8qV+H/Kjpn8lSF
+        mOlLjabZY5qq0ZqtpdHFq43RwI9u0bV7WdFwUj/LOjAqliAgIFAdHR07HBwcMjQ0NCYbLjZyHTxIpCIi
+        IluYZx6ll2QOuXlUE4VPOxlMGhoaKxoaGh4ZGRkaJCQkIiw9SlA8ZpPXM3Xj+ytf4/8qVuH/Klfh/ypX
+        4P6Gi5v6kaCb5G2drtc/pM/RMJjF0VOEltF8Y0zRRDAitygkI5EjIyNtICAgWB8fH0gfHx9BICAgSB5E
+        VKcdND2FHh4eMT4xHRQ8LxgZIh8ZFBoaGhEZGRkMGRkZCBkZGQgYGBgNGBgYGSo5SkYvVJO2K17g9SlW
+        4P4qV+H/LEic+WpSV+6SY0LQkF89wnhiTa46YnOcIXOXryKKtMocWHG1HTdCkx4pLnceJCZoHiYqbRws
+        M34cRVSmH05ikx4nKiY0NDQSAAAABBkZGQQZGRkDGRkZAhkZGQIAAAABAAAAAhkZGQQZGRkJGBgYExgY
+        GCIqPGlwKUmr1ypX4PwuQofMMSsxckA0Kj9BNCoqNDQ0DTQ0NAwfQE0SIktdNiRfd2QiZYGKHVZtkxtN
+        YZIcUWiUHlNpiCJRYlc0NDQTNDQ0CjQ0NAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAANDQ0Ai9JigYtR5g/LUqkbi5GkT80NDQSNDQ0CjQ0NAM0NDQBAAAAADQ0NAE0NDQCNDQ0BDQ0
+        NAQ0NDQGITtFDjQ0NAk0NDQINDQ0BTQ0NAU0NDQDNDQ0AQAAAA8AAAAHAAAAAwAAAAEAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/wBAAKAAAABAAAAAgAAAAAQAgAAAA
+        AABABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANDQ0AjQ0NAc0NDQSNDQ0KFVVVUVRUVFjTU1NdUxM
+        THQ0NDRfNDQ0QzQ0NCY0NDQSNDQ0BzQ0NAEAAAAANDQ0ATQ0NAckJCQWKCgoOC0tLW4yMjKoOTk5yzg4
+        ONEyMjLKMDAwuS0tLZUoKCheNDQ0MTQ0NBU0NDQHAAAAADQ0NAQcHBwTIiIiPzQzM5xhYWHqh4eH/Nzb
+        2/Pa2dnzfHx8/VNSU/cxMTHfLCwstyQkJG40NDQxNDQ0EjQ0NAEjIyMKISEhNEJCQquFg4L61tLO+eTg
+        2/3z8O3+8e3q/t7X0v3Iw7/5nZmY/zc3N+wsLCy4KioqYTQ0NCk0NDQDJycnGTg4OIO/vr7x2M7G/Nm4
+        kP7YuZb/8Onj/+7l3f/Usoj/1LGC/su9tPuko6P/MzMz4y4uLp00NDRIYGBgBSsrKzF4eHjg2NfX+u/t
+        6/7r4tn/38qx//Pv6v/u6OH/3b6S/+bYxf/p5uP+zczM+lVVVfkwMDC/VlZWa2FhYQg8Ozxls7Kz8+Hh
+        4f7x8fD/8vHv/+PTwv/j2c3/4NC8/+DEmv/u6ub/7ezr/9vb2/2rq6vxNjY201FRUYVjY2MLTU1Ni7a2
+        tvbd3N3/5+fn/+rp6P/k4Nz/1r6f/9i3hv/g1cb/6Ofl/+Xl5f/a2tr+srGy9T4+Pt5RUVGJZGRkC1FQ
+        UY+ysbL21tXW/9/f3//g4OD/3dnU/9S9m//Ut4X/3NjS/+Df3v/e3t7/1NTU/6+vr/VAQEDaVlZWeGJi
+        YgZCQkJpqKeo9NDQ0P7d3d3/3t3c/9TNxf/YtH3/0beW/9fSzv/e3t3/3d3d/8/Pz/6lpaXzOjo6xF1d
+        XVRhYWEBLi4uKoaGhuzJycn84ODg/9/c2P/YwaH/2MCb/9nOwv/VxbL/4d/c/+Dg4P/Hx8f8ZmZm+DAw
+        MINkZGQxAAAAACcnJw1NTU2Vtra29t/e3f3a0MT/3ryI/97Wzv/k4Nr/2MOo/9jPxP/d29r9srGx9kBA
+        QMMrKytCNDQ0GAAAAAAkJCQDIiIiHWppasPIxcL328q2/OLRuP7k1sf/6eLc/9zGq/7Yxa78wLiz9lhX
+        WNckJCRLJycnHTQ0NAkAAAAAAAAAABsbGwUkJCQgWFhXo6Wjo/LZ19T25uTj+ebk4fnY1dP2kY+N9U5N
+        TbMlJSVAHR0dGjQ0NAk0NDQDAAAAAAAAAAAAAAAAJiYmBCoqKg45OTk7V1dXhmxrbK5qaWqwVFRUjzc3
+        N00qKioiJiYmDjQ0NAY0NDQCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcHBwBHJycgp0dHQOc3JzEHBw
+        cA1ubm4INDQ0BDQ0NAIAAAAAAAAAAAAAAADAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAIAAAACAAAAAwAAAAOABAAD4BwAA
+</value>
+  </data>
+  <metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>214, 17</value>
+  </metadata>
+  <metadata name="timer2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>333, 17</value>
+  </metadata>
+</root>
\ No newline at end of file
diff --git a/LMES/LMES.csproj b/LMES/LMES.csproj
index 9fa9337..88b71bf 100644
--- a/LMES/LMES.csproj
+++ b/LMES/LMES.csproj
@@ -82,6 +82,7 @@
     </Reference>
     <Reference Include="System" />
     <Reference Include="System.Core" />
+    <Reference Include="System.Web.Http, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
     <Reference Include="System.Xml.Linq" />
     <Reference Include="System.Data.DataSetExtensions" />
     <Reference Include="Microsoft.CSharp" />
@@ -93,6 +94,12 @@
   </ItemGroup>
   <ItemGroup>
     <Compile Include="ClsShowMod.cs" />
+    <Compile Include="DingDing_autoGetData.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="DingDing_autoGetData.Designer.cs">
+      <DependentUpon>DingDing_autoGetData.cs</DependentUpon>
+    </Compile>
     <Compile Include="Form1.cs">
       <SubType>Form</SubType>
     </Compile>
@@ -125,6 +132,9 @@
     <Compile Include="Xt_Wait.designer.cs">
       <DependentUpon>Xt_Wait.cs</DependentUpon>
     </Compile>
+    <EmbeddedResource Include="DingDing_autoGetData.resx">
+      <DependentUpon>DingDing_autoGetData.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="Form1.resx">
       <DependentUpon>Form1.cs</DependentUpon>
     </EmbeddedResource>
@@ -242,6 +252,10 @@
       <Project>{c518f792-17cd-4894-99e5-c0ea4f59e0f3}</Project>
       <Name>WarM</Name>
     </ProjectReference>
+    <ProjectReference Include="..\WebAPI\WebAPI.csproj">
+      <Project>{5b60ce0c-963c-4dc2-91b3-0b471aac5438}</Project>
+      <Name>WebAPI</Name>
+    </ProjectReference>
     <ProjectReference Include="..\WorkM\WorkM.csproj">
       <Project>{38499782-d273-45ee-a5a4-19ac1fc36444}</Project>
       <Name>WorkM</Name>
diff --git a/LMES/Program.cs b/LMES/Program.cs
index 5896622..81a7262 100644
--- a/LMES/Program.cs
+++ b/LMES/Program.cs
@@ -15,6 +15,9 @@
         {
             Application.EnableVisualStyles();
             Application.SetCompatibleTextRenderingDefault(false);
+            //Application.Run(new DingDing_autoGetData());
+
+
             DBUtility.ClsPub.AppPath = System.Environment.CurrentDirectory;
             Pub_Class.ClsPub.AppPath = System.Environment.CurrentDirectory;
             Pub_Class.ClsPub.SetIPAddress();
@@ -37,9 +40,9 @@
                     //============================================
                     BLL.FrmLogin frmlg = new BLL.FrmLogin();
                     frmlg.ShowDialog();
-                    if (frmlg.isOk)   
+                    if (frmlg.isOk)
                     {
-                        MDIMain MainFrm = new MDIMain();   
+                        MDIMain MainFrm = new MDIMain();
                         Application.Run(MainFrm);
                     }
                 }
diff --git a/LMES/packages.config b/LMES/packages.config
new file mode 100644
index 0000000..e9279c3
--- /dev/null
+++ b/LMES/packages.config
@@ -0,0 +1,17 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<packages>
+  <package id="AlibabaCloud.EndpointUtil" version="0.1.1" targetFramework="net45" />
+  <package id="AlibabaCloud.GatewayDingTalk" version="1.0.2" targetFramework="net45" />
+  <package id="AlibabaCloud.GatewaySpi" version="0.0.3" targetFramework="net45" />
+  <package id="AlibabaCloud.OpenApiClient" version="0.1.11" targetFramework="net45" />
+  <package id="AlibabaCloud.OpenApiUtil" version="1.1.1" targetFramework="net45" />
+  <package id="AlibabaCloud.SDK.Dingtalk" version="2.1.39" targetFramework="net45" />
+  <package id="AlibabaCloud.TeaUtil" version="0.1.19" targetFramework="net45" />
+  <package id="AlibabaCloud.TeaXML" version="0.0.5" targetFramework="net45" />
+  <package id="Aliyun.Credentials" version="1.4.0" targetFramework="net45" />
+  <package id="Microsoft.Bcl" version="1.1.10" targetFramework="net45" />
+  <package id="Microsoft.Bcl.Build" version="1.0.14" targetFramework="net45" />
+  <package id="Microsoft.Net.Http" version="2.2.29" targetFramework="net45" />
+  <package id="Newtonsoft.Json" version="13.0.3" targetFramework="net45" />
+  <package id="Tea" version="1.1.3" targetFramework="net45" />
+</packages>
\ No newline at end of file
diff --git a/sdk_dingding/TopSdk/bin/Debug/TopSdk.dll b/sdk_dingding/TopSdk/bin/Debug/TopSdk.dll
index d5ccd06..4a9e3af 100644
--- a/sdk_dingding/TopSdk/bin/Debug/TopSdk.dll
+++ b/sdk_dingding/TopSdk/bin/Debug/TopSdk.dll
Binary files differ
diff --git a/sdk_dingding/TopSdk/bin/Debug/TopSdk.pdb b/sdk_dingding/TopSdk/bin/Debug/TopSdk.pdb
index 7daebb4..bb5d577 100644
--- a/sdk_dingding/TopSdk/bin/Debug/TopSdk.pdb
+++ b/sdk_dingding/TopSdk/bin/Debug/TopSdk.pdb
Binary files differ
diff --git a/sdk_dingding/TopSdk/obj/Debug/TopSdk.csproj.AssemblyReference.cache b/sdk_dingding/TopSdk/obj/Debug/TopSdk.csproj.AssemblyReference.cache
deleted file mode 100644
index 663197d..0000000
--- a/sdk_dingding/TopSdk/obj/Debug/TopSdk.csproj.AssemblyReference.cache
+++ /dev/null
Binary files differ
diff --git a/sdk_dingding/TopSdk/obj/Debug/TopSdk.csproj.FileListAbsolute.txt b/sdk_dingding/TopSdk/obj/Debug/TopSdk.csproj.FileListAbsolute.txt
index 3188bd1..c51068a 100644
--- a/sdk_dingding/TopSdk/obj/Debug/TopSdk.csproj.FileListAbsolute.txt
+++ b/sdk_dingding/TopSdk/obj/Debug/TopSdk.csproj.FileListAbsolute.txt
@@ -9,4 +9,3 @@
 D:\缃戠珯鍙戝竷\鍚庣浠g爜\MES-WEB-API\MES-WEB-API\sdk_dingding\TopSdk\obj\Debug\TopSdk.csproj.CoreCompileInputs.cache
 D:\缃戠珯鍙戝竷\鍚庣浠g爜\MES-WEB-API\MES-WEB-API\sdk_dingding\TopSdk\obj\Debug\TopSdk.dll
 D:\缃戠珯鍙戝竷\鍚庣浠g爜\MES-WEB-API\MES-WEB-API\sdk_dingding\TopSdk\obj\Debug\TopSdk.pdb
-D:\缃戠珯鍙戝竷\鍚庣浠g爜\MES-WEB-API\MES-WEB-API\sdk_dingding\TopSdk\obj\Debug\TopSdk.csproj.AssemblyReference.cache
diff --git a/sdk_dingding/TopSdk/obj/Debug/TopSdk.dll b/sdk_dingding/TopSdk/obj/Debug/TopSdk.dll
index d5ccd06..4a9e3af 100644
--- a/sdk_dingding/TopSdk/obj/Debug/TopSdk.dll
+++ b/sdk_dingding/TopSdk/obj/Debug/TopSdk.dll
Binary files differ
diff --git a/sdk_dingding/TopSdk/obj/Debug/TopSdk.pdb b/sdk_dingding/TopSdk/obj/Debug/TopSdk.pdb
index 7daebb4..bb5d577 100644
--- a/sdk_dingding/TopSdk/obj/Debug/TopSdk.pdb
+++ b/sdk_dingding/TopSdk/obj/Debug/TopSdk.pdb
Binary files differ

--
Gitblit v1.9.1