Your Name hace 2 años
padre
commit
0ebc4c4b6e
Se han modificado 2 ficheros con 402 adiciones y 0 borrados
  1. 181 0
      FormGetMaterial.cs
  2. 221 0
      FormGetMaterial.resx

+ 181 - 0
FormGetMaterial.cs

@@ -0,0 +1,181 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Data.SqlClient;
+using System.Drawing;
+using System.Drawing.Imaging;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using static СУБД_Фабрика.FormGetMaterial;
+
+namespace СУБД_Фабрика
+{
+    public partial class FormGetMaterial : Form
+    {
+        public FormGetMaterial()
+        {
+            InitializeComponent();
+        }
+
+        public struct Tkan
+        {
+            public string TitleTkan, ColorTkan, WidthTkan, LengthTkan, Comment;
+            public Image PhotoTkan;
+        }
+
+        public struct Furn
+        {
+            public string TitleFurn, CountFurn;
+            public Image PhotoFurn;
+        }
+
+        SqlConnection Con = new SqlConnection(FormMain.txtCon);
+        List<Tkan> LstTkan = new List<Tkan>();
+        List<Furn> LstFurn = new List<Furn>();
+        private void BtnLoadPhoto_Click(object sender, EventArgs e)
+        {
+            try
+            {
+                if (openFileDialog1.ShowDialog() == DialogResult.OK)
+                    PbxPhotoTkan.Image = Image.FromFile(openFileDialog1.FileName);
+            }
+            catch { }
+        }
+
+        private void BtnClearPhoto_Click(object sender, EventArgs e)
+        {
+            if (MessageBox.Show("Очистить фотографию?", "Внимание",
+                MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
+                PbxPhotoTkan.Image = null;
+        }
+
+        private void BtnAddTkan_Click(object sender, EventArgs e)
+        {
+            Tkan Tk1 = new Tkan();  
+            Tk1.TitleTkan = TbxTitleTkan.Text;
+            Tk1.ColorTkan = TbxColorTkan.Text;
+            Tk1.WidthTkan = TbxWidthTkan.Text;
+            Tk1.LengthTkan = TbxLengthTkan.Text;
+            Tk1.Comment = TbxCommentTkan.Text;
+            Tk1.PhotoTkan = PbxPhotoTkan.Image;
+            LstTkan.Add(Tk1);  
+            DgvTkan.Rows.Add(Tk1.TitleTkan, Tk1.ColorTkan, Tk1.WidthTkan, Tk1.LengthTkan, Tk1.Comment);
+        }
+
+        private void BtnDelTkan_Click(object sender, EventArgs e)
+        {
+            int NumTkan = DgvTkan.CurrentRow.Index;
+            if (NumTkan >= 0)
+            {
+                if (MessageBox.Show("Удалить выделенную ткань?",
+                    "Внимание", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
+                {
+                    LstTkan.RemoveAt(NumTkan);
+                    DgvTkan.Rows.RemoveAt(NumTkan);
+                }
+            }
+            else
+                MessageBox.Show("Ткань не выделена",
+                    "Внимание", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
+        }
+
+        private void BtnOK_Click(object sender, EventArgs e)
+        {
+            foreach (Tkan tkan in LstTkan)
+            {
+                Con.Open();
+                if (tkan.PhotoTkan != null)  // если есть изображение
+                {
+                    string PhotoName = Guid.NewGuid().ToString() + ".jpg";
+                    string fileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, Application.StartupPath + "\\Clothes", PhotoName);
+                    string txtQuery = $@"insert into Cloth(Title, Color, Width, Length, Comment, Photo) values('{tkan.TitleTkan}','{tkan.ColorTkan}',{tkan.WidthTkan},{tkan.LengthTkan},'{tkan.Comment}','{PhotoName}')";
+                    SqlCommand query = new SqlCommand(txtQuery, Con);
+                    query.ExecuteNonQuery();
+                    tkan.PhotoTkan.Save(fileName, ImageFormat.Jpeg);
+                }
+                else
+                {
+                    string txtQuery = $@"insert into Cloth(Title, Color, Width, Length, Comment) values('{tkan.TitleTkan}','{tkan.ColorTkan}',{tkan.WidthTkan},{tkan.LengthTkan},'{tkan.Comment}')";
+                    SqlCommand query = new SqlCommand(txtQuery, Con);
+                    query.ExecuteNonQuery();
+                }
+
+                Con.Close();
+            }
+
+            foreach(Furn frn in LstFurn)
+            {
+                Con.Open();
+                if(frn.PhotoFurn != null)
+                {
+                    string PhotoName = Guid.NewGuid().ToString() + ".jpg";
+                    string fileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, Application.StartupPath + "\\Clothes", PhotoName);
+                    string txtQuery = $@"insert into Furnitura(namefur, countfur, photo) values('{frn.TitleFurn}',{frn.CountFurn},'{PhotoName}')";
+                    SqlCommand query = new SqlCommand(txtQuery, Con);
+                    query.ExecuteNonQuery();
+                    frn.PhotoFurn.Save(fileName, ImageFormat.Jpeg);
+                }
+                else
+                {
+                    string txtQuery = $@"insert into Furnitura(namefur, countfur) values('{frn.TitleFurn}',{frn.CountFurn})";
+                    SqlCommand query = new SqlCommand(txtQuery, Con);
+                    query.ExecuteNonQuery();
+                }
+
+                Con.Close();
+            }
+
+            MessageBox.Show("Документ принят к учету.", "Внимание!",
+                MessageBoxButtons.OK, MessageBoxIcon.Information);
+            this.Close();
+        }
+
+        private void BtnSavePhotoFurn_Click(object sender, EventArgs e)
+        {
+            try
+            {
+                if (openFileDialog1.ShowDialog() == DialogResult.OK)
+                    PbxPhotoFurn.Image = Image.FromFile(openFileDialog1.FileName);
+            }
+            catch { }
+        }
+
+        private void BtnClearPhotoFurn_Click(object sender, EventArgs e)
+        {
+            if (MessageBox.Show("Очистить фотографию?", "Внимание",
+                MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
+                PbxPhotoFurn.Image = null;
+        }
+
+        private void BtnAddFur_Click(object sender, EventArgs e)
+        {
+            Furn frn = new Furn();
+            frn.TitleFurn = TbxTitleFur.Text;
+            frn.CountFurn = TbxCountFur.Text;
+            frn.PhotoFurn = PbxPhotoFurn.Image;
+            LstFurn.Add(frn);
+            DgvFurn.Rows.Add(frn.TitleFurn, frn.CountFurn);
+        }
+
+        private void BtnDelFur_Click(object sender, EventArgs e)
+        {
+            int NumFurn = DgvFurn.CurrentRow.Index;
+            if (NumFurn >= 0)
+            {
+                if (MessageBox.Show("Удалить выделенную фурнитуру?",
+                    "Внимание", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
+                {
+                    LstFurn.RemoveAt(NumFurn);
+                    DgvFurn.Rows.RemoveAt(NumFurn);
+                }
+            }
+            else
+                MessageBox.Show("Фурнитура не выделена",
+                    "Внимание", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
+        }
+    }
+}

+ 221 - 0
FormGetMaterial.resx

@@ -0,0 +1,221 @@
+<?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="Column1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="Column3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="Column4.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="Column5.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="dataGridViewTextBoxColumn1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="Column6.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="openFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAMMOAADDDgAAAAAAAAAA
+        AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+        /wD///8A////AAAAAAB6ZasA////////////////////////////////////////////////////////
+        /////////////f////r////4////+P////b////2////9v////j////6/////f//////////////////
+        ///////////////////t+P4xAAAAAH1ts//p////uMj//6q2/f+cqfH/kZvm/4eN3P99hNL/dXrK/3By
+        wv9qbL3/Zma5/2Rjtf9iYbH/YF2t/15dq/9eW6f/XFml/1xXof9aVZ3/WlOa/1hRlv9WTZL/VEmM/1JF
+        hv9QP4D/Tjx4/z8nZ/9MM2j/6vP+//////8hAAD//B8A//9RAP//MAD//gYA/+wAAP//CAD/6wAA/8kA
+        AP/qAAD/4gAA/9wAAP/YAAD/1gAA/9QAAP/SAAD/0gAA/9AAAP/QAAD/zgAA/8wAAP/MAAD/ygAA/8gA
+        AP/EAAD/wgAA/8AAAP+9AAD/3gAA/zsAAP9UNmb//////y4AAP/9QgD//2QA//8uAP//bgD//3IA/84A
+        AP//KQD//2AA/80AAP/QAAD/zwAA/8sAAP/JAAD/xwAA/8UAAP/FAAD/wwAA/8MAAP/BAAD/wQAA/78A
+        AP+9AAD/uQAA/7cAAP+0AAD/sAAA/64AAP/KAAD/NgAA/1IzWP//////MgAD//LCW////3P/9MNY////
+        U////0n/wo45//7ANP//+jD/w4gi/8aLH//Fhhn/wYIV/79+Ef+9fA3/vXoJ/7t6Bv+7eAL/uXYA/7d0
+        AP+3cAD/tWwA/7NoAP+wZAD/rF8A/6hXAP+kTwD/oEcA/6hdAP8uAAD/XTpW//////9rDxv///+I////
+        qP///4X///97////cf///2r///9g////WP///1P///9N////R////0P///8/////PP///zj///80////
+        MP///yr///8m////IP///xr///8V////Df///wX///8A////AP///wD///8A//+IAP9nRXP/////QgAA
+        AErQjzT///+U////ff///23///9p////U////wX///9B////Sv///z7///84////Nf///zH///8r////
+        J////yP///80////AP///AD///8A///8AP//9wD///EA///mAP//9gD//70A//+kAP///wD/AAAA/0g6
+        agD///8AAAAAAAAAAAA9AADiPQAA8igAAOMTAADOJwAAqI1qbf8AAAC7AAAAsAAAAKkAAAChAAAAmwAA
+        AJUAAACNAAAAhwAAAH8AAACeEQAd/z0AgP8tAHL/LABq/ygAZP8kAFz/IwBa/wAAGf89AAD/TxoA/wAA
+        AKgAAAAASjxqAP///wAAAAAAAAAAAEMAAABAAAAALAAAABkAAAAAAAAA////AAAAAAAAAAAAAwAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAP//h1f//18n//9bI///Vx3//1MV//9cH///AAD//4J5
+        pf////9OAAAAAAAAAABMPmoA////AAAAAAAAAAAARwAAAEQAAAAyAAAAfo+lAEIbPfT////c////AP//
+        /wAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACcA1P+QX///bTX//2kv//9lKf//YCH//2Ym
+        //8HAP//b1Fg/////4f///8AAAAAAE5AaAD///8AAAAAAAAAAABLAAAAVwAAAE0AAACBlKMAVjJH////
+        ////////////AP///wD///8AAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAKgDG/55u//+JVv//gkz//35E
+        //97Q///eDz//wgA//92W2P/////h////wD///8A////AP///wB6AAAAcAAAAGcAAABbAAAAUQAAAFNr
+        hf9RJBb/UjhZ//////////9t////AP///wD///8ABQAAAAAAAAAAAAAAAAAAAAAAAAA6AOz/gk7//y4A
+        zv82AOb/MgDe/yQAvP9BAP//EwD//3hdY/////99////AP///wD///8A////AAkJFQAAAAwAAAACAAAA
+        AAAXAAD//+4A////AP+jLQD/p6dt//////////8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAEcE
+        /f91Pv//AwA3/xEAYf8LAF7/AAAt/yMAtv8YAP//g2ln/////4L///8A////AP///wD///8ACwsRAAEB
+        CgAAAAAAAAAAXVwSjP+8grT/rHOk/4xDhf8OADz//////////9f///8A////AP///wD///8AAAAAAAAA
+        AAAAAAAAQADf/45V//9AAOX/RQD3/z8A9P8wANT/SwL//x0A//9XPVv///////////////8A////AP3/
+        /wBdB00AVQBEAEsAOgBBADD/38H//66G//+edP//sYv//0cA//+UgIz/////d////wD///8A////AP//
+        /wD///8AAAAAAAAAAABQEfP/hE7//x4Aev8pAJf/IwCU/xIAaf82AOD/NwD//xYAAP+BSgD/////////
+        /wD///8A////AFAVVABIC0sAPgFBADYAN//Pqf//0Kj//8ie///Dmv//TgL//8TCvP/////d////AP//
+        /wD///8A////AP///wD///8AAAAAABcAhP+jbv//Zyf//14Z//9ZD///Uwb//2gi//8IAP//4XMA/8ZF
+        AP+Jiqj/////AP///wD///8ATw9JAEcHQAA/ADYANQAs/+fE//+KWf//UACq/4lX//+BO///inZi////
+        /////////////f////v////0////7v///+f//5f4GACx/4tQ//84AKj/OgCu/zcArP8kAIH/SAD//xIA
+        ///NZQD/7H4A/5ORpP////8A////AP///wBlJoEAXh54AFYUbgBOCmT/iFz//9yZAP///wD/rmcN/4dU
+        //9zNv//Z0Vr/2xl3/9iVtv/YEC3/1sznP9XKYb/Zzxs/1Qehv+NTf//NAC0////GP///8T///+e////
+        f/9gJDD/AAD//85mAP/ldgD/lpWo/////wD///8A////AGowkwBiKYsAWx+CAFMXeP9pN////8wA////
+        Af/VigD/XC3//8Ca//+LQ///tDna/7VC4P+0ZP//tnv//7eM//+HTf//gj3//6pv//8lAHD///+L////
+        /////////////4FRRf8AAP//zmQA/+V0AP+Ukaj/////Cv///wD///8AWBtUAFITSwBKC0MAQgE5/+XC
+        //+IU///i0QP/39F///HoP//nX7//9iN////sAD//8oA////FP///9T///////////9pH///nWb//18c
+        //9fKS7/ek5t/3JAYv9fJSv/PQCm/wQA///JYgD/94gA/6Gkt/////8A////AP///wBRDkoASwZDAEUA
+        OwA9ADH/vYj//7SA//99RP//p27//5Vc//+MUf//iEz//4JI//9+Qv//fT7//3k4//91Mf//cSv//20p
+        //9nIP//cCr//zsA//8hAP//HQD//xIA//9DAP//AAD//8dSAP+OAAD/QC9W1////wD///8A////AFoZ
+        KABVEyAATwsYAEcDEf/Pr///waH9/7iW+P+yjur/qYXh/6eD2v+getr/k3Tr/49t5/+LYdn/h1rK/4NS
+        vf+BVbf/hViv/31Nqf96RqT/cjyi/2ozmP9iJ4//WRyF/1gXe/8RADf/IgAA/zQAAP8/K1YA////AP//
+        /wD///8AsXh9AKtydgClam4An2Vm////////////////////////////////////////////////////
+        //////////////////////////////////////////////////////////////////+TiZL/////Gv//
+        /wD///8A////AP///wAkCQAAHgMAABkAAAATAAD/////////////////////////////////////////
+        //////////////////////////////////////////////////////////////3u/P//////kGF7/wsA
+        AHT///8A////AP///wD///8A////ACgLAAAiBwAAHAEAABkAAAAzAABoIgAAx/bijv///9j/iGxF/2Q2
+        HWsAAABVEAAATgwAAEYIAABABAAAPAAAADgAAAA2AAAANAAAADQAAABRahYA//TgAP9cBwD/oKCb/wAA
+        AIUAAAAVCwAAAP///wD///8A////AP///wD///8ALA8EACYLAAAiBQAAHAEAADkAAAAnAAAAPy0N5aVz
+        S/9BBQAAaT0pAAAAAAAYAAAAFAAAABAAAAAMAAAABgAAAAAAAAAAAAAAAAAAAAAAAADmjQD///8s/9F7
+        AP//////AAAAAAAAAAALAAAA////AP///wD///8A////AP///wAwEwwALA8GACYLAAAiBQAAPQAAAC0A
+        AABHMhYAq3tWAEkNBwBxRzUABgAAACAAAAAcAAAAGAAAABQAAAAOAAAABgAAAAAAAAAAAAAAAAAAAN6K
+        AP///zT/x3IA/+X///////8A////AP///wD///8A////AP///wD///8A////ADQXEgAwEw4ALA8IACYL
+        BABDAAAAMwAAAE06IgCzg2AAURUSAHlPQQAOAAAAJwAAACQAAAAgAAAAGgAAABQAAAAOAAAAAAAAAAAA
+        AAAAAAAA04EA////Kv+6ZwD//////////wD///8A////AP///wD///8A////AP///wD///8AOBsYADQX
+        FAAwExAALBEMAEkAAAA5AAAAU0IsALmLbABXHR4Af1lMABYAAAAvAAAAKwAAACcAAAAiAAAAHAAAAAAA
+        AAAAAAAAAAAAAAAAAAACAAD/FwAA/y0AAP////8A////AP///wD///8A////AP///wD///8A////AP//
+        /wA6HR4AOBsaADQZGAAwFRQATQAAAD0AAABYSDUAv5N1AFwlKACHYVgAHAAAADcAAAAzAAAALQAAACkA
+        AAAiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAD///8A////AP///wD///8A////AP//
+        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+        /wD///8A////AP///wD///8A/////8AAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAH///AD/z/
+        wA/8f8AP+D/AD/A/wA/gH8AH4B/AB+AfwAfgAAAH4AAAB+AAAAPgAAAH4AAAB+AAAA/gAAAP4AAAH/AA
+        AD/8//D////w////8P////H////7//////8=
+</value>
+  </data>
+</root>