diff --git a/ReportImp/KontaktUndKrisenhilfeReports/Invoicing/KuKLWLSettlementInvoiceCreation.cs b/ReportImp/KontaktUndKrisenhilfeReports/Invoicing/KuKLWLSettlementInvoiceCreation.cs index ff8a73811..27cff9bdd 100644 --- a/ReportImp/KontaktUndKrisenhilfeReports/Invoicing/KuKLWLSettlementInvoiceCreation.cs +++ b/ReportImp/KontaktUndKrisenhilfeReports/Invoicing/KuKLWLSettlementInvoiceCreation.cs @@ -464,6 +464,7 @@ namespace KontaktUndKrisenhilfe.Invoicing { decimal maxApprovedFls = si.ApprovedFLS ?? 0; + InvoiceItemDC gekapptesItem = null; foreach (var ii in si.InvoiceItems) { if (ii.UnitCount.HasValue) @@ -483,12 +484,18 @@ namespace KontaktUndKrisenhilfe.Invoicing if (ii.AmountPerUnit.HasValue) { + var unitCountVoll = ii.UnitCount; if (!String.IsNullOrEmpty(ii.ItemDescription) && ii.ItemDescription == "Fehlkontakte") { ii.AmountPerUnit = ii.AmountPerUnit * ii.ProzentAbrechenbar / 100; } else { + // Wenn in einem Bewilligungszeitraum ein Teil der Stunden gekappt wird, Item aufteilen in eins was berechnet wird und in eins was 0 EUR hat + if (Math.Round((ii.UnitCount ?? 0) * rf, 2, MidpointRounding.AwayFromZero) - countMitFactor > 0 && countMitFactor != 0) + { + gekapptesItem = CopyItem(ii, Math.Round((ii.UnitCount ?? 0) * rf, 2, MidpointRounding.AwayFromZero) - countMitFactor); + } ii.UnitCount = countMitFactor; } @@ -499,6 +506,8 @@ namespace KontaktUndKrisenhilfe.Invoicing ii.GrossAmountTotal = Math.Round(ii.AmountTotal.Value, 2, MidpointRounding.AwayFromZero); } + else + ii.UnitCount = unitCountVoll; // UnitCount wird auf Abrechnung benötigt, aber Endbetrag dieser Items 0 EUR (durch max. Std. bei Bewilligung gekappt) } if (ii.MaxApprovedUnitCount < ii.UnitCount) @@ -507,7 +516,39 @@ namespace KontaktUndKrisenhilfe.Invoicing } } } - } + if (gekapptesItem != null) + { + si.InvoiceItems.Add(gekapptesItem); + si.InvoiceItems.OrderBy(ii => ii.ItemPeriodStart); + } + } + + private InvoiceItemDC CopyItem(InvoiceItemDC ii, decimal stundenOhneBetrag) + { + return new InvoiceItemDC() + { + AccountingInterval = ii.AccountingInterval, + AmountPerUnit = ii.AmountPerUnit, + AmountTotal = ii.AmountTotal, + ApprovalUnit = ii.ApprovalUnit, + ApprovedPerUnit = ii.ApprovedPerUnit, + GrossAmountTotal = null, + ItemDescription = ii.ItemDescription, + ItemPeriodEnd = ii.ItemPeriodEnd, + ItemPeriodStart = ii.ItemPeriodStart, + MaxApprovedAmount = ii.MaxApprovedAmount, + MaxApprovedUnitCount = ii.MaxApprovedUnitCount, + Notice = ii.Notice, + ProzentAbrechenbar = ii.ProzentAbrechenbar, + RateFactor = ii.RateFactor, + ReceivedAmount = ii.ReceivedAmount, + ServiceRecord = ii.ServiceRecord, + SupportConceptApprovalPeriodOid = ii.SupportConceptApprovalPeriodOid, + UnitCount = stundenOhneBetrag, + UnitCountBudget = stundenOhneBetrag, + UnitDescription = ii.UnitDescription + }; + } public override IList CreateApprovalPeriods(Settlement2DC si, CostBearer2SupportConcept c2s) { diff --git a/ReportImp/KontaktUndKrisenhilfeReports/SettlementReport2.Designer.cs b/ReportImp/KontaktUndKrisenhilfeReports/SettlementReport2.Designer.cs index 0ca378a1b..1416bf391 100644 --- a/ReportImp/KontaktUndKrisenhilfeReports/SettlementReport2.Designer.cs +++ b/ReportImp/KontaktUndKrisenhilfeReports/SettlementReport2.Designer.cs @@ -49,7 +49,6 @@ namespace BeWo.KontaktUndKrisenhilfeReports.Neu this.ruleOldAmountNotNull = new DevExpress.XtraReports.UI.FormattingRule(); this.ruleOldAmountNull = new DevExpress.XtraReports.UI.FormattingRule(); this.ZwischensummeI = new DevExpress.XtraReports.UI.CalculatedField(); - this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components); this.ZwischensummeII = new DevExpress.XtraReports.UI.CalculatedField(); this.fieldSenderEMail = new DevExpress.XtraReports.UI.CalculatedField(); this.fieldApprovedAmountWithOldFLS = new DevExpress.XtraReports.UI.CalculatedField(); @@ -86,17 +85,18 @@ namespace BeWo.KontaktUndKrisenhilfeReports.Neu this.xrLabel15 = new DevExpress.XtraReports.UI.XRLabel(); this.xrRichText9 = new DevExpress.XtraReports.UI.XRRichText(); this.xrLine2 = new DevExpress.XtraReports.UI.XRLine(); + this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components); ((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrRichText6)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrRichText5)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrRichText3)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrRichText4)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrRichText17)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTable6)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrRichText7)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrRichText8)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrRichText9)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this)).BeginInit(); // // Detail @@ -252,10 +252,6 @@ namespace BeWo.KontaktUndKrisenhilfeReports.Neu this.ZwischensummeI.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal; this.ZwischensummeI.Name = "ZwischensummeI"; // - // bindingSource1 - // - this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.Settlement2RO); - // // ZwischensummeII // this.ZwischensummeII.Expression = "[AmountTotalWithNewHourlyRate] - [AmountTotalAdvancedPaidWithNewHourlyRate]"; @@ -335,7 +331,8 @@ namespace BeWo.KontaktUndKrisenhilfeReports.Neu this.Detail2.HeightF = 16F; this.Detail2.Name = "Detail2"; this.Detail2.SortFields.AddRange(new DevExpress.XtraReports.UI.GroupField[] { - new DevExpress.XtraReports.UI.GroupField("PeriodStartDate", DevExpress.XtraReports.UI.XRColumnSortOrder.Ascending)}); + new DevExpress.XtraReports.UI.GroupField("PeriodStartDate", DevExpress.XtraReports.UI.XRColumnSortOrder.Ascending), + new DevExpress.XtraReports.UI.GroupField("GrossAmountTotal", DevExpress.XtraReports.UI.XRColumnSortOrder.Descending)}); // // xrRichText17 // @@ -347,7 +344,7 @@ namespace BeWo.KontaktUndKrisenhilfeReports.Neu // xrLabel21 // this.xrLabel21.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { - new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceItems.GrossAmountTotal", "{0:c}")}); + new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceItems.DetailDescription", "{0:c}")}); this.xrLabel21.Font = new System.Drawing.Font("Arial", 9F); this.xrLabel21.LocationFloat = new DevExpress.Utils.PointFloat(549.0001F, 0F); this.xrLabel21.Name = "xrLabel21"; @@ -619,6 +616,10 @@ namespace BeWo.KontaktUndKrisenhilfeReports.Neu this.xrLine2.SizeF = new System.Drawing.SizeF(200F, 2F); this.xrLine2.StylePriority.UseBorders = false; // + // bindingSource1 + // + this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.Settlement2RO); + // // lblClaimText // this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { @@ -653,12 +654,12 @@ namespace BeWo.KontaktUndKrisenhilfeReports.Neu ((System.ComponentModel.ISupportInitialize)(this.xrRichText5)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.xrRichText3)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.xrRichText4)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.xrRichText17)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTable6)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.xrRichText7)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.xrRichText8)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.xrRichText9)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this)).EndInit(); } diff --git a/ReportImp/KontaktUndKrisenhilfeReports/SettlementReport2.cs b/ReportImp/KontaktUndKrisenhilfeReports/SettlementReport2.cs index 348760617..f4b9abf92 100644 --- a/ReportImp/KontaktUndKrisenhilfeReports/SettlementReport2.cs +++ b/ReportImp/KontaktUndKrisenhilfeReports/SettlementReport2.cs @@ -8,6 +8,7 @@ using BeWo.Report; using BS.Shared.Extensions; using BeWo.Data.Access; using BeWo.Data.Entities; +using System.Linq; namespace BeWo.KontaktUndKrisenhilfeReports.Neu { @@ -30,15 +31,14 @@ namespace BeWo.KontaktUndKrisenhilfeReports.Neu lblClaim.Text = "Betrag:"; } - string period = null; - string betrag = null; + string period = ""; + string betrag = ""; if (pRO.InvoiceItems != null) { for (int i = pRO.InvoiceItems.Count - 1; i >= 0; i--) { - if (pRO.InvoiceItems[i].GrossAmountTotal == null) - pRO.InvoiceItems.RemoveAt(i); + pRO.InvoiceItems[i].DetailDescription = pRO.InvoiceItems[i].GrossAmountTotal != null ? string.Format("{0:c}", pRO.InvoiceItems[i].GrossAmountTotal.Value) : "gekappt"; } foreach (var ii in pRO.InvoiceItems) @@ -72,17 +72,24 @@ namespace BeWo.KontaktUndKrisenhilfeReports.Neu } if (ii.RateFactor != 0) { - if (period != null) + string naechstePeriode = string.Format("mit {0:0.00} Std. von {1:dd.MM.yyyy} bis {2:dd.MM.yyyy} ({3} Wo) a {4:0.00} € ({5:0.00} FLS) =", + ii.ApprovedPerUnit, ii.PeriodStartDate, ii.PeriodEndDate, ii.UnitDescription, ii.AmountPerUnit, ii.MaxApprovedUnitCount); + if (period != "" && !period.Contains(naechstePeriode)) { period += " \n"; } - period += string.Format("mit {0:0.00} Std. von {1:dd.MM.yyyy} bis {2:dd.MM.yyyy} ({3} Wo) a {4:0.00} € ({5:0.00} FLS) =", - ii.ApprovedPerUnit, ii.PeriodStartDate, ii.PeriodEndDate, ii.UnitDescription, ii.AmountPerUnit, ii.MaxApprovedUnitCount); - if (betrag != null) + + // Es gibt Perioden doppelt, wenn es gekappte Stunden wegen überschrittener Bewilligung gibt + if (!period.Contains(naechstePeriode)) { - betrag += " \n"; + period += naechstePeriode; + + if (betrag != "") + { + betrag += " \n"; + } + betrag += string.Format("{0:c2}", ii.MaxApprovedAmount); } - betrag += string.Format("{0:c2}", ii.MaxApprovedAmount); } else if (ii.ItemDescription.IsNullOrEmpty()) { diff --git a/ReportImp/KontaktUndKrisenhilfeReports/SettlementReport2.resx b/ReportImp/KontaktUndKrisenhilfeReports/SettlementReport2.resx index 1b91f3138..b8c956c4e 100644 --- a/ReportImp/KontaktUndKrisenhilfeReports/SettlementReport2.resx +++ b/ReportImp/KontaktUndKrisenhilfeReports/SettlementReport2.resx @@ -912,11 +912,8 @@ ewBcAHIAdABmADEAXABhAG4AcwBpAFwAYQBuAHMAaQBjAHAAZwAxADIANQAyAFwAZABlAGYAZgAwAHsAXABmAG8AbgB0AHQAYgBsAHsAXABmADAAXABmAG4AaQBsAFwAZgBjAGgAYQByAHMAZQB0ADAAIABBAHIAaQBhAGwAOwB9AHsAXABmADEAXABmAG4AaQBsACAAVABpAG0AZQBzACAATgBlAHcAIABSAG8AbQBhAG4AOwB9AH0ADQAKAHsAXABjAG8AbABvAHIAdABiAGwAIAA7AFwAcgBlAGQAMABcAGcAcgBlAGUAbgAwAFwAYgBsAHUAZQAwADsAfQANAAoAXAB2AGkAZQB3AGsAaQBuAGQANABcAHUAYwAxAFwAcABhAHIAZABcAGMAZgAxAFwAbABhAG4AZwAxADAAMwAxAFwAYgBcAGYAcwAxADkAIABLAG8AbgB0AGEAawB0AC0AIAB1AG4AZAAgAEsAcgBpAHMAZQBuAGgAaQBsAGYAZQAgAGUALgBWAC4AXABjAGYAMABcAHAAYQByAA0ACgBcAGMAZgAxACAAaQBtACAARQBuAG4AZQBwAGUALQBSAHUAaAByAC0ASwByAGUAaQBzAFwAYwBmADAAXABwAGEAcgANAAoAXABjAGYAMQAgAE0AbwBsAHQAawBlAHMAdAByAC4AIAAyADgAXABjAGYAMABcAHAAYQByAA0ACgBcAGMAZgAxACAANQA4ADMAMwAyACAAUwBjAGgAdwBlAGwAbQBcAGMAZgAwAFwAYgAwAFwAZgAxAFwAZgBzADIANABcAHAAYQByAA0ACgB9AA0ACgA= - - 17, 17 - - ewBcAHIAdABmADEAXABkAGUAZgBmADAAewBcAGYAbwBuAHQAdABiAGwAewBcAGYAMAAgAEMAYQBsAGkAYgByAGkAOwB9AHsAXABmADEAIABUAGkAbQBlAHMAIABOAGUAdwAgAFIAbwBtAGEAbgA7AH0AewBcAGYAMgAgAEEAcgBpAGEAbAA7AH0AewBcAGYAMwAgAEMAbwBtAGkAYwAgAFMAYQBuAHMAIABNAFMAOwB9AH0AewBcAGMAbwBsAG8AcgB0AGIAbAAgADsAXAByAGUAZAAwAFwAZwByAGUAZQBuADAAXABiAGwAdQBlADAAIAA7AFwAcgBlAGQAMABcAGcAcgBlAGUAbgAwAFwAYgBsAHUAZQAyADUANQAgADsAXAByAGUAZAAwAFwAZwByAGUAZQBuADAAXABiAGwAdQBlADEAMgA5ACAAOwB9AHsAXAAqAFwAZABlAGYAYwBoAHAAIABcAGYAMQBcAGYAcwAyADQAfQB7AFwAcwB0AHkAbABlAHMAaABlAGUAdAAgAHsAXABxAGwAXABmADEAXABmAHMAMgA0ACAATgBvAHIAbQBhAGwAOwB9AHsAXAAqAFwAYwBzADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABEAGUAZgBhAHUAbAB0ACAAUABhAHIAYQBnAHIAYQBwAGgAIABGAG8AbgB0ADsAfQB7AFwAKgBcAGMAcwAyAFwAcwBiAGEAcwBlAGQAbwBuADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABMAGkAbgBlACAATgB1AG0AYgBlAHIAOwB9AHsAXAAqAFwAYwBzADMAXAB1AGwAXABmADEAXABmAHMAMgA0AFwAYwBmADIAIABIAHkAcABlAHIAbABpAG4AawA7AH0AewBcACoAXAB0AHMANABcAHQAcwByAG8AdwBkAFwAZgAxAFwAZgBzADIANABcAHEAbABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgBsADMAXAB0AHMAYwBlAGwAbABwAGEAZABkAGwAMQAwADgAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAYgAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgB0ADMAXAB0AHMAdgBlAHIAdABhAGwAdABcAGMAbAB0AHgAbAByAHQAYgAgAE4AbwByAG0AYQBsACAAVABhAGIAbABlADsAfQB7AFwAKgBcAHQAcwA1AFwAdABzAHIAbwB3AGQAXABzAGIAYQBzAGUAZABvAG4ANABcAGYAMQBcAGYAcwAyADQAXABxAGwAXAB0AHIAYgByAGQAcgB0AFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGwAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAYgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHIAYgByAGQAcgByAFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGgAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAdgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAbAAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABsADEAMAA4AFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwB2AGUAcgB0AGEAbAB0AFwAYwBsAHQAeABsAHIAdABiACAAVABhAGIAbABlACAAUwBpAG0AcABsAGUAIAAxADsAfQB9AHsAXAAqAFwAbABpAHMAdABvAHYAZQByAHIAaQBkAGUAdABhAGIAbABlAH0AXABuAG8AdQBpAGMAbwBtAHAAYQB0AFwAcwBwAGwAeQB0AHcAbgBpAG4AZQBcAGgAdABtAGEAdQB0AHMAcABcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAewBcAGwAYQBuAGcAMQAwADMAMQBcAGwAYQBuAGcAZgBlADEAMAAzADEAXABmADIAXABmAHMAMQA4AFwAYwBmADEAIABbAFAAZQByAGkAbwBkAFMAdABhAHIAdABEAGEAdABlACEAZABkAC4ATQBNAC4AeQB5AHkAeQBdACAALQAgAFsAUABlAHIAaQBvAGQARQBuAGQARABhAHQAZQAhAGQAZAAuAE0ATQAuAHkAeQB5AHkAXQAgAH0AewBcAGwAYQBuAGcAMQAwADMAMQBcAGwAYQBuAGcAZgBlADEAMAAzADEAXABmADMAXABmAHMAMQA0AFwAYwBmADMAIABzAGkAbgBkACAAfQB7AFwAbABhAG4AZwAxADAAMwAxAFwAbABhAG4AZwBmAGUAMQAwADMAMQBcAGYAMgBcAGYAcwAxADgAXABjAGYAMQAgAFsAVQBuAGkAdABDAG8AdQBuAHQAIQAwAC4AMAAwAF0AIAB9AHsAXABsAGEAbgBnADEAMAAzADEAXABsAGEAbgBnAGYAZQAxADAAMwAxAFwAZgAzAFwAZgBzADEANABcAGMAZgAzACAAUwB0AGQALgAgAH0AewBcAGwAYQBuAGcAMQAwADMAMQBcAGwAYQBuAGcAZgBlADEAMAAzADEAXABiAFwAZgAzAFwAZgBzADEANABcAGMAZgAzACAAeAAgAH0AewBcAGwAYQBuAGcAMQAwADMAMQBcAGwAYQBuAGcAZgBlADEAMAAzADEAXABmADIAXABmAHMAMQA4AFwAYwBmADEAIABbAEEAbQBvAHUAbgB0AFAAZQByAFUAbgBpAHQAIQAwAC4AMAAwAF0AIABcAHUAOAAzADYANABcACcAOAAwACAAfQB7AFwAbABhAG4AZwAxADAAMwAxAFwAbABhAG4AZwBmAGUAMQAwADMAMQBcAGYAMwBcAGYAcwAxADQAXABjAGYAMwAgAD0AfQBcAGwAYQBuAGcAMQAwADMAMQBcAGwAYQBuAGcAZgBlADEAMAAzADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAXABwAGEAcgB9AA== + ewBcAHIAdABmADEAXABkAGUAZgBmADAAewBcAGYAbwBuAHQAdABiAGwAewBcAGYAMAAgAEMAYQBsAGkAYgByAGkAOwB9AHsAXABmADEAIABUAGkAbQBlAHMAIABOAGUAdwAgAFIAbwBtAGEAbgA7AH0AewBcAGYAMgAgAEEAcgBpAGEAbAA7AH0AewBcAGYAMwAgAEMAbwBtAGkAYwAgAFMAYQBuAHMAIABNAFMAOwB9AH0AewBcAGMAbwBsAG8AcgB0AGIAbAAgADsAXAByAGUAZAAwAFwAZwByAGUAZQBuADAAXABiAGwAdQBlADAAIAA7AFwAcgBlAGQAMABcAGcAcgBlAGUAbgAwAFwAYgBsAHUAZQAyADUANQAgADsAXAByAGUAZAAwAFwAZwByAGUAZQBuADAAXABiAGwAdQBlADEAMgA5ACAAOwB9AHsAXAAqAFwAZABlAGYAYwBoAHAAIABcAGYAMQBcAGYAcwAyADQAfQB7AFwAcwB0AHkAbABlAHMAaABlAGUAdAAgAHsAXABxAGwAXABmADEAXABmAHMAMgA0ACAATgBvAHIAbQBhAGwAOwB9AHsAXAAqAFwAYwBzADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABEAGUAZgBhAHUAbAB0ACAAUABhAHIAYQBnAHIAYQBwAGgAIABGAG8AbgB0ADsAfQB7AFwAKgBcAGMAcwAyAFwAcwBiAGEAcwBlAGQAbwBuADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABMAGkAbgBlACAATgB1AG0AYgBlAHIAOwB9AHsAXAAqAFwAYwBzADMAXAB1AGwAXABmADEAXABmAHMAMgA0AFwAYwBmADIAIABIAHkAcABlAHIAbABpAG4AawA7AH0AewBcACoAXAB0AHMANABcAHQAcwByAG8AdwBkAFwAZgAxAFwAZgBzADIANABcAHEAbABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgBsADMAXAB0AHMAYwBlAGwAbABwAGEAZABkAGwAMQAwADgAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAYgAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgB0ADMAXAB0AHMAdgBlAHIAdABhAGwAdABcAGMAbAB0AHgAbAByAHQAYgAgAE4AbwByAG0AYQBsACAAVABhAGIAbABlADsAfQB7AFwAKgBcAHQAcwA1AFwAdABzAHIAbwB3AGQAXABzAGIAYQBzAGUAZABvAG4ANABcAGYAMQBcAGYAcwAyADQAXABxAGwAXAB0AHIAYgByAGQAcgB0AFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGwAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAYgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHIAYgByAGQAcgByAFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGgAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAdgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAbAAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABsADEAMAA4AFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwB2AGUAcgB0AGEAbAB0AFwAYwBsAHQAeABsAHIAdABiACAAVABhAGIAbABlACAAUwBpAG0AcABsAGUAIAAxADsAfQB9AHsAXAAqAFwAbABpAHMAdABvAHYAZQByAHIAaQBkAGUAdABhAGIAbABlAH0AXABuAG8AdQBpAGMAbwBtAHAAYQB0AFwAcwBwAGwAeQB0AHcAbgBpAG4AZQBcAGgAdABtAGEAdQB0AHMAcABcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAewBcAGwAYQBuAGcAMQAwADMAMQBcAGwAYQBuAGcAZgBlADEAMAAzADEAXABmADIAXABmAHMAMQA4AFwAYwBmADEAIABbAFAAZQByAGkAbwBkAFMAdABhAHIAdABEAGEAdABlACEAZABkAC4ATQBNAC4AeQB5AHkAeQBdACAALQAgAFsAUABlAHIAaQBvAGQARQBuAGQARABhAHQAZQAhAGQAZAAuAE0ATQAuAHkAeQB5AHkAXQAgAH0AewBcAGwAYQBuAGcAMQAwADMAMQBcAGwAYQBuAGcAZgBlADEAMAAzADEAXABmADMAXABmAHMAMQA0AFwAYwBmADMAIABzAGkAbgBkACAAfQB7AFwAbABhAG4AZwAxADAAMwAxAFwAbABhAG4AZwBmAGUAMQAwADMAMQBcAGYAMgBcAGYAcwAxADgAXABjAGYAMQAgAFsAVQBuAGkAdABDAG8AdQBuAHQAIQAwAC4AMAAwAF0AIAB9AHsAXABsAGEAbgBnADEAMAAzADEAXABsAGEAbgBnAGYAZQAxADAAMwAxAFwAZgAzAFwAZgBzADEANABcAGMAZgAzACAAUwB0AGQALgAgAH0AewBcAGwAYQBuAGcAMQAwADMAMQBcAGwAYQBuAGcAZgBlADEAMAAzADEAXABiAFwAZgAzAFwAZgBzADEANABcAGMAZgAzACAAeAAgAH0AewBcAGwAYQBuAGcAMQAwADMAMQBcAGwAYQBuAGcAZgBlADEAMAAzADEAXABmADIAXABmAHMAMQA4AFwAYwBmADEAIABbAEEAbQBvAHUAbgB0AFAAZQByAFUAbgBpAHQAIQAwAC4AMAAwAF0AIABcAHUAOAAzADYANABcACcAOAAwAH0AewBcAGwAYQBuAGcAMQAwADMAMQBcAGwAYQBuAGcAZgBlADEAMAAzADEAXABmADIAXABmAHMAMQA4AFwAYwBmADEAIAAgACAAfQB7AFwAbABhAG4AZwAxADAAMwAxAFwAbABhAG4AZwBmAGUAMQAwADMAMQBcAGYAMwBcAGYAcwAxADQAXABjAGYAMwAgAD0AfQBcAGwAYQBuAGcAMQAwADMAMQBcAGwAYQBuAGcAZgBlADEAMAAzADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAXABwAGEAcgB9AA== ewBcAHIAdABmADEAXABhAG4AcwBpAFwAYQBuAHMAaQBjAHAAZwAxADIANQAyAFwAZABlAGYAZgAwAHsAXABmAG8AbgB0AHQAYgBsAHsAXABmADAAXABmAG4AaQBsAFwAZgBjAGgAYQByAHMAZQB0ADAAIABDAG8AbQBpAGMAIABTAGEAbgBzACAATQBTADsAfQB7AFwAZgAxAFwAZgBuAGkAbAAgAFQAaQBtAGUAcwAgAE4AZQB3ACAAUgBvAG0AYQBuADsAfQB9AA0ACgBcAHYAaQBlAHcAawBpAG4AZAA0AFwAdQBjADEAXABwAGEAcgBkAFwAbABhAG4AZwAxADAAMwAxAFwAdQBsAFwAYgBcAGYAMABcAGYAcwAxADgAIABFAHIAawBsAFwAJwBlADQAcgB1AG4AZwAgAGQAZQBzACAAQQBuAGIAaQBlAHQAZQByAHMAOgBcAHUAbABuAG8AbgBlAFwAYgAwAFwAcABhAHIADQAKAEgAaQBlAHIAbQBpAHQAIAB3AGkAcgBkACAAZQByAGsAbABcACcAZQA0AHIAdAAsACAAZABhAHMAcwAgAGQAaQBlACAAVgBlAHIAcABmAGwAaQBjAGgAdAB1AG4AZwBlAG4AIABhAHUAcwAgAGQAZQByACAATABlAGkAcwB0AHUAbgBnAHMALQAsACAAUAByAFwAJwBmAGMAZgB1AG4AZwBzAC0AIAB1AG4AZAAgAFYAZQByAGcAXAAnAGYAYwB0AHUAbgBnAHMAdgBlAHIAZQBpAG4AYgBhAHIAdQBuAGcAIABuAGEAYwBoAFwAcABhAHIADQAKAFwAJwBhADcAXAAnAGEANwAgADkAMwAgAGYAZgAgAEIAUwBIAEcAIABiAHoAdwAuACAAXAAnAGEANwBcACcAYQA3ACAANwA1ACAAZgBmACAAUwBHAEIAIABYAEkASQAgAGUAaQBuAGcAZQBoAGEAbAB0AGUAbgAgAHcAdQByAGQAZQBuACAAdQBuAGQAIABkAGkAZQAgAHYAbwByAGcAZQBuAGEAbgBuAHQAZQBuACAAQQBuAGcAYQBiAGUAbgAgAGEAbgBoAGEAbgBkACAAZABlAHIAXABwAGEAcgANAAoAdgBvAHIAZwBlAGgAYQBsAHQAZQBuAGUAbgAgAFEAdQBpAHQAdABpAGUAcgB1AG4AZwBzAGIAZQBsAGUAZwBlACAAcwBvAHcAaQBlACAAZABlAHIAIABCAGUAdAByAGUAdQB1AG4AZwBzAGQAbwBrAHUAbQBlAG4AdABhAHQAaQBvAG4AIABuAGEAYwBoAGcAZQB3AGkAZQBzAGUAbgAgAHcAZQByAGQAZQBuACAAawBcACcAZgA2AG4AbgBlAG4ALgBcAGYAMQBcAGYAcwAyADQAXABwAGEAcgANAAoAfQANAAoA @@ -927,4 +924,7 @@ ewBcAHIAdABmADEAXABhAG4AcwBpAFwAYQBuAHMAaQBjAHAAZwAxADIANQAyAFwAZABlAGYAZgAwAHsAXABmAG8AbgB0AHQAYgBsAHsAXABmADAAXABmAHMAYwByAGkAcAB0AFwAZgBjAGgAYQByAHMAZQB0ADAAIABDAG8AbQBpAGMAIABTAGEAbgBzACAATQBTADsAfQB7AFwAZgAxAFwAZgBuAGkAbABcAGYAYwBoAGEAcgBzAGUAdAAwACAAQQByAGkAYQBsADsAfQB9AA0ACgB7AFwAYwBvAGwAbwByAHQAYgBsACAAOwBcAHIAZQBkADAAXABnAHIAZQBlAG4AMABcAGIAbAB1AGUAMQAyADkAOwBcAHIAZQBkADAAXABnAHIAZQBlAG4AMABcAGIAbAB1AGUAMAA7AH0ADQAKAFwAdgBpAGUAdwBrAGkAbgBkADQAXAB1AGMAMQBcAHAAYQByAGQAXABxAHIAXABjAGYAMQBcAGwAYQBuAGcAMQAwADMAMQBcAGYAMABcAGYAcwAxADQAIABtAGEAeABpAG0AYQBsACAAbAB0AC4AIABCAGUAdwBpAGwAbABpAGcAdQBuAGcAOgAgAFwAYwBmADIAXABmADEAXABmAHMAMQA4AFwAcABhAHIADQAKAFwAYwBmADEAXABmADAAXABmAHMAMQA0AFwAcABhAHIADQAKAGYAZQBzAHQAZwBlAGwAZQBnAHQAZQAgAEUAaQBnAGUAbgBiAGUAdABlAGkAbABpAGcAdQBuAGcAIABmAFwAJwBmAGMAcgBcAHAAYQByAA0ACgBcAHAAYQByAA0ACgBcAHAAYQByAA0ACgB2AGUAcgBiAGwAZQBpAGIAZQBuADoAXABwAGEAcgANAAoAfQANAAoA + + 17, 17 + \ No newline at end of file