From 7bc008185b0e7ece0e6a85b4e7fe745ae2803349 Mon Sep 17 00:00:00 2001 From: MorozovDanil Date: Fri, 29 Nov 2024 21:52:39 +0400 Subject: [PATCH 1/8] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=20=D0=BF=D0=B5=D1=80=D0=B5=D1=87=D0=B8=D1=81=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5,=20=D1=81=D1=83=D1=89=D1=8C=D0=BD=D0=BE=D1=81?= =?UTF-8?q?=D1=82=D0=B8.=20=D0=9E=D1=81=D1=82=D0=B0=D0=BB=D0=BE=D1=81?= =?UTF-8?q?=D1=8C=20=D1=80=D0=B5=D0=BF=D0=BE=D0=B7=D0=B8=D1=82=D0=BE=D1=80?= =?UTF-8?q?=D0=B8=D0=B8,=20=D1=84=D0=BE=D1=80=D0=BC=D1=8B=20=D0=B8=20?= =?UTF-8?q?=D1=82=D0=BF.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectRepairCompany/Entities/Detail.cs | 29 +++++++++++++++ .../Entities/Enums/DetailProperties.cs | 19 ++++++++++ .../Entities/Enums/MasterPost.cs | 16 +++++++++ .../ProjectRepairCompany/Entities/Master.cs | 27 ++++++++++++++ .../ProjectRepairCompany/Entities/Order.cs | 36 +++++++++++++++++++ .../Entities/OrderDetail.cs | 26 ++++++++++++++ .../ProjectRepairCompany/Entities/Storage.cs | 24 +++++++++++++ .../Entities/StorageDetail.cs | 26 ++++++++++++++ 8 files changed, 203 insertions(+) create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Entities/Detail.cs create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Entities/Enums/DetailProperties.cs create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Entities/Enums/MasterPost.cs create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Entities/Master.cs create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Entities/Order.cs create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Entities/OrderDetail.cs create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Entities/Storage.cs create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Entities/StorageDetail.cs diff --git a/ProjectRepairCompany/ProjectRepairCompany/Entities/Detail.cs b/ProjectRepairCompany/ProjectRepairCompany/Entities/Detail.cs new file mode 100644 index 0000000..fc60a05 --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Entities/Detail.cs @@ -0,0 +1,29 @@ +using ProjectRepairCompany.Entities.Enums; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectRepairCompany.Entities; + +public class Detail +{ + public int Id { get; private set; } + public string NameDetail { get; private set; } = string.Empty; + public int NumberDetail { get; private set; } + public int PriceDetail { get; private set; } + public DetailProperties DetailProperties { get; private set; } + + public static Detail CreateEntity(int id, string nameDetail, int numberDetail, int priceDetail, DetailProperties detailProperties) + { + return new Detail + { + Id = id, + NameDetail = nameDetail, + NumberDetail = numberDetail, + PriceDetail = priceDetail, + DetailProperties = detailProperties + }; + } +} diff --git a/ProjectRepairCompany/ProjectRepairCompany/Entities/Enums/DetailProperties.cs b/ProjectRepairCompany/ProjectRepairCompany/Entities/Enums/DetailProperties.cs new file mode 100644 index 0000000..2bb1512 --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Entities/Enums/DetailProperties.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectRepairCompany.Entities.Enums; + +[Flags] +public enum DetailProperties +{ + None = 0, // Нет свойств + Fragile = 1, // Хрупкая деталь + Heavy = 2, // Тяжелая + Expensive = 4, // Дорогая + CustomMade = 8, // Изготовлена на заказ + InStock = 16, // В наличии + Discounted = 32 // Со скидкой +} diff --git a/ProjectRepairCompany/ProjectRepairCompany/Entities/Enums/MasterPost.cs b/ProjectRepairCompany/ProjectRepairCompany/Entities/Enums/MasterPost.cs new file mode 100644 index 0000000..d014c30 --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Entities/Enums/MasterPost.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectRepairCompany.Entities.Enums; + +public enum MasterPost +{ + None = 0, + Intern = 1, + Worker = 2, + Head = 3 + +} diff --git a/ProjectRepairCompany/ProjectRepairCompany/Entities/Master.cs b/ProjectRepairCompany/ProjectRepairCompany/Entities/Master.cs new file mode 100644 index 0000000..67076c8 --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Entities/Master.cs @@ -0,0 +1,27 @@ +using ProjectRepairCompany.Entities.Enums; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectRepairCompany.Entities; + +public class Master +{ + public int Id { get; private set; } + public string MasterName { get; private set; } = string.Empty; + public DateTime StartDate { get; private set; } + public MasterPost MasterPost { get; private set; } + + public static Master CreateEntity(int id, string masterName, MasterPost masterPost) + { + return new Master + { + Id = id, + MasterName = masterName, + StartDate = DateTime.Now, + MasterPost = masterPost + }; + } +} diff --git a/ProjectRepairCompany/ProjectRepairCompany/Entities/Order.cs b/ProjectRepairCompany/ProjectRepairCompany/Entities/Order.cs new file mode 100644 index 0000000..1b32603 --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Entities/Order.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectRepairCompany.Entities; + +public class Order +{ + public int Id { get; private set; } + public DateTime OrderDate { get; private set; } + public DateTime? DateCompletion { get; private set; } // уточнить + public DateTime? DateIssue { get; private set; } // уточнить + public int FullPrice { get; private set; } + public int MasterId { get; private set; } + + public static Order CreateOperation(int id, int fullPrice, int masterId, DateTime? dateCompletion = null, DateTime? dateIssue = null) + { + if (dateCompletion.HasValue && dateCompletion < DateTime.Now) + throw new ArgumentException("Дата начала ремонта не может быть раньше текущей даты."); + + if (dateIssue.HasValue && dateCompletion.HasValue && dateIssue < dateCompletion) + throw new ArgumentException("Дата выдачи не может быть раньше даты начала ремонта."); + + return new Order + { + Id = id, + OrderDate = DateTime.Now, // Автоматически задается текущая дата + DateCompletion = dateCompletion, // Задается вручную, если есть + DateIssue = dateIssue, // Задается вручную, если есть + FullPrice = fullPrice, + MasterId = masterId + }; + } +} diff --git a/ProjectRepairCompany/ProjectRepairCompany/Entities/OrderDetail.cs b/ProjectRepairCompany/ProjectRepairCompany/Entities/OrderDetail.cs new file mode 100644 index 0000000..d240c09 --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Entities/OrderDetail.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectRepairCompany.Entities; + +public class OrderDetail +{ + public int OrderId { get; private set; } + public int DetailId { get; private set; } + public int DetailPrice { get; private set; } + public int DetailCount { get; private set; } + + public static OrderDetail CreateOperation(int orderId, int detailId, int detailPrice, int detailCount) + { + return new OrderDetail + { + OrderId = orderId, + DetailId = detailId, + DetailPrice = detailPrice, + DetailCount = detailCount + }; + } +} diff --git a/ProjectRepairCompany/ProjectRepairCompany/Entities/Storage.cs b/ProjectRepairCompany/ProjectRepairCompany/Entities/Storage.cs new file mode 100644 index 0000000..0bf4dc7 --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Entities/Storage.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectRepairCompany.Entities; + +public class Storage +{ + public int Id { get; private set; } + public string StorageAddress { get; private set; } = string.Empty; + public int Capacity { get; private set; } + + public static Storage CreateEntity(int id, string storageAddress, int capacity) + { + return new Storage + { + Id = id, + StorageAddress = storageAddress, + Capacity = capacity + }; + } +} diff --git a/ProjectRepairCompany/ProjectRepairCompany/Entities/StorageDetail.cs b/ProjectRepairCompany/ProjectRepairCompany/Entities/StorageDetail.cs new file mode 100644 index 0000000..bdec3fe --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Entities/StorageDetail.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectRepairCompany.Entities; + +public class StorageDetail +{ + public int StorageId { get; private set; } + public int DetailId { get; private set; } + public int DetailCount { get; private set; } + public DateTime SupplyDate { get; private set; } // Дата поступления деталей + + public static StorageDetail CreateOperation(int storageId, int detailId, int detailCount, DateTime supplyDate) + { + return new StorageDetail + { + StorageId = storageId, + DetailId = detailId, + DetailCount = detailCount, + SupplyDate = supplyDate + }; + } +} -- 2.25.1 From 96875e17e57564aae5e6533c97b2646b12866afe Mon Sep 17 00:00:00 2001 From: MorozovDanil Date: Sat, 30 Nov 2024 07:18:31 +0400 Subject: [PATCH 2/8] =?UTF-8?q?=D0=9E=D1=81=D1=82=D0=B0=D0=BB=D0=BE=D1=81?= =?UTF-8?q?=D1=8C=20=D0=BD=D0=B5=D1=81=D0=BA=D0=BE=D0=BB=D1=8C=D0=BA=D0=BE?= =?UTF-8?q?=20=D1=84=D0=BE=D1=80=D0=BC.=20=D0=A3=D1=82=D0=BE=D1=87=D0=BD?= =?UTF-8?q?=D0=B8=D1=82=D1=8C=20=D0=BF=D1=80=D0=BE=20=D1=83=D0=B4=D0=B0?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5.=20=D0=A3=D1=82=D0=BE=D1=87?= =?UTF-8?q?=D0=BD=D0=B8=D1=82=D1=8C=20=D0=BF=D1=80=D0=BE=20=D0=B7=D0=B0?= =?UTF-8?q?=D0=BA=D0=B0=D0=B7=20=D0=B8=20=D0=B4=D0=B0=D1=82=D1=8B.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 43-436254_plus-green-plus-icon-png.png | Bin 0 -> 70959 bytes Feedbin-Icon-home-edit.svg.png | Bin 0 -> 10494 bytes Ic_remove_circle_48px.svg.png | Bin 0 -> 17287 bytes .../ProjectRepairCompany/Entities/Detail.cs | 4 +- .../ProjectRepairCompany/Entities/Master.cs | 8 +- .../FormRepairCompany.Designer.cs | 141 +++++++++++++ .../{Form1.cs => FormRepairCompany.cs} | 4 +- .../FormRepairCompany.resx | 123 ++++++++++++ .../Forms/FormDetail.Designer.cs | 170 ++++++++++++++++ .../ProjectRepairCompany/Forms/FormDetail.cs | 106 ++++++++++ .../Forms/FormDetail.resx | 120 +++++++++++ .../Forms/FormDetails.Designer.cs | 125 ++++++++++++ .../ProjectRepairCompany/Forms/FormDetails.cs | 40 ++++ .../Forms/FormDetails.resx | 120 +++++++++++ .../Forms/FormMaster.Designer.cs | 141 +++++++++++++ .../ProjectRepairCompany/Forms/FormMaster.cs | 81 ++++++++ .../Forms/FormMaster.resx | 120 +++++++++++ .../Forms/FormMasters.Designer.cs | 125 ++++++++++++ .../ProjectRepairCompany/Forms/FormMasters.cs | 118 +++++++++++ .../Forms/FormMasters.resx | 120 +++++++++++ .../Forms/FormOrder.Designer.cs | 190 ++++++++++++++++++ .../ProjectRepairCompany/Forms/FormOrder.cs | 27 +++ .../ProjectRepairCompany/Forms/FormOrder.resx | 120 +++++++++++ .../FormOrderDetail.Designer.cs} | 16 +- .../Forms/FormOrderDetail.cs | 20 ++ .../FormOrderDetail.resx} | 0 .../Forms/FormStorage.Designer.cs | 121 +++++++++++ .../ProjectRepairCompany/Forms/FormStorage.cs | 81 ++++++++ .../Forms/FormStorage.resx | 120 +++++++++++ .../Forms/FormStorages.Designer.cs | 126 ++++++++++++ .../Forms/FormStorages.cs | 108 ++++++++++ .../Forms/FormStorages.resx | 120 +++++++++++ .../ProjectRepairCompany/Program.cs | 17 +- .../ProjectRepairCompany.csproj | 19 ++ .../Properties/Resources.Designer.cs | 103 ++++++++++ .../Properties/Resources.resx | 133 ++++++++++++ .../Repositories/IDetailRepository.cs | 18 ++ .../Repositories/IMasterRepository.cs | 18 ++ .../Repositories/IOrderDetailRepository.cs | 14 ++ .../Repositories/IStorageDetailRepository.cs | 15 ++ .../Repositories/IStorageRepository.cs | 17 ++ .../Implementations/DetailRepository.cs | 34 ++++ .../Implementations/MasterRepository.cs | 34 ++++ .../Implementations/OrderDetailRepository.cs | 20 ++ .../StorageDetailRepository.cs | 20 ++ .../Implementations/StorageRepository.cs | 33 +++ .../43-436254_plus-green-plus-icon-png.png | Bin 0 -> 70959 bytes .../Resources/Feedbin-Icon-home-edit.svg.png | Bin 0 -> 10494 bytes .../Resources/Ic_remove_circle_48px.svg.png | Bin 0 -> 17287 bytes ...мок экрана 2024-09-02 200407.png | Bin 0 -> 485661 bytes 50 files changed, 3195 insertions(+), 15 deletions(-) create mode 100644 43-436254_plus-green-plus-icon-png.png create mode 100644 Feedbin-Icon-home-edit.svg.png create mode 100644 Ic_remove_circle_48px.svg.png create mode 100644 ProjectRepairCompany/ProjectRepairCompany/FormRepairCompany.Designer.cs rename ProjectRepairCompany/ProjectRepairCompany/{Form1.cs => FormRepairCompany.cs} (54%) create mode 100644 ProjectRepairCompany/ProjectRepairCompany/FormRepairCompany.resx create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Forms/FormDetail.Designer.cs create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Forms/FormDetail.cs create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Forms/FormDetail.resx create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Forms/FormDetails.Designer.cs create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Forms/FormDetails.cs create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Forms/FormDetails.resx create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Forms/FormMaster.Designer.cs create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Forms/FormMaster.cs create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Forms/FormMaster.resx create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Forms/FormMasters.Designer.cs create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Forms/FormMasters.cs create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Forms/FormMasters.resx create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrder.Designer.cs create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrder.cs create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrder.resx rename ProjectRepairCompany/ProjectRepairCompany/{Form1.Designer.cs => Forms/FormOrderDetail.Designer.cs} (73%) create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrderDetail.cs rename ProjectRepairCompany/ProjectRepairCompany/{Form1.resx => Forms/FormOrderDetail.resx} (100%) create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorage.Designer.cs create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorage.cs create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorage.resx create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorages.Designer.cs create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorages.cs create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorages.resx create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Properties/Resources.Designer.cs create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Properties/Resources.resx create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Repositories/IDetailRepository.cs create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Repositories/IMasterRepository.cs create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Repositories/IOrderDetailRepository.cs create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Repositories/IStorageDetailRepository.cs create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Repositories/IStorageRepository.cs create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Repositories/Implementations/DetailRepository.cs create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Repositories/Implementations/MasterRepository.cs create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Repositories/Implementations/OrderDetailRepository.cs create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Repositories/Implementations/StorageDetailRepository.cs create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Repositories/Implementations/StorageRepository.cs create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Resources/43-436254_plus-green-plus-icon-png.png create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Resources/Feedbin-Icon-home-edit.svg.png create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Resources/Ic_remove_circle_48px.svg.png create mode 100644 ProjectRepairCompany/ProjectRepairCompany/Resources/Снимок экрана 2024-09-02 200407.png diff --git a/43-436254_plus-green-plus-icon-png.png b/43-436254_plus-green-plus-icon-png.png new file mode 100644 index 0000000000000000000000000000000000000000..95bb2f368bc264f7f73f2ef96222c45cf07d8c86 GIT binary patch literal 70959 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%0AVQeM!F-d4AC2UGnJd* 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 literal 0 HcmV?d00001 diff --git a/Feedbin-Icon-home-edit.svg.png b/Feedbin-Icon-home-edit.svg.png new file mode 100644 index 0000000000000000000000000000000000000000..b5b138b62ad0b4d60e2b68c09fb4b2e7bab09299 GIT binary patch literal 10494 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

+N3XXUaih+J6j##^zSsy@KPRv|%64 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

7PISRFu9I}k$TxsYokiUI# zd8NgH-yYLEWwllVZj=}+J2lDN%Ic}=d+Jll8X-k9F0Q#Y32_L&6k3a>_2F5Yq^wYn zEpHn=DL4>un=!w3B8wN`SDkFI?KNa|gT2>J4f)@lUv)kgMUp?7ur(y z_~f!!J;nm;-z3JN`Qgl3IUc&gR-nYCD?3BUuXGD@Wuv!_6Sf!}&G;I70J@2GEY=nj z6)S+c+j~NHn$CDJr(aG!GbDFE?8Ga3|@v%L| zo>%F0X4bPB_?pM$i~B0ntpx{ULYW^5Qgv9ZdT6XyO23%8rQpDU+fz@Ozrj`6*L(F{ zQlBX7*IC~ha4xhhJ^42p4%?Ze1*SwrgIAd-+bY4eU4tHm7^f_-twcwwxbL{J{ps7&F>A&}A}sWl zt)b@(^7d&MvDz0m6b!qjNP?U&zS}f3*0#HiK$I@0>xU`=$HmR*8L@|V@)G{Z&%dFg z7s=`=luz5#*)PYK`7XpMLzW()7r4*;MuUV;1f`{iTAK3_(jFNy=yJI-f7>t38INKQ zzUL;e#VCm3yo3J%{PrrJ@s_sd)RUj*=2P)S&2G@!Mjw*fGMyn=7=F|krPPbnF?7}m z;)E{1c2^w*xoNMZ-qIjZMwR;=Puyiz`=q}_K_ugmg&Y=rJdhp9WQf8}$l#sfuaHHlC7#{H{VgcF_QZ1PiIUOIUoRlYA zy_5OGJzMT5sLViYzR%My*%!(AhOb1F(T5o2?&+`o{t&&>H+Hozp=Dp|)e|?owR8?K znxjs#+JP6EJyyGa-s~@$D0MPXogN;~b7TJM72yKp+i&&8No1cNeX+EaFF0ylf3A)$$$vSr@1|wL)E$$b2o4nJSTvVw-Ki=BA#_&6~~5(jyz~1=uaGs}(Oq`j-F=tUR{l}n?<9-SxRw6vH)B^k?~*UB59{7?f%SEp^HNU{4j@1+ z5$j{_I~ce;_h-E7`BTe+d>3eK_xxQvsIiZ#kAT`}PCg4v?bDFX$G+h2e>p1uLZc<@ zkI!ru^wI0&7UDGIG?+d`JvWu`tY&%nBm;@f#D>N=R#!h38vFg$8^8UjE6dG}%FU00 zKcfu#r$_bEN29d+eJSr*40ownaUF7%oA>eJ!WMq-tN(s+#jvI@PGWWJ&&uPvAfwuq zG2ErBsZ8fTACg*rj{TvJEA?$C^_I32U_;jJRG+$5PPeU2vj30xe|fe9DBGVZwY)hhcTk;IZ%*qJB_aQ~98d@ DateTime.Now) + { + throw new ArgumentException("Дата начала работы не может быть в будущем."); + } return new Master { Id = id, MasterName = masterName, - StartDate = DateTime.Now, + StartDate = startDate, MasterPost = masterPost }; } diff --git a/ProjectRepairCompany/ProjectRepairCompany/FormRepairCompany.Designer.cs b/ProjectRepairCompany/ProjectRepairCompany/FormRepairCompany.Designer.cs new file mode 100644 index 0000000..d621399 --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/FormRepairCompany.Designer.cs @@ -0,0 +1,141 @@ +namespace ProjectRepairCompany +{ + partial class FormRepairCompany + { + ///

