diff --git a/SpineViewer/Controls/SpinePreviewPanel.Designer.cs b/SpineViewer/Controls/SpinePreviewPanel.Designer.cs
index b4d6ac5..3dd5e9a 100644
--- a/SpineViewer/Controls/SpinePreviewPanel.Designer.cs
+++ b/SpineViewer/Controls/SpinePreviewPanel.Designer.cs
@@ -32,7 +32,6 @@
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SpinePreviewPanel));
panel_Render = new Panel();
tableLayoutPanel1 = new TableLayoutPanel();
- panel_Container = new Panel();
flowLayoutPanel1 = new FlowLayoutPanel();
button_Stop = new Button();
imageList = new ImageList(components);
@@ -40,11 +39,16 @@
button_Start = new Button();
button_ForwardStep = new Button();
button_ForwardFast = new Button();
+ button_FullScreen = new Button();
+ panel_ViewContainer = new Panel();
+ panel_RenderContainer = new Panel();
toolTip = new ToolTip(components);
+ spinePreviewFullScreenForm = new SpineViewer.Forms.SpinePreviewFullScreenForm();
wallpaperForm = new WallpaperForm();
tableLayoutPanel1.SuspendLayout();
- panel_Container.SuspendLayout();
flowLayoutPanel1.SuspendLayout();
+ panel_ViewContainer.SuspendLayout();
+ panel_RenderContainer.SuspendLayout();
SuspendLayout();
//
// panel_Render
@@ -64,8 +68,8 @@
//
tableLayoutPanel1.ColumnCount = 1;
tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
- tableLayoutPanel1.Controls.Add(panel_Container, 0, 0);
tableLayoutPanel1.Controls.Add(flowLayoutPanel1, 0, 1);
+ tableLayoutPanel1.Controls.Add(panel_ViewContainer, 0, 0);
tableLayoutPanel1.Dock = DockStyle.Fill;
tableLayoutPanel1.Location = new Point(0, 0);
tableLayoutPanel1.Margin = new Padding(0);
@@ -76,17 +80,6 @@
tableLayoutPanel1.Size = new Size(641, 636);
tableLayoutPanel1.TabIndex = 2;
//
- // panel_Container
- //
- panel_Container.BackColor = SystemColors.ControlDark;
- panel_Container.Controls.Add(panel_Render);
- panel_Container.Dock = DockStyle.Fill;
- panel_Container.Location = new Point(0, 0);
- panel_Container.Margin = new Padding(0);
- panel_Container.Name = "panel_Container";
- panel_Container.Size = new Size(641, 594);
- panel_Container.TabIndex = 0;
- //
// flowLayoutPanel1
//
flowLayoutPanel1.Anchor = AnchorStyles.None;
@@ -97,10 +90,11 @@
flowLayoutPanel1.Controls.Add(button_Start);
flowLayoutPanel1.Controls.Add(button_ForwardStep);
flowLayoutPanel1.Controls.Add(button_ForwardFast);
- flowLayoutPanel1.Location = new Point(138, 594);
+ flowLayoutPanel1.Controls.Add(button_FullScreen);
+ flowLayoutPanel1.Location = new Point(101, 594);
flowLayoutPanel1.Margin = new Padding(0);
flowLayoutPanel1.Name = "flowLayoutPanel1";
- flowLayoutPanel1.Size = new Size(365, 42);
+ flowLayoutPanel1.Size = new Size(438, 42);
flowLayoutPanel1.TabIndex = 1;
//
// button_Stop
@@ -123,18 +117,19 @@
imageList.ColorDepth = ColorDepth.Depth32Bit;
imageList.ImageStream = (ImageListStreamer)resources.GetObject("imageList.ImageStream");
imageList.TransparentColor = Color.Transparent;
- imageList.Images.SetKeyName(0, "stop");
- imageList.Images.SetKeyName(1, "restart");
- imageList.Images.SetKeyName(2, "start");
+ imageList.Images.SetKeyName(0, "arrows-maximize");
+ imageList.Images.SetKeyName(1, "forward-fast");
+ imageList.Images.SetKeyName(2, "forward-step");
imageList.Images.SetKeyName(3, "pause");
- imageList.Images.SetKeyName(4, "forward-step");
- imageList.Images.SetKeyName(5, "forward-fast");
+ imageList.Images.SetKeyName(4, "rotate-left");
+ imageList.Images.SetKeyName(5, "start");
+ imageList.Images.SetKeyName(6, "stop");
//
// button_Restart
//
button_Restart.AutoSize = true;
button_Restart.AutoSizeMode = AutoSizeMode.GrowAndShrink;
- button_Restart.ImageKey = "restart";
+ button_Restart.ImageKey = "rotate-left";
button_Restart.ImageList = imageList;
button_Restart.Location = new Point(76, 3);
button_Restart.Name = "button_Restart";
@@ -191,17 +186,69 @@
button_ForwardFast.UseVisualStyleBackColor = true;
button_ForwardFast.Click += button_ForwardFast_Click;
//
+ // button_FullScreen
+ //
+ button_FullScreen.AutoSize = true;
+ button_FullScreen.AutoSizeMode = AutoSizeMode.GrowAndShrink;
+ button_FullScreen.ImageKey = "arrows-maximize";
+ button_FullScreen.ImageList = imageList;
+ button_FullScreen.Location = new Point(368, 3);
+ button_FullScreen.Name = "button_FullScreen";
+ button_FullScreen.Padding = new Padding(15, 3, 15, 3);
+ button_FullScreen.Size = new Size(67, 36);
+ button_FullScreen.TabIndex = 5;
+ toolTip.SetToolTip(button_FullScreen, "全屏预览");
+ button_FullScreen.UseVisualStyleBackColor = true;
+ button_FullScreen.Click += button_FullScreen_Click;
+ //
+ // panel_ViewContainer
+ //
+ panel_ViewContainer.Controls.Add(panel_RenderContainer);
+ panel_ViewContainer.Dock = DockStyle.Fill;
+ panel_ViewContainer.Location = new Point(0, 0);
+ panel_ViewContainer.Margin = new Padding(0);
+ panel_ViewContainer.Name = "panel_ViewContainer";
+ panel_ViewContainer.Size = new Size(641, 594);
+ panel_ViewContainer.TabIndex = 6;
+ //
+ // panel_RenderContainer
+ //
+ panel_RenderContainer.BackColor = SystemColors.ControlDark;
+ panel_RenderContainer.Controls.Add(panel_Render);
+ panel_RenderContainer.Dock = DockStyle.Fill;
+ panel_RenderContainer.Location = new Point(0, 0);
+ panel_RenderContainer.Margin = new Padding(0);
+ panel_RenderContainer.Name = "panel_RenderContainer";
+ panel_RenderContainer.Size = new Size(641, 594);
+ panel_RenderContainer.TabIndex = 0;
+ panel_RenderContainer.SizeChanged += panel_RenderContainer_SizeChanged;
+ //
+ // spinePreviewFullScreenForm
+ //
+ spinePreviewFullScreenForm.ClientSize = new Size(2560, 1440);
+ spinePreviewFullScreenForm.ControlBox = false;
+ spinePreviewFullScreenForm.FormBorderStyle = FormBorderStyle.None;
+ spinePreviewFullScreenForm.MaximizeBox = false;
+ spinePreviewFullScreenForm.MinimizeBox = false;
+ spinePreviewFullScreenForm.Name = "SpinePreviewFullScreenForm";
+ spinePreviewFullScreenForm.ShowIcon = false;
+ spinePreviewFullScreenForm.ShowInTaskbar = false;
+ spinePreviewFullScreenForm.StartPosition = FormStartPosition.Manual;
+ spinePreviewFullScreenForm.TopMost = true;
+ spinePreviewFullScreenForm.Visible = false;
+ spinePreviewFullScreenForm.KeyDown += spinePreviewFullScreenForm_KeyDown;
+ //
// wallpaperForm
//
- wallpaperForm.ClientSize = new Size(490, 456);
+ wallpaperForm.ClientSize = new Size(512, 512);
wallpaperForm.ControlBox = false;
+ wallpaperForm.FormBorderStyle = FormBorderStyle.None;
wallpaperForm.MaximizeBox = false;
wallpaperForm.MinimizeBox = false;
wallpaperForm.Name = "WallpaperForm";
wallpaperForm.ShowIcon = false;
wallpaperForm.ShowInTaskbar = false;
wallpaperForm.StartPosition = FormStartPosition.Manual;
- wallpaperForm.Text = "SpineViewerWallpaperForm";
wallpaperForm.Visible = false;
//
// SpinePreviewPanel
@@ -211,12 +258,12 @@
Controls.Add(tableLayoutPanel1);
Name = "SpinePreviewPanel";
Size = new Size(641, 636);
- SizeChanged += SpinePreviewPanel_SizeChanged;
tableLayoutPanel1.ResumeLayout(false);
tableLayoutPanel1.PerformLayout();
- panel_Container.ResumeLayout(false);
flowLayoutPanel1.ResumeLayout(false);
flowLayoutPanel1.PerformLayout();
+ panel_ViewContainer.ResumeLayout(false);
+ panel_RenderContainer.ResumeLayout(false);
ResumeLayout(false);
}
@@ -224,7 +271,7 @@
private Panel panel_Render;
private TableLayoutPanel tableLayoutPanel1;
- private Panel panel_Container;
+ private Panel panel_RenderContainer;
private FlowLayoutPanel flowLayoutPanel1;
private Button button_Stop;
private Button button_Start;
@@ -233,6 +280,9 @@
private Button button_ForwardStep;
private Button button_ForwardFast;
private Button button_Restart;
+ private Button button_FullScreen;
+ private Panel panel_ViewContainer;
+ private Forms.SpinePreviewFullScreenForm spinePreviewFullScreenForm;
private WallpaperForm wallpaperForm;
}
}
diff --git a/SpineViewer/Controls/SpinePreviewPanel.cs b/SpineViewer/Controls/SpinePreviewPanel.cs
index f07ecf1..3339c16 100644
--- a/SpineViewer/Controls/SpinePreviewPanel.cs
+++ b/SpineViewer/Controls/SpinePreviewPanel.cs
@@ -22,11 +22,13 @@ namespace SpineViewer.Controls
InitializeComponent();
renderWindow = new(panel_Render.Handle);
renderWindow.SetActive(false);
- wallpaperTexture = new(1, 1);
- _wallpaperFormHandle = wallpaperForm.Handle;
+ wallpaperWindow = new(wallpaperForm.Handle);
+ wallpaperWindow.SetVisible(false);
+ wallpaperWindow.SetActive(false);
// 设置默认参数
Resolution = new(2048, 2048);
+ Zoom = 1;
Center = new(0, 0);
FlipY = true;
MaxFps = 30;
@@ -71,49 +73,36 @@ namespace SpineViewer.Controls
get => resolution;
set
{
+ if (value == resolution) return;
if (value.Width <= 0) value.Width = 100;
if (value.Height <= 0) value.Height = 100;
- float parentX = panel_Render.Parent.Width;
- float parentY = panel_Render.Parent.Height;
- float sizeX = value.Width;
- float sizeY = value.Height;
+ var previousZoom = Zoom;
- if ((sizeY / sizeX) < (parentY / parentX))
- {
- // 相同的 X, 子窗口 Y 更小
- sizeY = parentX * sizeY / sizeX;
- sizeX = parentX;
- }
- else
- {
- // 相同的 Y, 子窗口 X 更小
- sizeX = parentY * sizeX / sizeY;
- sizeY = parentY;
- }
+ float parentW = panel_Render.Parent.Width;
+ float parentH = panel_Render.Parent.Height;
+ float renderW = value.Width;
+ float renderH = value.Height;
+ float scale = Math.Min(parentW / renderW, parentH / renderH); // 两方向取较小值, 保证 parent 覆盖 render
+ renderW *= scale;
+ renderH *= scale;
// 必须通过 SFML 的方法调整窗口
- renderWindow.Position = new((int)(parentX - sizeX) / 2, (int)(parentY - sizeY) / 2);
- renderWindow.Size = new((uint)sizeX, (uint)sizeY);
-
- // 将 view 的大小设置成于 resolution 相同的大小, 其余属性都不变
- using var view = renderWindow.GetView();
- var signX = Math.Sign(view.Size.X);
- var signY = Math.Sign(view.Size.Y);
- view.Size = new(value.Width * signX, value.Height * signY);
- renderWindow.SetView(view);
-
+ renderWindow.Position = new((int)((parentW - renderW) / 2 + 0.5), (int)((parentH - renderH) / 2 + 0.5));
+ renderWindow.Size = new((uint)(renderW + 0.5), (uint)(renderH + 0.5));
resolution = value;
+ // 设置完 resolution 后还原缩放比例
+ Zoom = previousZoom;
+
// 设置壁纸窗口分辨率
wallpaperForm.Size = value;
- _memDCsize = new() { cx = value.Width, cy = value.Height };
- wallpaperTexture.Dispose();
- wallpaperTexture = new((uint)value.Width, (uint)value.Height);
- wallpaperTexture.SetView(view);
+ wallpaperWindow.Size = new((uint)value.Width, (uint)value.Height);
+ using var view = renderWindow.GetView();
+ wallpaperWindow.SetView(view);
}
}
- private Size resolution = new(0, 0);
+ private Size resolution = new(100, 100);
///
/// 画面中心点
@@ -133,7 +122,7 @@ namespace SpineViewer.Controls
using var view = renderWindow.GetView();
view.Center = new(value.X, value.Y);
renderWindow.SetView(view);
- wallpaperTexture.SetView(view);
+ wallpaperWindow.SetView(view);
}
}
@@ -157,7 +146,7 @@ namespace SpineViewer.Controls
var signY = Math.Sign(view.Size.Y);
view.Size = new(resolution.Width / value * signX, resolution.Height / value * signY);
renderWindow.SetView(view);
- wallpaperTexture.SetView(view);
+ wallpaperWindow.SetView(view);
}
}
@@ -178,7 +167,7 @@ namespace SpineViewer.Controls
using var view = renderWindow.GetView();
view.Rotation = value;
renderWindow.SetView(view);
- wallpaperTexture.SetView(view);
+ wallpaperWindow.SetView(view);
}
}
@@ -202,7 +191,7 @@ namespace SpineViewer.Controls
size.X *= -1;
view.Size = size;
renderWindow.SetView(view);
- wallpaperTexture.SetView(view);
+ wallpaperWindow.SetView(view);
}
}
@@ -226,7 +215,7 @@ namespace SpineViewer.Controls
size.Y *= -1;
view.Size = size;
renderWindow.SetView(view);
- wallpaperTexture.SetView(view);
+ wallpaperWindow.SetView(view);
}
}
@@ -270,17 +259,16 @@ namespace SpineViewer.Controls
if (enableDesktopProjection == value) return;
if (value)
{
- screenDC = Win32.GetDC(IntPtr.Zero);
- memDC = Win32.CreateCompatibleDC(screenDC);
+ var screenBounds = Screen.FromControl(this).Bounds;
+ Resolution = screenBounds.Size;
+ wallpaperWindow.Position = new(screenBounds.X, screenBounds.Y);
+ wallpaperWindow.Size = new((uint)screenBounds.Size.Width, (uint)screenBounds.Size.Height);
+ //wallpaperForm.SetWallpaper(); // 窗口被创建和此处都需要设置一遍嵌入桌面, 否则无法正常显示, 原因未知
wallpaperForm.Show();
}
else
{
wallpaperForm.Hide();
- Win32.DeleteDC(memDC);
- Win32.ReleaseDC(IntPtr.Zero, screenDC);
- memDC = 0;
- screenDC = 0;
}
enableDesktopProjection = value;
}
@@ -311,24 +299,10 @@ namespace SpineViewer.Controls
///
private readonly SFML.Graphics.RenderWindow renderWindow;
- ///
- /// 屏幕 DC
- ///
- private IntPtr screenDC;
-
- ///
- /// 用于壁纸窗口的内存 DC
- ///
- private IntPtr memDC;
- private readonly IntPtr _wallpaperFormHandle;
- private Win32.SIZE _memDCsize = new();
- private Win32.POINT _memDCptSrc = new() { x = 0, y = 0 };
- private Win32.BLENDFUNCTION _memDCblend = new() { BlendOp = 0, BlendFlags = 0, SourceConstantAlpha = 255, AlphaFormat = Win32.AC_SRC_ALPHA };
-
///
/// 壁纸窗口
///
- private SFML.Graphics.RenderTexture wallpaperTexture;
+ private SFML.Graphics.RenderWindow wallpaperWindow;
///
/// 帧间隔计时器
@@ -406,7 +380,7 @@ namespace SpineViewer.Controls
try
{
renderWindow.SetActive(true);
- wallpaperTexture.SetActive(true);
+ wallpaperWindow.SetActive(true);
float delta;
while (cancelToken is not null && !cancelToken.IsCancellationRequested)
@@ -425,7 +399,7 @@ namespace SpineViewer.Controls
}
renderWindow.Clear(BackgroundColor);
- if (enableDesktopProjection) wallpaperTexture.Clear(SFML.Graphics.Color.Transparent);
+ if(enableDesktopProjection) wallpaperWindow.Clear(BackgroundColor);
if (ShowAxis)
{
@@ -460,30 +434,14 @@ namespace SpineViewer.Controls
renderWindow.Draw(spine);
spine.EnableDebug = false;
- if (enableDesktopProjection) wallpaperTexture.Draw(spine);
+ if (enableDesktopProjection) wallpaperWindow.Draw(spine);
}
}
}
renderWindow.Display();
-
- // 桌面投影
- if (enableDesktopProjection)
- {
- wallpaperTexture.Display();
- using var img = wallpaperTexture.Texture.CopyToImage();
- img.SaveToMemory(out var imgBuffer, "bmp");
- using var stream = new MemoryStream(imgBuffer);
- using var bitmap = new Bitmap(stream);
- var newBitmap = bitmap.GetHbitmap(Color.FromArgb(0));
- var oldBitmap = Win32.SelectObject(memDC, newBitmap);
-
- Win32.UpdateLayeredWindow(_wallpaperFormHandle, screenDC, IntPtr.Zero, ref _memDCsize, memDC, ref _memDCptSrc, 0, ref _memDCblend, Win32.ULW_ALPHA);
-
- Win32.SelectObject(memDC, oldBitmap);
- Win32.DeleteObject(newBitmap);
- }
+ if (enableDesktopProjection) wallpaperWindow.Display();
}
}
catch (Exception ex)
@@ -495,7 +453,7 @@ namespace SpineViewer.Controls
finally
{
renderWindow.SetActive(false);
- wallpaperTexture.SetActive(false);
+ wallpaperWindow.SetActive(false);
}
}
@@ -506,7 +464,7 @@ namespace SpineViewer.Controls
///
private SFML.System.Vector2f? draggingSrc = null;
- private void SpinePreviewPanel_SizeChanged(object sender, EventArgs e)
+ private void panel_RenderContainer_SizeChanged(object sender, EventArgs e)
{
if (renderWindow is null)
return;
@@ -516,12 +474,12 @@ namespace SpineViewer.Controls
float renderW = panel_Render.Width;
float renderH = panel_Render.Height;
float scale = Math.Min(parentW / renderW, parentH / renderH); // 两方向取较小值, 保证 parent 覆盖 render
- renderH *= scale;
renderW *= scale;
+ renderH *= scale;
- // 必须通过 SFML 的方法调整窗口
- renderWindow.Position = new((int)(parentW - renderW) / 2, (int)(parentH - renderH) / 2);
- renderWindow.Size = new((uint)renderW, (uint)renderH);
+ // 必须通过 SFML 的方法调整窗口, 此处必须四舍五入, 否则在全屏和小窗多次切换之后会有明显的舍入误差
+ renderWindow.Position = new((int)((parentW - renderW) / 2 + 0.5), (int)((parentH - renderH) / 2 + 0.5));
+ renderWindow.Size = new((uint)(renderW + 0.5), (uint)(renderH + 0.5));
}
private void panel_Render_MouseDown(object sender, MouseEventArgs e)
@@ -733,6 +691,25 @@ namespace SpineViewer.Controls
}
}
+ private void button_FullScreen_Click(object sender, EventArgs e)
+ {
+ var screenBounds = Screen.FromControl(this).Bounds;
+ Resolution = screenBounds.Size;
+ spinePreviewFullScreenForm.Controls.Add(panel_RenderContainer);
+ spinePreviewFullScreenForm.Bounds = screenBounds;
+ spinePreviewFullScreenForm.Show();
+ PropertyGrid?.Refresh();
+ }
+
+ private void spinePreviewFullScreenForm_KeyDown(object sender, KeyEventArgs e)
+ {
+ if (e.KeyCode == Keys.Escape)
+ {
+ spinePreviewFullScreenForm.Hide();
+ panel_ViewContainer.Controls.Add(panel_RenderContainer);
+ }
+ }
+
//public void ClickStopButton() => button_Stop_Click(button_Stop, EventArgs.Empty);
//public void ClickRestartButton() => button_Restart_Click(button_Restart, EventArgs.Empty);
//public void ClickStartButton() => button_Start_Click(button_Start, EventArgs.Empty);
diff --git a/SpineViewer/Controls/SpinePreviewPanel.resx b/SpineViewer/Controls/SpinePreviewPanel.resx
index 8884137..d6999fd 100644
--- a/SpineViewer/Controls/SpinePreviewPanel.resx
+++ b/SpineViewer/Controls/SpinePreviewPanel.resx
@@ -124,206 +124,170 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
- SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAHi0AAAJNU0Z0AUkBTAIBAQYB
- AAGIAQABiAEAAR8BAAEYAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABfAMAATADAAEBAQABIAYAAV0q
- AAQCAy0BRQNbAc0DYAHoA1kBxgMyAU8DDwEUBAIYAAMOARIDQwF3A10BzwNbAc0DLQFFBAIYAANWAbID
- YAHoA1wB1gNDAXcDFgEeBAIYAAMKAQ0DSQGFA2AB4wNfAeUDUQGeAyQBNAMJAQsEARgAAwsBDgM7AWQD
- XgHSA1YBsv8AEQAEAgMxAUwDYgHhAwAB/wM3AfkDYAHbA0QBewMeASoDBgEIFAADGAEhA1cBwgMhAfsD
- YgHhAzEBTAQCGAADWQHDAwAB/wMnAfwDYQHrA0gBhAMWAR4YAAMLAQ4DTQGSAzQB+QMSAf4DVwHyA1gB
- ugM3AVoDEQEWAwIBAxQAAxcBHwNJAYYDYQHrA1kBw/8AEQAEAgMxAUwDYgHhAwAB/wMAAf8DJAH9A2AB
- 4ANQAZoDLgFGAxEBFgMGAQcEAQgAAxoBJANbAc0DAAH/A2IB4QMxAUwEAhgAA1kBwwMAAf8DAAH/AwAB
- /wNbAdADPgFrAw8BEwMCAQMQAAMLAQ4DTQGSAzQB+QMAAf8DAAH/A0IB9gNcAcsDRAF5Ax4BKgMGAQcM
- AAQBAxgBIQNKAYsDXQHsA1kBw/8AEQAEAgMxAUwDYgHhAwAB/wM3AfkDXAHnA0YB9QNZAe4DWQG7A0MB
- dwMoATsDDwEUBAEEAAMaASQDWwHNAwAB/wNiAeEDMQFMBAIYAANZAcMDJgH8A1MB8ANGAfUDNwH5A10B
- zgNDAXcDGgEjAwIBAwwAAwsBDgNNAZIDNAH5AwEB/wMnAfoDPQH4AzcB+QNgAeMDTgGYAyQBNQMGAQgE
- AQQABAEDGAEhA0oBiwNdAewDWQHD/wARAAQCAzEBTANiAeEDAAH/A1wB2QM7AWMDWQG7A0QB9wM8AfgD
- XAHnA1sBxQNBAXMDEwEZAwIBAwMaASQDWwHNAwAB/wNiAeEDMQFMBAIYAANZAcMDYQHrA1ABmgNVAbED
- UAHzAyEB+wNbAeQDSwGPAxsBJQMDAQQIAAMLAQ4DTQGSAzQB+QMlAf0DXAHZA1oBxwNGAfUDEgH+A2EB
- 6wNSAaMDJQE3AwMBBAQABAEDGAEhA0oBiwNdAewDWQHD/wARAAQCAzEBTANiAeEDAAH/A1sBzQMaASQD
- FgEdA1UBrwMAAf8DAAH/AwAB/wMAAf8DVQGvAxYBHQMaASQDWwHNAwAB/wNiAeEDMQFMBAIYAANZAcMD
- WwHkAzsBZQMHAQkDSQGGAyEB+wMAAf8DAAH/A1kBwQMdASkIAAMLAQ4DTQGSAzQB+QM0AfkDTQGSAzkE
- XgHiAwAB/wMAAf8DYAHjAzYBWAMFAQYEAAQBAxgBIQNKAYsDXQHsA1kBw/8AEQAEAgMxAUwDYgHhAwAB
- /wNbAc0DGgEkAwIBAwMTARoDRgF/A1sB3gMhAfsDEgH+AzwB+ANZAbsDOwFjA1wB2QMAAf8DYgHhAzEB
- TAQCGAADWQHDA1sB5AM7AWUDBwQJAQwDOgFhA18B1QNFAfUDNwH5A1sBygMyAU8DDwEUAw0BEQNNAZID
- NAH5AzQB+QNNAZIDEQEWAy0BRANaAb8DWAHvAyEB+wNdAdwDPwFuAxYBHgMEAQUDGAEhA0oBiwNdAewD
- WQHD/wARAAQCAzEBTANiAeEDAAH/A1sBzQMaASQEAAQCAxMBGgM9AWcDWQHAA1gB7wMSAf4DRAH3A1wB
- 5wM3AfkDAAH/A2IB4QMxAUwEAhgAA1kBwwNbAeQDOwFlAwcBCQQAAwsBDgMxAU0DWAG9A0IB9gM3AfkD
- YAHbA0QBeAMhAS8DTgGVAzQB+QM0AfkDTQGSAwsBDgMGAQgDIAEuA00BkgNdAdwDRgH1A1oB6QNOAZYD
- KAE8AyABLQNLAY0DXQHsA1kBw/8AEQAEAgMxAUwDYgHhAwAB/wNbAc0DGgEkCAAEAgMMARADLwFJA1IB
- owNbAeQDRAH3AxIB/gMAAf8DAAH/A2IB4QMxAUwEAhgAA1kBwwNbAeQDOwFlAwcBCQgAAxABFQM/AW0D
- XAHWAycB+gMkAf0DXAHWA0QBeQNUAasDIQH7AzQB+QNNAZIDCwEOBAADAwEEAxsBJgNBAXMDWgHEA00B
- 9ANZAe4DVQG0A0QBegNRAaIDWQHuA1kBw/8AEQAEAgMxAUwDYgHhAwAB/wNbAc0DGgEkEAADCAEKAyMB
- MwNEAXkDVwG8A18B5QMnAfoDAAH/A2IB4QMxAUwEAhgAA1kBwwNbAeQDOwFlAwcBCQgAAwMBBAMaASQD
- QgF0A14B0gMhAfsDQgH2A10B0QNgAeADJAH9AzQB+QNNAZIDCwEOCAADAgEDAxIBFwM1AVUDWAG6A1gB
- 8QNCAfYDWwHeA2AB2wM8AfgDWQHD/wARAAQCAzEBTANiAeEDAAH/A1sBzQMaASQUAAMCAQMDDgESAyMB
- MgM9AWgDXgHdAwAB/wNiAeEDMQFMBAIYAANZAcMDWwHkAzsBZQMHAQkMAAMCAQMDDwETAzQBUwNdAdED
- PAH4AyUB/AMlAf0DAAH/AzQB+QNNAZIDCwEODAAEAQMJAQwDIwEzA1UBrgMmAf0DJAH9AyUB/AMSAf4D
- WQHD/wARAAQCAzEBTANiAeEDAAH/A1sBzQMaASQgAAMaASQDWwHNAwAB/wNiAeEDMQFMBAIYAANZAcMD
- WwHkAzsBZQMHAQkYAAMPARQDVwG5AwAB/wMAAf8DAAH/AzQB+QNNAZIDCwEOGAADRwGAA14B7QMAAf8D
- AAH/AwAB/wNZAcP/ABEABAIDMQFMA2IB4QMAAf8DWwHNAxoBJBQABAIDBwEJAxYBHQM1AVUDXAHZAwAB
- /wNiAeEDMQFMBAIYAANZAcMDWwHkAzsBZQMHAQkMAAQBAw0BEQM0AVMDXQHRAzcB+QMTAf4DEgH+AwAB
- /wM0AfkDTQGSAwsBDgwABAEDCQELAx4BKwNTAakDJgH9AyQB/QMlAfwDEgH+A1kBw/8AEQAEAgMxAUwD
- YgHhAwAB/wNbAc0DGgEkEAADBwEJAxsBJgM0AVMDTQGSA14B3QM3AfkDAAH/A2IB4QMxAUwEAhgAA1kB
- wwNbAeQDOwFlAwcBCQgABAIDEAEVAzkBXgNbAc0DIQH7AyEB+wNcAecDWQHuAxIB/gM0AfkDTQGSAwsB
- DggAAwIBAwMSARcDNQFVA1gBuANYAfEDQgH2A1sB3gNgAdsDPAH4A1kBw/8AEQAEAgMxAUwDYgHhAwAB
- /wNbAc0DGgEkCAAEAgMMARADLgFGA00BkgNcAcgDYQHrAyQB/QMAAf8DAAH/A2IB4QMxAUwEAhgAA1kB
- wwNbAeQDOwFlAwcBCQgAAwkBDAMxAU4DWAG3A1AB8wMkAf0DXgHdA04BlgNZAb4DJQH8AzQB+QNNAZID
- CwEOBAADAwEEAxsBJgNBAXMDWgHEA00B9ANZAe4DVQG0A0QBegNRAaIDWQHuA1kBw/8AEQAEAgMxAUwD
- YgHhAwAB/wNbAc0DGgEkBAAEAgMTARoDPQFnA1oBvwNhAesDJwH6A0MB9gNcAecDNwH5AwAB/wNiAeED
- MQFMBAIYAANZAcMDWwHkAzsBZQMHAQkEAAMLAQ4DLgFHA1UBrQNYAe8DPQH4A2AB2wNEAXoDJAE1A04B
- mAMmAfoDNAH5A00BkgMLAQ4DBgEIAyABLgNNAZIDXQHcA0YB9QNaAekDTgGWAygBPAMgAS0DSwGNA10B
- 7ANZAcP/ABEABAIDMQFMA2IB4QMAAf8DWwHNAxoBJAMCAQMDEwEaA0YBfwNbAd4DIQH7AxIB/gM8AfgD
- WQG7AzsBYwNcAdkDAAH/A2IB4QMxAUwEAhgAA1kBwwNbAeQDOwFlAwcECQEMAzoBYQNdAdQDTQH0AzcB
- +QNbAcoDMgFPAw8BFAMNAREDTQGSAzQB+QM0AfkDTQGSAxEBFgMtAUQDWgG/A1gB7wMmAfwDYAHgA0AB
- cQMXAR8DBAEFAxgBIQNKAYsDXQHsA1kBw/8AEQAEAgMxAUwDYgHhAwAB/wNbAc0DGgEkAxYBHQNVAa8D
- AAH/AwAB/wMAAf8DAAH/A1UBrwMWAR0DGgEkA1sBzQMAAf8DYgHhAzEBTAQCGAADWQHDA1sB5AM7AWUD
- BwEJA0kBhgMhAfsDAAH/AwAB/wNZAcEDHQEpCAADCwEOA00BkgM0AfkDNAH5A00BkgM5BF4B4gMAAf8D
- AAH/A14B7QNKAYsDGAEgCAEDGAEhA0oBiwNdAewDWQHD/wARAAQCAzEBTANiAeEDAAH/A1wB2QM7AWMD
- WQG7A0QB9wMmAfwDTQH0A1wB2QNGAX4DEwEaAwIBAwMaASQDWwHNAwAB/wNiAeEDMQFMBAIYAANZAcMD
- YQHrA1ABmgNVAbEDUAHzAyEB+wNfAeUDSwGPAxsBJQMDAQQIAAMLAQ4DTQGSAzQB+QMhAfsDVgGzA0wB
- jgNhAesDEgH+A1MB8ANXAbkDLgFHAwYBCAQABAEDGAEhA0oBiwNdAewDWQHD/wARAAQCAzEBTANiAeED
- AAH/AzcB+QNcAecDRgH1A1cB8QNbAdMDUQGkAzgBWwMTARkEAgQAAxoBJANbAc0DAAH/A2IB4QMxAUwE
- AhgAA1kBwwMmAfwDUwHwA0YB9QMlAf0DXgHXA0YBfgMaASQDAgEDDAADCwEOA00BkgM0AfkDEgH+A1AB
- 8wNZAe4DRAH3A2AB4wNOAZgDJwE5AwgBCgQBBAAEAQMYASEDSgGLA10B7ANZAcP/ABEABAIDMQFMA2IB
- 4QMAAf8DAAH/AyQB/QNiAeEDUgGjAzsBYwMhAS8DCgENBAIIAAMaASQDWwHNAwAB/wNiAeEDMQFMBAIY
- AANZAcMDAAH/AwAB/wMAAf8DYAHoA0oBiwMWAR0DBAEFEAADCwEOA00BkgM0AfkDAAH/AwAB/wNCAfYD
- XAHLA0QBeQMeASoDBgEHDAAEAQMYASEDSgGLA10B7ANZAcP/ABEABAIDMQFMA2IB4QMAAf8DNwH5A2AB
- 2wNFAXwDIQEwAwwBEAMDAQQQAAMaASMDXAHIAyUB/QNiAeEDMQFMBAIYAANZAcMDAAH/AycB/ANhAesD
- TgGXAyMBMwQCFAADCwEOA00BkgM0AfkDEgH+A1cB8gNYAboDNwFaAxEBFgMCAQMUAAMXAR8DSQGGA2EB
- 6wNZAcP/ABEABAIDLQFFA14B0gNXAfIDXQHJAzIBTwMQARUDAgEDGAADEwEaA1ABnwNbAeQDWwHQAy0B
- RQQCGAADVQG0A1oB7gNfAdoDRAF4AxgBIAMDAQQYAAMKAQ0DSQGGA2AB6ANaAekDUAGfAyQBNAMJAQsE
- ARgAAwsBDgM7AWUDWwHTA1YBsv8AFQADAwEEAycBOgM/AW0DFAEbKAADDwETAzEBTgMdASkDAgEDHAAD
- DgESAzEBTQMjATMDBAEFJAADBgEHAygBPAMoATwDBgEHJAAEAQMHAQkDCwEOAwIBA/8ABQADAgEDAw8B
- FANJAYgDXwHlA2AB6ANgAegDYAHoA2AB6ANgAegDYAHoA2AB6ANgAegDYAHoA2AB6ANgAegDYAHoA2AB
- 6ANgAegDYAHoA2AB6ANgAegDYAHoA1sB5ANGAX4DBQEGBAEoAAMCAQMDDQERAx8BLAMtAUYDVwG5A2AB
- 6ANgAegDYAHoA2AB6ANgAegDYAHoA2AB4wNZAb4DMgFPAw8BEwMCAQMwAAMTARkDRgF+A2AB6ANgAegD
- WQHBAzkBXgMmATgDDwEUBAJcAAM5AV8DXgHiA1wB5wNgAegDYAHoA2AB6ANgAegDXQHcAzwBZgMGAQgD
- BgEIAzwBZgNdAdwDYAHoA2AB6ANgAegDYAHoA10B3ANQAZ0DJQE2IAADDAEQAzwBZgNdAc8DJAH9AycB
- +gNYAe8DXgHtA14B7QNeAe0DXgHtA14B7QNeAe0DXgHtA14B7QNeAe0DXgHtA14B7QNeAe0DXgHtA14B
- 7QNYAe8DJwH6AyYB/ANWAbUDKwFCAwgBCiQABAIDGAEhA0ABcANaAb8DXQHfA14B7QNYAe8DXQHsA2EB
- 5gNfAeUDXQHqA14B7QNTAfADQwH2A10B0QNDAXcDHgErAwYBBywAAz0BaQNbAd4DAQH/AzcB+QNdAewD
- WwHkA14B1wNEAXsDHgEqAwYBCFgAAz8BbAMlAf0DPAH4A1gB7wNeAe0DWQHuAycB+gNCAfYDTwGbAx4B
- KwMgAS0DUAGdA0IB9gMnAfoDWQHuA14B7QNYAe8DRAH3A1cB8gM7AWUgAAMTARkDUAGcA0QB9wNDAfYD
- XQHMA0sBjQNGAYADRgGAA0YBgANGAYADRgGAA0YBgANGAYADRgGAA0YBgANGAYADRgGAA0YBgANGAYAD
- RgGAA0sBjwNcAdkDJAH9A1cB8QNOAZQDEgEYJAADBQEGAzEBTgNbAdADVwHyA14B4gNVAa4DSgGKA0YB
- fwNDAXcDQwF2A0UBfANGAYADTwGbA14B3QNgAegDXwHaA04BlgMoATwDCQEMKAADRwGDAzwB+AMmAfwD
- WwHTA1MBpgNcAdkDNwH5A2AB4ANQAZoDLQFEAwsBDlQAAz8BbAMmAfwDWwHTA0wBjgNGAYADSgGKA10B
- 3AMlAf0DXgHdAzoBYAM6AWIDXQHfAyQB/QNdAdwDSgGKA0YBgANMAY4DWwHTAyYB/AM/AWwgAAMUARsD
- UgGlAyMB/QNbAdADPwFsAxgBIQMOARIDDgESAw4BEgMOARIDDgESAw4BEgMOARIDDgESAw4BEgMOARID
- DgESAw4BEgMOARIDDgESAyABLgNXAbkDJAH9AyMB/QNSAaUDFAEbJAADBQEGAzEBTQNaAccDXAHIA0AB
- bwMlATcDEwEaAw4BEgMNAREDDAEQAw4BEgMOARIDHQEoAzoBYANLAY8DWwHYA2EB5gNWAbYDMQFNAwYB
- CCQAA0kBhgMhAfsDNwH5A1UBrgMqAUADPwFtA10B0QNGAfUDWQHuA1gBtwM2AVcDFgEdAwwBEAQCSAAD
- PwFsAzcB+QNVAa4DIAEtAw4BEgMbASUDWQG+AwAB/wNeAe0DPwFtAz8BbQNeAe0DAAH/A1kBvgMbASUD
- DgESAyABLQNVAa4DNwH5Az8BbCAAAxQBGwNSAaUDIwH9A1YBtgMoATwDCAEKOAADFgEeA1YBswMkAf0D
- IwH9A1IBpQMUARskAAQBAw8BFAMjATMDIQEwAwsBDgMDAQQEARQABAIDBwEJAx4BKgNLAYwDXQHfA0QB
- 9wNTAakDKAE7JAADSQGGAyEB+wM3AfkDUwGnAxYBHgMMARADKgFAA1gBugNRAfMDTgH0A2AB2wNXAbwD
- QgF0AxMBGQMCAQNEAAM/AWwDNwH5A1MBpwMVARwEAAMPARQDVwG5AwAB/wNeAe0DPwFtAz8BbQNeAe0D
- AAH/A1cBuQMPARQEAAMVARwDUwGnAzcB+QM/AWwgAAMUARsDUgGlAyMB/QNVAbQDJgE4AwcBCTgAAxYB
- HgNWAbMDJAH9AyMB/QNSAaUDFAEbYAADFQEcA1MBpwM3AfkDIQH7A0kBhiQAA0kBhgMhAfsDNwH5A1MB
- pwMVARwIAAMPARMDQwF2A1wB2QMlAf0DAAH/AwAB/wNVAa8DFgEdRAADPwFsAzcB+QNTAacDFQEcBAAD
- DwEUA1cBuQMAAf8DXgHtAz8BbQM/AW0DXgHtAwAB/wNXAbkDDwEUBAADFQEcA1MBpwM3AfkDPwFsIAAD
- FAEbA1IBpQMjAf0DVQG0AyYBOAMHAQk4AAMWAR4DVgGzAyQB/QMjAf0DUgGlAxQBG2AAAwIBAwMeASoD
- VQG0A0QB9wNSAaADGwElAwUBBhwAA0kBhgMhAfsDNwH5A1MBpwMVARwIAAQCAwkBCwMYASADRAF6A2AB
- 2wNBAfcDRAH3A1kBuwMqAUADDgESAwUBBgQCNAADPwFsAzcB+QNTAacDFQEcBAADDwEUA1cBuQMAAf8D
- XgHtAz8BbQM/AW0DXgHtAwAB/wNXAbkDDwEUBAADFQEcA1MBpwM3AfkDPwFsIAADFAEbA1IBpQMjAf0D
- VQG0AyYBOAMHAQk4AAMWAR4DVgGzAyQB/QMjAf0DUgGlAxQBG2QAAw8BEwNAAW8DXQHUA1kB7wNMAZED
- EgEYHAADSQGGAyEB+wM3AfkDUwGnAxUBHBAABAIDDQERAzYBVwNYAbcDXQHsA1gB8QNdAdEDRAF5AzMB
- UAMbASYDBgEHMAADPwFsAzcB+QNTAacDFQEcBAADDwEUA1cBuQMAAf8DXgHtAz8BbQM/AW0DXgHtAwAB
- /wNXAbkDDwEUBAADFQEcA1MBpwM3AfkDPwFsIAADFAEbA1IBpQMjAf0DVQG0AyYBOAMHAQk4AAMWAR4D
- VgGzAyQB/QMjAf0DUgGlAxQBG2QAAwIBAwMPARMDUQGeAyMB/QNSAaUDFAEbHAADSQGGAyEB+wM3AfkD
- UwGnAxUBHBgAAwsBDgMtAUQDSwGPA1sBxQNiAeEDYgHhA1sBzQNMAZADKAE7AwkBDCwAAz8BbAM3AfkD
- UwGnAxUBHAQAAw8BFANXAbkDAAH/A14B7QM/AW0DPwFtA14B7QMAAf8DVwG5Aw8BFAQAAxUBHANTAacD
- NwH5Az8BbCAAAxQBGwNSAaUDIwH9A1UBtAMmATgDBwEJOAADFgEeA1YBswMkAf0DIwH9A1IBpQMUARts
- AANNAZMDIwH9A1IBpQMUARscAANJAYYDIQH7AzcB+QNTAacDFQEcHAADBgEIAxkBIgMvAUkDQAFxA10B
- zANQAfMDWgHpA1YBtgMtAUQsAAM/AWwDNwH5A1MBpwMVARwEAAMPARQDVwG5AwAB/wNeAe0DPwFtAz8B
- bQNeAe0DAAH/A1cBuQMPARQEAAMVARwDUwGnAzcB+QM/AWwgAAMUARsDUgGlAyMB/QNVAbQDJgE4AwcB
- CTgAAxYBHgNWAbMDJAH9AyMB/QNSAaUDFAEbbAADTQGTAyMB/QNSAaUDFAEbHAADSQGGAyEB+wM3AfkD
- UwGnAxUBHCAABAIDBAEFAwsBDgMwAUwDWQHBA0MB9gM1AfkDQQFyAwYBCCgAAz8BbAM3AfkDUwGnAxUB
- HAQAAw8BFANXAbkDAAH/A14B7QM/AW0DPwFtA14B7QMAAf8DVwG5Aw8BFAQAAxUBHANTAacDNwH5Az8B
- bCAAAxQBGwNSAaUDIwH9A1UBtAMmATgDBwEJOAADFgEeA1YBswMkAf0DIwH9A1IBpQMUARtsAANNAZMD
- IwH9A1IBpQMUARscAANJAYYDIQH7AzcB+QNTAacDFQEcMAADFQEcA1MBpwM3AfkDWwHTAzoBYSgAAz8B
- bAM3AfkDUwGnAxUBHAQAAw8BFANXAbkDAAH/A14B7QM/AW0DPwFtA14B7QMAAf8DVwG5Aw8BFAQAAxUB
- HANTAacDNwH5Az8BbCAAAxQBGwNSAaUDIwH9A1UBtAMmATgDBwEJOAADFgEeA1YBswMkAf0DIwH9A1IB
- pQMUARsQAAQBAwQBBQMLAQ4DDwETAw8BEwMPARMDDwETAw8BEwMNAREDCQEMAwMBBAQBLAADTQGTAyMB
- /QNSAaUDFAEbHAADSQGGAyEB+wM3AfkDUwGnAxUBHCAABAEDAgEDAwsBDgMwAUwDWQHBA0MB9gM1AfkD
- QQFyAwYBCCgAAz8BbAM3AfkDUwGnAxUBHAQAAw8BFANXAbkDAAH/A14B7QM/AW0DPwFtA14B7QMAAf8D
- VwG5Aw8BFAQAAxUBHANTAacDNwH5Az8BbCAAAxQBGwNSAaUDIwH9A1UBtAMmATgDBwEJOAADFgEeA1YB
- swMkAf0DIwH9A1IBpQMUARsQAAMGAQgDJAE1Az4BawNGAX0DRgF+A0YBfgNGAX4DRgF+A0QBewM9AWkD
- JAE0AwkBDCwAA00BkwMjAf0DUgGlAxQBGxwAA0kBhgMhAfsDNwH5A1MBpwMVARwcAAMGAQgDEgEXAyMB
- MwM/AW4DWwHNA0MB9gNdAeoDVgG2Ay0BRCwAAz8BbAM3AfkDUwGnAxUBHAQAAw8BFANXAbkDAAH/A14B
- 7QM/AW0DPwFtA14B7QMAAf8DVwG5Aw8BFAQAAxUBHANTAacDNwH5Az8BbCAAAxQBGwNSAaUDIwH9A1UB
- tAMmATgDBwEJOAADFgEeA1YBswMkAf0DIwH9A1IBpQMUARsQAAMQARUDRgF/A1wB2QNdAeoDYQHmA2IB
- 4QNgAeADXgHiA1wB5wNiAeEDUAGdAyEBMCQAAwIBAwMPARMDUQGeAyMB/QNSAaUDFAEbHAADSQGGAyEB
- +wM3AfkDUwGnAxUBHBgAAwsBDgMtAUQDRgGBA1MBqQNdAd8DYAHoA18B2gNOAZYDKAE8AwkBDCwAAz8B
- bAM3AfkDUwGnAxUBHAQAAw8BFANXAbkDAAH/A14B7QM/AW0DPwFtA14B7QMAAf8DVwG5Aw8BFAQAAxUB
- HANTAacDNwH5Az8BbCAAAxQBGwNSAaUDIwH9A1UBtAMmATgDBwEJOAADFgEeA1YBswMkAf0DIwH9A1IB
- pQMUARsQAAMTARoDTgGYA0UB9QMAAf8DYAHgA1YBtgNZAb4DXgHXA0QB9wMmAfwDWgHHAysBQiQAAw8B
- EwNAAW8DXQHUA1kB7wNNAZIDEgEYHAADSQGGAyEB+wM3AfkDUwGnAxUBHBAABAIDDQERAzYBVwNYAbcD
- XQHqA10B7ANfAdUDSwGPAzoBYAMeASsDBgEHMAADPwFsAzcB+QNTAacDFQEcBAADDwEUA1cBuQMAAf8D
- XgHtAz8BbQM/AW0DXgHtAwAB/wNXAbkDDwEUBAADFQEcA1MBpwM3AfkDPwFsIAADFAEbA1IBpQMjAf0D
- VQG0AyYBOAMHAQk4AAMWAR4DVgGzAyQB/QMjAf0DUgGlAxQBGxAAAxQBGwNQAZoDQgH2AwAB/wNRAaQD
- JAE0A0QBeANeAd0DRAH3A1sB3gM7AWMDDgESIAADAgEDAx4BKgNVAbQDRAH3A1EBoQMbASYDBQEGHAAD
- SQGGAyEB+wM3AfkDUwGnAxUBHAwABAEDEwEZA0QBegNgAdsDQQH3A0QB9wNZAbsDKwFCAxMBGQMIAQoD
- AgEDNAADPwFsAzcB+QNTAacDFQEcBAADDwEUA1cBuQMAAf8DXgHtAz8BbQM/AW0DXgHtAwAB/wNXAbkD
- DwEUBAADFQEcA1MBpwM3AfkDPwFsIAADFAEbA1IBpQMjAf0DVQG0AyYBOAMHAQk4AAMWAR4DVgGzAyQB
- /QMjAf0DUgGlAxQBGxAAAxQBGwNQAZoDQgH2AwAB/wNOAZUDMQFMA2IB4QMAAf8DWwHNAxoBJCgAAxUB
- HANTAacDNwH5AyEB+wNJAYYkAANJAYYDIQH7AzcB+QNTAacDFQEcDAADCwEOA00BkgM0AfkDAAH/AwAB
- /wNVAa8DFgEdRAADPwFsAzcB+QNTAacDFQEcBAADDwEUA1cBuQMAAf8DXgHtAz8BbQM/AW0DXgHtAwAB
- /wNXAbkDDwEUBAADFQEcA1MBpwM3AfkDPwFsIAADFAEbA1IBpQMjAf0DVgG2AygBPAMIAQo4AAMWAR4D
- VgGzAyQB/QMjAf0DUgGlAxQBGxAAAxQBGwNQAZoDQgH2AwAB/wNGAfUDWQHvAycB/AMUAf4DXQHMAx0B
- KQQCGAAEAgMGAQcDDwETAzIBTwNZAcADRQH1A10B0QM6AWAkAANJAYYDIQH7AzcB+QNTAacDFgEeAwwB
- EAMqAUADVwG5A1oB6QNZAe8DYAHoA10BzwNGAX0DEwEaAwIBA0QAAz8BbAM3AfkDUwGnAxUBHAQAAw8B
- FANXAbkDAAH/A14B7QM/AW0DPwFtA14B7QMAAf8DVwG5Aw8BFAQAAxUBHANTAacDNwH5Az8BbCAAAxQB
- GwNSAaUDIwH9A1sB0AM/AWwDGAEhAw4BEgMOARIDDgESAw4BEgMOARIDDgESAw4BEgMOARIDDgESAw4B
- EgMOARIDDgESAw4BEgMOARIDIAEuA1cBuQMkAf0DIwH9A1IBpQMUARsQAAMUARsDUAGaA0IB9gMAAf8D
- AAH/AyYB+gNFAfUDJAH9A2AB4ANAAXEDHQEoAw4BEgMNAREDCQEMAwgBCgMLBA4BEgMcAScDOAFbA0QB
- eQNaAccDYgHhA1YBtgM0AVQDDAEPJAADSQGGAyEB+wM3AfkDVQGuAyoBQAM/AW0DXQHRA0YB9QNZAe4D
- WQG7A0QBeQMqAUADEQEWBAJIAAM/AWwDNwH5A1UBrgMgAS0DDgESAxsBJQNZAb4DAAH/A14B7QM/AW0D
- PwFtA14B7QMAAf8DWQG+AxsBJQMOARIDIAEtA1UBrgM3AfkDPwFsIAADEwEaA1EBpAMlAfwDQgH2A10B
- zANLAY0DRgGAA0YBgANGAYADRgGAA0YBgANGAYADRgGAA0YBgANGAYADRgGAA0YBgANGAYADRgGAA0YB
- gANLAY8DXAHZAyQB/QNNAfQDTgGYAxMBGRAAAxIBGANLAYwDXgHtAwAB/wMmAf0DXAHZA1UBsQNdAd8D
- RgH1A2AB4ANPAZsDRgGAA0QBegM5AV4DMwFQAz0BaANGAX4DUAGaA18B2gNbAeQDXwHaA08BmwMpAT4D
- CgENKAADSQGGAyEB+wMmAfwDWwHTA1MBpgNcAdkDNwH5A2AB4ANQAZoDLQFFAxABFQMGAQcEAUwAAz8B
- bAMmAfwDWwHTA0wBjgNGAYADSgGKA10B3AMkAf0DXQHfAzoBYgM6AWIDXQHfAyQB/QNdAdwDSgGKA0YB
- gANMAY4DWwHTAyYB/AM/AWwgAAMSARcDSgGLA10B6gMSAf4DJwH6A1gB7wNeAe0DXgHtA14B7QNeAe0D
- XgHtA14B7QNeAe0DXgHtA14B7QNeAe0DXgHtA14B7QNeAe0DXgHtA1gB7wMnAfoDJAH9A1cBwgM0AVQD
- CwEOEAADCAEKAy4BSANVAbEDXgHiA2AB2wNPAZsDLQFEA0MBdwNdAcwDYgHhA10B6gNeAe0DWgHpA1sB
- 0wNcAcgDXwHaA2EB6wNVAfIDNwH5A14B0gNEAXgDIQEvAwcBCSwAA0IBdQNdAeoDAQH/AzcB+QNTAfAD
- XQHsA1wB2QNEAXsDHgEqAwYBCFgAAz8BbAMBAf8DNwH5A1gB7wNeAe0DWQHuAycB+gNCAfYDUAGdAyAB
- LQMgAS0DUAGdA0IB9gMnAfoDWQHuA14B7QNYAe8DNwH5AxIB/gM/AWwgAAMFAQYDGgEjA00BkwNhAeYD
- XgHtA0QB9gNEAfcDRAH3A0QB9wNEAfcDRAH3A0QB9wNEAfcDRAH3A0QB9wNEAfcDRAH3A0QB9wNEAfcD
- RAH3A0QB9gNeAe0DXwHlA0cBgwMKAQ0EAhAABAEDCAEKAx8BLAMuAUgDLQFEAxsBJQMHAQkDDwETAyMB
- MgMuAUcDVwG5A2AB6ANaAekDWgHuA1gB8QNdAewDWgHpA2AB6ANbAdADNAFTAw8BEwMCAQMwAAMWAR4D
- RwGDA14B7QNYAfEDXwHVA0wBjgMrAUIDDwEUBAJcAAM6AWIDWgHpA14B7QNEAfYDRAH3A0QB9gNdAewD
- XQHcAzwBZgMGAQgDBgEIAzwBZgNdAdwDXgHtA0QB9gNEAfcDRAH2A14B7QNhAeYDOgFiLAAEAQMjATMD
- TgGXA1QBqwNUAasDVAGrA1QBqwNUAasDVAGrA1QBqwNUAasDVAGrA1QBqwNUAasDVAGrA1QBqwNUAasD
- TgGXAyMBMwQBTAADCQELAzkBXQNHAYIDJwE6AwQBBUgABAIDIgExAzoBYQMPARRwAAMDAQQDKAE7A04B
- mANUAasDUQGeAyEBLxQAAwMBBAMlATcDUAGfA1QBqwNOAZgDKAE7AwMBBBgAAUIBTQE+BwABPgMAASgD
- AAF8AwABMAMAAQEBAAEBBgABAxYAA/8BAAH8AQMB8AE/AQMB8AEPAcAIAAH8AQEB8AE/AQMB8AEHAcAI
- AAH8AQABMAE/AQAB8AEDAYAIAAH8AQABEAE/AQABcAEAAYAIAAH8AgABPwEAATABAAGACAAB/AIAAT8B
- AAEwAQABgAgAAfwCAAE/DAAB/AEIAQABPwEICwAB/AEMAQABPwEMAQABIAkAAfwBDwEAAT8BDAEAATAJ
- AAH8AQ8BgAE/AQ4BAAE4CQAB/AEPAfABPwEPAcABPwkAAfwBDwGAAT8BDgEAATgJAAH8AQ8BAAE/AQwB
- AAEwCQAB/AEMAQABPwEMAQABIAkAAfwBCAEAAT8BCAsAAfwCAAE/DAAB/AIAAT8BAAEwCgAB/AIAAT8B
- AAEwAQABgAgAAfwBAAEQAT8BAAFwAQABgAgAAfwBAAEwAT8BAAHwAQMBgAgAAfwBAAHwAT8BAQHwAQcB
- wAgAAfwBAwHwAT8BAwHwAQ8BwAgAAf4BHwH4AX8BDwH4AX8BwAgAAeACAAEHAf4BAAEBAf8B4AEPAv8B
- 4AEAAQEB8AHgAgABBwH8AgAB/wHgAQcC/wHgAQABAQHwAeACAAEHAfwCAAF/AeABAwL/AeABAAEBAfAB
- 4AIAAQcB/AIAAT8B4AEAAX8B/wHgAQABAQHwAeABfwH+AQcB/AEHAcABPwHgAQABPwH/AeEBAAEhAfAB
- 4AF/Af4BBwL/AfgBPwHgAcABPwH/AeEBAAEhAfAB4AF/Af4BBwL/AfgBDwHgAcABAwH/AeEBAAEhAfAB
- 4AF/Af4BBwL/AfwBDwHgAfABAQH/AeEBAAEhAfAB4AF/Af4BBwL/AfwBDwHgAfwBAAH/AeEBAAEhAfAB
- 4AF/Af4BBwP/AQ8B4AH+AQAB/wHhAQABIQHwAeABfwH+AQcD/wEPAeAB/wEAAX8B4QEAASEB8AHgAX8B
- /gEHA/8BDwHgAf8B8AF/AeEBAAEhAfAB4AF/Af4BBwGAAQcB/wEPAeAB/wEAAX8B4QEAASEB8AHgAX8B
- /gEHAYABBwH/AQ8B4AH+AQAB/wHhAQABIQHwAeABfwH+AQcBgAEHAfwBDwHgAfwBAAH/AeEBAAEhAfAB
- 4AF/Af4BBwGAAQcB/AEPAeAB8AEBAf8B4QEAASEB8AHgAX8B/gEHAYABBwH4AQ8C4AEDAf8B4QEAASEB
- 8AHgAX8B/gEHAYABHwH4AT8C4AE/Af8B4QEAASEB8AHgAX8B/gEHAYABDwHAAT8B4AEAAT8B/wHhAQAB
- IQHwAeACAAEHAYACAAE/AeABAAF/Af8B4AEAAQEB8AHgAgABBwGAAgABfwHgAQAC/wHgAQABAQHwAeAC
- AAEHAYACAAH/AeABBwL/AeABAAEBAfAB4AIAAQcBgAEAAQEB/wHgAQ8C/wHgAQABAQHwAfwCAAE/Af8B
- +AE/Af8B8AP/AfABPgEDAfAL
+ SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAA8iMAAAJNU0Z0AUkBTAIBAQcB
+ AAFgAQABYAEAAR8BAAEYAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABfAMAATADAAEBAQABIAYAAV0+
+ AAMEAQUDAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf9DAAH/AwAB/wMAAf8DAAH/A1UB
+ sWQAA0wB7wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8D
+ AAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/Ay0BRbcAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8D
+ AAH/AwAB/wMAAf8DAAH/AwAB/wMAAf87AAH/AwAB/wMAAf8DAAH/AwAB/wMAAf9cAANEAXgDAAH/AwAB
+ /wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB
+ /wMAAf8DAAH/AwAB/wMAAf8DAAH/swAB/wMAAf8DAAH/AwAB/wMAAf8XAAH/AwAB/wMAAf8DAAH/AwAB
+ /zcAAf8DAAH/BwAB/wMAAf8DAAH/AwAB/wMAAf9XAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB
+ /wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB
+ /wMAAf+vAAH/AwAB/wNRAaQnAAH/AwAB/wMAAf8DAAH/MwAB/wMAAf8IAANOAZcDAAH/AwAB/wMAAf8D
+ AAH/Ay4BSE8AAf8DAAH/AwAB/0sAAf8DAAH/AwAB/+AAAxUBHQMAAf8DAAH/AwAB/y8AAf8DAAH/EwAB
+ /wMAAf8DAAH/AwAB/wMAAf9LAAH/AwAB/wMAAf9LAAH/AwAB/wMAAf/kAAMmATgDAAH/AwAB/wMAAf8r
+ AAH/AwAB/xsAAf8DAAH/AwAB/wMAAf8DAAH/QwAB/wMAAf8DAAH/SwAB/wMAAf8DAAH/6wAB/wMAAf8D
+ AAH/KwAB/wMAAf8cAAMzAfYDAAH/AwAB/wMAAf8DAAH/AwQBBTsAAf8DAAH/AwAB/0sAAf8DAAH/AwAB
+ /+8AAf8DAAH/AwAB/ycAAf8DAAH/JwAB/wMAAf8DAAH/AwAB/wMAAf83AAH/AwAB/wMAAf9LAAH/AwAB
+ /wMAAf/vAAH/AwAB/wMAAf8nAAH/AwAB/ygAAwcBCQMAAf8DAAH/AwAB/wMAAf8DWwHjLwAB/wMAAf8D
+ AAH/SwAB/wMAAf8DAAH/7AADIAEtAwAB/wMAAf8nAAH/AwAB/zMAAf8DAAH/AwAB/wMAAf8DAAH/KwAB
+ /wMAAf8DAAH/SwAB/wMAAf8DAAH/8wAB/wMAAf8nAAH/AwAB/zsAAf8DAAH/AwAB/wMAAf8nAAH/AwAB
+ /wMAAf9LAAH/AwAB/wMAAf/zAAH/AwAB/ycAAf8DAAH/PAADPwFsAwAB/wMAAf8nAAH/AwAB/wMAAf9L
+ AAH/AwAB/wMAAf/zAAH/AwAB/ycAAf8DAAH/OwAB/wMAAf8DAAH/AwAB/ycAAf8DAAH/AwAB/0sAAf8D
+ AAH/AwAB/5sAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/NAADCAEKAwAB/wMAAf8nAAH/AwAB
+ /zAAA10BzgMAAf8DAAH/AwAB/wMAAf8EAScAAf8DAAH/AwAB/0sAAf8DAAH/AwAB/5QAAwUBBgMAAf8D
+ AAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/zMAAf8DAAH/AwAB/ycAAf8DAAH/LwAB/wMAAf8D
+ AAH/AwAB/wMAAf8vAAH/AwAB/wMAAf9LAAH/AwAB/wMAAf+UAAMFAQYDAAH/AwAB/wMAAf8DAAH/AwAB
+ /wMAAf8DAAH/AwAB/wMAAf8zAAH/AwAB/wMAAf8nAAH/AwAB/ycAAf8DAAH/AwAB/wMAAf8DAAH/NwAB
+ /wMAAf8DAAH/SwAB/wMAAf8DAAH/lAADBQEGAwAB/wMAAf8PAAH/AwAB/wMAAf8DFQEcLwAB/wMAAf8D
+ AAH/KwAB/wMAAf8cAAM9AWkDAAH/AwAB/wMAAf8DAAH/A0MBdjsAAf8DAAH/AwAB/0sAAf8DAAH/AwAB
+ /5QAAwUBBgMAAf8DAAH/CwAB/wMAAf8DAAH/AxMBGjMAAf8DAAH/AwAB/ysAAf8DAAH/GwAB/wMAAf8D
+ AAH/AwAB/wMAAf9DAAH/AwAB/wMAAf9LAAH/AwAB/wMAAf+UAAMFAQYDAAH/AwAB/wcAAf8DAAH/AwAB
+ /wMbASYzAAH/AwAB/wMAAf8vAAH/AwAB/xMAAf8DAAH/AwAB/wMAAf8DAAH/SwAB/wMAAf8DAAH/SwAB
+ /wMAAf8DAAH/lAADBQEGAwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMdASgkAANQAe4DAAH/AwAB
+ /wMAAf8EAS8AAf8DAAH/CAADGAEhAwAB/wMAAf8DAAH/AwAB/wNcActPAAH/AwAB/wMAAf9LAAH/AwAB
+ /wMAAf+UAAMFAQYDAAH/AwAB/wMAAf8DAAH/A1sB4wMAAf8DAAH/AwAB/wMAAf8DUAGfFwAB/wMAAf8D
+ AAH/AwAB/wMAAf83AAH/AwAB/wcAAf8DAAH/AwAB/wMAAf8DAAH/VwAB/wMAAf8DAAH/AwAB/wMqAUAD
+ KgFAAyoBQAMqAUADKgFAAyoBQAMqAUADKgFAAyoBQAMqAUADKgFAAyoBQAMqAUADKgFAAyoBQAMqAUAD
+ AAH/AwAB/wMAAf8DAAH/mwAB/wMAAf8DAAH/Ax0BKQQAAwIBAwMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB
+ /wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf87AAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DBwEJWAAD
+ WQHDAwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8D
+ AAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/5wAAxIBFwMAAf8UAANKAYkDAAH/AwAB/wMAAf8D
+ AAH/AwAB/wMAAf8DAAH/AwAB/wMAAf9DAAH/AwAB/wMAAf8DAAH/AyEB+2cAAf8DAAH/AwAB/wMAAf8D
+ AAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8D
+ AAH/AwAB/wNbAcXIAANGAYADWgG/Ay4BSFQAA1oBv3QAA0YBgANaAb8DWgG/A1oBvwNaAb8DWgG/A1oB
+ vwNaAb8DWgG/A1oBvwNaAb8DWgG/A1oBvwNaAb8DWgG/A1oBvwNaAb8DLgFIpwAB/wMAAf8DAAH/AwAB
+ /wMAAf8DAAH/AwAB/wMAAf8DAAH/FAADPQFpAwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8D
+ AAH/EwAB/wMAAf8DAAH/LwAB/wMAAf8DAAH/KAADGQEiAwAB/wMAAf8jAAH/AwAB/wMAAf8oAAM/AW0D
+ AAH/AwAB/zsAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8TAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8D
+ AAH/KwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/FAADAwEEAwAB/wMAAf8DAAH/AwAB
+ /wMAAf8DAAH/AwAB/wMAAf8DAAH/DAADVAGrAwAB/wMAAf8DAAH/AwAB/yQAA1YBtgMAAf8DAAH/AwAB
+ /wMAAf8kAAMmAfkDAAH/AwAB/xwAA0oB8QMAAf8DAAH/AwAB/wMAAf8DMgH4IwAB/wMAAf8DAAH/NwAB
+ /wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/CwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB
+ /wMAAf8DAAH/JwAB/wMAAf8DAAH/AwAB/wMAAf87AAH/AwAB/wMAAf8DAAH/AwAB/wwAA1QBqwMAAf8D
+ AAH/AwAB/wMAAf8DAAH/IAADVgG1AwAB/wMAAf8DAAH/AwAB/wMAAf8gAAMmAfkDAAH/AwAB/xwAA0oB
+ 8QMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/x8AAf8DAAH/AwAB/zcAAf8DAAH/AwAB/wMAAf8DAAH/AwAB
+ /wMAAf8DAAH/AwAB/wsAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/ycAAf8DAAH/AwAB
+ /wMAAf8DAAH/AwwB/jMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wwAA1QBqwMAAf8DAAH/AwAB/wMAAf8D
+ AAH/AwAB/wNZAbsYAANWAbUDAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DUQGeGAADJgH5AwAB/wMAAf8c
+ AANKAfEDAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/A1ABnRcAAf8DAAH/AwAB/zcAAf8DAAH/AwAB
+ /w8AAf8DAAH/AwAB/wsAAf8DAAH/AwAB/w8AAf8DAAH/AwAB/ycAAf8DAAH/A1YBswMAAf8DAAH/AwAB
+ /wMAAf8rAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/DAADVAGrAwAB/wMAAf8DPQFoAwAB/wMAAf8D
+ AAH/AwAB/wMAAf8UAANWAbUDAAH/AwAB/wMzAVADAAH/AwAB/wMAAf8DAAH/AwAB/xQAAyYB+QMAAf8D
+ AAH/HAADSgHxAwAB/wMAAf8DEQEWBAEDAAH/AwAB/wMAAf8DAAH/AwAB/xMAAf8DAAH/AwAB/zcAAf8D
+ AAH/AwAB/w8AAf8DAAH/AwAB/wsAAf8DAAH/AwAB/w8AAf8DAAH/AwAB/ycAAf8DAAH/A1YBswcAAf8D
+ AAH/AwAB/wMAAf8jAAH/AwAB/wMAAf8DAAH/BwAB/wMAAf8DAAH/DAADVAGrAwAB/wMAAf8DPQFoBwAB
+ /wMAAf8DAAH/AwAB/wMAAf8QAANWAbUDAAH/AwAB/wMzAVAHAAH/AwAB/wMAAf8DAAH/AwAB/xAAAyYB
+ +QMAAf8DAAH/HAADSgHxAwAB/wMAAf8DEQEWCwAB/wMAAf8DAAH/AwAB/wMAAf8PAAH/AwAB/wMAAf83
+ AAH/AwAB/wMAAf8PAAH/AwAB/wMAAf8LAAH/AwAB/wMAAf8PAAH/AwAB/wMAAf8nAAH/AwAB/wNWAbML
+ AAH/AwAB/wMAAf8DDAH+GwAB/wMAAf8DAAH/AwAB/wsAAf8DAAH/AwAB/wwAA1QBqwMAAf8DAAH/Az0B
+ aAgAA14B2wMAAf8DAAH/AwAB/wMAAf8MAANWAbUDAAH/AwAB/wMzAVAIAANbAeMDAAH/AwAB/wMAAf8D
+ AAH/DAADJgH5AwAB/wMAAf8cAANKAfEDAAH/AwAB/wMRARYMAAMzAVIDAAH/AwAB/wMAAf8DAAH/AwAB
+ /wcAAf8DAAH/AwAB/zcAAf8DAAH/AwAB/w8AAf8DAAH/AwAB/wsAAf8DAAH/AwAB/w8AAf8DAAH/AwAB
+ /ycAAf8DAAH/A1YBsw8AAf8DAAH/AwAB/wMAAf8TAAH/AwAB/wMAAf8DAAH/DwAB/wMAAf8DAAH/DAAD
+ VAGrAwAB/wMAAf8DPQFoDAADJQE3AwAB/wMAAf8DAAH/AwAB/wgAA1YBtQMAAf8DAAH/AzMBUAwAAzIB
+ TwMAAf8DAAH/AwAB/wMAAf8IAAMmAfkDAAH/AwAB/xwAA0oB8QMAAf8DAAH/AxEBFhcAAf8DAAH/AwAB
+ /wMAAf8DAAH/AwwB/gMAAf8DAAH/NwAB/wMAAf8DAAH/DwAB/wMAAf8DAAH/CwAB/wMAAf8DAAH/DwAB
+ /wMAAf8DAAH/JwAB/wMAAf8XAAH/AwAB/wMAAf8DAAH/CwAB/wMAAf8DAAH/AwAB/xAAAwwBDwMAAf8D
+ MwH2DAADVAGrAwAB/wMAAf8DPQFoFwAB/wMAAf8DAAH/AwAB/wQAA1YBtQMAAf8DAAH/AzMBUBcAAf8D
+ AAH/AwAB/wMAAf8EAAMmAfkDAAH/AwAB/xwAA0oB8QMAAf8DAAH/AxEBFhgAA1UB6QMAAf8DAAH/AwAB
+ /wMAAf8DAAH/AwAB/zcAAf8DAAH/AwAB/w8AAf8DAAH/AwAB/wsAAf8DAAH/AwAB/w8AAf8DAAH/AwAB
+ /0cAAf8DAAH/AwAB/wMMAf4DAAH/AwAB/wMAAf8DAAH/LAADVAGrAwAB/wMAAf8DPQFoGwAB/wMAAf8D
+ AAH/AwAB/wNdAc4DAAH/AwAB/wMzAVAbAAH/AwAB/wMAAf8DAAH/AyAB+gMAAf8DAAH/HAADSgHxAwAB
+ /wMAAf8DEQEWIwAB/wMAAf8DAAH/AwAB/wMAAf83AAH/AwAB/wMAAf8PAAH/AwAB/wMAAf8LAAH/AwAB
+ /wMAAf8PAAH/AwAB/wMAAf9LAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8wAANUAasDAAH/AwAB/wM9AWgf
+ AAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DMwFQHwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/HAADSgHxAwAB
+ /wMAAf8DEQEWJwAB/wMAAf8DAAH/AwAB/zcAAf8DAAH/AwAB/w8AAf8DAAH/AwAB/wsAAf8DAAH/AwAB
+ /w8AAf8DAAH/AwAB/08AAf8DAAH/AwAB/wMAAf80AANUAasDAAH/AwAB/wM9AWgjAAH/AwAB/wMAAf8D
+ AAH/AwAB/wMzAVAjAAH/AwAB/wMAAf8DAAH/AwAB/xwAA0oB8QMAAf8DAAH/AxEBFisAAf8DAAH/AwAB
+ /zcAAf8DAAH/AwAB/w8AAf8DAAH/AwAB/wsAAf8DAAH/AwAB/w8AAf8DAAH/AwAB/0sAAf8DAAH/AwAB
+ /wMAAf8DAAH/AwwB/jAAA1QBqwMAAf8DAAH/Az0BaB8AAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMzAVAf
+ AAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8cAANKAfEDAAH/AwAB/wMRARYkAANcAdkDAAH/AwAB/wMAAf83
+ AAH/AwAB/wMAAf8PAAH/AwAB/wMAAf8LAAH/AwAB/wMAAf8PAAH/AwAB/wMAAf9HAAH/AwAB/wMAAf8D
+ AAH/AwAB/wMAAf8DAAH/AwAB/ywAA1QBqwMAAf8DAAH/Az0BaBsAAf8DAAH/AwAB/wMAAf8DSgHxAwAB
+ /wMAAf8DMwFQGwAB/wMAAf8DAAH/AwAB/wMMAf4DAAH/AwAB/xwAA0oB8QMAAf8DAAH/AxEBFiMAAf8D
+ AAH/AwAB/wMAAf8DAAH/NwAB/wMAAf8DAAH/DwAB/wMAAf8DAAH/CwAB/wMAAf8DAAH/DwAB/wMAAf8D
+ AAH/JwAB/wMAAf8XAAH/AwAB/wMAAf8DAAH/CwAB/wMAAf8DAAH/AwAB/xcAAf8DWAG4DAADVAGrAwAB
+ /wMAAf8DPQFoFwAB/wMAAf8DAAH/AwAB/wQAA1YBtQMAAf8DAAH/AzMBUBcAAf8DAAH/AwAB/wMAAf8E
+ AAMmAfkDAAH/AwAB/xwAA0oB8QMAAf8DAAH/AxEBFhgAAzABSgMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB
+ /zcAAf8DAAH/AwAB/w8AAf8DAAH/AwAB/wsAAf8DAAH/AwAB/w8AAf8DAAH/AwAB/ycAAf8DAAH/A1YB
+ sw8AAf8DAAH/AwAB/wMAAf8TAAH/AwAB/wMAAf8DDAH+DwAB/wMAAf8DAAH/DAADVAGrAwAB/wMAAf8D
+ PQFoEwAB/wMAAf8DAAH/AwAB/wgAA1YBtQMAAf8DAAH/AzMBUAwAAwkBDAMAAf8DAAH/AwAB/wMAAf8I
+ AAMmAfkDAAH/AwAB/xwAA0oB8QMAAf8DAAH/AxEBFhcAAf8DAAH/AwAB/wMAAf8DAAH/AxgB/QMAAf8D
+ AAH/NwAB/wMAAf8DAAH/DwAB/wMAAf8DAAH/CwAB/wMAAf8DAAH/DwAB/wMAAf8DAAH/JwAB/wMAAf8D
+ VgGzCwAB/wMAAf8DAAH/AwAB/xsAAf8DAAH/AwAB/wMAAf8LAAH/AwAB/wMAAf8MAANUAasDAAH/AwAB
+ /wM9AWgIAAM6AWADAAH/AwAB/wMAAf8DAAH/DAADVgG1AwAB/wMAAf8DMwFQCAADSwGMAwAB/wMAAf8D
+ AAH/AwAB/wwAAyYB+QMAAf8DAAH/HAADSgHxAwAB/wMAAf8DEQEWDAADBwEJAwAB/wMAAf8DAAH/AwAB
+ /wMAAf8HAAH/AwAB/wMAAf83AAH/AwAB/wMAAf8PAAH/AwAB/wMAAf8LAAH/AwAB/wMAAf8PAAH/AwAB
+ /wMAAf8nAAH/AwAB/wNWAbMHAAH/AwAB/wMAAf8DAAH/IwAB/wMAAf8DAAH/AwAB/wcAAf8DAAH/AwAB
+ /wwAA1QBqwMAAf8DAAH/Az0BaAcAAf8DAAH/AwAB/wMAAf8DAAH/EAADVgG1AwAB/wMAAf8DMwFQBwAB
+ /wMAAf8DAAH/AwAB/wMAAf8QAAMmAfkDAAH/AwAB/xwAA0oB8QMAAf8DAAH/AxEBFgsAAf8DAAH/AwAB
+ /wMAAf8DAAH/A08BmQsAAf8DAAH/AwAB/zcAAf8DAAH/AwAB/w8AAf8DAAH/AwAB/wsAAf8DAAH/AwAB
+ /w8AAf8DAAH/AwAB/ycAAf8DAAH/A1YBswMAAf8DAAH/AwAB/wMAAf8rAAH/AwAB/wMAAf8DDAH+AwAB
+ /wMAAf8DAAH/DAADVAGrAwAB/wMAAf8DPQFoAwAB/wMAAf8DAAH/AwAB/wMAAf8UAANWAbUDAAH/AwAB
+ /wMzAVADAAH/AwAB/wMAAf8DAAH/AwAB/xQAAyYB+QMAAf8DAAH/HAADSgHxAwAB/wMAAf8DEQEWBwAB
+ /wMAAf8DAAH/AwAB/wMAAf8TAAH/AwAB/wMAAf83AAH/AwAB/wMAAf8PAAH/AwAB/wMAAf8LAAH/AwAB
+ /wMAAf8PAAH/AwAB/wMAAf8nAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8zAAH/AwAB/wMAAf8DAAH/AwAB
+ /wMAAf8MAANUAasDAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DPwH0GAADVgG1AwAB/wMAAf8DAAH/AwAB
+ /wMAAf8DAAH/A1QB7BgAAyYB+QMAAf8DAAH/HAADSgHxAwAB/wMAAf8DWAHrAwAB/wMAAf8DAAH/AwAB
+ /wM/AfQXAAH/AwAB/wMAAf83AAH/AwAB/wMAAf8PAAH/AwAB/wMAAf8LAAH/AwAB/wMAAf8PAAH/AwAB
+ /wMAAf8nAAH/AwAB/wMAAf8DAAH/AwAB/zsAAf8DAAH/AwAB/wMAAf8DAAH/DAADVAGrAwAB/wMAAf8D
+ AAH/AwAB/wMAAf8DQwF3HAADVgG1AwAB/wMAAf8DAAH/AwAB/wMAAf8DMAFMHAADJgH5AwAB/wMAAf8c
+ AANKAfEDAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8fAAH/AwAB/wMAAf83AAH/AwAB/wMAAf8DKgFAAyoB
+ QAMqAUADAAH/AwAB/wMAAf8LAAH/AwAB/wMAAf8DKgFAAyoBQAMqAUADAAH/AwAB/wMAAf8nAAH/AwAB
+ /wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8bAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB
+ /wMAAf8MAANUAasDAAH/AwAB/wMAAf8DAAH/AwYBCCAAA1YBtgMAAf8DAAH/AwAB/wMAAf8DAgEDIAAD
+ JgH5AwAB/wMAAf8cAANKAfEDAAH/AwAB/wMAAf8DAAH/AwAB/yMAAf8DAAH/AwAB/zcAAf8DAAH/AwAB
+ /wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wsAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB
+ /ycAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/xQAA0wBkAMAAf8DAAH/AwAB/wMAAf8D
+ AAH/AwAB/wMAAf8DAAH/AwAB/xMAAf8DAAH/AwAB/y8AAf8DAAH/AwAB/ygAAzYBWAMAAf8DAAH/IwAB
+ /wMAAf8DAAH/Aw0BESQAA1UBrQMAAf8DAAH/OwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/xMAAf8D
+ AAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8sAANaAb8DWgG/A1oBvwNaAb8DWgG/A1oBvwNaAb8DFQEcGAAD
+ TwGZA1oBvwNaAb8DWgG/A1oBvwNaAb8DWgG/A1oBvxgAA04BlzQAA0sBjTAAAwwBDygAA1ABmjAAAygB
+ PEAAAzgBWwNaAb8DWgG/A1oBvwMwAUwYAANEAXoDWgG/A1oBvwNaAb8DIAEtHAABQgFNAT4HAAE+AwAB
+ KAMAAXwDAAEwAwABAQEAAQEGAAEDFgAD/wEAAf8B4AEHAf8B+AE/Av8B4AIAAXgEAAH/AcABAQH/AfgB
+ HwL/AcACAAF4BAAB/wGDAeAB/wH5AQcC/wHAAgABOAQAAf8BjwH4AX8B+QGBAv8BxwH/Af4BOAQAAv8B
+ /AE/AfkB4AL/AccB/wH+ATgEAAL/Af4BHwH5AfgBPwH/AccB/wH+ATgEAAP/AR8B+QH8AQ8B/wHHAf8B
+ /gE4BAAD/wGPAfkB/wEHAf8BxwH/Af4BOAQAA/8BjwH5Af8BgQH/AccB/wH+ATgEAAP/AY8B+QH/AeAB
+ /wHHAf8B/gE4BAAD/wHPAfkB/wH4AX8BxwH/Af4BOAQAA/8BzwH5Af8B/AF/AccB/wH+ATgEAAP/Ac8B
+ +QH/AfgBfwHHAf8B/gE4BAAB8AEPAf8BjwH5Af8B4AF/AccB/wH+ATgEAAHgAQcB/wGPAfkB/wHBAf8B
+ xwH/Af4BOAQAAeABBwH/AY8B+QH/AQcB/wHHAf8B/gE4BAAB4wGHAf8BHwH5AfwBDwH/AccB/wH+ATgE
+ AAHjAQ8B/wEfAfkB+AE/Af8BxwH/Af4BOAQAAeIBHwH+AT8B+QHgAv8BxwH/Af4BOAQAAeABDwH4AT8B
+ +QGBAv8BxwH/Af4BOAQAAeABAwHgAf8B+QEHAv8BwAIAATgEAAHwAYABAQH/AfgBDwL/AcACAAF4BAAB
+ 8wHgAQcB/wH4AT8C/wHgAgABeAQAAf8B/gE/Af8B/gP/AfgBAAEBAfgEAAHwAQcBwAEPAR8B/AF/AeMB
+ /AF/AeMB/wHwAR4BAwLwAQcBwAEOAQ8B+AE/AeMB+AEfAeMB/wHgAQwBAQLwAX8B/gEOAQcB+AEfAeMB
+ +AEPAeMB/wHgAQwBAQLwAT8B/AEOAQEB+AEHAeMB+AEDAeMB/wHjAYwBcQLwAR8B+AEOAQAB+AEDAeMB
+ +AEBAeMB/wHjAYwBcQHwAfEBDwHwAY4BEAF4AUEB4wH4AWAB4wH/AeMBjAFxAfAB8QGHAeEBjgEYATgB
+ YAHjAfgBcAEjAf8B4wGMAXEB8AHxAsMBjgEcARgBcAFjAfgBfAEDAf8B4wGMAXEB8AHzAeEBhwGOAR8B
+ CAF8ASMB+AF+AQMB/wHjAYwBcQHwAf8B8AEPAf4BHwGAAX4BAwH4AX8BgwH/AeMBjAFxAfAB/wH4AR8B
+ /gEfAcABfwEDAfgBfwHDAf8B4wGMAXEB8AH/AfwBPwH+AR8B4AF/AYMB+AF/AeMB/wHjAYwBcQHwAf8B
+ +AEfAf4BHwHAAX8BAwH4AX8BwwH/AeMBjAFxAfAB/wHwAQ8B/gEfAYABfgEDAfgBfwGDAf8B4wGMAXEB
+ 8AHzAeEBhwHOAR8BCAF8ASMB+AF+AQMB/wHjAYwBcQHwAfECwwGOAR4BGAFwAWMB+AF8AQMB/wHjAYwB
+ cQHwAfEBhwHhAY4BGAE4AWAB4wH4AXABIwH/AeMBjAFxAfAB8QEPAfABjgEQAXgBQQHjAfgBYAFjAf8B
+ 4wGMAXEC8AEfAfgBDgEAAfgBAwHjAfgBQQHjAf8B4wGMAXEC8AE/AfwBDgEBAfgBBwHjAfgBAwHjAf8B
+ 4wGMAXEC8AF/Af4BDgEDAfgBDwHjAfgBDwHjAf8B4AEMAQEC8AEHAeABDgEHAfgBHwHjAfgBHwHjAf8B
+ 4AEMAQEC8AEHAcABDwEfAfwBfwHjAfwBPwHjAf8B8AEeAQMB8AH4AQcB4AEfAb8B/gH/AfcB/gH/AfcB
+ /wH4AT8BBwHwCw==
165, 17
+
+ 307, 18
+
- 291, 17
+ 630, 18
\ No newline at end of file
diff --git a/SpineViewer/Forms/SpinePreviewFullScreenForm.Designer.cs b/SpineViewer/Forms/SpinePreviewFullScreenForm.Designer.cs
new file mode 100644
index 0000000..ba97584
--- /dev/null
+++ b/SpineViewer/Forms/SpinePreviewFullScreenForm.Designer.cs
@@ -0,0 +1,51 @@
+namespace SpineViewer.Forms
+{
+ partial class SpinePreviewFullScreenForm
+ {
+ ///
+ /// 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()
+ {
+ SuspendLayout();
+ //
+ // SpinePreviewFullScreenForm
+ //
+ AutoScaleMode = AutoScaleMode.None;
+ ClientSize = new Size(512, 512);
+ ControlBox = false;
+ FormBorderStyle = FormBorderStyle.None;
+ MaximizeBox = false;
+ MinimizeBox = false;
+ Name = "SpinePreviewFullScreenForm";
+ ShowIcon = false;
+ ShowInTaskbar = false;
+ StartPosition = FormStartPosition.Manual;
+ TopMost = true;
+ ResumeLayout(false);
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/SpineViewer/Forms/SpinePreviewFullScreenForm.cs b/SpineViewer/Forms/SpinePreviewFullScreenForm.cs
new file mode 100644
index 0000000..0a8ff60
--- /dev/null
+++ b/SpineViewer/Forms/SpinePreviewFullScreenForm.cs
@@ -0,0 +1,24 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.ComponentModel.Design;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace SpineViewer.Forms
+{
+ [ToolboxItem(true)]
+ [Designer(typeof(ComponentDesigner), typeof(IDesigner))]
+ [DesignTimeVisible(true)]
+ public partial class SpinePreviewFullScreenForm: Form
+ {
+ public SpinePreviewFullScreenForm()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/SpineViewer/Forms/SpinePreviewFullScreenForm.resx b/SpineViewer/Forms/SpinePreviewFullScreenForm.resx
new file mode 100644
index 0000000..8b2ff64
--- /dev/null
+++ b/SpineViewer/Forms/SpinePreviewFullScreenForm.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/SpineViewer/Forms/SpineViewerForm.Designer.cs b/SpineViewer/Forms/SpineViewerForm.Designer.cs
index 1d16e20..1a43bc4 100644
--- a/SpineViewer/Forms/SpineViewerForm.Designer.cs
+++ b/SpineViewer/Forms/SpineViewerForm.Designer.cs
@@ -61,7 +61,6 @@
toolStripMenuItem_About = new ToolStripMenuItem();
toolStripMenuItem_Experiment = new ToolStripMenuItem();
toolStripMenuItem_DesktopProjection = new ToolStripMenuItem();
- toolStripMenuItem_Debug = new ToolStripMenuItem();
rtbLog = new RichTextBox();
splitContainer_MainForm = new SplitContainer();
splitContainer_Functional = new SplitContainer();
@@ -77,6 +76,7 @@
spinePreviewPanel = new SpineViewer.Controls.SpinePreviewPanel();
panel_MainForm = new Panel();
toolTip = new ToolTip(components);
+ toolStripMenuItem_Debug = new ToolStripMenuItem();
menuStrip.SuspendLayout();
((System.ComponentModel.ISupportInitialize)splitContainer_MainForm).BeginInit();
splitContainer_MainForm.Panel1.SuspendLayout();
@@ -274,7 +274,7 @@
//
// toolStripMenuItem_Help
//
- toolStripMenuItem_Help.DropDownItems.AddRange(new ToolStripItem[] { toolStripMenuItem_Diagnostics, toolStripSeparator3, toolStripMenuItem_About });
+ toolStripMenuItem_Help.DropDownItems.AddRange(new ToolStripItem[] { toolStripMenuItem_Diagnostics, toolStripSeparator3, toolStripMenuItem_About, toolStripMenuItem_Debug });
toolStripMenuItem_Help.Name = "toolStripMenuItem_Help";
toolStripMenuItem_Help.Size = new Size(88, 28);
toolStripMenuItem_Help.Text = "帮助(&H)";
@@ -282,25 +282,25 @@
// toolStripMenuItem_Diagnostics
//
toolStripMenuItem_Diagnostics.Name = "toolStripMenuItem_Diagnostics";
- toolStripMenuItem_Diagnostics.Size = new Size(208, 34);
+ toolStripMenuItem_Diagnostics.Size = new Size(270, 34);
toolStripMenuItem_Diagnostics.Text = "诊断信息(&D)";
toolStripMenuItem_Diagnostics.Click += toolStripMenuItem_Diagnostics_Click;
//
// toolStripSeparator3
//
toolStripSeparator3.Name = "toolStripSeparator3";
- toolStripSeparator3.Size = new Size(205, 6);
+ toolStripSeparator3.Size = new Size(267, 6);
//
// toolStripMenuItem_About
//
toolStripMenuItem_About.Name = "toolStripMenuItem_About";
- toolStripMenuItem_About.Size = new Size(208, 34);
+ toolStripMenuItem_About.Size = new Size(270, 34);
toolStripMenuItem_About.Text = "关于(&A)";
toolStripMenuItem_About.Click += toolStripMenuItem_About_Click;
//
// toolStripMenuItem_Experiment
//
- toolStripMenuItem_Experiment.DropDownItems.AddRange(new ToolStripItem[] { toolStripMenuItem_DesktopProjection, toolStripMenuItem_Debug });
+ toolStripMenuItem_Experiment.DropDownItems.AddRange(new ToolStripItem[] { toolStripMenuItem_DesktopProjection });
toolStripMenuItem_Experiment.Name = "toolStripMenuItem_Experiment";
toolStripMenuItem_Experiment.Size = new Size(138, 28);
toolStripMenuItem_Experiment.Text = "实验性功能(&E)";
@@ -308,18 +308,10 @@
// toolStripMenuItem_DesktopProjection
//
toolStripMenuItem_DesktopProjection.Name = "toolStripMenuItem_DesktopProjection";
- toolStripMenuItem_DesktopProjection.Size = new Size(270, 34);
+ toolStripMenuItem_DesktopProjection.Size = new Size(182, 34);
toolStripMenuItem_DesktopProjection.Text = "桌面投影";
toolStripMenuItem_DesktopProjection.Click += toolStripMenuItem_DesktopProjection_Click;
//
- // toolStripMenuItem_Debug
- //
- toolStripMenuItem_Debug.Name = "toolStripMenuItem_Debug";
- toolStripMenuItem_Debug.Size = new Size(270, 34);
- toolStripMenuItem_Debug.Text = "调试";
- toolStripMenuItem_Debug.Visible = false;
- toolStripMenuItem_Debug.Click += toolStripMenuItem_Debug_Click;
- //
// rtbLog
//
rtbLog.BackColor = SystemColors.Window;
@@ -330,7 +322,7 @@
rtbLog.Margin = new Padding(3, 2, 3, 2);
rtbLog.Name = "rtbLog";
rtbLog.ReadOnly = true;
- rtbLog.Size = new Size(1758, 150);
+ rtbLog.Size = new Size(1758, 154);
rtbLog.TabIndex = 0;
rtbLog.Text = "";
rtbLog.WordWrap = false;
@@ -354,7 +346,7 @@
splitContainer_MainForm.Panel2.Controls.Add(rtbLog);
splitContainer_MainForm.Panel2.Cursor = Cursors.Default;
splitContainer_MainForm.Size = new Size(1758, 1097);
- splitContainer_MainForm.SplitterDistance = 939;
+ splitContainer_MainForm.SplitterDistance = 935;
splitContainer_MainForm.SplitterWidth = 8;
splitContainer_MainForm.TabIndex = 3;
splitContainer_MainForm.TabStop = false;
@@ -378,7 +370,7 @@
//
splitContainer_Functional.Panel2.Controls.Add(groupBox_Preview);
splitContainer_Functional.Panel2.Cursor = Cursors.Default;
- splitContainer_Functional.Size = new Size(1758, 939);
+ splitContainer_Functional.Size = new Size(1758, 935);
splitContainer_Functional.SplitterDistance = 788;
splitContainer_Functional.SplitterWidth = 8;
splitContainer_Functional.TabIndex = 2;
@@ -402,7 +394,7 @@
//
splitContainer_Information.Panel2.Controls.Add(splitContainer_Config);
splitContainer_Information.Panel2.Cursor = Cursors.Default;
- splitContainer_Information.Size = new Size(788, 939);
+ splitContainer_Information.Size = new Size(788, 935);
splitContainer_Information.SplitterDistance = 351;
splitContainer_Information.SplitterWidth = 8;
splitContainer_Information.TabIndex = 1;
@@ -416,7 +408,7 @@
groupBox_SkelList.Dock = DockStyle.Fill;
groupBox_SkelList.Location = new Point(0, 0);
groupBox_SkelList.Name = "groupBox_SkelList";
- groupBox_SkelList.Size = new Size(351, 939);
+ groupBox_SkelList.Size = new Size(351, 935);
groupBox_SkelList.TabIndex = 0;
groupBox_SkelList.TabStop = false;
groupBox_SkelList.Text = "模型列表";
@@ -426,7 +418,7 @@
spineListView.Dock = DockStyle.Fill;
spineListView.Location = new Point(3, 26);
spineListView.Name = "spineListView";
- spineListView.Size = new Size(345, 910);
+ spineListView.Size = new Size(345, 906);
spineListView.SpinePropertyGrid = spineViewPropertyGrid;
spineListView.TabIndex = 0;
//
@@ -435,7 +427,7 @@
spineViewPropertyGrid.Dock = DockStyle.Fill;
spineViewPropertyGrid.Location = new Point(3, 26);
spineViewPropertyGrid.Name = "spineViewPropertyGrid";
- spineViewPropertyGrid.Size = new Size(423, 582);
+ spineViewPropertyGrid.Size = new Size(423, 580);
spineViewPropertyGrid.TabIndex = 0;
//
// splitContainer_Config
@@ -452,8 +444,8 @@
// splitContainer_Config.Panel2
//
splitContainer_Config.Panel2.Controls.Add(groupBox_SkelConfig);
- splitContainer_Config.Size = new Size(429, 939);
- splitContainer_Config.SplitterDistance = 320;
+ splitContainer_Config.Size = new Size(429, 935);
+ splitContainer_Config.SplitterDistance = 318;
splitContainer_Config.SplitterWidth = 8;
splitContainer_Config.TabIndex = 0;
//
@@ -464,7 +456,7 @@
groupBox_PreviewConfig.Location = new Point(0, 0);
groupBox_PreviewConfig.Margin = new Padding(0);
groupBox_PreviewConfig.Name = "groupBox_PreviewConfig";
- groupBox_PreviewConfig.Size = new Size(429, 320);
+ groupBox_PreviewConfig.Size = new Size(429, 318);
groupBox_PreviewConfig.TabIndex = 1;
groupBox_PreviewConfig.TabStop = false;
groupBox_PreviewConfig.Text = "画面参数";
@@ -475,7 +467,7 @@
propertyGrid_Previewer.HelpVisible = false;
propertyGrid_Previewer.Location = new Point(3, 26);
propertyGrid_Previewer.Name = "propertyGrid_Previewer";
- propertyGrid_Previewer.Size = new Size(423, 291);
+ propertyGrid_Previewer.Size = new Size(423, 289);
propertyGrid_Previewer.TabIndex = 1;
propertyGrid_Previewer.ToolbarVisible = false;
//
@@ -486,7 +478,7 @@
groupBox_SkelConfig.Location = new Point(0, 0);
groupBox_SkelConfig.Margin = new Padding(0);
groupBox_SkelConfig.Name = "groupBox_SkelConfig";
- groupBox_SkelConfig.Size = new Size(429, 611);
+ groupBox_SkelConfig.Size = new Size(429, 609);
groupBox_SkelConfig.TabIndex = 0;
groupBox_SkelConfig.TabStop = false;
groupBox_SkelConfig.Text = "模型参数";
@@ -497,7 +489,7 @@
groupBox_Preview.Dock = DockStyle.Fill;
groupBox_Preview.Location = new Point(0, 0);
groupBox_Preview.Name = "groupBox_Preview";
- groupBox_Preview.Size = new Size(962, 939);
+ groupBox_Preview.Size = new Size(962, 935);
groupBox_Preview.TabIndex = 1;
groupBox_Preview.TabStop = false;
groupBox_Preview.Text = "预览画面";
@@ -508,7 +500,7 @@
spinePreviewPanel.Location = new Point(3, 26);
spinePreviewPanel.Name = "spinePreviewPanel";
spinePreviewPanel.PropertyGrid = propertyGrid_Previewer;
- spinePreviewPanel.Size = new Size(956, 910);
+ spinePreviewPanel.Size = new Size(956, 906);
spinePreviewPanel.SpineListView = spineListView;
spinePreviewPanel.TabIndex = 0;
//
@@ -526,6 +518,13 @@
//
toolTip.ShowAlways = true;
//
+ // toolStripMenuItem_Debug
+ //
+ toolStripMenuItem_Debug.Name = "toolStripMenuItem_Debug";
+ toolStripMenuItem_Debug.Size = new Size(270, 34);
+ toolStripMenuItem_Debug.Text = "调试";
+ toolStripMenuItem_Debug.Visible = false;
+ //
// SpineViewerForm
//
AutoScaleDimensions = new SizeF(144F, 144F);
diff --git a/SpineViewer/Forms/WallpaperForm.cs b/SpineViewer/Forms/WallpaperForm.cs
index b86a2ee..e2c613b 100644
--- a/SpineViewer/Forms/WallpaperForm.cs
+++ b/SpineViewer/Forms/WallpaperForm.cs
@@ -28,11 +28,32 @@ namespace SpineViewer
get
{
var cp = base.CreateParams;
- cp.X = cp.Y = 0;
- cp.ExStyle = Win32.WS_EX_LAYERED | Win32.WS_EX_TOOLWINDOW;
- cp.Style = Win32.WS_POPUP;
+ cp.ExStyle = Win32.WS_EX_LAYERED;
return cp;
}
}
+
+ //protected override void OnHandleCreated(EventArgs e)
+ //{
+ // base.OnHandleCreated(e);
+ // Win32.SetLayeredWindowAttributes(Handle, 0, 255, Win32.LWA_ALPHA);
+ // SetWallpaper();
+ //}
+
+ //public void SetWallpaper()
+ //{
+ // // 设置成嵌入桌面
+ // var progman = Win32.FindWindow("Progman", null);
+ // if (progman != IntPtr.Zero)
+ // {
+ // // 确保 WorkerW 被创建
+ // Win32.SendMessageTimeout(progman, Win32.WM_SPAWN_WORKER, IntPtr.Zero, IntPtr.Zero, Win32.SMTO_NORMAL, 1000, out _);
+ // var workerW = Win32.GetWorkerW();
+ // if (workerW != IntPtr.Zero)
+ // {
+ // Win32.SetParent(Handle, workerW);
+ // }
+ // }
+ //}
}
}