From c2c0599b5d262d83565c673457d3792261ba0799 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tiago=20Concei=C3=A7=C3=A3o?= Date: Sun, 13 Sep 2020 02:09:59 +0100 Subject: [PATCH] Setting: Allow change layer tooltip overlay color and opacity --- CHANGELOG.md | 1 + UVtools.GUI/Controls/TransparentLabel.cs | 11 +- UVtools.GUI/Forms/FrmSettings.resx | 2 +- UVtools.GUI/FrmMain.Designer.cs | 70 ++++----- UVtools.GUI/FrmMain.resx | 176 +++++++++++------------ 5 files changed, 130 insertions(+), 130 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d9aa53..ba89e5f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ * (Add) Layer status bar: Button with ROI - Click to zoom in region | Click + shift to clear roi * (Add) Setting: Allow the layer overlay tooltips for select issues, ROI, and edit pixel mode to be hidden (#51) +* (Add) Setting: Allow change layer tooltip overlay color and opacity * (Add) Global print properties on formats for more internal abstraction * (Improvement) Print properties performance internal code with abstraction * (Change) Layer status bar: Bounds text to button - Click to zoom in region diff --git a/UVtools.GUI/Controls/TransparentLabel.cs b/UVtools.GUI/Controls/TransparentLabel.cs index 0119179..e7c9da2 100644 --- a/UVtools.GUI/Controls/TransparentLabel.cs +++ b/UVtools.GUI/Controls/TransparentLabel.cs @@ -21,7 +21,7 @@ namespace UVtools.GUI.Controls public TransparentLabel() { transparentBackColor = Color.Blue; - opacity = 50; + _opacity = 50; BackColor = Color.Transparent; DoubleBuffered = true; } @@ -54,14 +54,13 @@ namespace UVtools.GUI.Controls } } - private int opacity; - public int Opacity + private byte _opacity; + public byte Opacity { - get => opacity; + get => _opacity; set { - if (value >= 0 && value <= 255) - opacity = value; + _opacity = value; Invalidate(); } } diff --git a/UVtools.GUI/Forms/FrmSettings.resx b/UVtools.GUI/Forms/FrmSettings.resx index dd1bca6..07b42a9 100644 --- a/UVtools.GUI/Forms/FrmSettings.resx +++ b/UVtools.GUI/Forms/FrmSettings.resx @@ -131,7 +131,7 @@ If false only 4 neighbors (right, left, above, below) will be considered. (Slowe Default number of noise removal iterations the repair algorithm will apply to remove noise and fine details from the layer. This setting has the potential to introduce new islands. Set to 0 to disable. - 47 + 77 diff --git a/UVtools.GUI/FrmMain.Designer.cs b/UVtools.GUI/FrmMain.Designer.cs index 920f59c..b9ca0fa 100644 --- a/UVtools.GUI/FrmMain.Designer.cs +++ b/UVtools.GUI/FrmMain.Designer.cs @@ -61,6 +61,7 @@ namespace UVtools.GUI this.statusBar = new System.Windows.Forms.StatusStrip(); this.mainTable = new System.Windows.Forms.TableLayoutPanel(); this.scCenter = new System.Windows.Forms.SplitContainer(); + this.lbLayerImageTooltipOverlay = new UVtools.GUI.Controls.TransparentLabel(); this.pbLayer = new Cyotek.Windows.Forms.ImageBox(); this.tsLayer = new System.Windows.Forms.ToolStrip(); this.btnLayerImageExport = new System.Windows.Forms.ToolStripSplitButton(); @@ -248,6 +249,7 @@ namespace UVtools.GUI this.panelLayerNavigation = new System.Windows.Forms.Panel(); this.pbTrackerIssues = new System.Windows.Forms.PictureBox(); this.lbActualLayer = new System.Windows.Forms.Label(); + this.tbLayer = new UVtools.GUI.Controls.TrackBarEx(); this.lbInitialLayer = new System.Windows.Forms.Label(); this.panel2 = new System.Windows.Forms.Panel(); this.btnFindLayer = new System.Windows.Forms.Button(); @@ -258,8 +260,6 @@ namespace UVtools.GUI this.toolTipInformation = new System.Windows.Forms.ToolTip(this.components); this.layerScrollTimer = new System.Windows.Forms.Timer(this.components); this.mouseHoldTimer = new System.Windows.Forms.Timer(this.components); - this.lbLayerImageOverlay = new UVtools.GUI.Controls.TransparentLabel(); - this.tbLayer = new UVtools.GUI.Controls.TrackBarEx(); this.menu.SuspendLayout(); this.mainTable.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.scCenter)).BeginInit(); @@ -318,8 +318,8 @@ namespace UVtools.GUI this.tlRight.SuspendLayout(); this.panelLayerNavigation.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pbTrackerIssues)).BeginInit(); - this.panel2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.tbLayer)).BeginInit(); + this.panel2.SuspendLayout(); this.SuspendLayout(); // // menu @@ -596,7 +596,7 @@ namespace UVtools.GUI // // scCenter.Panel1 // - this.scCenter.Panel1.Controls.Add(this.lbLayerImageOverlay); + this.scCenter.Panel1.Controls.Add(this.lbLayerImageTooltipOverlay); this.scCenter.Panel1.Controls.Add(this.pbLayer); this.scCenter.Panel1.Controls.Add(this.tsLayer); // @@ -608,6 +608,23 @@ namespace UVtools.GUI this.scCenter.SplitterDistance = 730; this.scCenter.TabIndex = 4; // + // lbLayerImageOverlay + // + this.lbLayerImageTooltipOverlay.AutoSize = true; + this.lbLayerImageTooltipOverlay.BackColor = System.Drawing.Color.Transparent; + this.lbLayerImageTooltipOverlay.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.lbLayerImageTooltipOverlay.CausesValidation = false; + this.lbLayerImageTooltipOverlay.Location = new System.Drawing.Point(13, 37); + this.lbLayerImageTooltipOverlay.Name = "lbLayerImageTooltipOverlay"; + this.lbLayerImageTooltipOverlay.Opacity = 210; + this.lbLayerImageTooltipOverlay.Padding = new System.Windows.Forms.Padding(10); + this.lbLayerImageTooltipOverlay.Size = new System.Drawing.Size(80, 40); + this.lbLayerImageTooltipOverlay.TabIndex = 8; + this.lbLayerImageTooltipOverlay.Text = "Overlay"; + this.lbLayerImageTooltipOverlay.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.lbLayerImageTooltipOverlay.TransparentBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192))))); + this.lbLayerImageTooltipOverlay.Visible = false; + // // pbLayer // this.pbLayer.AllowDoubleClick = true; @@ -2753,6 +2770,18 @@ namespace UVtools.GUI this.lbActualLayer.TabIndex = 9; this.lbActualLayer.Text = "?"; // + // tbLayer + // + this.tbLayer.Dock = System.Windows.Forms.DockStyle.Right; + this.tbLayer.Location = new System.Drawing.Point(93, 0); + this.tbLayer.Margin = new System.Windows.Forms.Padding(0); + this.tbLayer.Name = "tbLayer"; + this.tbLayer.Orientation = System.Windows.Forms.Orientation.Vertical; + this.tbLayer.Size = new System.Drawing.Size(45, 557); + this.tbLayer.TabIndex = 8; + this.tbLayer.TickStyle = System.Windows.Forms.TickStyle.TopLeft; + this.tbLayer.ValueChanged += new System.EventHandler(this.ValueChanged); + // // lbInitialLayer // this.lbInitialLayer.Dock = System.Windows.Forms.DockStyle.Fill; @@ -2843,35 +2872,6 @@ namespace UVtools.GUI this.mouseHoldTimer.Interval = 1000; this.mouseHoldTimer.Tick += new System.EventHandler(this.EventTimerTick); // - // lbLayerImageOverlay - // - this.lbLayerImageOverlay.AutoSize = true; - this.lbLayerImageOverlay.BackColor = System.Drawing.Color.Transparent; - this.lbLayerImageOverlay.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.lbLayerImageOverlay.CausesValidation = false; - this.lbLayerImageOverlay.Location = new System.Drawing.Point(13, 37); - this.lbLayerImageOverlay.Name = "lbLayerImageOverlay"; - this.lbLayerImageOverlay.Opacity = 210; - this.lbLayerImageOverlay.Padding = new System.Windows.Forms.Padding(10); - this.lbLayerImageOverlay.Size = new System.Drawing.Size(80, 40); - this.lbLayerImageOverlay.TabIndex = 8; - this.lbLayerImageOverlay.Text = "Overlay"; - this.lbLayerImageOverlay.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - this.lbLayerImageOverlay.TransparentBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192))))); - this.lbLayerImageOverlay.Visible = false; - // - // tbLayer - // - this.tbLayer.Dock = System.Windows.Forms.DockStyle.Right; - this.tbLayer.Location = new System.Drawing.Point(93, 0); - this.tbLayer.Margin = new System.Windows.Forms.Padding(0); - this.tbLayer.Name = "tbLayer"; - this.tbLayer.Orientation = System.Windows.Forms.Orientation.Vertical; - this.tbLayer.Size = new System.Drawing.Size(45, 557); - this.tbLayer.TabIndex = 8; - this.tbLayer.TickStyle = System.Windows.Forms.TickStyle.TopLeft; - this.tbLayer.ValueChanged += new System.EventHandler(this.ValueChanged); - // // FrmMain // this.AllowDrop = true; @@ -2978,8 +2978,8 @@ namespace UVtools.GUI this.panelLayerNavigation.ResumeLayout(false); this.panelLayerNavigation.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.pbTrackerIssues)).EndInit(); - this.panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.tbLayer)).EndInit(); + this.panel2.ResumeLayout(false); this.ResumeLayout(false); this.PerformLayout(); @@ -3208,13 +3208,13 @@ namespace UVtools.GUI private System.Windows.Forms.ToolStripSplitButton btnLayerImageActions; private System.Windows.Forms.ToolStripSeparator toolStripSeparator26; private System.Windows.Forms.ToolStripButton btnLogVerbose; - private TransparentLabel lbLayerImageOverlay; public Cyotek.Windows.Forms.ImageBox pbLayer; private System.Windows.Forms.ToolStripSeparator toolStripSeparator27; private System.Windows.Forms.ToolStripButton btnLayerROI; private System.Windows.Forms.ToolStripButton btnLayerBounds; private System.Windows.Forms.ToolStripButton btnLayerMouseLocation; private System.Windows.Forms.ToolStripButton btnLayerResolution; + public TransparentLabel lbLayerImageTooltipOverlay; } } diff --git a/UVtools.GUI/FrmMain.resx b/UVtools.GUI/FrmMain.resx index 97158bb..15543ce 100644 --- a/UVtools.GUI/FrmMain.resx +++ b/UVtools.GUI/FrmMain.resx @@ -173,95 +173,95 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABk - FAAAAk1TRnQBSQFMAgEBBgEAAfgBCwH4AQsBEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA - AwABIAMAAQEBAAEgBgABIC4AAxgBIgMwAUsDMAFMAzIBUDMAAQEDJAE2AysBQqwAAyIBMQNWAbkDXQHi - AwAB/wMAAf8BKgEtASgB/gNTAawDTQGVAwABARgAAwkBDAMzAVIDUAGdA1cB6AMAAf4DKwH8Ay8BSqQA - AyEBMANZAewBKwEuASkB+gNRAfcDUgH0A1MB8QNIAfYDQQH5AwAB/wNPAZsDAAEBCAADFQEdAz8BbgNV - AboDPgH4A0IB9QNVAbIDPAFnAxQBHANJAYkDTgHwAx0BKpwAAxwBKANZAesBKgEtASgB/gNWAbYDTAGS - A0gBhQNIAYUDRgGAA0gBhQEqAS0BKAH+AwAB/wNOAZQEAAMtAUUDSAH2A10B4gNOAZcDMAFLAwcBCQwA - AwEBAgNVAbIDXAHcAw4BE5gAAyYBOAEqAS0BKAH+A0wBkwNLAZADTQGWA0oBiwNFAX8DQwF4A0MBeANH - AYIDPgH4A1MBsAQAA1oB1QNOAZgYAAMYASIDBAEFAwoBDQNZAdIDVwG/AwQBBZQAA1wB1AMAAf8DUQGg - A04BmANQAZ8DOgFhAzgBXQNCAXQDRgGAA0gBhANMAZMDWAHjAzABTAMAAf4DKwFDCAADBwEKAzABTANN - AZUDWAHdAwAB/wNUAasDAAEBAxcBIANVAeoDTgGZkAADNgFZA0ABcANZAdcDRwGCA0wBkwNJAYkDAQEC - BAADMAFLA0QBeQNIAYcDSwGQA1cB6AMwAUwDXQHiA08BpQNAAXEDVgG5A1EB9wMAAf8DAAH/AwAB/wMA - Af8DAAH/A0oBjAQAAygBPQNBAfkDPwFujAADLQFGAzgBXgNKAY0DEgEYA1ABoxAAAykBPgNLAZADTQGV - A1kB7AMwAUwDSgGKAwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wM9AWoEAAM7 - AWMDIQH7Ay0BRogAAxQBHAMwAU0DTwGcA1EBogNTAbAQAAMrAUMDTwGbA1ABngNWAbsDFQEdAwcBCgNY - AcYDAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DIQH7AzABTAQAA1EBoANYAdGIAANE - AXkDPwFuAyoBQAMeASsDKgFAA1UBsQMEAQUEAAM5AWADTAGSA04BlANWAbYDVgG4CAADDgETA1kB1wMA - Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wNMAfMDIwEzA0cBggNZAcSEAAM/AW0DLgFI - AxoBJAMlATcDIQEwASsBLAErAUMDLAFEA0gBiANIAYUDSAGHA0kBiQNQAZoDWAHpAycBOgwAAxYBHwNe - AeUDAAH/AwAB/wMAAf8DAAH/AwAB/wMpAfoDWQHHA1IBqAMAAf4DWAHmAzQBVQNMAZOEAAMGAQgDCgEN - A1MBsAMqAUADQgF1AxQBHAM1AVgDRAF8A04BlANEAXwDSAGIA04B8AMnATsUAAMgAS4DTgHwAwAB/wNa - AdMDRwGDAywBRAMIAQsEAAMRARcDWQHEAwAB/wNaAdMDCwEPgAADBwEJA1UBtAMJAQwEAANBAXMDKgFB - A0IBdgM8AWcDUQGnA1oBygNbAdYDJAE2Ax8BLRwAAyoBQAM+AfgDWAHAAx8BLAM4AVwDUAGaA1oB2AMA - Af4DAAH/AwAB/wMAAf8DVQG3hAADAQECA1MBrAMOARMDOwFlBAADMAFNAwcBCQMEAQUwAAM0AVUDKwH8 - AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/A0AB/QNcAdQDSAGHiAADPwFuAwYBCAMxAU8DAwEEA1MBsDwA - Az8BbQMAAf8DAAH/A04B8ANWAbkDRgGAAy4BRwMLAQ+QAAMxAU8DAQECTAADKwFDAx8BLAMBAQKoAAMH + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABi + FAAAAk1TRnQBSQFMAgEBBgIAAQwBAAEMARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMA + ASADAAEBAQABIAYAASAuAAMYASIDMAFLAzABTAMyAVAzAAEBAyQBNgMrAUKsAAMiATEDVgG5A10B4gMA + Af8DAAH/ASoBLQEoAf4DUwGsA00BlQMAAQEYAAMJAQwDMwFSA1ABnQNXAegDAAH+AysB/AMvAUqkAAMh + ATADWQHsASsBLgEpAfoDUQH3A1IB9ANTAfEDSAH2A0EB+QMAAf8DTwGbAwABAQgAAxUBHQM/AW4DVQG6 + Az4B+ANCAfUDVQGyAzwBZwMUARwDSQGJA04B8AMdASqcAAMcASgDWQHrASoBLQEoAf4DVgG2A0wBkgNI + AYUDSAGFA0YBgANIAYUBKgEtASgB/gMAAf8DTgGUBAADLQFFA0gB9gNdAeIDTgGXAzABSwMHAQkMAAMB + AQIDVQGyA1wB3AMOAROYAAMmATgBKgEtASgB/gNMAZMDSwGQA00BlgNKAYsDRQF/A0MBeANDAXgDRwGC + Az4B+ANTAbAEAANaAdUDTgGYGAADGAEiAwQBBQMKAQ0DWQHSA1cBvwMEAQWUAANcAdQDAAH/A1EBoANO + AZgDUAGfAzoBYQM4AV0DQgF0A0YBgANIAYQDTAGTA1gB4wMwAUwDAAH+AysBQwgAAwcBCgMwAUwDTQGV + A1gB3QMAAf8DVAGrAwABAQMXASADVQHqA04BmZAAAzYBWQNAAXADWQHXA0cBggNMAZMDSQGJAwEBAgQA + AzABSwNEAXkDSAGHA0sBkANXAegDMAFMA10B4gNPAaUDQAFxA1YBuQNRAfcDAAH/AwAB/wMAAf8DAAH/ + AwAB/wNKAYwEAAMoAT0DQQH5Az8BbowAAy0BRgM4AV4DSgGNAxIBGANQAaMQAAMpAT4DSwGQA00BlQNZ + AewDMAFMA0oBigMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DPQFqBAADOwFj + AyEB+wMtAUaIAAMUARwDMAFNA08BnANRAaIDUwGwEAADKwFDA08BmwNQAZ4DVgG7AxUBHQMHAQoDWAHG + AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AyEB+wMwAUwEAANRAaADWAHRiAADRAF5 + Az8BbgMqAUADHgErAyoBQANVAbEDBAEFBAADOQFgA0wBkgNOAZQDVgG2A1YBuAgAAw4BEwNZAdcDAAH/ + AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DTAHzAyMBMwNHAYIDWQHEhAADPwFtAy4BSAMa + ASQDJQE3AyEBMAErASwBKwFDAywBRANIAYgDSAGFA0gBhwNJAYkDUAGaA1gB6QMnAToMAAMWAR8DXgHl + AwAB/wMAAf8DAAH/AwAB/wMAAf8DKQH6A1kBxwNSAagDAAH+A1gB5gM0AVUDTAGThAADBgEIAwoBDQNT + AbADKgFAA0IBdQMUARwDNQFYA0QBfANOAZQDRAF8A0gBiANOAfADJwE7FAADIAEuA04B8AMAAf8DWgHT + A0cBgwMsAUQDCAELBAADEQEXA1kBxAMAAf8DWgHTAwsBD4AAAwcBCQNVAbQDCQEMBAADQQFzAyoBQQNC + AXYDPAFnA1EBpwNaAcoDWwHWAyQBNgMfAS0cAAMqAUADPgH4A1gBwAMfASwDOAFcA1ABmgNaAdgDAAH+ + AwAB/wMAAf8DAAH/A1UBt4QAAwEBAgNTAawDDgETAzsBZQQAAzABTQMHAQkDBAEFMAADNAFVAysB/AMA + Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wNAAf0DXAHUA0gBh4gAAz8BbgMGAQgDMQFPAwMBBANTAbA8AAM/ + AW0DAAH/AwAB/wNOAfADVgG5A0YBgAMuAUcDCwEPkAADMQFPAwEBAkwAAysBQwMfASwDAQECqAADBwEJ + AzcBWgNIAYQDUwGsA1MBrANIAYQDNwFaAwcBCRQAA1ABowNSAakDUgGpA1IBqQNSAakDUgGpA1IBqQNS + AakDUgGpA1IBqQNSAakDUgGpA1IBqQNQAaNcAAMVAR0BQgJZAfUBUQJtAfcDQwF3A1sByAJCAVkB9QJY + AV8B4wNKAYwDCgENEAADIAEuA1cBvwMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wNXAb8DIAEuEAADUgGp + MAADUgGpGAADDQESAzcBWwMdASooAAMFAQcDTAGSAVYCWAHBAxUBHQM9AWkBAAHIAfMB/wEAAZAB5gH/ + AgAB3AH/AgAB3QH/AgAB4wH/AgAB3gH/AgAB3QH/AlgBWwHLAwYBCAgAA0UBfwMAAf8DAAH/AwAB/wMA + Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DRQF/DAADUgGpBAADUAGdA1MBqgNTAaoDUwGqA1MBqgNT + AaoDUwGqA1ABnQwAA1IBqRgAA1cBvwMAAf8DRAF7KAABMAIxAU0BAAHJAfMB/wEAAckB9AH/AVkCYAHr + AVsCXgHZAQABwAHxAf8CAAHfAf8CAAHgAf8CAAHgAf8CAAHpAf8CAAHiAf8CAAHgAf8CAAHgAf8DQAFx + BAADLgFHAwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/Ay4BRwgA + A1IBqQQAA1ABnQNTAaoDUwGqAx8BLBwAA1IBqRgAA0IBdAMAAf8DVgG+KAADBwEKAVkCZwHyAQABygH0 + Af8BAAHKAfQB/wEAAcoB9AH/AQABoQHuAf8CAAHjAf8CAAHjAf8CAAHjAf8CqQHvAf8CAAHjAf8CAAHj + Af8CAAHjAf8CVgFYAbkDCgEOA1oB2AMAAf8DAAH/AwAB/wMAAf8DKgFACAADKgFAAwAB/wMAAf8DAAH/ + AwAB/wNaAdgDCgEOBAADUgGpMAADUgGpEAADNgFZAyYBOAMdASoDAAH/AwAB/wMXASAIAAMmBDgBXAwA + AxUBHQM9AWkDOgFiAVwCYAHUAQABywH1Af8BAAHLAfUB/wEAAcsB9QH/AQABoAHwAf8CAAHmAf8CAAHm + Af8CAAHmAf8CwgH2Af8CAAHoAf8CAAHmAf8CAAHmAf8CVwFZAb8DNQFWAwAB/wMAAf8DAAH/AwAB/wMA + Af8DUwGqCAADRQF/AwAB/wMAAf8DAAH/AwAB/wMAAf8DNQFWBAADUgGpAyIBMgNSAakDUgGpA1IBqQNS + AakDUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDIgEyA1IBqQwAA0EBcwMAAf8DTAHzAxIBGQNaAdsDAAH/ + AzwBZwQAAyoBQANMAfMDAAH/A0IBdAgAAUsCTAGQAQABywH2Af8BAAHLAfYB/wEAAcsB9gH/AQABywH2 + Af8BKQJNAfoDQwF4AyIBMgJLAV8B+wIAAekB/wIAAekB/wLNAfgB/wIAAe0B/wIAAekB/wIAAekB/wNQ + AZ4DRAF7AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/CwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/A0QBewQA + A1IBqQM0AVUDNAFVIAADNAFVAzQBVQNSAakIAANKAYsDAAH/AwAB/wNPAZwEAANNAZUDAAH/A1QBqwgA + A08BnAMAAf8DAAH/A0oBiwQAA1EBoAEAAcwB9wH/AQABzAH3Af8BAAHMAfcB/wEAAcwB9wH/A0MBdwgA + A0oBjQIAAewB/wIAAewB/wIAAe8B/wIAAewB/wIAAewB/wIAAe0B/wFSAlMBqANSAagDAAH/AwAB/wMA + Af8DUQH3A0AB/QNQAZ8LAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DUgGoBAADUgGpAzQBVQM0AVUDRgGA + A1IBqQNSAakDUgGpA1IBqQNSAakDUgGpA0UBfwM0AVUDNAFVA1IBqQQAA1EBogMAAf8DAAH/A0kBiQgA + Ay8BSgMAAf8DVAHuDAADSQGJAwAB/wMAAf8DUQGiAwABAQE/AkABbwE+AlwB+AEAAc0B9wH/AQABzQH3 + Af8DEgEYCAADAQECA0YBfgJSAV0B8AIAAe4B/wIAAe4B/wJAAagB/QFFAkYBfgMDAQQDUgGoAwAB/wMA + Af8DAAH/AwAB/wMAAf8DNAFVCwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/A1IBqAQAA1IBqQM0AVUDNAFV + Az8BbgMyAVAQAAMnATsDRAF8AzQBVQM0AVUDUgGpBAADUQGiAwAB/wMAAf8DSQGJDAADVAHuAwAB/wMv + AUoIAANJAYkDAAH/AwAB/wNRAaIDAAEBAT8CQAFvAT4CXAH4AQABzgH4Af8BAAHOAfgB/wMSARgQAAMX + ASABAAG8AfcB/wEAAcQB9wH/AUACqAH9AUUCRgF+AwMBBANEAXsDAAH/AwAB/wMAAf8DAAH/AwAB/wMA + Af8DXAHUA1oB1QMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wNEAXsEAANSAakDNAFVAzQBVQMFAQcDVQG1 + AxEBFwNSAakDKQE+BAADUAGfAxEBFwM0AVUDNAFVA1IBqQgAA0oBiwMAAf8DAAH/A08BnAgAA1QBqwMA + Af8DTQGVBAADTwGcAwAB/wMAAf8DSgGLBAADUQGgAQABzgH4Af8BAAHPAfkB/wEAAc8B+QH/AQABzwH5 + Af8DQwF3EAADRAF6AQABzwH5Af8BAAHPAfkB/wEAAc8B+QH/AQABzgH4Af8BUgJTAagDNQFWAwAB/wMA + Af8DAAH/AwAB/wMAAf8DWgHbCAADWgHbAwAB/wMAAf8DAAH/AwAB/wMAAf8DNQFWBAADUgGpAzQBVQM0 + AVUEAAM8AWgDVgG+AyMBNANVAbUDEgEZA1EBoAQAAzQBVQM0AVUDUgGpDAADQgF0AwAB/wNMAfMDKgFA + BAADPAFnAwAB/wNaAdsDEgEZA0wB8wMAAf8DQQFzCAABSwJMAZABAAHQAfoB/wEAAdAB+gH/AQAB0AH6 + Af8BAAHQAfoB/wEpAk0B+gNDAXgDEgEZAxMBGgNEAXoBKAJfAfsBAAHQAfoB/wEAAdAB+gH/AQAB0AH6 + Af8BAAHQAfoB/wNKAYwDCgEOA1oB2AMAAf8DAAH/AwAB/wMAAf8DWgHbCAADWgHbAwAB/wMAAf8DAAH/ + AwAB/wNaAdgDCgEOBAADUgGpAzQBVQM0AVUDAAEBAy0BRgMKAQ4EAAM5AV8DXAHOAygBPAQAAzQBVQM0 + AVUDUgGpEAADOAFcAyYBOAgAAxcBIAMAAf8DAAH/Ax0BKgMmATgDNgFZDAADFQEdAz0BaQM6AWIBXAJg + AdQBAAHRAfoB/wEAAdEB+gH/AQAB0AH6Af8BAAHLAfMB/wEAAcsB8wH/AQAB0AH6Af8BAAHRAfoB/wEA + AdEB+gH/AV0CYQHiAzoBYgM9AWkDFAEcBAADLgFHAwAB/wMAAf8DAAH/AwAB/wMAAf8DXAHUA1wB1AMA + Af8DAAH/AwAB/wMAAf8DAAH/Ay4BRwgAA1IBqQM0AVUDNAFVAzMBUwNSAaYDSgGMBwABAQNHAYMIAAM0 + AVUDNAFVA1IBqSQAA1YBvgMAAf8DQgF0HAADBwEKAVkCZwHyAQAB0gH7Af8BAAHSAfsB/wEAAdIB+wH/ + AQAB0gH7Af8BAAHSAfsB/wEAAdIB+wH/AQAB0gH7Af8BAAHSAfsB/wErAl8B+wMRARcQAANFAX8DAAH/ + AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/A0UBfwwAA1IBqQM0AVUDNAFVAxEBFwNQ + AZ4DJAE2FAADNAFVAzQBVQNSAakkAANEAXsDAAH/A1cBvxwAATACMQFNAQAB0gH8Af8BAAHSAfwB/wFZ + AmAB6wFbAl4B2QEAAdIB/AH/AQAB0gH8Af8BWwJhAeEBXQJhAeIBAAHSAfwB/wEAAdIB/AH/AzgBXhQA + AyABLgNXAb8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DVwG/AyABLhAAA1IBqQMiATIDUgGpA1IBqQNS + AakDUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDUgGpAyIBMgNSAakkAAMdASoDNwFbAw0BEhwAAwUBBwNM + AZIBVgJYAcEDFQEdAz0BaQEAAdMB/AH/AQAB0wH8Af8BRQJGAX8DEAEVA1YBswFLAkwBjwMEAQYYAAMH AQkDNwFaA0gBhANTAawDUwGsA0gBhAM3AVoDBwEJFAADUAGjA1IBqQNSAakDUgGpA1IBqQNSAakDUgGp - A1IBqQNSAakDUgGpA1IBqQNSAakDUgGpA1ABo1wAAxUBHQFCAlkB9QFRAm0B9wNDAXcDWwHIAkIBWQH1 - AlgBXwHjA0oBjAMKAQ0QAAMgAS4DVwG/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/A1cBvwMgAS4QAANS - AakwAANSAakYAAMNARIDNwFbAx0BKigAAwUBBwNMAZIBVgJYAcEDFQEdAz0BaQEAAcgB8wH/AQABkAHm - Af8CAAHcAf8CAAHdAf8CAAHjAf8CAAHeAf8CAAHdAf8CWAFbAcsDBgEICAADRQF/AwAB/wMAAf8DAAH/ - AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wNFAX8MAANSAakEAANQAZ0DUwGqA1MBqgNTAaoDUwGq - A1MBqgNTAaoDUAGdDAADUgGpGAADVwG/AwAB/wNEAXsoAAEwAjEBTQEAAckB8wH/AQAByQH0Af8BWQJg - AesBWwJeAdkBAAHAAfEB/wIAAd8B/wIAAeAB/wIAAeAB/wIAAekB/wIAAeIB/wIAAeAB/wIAAeAB/wNA - AXEEAAMuAUcDAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DLgFH - CAADUgGpBAADUAGdA1MBqgNTAaoDHwEsHAADUgGpGAADQgF0AwAB/wNWAb4oAAMHAQoBWQJnAfIBAAHK - AfQB/wEAAcoB9AH/AQABygH0Af8BAAGhAe4B/wIAAeMB/wIAAeMB/wIAAeMB/wKpAe8B/wIAAeMB/wIA - AeMB/wIAAeMB/wJWAVgBuQMKAQ4DWgHYAwAB/wMAAf8DAAH/AwAB/wMqAUAIAAMqAUADAAH/AwAB/wMA - Af8DAAH/A1oB2AMKAQ4EAANSAakwAANSAakQAAM2AVkDJgE4Ax0BKgMAAf8DAAH/AxcBIAgAAyYEOAFc - DAADFQEdAz0BaQM6AWIBXAJgAdQBAAHLAfUB/wEAAcsB9QH/AQABywH1Af8BAAGgAfAB/wIAAeYB/wIA - AeYB/wIAAeYB/wLCAfYB/wIAAegB/wIAAeYB/wIAAeYB/wJXAVkBvwM1AVYDAAH/AwAB/wMAAf8DAAH/ - AwAB/wNTAaoIAANFAX8DAAH/AwAB/wMAAf8DAAH/AwAB/wM1AVYEAANSAakDIgEyA1IBqQNSAakDUgGp - A1IBqQNSAakDUgGpA1IBqQNSAakDUgGpA1IBqQMiATIDUgGpDAADQQFzAwAB/wNMAfMDEgEZA1oB2wMA - Af8DPAFnBAADKgFAA0wB8wMAAf8DQgF0CAABSwJMAZABAAHLAfYB/wEAAcsB9gH/AQABywH2Af8BAAHL - AfYB/wEpAk0B+gNDAXgDIgEyAksBXwH7AgAB6QH/AgAB6QH/As0B+AH/AgAB7QH/AgAB6QH/AgAB6QH/ - A1ABngNEAXsDAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8LAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DRAF7 - BAADUgGpAzQBVQM0AVUgAAM0AVUDNAFVA1IBqQgAA0oBiwMAAf8DAAH/A08BnAQAA00BlQMAAf8DVAGr - CAADTwGcAwAB/wMAAf8DSgGLBAADUQGgAQABzAH3Af8BAAHMAfcB/wEAAcwB9wH/AQABzAH3Af8DQwF3 - CAADSgGNAgAB7AH/AgAB7AH/AgAB7wH/AgAB7AH/AgAB7AH/AgAB7QH/AVICUwGoA1IBqAMAAf8DAAH/ - AwAB/wNRAfcDQAH9A1ABnwsAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wNSAagEAANSAakDNAFVAzQBVQNG - AYADUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDRQF/AzQBVQM0AVUDUgGpBAADUQGiAwAB/wMAAf8DSQGJ - CAADLwFKAwAB/wNUAe4MAANJAYkDAAH/AwAB/wNRAaIDAAEBAT8CQAFvAT4CXAH4AQABzQH3Af8BAAHN - AfcB/wMSARgIAAMBAQIDRgF+AlIBXQHwAgAB7gH/AgAB7gH/AkABqAH9AUUCRgF+AwMBBANSAagDAAH/ - AwAB/wMAAf8DAAH/AwAB/wM0AVULAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DUgGoBAADUgGpAzQBVQM0 - AVUDPwFuAzIBUBAAAycBOwNEAXwDNAFVAzQBVQNSAakEAANRAaIDAAH/AwAB/wNJAYkMAANUAe4DAAH/ - Ay8BSggAA0kBiQMAAf8DAAH/A1EBogMAAQEBPwJAAW8BPgJcAfgBAAHOAfgB/wEAAc4B+AH/AxIBGBAA - AxcBIAEAAbwB9wH/AQABxAH3Af8BQAKoAf0BRQJGAX4DAwEEA0QBewMAAf8DAAH/AwAB/wMAAf8DAAH/ - AwAB/wNcAdQDWgHVAwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/A0QBewQAA1IBqQM0AVUDNAFVAwUBBwNV - AbUDEQEXA1IBqQMpAT4EAANQAZ8DEQEXAzQBVQM0AVUDUgGpCAADSgGLAwAB/wMAAf8DTwGcCAADVAGr - AwAB/wNNAZUEAANPAZwDAAH/AwAB/wNKAYsEAANRAaABAAHOAfgB/wEAAc8B+QH/AQABzwH5Af8BAAHP - AfkB/wNDAXcQAANEAXoBAAHPAfkB/wEAAc8B+QH/AQABzwH5Af8BAAHOAfgB/wFSAlMBqAM1AVYDAAH/ - AwAB/wMAAf8DAAH/AwAB/wNaAdsIAANaAdsDAAH/AwAB/wMAAf8DAAH/AwAB/wM1AVYEAANSAakDNAFV - AzQBVQQAAzwBaANWAb4DIwE0A1UBtQMSARkDUQGgBAADNAFVAzQBVQNSAakMAANCAXQDAAH/A0wB8wMq - AUAEAAM8AWcDAAH/A1oB2wMSARkDTAHzAwAB/wNBAXMIAAFLAkwBkAEAAdAB+gH/AQAB0AH6Af8BAAHQ - AfoB/wEAAdAB+gH/ASkCTQH6A0MBeAMSARkDEwEaA0QBegEoAl8B+wEAAdAB+gH/AQAB0AH6Af8BAAHQ - AfoB/wEAAdAB+gH/A0oBjAMKAQ4DWgHYAwAB/wMAAf8DAAH/AwAB/wNaAdsIAANaAdsDAAH/AwAB/wMA - Af8DAAH/A1oB2AMKAQ4EAANSAakDNAFVAzQBVQMAAQEDLQFGAwoBDgQAAzkBXwNcAc4DKAE8BAADNAFV - AzQBVQNSAakQAAM4AVwDJgE4CAADFwEgAwAB/wMAAf8DHQEqAyYBOAM2AVkMAAMVAR0DPQFpAzoBYgFc - AmAB1AEAAdEB+gH/AQAB0QH6Af8BAAHQAfoB/wEAAcsB8wH/AQABywHzAf8BAAHQAfoB/wEAAdEB+gH/ - AQAB0QH6Af8BXQJhAeIDOgFiAz0BaQMUARwEAAMuAUcDAAH/AwAB/wMAAf8DAAH/AwAB/wNcAdQDXAHU - AwAB/wMAAf8DAAH/AwAB/wMAAf8DLgFHCAADUgGpAzQBVQM0AVUDMwFTA1IBpgNKAYwHAAEBA0cBgwgA - AzQBVQM0AVUDUgGpJAADVgG+AwAB/wNCAXQcAAMHAQoBWQJnAfIBAAHSAfsB/wEAAdIB+wH/AQAB0gH7 - Af8BAAHSAfsB/wEAAdIB+wH/AQAB0gH7Af8BAAHSAfsB/wEAAdIB+wH/ASsCXwH7AxEBFxAAA0UBfwMA - Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DRQF/DAADUgGpAzQBVQM0AVUDEQEX - A1ABngMkATYUAAM0AVUDNAFVA1IBqSQAA0QBewMAAf8DVwG/HAABMAIxAU0BAAHSAfwB/wEAAdIB/AH/ - AVkCYAHrAVsCXgHZAQAB0gH8Af8BAAHSAfwB/wFbAmEB4QFdAmEB4gEAAdIB/AH/AQAB0gH8Af8DOAFe - FAADIAEuA1cBvwMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wNXAb8DIAEuEAADUgGpAyIBMgNSAakDUgGp - A1IBqQNSAakDUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDIgEyA1IBqSQAAx0BKgM3AVsDDQESHAADBQEH - A0wBkgFWAlgBwQMVAR0DPQFpAQAB0wH8Af8BAAHTAfwB/wFFAkYBfwMQARUDVgGzAUsCTAGPAwQBBhgA - AwcBCQM3AVoDSAGEA1MBrANTAawDSAGEAzcBWgMHAQkUAANQAaMDUgGpA1IBqQNSAakDUgGpA1IBqQNS - AakDUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDUAGjXAADFQEdAUICWQH1AVECbQH3AyABLxgAAUIBTQE+ - BwABPgMAASgDAAFAAwABIAMAAQEBAAEBBgABARYAA/8BAAH+AR8B/gE/BAAB+AEDAfABHwQAAfABAQGA - AQ8EAAHgAQEBAwGHBAAB4AEBAT8BAwQAAeABAAEwAQMEAAHAAUABAAERBAABwQHgAQABCAQAAcEB4AEA - AQQEAAHAAUEBgAUAAYABAQHABQABgAEDAeABIAQAARABBwHwBQABhAF/AfgFAAHBAf8B/AEDBAABzwH/ - Af4BPwQAAfABDwGAAQEC/wH8AQEB4AEHAb8B/QH4Af8BwAEAAcABAwGgAR0B+AH/AcABAAGAAQEBoQH9 - AfgB/wHAAQABAQGAAb8B/QHgAWcCAAEBAoABAQHAAUMCAAEBAYABjwHxAYQBYQEDAQABAQKAAQEBDAFw - AQMBAAEBAYABgwHBAQ4BMAEDAcACAAGAAUEBhgEhAQMBwAEBAYABiAERAcIBAwIAAQEBgAGBAREB5gEH - AgABgAEBAYEBMQH/AR8BwAEDAcABAwGBAfEB/wEfAcABAwHgAQcBgAEBAf8BHwHAAQMB8AEPAYABAQL/ - AfwBPws= + A1IBqQNSAakDUgGpA1IBqQNSAakDUgGpA1ABo1wAAxUBHQFCAlkB9QFRAm0B9wMgAS8YAAFCAU0BPgcA + AT4DAAEoAwABQAMAASADAAEBAQABAQYAAQEWAAP/AQAB/gEfAf4BPwQAAfgBAwHwAR8EAAHwAQEBgAEP + BAAB4AEBAQMBhwQAAeABAQE/AQMEAAHgAQABMAEDBAABwAFAAQABEQQAAcEB4AEAAQgEAAHBAeABAAEE + BAABwAFBAYAFAAGAAQEBwAUAAYABAwHgASAEAAEQAQcB8AUAAYQBfwH4BQABwQH/AfwBAwQAAc8B/wH+ + AT8EAAHwAQ8BgAEBAv8B/AEBAeABBwG/Af0B+AH/AcABAAHAAQMBoAEdAfgB/wHAAQABgAEBAaEB/QH4 + Af8BwAEAAQEBgAG/Af0B4AFnAgABAQKAAQEBwAFDAgABAQGAAY8B8QGEAWEBAwEAAQECgAEBAQwBcAED + AQABAQGAAYMBwQEOATABAwHAAgABgAFBAYYBIQEDAcABAQGAAYgBEQHCAQMCAAEBAYABgQERAeYBBwIA + AYABAQGBATEB/wEfAcABAwHAAQMBgQHxAf8BHwHAAQMB4AEHAYABAQH/AR8BwAEDAfABDwGAAQEC/wH8 + AT8L