+ /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + menuStrip1 = new MenuStrip(); + справочникиToolStripMenuItem = new ToolStripMenuItem(); + операцииToolStripMenuItem = new ToolStripMenuItem(); + отчетыToolStripMenuItem = new ToolStripMenuItem(); + работникиToolStripMenuItem = new ToolStripMenuItem(); + деталиToolStripMenuItem = new ToolStripMenuItem(); + складыToolStripMenuItem = new ToolStripMenuItem(); + пополнениеСкладаToolStripMenuItem = new ToolStripMenuItem(); + деталиВЗаказеToolStripMenuItem = new ToolStripMenuItem(); + заказыToolStripMenuItem = new ToolStripMenuItem(); + menuStrip1.SuspendLayout(); + SuspendLayout(); + // + // menuStrip1 + // + menuStrip1.Items.AddRange(new ToolStripItem[] { справочникиToolStripMenuItem, операцииToolStripMenuItem, отчетыToolStripMenuItem }); + menuStrip1.Location = new Point(0, 0); + menuStrip1.Name = "menuStrip1"; + menuStrip1.Size = new Size(834, 25); + menuStrip1.TabIndex = 0; + menuStrip1.Text = "menuStrip"; + // + // справочникиToolStripMenuItem + // + справочникиToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { работникиToolStripMenuItem, деталиToolStripMenuItem, складыToolStripMenuItem }); + справочникиToolStripMenuItem.Name = "справочникиToolStripMenuItem"; + справочникиToolStripMenuItem.Size = new Size(99, 21); + справочникиToolStripMenuItem.Text = "Справочники"; + // + // операцииToolStripMenuItem + // + операцииToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { заказыToolStripMenuItem, деталиВЗаказеToolStripMenuItem, пополнениеСкладаToolStripMenuItem }); + операцииToolStripMenuItem.Name = "операцииToolStripMenuItem"; + операцииToolStripMenuItem.Size = new Size(80, 21); + операцииToolStripMenuItem.Text = "Операции"; + // + // отчетыToolStripMenuItem + // + отчетыToolStripMenuItem.Name = "отчетыToolStripMenuItem"; + отчетыToolStripMenuItem.Size = new Size(63, 21); + отчетыToolStripMenuItem.Text = "Отчеты"; + // + // работникиToolStripMenuItem + // + работникиToolStripMenuItem.Name = "работникиToolStripMenuItem"; + работникиToolStripMenuItem.Size = new Size(180, 22); + работникиToolStripMenuItem.Text = "Работники"; + // + // деталиToolStripMenuItem + // + деталиToolStripMenuItem.Name = "деталиToolStripMenuItem"; + деталиToolStripMenuItem.Size = new Size(180, 22); + деталиToolStripMenuItem.Text = "Детали"; + // + // складыToolStripMenuItem + // + складыToolStripMenuItem.Name = "складыToolStripMenuItem"; + складыToolStripMenuItem.Size = new Size(180, 22); + складыToolStripMenuItem.Text = "Склады"; + // + // пополнениеСкладаToolStripMenuItem + // + пополнениеСкладаToolStripMenuItem.Name = "пополнениеСкладаToolStripMenuItem"; + пополнениеСкладаToolStripMenuItem.Size = new Size(194, 22); + пополнениеСкладаToolStripMenuItem.Text = "Пополнение склада"; + // + // деталиВЗаказеToolStripMenuItem + // + деталиВЗаказеToolStripMenuItem.Name = "деталиВЗаказеToolStripMenuItem"; + деталиВЗаказеToolStripMenuItem.Size = new Size(194, 22); + деталиВЗаказеToolStripMenuItem.Text = "Детали в заказе"; + // + // заказыToolStripMenuItem + // + заказыToolStripMenuItem.Name = "заказыToolStripMenuItem"; + заказыToolStripMenuItem.Size = new Size(194, 22); + заказыToolStripMenuItem.Text = "Заказы"; + // + // FormRepairCompany + // + AutoScaleDimensions = new SizeF(7F, 17F); + AutoScaleMode = AutoScaleMode.Font; + BackgroundImage = Properties.Resources.Снимок_экрана_2024_09_02_200407; + BackgroundImageLayout = ImageLayout.Stretch; + ClientSize = new Size(834, 461); + Controls.Add(menuStrip1); + DoubleBuffered = true; + MainMenuStrip = menuStrip1; + Name = "FormRepairCompany"; + StartPosition = FormStartPosition.CenterScreen; + Text = "Фирма по ремонту техники"; + menuStrip1.ResumeLayout(false); + menuStrip1.PerformLayout(); + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private MenuStrip menuStrip1; + private ToolStripMenuItem справочникиToolStripMenuItem; + private ToolStripMenuItem работникиToolStripMenuItem; + private ToolStripMenuItem деталиToolStripMenuItem; + private ToolStripMenuItem складыToolStripMenuItem; + private ToolStripMenuItem операцииToolStripMenuItem; + private ToolStripMenuItem отчетыToolStripMenuItem; + private ToolStripMenuItem пополнениеСкладаToolStripMenuItem; + private ToolStripMenuItem деталиВЗаказеToolStripMenuItem; + private ToolStripMenuItem заказыToolStripMenuItem; + } +} diff --git a/ProjectRepairCompany/ProjectRepairCompany/Form1.cs b/ProjectRepairCompany/ProjectRepairCompany/FormRepairCompany.cs similarity index 54% rename from ProjectRepairCompany/ProjectRepairCompany/Form1.cs rename to ProjectRepairCompany/ProjectRepairCompany/FormRepairCompany.cs index 4059ecb..a8a4e8a 100644 --- a/ProjectRepairCompany/ProjectRepairCompany/Form1.cs +++ b/ProjectRepairCompany/ProjectRepairCompany/FormRepairCompany.cs @@ -1,8 +1,8 @@ namespace ProjectRepairCompany { - public partial class Form1 : Form + public partial class FormRepairCompany : Form { - public Form1() + public FormRepairCompany() { InitializeComponent(); } diff --git a/ProjectRepairCompany/ProjectRepairCompany/FormRepairCompany.resx b/ProjectRepairCompany/ProjectRepairCompany/FormRepairCompany.resx new file mode 100644 index 0000000..a0623c8 --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/FormRepairCompany.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormDetail.Designer.cs b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormDetail.Designer.cs new file mode 100644 index 0000000..736fb7b --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormDetail.Designer.cs @@ -0,0 +1,170 @@ +namespace ProjectRepairCompany.Forms +{ + partial class FormDetail + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + checkedListBoxDetailProperties = new CheckedListBox(); + label1 = new Label(); + label2 = new Label(); + textBoxNameDetail = new TextBox(); + label3 = new Label(); + label4 = new Label(); + ButtonSave = new Button(); + ButtonCancel = new Button(); + numericUpDownPrice = new NumericUpDown(); + numericUpDownNumber = new NumericUpDown(); + ((System.ComponentModel.ISupportInitialize)numericUpDownPrice).BeginInit(); + ((System.ComponentModel.ISupportInitialize)numericUpDownNumber).BeginInit(); + SuspendLayout(); + // + // checkedListBoxDetailProperties + // + checkedListBoxDetailProperties.FormattingEnabled = true; + checkedListBoxDetailProperties.Location = new Point(146, 12); + checkedListBoxDetailProperties.Name = "checkedListBoxDetailProperties"; + checkedListBoxDetailProperties.Size = new Size(229, 144); + checkedListBoxDetailProperties.TabIndex = 0; + // + // label1 + // + label1.AutoSize = true; + label1.Location = new Point(30, 31); + label1.Name = "label1"; + label1.Size = new Size(110, 17); + label1.TabIndex = 1; + label1.Text = "Свойства детали:"; + // + // label2 + // + label2.AutoSize = true; + label2.Location = new Point(30, 179); + label2.Name = "label2"; + label2.Size = new Size(68, 17); + label2.TabIndex = 2; + label2.Text = "Название:"; + // + // textBoxNameDetail + // + textBoxNameDetail.Location = new Point(123, 171); + textBoxNameDetail.Name = "textBoxNameDetail"; + textBoxNameDetail.Size = new Size(252, 25); + textBoxNameDetail.TabIndex = 3; + // + // label3 + // + label3.AutoSize = true; + label3.Location = new Point(12, 213); + label3.Name = "label3"; + label3.Size = new Size(143, 17); + label3.TabIndex = 4; + label3.Text = "Количество на складе:"; + // + // label4 + // + label4.AutoSize = true; + label4.Location = new Point(12, 258); + label4.Name = "label4"; + label4.Size = new Size(86, 17); + label4.TabIndex = 6; + label4.Text = "Цена детали:"; + // + // ButtonSave + // + ButtonSave.Location = new Point(30, 307); + ButtonSave.Name = "ButtonSave"; + ButtonSave.Size = new Size(103, 44); + ButtonSave.TabIndex = 8; + ButtonSave.Text = "Сохранить"; + ButtonSave.UseVisualStyleBackColor = true; + ButtonSave.Click += ButtonSave_Click; + // + // ButtonCancel + // + ButtonCancel.Location = new Point(172, 307); + ButtonCancel.Name = "ButtonCancel"; + ButtonCancel.Size = new Size(100, 44); + ButtonCancel.TabIndex = 9; + ButtonCancel.Text = "Отмена"; + ButtonCancel.UseVisualStyleBackColor = true; + ButtonCancel.Click += ButtonCancel_Click; + // + // numericUpDownPrice + // + numericUpDownPrice.DecimalPlaces = 2; + numericUpDownPrice.Location = new Point(162, 256); + numericUpDownPrice.Maximum = new decimal(new int[] { 1000000, 0, 0, 0 }); + numericUpDownPrice.Name = "numericUpDownPrice"; + numericUpDownPrice.Size = new Size(169, 25); + numericUpDownPrice.TabIndex = 10; + // + // numericUpDownNumber + // + numericUpDownNumber.Location = new Point(172, 213); + numericUpDownNumber.Maximum = new decimal(new int[] { 1000, 0, 0, 0 }); + numericUpDownNumber.Name = "numericUpDownNumber"; + numericUpDownNumber.Size = new Size(169, 25); + numericUpDownNumber.TabIndex = 11; + // + // FormDetail + // + AutoScaleDimensions = new SizeF(7F, 17F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(405, 450); + Controls.Add(numericUpDownNumber); + Controls.Add(numericUpDownPrice); + Controls.Add(ButtonCancel); + Controls.Add(ButtonSave); + Controls.Add(label4); + Controls.Add(label3); + Controls.Add(textBoxNameDetail); + Controls.Add(label2); + Controls.Add(label1); + Controls.Add(checkedListBoxDetailProperties); + Name = "FormDetail"; + StartPosition = FormStartPosition.CenterParent; + Text = "Деталь"; + ((System.ComponentModel.ISupportInitialize)numericUpDownPrice).EndInit(); + ((System.ComponentModel.ISupportInitialize)numericUpDownNumber).EndInit(); + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private CheckedListBox checkedListBoxDetailProperties; + private Label label1; + private Label label2; + private TextBox textBoxNameDetail; + private Label label3; + private Label label4; + private Button ButtonSave; + private Button ButtonCancel; + private NumericUpDown numericUpDownPrice; + private NumericUpDown numericUpDownNumber; + } +} \ No newline at end of file diff --git a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormDetail.cs b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormDetail.cs new file mode 100644 index 0000000..f99700e --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormDetail.cs @@ -0,0 +1,106 @@ +using Microsoft.VisualBasic.FileIO; +using ProjectRepairCompany.Entities; +using ProjectRepairCompany.Entities.Enums; +using ProjectRepairCompany.Repositories; +using ProjectRepairCompany.Repositories.Implementations; +using 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; + +namespace ProjectRepairCompany.Forms +{ + public partial class FormDetail : Form + { + private readonly IDetailRepository _detailRepository; + private int? _detailId; + + public int Id + { + set + { + try + { + var detail = _detailRepository.ReadDetailById(value); + if (detail == null) + { + throw new InvalidOperationException(nameof(detail)); + } + foreach (DetailProperties elem in Enum.GetValues(typeof(DetailProperties))) + { + if ((elem & detail.DetailProperties) != 0) + { + checkedListBoxDetailProperties.SetItemChecked(checkedListBoxDetailProperties.Items.IndexOf(elem), true); + } + } + textBoxNameDetail.Text = detail.NameDetail; + numericUpDownNumber.Value = (decimal)detail.NumberDetail; + numericUpDownPrice.Value = (decimal)detail.PriceDetail; + _detailId = value; + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при получении данных", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + } + } + + + public FormDetail(IDetailRepository detailRepository) + { + InitializeComponent(); + _detailRepository = detailRepository ?? + throw new ArgumentNullException(nameof(detailRepository)); + foreach (var elem in Enum.GetValues(typeof(DetailProperties))) + { + checkedListBoxDetailProperties.Items.Add(elem); + } + } + + private void ButtonSave_Click(object sender, EventArgs e) + { + try + { + if (string.IsNullOrWhiteSpace(textBoxNameDetail.Text) || + checkedListBoxDetailProperties.CheckedItems.Count == 0) + { + throw new Exception("Имеются незаполненные поля"); + } + if (_detailId.HasValue) + { + _detailRepository.UpdateDetail(CreateDetail(_detailId.Value)); + } + else + { + _detailRepository.CreateDetail(CreateDetail(0)); + } + Close(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при сохранении", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void ButtonCancel_Click(object sender, EventArgs e) => Close(); + + private Detail CreateDetail(int id) + { + DetailProperties detailProperties = DetailProperties.None; + foreach (var elem in checkedListBoxDetailProperties.CheckedItems) + { + detailProperties |= (DetailProperties)elem; + } + return Detail.CreateEntity(id, textBoxNameDetail.Text, + Convert.ToInt32(numericUpDownNumber.Value), Convert.ToDouble(numericUpDownPrice.Value), detailProperties); + } + + } +} diff --git a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormDetail.resx b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormDetail.resx new file mode 100644 index 0000000..af32865 --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormDetail.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormDetails.Designer.cs b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormDetails.Designer.cs new file mode 100644 index 0000000..85f8acd --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormDetails.Designer.cs @@ -0,0 +1,125 @@ +namespace ProjectRepairCompany.Forms +{ + partial class FormDetails + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + panel1 = new Panel(); + ButtonUp = new Button(); + ButtonDel = new Button(); + ButtonAdd = new Button(); + dataGridView = new DataGridView(); + panel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)dataGridView).BeginInit(); + SuspendLayout(); + // + // panel1 + // + panel1.Controls.Add(ButtonUp); + panel1.Controls.Add(ButtonDel); + panel1.Controls.Add(ButtonAdd); + panel1.Dock = DockStyle.Right; + panel1.Location = new Point(607, 0); + panel1.Name = "panel1"; + panel1.Size = new Size(193, 450); + panel1.TabIndex = 2; + // + // ButtonUp + // + ButtonUp.BackgroundImage = Properties.Resources.Feedbin_Icon_home_edit_svg; + ButtonUp.BackgroundImageLayout = ImageLayout.Stretch; + ButtonUp.Location = new Point(42, 113); + ButtonUp.Name = "ButtonUp"; + ButtonUp.Size = new Size(117, 77); + ButtonUp.TabIndex = 2; + ButtonUp.UseVisualStyleBackColor = true; + ButtonUp.Click += ButtonUp_Click; + // + // ButtonDel + // + ButtonDel.BackgroundImage = Properties.Resources.Ic_remove_circle_48px_svg; + ButtonDel.BackgroundImageLayout = ImageLayout.Stretch; + ButtonDel.Location = new Point(42, 213); + ButtonDel.Name = "ButtonDel"; + ButtonDel.Size = new Size(117, 83); + ButtonDel.TabIndex = 1; + ButtonDel.UseVisualStyleBackColor = true; + ButtonDel.Click += ButtonDel_Click; + // + // ButtonAdd + // + ButtonAdd.BackgroundImage = Properties.Resources._43_436254_plus_green_plus_icon_png; + ButtonAdd.BackgroundImageLayout = ImageLayout.Stretch; + ButtonAdd.Location = new Point(42, 20); + ButtonAdd.Name = "ButtonAdd"; + ButtonAdd.Size = new Size(117, 74); + ButtonAdd.TabIndex = 0; + ButtonAdd.UseVisualStyleBackColor = true; + ButtonAdd.Click += ButtonAdd_Click; + // + // dataGridView + // + dataGridView.AllowUserToAddRows = false; + dataGridView.AllowUserToDeleteRows = false; + dataGridView.AllowUserToResizeColumns = false; + dataGridView.AllowUserToResizeRows = false; + dataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; + dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dataGridView.Dock = DockStyle.Fill; + dataGridView.Location = new Point(0, 0); + dataGridView.MultiSelect = false; + dataGridView.Name = "dataGridView"; + dataGridView.ReadOnly = true; + dataGridView.RowHeadersVisible = false; + dataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect; + dataGridView.Size = new Size(607, 450); + dataGridView.TabIndex = 3; + // + // FormDetails + // + AutoScaleDimensions = new SizeF(7F, 17F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(800, 450); + Controls.Add(dataGridView); + Controls.Add(panel1); + Name = "FormDetails"; + Text = "Детали"; + Load += FormDetails_Load; + panel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)dataGridView).EndInit(); + ResumeLayout(false); + } + + #endregion + + private Panel panel1; + private Button ButtonUp; + private Button ButtonDel; + private Button ButtonAdd; + private DataGridView dataGridView; + } +} \ No newline at end of file diff --git a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormDetails.cs b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormDetails.cs new file mode 100644 index 0000000..b71d482 --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormDetails.cs @@ -0,0 +1,40 @@ +using 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; + +namespace ProjectRepairCompany.Forms +{ + public partial class FormDetails : Form + { + public FormDetails() + { + InitializeComponent(); + } + + private void ButtonAdd_Click(object sender, EventArgs e) + { + + } + + private void ButtonUp_Click(object sender, EventArgs e) + { + + } + + private void ButtonDel_Click(object sender, EventArgs e) + { + + } + + private void FormDetails_Load(object sender, EventArgs e) + { + + } + } +} diff --git a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormDetails.resx b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormDetails.resx new file mode 100644 index 0000000..af32865 --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormDetails.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormMaster.Designer.cs b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormMaster.Designer.cs new file mode 100644 index 0000000..72cb311 --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormMaster.Designer.cs @@ -0,0 +1,141 @@ +namespace ProjectRepairCompany.Forms +{ + partial class FormMaster + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + comboBoxPost = new ComboBox(); + ButtonSave = new Button(); + ButtonCancel = new Button(); + label1 = new Label(); + label2 = new Label(); + label3 = new Label(); + textBoxName = new TextBox(); + dateTimePicker = new DateTimePicker(); + SuspendLayout(); + // + // comboBoxPost + // + comboBoxPost.DropDownStyle = ComboBoxStyle.DropDownList; + comboBoxPost.FormattingEnabled = true; + comboBoxPost.Location = new Point(205, 84); + comboBoxPost.Name = "comboBoxPost"; + comboBoxPost.Size = new Size(121, 25); + comboBoxPost.TabIndex = 0; + // + // ButtonSave + // + ButtonSave.Location = new Point(32, 183); + ButtonSave.Name = "ButtonSave"; + ButtonSave.Size = new Size(96, 45); + ButtonSave.TabIndex = 1; + ButtonSave.Text = "Сохранить"; + ButtonSave.UseVisualStyleBackColor = true; + ButtonSave.Click += ButtonSave_Click; + // + // ButtonCancel + // + ButtonCancel.Location = new Point(178, 183); + ButtonCancel.Name = "ButtonCancel"; + ButtonCancel.Size = new Size(88, 45); + ButtonCancel.TabIndex = 2; + ButtonCancel.Text = "Отмена"; + ButtonCancel.UseVisualStyleBackColor = true; + ButtonCancel.Click += ButtonCancel_Click; + // + // label1 + // + label1.AutoSize = true; + label1.Location = new Point(30, 43); + label1.Name = "label1"; + label1.Size = new Size(37, 17); + label1.TabIndex = 3; + label1.Text = "Имя:"; + // + // label2 + // + label2.AutoSize = true; + label2.Location = new Point(30, 87); + label2.Name = "label2"; + label2.Size = new Size(77, 17); + label2.TabIndex = 4; + label2.Text = "Должность:"; + // + // label3 + // + label3.AutoSize = true; + label3.Location = new Point(30, 129); + label3.Name = "label3"; + label3.Size = new Size(134, 17); + label3.TabIndex = 5; + label3.Text = "Дата начала работы:"; + // + // textBoxName + // + textBoxName.Location = new Point(205, 35); + textBoxName.Name = "textBoxName"; + textBoxName.Size = new Size(121, 25); + textBoxName.TabIndex = 6; + // + // dateTimePicker + // + dateTimePicker.Location = new Point(192, 123); + dateTimePicker.Name = "dateTimePicker"; + dateTimePicker.Size = new Size(152, 25); + dateTimePicker.TabIndex = 7; + dateTimePicker.Value = new DateTime(2024, 11, 30, 5, 36, 53, 0); + // + // FormMaster + // + AutoScaleDimensions = new SizeF(7F, 17F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(400, 276); + Controls.Add(dateTimePicker); + Controls.Add(textBoxName); + Controls.Add(label3); + Controls.Add(label2); + Controls.Add(label1); + Controls.Add(ButtonCancel); + Controls.Add(ButtonSave); + Controls.Add(comboBoxPost); + Name = "FormMaster"; + Text = "Работник"; + ResumeLayout(false); + PerformLayout(); + } + #endregion + + private ComboBox comboBoxPost; + private Button ButtonSave; + private Button ButtonCancel; + private Label label1; + private Label label2; + private Label label3; + private TextBox textBoxName; + private DateTimePicker dateTimePicker; + } +} \ No newline at end of file diff --git a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormMaster.cs b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormMaster.cs new file mode 100644 index 0000000..8703196 --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormMaster.cs @@ -0,0 +1,81 @@ +using ProjectRepairCompany.Entities; +using ProjectRepairCompany.Entities.Enums; +using ProjectRepairCompany.Repositories; +using 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; + +namespace ProjectRepairCompany.Forms; + +public partial class FormMaster : Form +{ + + private readonly IMasterRepository _masterRepository; + private int? _masterId; + public int Id + { + set + { + try + { + var master = _masterRepository.ReadMasterById(value); + if (master == null) + { + throw new InvalidOperationException(nameof(master)); + } + textBoxName.Text = master.MasterName; + comboBoxPost.SelectedItem = master.MasterPost; + dateTimePicker.Value = master.StartDate; + _masterId = value; + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при получении данных", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + } + } + + + public FormMaster(IMasterRepository masterRepository) + { + InitializeComponent(); + _masterRepository = masterRepository ?? + throw new ArgumentNullException(nameof(masterRepository)); + comboBoxPost.DataSource = Enum.GetValues(typeof(MasterPost)); + } + + private void ButtonSave_Click(object sender, EventArgs e) + { + try + { + if (string.IsNullOrWhiteSpace(textBoxName.Text) || comboBoxPost.SelectedIndex < 1) + { + throw new Exception("Заполните все данные"); + } + if (_masterId.HasValue) + { + _masterRepository.UpdateMaster(CreateMaster(_masterId.Value)); + } + else + { + _masterRepository.CreateMaster(CreateMaster(0)); + } + Close(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при сохранении данных", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void ButtonCancel_Click(object sender, EventArgs e) => Close(); + private Master CreateMaster(int id) => Master.CreateEntity(id, textBoxName.Text, dateTimePicker.Value, (MasterPost)comboBoxPost.SelectedItem!); + +} diff --git a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormMaster.resx b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormMaster.resx new file mode 100644 index 0000000..af32865 --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormMaster.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormMasters.Designer.cs b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormMasters.Designer.cs new file mode 100644 index 0000000..891c1c8 --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormMasters.Designer.cs @@ -0,0 +1,125 @@ +namespace ProjectRepairCompany.Forms +{ + partial class FormMasters + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + panel1 = new Panel(); + ButtonUp = new Button(); + ButtonDel = new Button(); + ButtonAdd = new Button(); + dataGridView = new DataGridView(); + panel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)dataGridView).BeginInit(); + SuspendLayout(); + // + // panel1 + // + panel1.Controls.Add(ButtonUp); + panel1.Controls.Add(ButtonDel); + panel1.Controls.Add(ButtonAdd); + panel1.Dock = DockStyle.Right; + panel1.Location = new Point(607, 0); + panel1.Name = "panel1"; + panel1.Size = new Size(193, 450); + panel1.TabIndex = 1; + // + // ButtonUp + // + ButtonUp.BackgroundImage = Properties.Resources.Feedbin_Icon_home_edit_svg; + ButtonUp.BackgroundImageLayout = ImageLayout.Stretch; + ButtonUp.Location = new Point(42, 113); + ButtonUp.Name = "ButtonUp"; + ButtonUp.Size = new Size(117, 77); + ButtonUp.TabIndex = 2; + ButtonUp.UseVisualStyleBackColor = true; + ButtonUp.Click += ButtonUp_Click; + // + // ButtonDel + // + ButtonDel.BackgroundImage = Properties.Resources.Ic_remove_circle_48px_svg; + ButtonDel.BackgroundImageLayout = ImageLayout.Stretch; + ButtonDel.Location = new Point(42, 213); + ButtonDel.Name = "ButtonDel"; + ButtonDel.Size = new Size(117, 83); + ButtonDel.TabIndex = 1; + ButtonDel.UseVisualStyleBackColor = true; + ButtonDel.Click += ButtonDel_Click; + // + // ButtonAdd + // + ButtonAdd.BackgroundImage = Properties.Resources._43_436254_plus_green_plus_icon_png; + ButtonAdd.BackgroundImageLayout = ImageLayout.Stretch; + ButtonAdd.Location = new Point(42, 20); + ButtonAdd.Name = "ButtonAdd"; + ButtonAdd.Size = new Size(117, 74); + ButtonAdd.TabIndex = 0; + ButtonAdd.UseVisualStyleBackColor = true; + ButtonAdd.Click += ButtonAdd_Click; + // + // dataGridView + // + dataGridView.AllowUserToAddRows = false; + dataGridView.AllowUserToDeleteRows = false; + dataGridView.AllowUserToResizeColumns = false; + dataGridView.AllowUserToResizeRows = false; + dataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; + dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dataGridView.Dock = DockStyle.Fill; + dataGridView.Location = new Point(0, 0); + dataGridView.MultiSelect = false; + dataGridView.Name = "dataGridView"; + dataGridView.ReadOnly = true; + dataGridView.RowHeadersVisible = false; + dataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect; + dataGridView.Size = new Size(607, 450); + dataGridView.TabIndex = 2; + // + // FormMasters + // + AutoScaleDimensions = new SizeF(7F, 17F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(800, 450); + Controls.Add(dataGridView); + Controls.Add(panel1); + Name = "FormMasters"; + Text = "Работники"; + Load += FormMasters_Load; + panel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)dataGridView).EndInit(); + ResumeLayout(false); + } + + #endregion + + private Panel panel1; + private Button ButtonUp; + private Button ButtonDel; + private Button ButtonAdd; + private DataGridView dataGridView; + } +} \ No newline at end of file diff --git a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormMasters.cs b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormMasters.cs new file mode 100644 index 0000000..8e17f49 --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormMasters.cs @@ -0,0 +1,118 @@ +using ProjectRepairCompany.Repositories; +using 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 Unity; + +namespace ProjectRepairCompany.Forms +{ + public partial class FormMasters : Form + { + private readonly IUnityContainer _container; + private readonly IMasterRepository _masterRepository; + + public FormMasters(IUnityContainer container, IMasterRepository masterRepository) + { + InitializeComponent(); + _container = container ?? + throw new ArgumentNullException(nameof(container)); + _masterRepository = masterRepository ?? + throw new ArgumentNullException(nameof(masterRepository)); + } + + private void FormMasters_Load(object sender, EventArgs e) + { + try + { + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка загрузки", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void ButtonAdd_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка добавления", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void ButtonUp_Click(object sender, EventArgs e) + { + if (!TryGetIdentifierFromSelectRow(out int findId)) + { + return; + } + try + { + var form = _container.Resolve(); + form.Id = findId; + form.ShowDialog(); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка изменения", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void ButtonDel_Click(object sender, EventArgs e) + { + if (!TryGetIdentifierFromSelectRow(out int findId)) + { + return; + } + if (MessageBox.Show("Удалить запись?", "Удаление", MessageBoxButtons.YesNo) != DialogResult.Yes) + { + return; + } + try + { + _masterRepository.DeleteMaster(findId); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка удаления", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void LoadList() + { + try + { + dataGridView.DataSource = _masterRepository.ReadMasters(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка загрузки данных", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private bool TryGetIdentifierFromSelectRow(out int id) + { + id = 0; + if (dataGridView.SelectedRows.Count < 1) + { + MessageBox.Show("Нет выбранной записи", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value); + return true; + } + } +} diff --git a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormMasters.resx b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormMasters.resx new file mode 100644 index 0000000..af32865 --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormMasters.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrder.Designer.cs b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrder.Designer.cs new file mode 100644 index 0000000..1145bd6 --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrder.Designer.cs @@ -0,0 +1,190 @@ +namespace ProjectRepairCompany.Forms +{ + partial class FormOrder + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + ButtonSave = new Button(); + ButtonCancel = new Button(); + label1 = new Label(); + label2 = new Label(); + dateTimePicker1 = new DateTimePicker(); + dateTimeCompletion = new DateTimePicker(); + dateTimeIssue = new DateTimePicker(); + label3 = new Label(); + label4 = new Label(); + numericUpDownFullPrice = new NumericUpDown(); + label5 = new Label(); + comboBoxMaster = new ComboBox(); + ((System.ComponentModel.ISupportInitialize)numericUpDownFullPrice).BeginInit(); + SuspendLayout(); + // + // ButtonSave + // + ButtonSave.Location = new Point(25, 256); + ButtonSave.Name = "ButtonSave"; + ButtonSave.Size = new Size(75, 23); + ButtonSave.TabIndex = 0; + ButtonSave.Text = "Сохранить"; + ButtonSave.UseVisualStyleBackColor = true; + ButtonSave.Click += ButtonSave_Click; + // + // ButtonCancel + // + ButtonCancel.Location = new Point(170, 251); + ButtonCancel.Name = "ButtonCancel"; + ButtonCancel.Size = new Size(104, 28); + ButtonCancel.TabIndex = 1; + ButtonCancel.Text = "Отмена"; + ButtonCancel.UseVisualStyleBackColor = true; + ButtonCancel.Click += ButtonCancel_Click; + // + // label1 + // + label1.AutoSize = true; + label1.Location = new Point(12, 9); + label1.Name = "label1"; + label1.Size = new Size(149, 17); + label1.TabIndex = 2; + label1.Text = "Дата получения заказа:"; + // + // label2 + // + label2.AutoSize = true; + label2.Location = new Point(12, 63); + label2.Name = "label2"; + label2.Size = new Size(134, 17); + label2.TabIndex = 3; + label2.Text = "Дата начала работы:"; + // + // dateTimePicker1 + // + dateTimePicker1.Location = new Point(190, 12); + dateTimePicker1.Name = "dateTimePicker1"; + dateTimePicker1.Size = new Size(188, 25); + dateTimePicker1.TabIndex = 4; + // + // dateTimeCompletion + // + dateTimeCompletion.Location = new Point(190, 55); + dateTimeCompletion.Name = "dateTimeCompletion"; + dateTimeCompletion.Size = new Size(210, 25); + dateTimeCompletion.TabIndex = 5; + // + // dateTimeIssue + // + dateTimeIssue.Location = new Point(190, 101); + dateTimeIssue.Name = "dateTimeIssue"; + dateTimeIssue.Size = new Size(200, 25); + dateTimeIssue.TabIndex = 6; + // + // label3 + // + label3.AutoSize = true; + label3.Location = new Point(12, 107); + label3.Name = "label3"; + label3.Size = new Size(135, 17); + label3.TabIndex = 7; + label3.Text = "Дата вручения заказ:"; + // + // label4 + // + label4.AutoSize = true; + label4.Location = new Point(25, 147); + label4.Name = "label4"; + label4.Size = new Size(121, 17); + label4.TabIndex = 8; + label4.Text = "Полная стоимость:"; + // + // numericUpDownFullPrice + // + numericUpDownFullPrice.DecimalPlaces = 2; + numericUpDownFullPrice.Location = new Point(189, 146); + numericUpDownFullPrice.Maximum = new decimal(new int[] { 100000, 0, 0, 0 }); + numericUpDownFullPrice.Name = "numericUpDownFullPrice"; + numericUpDownFullPrice.Size = new Size(186, 25); + numericUpDownFullPrice.TabIndex = 9; + // + // label5 + // + label5.AutoSize = true; + label5.Location = new Point(80, 201); + label5.Name = "label5"; + label5.Size = new Size(66, 17); + label5.TabIndex = 10; + label5.Text = "Работник:"; + // + // comboBoxMaster + // + comboBoxMaster.DropDownStyle = ComboBoxStyle.DropDownList; + comboBoxMaster.FormattingEnabled = true; + comboBoxMaster.Location = new Point(185, 194); + comboBoxMaster.Name = "comboBoxMaster"; + comboBoxMaster.Size = new Size(182, 25); + comboBoxMaster.TabIndex = 11; + // + // FormOrder + // + AutoScaleDimensions = new SizeF(7F, 17F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(464, 376); + Controls.Add(comboBoxMaster); + Controls.Add(label5); + Controls.Add(numericUpDownFullPrice); + Controls.Add(label4); + Controls.Add(label3); + Controls.Add(dateTimeIssue); + Controls.Add(dateTimeCompletion); + Controls.Add(dateTimePicker1); + Controls.Add(label2); + Controls.Add(label1); + Controls.Add(ButtonCancel); + Controls.Add(ButtonSave); + Name = "FormOrder"; + StartPosition = FormStartPosition.CenterParent; + Text = "Заказ"; + ((System.ComponentModel.ISupportInitialize)numericUpDownFullPrice).EndInit(); + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private Button ButtonSave; + private Button ButtonCancel; + private Label label1; + private Label label2; + private DateTimePicker dateTimePicker1; + private DateTimePicker dateTimeCompletion; + private DateTimePicker dateTimeIssue; + private Label label3; + private Label label4; + private NumericUpDown numericUpDownFullPrice; + private Label label5; + private ComboBox comboBoxMaster; + } +} \ No newline at end of file diff --git a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrder.cs b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrder.cs new file mode 100644 index 0000000..479b684 --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrder.cs @@ -0,0 +1,27 @@ +using 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; + +namespace ProjectRepairCompany.Forms +{ + public partial class FormOrder : Form + { + public FormOrder() + { + InitializeComponent(); + } + + private void ButtonSave_Click(object sender, EventArgs e) + { + + } + + private void ButtonCancel_Click(object sender, EventArgs e) => Close(); + } +} diff --git a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrder.resx b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrder.resx new file mode 100644 index 0000000..af32865 --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrder.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ProjectRepairCompany/ProjectRepairCompany/Form1.Designer.cs b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrderDetail.Designer.cs similarity index 73% rename from ProjectRepairCompany/ProjectRepairCompany/Form1.Designer.cs rename to ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrderDetail.Designer.cs index 1d1688b..1b62282 100644 --- a/ProjectRepairCompany/ProjectRepairCompany/Form1.Designer.cs +++ b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrderDetail.Designer.cs @@ -1,14 +1,14 @@ -namespace ProjectRepairCompany +namespace ProjectRepairCompany.Forms { - partial class Form1 + partial class FormOrderDetail { /// - /// Required designer variable. + /// Required designer variable. /// private System.ComponentModel.IContainer components = null; /// - /// Clean up any resources being used. + /// Clean up any resources being used. /// /// true if managed resources should be disposed; otherwise, false. protected override void Dispose(bool disposing) @@ -23,17 +23,17 @@ #region Windows Form Designer generated code /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. /// private void InitializeComponent() { this.components = new System.ComponentModel.Container(); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(800, 450); - this.Text = "Form1"; + this.Text = "FormOrderDetail"; } #endregion } -} +} \ No newline at end of file diff --git a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrderDetail.cs b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrderDetail.cs new file mode 100644 index 0000000..fab973b --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrderDetail.cs @@ -0,0 +1,20 @@ +using 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; + +namespace ProjectRepairCompany.Forms +{ + public partial class FormOrderDetail : Form + { + public FormOrderDetail() + { + InitializeComponent(); + } + } +} diff --git a/ProjectRepairCompany/ProjectRepairCompany/Form1.resx b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrderDetail.resx similarity index 100% rename from ProjectRepairCompany/ProjectRepairCompany/Form1.resx rename to ProjectRepairCompany/ProjectRepairCompany/Forms/FormOrderDetail.resx diff --git a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorage.Designer.cs b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorage.Designer.cs new file mode 100644 index 0000000..a91bafe --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorage.Designer.cs @@ -0,0 +1,121 @@ +namespace ProjectRepairCompany.Forms +{ + partial class FormStorage + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + label1 = new Label(); + label2 = new Label(); + textBoxAdress = new TextBox(); + ButtonSave = new Button(); + ButtonCancel = new Button(); + numericUpDownCapacity = new NumericUpDown(); + ((System.ComponentModel.ISupportInitialize)numericUpDownCapacity).BeginInit(); + SuspendLayout(); + // + // label1 + // + label1.AutoSize = true; + label1.Location = new Point(32, 33); + label1.Name = "label1"; + label1.Size = new Size(47, 17); + label1.TabIndex = 0; + label1.Text = "Адрес:"; + // + // label2 + // + label2.AutoSize = true; + label2.Location = new Point(32, 77); + label2.Name = "label2"; + label2.Size = new Size(111, 17); + label2.TabIndex = 1; + label2.Text = "Вместительность:"; + // + // textBoxAdress + // + textBoxAdress.Location = new Point(149, 25); + textBoxAdress.Name = "textBoxAdress"; + textBoxAdress.Size = new Size(162, 25); + textBoxAdress.TabIndex = 2; + // + // ButtonSave + // + ButtonSave.Location = new Point(32, 139); + ButtonSave.Name = "ButtonSave"; + ButtonSave.Size = new Size(89, 51); + ButtonSave.TabIndex = 4; + ButtonSave.Text = "Сохранить"; + ButtonSave.UseVisualStyleBackColor = true; + ButtonSave.Click += ButtonSave_Click; + // + // ButtonCancel + // + ButtonCancel.Location = new Point(163, 139); + ButtonCancel.Name = "ButtonCancel"; + ButtonCancel.Size = new Size(89, 51); + ButtonCancel.TabIndex = 5; + ButtonCancel.Text = "Отмена"; + ButtonCancel.UseVisualStyleBackColor = true; + ButtonCancel.Click += ButtonCancel_Click; + // + // numericUpDownCapacity + // + numericUpDownCapacity.Location = new Point(149, 69); + numericUpDownCapacity.Maximum = new decimal(new int[] { 1000, 0, 0, 0 }); + numericUpDownCapacity.Name = "numericUpDownCapacity"; + numericUpDownCapacity.Size = new Size(162, 25); + numericUpDownCapacity.TabIndex = 6; + // + // FormStorage + // + AutoScaleDimensions = new SizeF(7F, 17F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(370, 253); + Controls.Add(numericUpDownCapacity); + Controls.Add(ButtonCancel); + Controls.Add(ButtonSave); + Controls.Add(textBoxAdress); + Controls.Add(label2); + Controls.Add(label1); + Name = "FormStorage"; + StartPosition = FormStartPosition.CenterParent; + Text = "Склад"; + ((System.ComponentModel.ISupportInitialize)numericUpDownCapacity).EndInit(); + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private Label label1; + private Label label2; + private TextBox textBoxAdress; + private Button ButtonSave; + private Button ButtonCancel; + private NumericUpDown numericUpDownCapacity; + } +} \ No newline at end of file diff --git a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorage.cs b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorage.cs new file mode 100644 index 0000000..8a5cdb7 --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorage.cs @@ -0,0 +1,81 @@ +using ProjectRepairCompany.Entities; +using ProjectRepairCompany.Repositories; +using ProjectRepairCompany.Repositories.Implementations; +using 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; + +namespace ProjectRepairCompany.Forms +{ + public partial class FormStorage : Form + { + + private readonly IStorageRepository _storageRepository; + private int? _storageId; + public int Id + { + set + { + try + { + var storage = _storageRepository.ReadStorageById(value); + if (storage == null) + { + throw new InvalidOperationException(nameof(storage)); + } + textBoxAdress.Text = storage.StorageAddress; + numericUpDownCapacity.Value = storage.Capacity; + _storageId = value; + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при получении данных", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + } + } + + public FormStorage(IStorageRepository storageRepository) + { + InitializeComponent(); + _storageRepository = storageRepository ?? + throw new ArgumentNullException(nameof(storageRepository)); + } + + private void ButtonSave_Click(object sender, EventArgs e) + { + try + { + if (string.IsNullOrWhiteSpace(textBoxAdress.Text)) + { + throw new Exception("Заполните все данные"); + } + if (_storageId.HasValue) + { + _storageRepository.UpdateStorage(CreateStorage(_storageId.Value)); + } + else + { + _storageRepository.CreateStorage(CreateStorage(0)); + } + Close(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при сохранении", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + + } + + private void ButtonCancel_Click(object sender, EventArgs e) => Close(); + + private Storage CreateStorage(int id) => Storage.CreateEntity(id, + textBoxAdress.Text, Convert.ToInt32(numericUpDownCapacity.Value)); + } +} diff --git a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorage.resx b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorage.resx new file mode 100644 index 0000000..af32865 --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorage.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorages.Designer.cs b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorages.Designer.cs new file mode 100644 index 0000000..12497a2 --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorages.Designer.cs @@ -0,0 +1,126 @@ +namespace ProjectRepairCompany.Forms +{ + partial class FormStorages + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + panel1 = new Panel(); + ButtonUp = new Button(); + ButtonDel = new Button(); + ButtonAdd = new Button(); + dataGridView = new DataGridView(); + panel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)dataGridView).BeginInit(); + SuspendLayout(); + // + // panel1 + // + panel1.Controls.Add(ButtonUp); + panel1.Controls.Add(ButtonDel); + panel1.Controls.Add(ButtonAdd); + panel1.Dock = DockStyle.Right; + panel1.Location = new Point(615, 0); + panel1.Name = "panel1"; + panel1.Size = new Size(193, 470); + panel1.TabIndex = 0; + // + // ButtonUp + // + ButtonUp.BackgroundImage = Properties.Resources.Feedbin_Icon_home_edit_svg; + ButtonUp.BackgroundImageLayout = ImageLayout.Stretch; + ButtonUp.Location = new Point(42, 113); + ButtonUp.Name = "ButtonUp"; + ButtonUp.Size = new Size(117, 77); + ButtonUp.TabIndex = 2; + ButtonUp.UseVisualStyleBackColor = true; + ButtonUp.Click += ButtonUp_Click; + // + // ButtonDel + // + ButtonDel.BackgroundImage = Properties.Resources.Ic_remove_circle_48px_svg; + ButtonDel.BackgroundImageLayout = ImageLayout.Stretch; + ButtonDel.Location = new Point(42, 213); + ButtonDel.Name = "ButtonDel"; + ButtonDel.Size = new Size(117, 83); + ButtonDel.TabIndex = 1; + ButtonDel.UseVisualStyleBackColor = true; + ButtonDel.Click += ButtonDel_Click; + // + // ButtonAdd + // + ButtonAdd.BackgroundImage = Properties.Resources._43_436254_plus_green_plus_icon_png; + ButtonAdd.BackgroundImageLayout = ImageLayout.Stretch; + ButtonAdd.Location = new Point(42, 20); + ButtonAdd.Name = "ButtonAdd"; + ButtonAdd.Size = new Size(117, 74); + ButtonAdd.TabIndex = 0; + ButtonAdd.UseVisualStyleBackColor = true; + ButtonAdd.Click += ButtonAdd_Click; + // + // dataGridView + // + dataGridView.AllowUserToAddRows = false; + dataGridView.AllowUserToDeleteRows = false; + dataGridView.AllowUserToResizeColumns = false; + dataGridView.AllowUserToResizeRows = false; + dataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; + dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dataGridView.Dock = DockStyle.Fill; + dataGridView.Location = new Point(0, 0); + dataGridView.MultiSelect = false; + dataGridView.Name = "dataGridView"; + dataGridView.ReadOnly = true; + dataGridView.RowHeadersVisible = false; + dataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect; + dataGridView.Size = new Size(615, 470); + dataGridView.TabIndex = 1; + // + // FormStorages + // + AutoScaleDimensions = new SizeF(7F, 17F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(808, 470); + Controls.Add(dataGridView); + Controls.Add(panel1); + Name = "FormStorages"; + StartPosition = FormStartPosition.CenterParent; + Text = "Склады"; + Load += FormStorages_Load; + panel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)dataGridView).EndInit(); + ResumeLayout(false); + } + + #endregion + + private Panel panel1; + private Button ButtonUp; + private Button ButtonDel; + private Button ButtonAdd; + private DataGridView dataGridView; + } +} \ No newline at end of file diff --git a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorages.cs b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorages.cs new file mode 100644 index 0000000..718c127 --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorages.cs @@ -0,0 +1,108 @@ +using ProjectRepairCompany.Repositories; +using 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 Unity; + +namespace ProjectRepairCompany.Forms +{ + public partial class FormStorages : Form + { + + private readonly IUnityContainer _container; + private readonly IStorageRepository _storageRepository; + + public FormStorages(IUnityContainer container, IStorageRepository storageRepository) + { + InitializeComponent(); + _container = container ?? + throw new ArgumentNullException(nameof(container)); + _storageRepository = storageRepository ?? + throw new ArgumentNullException(nameof(storageRepository)); + } + + private void FormStorages_Load(object sender, EventArgs e) + { + try + { + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message,"Ошибка загрузки", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonAdd_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка добавления", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void ButtonUp_Click(object sender, EventArgs e) + { + if (!TryGetIdentifierFromSelectRow(out int findId)) + { + return; + } + try + { + var form = _container.Resolve(); + form.Id = findId; + form.ShowDialog(); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка изменения", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void ButtonDel_Click(object sender, EventArgs e) + { + if (!TryGetIdentifierFromSelectRow(out int findId)) + { + return; + } + if (MessageBox.Show("Удалить запись?", "Удаление", MessageBoxButtons.YesNo) != DialogResult.Yes) + { + return; + } + try + { + _storageRepository.DeleteStorage(findId); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка удаления", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + + + } + private void LoadList() => dataGridView.DataSource = _storageRepository.ReadStorages(); + private bool TryGetIdentifierFromSelectRow(out int id) + { + id = 0; + if (dataGridView.SelectedRows.Count < 1) + { + MessageBox.Show("Нет выбранной записи", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value); + return true; + } + } +} diff --git a/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorages.resx b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorages.resx new file mode 100644 index 0000000..af32865 --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Forms/FormStorages.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ProjectRepairCompany/ProjectRepairCompany/Program.cs b/ProjectRepairCompany/ProjectRepairCompany/Program.cs index 560beb3..13a5961 100644 --- a/ProjectRepairCompany/ProjectRepairCompany/Program.cs +++ b/ProjectRepairCompany/ProjectRepairCompany/Program.cs @@ -1,3 +1,7 @@ +using ProjectRepairCompany.Repositories; +using ProjectRepairCompany.Repositories.Implementations; +using Unity; + namespace ProjectRepairCompany { internal static class Program @@ -11,7 +15,18 @@ namespace ProjectRepairCompany // To customize application configuration such as set high DPI settings or default font, // see https://aka.ms/applicationconfiguration. ApplicationConfiguration.Initialize(); - Application.Run(new Form1()); + Application.Run(CreateContainer().Resolve()); + } + + private static IUnityContainer CreateContainer() + { + var container = new UnityContainer(); + container.RegisterType(); + container.RegisterType(); + container.RegisterType(); + container.RegisterType(); + container.RegisterType(); + return container; } } } \ No newline at end of file diff --git a/ProjectRepairCompany/ProjectRepairCompany/ProjectRepairCompany.csproj b/ProjectRepairCompany/ProjectRepairCompany/ProjectRepairCompany.csproj index 663fdb8..accbdf0 100644 --- a/ProjectRepairCompany/ProjectRepairCompany/ProjectRepairCompany.csproj +++ b/ProjectRepairCompany/ProjectRepairCompany/ProjectRepairCompany.csproj @@ -8,4 +8,23 @@ enable + + + + + + + True + True + Resources.resx + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + \ No newline at end of file diff --git a/ProjectRepairCompany/ProjectRepairCompany/Properties/Resources.Designer.cs b/ProjectRepairCompany/ProjectRepairCompany/Properties/Resources.Designer.cs new file mode 100644 index 0000000..ee52a66 --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Properties/Resources.Designer.cs @@ -0,0 +1,103 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +namespace ProjectRepairCompany.Properties { + using System; + + + /// + /// Класс ресурса со строгой типизацией для поиска локализованных строк и т.д. + /// + // Этот класс создан автоматически классом StronglyTypedResourceBuilder + // с помощью такого средства, как ResGen или Visual Studio. + // Чтобы добавить или удалить член, измените файл .ResX и снова запустите ResGen + // с параметром /str или перестройте свой проект VS. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Возвращает кэшированный экземпляр ResourceManager, использованный этим классом. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ProjectRepairCompany.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Перезаписывает свойство CurrentUICulture текущего потока для всех + /// обращений к ресурсу с помощью этого класса ресурса со строгой типизацией. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap _43_436254_plus_green_plus_icon_png { + get { + object obj = ResourceManager.GetObject("43-436254_plus-green-plus-icon-png", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Feedbin_Icon_home_edit_svg { + get { + object obj = ResourceManager.GetObject("Feedbin-Icon-home-edit.svg", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Ic_remove_circle_48px_svg { + get { + object obj = ResourceManager.GetObject("Ic_remove_circle_48px.svg", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Снимок_экрана_2024_09_02_200407 { + get { + object obj = ResourceManager.GetObject("Снимок экрана 2024-09-02 200407", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/ProjectRepairCompany/ProjectRepairCompany/Properties/Resources.resx b/ProjectRepairCompany/ProjectRepairCompany/Properties/Resources.resx new file mode 100644 index 0000000..5ca932c --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Properties/Resources.resx @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\Снимок экрана 2024-09-02 200407.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Ic_remove_circle_48px.svg.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\43-436254_plus-green-plus-icon-png.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Feedbin-Icon-home-edit.svg.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/ProjectRepairCompany/ProjectRepairCompany/Repositories/IDetailRepository.cs b/ProjectRepairCompany/ProjectRepairCompany/Repositories/IDetailRepository.cs new file mode 100644 index 0000000..35903ff --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Repositories/IDetailRepository.cs @@ -0,0 +1,18 @@ +using ProjectRepairCompany.Entities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectRepairCompany.Repositories; + +public interface IDetailRepository +{ + IEnumerable ReadDetails(); + Detail ReadDetailById(int id); + void CreateDetail(Detail detail); + void UpdateDetail(Detail detail); + void DeleteDetail(int id); + +} diff --git a/ProjectRepairCompany/ProjectRepairCompany/Repositories/IMasterRepository.cs b/ProjectRepairCompany/ProjectRepairCompany/Repositories/IMasterRepository.cs new file mode 100644 index 0000000..85993c4 --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Repositories/IMasterRepository.cs @@ -0,0 +1,18 @@ +using ProjectRepairCompany.Entities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectRepairCompany.Repositories; + +public interface IMasterRepository +{ + IEnumerable ReadMasters(); + Master ReadMasterById(int id); + void CreateMaster(Master master); + void UpdateMaster(Master master); + void DeleteMaster(int id); + +} diff --git a/ProjectRepairCompany/ProjectRepairCompany/Repositories/IOrderDetailRepository.cs b/ProjectRepairCompany/ProjectRepairCompany/Repositories/IOrderDetailRepository.cs new file mode 100644 index 0000000..392ec8b --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Repositories/IOrderDetailRepository.cs @@ -0,0 +1,14 @@ +using ProjectRepairCompany.Entities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectRepairCompany.Repositories; + +public interface IOrderDetailRepository +{ + IEnumerable ReadOrderDetails(int? orderId = null, int? detailId = null); + void CreateOrderDetail(OrderDetail orderDetail); // уточнить про удаление +} diff --git a/ProjectRepairCompany/ProjectRepairCompany/Repositories/IStorageDetailRepository.cs b/ProjectRepairCompany/ProjectRepairCompany/Repositories/IStorageDetailRepository.cs new file mode 100644 index 0000000..e9ffd3a --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Repositories/IStorageDetailRepository.cs @@ -0,0 +1,15 @@ +using ProjectRepairCompany.Entities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectRepairCompany.Repositories; + +public interface IStorageDetailRepository +{ + IEnumerable ReadStorageDetails(DateTime? dateFrom = null, DateTime? dateTo = null, int? storageId = null, + int? detailId = null); + void CreateStorageDetail(StorageDetail storageDetail); +} diff --git a/ProjectRepairCompany/ProjectRepairCompany/Repositories/IStorageRepository.cs b/ProjectRepairCompany/ProjectRepairCompany/Repositories/IStorageRepository.cs new file mode 100644 index 0000000..5aadf95 --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Repositories/IStorageRepository.cs @@ -0,0 +1,17 @@ +using ProjectRepairCompany.Entities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectRepairCompany.Repositories; + +public interface IStorageRepository +{ + IEnumerable ReadStorages(); + Storage ReadStorageById(int id); + void CreateStorage(Storage storage); + void UpdateStorage(Storage storage); + void DeleteStorage(int id); +} diff --git a/ProjectRepairCompany/ProjectRepairCompany/Repositories/Implementations/DetailRepository.cs b/ProjectRepairCompany/ProjectRepairCompany/Repositories/Implementations/DetailRepository.cs new file mode 100644 index 0000000..847751f --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Repositories/Implementations/DetailRepository.cs @@ -0,0 +1,34 @@ +using ProjectRepairCompany.Entities; +using ProjectRepairCompany.Entities.Enums; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectRepairCompany.Repositories.Implementations; + +public class DetailRepository : IDetailRepository +{ + public void CreateDetail(Detail detail) + { + } + + public void DeleteDetail(int id) + { + } + + public Detail ReadDetailById(int id) + { + return Detail.CreateEntity(0, string.Empty, 0, 0, DetailProperties.None); + } + + public IEnumerable ReadDetails() + { + return []; + } + + public void UpdateDetail(Detail detail) + { + } +} diff --git a/ProjectRepairCompany/ProjectRepairCompany/Repositories/Implementations/MasterRepository.cs b/ProjectRepairCompany/ProjectRepairCompany/Repositories/Implementations/MasterRepository.cs new file mode 100644 index 0000000..acecefe --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Repositories/Implementations/MasterRepository.cs @@ -0,0 +1,34 @@ +using ProjectRepairCompany.Entities; +using ProjectRepairCompany.Entities.Enums; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectRepairCompany.Repositories.Implementations; + +public class MasterRepository : IMasterRepository +{ + public void CreateMaster(Master master) + { + } + + public void DeleteMaster(int id) + { + } + + public Master ReadMasterById(int id) + { + return Master.CreateEntity(0, string.Empty, DateTime.MinValue, MasterPost.None); + } + + public IEnumerable ReadMasters() + { + return []; + } + + public void UpdateMaster(Master master) + { + } +} diff --git a/ProjectRepairCompany/ProjectRepairCompany/Repositories/Implementations/OrderDetailRepository.cs b/ProjectRepairCompany/ProjectRepairCompany/Repositories/Implementations/OrderDetailRepository.cs new file mode 100644 index 0000000..d435f38 --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Repositories/Implementations/OrderDetailRepository.cs @@ -0,0 +1,20 @@ +using ProjectRepairCompany.Entities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectRepairCompany.Repositories.Implementations; + +public class OrderDetailRepository : IOrderDetailRepository +{ + public void CreateOrderDetail(OrderDetail orderDetail) + { + } + + public IEnumerable ReadOrderDetails(int? orderId = null, int? detailId = null) + { + return []; + } +} diff --git a/ProjectRepairCompany/ProjectRepairCompany/Repositories/Implementations/StorageDetailRepository.cs b/ProjectRepairCompany/ProjectRepairCompany/Repositories/Implementations/StorageDetailRepository.cs new file mode 100644 index 0000000..d1e3613 --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Repositories/Implementations/StorageDetailRepository.cs @@ -0,0 +1,20 @@ +using ProjectRepairCompany.Entities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectRepairCompany.Repositories.Implementations; + +public class StorageDetailRepository : IStorageDetailRepository +{ + public void CreateStorageDetail(StorageDetail storageDetail) + { + } + + public IEnumerable ReadStorageDetails(DateTime? dateFrom = null, DateTime? dateTo = null, int? storageId = null, int? detailId = null) + { + return []; + } +} diff --git a/ProjectRepairCompany/ProjectRepairCompany/Repositories/Implementations/StorageRepository.cs b/ProjectRepairCompany/ProjectRepairCompany/Repositories/Implementations/StorageRepository.cs new file mode 100644 index 0000000..aaa4d86 --- /dev/null +++ b/ProjectRepairCompany/ProjectRepairCompany/Repositories/Implementations/StorageRepository.cs @@ -0,0 +1,33 @@ +using ProjectRepairCompany.Entities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectRepairCompany.Repositories.Implementations; + +public class StorageRepository : IStorageRepository +{ + public void CreateStorage(Storage storage) + { + } + + public void DeleteStorage(int id) + { + } + + public Storage ReadStorageById(int id) + { + return Storage.CreateEntity(0, string.Empty, 0); + } + + public IEnumerable ReadStorages() + { + return []; + } + + public void UpdateStorage(Storage storage) + { + } +} diff --git a/ProjectRepairCompany/ProjectRepairCompany/Resources/43-436254_plus-green-plus-icon-png.png b/ProjectRepairCompany/ProjectRepairCompany/Resources/43-436254_plus-green-plus-icon-png.png new file mode 100644 index 0000000000000000000000000000000000000000..95bb2f368bc264f7f73f2ef96222c45cf07d8c86 GIT binary patch literal 70959 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%0AVQeM!F-d4AC2UGnJd* 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 literal 0 HcmV?d00001 diff --git a/ProjectRepairCompany/ProjectRepairCompany/Resources/Feedbin-Icon-home-edit.svg.png b/ProjectRepairCompany/ProjectRepairCompany/Resources/Feedbin-Icon-home-edit.svg.png new file mode 100644 index 0000000000000000000000000000000000000000..b5b138b62ad0b4d60e2b68c09fb4b2e7bab09299 GIT binary patch literal 10494 zcmcgydsvL?`kqEZOqeyP$ihS?8mVX@q#`;9In)qiOv?FOi;<-%#56@xNfdIfv1&?0 zQ8CphB$VUA>V&X#+(_8Z`@Y{W(cWwC-?gvbA6;{@Y{5E zJ#Q|JX4ctdqQk6>58piYPD}6=i0uq&6w5%FEPpx>y}96zoW z8OtGwr62#zeydcYSO6$2PRX47VL0C9@@TL(%&hcIt^V&De4wyua zB`kyyyWP;1Mk1vuCyEES)iDY-k7oawC{Yq!Z6rw~ zN%`S9j^PmKMxx!GI8l8F$A}4-a(rqJlL~B|J^y$>6oRIl8rLJsPc_K&)uHWDO?GQEkNOPiKmvU2`b zC6#(d)P1T2sT*$0c9J=%k*K1g?Hw@v!C!m6;SY3b?wh2hJIjhHh0rFM@8@m4&az&! zZgXbDG!(k>y;xD~I7sRk%n&OGAs)6}k#rhmJR8dkTB3#S*w4*1m8ZMNN*H=HXYOs2 z3ZG09m<@X&PU*}=qV0ucvydnwJ%WKn8R@wj<3JZG22UGXdO|%W7R!?_8G=Zuz-%IU zyZ0SL@{K%q#YU4WDiUj#IL#z!38Wh~ls6&8M)4U;avyq6^htVeecjiVM+QW;EhXmrb#=89b?B|Lt5~tIMh0-c@prg=Z z6(Z4i-CW|7kMG)~8tD}vr#Mexo_gV}2b=1q3om&JJ!arwWlF;E>hgR=YrG=q7&4-I zkJo|4pLE#LB;-+K5cE-PBF`L1TptQ>>)mBV>rg}4_klh&Gehi-L*pmKq0P~Iz1UJm zv~l_j*cgTb=b%8`tH*0%6azovzfzr}AS#mhAp}}&#DOK|l7c)G=$zoy(-)>j>VOMmoBE4y z(~_H#Pi(0n*1VkWG%?3hXf+XU1I7jR7#}g-it+yfd~JdcjLQOXAYxpK0+%4hm$0-5 z2yDjEJb_4=Hwt`sErrc~wQ9A@0A;&1gI{xqx51fOd4i3bu;0tU?-yf{g>S&`q$=e1 zSvaVqQxWT1ex#ya@PY|-8@N*Vsbw>MunHd7x}rjqAOs_Xuo8~yq^%es(W{Hj@&(+z zykjUvoD;Tl)X0ChacAHGuD-+i-YH^}iTNr|{IZn>mDAp-4@UU!Tu_Oqo8O|AkBIOFvs_*Y~_ZP;gf4O`b#LyGxI0~M$i2g|t^-Pf12>4J( zczsB=l6SsAL9`fGga(N7|Pc?WS>E$eoXPZkY-m|9(eWSo!^zyOH zMYaNI1s6Q~Nn$)y;D++_VhX&*)YDG|-mECLpul4icztRq@F*Sg5*7F=p>I3|?&>aE zL6|o>%Z3|yj#I%X6veg}W?;_}<8QamDvIq?=rKHoiuwi9ipi?$vvyd03xqNIRk@vINh)EVC9`>yu;Ov@uo6m`$ka2KVr2eYF~pimU2}l9 zAyx&m&RsU9>h~E7Mv%4`ZQ_})+ESz#LPR(UYxeQBKc~ES%uabvc@g6!oE=H=S?4Mn zg7|13@XAJIx{PA3)|PiK6f2U4sZ#IZ>7rpl1^bzul1$;)Y!=RrrEo&0%IYXx6={;$ z3n^U&*7D@*l&-7Bp2t;AKT>Q83REq;-`$Ml>8gktvQtz;RURaqok%5Ug#@a0%axSd z^PQ%MM$(n$$*!`Ls;3$5vVw-(wHuhjwh@|_H)qA{%MWAO^F0;_6BcTtwhBgv7j%>! z=`r|}(b&yoip&%p$B|x<6(7)9sx-$h%+Se>xcwmb@Zp??Lt*%|xZ<;-%qP9k6>4=H zfTF*H#(5gMAz0MQI1kBzUi!p2bP2q-i}X@0@PIhOdpk7F=q&^%)gGPkA_n4vrXHok z3qlU1!?}B#%K1K6n!`iI!(kLSg-37<(e$C$0s<-?(oa9gF!h5Nhx}@(+@UgpQFTy~N*;k*F8*wF##H0jG&Zg@q?%LHYO1 zvakMqQ`wP!UnL_pjCgChfGe$XTZ@V)%809!D97BdT z@|V;ngQ(I_W_7@UaP6kf0T!ehXe8Tp04#p+Q|m{9_A0Z!5rp0#iyutD1PZdJk@j2K zRClQ{Ow&%MOXG*h1V+-8%77~%I$%wIF*Nlu+Y9+K_nFEcsyx*(Wa!!@Lrp~lepRd1 zZr`bG?4~*pzp7QMfJ&`eH>j!Y^=c-{q%?

+N3XXUaih+J6j##^zSsy@KPRv|%64 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

7PISRFu9I}k$TxsYokiUI# zd8NgH-yYLEWwllVZj=}+J2lDN%Ic}=d+Jll8X-k9F0Q#Y32_L&6k3a>_2F5Yq^wYn zEpHn=DL4>un=!w3B8wN`SDkFI?KNa|gT2>J4f)@lUv)kgMUp?7ur(y z_~f!!J;nm;-z3JN`Qgl3IUc&gR-nYCD?3BUuXGD@Wuv!_6Sf!}&G;I70J@2GEY=nj z6)S+c+j~NHn$CDJr(aG!GbDFE?8Ga3|@v%L| zo>%F0X4bPB_?pM$i~B0ntpx{ULYW^5Qgv9ZdT6XyO23%8rQpDU+fz@Ozrj`6*L(F{ zQlBX7*IC~ha4xhhJ^42p4%?Ze1*SwrgIAd-+bY4eU4tHm7^f_-twcwwxbL{J{ps7&F>A&}A}sWl zt)b@(^7d&MvDz0m6b!qjNP?U&zS}f3*0#HiK$I@0>xU`=$HmR*8L@|V@)G{Z&%dFg z7s=`=luz5#*)PYK`7XpMLzW()7r4*;MuUV;1f`{iTAK3_(jFNy=yJI-f7>t38INKQ zzUL;e#VCm3yo3J%{PrrJ@s_sd)RUj*=2P)S&2G@!Mjw*fGMyn=7=F|krPPbnF?7}m z;)E{1c2^w*xoNMZ-qIjZMwR;=Puyiz`=q}_K_ugmg&Y=rJdhp9WQf8}$l#sfuaHHlC7#{H{VgcF_QZ1PiIUOIUoRlYA zy_5OGJzMT5sLViYzR%My*%!(AhOb1F(T5o2?&+`o{t&&>H+Hozp=Dp|)e|?owR8?K znxjs#+JP6EJyyGa-s~@$D0MPXogN;~b7TJM72yKp+i&&8No1cNeX+EaFF0ylf3A)$$$vSr@1|wL)E$$b2o4nJSTvVw-Ki=BA#_&6~~5(jyz~1=uaGs}(Oq`j-F=tUR{l}n?<9-SxRw6vH)B^k?~*UB59{7?f%SEp^HNU{4j@1+ z5$j{_I~ce;_h-E7`BTe+d>3eK_xxQvsIiZ#kAT`}PCg4v?bDFX$G+h2e>p1uLZc<@ zkI!ru^wI0&7UDGIG?+d`JvWu`tY&%nBm;@f#D>N=R#!h38vFg$8^8UjE6dG}%FU00 zKcfu#r$_bEN29d+eJSr*40ownaUF7%oA>eJ!WMq-tN(s+#jvI@PGWWJ&&uPvAfwuq zG2ErBsZ8fTACg*rj{TvJEA?$C^_I32U_;jJRG+$5PPeU2vj30xe|fe9DBGVZwY)hhcTk;IZ%*qJB_aQ~98d@Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D|D{PpK~#8N?EQ(B zElYBqiABztXT0}T6$fMXLR8URVKIjts_*h^YVQg^E#LodO{(9j~K*3u(sEp-zB z3n&z7xbr>yDp1cQ||T zN%#Eu%kK2a)9(1}Nq2mF)*T!jcKe6>-TwYTcW^+wZ+}RKLwsgg!u_2XLBm&$>3i|f z#V>G&95nx>PD!H)xv#SBM7TcY%dVRO>oD}GfD8=m-rXrQ9VJZP-QIThw>RD0%~iL5 zd)0MUZ@cdDO?Pwty1Tr1)m@*z>F(aX?XE9gcUPC^3fJA`)m3*R9hZ%%D6wyL9KsKi zrsVKG%>zNJiSAa`-|5f(J< z<)(mF=!3i4?$^HmYu!Kn$N#E(a{O_3dvnwM;DZf>vRci*&1`R(q- z*->}6e;dQK`Q|eV43)XB^D=Ff=hu%vdfB~r@m%H0h|;)=7RO(4eUWa5`-qq16v%?` zZ56Q7-jay#Q`@_(8=yQ^#H(c`O_I57 zzo+S+82RbPsNH0X*ySY+zomoB@kt(^z0@MG6teTczx0XFuQ|j|9@_W{vYth3T#p9x z72u6zgABXWZ9j5tR{>w0XKuu)Us3rf-?t6zL$nwBo zW0_8*&Mw%+_9od)^in>RcYb45**cd1=$h`)8+$nN_^|Q0t1~E220_s{xl-%#5V=?PxMwq;D4R?%q-|- zTf7!mRQwH+Ha-&Keojg^>c)>^Bt?F@cao%0uu*gNTw&(!c zl|qKchRd9^DIR(hmbN#KPMYzdw%Mrtgqnoj*9rXS@K6id*ihWb<{cMRG+rsI_BCWZ zux5(h0BQFAr#-0Z74_1Q=L`j9k!y)Y=T>ika~mpMk@l4DGFiK5ncf0wHJu@k6OR|d z2SY2j#Ty}!RxM$mAX)pKJ$cfdoj!H5ve~}8(uTqx zq-mU9bm=&PontV^;m{wUo~8Z#u&oERl391x5TZx)c(F=d8~MI49bcogJ10FF`}%Oy z^5*DCo0JRF?+lrtMZNJ?k_(xxSsR2zaV?1rJD=fG^b3E@kJd)%vF8hI^kI91J0moD zA+UyavhZqlML(xESEew#*;}$Pht#X6$)u~@jF-+c$*(^7qw!m`J7{P(_P7x|b_*}< zkEBY1{0yL%PoiL4(yGoj@c7zEV~pOv7K7>hnaSj5y63l;bcT`L7{op1+G2)fEb+lm zhKxHgNKf@j@v~rK8S@mj`lC|GpyJ4jzlR|0Wt>(>XP86Po1>Rd^XK#`J;u0xQ=M&K zIkj6_BBtFm18QD_Gvtwje8`0Ew7iVL68%tMqn4eRv%QqR3%!&N+$MzyNictk%&g%N zF=`Jbs`;et7kS0Oo-RK1tT{QM+I|Q){=F_#$h95jvj}eH`8aNTBY6eAPl`u$BZ;{{ zY7l!v-vnZlFGtw$w9R>z;n2GjA=0t+=yhA*E^yUT6l(F&V6HLb2O=jKgB*xd<&Ec0S}GVi4}W80XJ>^f3!NRZT5jZ}-a{~_87D-A-jO5}i|M-}NjpnZlPbg?n^$b! zr~{6VPD5^l*w9{FTxesjO)X~3A3PyFJ%NHb-n*bSU7nPjgzr>fQ}bqfB@IUU8H+g3 zBG;Q(()zo*)yPd{q3XR0JT7`r630};0|t7Jj>HdqqvLB>!Mu%GNIl1HDXmZUd>0jE zXZTQXNt6fiPUUK*k^0FAcY~RiG!Nb0`mVA2SxD>eQpy;ECGLdYwI@G@woZ&WtNG&5 zPmG(<*a0%=_IW(7AC3(^%w}u6xk_0tghUgSdiis!I$ANv9k8mAb~0z$?vIH%+p9dz zyN`A3#T>*rqFpS|KXYGX)|$ticwDSu8b%`UaZIvaEJG~NYS$0c9reb&_dC=gv&649qi+RH${x6$HlF{igg z&tV(Av5icPxnPwu59B-#HU-y#w(Hw3)(@aXfvoHVl|7PgsJyxSZBXZpsSUCSOXbX! zxsB|UuE(I=Q6tr|tNgbC>5qNg1PSfpzh$>FT+!BbR*dr`pcMyx*v(y8(d-wa}w7UQrmmUDBUch<3BdTPIuj{6j(QBKwc~9W*arh zDmLF5xIBbB30SlS>xFJT;P4Ed7a5jpb{KH?v7pDR9DpF>L>w^4>ZC`lTpvL;`&fat zA?@NDZwSk-{8)M1v8SG413CKR?Zs7h!yO#_mXyQ9_rBf@&~>8Oh#lG@>Jy7l7LEAky1L5C zc6^b;o8o9cXxma=Xte`LO!&tqCw`QbdfaQUGUlBxxSYPMh_mHs!EF)#rkxnS@VI;I zM`m*ojraCT9;mPFhvXPf94zRV9)Wc4vBI2ZTE;3WP$u51}3%2cv=yfM>8O>fZ zw-s!z=^05kBU9St0MXfg4yo7ZK2Cn)y~|hH*3QKxFU#1Ag;wulO7ye{d_x{zhdVuS zz9G3!jO}K>(vFkvtq;H^WhJtGwnd6(yOSp1XO_k+kbF?fn9@}S8XJV9E8t~Fq%5d< zQ<{)%W7?3XE|{+*1<32|iOBXJbjCoIwN2`I9#A08IYB+AVq2eWiL~o=6Sjgq@((_M zmzH}!X6Qtvr>L@XHYy#coOv$sIv~T?www}E9k(D%h1wnj`iQJ4G9RqkD>|d`usyJm z$8;V0z{jrQET@Sr(jaBQ96hIJS|64b6TX8!+G!>7eqK=Fy?;WsQ?A?bHG$l$v*J0g zVWiXI1a=t@+k#QVo`y9)=SyE?Z+W)f_#DUZd((`+6cl|hu@QR+NlV85DBkB$c|yOL zCn(1oRLL;FO^ffl_ofxtY>+PD*59SP^_{U>(vpiu@l}>+f@vHysDM(gLG!4AR1JZU zk(p)-?ICxd(`GI#hXd2f&@@&HaN?pt_?Ix*WF)05Xa> z(2%>n(Sq&pN%!peOAmmU>_Z>w=0<&WedT(FrP`u_9K6mKos-)xgL)U>VtV6?B=}~( zgSQ0y!6gEc;oj;e1#q|iL>qf1ZYIWSZM6NJTgrA>l6E_&^K0G|srsGKDf!q81{K9k7 z(!}ioAKXN#h@Tv1P}N|gXUc|E*uMbCQ{^U5!>n1WEuFYh*$HFoj`pcF$Oj;bnbXHd zGSiQTmodgruQ($mwl60os`h4}r4m^HsM4ILIiKT0U7Ya!doD`d-Q8$TjPnDC1w>0& ztL15s9~>O`QT#-d6sYHiN+VFr#qrn}_1K)Ex3M6TUDi&OTf^qib4qA7l9Bc@o~sw) z(3w^FbN1dh(hr0Alc@Mq>j2WHIoICBUCOEYyVgC$tA81?3YiA*Y8lWeH|3M8Hauw; z*p`k1hhX(Fs60a2t7!l|pq3iwm)0+HXqpCEQ##YcX*KE0pVHf) z%FfxSbRaonRJqmMF_3ZFw9wNHy}o#9laEbyYyJ}LvL@qfTcn3|o&o*ExQ1=~SVv=f zQ$9q*BKU9V^sCYz3@Wg;P0n$By2Uj=WqM3_sRJqv5Syy61-2Ur#`cs_Bi8k<^V|5` z$|uQqj#I3SJ)3Vf;awj{Uuz*8oBr6GM;v*1F(AXW774s)>`I$N^W+q=x7smr*Zvw> zo>8V35|k}xz4@1XJpLZBY4NF~zXIS5kTn!mK~7?{B~`|diiw%VG89*9-ZV5iWNU8Z zTek(QWJshApCfH0s(f}3_2(Gxfn4S_3$$2&GHS8&P(%b9;`8V|;L5rw@!1%%AiKP} z>kf{dbcYA=D1P4t0`%4Or8fVUJ)bh$kTRe$YrIJCN}KvCzGF{*g7$4B*rnv!h6#Fy#WiC*>J%3( zDoB}QU!%lTOMpB==C1b+TfOaH7-X;Ovu~$K4VEgT0eW_P)}5U`(>${8x#r^Pf)-cP zwkwe1 zZ|C4SnfC?vN00^Y?!h+AGgnIbGY!aA`6Um{S6e<5({ezymUQ|BD!nVldd%^S6!3#_ z0jgZm_Em{(!b2Uj4?(W9%VK((F;jMRsb<%6|E@rluw-wE4pfhXx*qQ70sB|l$vbE# zPPoh<-i3DL=Qr01H>2=Y;Y|zB7uwJ}Xd`~1jrhgQz4WzN(z@y9X0N-_!rI|>GAZtB z5|XdMV?xqmqt%Ef0JQqB)3FdEkb{EcTG~N8hvYeJ;Xy_p9)t=x7(G!b_;H(H^i4;c zG;q4<0}sZ6e2fVhsz5d#uzZRq3z`o3T18bK>_;uRH41iEXT|-Hu)rYBE>SzA0h*8K`kIk2A?#GRQTBSD| zV?UF%v_r{1fAX?>@${2!?|`pdbehjDJkGhu7=K{(a~&8%w3ORy1ar;5zP_1wS5 zb9zgtvO}4C<~$4H{Fq3Zc#h7oSI3{J39q7Zm*{n%?37Kq`m_y}WRpK? z2~*o4vs>5&b>0}2J;PsTzt1bew$Vb;#A(}fupQnBz4I~VYM|W{KC5OPeF2kvbyoI> z|C?j`7i{2{f(G-26eAwOx$@4n`LE$E@wH+u23+6z0>Gsf<(Jw#UaK^zco5v)=LRK! z|Ad6=!bfwSU|&_P7r$C0#_-c;OH)xey%}_E0__<{us>;JV<`-qhkzTm#Yv|{_G9sq zvmtK|H1!F+olsSuPVQ{mh+i{{$j#E-BBzwL~79 zjYs?O2q}+h)4K3^MB6`eC%7HKq#T-H+=dT?)bpz!+0QVYrjVRL9)z?9G9HZ}A?bIl z$G03$pFHUfj}BE^9>u@uuG?2FqCEiZFtow0LwpH0n)~=ll4gd+$uhFM((WRAPGSFb z!dBJVsqGOa)PAgEe47%}MwNyB_H_btZ_bCy@WdEowu9york6Z_ad({q09#0K4&!bd z38tLWvs2HDAd1t6^049aU2qKhq(2{D*my+PXUbFX^wyxhj=dz2>2a9AsFSr@&z8OY__uFi#ly+hQ>Cy_FH4wDlnAb2fa=!6N&tq!sVK zy}Iqzh1XX%-D_>sYlzMJG{k2Af}maemDX8TD&$(FMA+|ceMbSOIEk=P)9IwY!vI^c zIv%GPbUhj`g23ipWJ=^;3{xpjDc*w6VNTWlD7+bwN?fw zrUuWHk1s9H#rtEwyU|(mP6y)Y*$XY$w22ja(2KUXy1MFl;xtNtRLJj7)<-vs8}n#p zdbwtcU_aLx$UMc6{{3?4`L3TsGrkR)sEf=7YB)UHSKw}8@cp)Q*=9_-JpT=Vh97pu zwi1&fW`Rt!<%}?yOJi;)Ol?P+&zi%?n)1F)c$b#oI@J;1uh*uYaei~dZ+~<5zv404 zI-yo<<|v2vCoqE643~fe;`o)2g+UmaRrBC%;aiVd1N&z>=odv(KdQo<@>2db^cFzeDx2&nUT(swu!=lW_4*Jk_z+qu zyJCi)_UMDMu3X{Qyls&xxxwF1MWZjTrFQ|vWKjdAmIkRICwOsKw^czq#(jL43hY8x z-maLlk@HVJHR>3@m6!EiDznOD{ELWPd~ZFuiq=SKzP`Px9Q4nljk152d`diqZ(&29 z8sBvflx0Ko^bWv(H*CSqcBD`@z((_N7h5Yf8kYETaH+c#`e0BBewdg$ruIr2en^m~EiO0(W8LMpT5p7q$T`)9R)UvND85zDs$o`&#vy3I5 zHNFq_x|37BezLF4isq#A3y<}%S@i~bu=@a5H#S3lGJwB!QIQhjn8~th`D2X7?0Dg5 zr1~@?`|n%Rk8@5=8#wY;TyBi1^cZut)@vkuQdB$h7kcSH%<11MrE zKNLuDUf>ro{7W}2n`s6OpVRcueCTnif5u_X^Zsm4UU7=*tt&q+&PN%K28`iD6xm~C z1KDJNv-FYjDVzL6wK1|Mx=$wE7?m~(Jt}7j%5;8_o%I9f)t1@r1B!4#=rPZPYNX8Z zAJoW_SXOB;-54WUN_|io8)+x`AbE-8gG!Ik%INR%D>T+DvOEH^goh%1iipp4ysH5@ zPNqmsw55rlXz-*PlAhy%ZRl+<_%r~Tb+OkS3P~rR2-DfEzrE1(QUl(g{eDr)dT6;z zHj*Y@vYotMt}+C8iK&gWo2Yq@j?za{pSFeP`G#2=GG1xQ%JK+7Hx7FoQHdqGqUSR< z2}1HBwHYZlS4Q)!#}Wt=l}g5HGv-RnJQd@$Gg6k}j34ouwqc8T4PP(IGUYv)=VH2O&bnxQ5%PZc9uXe>oTclOY zwbLS6qp$nwLA(gD$;@KVWwU*G#q%Da6Q4e9nc51ng|wSAIHq~5Kk6EfCGqP3{mD@L zX*+C#v~NnbXyYl^WcrQxy>OOOWp}LO2-r)T8RJi*eULya&g{Q-;3v3Fx@S+H`1`-S z#Pj_8ZFhac#=h0vanb~k@x#F!b)_-OSYiw@Q@8|=g$)hfbb^!?|HD8r;t8h+zZe+i zoySA%yF_i@ahuH}Y{W7cJhqQxJkmH%$>WW28oweD zl>XW{bS~q#nf9a8iW!%_IEqdkvyXuO)F*Sf0Zh71$FZP|`okVl7g2R>n@uY=$<6U^ixQ)tg1@RE-# zk?8a-(W^~(*spCpCpSWq&pY)*s4vOGUnw)loseZTR~urjNd3748yx6BmW7OSMc}vT zNUqStV2&oPG)S3kF}0DjXIXb-tWBZa|1BSk-}n-I;+#1%RGs&YTGm6$O}(k_NfY<9 zjv4-#XJ~xTxx@P<=;UvKJceu8eO+4liS)zsN7DmUrrN9gDLl_X5H~}P)+tRe z=leQ3(m`e3SYIjCJ$9OcGF(?B_upvqz7)KYdhU6(IHAoYOhpt<56y2zI$XS;5&`8Ta zHt8%@{mTa8AD*0Q!FDWuShNT_@|8{f`Q=;FhWO--Fio!o9yR&Yn^8Aw!EV-Ncr*LE2~%*%pq+_E#IQjwyxv zHuo7-cDeKiVRRv;*iLt=+dVJaECA`nLF3hpu6YW+(Az__>lvAR)rft)d!)^+oG<8~ zvyFgh;+iN?97HB_IL|^ymXK6)@!r0$D{Y!&>x(r@z}s0b^AxhzJuH;W@Epv zO+I%LyaD#n6fQ$G|02e5ry9xvJr)wN`OCkwQ&BhjmdM6Ph=!lMY23qdt0%j72~h-} zFiplJ5pkP1LO}t3|=Fj7_Evlo>qWAO997jW) z20B8FDfnQV7x{`z^BG5mX*WKZy|Pegkam_(^QLmCyH0-{!WW+I=-)=W)|TX59e=o8 zjt`Huxql-1KpSnwIh*aAH^7|DX&Y>he4)whJzs6%XA^VWDzsvJOdI2JT|cW6Hy?;w zeVUaBjpa>Q<$o)IU-FYVIvZhvc7G`n4ZUQx#VkU~?T})`qjIV~bc8#drv`sgW~!I` zN~?{cZI^6G&Ei9mt=P8S^4lSC6zo9}-l$r3*J`@qG*|yb=GXuS@(?f+*=<-`;dL+RVatJ3$nTl9RlRkiA`10`|s~FF43f zE;oa_9bBKHVXI2!(-+6bC+Y_lyFBuL-CbR4akf1?w;Y~yhs-ZZzrBoK ze%RE1I~Fqny7Vg-iEL}1}3UOyP!?zjfU#;7_BHJe0 zuCzhlh8dH$>6js|{P%$@2Q)hSkmJ#Ff=JCtql*>qgs2xy!ZGAcJ?D*PKaVRm=!ZH# z^C24Jy43)Ahh6 zd&IN0)kZNsV^&K!+9l>n5i>|Ob5_jSi=yup>2F`Q+NFQuW(L$L_fkEr(A#K+dV2zN znuKn%gVR2FMo#4V*TY)hlCyu^9dzr$)&2f#;4SxlDIRykB*#MF zmJQ^=i66P&Q{axg7YuDPR^9CGMfya9Q@bUH{IoB+w7!mkql;_l=;2w7VQF5w^76AF>oSZLdGDc z)#K0pH6J&@buh3JHfc3Ben&^As$P8m*_&;JXxC+IQ!@+#abR<(0NeNX8vXUdBZDlJd~Z(P<+2?*r8~1%^*? ze79|xorv+WD}3zFxKG>jQ>Sd+@9y&Dkpa*7EgX4MZ>}ZwJxSSWaO|fdkujF{eEz1; zP@_&W4y;3Sg|8H#Nyzih6wb$ujGJzv*Gqnj&2O~79tUkB&4%Jsc^BAZ+HRoi$FRKw zpFLXt^~H)X-57lx6~h`_jM=b>*;nY4VMG#q?4k=(bn*e^#~CbOdy&;7!Y-lCQYizV zOH%8|;3c1svnUr1(#8@}XNu&F$}XYzPi=`vjQ-%0PPwGPh~_x+F(3`*6nK#}(o1@p z2ddl>GLKe|zo0oLgTh8gB{vayd_;-UI%Y6jmw|^|hAK+{b9q&#=FQQd(sRhMKE)<` z#8aBkW5#Ah+5^y;rrijj%6urK*CYSd)P0w0*7F$`iNAZ(qJji zb8tggXXHW0cr{&Qwn2z9!a3HkS4ymHQ0Qf!1|&aYM@3-7-xX3Cm8DSaOlhZ^PST06 z!)H*QwMt)csa_lL-NXGs2~Njmo=yEeferl8vBIGj**yAuauP8-U+q_j&3${B9-WXK zp}5pzg#Kiv(CV@R=Rqt9OdxUV1RZ5Nh-Shz?Uhfnrzqs{Lk)=x0U7h16^jYTBD)D3 zPy~QpriYpgM&QDaE3~AeO?dn9-oD!U;1nmUk^1<+ruqEsdHl>B@rbZ(`R<9*o(bv}?+uvA zo3XtrH3s=rCexTAY|;-%O8&$s{q`Y7^=8y@%6!6a*wfE+8e^QF`5KMo3Fwk-%bG(T zef`zqmY&BpZC!PdUlShg_6I=v34TtFj*hqLPX)XW>0j|d#qvukZ4kyd-N6-G8a^iA zf-+A5aItswt5y^h^C3SCX^umjJ;Mq7@%&WGbH3wZ!04DN8+^2Qon8~0mD#4eiX|J# zPv2&-YhjO!b;WPv+BPyv^+%U+L0@l!pL0_^81)#aAjP~k9jk7aAitg1w!(_QM@} z0>5b=adu)lJ_`*hPdp+mwg6WYfhNBe%C@Pp5s$`d5TEUF|5J7?BmJatV^6OS>VZ6I z=Y_Cig_c}~^6_@?ITc)EQ*0mjrZyW=Us;D|`M8dFdw1){@Q;q4Xk&v8-V6G;ldt@) zw;xXqR+OnQzM}1%g2*f)j|$g3y_gF*x5=OW>sn0?J28I4WYRo&N51(AyTa}X z`G$1Rx@H9~L-Kvx=mdJrT!4f^)FlARW!lI<6TK^JGHthL#ivI`E6T)(p7`MpwS#9S z27$m@A=}2E@oyS+2Qkur@<6SR<;AFZF1yhgSAHUsm5&|1l4iRKshc6oS%)fLG3B|8 z!kE^Bx|8nDzB)!oLsz-v0c`mAQ5f+RQkD=aw7@z!=(#Y5C>NrwJMC}yoLDN0I^qxM z&}+1aluz_|EmYLJ3ivf|js}(979)QZ=IjyA+lCv+e9QY|$g4;hLY{pA=?{(curFI} zL7y$bW8C#>tG#yo1J_CVMyWfTD$~>(+EXe(QKO9N2mG|nnIuLVqche@&R3WN<;6M} zqA?|0NW3r=^w<`(eNjlCQrCb#kUc#1M}k7~ru=O&v6=oRpsO#L*UMGm322^Z%@Er^ zJv-^vh2x{c7LK%G=dL^9s5@3TYI#RT2TpTGJ~#8;(6^2L;qj?L{OlTc@eg>B-u_|4 z2Z!1Ox6Sea8~nD>aFB-?3wE2dQ-b*J0P$MV$ict``k>L}#X+jPX-TrX(+ubhxMP*e z#RcWX%lzmv@9mj3(#iO&WzBXVZE0CK$ z`1lS=1n$CX6RHIoAr8=hEZGe9*w9}~?(OwKclzQJxBo$tMb2-~SMuWOLN;Y5?_wx| zpKVP#-Xb16OW|+kZ-C1pMy1ttv}h;NAX|PtrJ>8B% zWrtO@11CMcPk3^uamyG~xVXOJUFJS8Jc(GV0pC#qJ##(sDjMUYhfL7km+d8P{0((c znXQQ7LQVC8eyD{b+!Pc?4KWvAEy!`cjOf=uls4G=`NPL97eO=z=t3Vk;te$(yp0PV zs>40+inv#QcHOb&m1j@Cr}jARZmu)_^&RW#kBx-t^SHN+T;ai5RJN=TWobU4ZIOO87=hxuRhdD$Go1*_(s9;>UXW?^v zr40UPT=A$m^J0!Iz8~Yczu2BbJ`TKIY8`65h~+`whb=Z;QA=~J`uPGx`*C4UxfaVz z)vukepgEq%;w7Q3r%#4#1n#=iW670y!DjftU^_9;KFrnm9)N?xm~Zym({{8k?UR8` zn%hfZ31ro}K+gp?4Z_ewjZV{+BUa$i{^T3-Yn>0|Wj^LJ-HO@?=?7TxqoCTKmetp} z(V&-Y0b~q8-y}`Hdc3!!Kj=3x(jSZI!&&+>pT16k32djuwuAi^NCVqzG?D3+PJSYj zww1I(`ULWZR6Y2=^U$~N2{I&NBwUx=lDRuMnjns)d3q{$|dCa(NV zz~(f7v{OS;{4pAW7UWCyDeXXKy;8<#az-QKm~TPpCb<))Wlw1^wY?3E-|OsU-KiIR z(#gwl0+JV@F&nT$02wDTjmj<|QRz8U`SgQ84@WPL^W$TTv=QewM0gk2(4W9ITKyUS zfUh)~7AtL_$9N#-XTFg~I@>Jl2Qs#96Ufi>BvLIXS?4}bd3|Vk09vemuAxncNyG1j zn{Fd}RC_D@#;EixGQY)ZWp_ZD!9VYj2&BCK)958MT0Ljkfcog{^rTxCo;*2g;Z*4e zPtGy~|Jjo#rq2{kl^>gX(roZgyA#>ruD$Qv^Y&eB?)@k#or2=X#E-D0v$>AzMt1>xlZ%n;*+bEf&go)@0zw~(;0OtWapMJZx~Yz(R< zH|pg|?+O<#b75oLkpgwlA8mIl`r`V&JALxZcUADSmVI}t4d&&gH_y12Iks5L){|XU z1JvD3-Vyg&>9`0*rZ?RmE?yp^J-u8=&hAF5xOpyU=IDJNvUn{*o@uW+?cNB zt*J8oXCIXr1}11S&WOx`Q-yPk4F_S(^>|b~6j5`hD2{GL|AInIFs;S3hJ@&!fKNK= zTW=aQ&GRz5x94volQz~w_&$IS*Vk8?XX)RuPxDCcGbECp@@+N95t3JBzs(re%g1!z zR+%@Jc??j_*dlX`_?x<^AZ2amo!pyKt~`4dCX;P7I_)O^jn&q`CW7qgX{g5f^M&F{6Ec~Yrl&~Tc@d(S zS&PiK?nBTFI4XtJb8DqRO-`}~#?+y8Hjq_crwVza{1(6>UCJBLCGL-#78fxiWx7~4F zQEjZVSLsc#tmdew$1r~q6W~wjbx662)ZZn5j1x7TWz3b8fS%@8tjilgf_XkB&Q_}D zPB^vf1o}ImcPv^dks17EQp7ABiodac)Zy7$;pw@HN9{Fi3=?3IW zGRg~b#0MkW%Ix!@XA0hbq7C@Af$yyno@m4VRKXj2@)SRX7LUz58~mqFBaThJHudfM z^%2?|c-ho@;nD7dd!h-KJ(!$q%ZrwFip_u0WH!t-N~MQZ9h#H{c-)28Hb6nf;g+%~ zOF=UJ&0c72`~#sQ_9{jNzdKgUsS2@qD7`8Yf4H-Msg3>d$rJg_3&hAAEb#sNi^~hY zG;Rcmq|`&*XOLB0=svhnR}ua}1dV@uA2c6pHl$15*g~J%khxQS%h8AXTejk2M{Ml* z$vqBj&VpT2&~6}W{q`p*c|)*1B{ZS5|kZ}U6D zd)h>63%N!xk(p71v^dOI#uz$JK|kAI)?+E5~GOz$)<+X7<0#P-q`da zGK+XBHrf!bv9S*Lvd-5jc9ET;cTvO&-7|zjFV?Zr!gTSN`ISG#L+Uc8Gjgl?u?0Pc zo$a-F2_xA&M>AiSIBhWYlP0coVu{`bb2c_K%Oa+F*h^luO?4kqM%uHD7K2KI%m-C= zi3W2v5-AI+-VzO__CPM`w9cB!8+?)7xTN)-(oF+wW4&3MOsA`1iQ?v9PSy z``3<wHk_l;3eEi|Y}B_5akoA;@}!?WecC-CjO2z*{n;6J?@zp`&+pl@7~o1j;mCLF zCo z<3n6%@M5L;G;9eN{BZ#wu)4F)1LHA(E$+f&F5Xt$V4wMEJAOiq?}^{VM&|au+do#n zJpV*K$9E@bt!PixdOZM$$L{Cba9-WGihM(LQ&GuIFph@D%(UBx|g;&Vsg#0%ApND_AE?7|@wC-3;1= zVjMb?rYANMOZLEuy(UPs)?U*i^1M#IVxr!p+A$x^PQJwo4d&?H#+F#Jk@PfdLbV5= ztG&GFOx=mM0Xoz6NP8J?LlZC2pvo@Mpz0BPwxlnKW@uu@JN+L|=Z^ck(je^<=8*i9 z1JKpRHpp_P_A;c+3{$ynk@|DUuQ)niA2}{^%>xaU=aRHD=maO_YJON4cz}7+b7y7> z9FtWZK%-aXDw3V$f?7^RJ?0ZrdZlbW6!M(2=tna&wdc6$I1)4KnSic(v`Yg1RMrqN zoFf>=(O<)PIO6@d!@eB)4g1_CUisX?KWl03%oE3^KJL^f|CG&rdkmk=z3FtXGSd-QRI5_ zQh>}p+y=d@f}>Pybp>!B2`#svau(=bPoMm|%-B5Lv`6uysE~@beE@8`(KEQsm$+qx zTRASUGM3+~C&TAN1)?k_<=0_X+0jC&Dv9osm3{yyhuLD2jauG=Q1t4evC<>k zqMdBKN*mcxj@N4Q@pH^e^wo1EXj9j0uc|Y~wnRbIly6V<+Me2jmTsKiz z((j?nR9`D6jLKO+wUIP&>aH`fl-Kjqpcr%IB&K$jWLN5=e(Bd(ZIau6@{~>ca$u3{ z;5+r=Jz;bIv~B#gd1n)U8sDeS@7W{ABlyI}?fdk(q37;=d^bHF!RPyZpua=TKv5O_ z*#^z9tY`=kVZ3CFHTA&BjbZ-8SPcn^AjN{*cP1#U73T(2f_!qUrF496Q41l_{*xTO zX27?gQFt8W;paok4(p%Lcr{#W<9>AdO#Sjq{fraoNYsHli+*vQ>kFp=pNYltBv`Ww z&!O4)eDE+F^D!jYMU|2pigpHat2! z*1Yr7^9{c~aCLRr-Q35|8HVKcZJ1*$HRli)h}3gz?ET~qPr+~$PD>)SY$x(lqsmQn zRxJnSc;8NV{_WkJ*0qMmMb7)R1-ETA%ttC_=(gVY8mxTy@->;2K|Wd z%OA!CZIF^9luYKS_}W@X@-?+UD{m4OA#w6KhisG;EE{CVR)q;Yk}EKu4}~g|a{cMD z*r>?tcZJKNjK1I&1oJB0utXzE7w1LAVVt%ZvL0_C5`bMQW7!tA#k#f_6*Vd6AsE?f zF?gswV7Jshn{02&2bJCib6t{HZP#@zy&b4!u5mmj6dr2zA$nB@dV3r5Ejy>bBuRCH z8nB6;w>9wR%HI|1$|YSxqS6mVmXYVgijn;~K?qA_C*S*?MlZD==<^URA$37dm;6y^ zQEjhnu}-%7J-Th0<<d(zqCuKV_@?bl{}_#(xuHuc_A>kV=K7_;A~^$_ z_fv1^+1x*i0R2>(NH+Ft_)kv#Q(~t)-p8BtMaQO|x8X;8bac`k@)$l3hwW)m!JCmq z`wSG zzqsA&PM>`uN7T0Z%Vig}yuQ2X&M)6~SGSkmTlz4>ed?BVYJQl#CiqE;^x1w!9B=KH zj07@Zn)-kyX~ZL5S}00qPce^8-^<6_+bfk3K3HCINhhG;<(L^-zJgNeQ%HSEgg4={ z0c5=0+@#K&?ly2Q`H%l)$p5`)m-{<8g$F-X`&|MSRv~OOp8Ze z%H@zu8;xy1lkZT|jm}5vlfObYS%7TPQ+r@VZ-!>k!)D%RH;;2zI<`nU)kZ$&UwA1i zFh1N{O8U5AqdeD`hZ3FOWDw|kGXA)DiL7IfWt39`qV%tyyU_ow)#r<4gxFA7wc6wt@BgddY(H!#AuEahBQ*=%GVMnz+&owmClW5)G>C zm<~UoLDeJhkr(daLxXA~+aZsY%mY^lF=4bq_$c;Gm z-E8`Zc_BPt-p_pa{6bgqQckCmVP4W4L(H+&+nt02G&ZII^!9`~8N$?7O#^qi=CnCK z(1)K$I&GvJNcp)?=alO6I!tXRu$O=zYosWk+BGdUIsVB~5!H@Z-TqTvink{42z`Y1 zR(#O}coBO@5i5A%O`hx14rqO(G*(n+Eu;3#dacEZ_SVPN^SWH!ZV33MBg`CobUIqsSot3uNBRiak@_bQ4 zhZPrHSOCVxIfUGHqR%fbbdqQB_i*4IW?diZ)&9bdRglMLcoIlD^OAGNR|UBH*(#Uz zmTa#@Yj1x-YhW=RS@iOfzH4p%dhBexfrfB9=OT9=(HEW$N*EAkQYM{&erQ<2P*L|8 z1^?WT?a+K`Z4l!)#;%{HvCJIMQyym*MTZ9mo^xnIzGlH4d)`A4z($4!lO??adjC`y zW63<)QWJ92ChcZCwEHrU!B)yOW4iT>OY}x`cfl zGwXqF^nd(3A-`dN*q_JS6l+Wu8BQ!0{m!systbW1l_nBh7hiKUGSP+s*yd$i0?2Vg zn9|;SDWL4lY@?G0Og{$P_F5~+aIP&_N3nMBdP*YnS}WGDpB!JBv-oOZ?^8q%LRP2N zYf6`7G|3v-#3J23s?QIx;hRS!I6hiTPJ9L`4XhVrPZLk+U649+VK~y|V~|GV4Zc() zKSQcjnz8ec7s;lLEWi3;T5ZUBeub|9s$Qi*m0hAi)eAaWsq$ltE7kfo`JN?3kWTbE zGjyiGG%slYopRd(dHkt1k_JokW5VYK#pyfrl27oba!a7;cL8=Y0LHpQOHa|uDO9~( zP;Dpu5Ic$V`Jt$)&?Em!CUl#*dOFjI{ozgZ^Wj9B_6SNJwP5}b_dy$a-bU>Wy<&o2 zl-ECk-|nh0p(+gDsUJdY@CV07fJLCjwbnE6fL$X)UdTi_Go>{w=Tuawk%khhZp_<^ zHc*?iiP2K?q6Q}_+m=kW*WMoOe%3vE`a=0|^F)P^Xw{j`j$ick4j9^2lj>>(h34FB z-T>-6h){?7_MP{p{|>-*qgou)AshRHeSas~FU`w>vb;fjOQ4VetQw#Uem~lU%r}@p zPUKc+9vbE_=DU=>oqnDew@LIJ$AjWVFCpD0W}ac*!P?Eut;f>T_6nK-e{K*BsaBw5 z8NF;m>jfQ;UHjb_J7b;VMhDj*?Jn7XKbHsZ!IkNOg$z^FJcn#QwdHUeH-3Rre2m#! z!8L7qyQn{~xOc{UnG1dC2|6@99ut%HL*KtwycStwk9M8Ibx!wrd|oe0Sn%w_0%ve! z&Y8x~+Evu_Tz)mVL>p7Z$3!|d3GQNoG4jUnsz5@canS&OdW`*bMr{Mvd(tM~o|YK< zwc2x=QTvs8Py3lvhD}&3UpD8))%!**5qeyQA$J?krZP)9+t^ydTpQ2XgZD1wY>TBn zUstyK8G#%$H9P<;i*spA)W~l?RNuCZ{6J7)9A~YCvS`oUPTgdXsyv;a`xv3qau+1wN4fFCnx&M-jgT!3>l6fWA$MjMhxxbJw<(6-SkYF^O6=gxid z2tgy>RGOWXAr6)s%OU6hy7Q_?h}^22+>FSt=2N!ew!m`rkg~9VnZCXY zCVM>-DWv+}%Qv-OV#rxEH4BPHCw(%lz&PdU5iV|AUGcr>yvPv};~H&(q_d6t(6TDz z%8xVf8eWV;Nt^vJh;(D+M5^*}C;ElB?=g*V zXPG@M_?K8flXsy+$$v+uBt zkXvJ&Jy31GFVNTYUElZOZBxgT%VVmJoA>E&qWY1jbKtJ1b=(zh2L)`riw{%PQQcY$ zp!1wdd2>bXv-w^Zyjf?H-a_5PXJ9k$xaHT4JUs4>`uE;hj1Y_O->`Sc4S(FtXMo{o zI-InWBf;aDqCJM7;T1%MlbNxFofr8zEdtVRstFB(jy9a~n+>xhLnJsy3h{lzb~n%I zDBINWml-Hu{#;#OxjE}ep*Q#d z?4p{oZi_|_wG>Z$-rA4H!5Q)^y$-{PY48k=%T!)`HRQ;T`d(a|D{cao51qlr6obrA zgDKD*>qoufB7(<2!?>K(tK$>;p<#-__c`#Sh#z13ph%yx?)p@lxLs=K+oK}*c3B@h zCj3;JdN%jhS2x|c`Zn&Q=Sa`82xGV}WiI1wkp1Z2uvc)>x?y0rU_?frxd!AD@Hu6( zAFGW`c9t;bN2PPK2H>YG?Kd}`-W5aH>Dh-ume+eAqJ9s!qW4W7%(0$pl_c!?z1OvH zA)Dc{HQ3@zk);!3AdGOxa6U!Ks^3Is}?2T=s0j2u< z{hnacD#T^Duz@D&kt@P-`d}dnp8y|T`bVB+;kR_s05S3ju+uiN#VRed7BZvvPgojf zyCQwVcJHTX*Q>$&R-RqRvc<1H_525*H(6}hr=%68KBX+tR4=h&uh_^w0M#B?Ya?le zzHQ(a8$`Wrg%ksGG;yVOMb(+o*i5@wE=ak`15>%wHAMI#AIEVdcSh=EIi|I)=c{OG zFZslkw(J58s_YUCs@@Xq`A(tlbJ1MnikkZ@A96y{ku#<<4Qd{!bUp63#nfH`-n5+e ziSz?ZeVWqw%V3;S;^}H}34-NXKHqKM1?X}N<}prtZfaBOD5Om4J_NOnyMi(1xjv2T zh*ay(7Y+GU5+wMHb+M!zho>=zg@s{X!5*89w}Ky+pU?-|03B$P&PLrqn<3H}Vgo+} zHtc)*+NAR~9)-P@W}~^UfK5MYPSJAAE~oPf@tvRXQpL2L&xC+Dn|jkEg6w0^XiAyd zqs+>m2L|SXJ}EP4{&*rF5=L&yhlUoYUmu**QklE+=~ZiwCObMIwN6AVI+q|jd$$@4 zQ4evXw%=XesOgVRH7JH05I){_S2vdqQ9y*=&sOM=vwZ+TXR4w~1+xDGqDjkDUxMI{ zee>5sEvlea90=)p)FB2wWYl`dk4asz$~ijFIM#S%wB6iZN4b*A@AL--8fr*kg+S}} zrL@nG^hF8V%0AVf>ca*Q(03I+SZ%AuU@SL}^kE&U%(6Uf*pIcf*d()!4Z)4xLa#$x z@fLg9iXNH1v+Bj%*aGQIf%y&pS^$-9k>R!wT4Y$R3T;5zFhn~k z{oc0dIX@~5Ov`uch?!94ep>5iSP5pSI?-%Q|eB}4Mp^vnAqP=k5*W!Q}hvYPVN5k|>gGoam*8~A{ zq75YStU{JH{XzE%q3#d_7ZGA1j!X@0TIVzQ zPz7%h#}11nveE`Ys3$VF*Wi>h*&y!i-}@>We>Zo$?^u1q&)n_tJ>%FY#!ueKnB*@m z&;15((&0}Qg3rU0j><}aui)i+;lp)o+8-m7D)mSy+f!zIRYGlYdn5m@>?@n6xY#qG znn8m);7?@GC&Z|V=-WS9&fO*fHhwIExyyRX9dxCl9)axF3fHyKz;x3IS$(8HQ_k^C znhOYQ?EQEw{9YKkhTPm|ej@Ydu*3&7Z=Kv6rapkFy(OEQ%W~7SFo3qdc3cBvGsfqt z24(REdfwK3a&)HDp~uaYf5SdD_Kc^wzj?@>+;=xk>VXa$rF;LzM2yX#lq1pRZHqxI zV@hYb(tt8+Scj^&iczi-^U}4PjH~4OG8VycK(I+{zb%bOwfeiW(>S)=WgH(^pS**8aVnrB*!rh^mmzJp>)Y0f3+wU{|BpB^Ll zw6FT3L2DdqlYV-nbF+B^C})H=xG6jK^@Bk81EEm$lFs}IMrN?RO^|5n^=3uuzlZ6@ zsC@#^EEB`Iqfz#u)3nh(8gn4M?j44>tA0)G0MG702THtm6w-vs2QwyTXwZ|l=`nCtKCvvtr=@jF1c zz<8|<4PzZsev$~2Gj``dpE0k*9S-SF%69*@KBiy!Wd+Ojbx-+q<^rX8)S9E>6-SkY^ zki89ssf`tT&Bl_wcY)hiwz91;OTa&uq2MD#aVvTSIZtNaMM}U1HerZ}xk>3}n^6Ue zjn7KGNH^YqnD5-*C2WG*w;}1J_M6MMugO=Kvj?q zDW{(^l+M_)q8%ypI(;GAp_Wxu>#72NmYE?jO(*8$KrIhsdddgTb3Rp>ZGp~`JwV@8 zC-Pk7@7Qx^J~#Gpmp(T7Y!2hjeQeVEV4aMcyhG^waelr(uT2zr@%?&rETJtTGGyl` zpmLA}SD!=n2p&}EW>7i?E(dIG-Z93(+{(ACPiZ}kiU)a!hK_-JZUmb?l+y!32f)Xk z7E)%inZ|B}=1R~NEghus>%|&S9=dJ1$B*LhWcZBJj|vPc_$w5+ zFlw|OZf(!M?ddH-%bQ}>SFZr(Z7*YJlQ{l%)nCTQN9;bLZGib<4v6*&vJ@;b+A(+x z!MqS1Ppg#U7#cT8Nr&@x|0JDxk=HM@n(ZK&r}wP`&ksd~hyx(D?M8z%^)BekXhtgy zyufM5Isn+Cy0myiCkj2am#FkRK|bLY!HY2<+n9G53b{zj>?z!1Ex)N4SzmXX#^VZ~ zKkJE6jf>}T(E2-(DbLRB_=#Zii|E^3NP4OLs%*ua4KUC{{kG{Fx0!(d)m~iW$RI{* z13nSU;{!w+Nkb={dDDZxopKD@4zk&Z<8(M$lRwBk1Y-|YZPolKJ=FzMe$vKI^??>>JCNK$VlIic%vkF(5 z0N?Z!jYU>9Moo6A1WiBd&9or{% z7;MLd2g)Th<^-wRLrF@{Nn5Q+N^<7L3rzNox})PWi885k@`@9ff7VU;Y-aPPxfY6D zgDA&-)n+i=_@j*NV5_ZNF)^+7CZHN2PGn&zF{JR1{$Y$m->~`XAJ-39zxlE~Qoib8 zS3xYi@~jTJJEkEoqmi$J1-w_?& zmN8(Q8l&1wdY$|dQYSo3YCyDYVAaFN!>S*%keJ)P-)su*i#a@!uX3k)w8p#j7zSp+ z;3K&q@!%3xfF;IRU~D(%i2havLS9g?hZ}T(%vnWBIbIf9L@lLai9f}zMPheqds`dZ`m{CN_8AIFQhRPT;jx)_ zDBqjsQG8C~t3mQDcDmfj_Z-hX%C5SWIYqcXrBxDmc)w*w4*V z(=)34CZyg_S|Du@6DTKXkTIzAL$JL*zsPZV%8Mhr?ybi9t=gR91Pd#*u-V{DYqvEt zPWcYA;r_;G`n$<$wi%eV-!7;&9$b@0K&|&CKakDYdRLzxqVtI8yXgJKzw%IPQlQ=~OE_P$@tA*{M+xu=z~^qo zoU@_HSUG<`04^g7YjoPJG=N4lVLcO#Mz+#KGd2>?X`}Mr6*eh*)1Sr5GV-zf%$@^z z1pC(n`+5=7Uz}T=6yJTW09;PfF`XG8)6=j6vduu!OYKL#{ZoF5#P|#vY@(NJFJWqf z5v>(f;{-4XXXF!s151It3@MudSy1_#kmWoUvTOjI>+j?fFVP@r;w2hXy-I^ByA7R4 z-jqKD_3=DNy@*h7MxljuHa;})B?Fk&Gu=);sPYw4-keM#*V)K;&mqE`EJX0QZE^^D ztOvO=Pmnh)&wauELvlmD&OPM$Y2lcU;Ij&-$Kkd}7f>zk*j^&bNaR?k@>3u`8Z%W# zA5$9{k8~7Da^%y_$bM)b<@OTcGqBp4W7?(i-^6wPZyRrA^4&Xc#++utB$3Qx$^Ba>7eYVJpHI<1}jda+!P)5js2)%;S*$**kCg z@f+VHbFYm@jDB@~%cEXVbPtja60HHfxZ{kT>bQ5*9iKjRfANNV`h?%a_ir8_>}j*} zx;wu-r`OF3FSD>pFQB#CNKVDOeITJ74{b(R#hA}&W?vPe4X$pl#ZaD#u*Afrnj}94 zb(Gno@x~xuL2`^uN;|)J+g_eWUrdXdvoV0&>D_+pIL4QfMZa^g;!cHxpNua4SZIeR zAr@e?hOH|IeO-u?uaNAXXz~p)BH*Q7BI(MX%Iu2i)Rnd-K8=zbf2yzAF!{8|9dDGh zUJ8pl>d%o8j~kv!IX*n@PL4G8_s^6*=q~769+8(k^Fmsz^GI^X7S{t?{_da5=*aFa zuepGrF-s+6n>vmCU56@{bb1rM?F^N@efhvM$0Pu3Ov4svW%G&m^#!7E^Vo3TLxYUB z0H6IKzPbACfp8(bZSj5Fs&)MOF^6`;Hf3HrE^h7w}X?!KUwqN5ed)b3_XOO7^E zJ;mUKsL;{ZDpz@XYU@2^AIgU#&HeX$)rbq1l4X8F&o=IEI-TNmtlW2}Ixpy`^ZaBF zu}3|SB@I_PoVs1EY)6@y+xk=>vJHS4*r+dsklYFq@9o(S1_@zBKN9%Yo-)-Tj)jisa zUqEr2_WU6XvST#&&8L3TFqMA@vW!If!C{+7|3K2jOEgHDc!>s8uhJl8h?BpLP9$&2 zuON?$LBt5TD@FJi5X)m6Fs3Dx_DK68he#x7r)jX<2SWPQyfu>Em#Y6*N~~`jK+g zZpxeA5=0q5@&URfxk67vMJ*TfeUWV|nto8{_58S4qriVNsC|4sejkt2v*Bj5pBr&D z?gW1iPaC47y}_5f@7hb>kKDso2s?4Xz&7MaAGg6^h_;g(V2LK?I#eX1)y-ibqVY;O zkyB}cKKXYe1ut{by;^QI@)V(=@}^m{Y1w8mC7L2&je;FlSOCQ%mqK1ZYh(ZX#mDN) zUOckh>O~gQTl9VW0mtrGX9VW_ zpnhieLM;Z#TZbw$XX9P4RDRSmtC#-!*lfAft8b$jq~vOo#OdOgCsnkeLFSeVMCK2| z9u`U>+sKl;J>omDyy)@PU+18VupQPsCTx6@^{7uEV^H-r*?3<_-)h(az4+9BwY^SC z(E|$@2FRlzOJbh)chromQ-%Sv-c_}cYbjamXfQ-Ed=&npfpJ}_Ax+Fz-*VAfeQ;Wi z#W5EbQ~9|&#%?Sb#@;&CN1abOug72qWH!U)H0XoIc&;b zK<}N1>TTs$P)rSm2#ZZ*D{{+7tI{T1wbgYq? zFPr?g1bDNpM_EJSC3+p)9-I?eI+1$tdwZ=tGjDoht9Lv@!gM*qOw`^5y)P|*DLsdD zZ_ZV8lIMA+8L76cCq~uX2G*Gb&?3i4gWiw+54iM}IdH2p`+mzkn|p=fE%*_5tUdzY ztJ~LxD8G--2EM%*54r?z@H5>u_M^>xqchBb#w4e&q&|{PJ|De|2Hfb+2QB;zC87K& z1{pS)an&{-V;{9v4@zMJLf%~d!;qf!^>S*U2~0-5BI!RsJ0AEk{BG~Cd;0vP@7Txj z3Xi~J`nZn=q7&bCn5R!tvdNrRcM7cAS9Y#s~M^?oHooHRBnA5^<3n|UDf^BQ!u z0h0GvsPc@aj!o{ah(U^PUo^8(LRIU*`C8GNqu|F&lqBcUskw{6ShJgsgDab zZ&QCuDK2`~Qd7R#U2c1!fe1is?suhgCE1MQKTH0-`*nAN#pCDoy3}qrqlF;)PkolC8I$34{ zdd18vBg6KvMky@mO@4!_S21S~EYV2c-6dZfsby`KlF>(#HMm#Vc+2Q1MQ zwd}-HuTM*mc3x)-^!Xe!?YPNu2&~6yn()4X7uD~Yp7JZ~Ut?As`>aIzUiB&sdYSiF z(PJDV8xh4+ZPe!YuZ4{vI?oQ8IrYTVDJ;Gj0v8Uh)1>O+atyqanzR&abX{TFRe93VPA3Bk;RsLO2%WmaSZ`Zx?oy4c8CBYXzXe0h48~Gt$=_x{| z>zBAJ!M^Nz<3Vtfl7l)`bdHx$v>Ft09 zp_aYs$1gVMfT33N$Ha$0wl=6cnN**BhaSs*gcWa&I^jQ1{iO~Il+4qF4}L*b;yl*JbLf9;Ip|;zBc>l=H|WE z*9I!n!vKf@Q9;ryd7201XtM4Nd#ZGs+-O9fz4-3>O?P>9-F#obT;UIa zilBVTT7NKGFe&vNCr@w3lo~7g#46N@-Ir#Ck@BO4=nz2jr3p5t~MbhBPD ze&#Ufg_bo23%%Wm{dN6l?ZJl?-BDiB>+C%gwVWAHB=s28Wj8-K*-#939-lsY=6>Vn z?yjz`Y&T9XGoFYs*MvQ9jT`he^9)bG)Oq1?u;S@oZ_IVV2SRP>sTWJV5OY&SmHZHW zH&;gZl;Pz+<+_#f1Q!HFSRFi9H`fwO&e2YYFN_`Ngly%((ZMtrGPRs?kXS z)ABfH_GmPb?PNtKGBs(eFt$fk9TnFSl{Xg>OY}NS>pn_m!9t~D95slX$_?pUf9!xA z6l%GfuuZ)H^EQYvA4qCsqs1U;k31#PBKHH@f=-I zd2@8tOL|?q<`|D?ZtXO{W4o~(@i8O!^TaOR%*j?>(o5~UMGUlZLPJB7O=b(R$%hvqq^R#;DXGxk2D4tQaA~z^2!4aw;pXQ#PSgeRZ4(vOL1ZOMtaBKMdH0eisbougur>O+m5GSN+%wIi@E#h%s&t4)**6 zUdtVM$csJ=qDJOgz`#~jXn=(TVJ3SO&0HTZ09%~X!f5lg6;NrT(2&!tEUMo1woDVO zv>`f^)5YCpP>2HO0oqQ17awL0upeZ}_FMo&rX^?f#-Bqo-^)xzNv90)vMJ@H1A_gj zv=SZ;X=@r%SV+3C7ExtO@w4{8NIu9Bs*OB;J#SYVEe1<;Me^rls}JxptizJbCf&>< z&iYsRb-LBhq|*l2mQHL#CmyOd1@-IeC-fLq>ynh7EPv2?7&t3brd9T4&?-j7c zB*~Zl`AyGd znjSW4u>qBg@2mzL!PzZt2`!ki(=+ZDI}JR^5cO>B#lV=}yC#O%uK{i5`!=ujEw>Ro%`GSG{ti5vWpFMEw z@%((iHMO2HiZ4t-=po-xIn{_o`o zqcBEd$lUMos4Q|(*8%i_WMtpAiCYN{_6s`7sO1ev-c+XYK&2mwVQdG|*Tl5U%x`@v zaCk6A#IdWxxB@9RwP8bD>HPhgIA5Dix7AjkBM_U3$B z3jR`*d?xt((|Rm<$fRxejdDFgn|_8RpJ@9GJw(P-qz?k?74u2UCyoIzJeO&H1l)iL z{|4l_51sT8C>dqLBhL)~H@-evupf<|ane&DOPLu)V$IGvd&F)#IaKHF%uijf)v!;j zwn3IG#8PXCHqj@7BtKEU6FatS3Nwts}Smx#}8wpm)Q}iHy6Mhe^W>-(G^v%1~6^kDQ&sd=h^qB zm6NpRRf#bI(5=D8k7Nwd%oRZlq2<~RaGJdfde~Q#0X|{GQ|OQ1Nk~T!b6n_c;c^sP zPe|2_;X|*OM6ZNI<<-2NuKW@wAV+l+R>~H5{9e0nhqO1EBWYi)e;rx@{v_XvR5lN6 zK-FpaxLv&AKJMU8gE#j1n7-u|)TsoY@Re^Gc`ghn?x7l_?5H**!#4!@?_si~iBb%B zLP`MLe9|$mI-nN&Z`v^vQ6@Dgm!kK z9?--bq#T@ZuWs0&?sunW&wMvJHiK&OW)I)5{MazxW4@Cf_Od<$TvdVoLl+qlEj%uw zT?df9RXzMTKIQr!A8BtE9%ePq1Jy%do5&M2Wgoz_DOUChl z7wJoSR6R@D3k03JIS+)nG>QZ?v4T%_yhR^*DE>6|#rNi(GZEuj)PD{&#Kj~(?KKTP z3lm3Rg+%N>nwu6^OuOzfuF%h31krN=_;jU1O9!BuRLjrvXTn3EA@xo7A2a-h)OCKb zGY9k#nTl1tZEb+59__=Y`I?B4wXcm%EYWjF8yP^964<0)Z#RGlni8Y<@U*99=86G_+l)c~e3 zsC3`XB5E7Nu`r<06(hN%HCDnFDbXxw*l(1vw+^0LTIlHo*q-tc8QI>Zpa#mAicgE& z!Q8`vAFbe8{x0+TJUEuaV(xXcr*E5ahu9FZIN*fuMe|HBzsY9cyZ7WNq5ljnV}R58 zXnd-ZGJVzN^w!n8*~~Jh%9*O%vBY}N<`Fb#i5uT=x(PfKxZFsns6$KkXgn9iM@-MR z+F0<`bsod#6=BCGPo*D^R)(1{gwEB~r8XjHiKmDYLCYSYNt7%&gvUfo42gVFB4dzK zgiCL{bzlM-u1K~E7L&1n6`rPmf2)oC-R-c^Twg|>4%1%B5@(3d6$ugXj)uk%AgN!( z>*4w|8jR8qt&Xd9#&v%`nAR3-TW;#?=I5$(95aVUJYBROKS6hME$gc-lB15#cPW*N zHI&0R8+x&nhd3QRQwY9R-z;iER2?L1F=P0HVp~6l)+sd=et!N_@?)3Y4#B?vGWn?G zY}@1w(~GuKWIJ$C-(P>S{q-LE9P2pJW5@tDe$m4F!mhSQZAyQP9bA8Y3M`2%br-?? zDI#SC*~oEv)-E|sujHpbNB&4{*2XHf6x$lut2QUi>M@;2dL-ZCU648t(Ots3`cyI0 zxYe0P;n-I2UZCYY4odsB_TNM1FfQDW2sR+gi}R=>-@%Rx9aREV zq{e_lKgE3&v)BTcB|sp{Z!@+;C#fRsnB2-+2CXr5Aea`sg7PS;&uUv=ki zFVz2S3@hx@*2Pxz!;oHvdr$#cE&?gGo4k1ON}GGW$IrM$E`1;F?60&7{cHVljAslo zUO}Tj_Ec+2(Ghtj46GD&k1bl0f*UxS5AD$N=7TbCrRXQGnYYCx$ zAy?_g?Ayn{bRGk(^?JBZRGz;ErZg9~V*IY+0RK2gAMt*jI9GGAYLLeQB@!$6S61)? zy+g? z@aQxmDQ|TJ^c?dCF$2rC`lX1Eob*Xd^CjaO8w!qLHJTJM!5!1PAnkxk&tWP@TxqaG zgOp7^F@SbE(k9TvdxvhLeb$tUO>^Qba2sv_5`?Kwl^-7|f12-QX$3bq*V)&(j;;Evr z*B?I$y_RL+XzYk)J)071ArY5_Xo<%N2L3p}X)$n}HWX9g@)Xx%pwq;ZeqZoYF`E26 z&$KoLJ5*%>Vb>8K`uC&woZRUgALJ^r1r}`$QiD%^mE-ACUYvK>U0>aF=l)qoa>B@+pJIV#EJO$kn?Pwt8<9F`?;$qc9Z~mb-z^|l5=LzY;Ff6kaCM<1Jehj43DrY?Z?iWb zq8)>=6atYBRQmlPOW~Zy!l8dUYXh?QB zG!FdU0>-mKEL@ac2wp5ca(Gv}zGA`CH~jSJnt)8yBWVTeHeR!nyiqwG8IzE@ib*Tc z;!RkVp&#j2B;s8+u}%Q=CS$`rti13|v|a%0_j&EP^Yk=~xMz*4~hfcpKbqtpe z!l1tv5@SsISS@h{9>qE%%A!o>tMtQl%ET6Md5UW>&}m{yzb{aRkH@L+t*(@vVdpyX zk+v20H@u^x`ERk)%OU9}yC)dN4AX5j?gIy#R=$~O^K!@g)O46d$k zyEAR-PfwmHC%$7jfKBX8cXP`f94k%o$C&DFghc!(Ct(Zm@P2F=o;M4sH+;+J2*|zz zP{D68sI-XDm<`ql*yaKhvHJ<0`QK8A@~ z=+P2OwWx?1>6lW#hBY`-&B7ZM)bw3vh=>+J{;bR<#rFr-xv%afKT>e0Nc1{3bR_kC zyvfeHfl^$m`#-k_fn7_^t{Wrk0p{q(s~-y-oM5T!yPImmJlgj=ZPfQPzxnP-Y!uUj zh|>>Zo}7S=`3$qYj1pN6Y4e*QbbPT=G%d;g(H9aBw*-Ql0;PLZt=NV>)~e+kw4Hu7^=@^Bp% zbzI-(eJ_-rW!`|AYFe`aWSnM+`yzyzPI^;Fq-{{?iu7d~66PFF6|}SS;>E(sTn;jg*@J?fqwc-dWur_DVB5A zpq4RL-Ut%tk4;L;(133W^q1$bX=q|A$UMa$W?l;7-?2KU1q+qnm*nZp&gO{6`B+2{ zvO@_Qfy4Z@#*NQrAX#sf%10lkY_HJJ@;*4`{jevlFA@&8yY)Y0N6k$zm##aH=mNm$078H%po+`howONM5eYw=2r^zx)O>&n!k)g zwznbqpax`lbI81DFbYl7^B3S!^})PZWyjv6TyRJ2+K{SggT-G*5OF`7R{qn!@%5e*7Ci%t2D0qRoM?ESH(f6rC$9NK)`r-!h~QOoE<^8p+6 zC@?pfLtw)@4LBAC(!mPz+QiVJaGsbQsC5(++lF%lrTs@4@`+ddH!TmCHa}UunGM?f z)>sPRckqz#gcezz{LFSa5hqB8jPw=e>Q<4t{lT&h&30TwP-yHqkjKF9>zKp@IVe~_ zoSZ%L&)m^&VF5^yMc2)3cX4sym&HZ>=S$B4wh4J4_oB@l!_f81AU;{yciB$pQ54DK z5%~pkj1TH%A1z7tG9-os(gZJ>Tn}s@AbyJhb*Bwzllr1QV?$91*R$C~-LyB7CSZ@i zBmeki`*x}or19O;;eC(>{IoTt2jEM>6!j*S_*ilqP)7QJc9yvgRR^R_@+)L>uRgu7 zyNA^)Xj+gB48Od=%k$`ro7UdDTVFskl=kS#8-9htzhPhdY#w>~j4{IpmI%ym(vJZY zJpISy|ZUN97zuOL)+?XXB_So?i6l`W%vF-;b4zbf71y&;Q1+{6Q zO=&I3$&Q1dv&d?YT$DxJ#&-)ofNSu1PT{Wo)S&&~{1;DJc%I~<1TV!!zQQJg$7cq5 zn|aT3pX|+rImG!A!l@Eg;kxJ}&+h?_Y0}A9)_*AaHAgGL)8HD!_zxi;52>fXdMT*< z3>o{6PG64!o636(q*oL*r2%xhk^JDr_~p~{ZsP;f`d}`IoK-kq@qBK8yt(|bAM5G& zj@I8UE$LBTKFo{if6}F-2g5cPcS#FN^t(frvMn$QsZh&u!g(R*CQP{|I2_{*N>>|6 zuLbs6FkN|0MeukguOVjM0Q_3kwshL7G^q9}e{0l&)*z3yDclyqsE%9OoWgptxA#B( zU;dx>EVMkx9JNxiihX*>^JnYrl?{?m)3)i7qN8H-Nd@(1vGBxld?*PgY*-+R641%e zSWTuPI4-!^3EN&!QbsE;vIhN36W2xiphF$_1ITG$Q-7USDTlUT)5uBMZ(Y}k`i2*5 zU0rnD^?BD_yzXu$~o9|9jov`~832edm+kk;qZU-4iOv0^?FPfB08_-u=~2e`tIB-mz<@ z`Y{NiHk1dG6lE$qirEb)qGwzFXk^IFs`{niA#`mu;J=XZ$hg;46Cx=Jf zfi}}>+3r|=9UUF{1(LUtLy39)j*Xb?(I0$Gh2O3}*}v<4>sNoN`#Zn$TjKL#Rr<

Lz)MWyyt)eBnSrqXtQWdmz_Wh* zcSl-FcS7fK%xL4 zm*Iq2_>k@`7#Y|_bR91Gh8v5}o~6VKeitMj2U<>|ly+sbvrKQ5ndzB(cS+ z@B@JME*2K5vK_KA_zX>*f-~?M;P-V*sa|;5k2uCKS8NNFUWX;SU|Snt$xf_Tx5F-7 zyUy>#HZn`trS9*7aj)UAIAXb9bBwfjESm@&{&OrCGmSZ2y&>&su^`vurWGpvL6CJ` zz|`N3*tRmtOSap&CBl`a*xJ;eGd|KoZL>B)$eT3w{{8>;|E0N29EFT4;$#*`nor+d zCB~8BOrB_bvVqy`rWOC(SVQlgGP$D6iMPVGCB>rOWhyo;c5dR#H#MfcF~wiW)xnr$ zgl$A3FOsP}O~(nsRJ&@= zV}JgtyL7FR*Y>sOcylhfC%@7Cm;dO$ z>CUvV(UL(r_!w=@WB5P#;Sai>eEOHNqdzg-b1XPyGNg9j*yr1&r*hHnvEbm!K6S|# zIXH4X8r{I7&0l==dH3r4wd}=RjMn4IlecR8{$&tTNUYCNCH%cpk;v1xzWd*JZ0!H= z_y4H-=;<$aKl<@sb#LCjMJeP&Efta81dXjsC8#ew61g#6iSN2s+StE7|2p1r(1thm zG)N-hfi<63Dr-q>Z=#Vkn%6uk2c4@ zD2uyOv{BT1wM^FC9#^8%GW3b&li&E|-|GI!AN>n$@?Ug+`se?t``PC|)!1g-xTWb~ zYeu_NzXG(`l#6Wj!sA^+Y;N9aoPPEC3ms>C&pwW$<&FJZKZ1ddwrOqc@i0Z&C2!uw zD*a)ReKYu>`B43t7i-+cV)F|IZ0wO@`xIT0em_2j@uXuzh26CcDg!FGW32OpxshHv zVq?F5az459 zPd;k&p-bCS_qMS=R6R})yY9)+es`q#c7IPhddc11^H_eA>vNFG<;^;q;dpZ-JC@~_X1D;wOMee^E~9pobJX#WgME|jLoN!) z0Je^LI{Z04KJJbc(<+qNYA#wMNq*D5v~`vl=Y0Aiy!Qv^a>W$qaSL0C7#raea2g>Y zJ_jTpAh(1nH$r7M^{B}Jw|jCFnXUqY%U&+N2kQppkgsbuDAYHtO(@19P0sT(p|NT; z;qi&Tu$^AhM%w`GT`Z(K==44aNl)_uG;L#7sZd)_WG}$Z_A}k*L|(09%BSrqvJcW` z0-B3pj!7$|jU{>;3?+=QWFuCr%>$E_R^S7_TeK}uZI+BmC*VC4b9UF!4*~iP^pTAW zmOKM9K1%-$vf^Z8mG-R1W8^cwQa<{kX&Fd!{Eg7e854T&B-c%Z^_ZBLrFX%KzmEwy zh51^uNp=bpiPW)#;6;Zf&w~Sgu?ym= zyG=L@lZNDBkmg^sC-5-ph>fxzD>EN~$PNo*de!eZp=OMFg-hVy8Iw%u^i`m6XKUbz z=48v_9)r2DH+|ji*t1!=zUcN9?tRBz8+&c)Z?w7h#{RP0u~+PkJsVV6#TWXJMVpIu zxk0mF<4*opuW!23PyUuR_WxFkh?mmhehgq5Kj_ZS-*$iY=YQIL`o&MM7osSfFZM_t3; z*gW7{Nb;$1xnW~Zv(t;{))G#&(EgjhrSboJ|3vM5-2KP@^k-`GuO+0TKw}44w#}4H z+l1B_^yw;BdX^7lK3}bP{pOqQo3~%dF8vqt*7C+4z$efrDMKFfMxnK!55TOt6?1%e z&Bo6Gv}-OP>$vkBd+r?pV#l_tS5+$(N#JZ*CanI%jHZ z+9lbHZKuj~zr_sZgFqOMz{W$-x=xCwMYy<=j4|S<8W3}?q%9uDarn|~q?slceQk~r zV*mn?*tGkih4?=5H8=aB4JU&TYn$vSGs=z4H@SOimyn`pwFegnly`90Vu{7({;)ez z+xz`F;**YFALzQ{BOM2}eeVkZJPC0m{S$5SPfm}Wk88f5K{+bU z&N>Q<7r_PB&GmB4M_5wp<5|wr%BAU}ER>NiK%f zo;fxctC%5Rk8jkixZF_NcN6SikXs{*t$H!q0>o9ubo(HRu^i}ai067)A#+>)q&`FL zDuy*WYJ;ASe=at)d_FUGO7DWPX9Je(2?9hz{WjUbIQ*KgWV$R*t*)q%WGb0XL5~LySz4m&YK0Ka6?o4(Cm5DC9=8?%+_ln+(D)` z_#PW5wFgF91u269ax?9GtjQy zHz)VlsQzWSp!lOYGhZ2Vofyfy}05lYHBZN&T-dQoGUptu_pgGZwhWJP1b%= zO+3~MZhb!5UGGTqiHGD)`m&gr+}7pnik;Br}p*Ti5~~(d;uUg@}}h{n|ywv&=&$uPJB`3 zEinXd{z7!gkUiQlky#q^*H1rDB7RA?bM>plFeh>s{^n z>(Fd`K(tnBZ7{?=n!}D3Tx(S`w();XBK-h0f3vm6MeU!dAAKDapyz$l$lBmEy0x4{ zs?FtXLiG>4i>)b^s*|>d{5Yycd^JWMw<}`6T78A7edFM|(t3o-+pY zYbNoNMucF#Fh>)Eq}R!UN&|e4xqCt@APZc-IY`L%CN_d-c?vyiBA0Z^fs{=o-*M5Y zh&;yeSR2{2?fBpS-`mEXL_5i58l-xrr-(b&c%g&}i<3bdKupBe&w(K1qAmwi#h5o7 zgjtDxV~?1NiRs-ZCX(W}huBsc1>12^VUi(`*VkbKXd^$KNWCc^e>kbLXoMEuckT&V zMEQ|OZS42i*k7=zXLJ9JAI0~^o;&vE=iMzE`)d|hamOBKs228puTvGWeFe9Z7GXR( z`Lj3I-LL%4A9ug|xBj?0-GA!0?8e3(`L6ry^PhA-_=`W$rdb;iFFvG;44ILlQl|TM zE~DG!DaNmxn@cS!&a{9y4E;eYe2P|-eE7PA%xlGVm)95Fr(dwq<|p~WZ`&$+1O@+Uubd#rJ@VWpG_qMxWs-+q)RnsM>@ zm!GSCZ;|p?4SS@BH*M^b4>Epi)aApjWmJDFmiQp+6`+l{o9~NYKBib~x6BDr6RV6j z7MxFxPP^a#y?@gEo!|Za?(45#bwBvQpK4?OO~=c?K-4N)SjKygVurJ&Azv6%(DYj9 z(Wh4$t6zNesefg{{hZ>K?GpvkZ{@~tfBCQj?j!PpY zzT{$K&m+enL6ze>_H|?bevxH+`-U%?kJW3@t8$1Mr2kQy0RtZ@#slXUzkObt`)xM% z?*e?sy1f+b4cYCb=Pl3gItO?Y$EHs-cYT?cFS)C)4Rx$MWJ3{`GVYjPwXr@{^Z(LE zXWbwD{om~l_(~Zq;&zf9N>g#PPgG6%8fM%<{{An0-{o>1p&@4K4&Uis-LjW*VFtYn`AE?($BCD{PuaSJQz_P zxKT~0L&!y)eEjvYQ9tGpX2xdi$uxSxiE{=!V-Q3_M_471L;d1@*`Ry z%U<$#QC5rvm04_(^)bIB)O?_gr^oWN{rZhP@JYekNT;18P_bAfiJ&0T>U;=JkeG4# zX^*r{IC%o-p~RSj3P2!nwAf@mMLY>+ze<0L_dMF@7{ z@%uR4L&Nvo3@ujf*#P9m{*t@&3fg$wcyk{c`EB+sT^dWhd2c7OR-Kj{AAM}OK~-^ma8L_52` zI4F@(ecX?(ocv_~SqPue!avlkUeq`)Mpr7oqYS1tuf5 zpw%Uvu^#;wFN6E?t1r8&TlKxU5^MFsCtiz)gRK?G#eguS`{@|QBO{j&yV|clLC3KW zA!#tRnKFSG>n!$J*vG}OI*uw*6N?;&v9Ukt{_!9Di|%j!_CM%8{q*zh2Y>Nr-5VWa zd)_>7Y2R6WUl1-;Z?vwbR||{ayD~=Mr|z?kbH>hA1`W z1$nf=iFTF0{PEN7_y6wS@E5n(9J-);zNapE(YM^$_9IU>O5bbachY_DyWjOO$Jgn6 z9@P27>pEG9S&UYaDdlk<yl1tnAoJ z3&#BEr{AO%W}-i$CVYiJ9yd3+Y0t)*yhG{ark{=di8l7!<)@DiPnA|b^Q6Y08E>Q*QGJt}4&R7cjPB z4d$ATV69cQ+h*xk0k*|bneP+PN&&Y;kh92Eo5C))j7|P8<<8j!>#aRLsvpy`GjGa| zbaFTMA$I2Ki&kpZe%XYfWQR zjw#POPL0a?U(3dR$sTRpl9sRZI=E?jp(H{(?2G3qacqga%Gvu5|KtB#>6mtzyv$S_ z)F7Pc1Tt~gHaa`5Op{EFW>5d-h~~lp@+ncvTLn_Xf#?|BRt_5Zef#W;DIMTMpig~- zKh!NU=gJ-Y&v+_>PazkZ60xBDn0oNN=+J^979LtmUGW|J^RCkdmdEhf*k3!m?l<<+ zJN98;K{i3l z@Xs`2Vv}PVvKv?5sg3GG6N9m2i>p_!^%Kg6xry4Vc!)(C?~pV|qeUSv-pW&;R&ebl2wx-H(6z z6HPwjMZ+>`NmI18iV8WVMEZ_LVtL#D&E2J?+OozWT8@n@6t-&_NhhE1zTl}uct|-@ zf59AG?UIgs_rEqPezceiV6+|W*xE0TPgraU^2m*`J8bO#`5*tA?$>|iZ+AcW$u=0bz{yR z201~LgC`Z)cNHP`VNlyFKcjSF-eKXdA~pE?!pt4HuveSCZ^U?_rPOv0-q=IsMk&54 zea}-%)_BA^;A`^qhB{OT%>CFVYw7#rx^^1XY-N84^PmE)7pn~F6U1k{r84Hc{&%;27FE6;^L~ix{Rj* zt}bu7b1tfjj~u3XuYfPk-}7X`z4EZ7^Rj5}hWiOR%E!L+0Hfnx^1K{4&t3fayxkVR z32M$*O0+6E@Ijop<`uXZf>d6W@`yI&mmTsGe@eCI7WzLlI2LI4@FGeGyE&gplKEE5 zql5kKsW$ni+V~%9j^XHe&>J-l`)?V==~WM)DTO_Hdw`X{ml+X~Y3f4*Zspz3Urb^r82 zapd-M7G-g=n}A%;@=Xl1jeTU+1y{<1;d$g>pn|c09(c9WJvf-$u~Y|(qM@XDq&>$9 zqm4Z*{bgrRu}TM20(|P^aw8paFEl}$3Y)DlI0%$wUl3@q77#Q#94`vIn9yQC3$6Mc z`?zEOwO^ihE&A$$&3@h3v(b^AsGKJve_N8If}e!YACDToy4>qt-#+dB@jv_DcTb-F zYIk^-8+!tGCT{&0{*QkA7dpvOC;hc61lR&Y8w@PsbVyO%FNmJZ*= zWUQndGA7)%y>3rTF_eYvZ(e`hef{POC0Kkh3CDs%sYMfbOJ8wp-OFCrD=s)f_efjm5N?n<|`^LV)#@_?# zRR54Ns-LO9&Uf-6pRqUI*h^Alfbld1vhk-}36f@^`0VJk`Td3I%(;lz#M2+C&G=0H@Paar2}Y1))`Sp0R_*z?DIP&Uzg6{%C8zvuh> zae(hwx0j;FckET8(Z>FyJJ#mw+CNRld}9mYp%T=XzSz^biI=_qhBo$p|95{)b)qHQ z8tRYS*oz~Z{f1xR#f#_NM=xKv50Q_)Q;=MYO)MzK$4el(x5*)8u_y~<&UT1C$o}*v z?IWM5C1sJ7`5?!a&nG6Mzc@cfVBVo!6y%m~6iCYFV9{^60B{{o0`NjYzT&{9|4Qd} zo*v+00kYSUxz?ut@=9sW{R+g`a%;4<8rlQ@TdPqAc*?YVb3dezOB<0GAMsJ2z|gMT z_16jCbY6z=9}Y+)wPN%q54d%Laz8g&+LUvsQgA&6)X!YdIX>k3{TvhgDu8G)c@My$ zHvXq)N8Ph0Pr9d1&bl+c2B2exjXpmw$S(mL`2~Zti-Oz11vWt7bEL+go>A8d`-!X3 z(4+SD;7Bxn)aC<0McFU8;qy;puS4x?ye~Ca0rsXgEw8fH=~XPrE%~~w-N!=pV_J6R zP5F@?xOEuJVXhqkYN9j~kfnSh6I^ zpbTvJ0&wFe4JZpA$`gDWJD`u*-QQ|$yTwvP?vBe8kvOuSTu@e!2oVHul$LW6uQv76z^x_7wc0B+7v;K3Bc3?+?0fF1qgR{YTwD`RCf$Kly%l zz*~(~rP$cV0_9Ks^#9lW^s~S6#y)NG$G;)DSeoe%+hTFrakd(hb2tn1Pe1)xcY1Qz zz0k(q8eTjg9dh}o+t8+AZyw}D-H5+={Z;qs?N?&Q#vU)YnhzD9^9WxfhH%}|CHdhh zD~*i<>Y~Iy`{RGvoxi&2KKt?ul@+oTE>HhajWnh(BO8!Lleg;@q;7Zq`ofpre5sVi z0z9(YXUJ(R%cn5SXDe@o=C~vd$;U;V>K|&~Q+$v;s{a-6Bac2>x??|uk5~UGS2Cno zL_R-x(*5gy`M=fp|6cc>{_F?c7hiwojeWdNBV@4{r82Gt{qRB_Hkm2v#vVnE&9A=x zqI+}sS{`zlMt1D4C}ew!6}2wp&y|!2FXw^YR5$ysVovUTpl>~eLUX`z?5f>j(^NP1 zu_^vGZ0voJt&M?ft*JMa56u>mF|l``&GbQRDChh9VMt3+E^Qb*d#S|g#{S5gDITpp zI@ZSi@X(u3zK3C5MCOYPn%JdNR)ib zG6KkClYi6Z3ixs1hD|*>aVLv8nhSX1Yy1G(9udxYoEzW1Iqxp6ZoBhK!e#gR_1o@e zpMBQ7QtTH5N;}FE&{K4SPtfw0LxyuOpS+(xo`zFiM6|YbNH$hOv}su8Gs?Q#i(j3H zu7tz+C$-ZOfR4IH2_X;s5?DwHD5iG?cJMKM!q^6T)jLGjiO*JX4W?}hmh8{j-r)LsLG@!=K6!IK1#ifi zsrCriS*mZUZZT?lq|Ti0bLH%U4OJPn2{bE_^c{ZYJCufrLs%a06SZXJ_zYc@9&cD5F>`dlB~ie8bCMo5q}QupCv;|kmT%zpJ_A2MjQM8 zz{Xyk$6s(bx%H{uZqbp5CMI<{F&o)TdvLS?65sg>EptTLDz>XJ!TDCTD?-?-2>UUl z{9>Sn*a!;Ji<4u(K2aPAiDViMbT0g(%s~%K%f^6N66@axue9Z$ozGQ%HMvfF_~h@F zY9qixk~{X@)!X(czBcpickKO0zBcw(=jVP=5I>QJ-gIN{6T5gUCVXK*HNDa4^2>9r z^NxSL`=dYp-*m^PA1U+Dca;D-Z{EJ?{^OtiFWon<*j%!-qY@IscB^tvQ;*1QX;?5+ z7j2Y2`|QU$5kKpmKYJ-YZI@HT1K^{FmnzYZ_uZG;jGbS;a(Pi^AbkXt&-l#E8I3ZM z<3oH{v9YIjw7}2@o3KCrNB^|@`s=Ii&6_s}BK;`Hu?b=^a_gU6d;Run`<_o>;A@ns zK8-^(oHidPv#w3bX=r$a$42(!L+po-yXm15dbAN2bKFZFOV+v#9J)4QaO zwYmD0@BXs-^uO*7_Mdlu_Gf?Eef>IqhAx3;9xIW2Fwnoey6C>vvGn%(b*nLU71Teb zW((n1jxlJj^-o>|cew(^&I&tC^F<$QC6pEhU|Gi({|lE5Y4uJm>EC{r;ghc<&2Y zHXk|OIXBct@jLmz6A+w}cq2ZWFP;+OZgIe)(%sEhN7&f&^J~Wkcir#&+V{G@`J2C_ zy!f6xbE)r|Vi#cEr81Y@b>I2!cQp4ui!3SR=#8&Sp=%W#dBa$(=T+CGA^9=Sm5en= z`%|Eu=e24oY!8SsX^rUHX+9~>&1p*Vyq9CHOzwfBkZT_!$&@>wkHD+r7Qi7*)%24Ts}|uMXfCbC?RVJ+B8u zlg0Lw@>v_We&Je=cyu%RHE!IHo3#qb_zYgO&X{r;7E()_puVB!3qWp>K|VmPj( z7QzzqcJTO=TgIW{)8j*L>YtpQ`Z0eV@qc#83joi$v$M1A^z^7ZJUa5lf_-i5-S*P; zr5#nA@f)6rN1rH7v&An+ge>Qq@GZuyV?Lc(>8zjr5Y+!x7XoGwHE%|DKrJnN*&X3} z^gXgp~66)uahLIXB=4;>|`d&+xkS-9B>vM-A`j9`R>4EaRR zrMTt?1HH;MTaASc-@)c2!im*)TC~7bxYOe5juX7X-8C-<;x0Yk-_uD@vMi#op9m`2 zJjkfS&D~!2_NwcifBfs+_kZQLyZwU`=S3UD=PPaOKmYtwEjT2Y{tl)KqJ0xXYhaQE z#C3Om{zfNPEgp}ws1=_@05_F?&kWw`{JuFy!r0O zdV@^|xg!QGW;-^9{LCFMqNJAt>5a)5q#PC`U>Q-X9li$R`fNtpCJuU3S}A)sKL#w> ziyZl@DCTX>4gnV1esSId%X}#85%Vf@F%uoWMb@YuNfY~PJflo{kBtM1Bh^9mV6*VP zP)+9ub6aYI?%BlW(`Zj#6v=n&x!`%jJ6c>hJ{WUR4eMyGWnsr%`tQ7a+I{>Yejd+t zqrmt#ys-^RdH3D3XHWbcYvkgtY#gU4-|I&6Mvy?#z)!a{rCc3wsHV)i0MHrnZ7a*D zbmWaf@=HF5&w+1VEe5SKW_){8{(opMBo_=%=4`Kl${l?yr9OdG}+{pMSI@dMVf!l}RebQg{c5@huqPY5Xb0ImsF`ko;g} z9yK3(>!k;5E4L15BaeZE>-vH481(>;WoI2IV^cZXfn~*-m+#N`2Iu?pZ zpBV8P%xe6RO8cn1jo3+ecVIsK>Z3|GK-a$OX?>V(j4HD&wvq2;iZE^O3zHDg;(0&l zd1)R8|K0yl8+#TB1@)v?72)Rw6PiKdlw#x}r|IZ~VtxyL`ITw2@yWK*UT6jFiL}WC zhCIiO9CWkH89(%itso)NkCaS$Y>&KAvPT*V-6>or@`y3OrhaZ?f2H{5QtLEr?6o-H z%Kg&DKJVCupAoLLv43-U-+l7^-|4>dy=)qVcOr#iXGcH8WPiD)Mf zzP5yr`~-Jrxa)Rt@wR*NwcDpG)+&}Do?U#SE`;A}w?e6WH ztM1FM`F;6Ii-vSyXwB_`{N6nmufj+CyS>#yQhmxB@dtaw@@yfY4?H@XOpf905c=C8 z?V?lYR-U<~?A`n*Sg;rAplCC1MjL)!8+#n_Jh$b>9&nWA++oOPj&bF9>7f$Sh3{`P6;=1i^2CM?Q{O-_`s8hDwWzw&T-)xCQ4s(bsE zP5s;W-n}-Ld=H-y~D*rAR*=dR7W$e8R$8)9?MtXub_Ctrnbl!irPM=Ko z(8J`=XdxFie&pGdz=oa^m$V{R^4{b(nzEW+AezUI~!4KSCKB``haa-}z&6&&HmU zuG2aJ<>ubs@hfE#xy_n$EaWb4xMP3NegD`0i|(V3zpp&CI43X*v*_IKzR^a9H_qqd zu+5yk&-TbR1F-x(jTT&{obYBwezLLW_mcayI=V$ak*?N|uuYT{Vdh2)r1J}Y=RF>+ zb4FsK*N2ut(UDSGe0nq8;Z#ohWqMDWv6JJ|?)d0bDNgE>vbF@{q!m0t_~0OLq2l~P z?WWBjz!xUfIG&<(+iEHtapR{z!cLeA`u*TtY~!;&shl0%#?~Nb73nhW15y8B9AJNt z2YF&5;>AtB{{7$RzW1G9>t4OS=)U^uXa0S8j={X>7{_6?upOdQ>J{nxz1!~X#T)l& ze5ob+Frd-4SU|Lm>tPw_n0K~E)L}Pd8R)hn!+uQZcSBTZsC$RZ4G+F^T9F+rEODd7QWsP{R}OZ+LbhIcf+0e ztIO`q+w<LXWY<1y5&K zmN(f4H4fm$Z5p-HxJ1W|V1{KfP-oUGJk%eh(g%!TtvB|LTG%)5R=jJiL(Z?cxpC8d zqmBHRuP(dKwCVr!%U9h`zxby6@z1{Oe)yBm9De%Qmwp1^>o@AVx9UUbu<74ZoBDkT zDod*`k8O^r_^N~IC`Nb^Aw3;DjE^`bf{vU(^#3xdto8db5y*4hy8shdu`dcSo_{g% z?ya#IZmS>{u}wa0{8;{OHbJt5cr8I4_W9kC!wcoAY2I`5<+PHlgaF5$QTpw3N;RVV1ed1phtS9s7Z0swGi^ zjLudemJ6ET6G8~~P9x(JeY5Gd4@MR7NX8;-76L%u|{tgr2PN%AN$NpZMJm0Y&ZS2|X$D`r?j=prJ zyJ#ExU-^x{(>;6sT?xetb7%<`?CSUKvoAjFUTI_R@Bb@pPca73jE+l+EX(;r`4Zrc zI`um{dn&uJxSQ+89+?$_Em7c+9%b|WYJMNT(*gsG#Mc$k=V7Jwdy(%;Xo7r~l#Tt< zC(o72%T7h%p{OPrjqMxtH@|t#*BJ1_U8;V`gB+fg6+zm^;rI&gozvV8`u*VDY`Y!% z&WKiD4`hqH8pbaL%e1g=Y-JvE&&lC&_Zz?dyIQn+=*7Fz7pZl?Hc${18QHUCl%x#V* zVIUerFUgL>@W&?8>xxN8jQPudG@WHyJ>xUtte5L8Io^8Dcje!nYeT4wJa^^!3Dc`< zwKL~xUx3GC*j8`oGi(JX5(AH8Mg+$We)M^&8K%Vd23llbuwj}fh+IZ~%4geAT7kP~ zTtGO{hM$X`glA`G+W2c@|C~qtUv%Gj`J(&Y#~&$v-hKSysh`~VMB%&7pLjexJ>jW= zeJxyX{ba|{K0lABaicWb?zYty9S_&D&33)at068T