diff --git a/GBAPokemonGameEditor.v12.suo b/GBAPokemonGameEditor.v12.suo
index 054164a..c756478 100644
Binary files a/GBAPokemonGameEditor.v12.suo and b/GBAPokemonGameEditor.v12.suo differ
diff --git a/GBAPokemonGameEditor/GBAPokemonGameEditor.vbproj b/GBAPokemonGameEditor/GBAPokemonGameEditor.vbproj
index faf8509..65286b3 100644
--- a/GBAPokemonGameEditor/GBAPokemonGameEditor.vbproj
+++ b/GBAPokemonGameEditor/GBAPokemonGameEditor.vbproj
@@ -288,6 +288,12 @@
Form
+
+ TrainerEditor.vb
+
+
+ Form
+
@@ -368,6 +374,9 @@
TradeEditor.vb
+
+ TrainerEditor.vb
+
diff --git a/GBAPokemonGameEditor/GetImageFunctions.vb b/GBAPokemonGameEditor/GetImageFunctions.vb
index f829e3d..5783327 100644
--- a/GBAPokemonGameEditor/GetImageFunctions.vb
+++ b/GBAPokemonGameEditor/GetImageFunctions.vb
@@ -1124,4 +1124,40 @@ ErrorHandle:
End Sub
+ Public Sub GetAndDrawTrainerPic(ByVal picBox As PictureBox, ByVal index As Integer)
+ Dim sOffset As Integer = Int32.Parse(GetString(GetINIFileLocation(), header, "TrainerImageTable", ""), System.Globalization.NumberStyles.HexNumber) + (index * 8)
+ Dim pOffset As Integer = Int32.Parse(GetString(GetINIFileLocation(), header, "TrainerPaletteTable", ""), System.Globalization.NumberStyles.HexNumber) + (index * 8)
+ Dim Temp(&HFFF) As Byte
+ Dim Image(&HFFFF) As Byte
+ Dim Palette15(&HFFF) As Byte
+ Dim Palette32() As Color
+ Dim bSprite As Bitmap
+ Using fs As New FileStream(LoadedROM, FileMode.Open, FileAccess.Read)
+ Using r As New BinaryReader(fs)
+ fs.Position = sOffset
+ sOffset = r.ReadInt32 - &H8000000
+ fs.Position = sOffset
+ r.Read(Temp, 0, &HFFF)
+ LZ77UnComp(Temp, Image)
+
+ ReDim Temp(&HFFF)
+ fs.Position = pOffset
+ pOffset = r.ReadInt32 - &H8000000
+ fs.Position = pOffset
+ r.Read(Temp, 0, &HFFF)
+ LZ77UnComp(Temp, Palette15)
+
+ Palette32 = LoadPalette(Palette15)
+
+ End Using
+ End Using
+
+
+ bSprite = LoadSprite(Image, Palette32, 64, 64, GetString(AppPath & "GBAPGESettings.ini", "Settings", "TransparentImages", "0"))
+ picBox.Image = bSprite
+ picBox.Refresh()
+
+ End Sub
+
+
End Module
diff --git a/GBAPokemonGameEditor/GetNameFunctions.vb b/GBAPokemonGameEditor/GetNameFunctions.vb
index 4a3ce88..041a608 100644
--- a/GBAPokemonGameEditor/GetNameFunctions.vb
+++ b/GBAPokemonGameEditor/GetNameFunctions.vb
@@ -400,4 +400,29 @@ Module GetNameFunctions
GetTradeOTName = stringvar
End Function
+
+ Public Function GetTrainerName(ByVal Index As Integer)
+ Dim offvar As Integer
+ Dim b As String = ""
+
+ offvar = Int32.Parse((GetString(GetINIFileLocation(), header, "TrainerTable", "")), System.Globalization.NumberStyles.HexNumber)
+
+ If header3 = "J" Then
+
+ Else
+
+ FileNum = FreeFile()
+ FileOpen(FileNum, LoadedROM, OpenMode.Binary)
+ Dim Name As String = "xxxxxxxxxxx"
+ FileGet(FileNum, Name, offvar + 1 + 4 + (40 * Index))
+ b = Sapp2Asc(Name, False)
+ While InStr(1, b, "\x") : b = LSet(b, Len(b) - 1) : End While
+ b = LSet(b, Len(b) - 1)
+
+
+ End If
+ FileClose(FileNum)
+ GetTrainerName = b
+ End Function
+
End Module
diff --git a/GBAPokemonGameEditor/MainFrm.Designer.vb b/GBAPokemonGameEditor/MainFrm.Designer.vb
index a06cdeb..54df5bd 100644
--- a/GBAPokemonGameEditor/MainFrm.Designer.vb
+++ b/GBAPokemonGameEditor/MainFrm.Designer.vb
@@ -59,6 +59,7 @@ Partial Class MainFrm
Me.Button36 = New System.Windows.Forms.Button()
Me.TabControl1 = New System.Windows.Forms.TabControl()
Me.TabPage2 = New System.Windows.Forms.TabPage()
+ Me.Button11 = New System.Windows.Forms.Button()
Me.Button10 = New System.Windows.Forms.Button()
Me.Button2 = New System.Windows.Forms.Button()
Me.TabPage3 = New System.Windows.Forms.TabPage()
@@ -84,7 +85,7 @@ Partial Class MainFrm
Me.Button1 = New System.Windows.Forms.Button()
Me.GroupBox1 = New System.Windows.Forms.GroupBox()
Me.Label1 = New System.Windows.Forms.Label()
- Me.Button11 = New System.Windows.Forms.Button()
+ Me.Button12 = New System.Windows.Forms.Button()
Me.MenuStrip1.SuspendLayout()
Me.GroupBox4.SuspendLayout()
Me.TabControl1.SuspendLayout()
@@ -96,10 +97,12 @@ Partial Class MainFrm
'
'MenuStrip1
'
+ Me.MenuStrip1.ImageScalingSize = New System.Drawing.Size(20, 20)
Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.FileToolStripMenuItem, Me.SettingsToolStripMenuItem, Me.HelpToolStripMenuItem})
Me.MenuStrip1.Location = New System.Drawing.Point(0, 0)
Me.MenuStrip1.Name = "MenuStrip1"
- Me.MenuStrip1.Size = New System.Drawing.Size(457, 24)
+ Me.MenuStrip1.Padding = New System.Windows.Forms.Padding(8, 2, 0, 2)
+ Me.MenuStrip1.Size = New System.Drawing.Size(609, 28)
Me.MenuStrip1.TabIndex = 0
Me.MenuStrip1.Text = "MenuStrip1"
'
@@ -107,57 +110,57 @@ Partial Class MainFrm
'
Me.FileToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.OpenToolStripMenuItem, Me.ToolStripMenuItem2, Me.ExitToolStripMenuItem})
Me.FileToolStripMenuItem.Name = "FileToolStripMenuItem"
- Me.FileToolStripMenuItem.Size = New System.Drawing.Size(37, 20)
+ Me.FileToolStripMenuItem.Size = New System.Drawing.Size(44, 24)
Me.FileToolStripMenuItem.Text = "&File"
'
'OpenToolStripMenuItem
'
Me.OpenToolStripMenuItem.Name = "OpenToolStripMenuItem"
- Me.OpenToolStripMenuItem.Size = New System.Drawing.Size(103, 22)
+ Me.OpenToolStripMenuItem.Size = New System.Drawing.Size(181, 26)
Me.OpenToolStripMenuItem.Text = "&Open"
'
'ToolStripMenuItem2
'
Me.ToolStripMenuItem2.Name = "ToolStripMenuItem2"
- Me.ToolStripMenuItem2.Size = New System.Drawing.Size(100, 6)
+ Me.ToolStripMenuItem2.Size = New System.Drawing.Size(178, 6)
'
'ExitToolStripMenuItem
'
Me.ExitToolStripMenuItem.Name = "ExitToolStripMenuItem"
- Me.ExitToolStripMenuItem.Size = New System.Drawing.Size(103, 22)
+ Me.ExitToolStripMenuItem.Size = New System.Drawing.Size(181, 26)
Me.ExitToolStripMenuItem.Text = "E&xit"
'
'SettingsToolStripMenuItem
'
Me.SettingsToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.AddOrRemoveProgramsToolStripMenuItem, Me.TransparentBackgroundsToolStripMenuItem, Me.DisablePokemonImageLoadingToolStripMenuItem, Me.LinuxToolStripMenuItem})
Me.SettingsToolStripMenuItem.Name = "SettingsToolStripMenuItem"
- Me.SettingsToolStripMenuItem.Size = New System.Drawing.Size(61, 20)
+ Me.SettingsToolStripMenuItem.Size = New System.Drawing.Size(74, 24)
Me.SettingsToolStripMenuItem.Text = "&Settings"
'
'AddOrRemoveProgramsToolStripMenuItem
'
Me.AddOrRemoveProgramsToolStripMenuItem.Name = "AddOrRemoveProgramsToolStripMenuItem"
- Me.AddOrRemoveProgramsToolStripMenuItem.Size = New System.Drawing.Size(258, 22)
+ Me.AddOrRemoveProgramsToolStripMenuItem.Size = New System.Drawing.Size(313, 26)
Me.AddOrRemoveProgramsToolStripMenuItem.Text = "Add or Remove Programs"
'
'TransparentBackgroundsToolStripMenuItem
'
Me.TransparentBackgroundsToolStripMenuItem.Name = "TransparentBackgroundsToolStripMenuItem"
- Me.TransparentBackgroundsToolStripMenuItem.Size = New System.Drawing.Size(258, 22)
+ Me.TransparentBackgroundsToolStripMenuItem.Size = New System.Drawing.Size(313, 26)
Me.TransparentBackgroundsToolStripMenuItem.Text = "Transparent backgrounded images"
Me.TransparentBackgroundsToolStripMenuItem.Visible = False
'
'DisablePokemonImageLoadingToolStripMenuItem
'
Me.DisablePokemonImageLoadingToolStripMenuItem.Name = "DisablePokemonImageLoadingToolStripMenuItem"
- Me.DisablePokemonImageLoadingToolStripMenuItem.Size = New System.Drawing.Size(258, 22)
+ Me.DisablePokemonImageLoadingToolStripMenuItem.Size = New System.Drawing.Size(313, 26)
Me.DisablePokemonImageLoadingToolStripMenuItem.Text = "Disable Pokemon Image loading"
Me.DisablePokemonImageLoadingToolStripMenuItem.Visible = False
'
'LinuxToolStripMenuItem
'
Me.LinuxToolStripMenuItem.Name = "LinuxToolStripMenuItem"
- Me.LinuxToolStripMenuItem.Size = New System.Drawing.Size(258, 22)
+ Me.LinuxToolStripMenuItem.Size = New System.Drawing.Size(313, 26)
Me.LinuxToolStripMenuItem.Text = "Linux Operating System"
Me.LinuxToolStripMenuItem.Visible = False
'
@@ -165,48 +168,52 @@ Partial Class MainFrm
'
Me.HelpToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.EditRomsiniToolStripMenuItem, Me.ToolStripMenuItem6, Me.AboutToolStripMenuItem})
Me.HelpToolStripMenuItem.Name = "HelpToolStripMenuItem"
- Me.HelpToolStripMenuItem.Size = New System.Drawing.Size(44, 20)
+ Me.HelpToolStripMenuItem.Size = New System.Drawing.Size(53, 24)
Me.HelpToolStripMenuItem.Text = "&Help"
'
'EditRomsiniToolStripMenuItem
'
Me.EditRomsiniToolStripMenuItem.Name = "EditRomsiniToolStripMenuItem"
- Me.EditRomsiniToolStripMenuItem.Size = New System.Drawing.Size(140, 22)
+ Me.EditRomsiniToolStripMenuItem.Size = New System.Drawing.Size(166, 26)
Me.EditRomsiniToolStripMenuItem.Text = "Edit roms.ini"
'
'ToolStripMenuItem6
'
Me.ToolStripMenuItem6.Name = "ToolStripMenuItem6"
- Me.ToolStripMenuItem6.Size = New System.Drawing.Size(137, 6)
+ Me.ToolStripMenuItem6.Size = New System.Drawing.Size(163, 6)
'
'AboutToolStripMenuItem
'
Me.AboutToolStripMenuItem.Name = "AboutToolStripMenuItem"
- Me.AboutToolStripMenuItem.Size = New System.Drawing.Size(140, 22)
+ Me.AboutToolStripMenuItem.Size = New System.Drawing.Size(166, 26)
Me.AboutToolStripMenuItem.Text = "About"
'
'GroupBox4
'
Me.GroupBox4.Controls.Add(Me.Label2)
- Me.GroupBox4.Location = New System.Drawing.Point(12, 27)
+ Me.GroupBox4.Location = New System.Drawing.Point(16, 33)
+ Me.GroupBox4.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.GroupBox4.Name = "GroupBox4"
- Me.GroupBox4.Size = New System.Drawing.Size(253, 63)
+ Me.GroupBox4.Padding = New System.Windows.Forms.Padding(4, 4, 4, 4)
+ Me.GroupBox4.Size = New System.Drawing.Size(337, 78)
Me.GroupBox4.TabIndex = 10
Me.GroupBox4.TabStop = False
Me.GroupBox4.Text = "Game Loaded"
'
'Label2
'
- Me.Label2.Location = New System.Drawing.Point(6, 25)
+ Me.Label2.Location = New System.Drawing.Point(8, 31)
+ Me.Label2.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
Me.Label2.Name = "Label2"
- Me.Label2.Size = New System.Drawing.Size(241, 27)
+ Me.Label2.Size = New System.Drawing.Size(321, 33)
Me.Label2.TabIndex = 0
'
'Button4
'
- Me.Button4.Location = New System.Drawing.Point(271, 32)
+ Me.Button4.Location = New System.Drawing.Point(361, 39)
+ Me.Button4.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button4.Name = "Button4"
- Me.Button4.Size = New System.Drawing.Size(166, 52)
+ Me.Button4.Size = New System.Drawing.Size(221, 64)
Me.Button4.TabIndex = 1
Me.Button4.Text = "Load ROM"
Me.Button4.UseVisualStyleBackColor = True
@@ -218,9 +225,10 @@ Partial Class MainFrm
'Button5
'
Me.Button5.Enabled = False
- Me.Button5.Location = New System.Drawing.Point(2, 6)
+ Me.Button5.Location = New System.Drawing.Point(3, 7)
+ Me.Button5.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button5.Name = "Button5"
- Me.Button5.Size = New System.Drawing.Size(81, 55)
+ Me.Button5.Size = New System.Drawing.Size(108, 68)
Me.Button5.TabIndex = 14
Me.Button5.Text = "Move Tutor Editor"
Me.Button5.UseVisualStyleBackColor = True
@@ -228,9 +236,10 @@ Partial Class MainFrm
'Button6
'
Me.Button6.Enabled = False
- Me.Button6.Location = New System.Drawing.Point(90, 6)
+ Me.Button6.Location = New System.Drawing.Point(120, 7)
+ Me.Button6.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button6.Name = "Button6"
- Me.Button6.Size = New System.Drawing.Size(81, 55)
+ Me.Button6.Size = New System.Drawing.Size(108, 68)
Me.Button6.TabIndex = 15
Me.Button6.Text = "Pokedex Order Editor"
Me.Button6.UseVisualStyleBackColor = True
@@ -238,9 +247,10 @@ Partial Class MainFrm
'Button7
'
Me.Button7.Enabled = False
- Me.Button7.Location = New System.Drawing.Point(177, 6)
+ Me.Button7.Location = New System.Drawing.Point(236, 7)
+ Me.Button7.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button7.Name = "Button7"
- Me.Button7.Size = New System.Drawing.Size(81, 55)
+ Me.Button7.Size = New System.Drawing.Size(108, 68)
Me.Button7.TabIndex = 16
Me.Button7.Text = "Pokemon Editor"
Me.Button7.TextImageRelation = System.Windows.Forms.TextImageRelation.TextAboveImage
@@ -249,9 +259,10 @@ Partial Class MainFrm
'Button24
'
Me.Button24.Enabled = False
- Me.Button24.Location = New System.Drawing.Point(2, 68)
+ Me.Button24.Location = New System.Drawing.Point(3, 84)
+ Me.Button24.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button24.Name = "Button24"
- Me.Button24.Size = New System.Drawing.Size(81, 55)
+ Me.Button24.Size = New System.Drawing.Size(108, 68)
Me.Button24.TabIndex = 34
Me.Button24.Text = "RSE Starter Editor"
Me.Button24.TextImageRelation = System.Windows.Forms.TextImageRelation.TextAboveImage
@@ -260,9 +271,10 @@ Partial Class MainFrm
'Button25
'
Me.Button25.Enabled = False
- Me.Button25.Location = New System.Drawing.Point(264, 6)
+ Me.Button25.Location = New System.Drawing.Point(352, 7)
+ Me.Button25.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button25.Name = "Button25"
- Me.Button25.Size = New System.Drawing.Size(81, 55)
+ Me.Button25.Size = New System.Drawing.Size(108, 68)
Me.Button25.TabIndex = 35
Me.Button25.Text = "Attack Editor"
Me.Button25.UseVisualStyleBackColor = True
@@ -270,9 +282,10 @@ Partial Class MainFrm
'Button26
'
Me.Button26.Enabled = False
- Me.Button26.Location = New System.Drawing.Point(351, 6)
+ Me.Button26.Location = New System.Drawing.Point(468, 7)
+ Me.Button26.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button26.Name = "Button26"
- Me.Button26.Size = New System.Drawing.Size(79, 55)
+ Me.Button26.Size = New System.Drawing.Size(105, 68)
Me.Button26.TabIndex = 36
Me.Button26.Text = "Ability Editor"
Me.Button26.UseVisualStyleBackColor = True
@@ -280,9 +293,10 @@ Partial Class MainFrm
'Button27
'
Me.Button27.Enabled = False
- Me.Button27.Location = New System.Drawing.Point(3, 7)
+ Me.Button27.Location = New System.Drawing.Point(4, 9)
+ Me.Button27.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button27.Name = "Button27"
- Me.Button27.Size = New System.Drawing.Size(81, 55)
+ Me.Button27.Size = New System.Drawing.Size(108, 68)
Me.Button27.TabIndex = 37
Me.Button27.Text = "Add Program"
Me.Button27.UseVisualStyleBackColor = True
@@ -290,9 +304,10 @@ Partial Class MainFrm
'Button28
'
Me.Button28.Enabled = False
- Me.Button28.Location = New System.Drawing.Point(90, 7)
+ Me.Button28.Location = New System.Drawing.Point(120, 9)
+ Me.Button28.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button28.Name = "Button28"
- Me.Button28.Size = New System.Drawing.Size(81, 55)
+ Me.Button28.Size = New System.Drawing.Size(108, 68)
Me.Button28.TabIndex = 38
Me.Button28.Text = "Add Program"
Me.Button28.UseVisualStyleBackColor = True
@@ -300,9 +315,10 @@ Partial Class MainFrm
'Button29
'
Me.Button29.Enabled = False
- Me.Button29.Location = New System.Drawing.Point(177, 7)
+ Me.Button29.Location = New System.Drawing.Point(236, 9)
+ Me.Button29.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button29.Name = "Button29"
- Me.Button29.Size = New System.Drawing.Size(81, 55)
+ Me.Button29.Size = New System.Drawing.Size(108, 68)
Me.Button29.TabIndex = 39
Me.Button29.Text = "Add Program"
Me.Button29.UseVisualStyleBackColor = True
@@ -310,9 +326,10 @@ Partial Class MainFrm
'Button30
'
Me.Button30.Enabled = False
- Me.Button30.Location = New System.Drawing.Point(264, 7)
+ Me.Button30.Location = New System.Drawing.Point(352, 9)
+ Me.Button30.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button30.Name = "Button30"
- Me.Button30.Size = New System.Drawing.Size(81, 55)
+ Me.Button30.Size = New System.Drawing.Size(108, 68)
Me.Button30.TabIndex = 40
Me.Button30.Text = "Add Program"
Me.Button30.UseVisualStyleBackColor = True
@@ -320,9 +337,10 @@ Partial Class MainFrm
'Button31
'
Me.Button31.Enabled = False
- Me.Button31.Location = New System.Drawing.Point(351, 7)
+ Me.Button31.Location = New System.Drawing.Point(468, 9)
+ Me.Button31.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button31.Name = "Button31"
- Me.Button31.Size = New System.Drawing.Size(79, 55)
+ Me.Button31.Size = New System.Drawing.Size(105, 68)
Me.Button31.TabIndex = 41
Me.Button31.Text = "Add Program"
Me.Button31.UseVisualStyleBackColor = True
@@ -330,9 +348,10 @@ Partial Class MainFrm
'Button32
'
Me.Button32.Enabled = False
- Me.Button32.Location = New System.Drawing.Point(90, 68)
+ Me.Button32.Location = New System.Drawing.Point(120, 84)
+ Me.Button32.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button32.Name = "Button32"
- Me.Button32.Size = New System.Drawing.Size(81, 55)
+ Me.Button32.Size = New System.Drawing.Size(108, 68)
Me.Button32.TabIndex = 42
Me.Button32.Text = "Pokedex Data Editor"
Me.Button32.UseVisualStyleBackColor = True
@@ -340,9 +359,10 @@ Partial Class MainFrm
'Button33
'
Me.Button33.Enabled = False
- Me.Button33.Location = New System.Drawing.Point(177, 68)
+ Me.Button33.Location = New System.Drawing.Point(236, 84)
+ Me.Button33.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button33.Name = "Button33"
- Me.Button33.Size = New System.Drawing.Size(81, 55)
+ Me.Button33.Size = New System.Drawing.Size(108, 68)
Me.Button33.TabIndex = 43
Me.Button33.Text = "Battle Frontier Editor (Emerald)"
Me.Button33.UseVisualStyleBackColor = True
@@ -350,9 +370,10 @@ Partial Class MainFrm
'Button34
'
Me.Button34.Enabled = False
- Me.Button34.Location = New System.Drawing.Point(264, 68)
+ Me.Button34.Location = New System.Drawing.Point(352, 84)
+ Me.Button34.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button34.Name = "Button34"
- Me.Button34.Size = New System.Drawing.Size(81, 55)
+ Me.Button34.Size = New System.Drawing.Size(108, 68)
Me.Button34.TabIndex = 44
Me.Button34.Text = "Item Editor"
Me.Button34.UseVisualStyleBackColor = True
@@ -360,9 +381,10 @@ Partial Class MainFrm
'Button35
'
Me.Button35.Enabled = False
- Me.Button35.Location = New System.Drawing.Point(351, 68)
+ Me.Button35.Location = New System.Drawing.Point(468, 84)
+ Me.Button35.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button35.Name = "Button35"
- Me.Button35.Size = New System.Drawing.Size(79, 55)
+ Me.Button35.Size = New System.Drawing.Size(105, 68)
Me.Button35.TabIndex = 45
Me.Button35.Text = "TM/HM Editor"
Me.Button35.UseVisualStyleBackColor = True
@@ -370,9 +392,10 @@ Partial Class MainFrm
'Button36
'
Me.Button36.Enabled = False
- Me.Button36.Location = New System.Drawing.Point(2, 129)
+ Me.Button36.Location = New System.Drawing.Point(3, 159)
+ Me.Button36.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button36.Name = "Button36"
- Me.Button36.Size = New System.Drawing.Size(80, 55)
+ Me.Button36.Size = New System.Drawing.Size(107, 68)
Me.Button36.TabIndex = 46
Me.Button36.Text = "Egg Move Editor"
Me.Button36.UseVisualStyleBackColor = True
@@ -382,14 +405,16 @@ Partial Class MainFrm
Me.TabControl1.Controls.Add(Me.TabPage2)
Me.TabControl1.Controls.Add(Me.TabPage3)
Me.TabControl1.Controls.Add(Me.TabPage1)
- Me.TabControl1.Location = New System.Drawing.Point(6, 96)
+ Me.TabControl1.Location = New System.Drawing.Point(8, 118)
+ Me.TabControl1.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.TabControl1.Name = "TabControl1"
Me.TabControl1.SelectedIndex = 0
- Me.TabControl1.Size = New System.Drawing.Size(444, 279)
+ Me.TabControl1.Size = New System.Drawing.Size(592, 343)
Me.TabControl1.TabIndex = 47
'
'TabPage2
'
+ Me.TabPage2.Controls.Add(Me.Button12)
Me.TabPage2.Controls.Add(Me.Button11)
Me.TabPage2.Controls.Add(Me.Button10)
Me.TabPage2.Controls.Add(Me.Button2)
@@ -404,20 +429,33 @@ Partial Class MainFrm
Me.TabPage2.Controls.Add(Me.Button25)
Me.TabPage2.Controls.Add(Me.Button32)
Me.TabPage2.Controls.Add(Me.Button26)
- Me.TabPage2.Location = New System.Drawing.Point(4, 22)
+ Me.TabPage2.Location = New System.Drawing.Point(4, 25)
+ Me.TabPage2.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.TabPage2.Name = "TabPage2"
- Me.TabPage2.Padding = New System.Windows.Forms.Padding(3)
- Me.TabPage2.Size = New System.Drawing.Size(436, 253)
+ Me.TabPage2.Padding = New System.Windows.Forms.Padding(4, 4, 4, 4)
+ Me.TabPage2.Size = New System.Drawing.Size(584, 314)
Me.TabPage2.TabIndex = 1
Me.TabPage2.Text = "Internal Programs"
Me.TabPage2.UseVisualStyleBackColor = True
'
+ 'Button11
+ '
+ Me.Button11.Enabled = False
+ Me.Button11.Location = New System.Drawing.Point(352, 159)
+ Me.Button11.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
+ Me.Button11.Name = "Button11"
+ Me.Button11.Size = New System.Drawing.Size(108, 68)
+ Me.Button11.TabIndex = 49
+ Me.Button11.Text = "Pokedex List Editor"
+ Me.Button11.UseVisualStyleBackColor = True
+ '
'Button10
'
Me.Button10.Enabled = False
- Me.Button10.Location = New System.Drawing.Point(177, 129)
+ Me.Button10.Location = New System.Drawing.Point(236, 159)
+ Me.Button10.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button10.Name = "Button10"
- Me.Button10.Size = New System.Drawing.Size(81, 55)
+ Me.Button10.Size = New System.Drawing.Size(108, 68)
Me.Button10.TabIndex = 48
Me.Button10.Text = "Trade Editor"
Me.Button10.UseVisualStyleBackColor = True
@@ -425,9 +463,10 @@ Partial Class MainFrm
'Button2
'
Me.Button2.Enabled = False
- Me.Button2.Location = New System.Drawing.Point(90, 129)
+ Me.Button2.Location = New System.Drawing.Point(120, 159)
+ Me.Button2.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button2.Name = "Button2"
- Me.Button2.Size = New System.Drawing.Size(81, 55)
+ Me.Button2.Size = New System.Drawing.Size(108, 68)
Me.Button2.TabIndex = 47
Me.Button2.Text = "Habitat Editor (FR/LG)"
Me.Button2.UseVisualStyleBackColor = True
@@ -454,9 +493,10 @@ Partial Class MainFrm
Me.TabPage3.Controls.Add(Me.Button29)
Me.TabPage3.Controls.Add(Me.Button30)
Me.TabPage3.Controls.Add(Me.Button31)
- Me.TabPage3.Location = New System.Drawing.Point(4, 22)
+ Me.TabPage3.Location = New System.Drawing.Point(4, 25)
+ Me.TabPage3.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.TabPage3.Name = "TabPage3"
- Me.TabPage3.Size = New System.Drawing.Size(436, 253)
+ Me.TabPage3.Size = New System.Drawing.Size(584, 314)
Me.TabPage3.TabIndex = 2
Me.TabPage3.Text = "External Programs"
Me.TabPage3.UseVisualStyleBackColor = True
@@ -464,9 +504,10 @@ Partial Class MainFrm
'Button47
'
Me.Button47.Enabled = False
- Me.Button47.Location = New System.Drawing.Point(3, 190)
+ Me.Button47.Location = New System.Drawing.Point(4, 234)
+ Me.Button47.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button47.Name = "Button47"
- Me.Button47.Size = New System.Drawing.Size(81, 55)
+ Me.Button47.Size = New System.Drawing.Size(108, 68)
Me.Button47.TabIndex = 52
Me.Button47.Text = "Add Program"
Me.Button47.UseVisualStyleBackColor = True
@@ -474,9 +515,10 @@ Partial Class MainFrm
'Button48
'
Me.Button48.Enabled = False
- Me.Button48.Location = New System.Drawing.Point(90, 190)
+ Me.Button48.Location = New System.Drawing.Point(120, 234)
+ Me.Button48.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button48.Name = "Button48"
- Me.Button48.Size = New System.Drawing.Size(81, 55)
+ Me.Button48.Size = New System.Drawing.Size(108, 68)
Me.Button48.TabIndex = 53
Me.Button48.Text = "Add Program"
Me.Button48.UseVisualStyleBackColor = True
@@ -484,9 +526,10 @@ Partial Class MainFrm
'Button49
'
Me.Button49.Enabled = False
- Me.Button49.Location = New System.Drawing.Point(177, 190)
+ Me.Button49.Location = New System.Drawing.Point(236, 234)
+ Me.Button49.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button49.Name = "Button49"
- Me.Button49.Size = New System.Drawing.Size(81, 55)
+ Me.Button49.Size = New System.Drawing.Size(108, 68)
Me.Button49.TabIndex = 54
Me.Button49.Text = "Add Program"
Me.Button49.UseVisualStyleBackColor = True
@@ -494,9 +537,10 @@ Partial Class MainFrm
'Button50
'
Me.Button50.Enabled = False
- Me.Button50.Location = New System.Drawing.Point(264, 190)
+ Me.Button50.Location = New System.Drawing.Point(352, 234)
+ Me.Button50.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button50.Name = "Button50"
- Me.Button50.Size = New System.Drawing.Size(81, 55)
+ Me.Button50.Size = New System.Drawing.Size(108, 68)
Me.Button50.TabIndex = 55
Me.Button50.Text = "Add Program"
Me.Button50.UseVisualStyleBackColor = True
@@ -504,9 +548,10 @@ Partial Class MainFrm
'Button51
'
Me.Button51.Enabled = False
- Me.Button51.Location = New System.Drawing.Point(351, 190)
+ Me.Button51.Location = New System.Drawing.Point(468, 234)
+ Me.Button51.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button51.Name = "Button51"
- Me.Button51.Size = New System.Drawing.Size(79, 55)
+ Me.Button51.Size = New System.Drawing.Size(105, 68)
Me.Button51.TabIndex = 56
Me.Button51.Text = "Add Program"
Me.Button51.UseVisualStyleBackColor = True
@@ -514,9 +559,10 @@ Partial Class MainFrm
'Button42
'
Me.Button42.Enabled = False
- Me.Button42.Location = New System.Drawing.Point(3, 129)
+ Me.Button42.Location = New System.Drawing.Point(4, 159)
+ Me.Button42.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button42.Name = "Button42"
- Me.Button42.Size = New System.Drawing.Size(81, 55)
+ Me.Button42.Size = New System.Drawing.Size(108, 68)
Me.Button42.TabIndex = 47
Me.Button42.Text = "Add Program"
Me.Button42.UseVisualStyleBackColor = True
@@ -524,9 +570,10 @@ Partial Class MainFrm
'Button43
'
Me.Button43.Enabled = False
- Me.Button43.Location = New System.Drawing.Point(90, 129)
+ Me.Button43.Location = New System.Drawing.Point(120, 159)
+ Me.Button43.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button43.Name = "Button43"
- Me.Button43.Size = New System.Drawing.Size(81, 55)
+ Me.Button43.Size = New System.Drawing.Size(108, 68)
Me.Button43.TabIndex = 48
Me.Button43.Text = "Add Program"
Me.Button43.UseVisualStyleBackColor = True
@@ -534,9 +581,10 @@ Partial Class MainFrm
'Button44
'
Me.Button44.Enabled = False
- Me.Button44.Location = New System.Drawing.Point(177, 129)
+ Me.Button44.Location = New System.Drawing.Point(236, 159)
+ Me.Button44.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button44.Name = "Button44"
- Me.Button44.Size = New System.Drawing.Size(81, 55)
+ Me.Button44.Size = New System.Drawing.Size(108, 68)
Me.Button44.TabIndex = 49
Me.Button44.Text = "Add Program"
Me.Button44.UseVisualStyleBackColor = True
@@ -544,9 +592,10 @@ Partial Class MainFrm
'Button45
'
Me.Button45.Enabled = False
- Me.Button45.Location = New System.Drawing.Point(264, 129)
+ Me.Button45.Location = New System.Drawing.Point(352, 159)
+ Me.Button45.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button45.Name = "Button45"
- Me.Button45.Size = New System.Drawing.Size(81, 55)
+ Me.Button45.Size = New System.Drawing.Size(108, 68)
Me.Button45.TabIndex = 50
Me.Button45.Text = "Add Program"
Me.Button45.UseVisualStyleBackColor = True
@@ -554,9 +603,10 @@ Partial Class MainFrm
'Button46
'
Me.Button46.Enabled = False
- Me.Button46.Location = New System.Drawing.Point(351, 129)
+ Me.Button46.Location = New System.Drawing.Point(468, 159)
+ Me.Button46.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button46.Name = "Button46"
- Me.Button46.Size = New System.Drawing.Size(79, 55)
+ Me.Button46.Size = New System.Drawing.Size(105, 68)
Me.Button46.TabIndex = 51
Me.Button46.Text = "Add Program"
Me.Button46.UseVisualStyleBackColor = True
@@ -564,9 +614,10 @@ Partial Class MainFrm
'Button37
'
Me.Button37.Enabled = False
- Me.Button37.Location = New System.Drawing.Point(3, 68)
+ Me.Button37.Location = New System.Drawing.Point(4, 84)
+ Me.Button37.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button37.Name = "Button37"
- Me.Button37.Size = New System.Drawing.Size(81, 55)
+ Me.Button37.Size = New System.Drawing.Size(108, 68)
Me.Button37.TabIndex = 42
Me.Button37.Text = "Add Program"
Me.Button37.UseVisualStyleBackColor = True
@@ -574,9 +625,10 @@ Partial Class MainFrm
'Button38
'
Me.Button38.Enabled = False
- Me.Button38.Location = New System.Drawing.Point(90, 68)
+ Me.Button38.Location = New System.Drawing.Point(120, 84)
+ Me.Button38.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button38.Name = "Button38"
- Me.Button38.Size = New System.Drawing.Size(81, 55)
+ Me.Button38.Size = New System.Drawing.Size(108, 68)
Me.Button38.TabIndex = 43
Me.Button38.Text = "Add Program"
Me.Button38.UseVisualStyleBackColor = True
@@ -584,9 +636,10 @@ Partial Class MainFrm
'Button39
'
Me.Button39.Enabled = False
- Me.Button39.Location = New System.Drawing.Point(177, 68)
+ Me.Button39.Location = New System.Drawing.Point(236, 84)
+ Me.Button39.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button39.Name = "Button39"
- Me.Button39.Size = New System.Drawing.Size(81, 55)
+ Me.Button39.Size = New System.Drawing.Size(108, 68)
Me.Button39.TabIndex = 44
Me.Button39.Text = "Add Program"
Me.Button39.UseVisualStyleBackColor = True
@@ -594,9 +647,10 @@ Partial Class MainFrm
'Button40
'
Me.Button40.Enabled = False
- Me.Button40.Location = New System.Drawing.Point(264, 68)
+ Me.Button40.Location = New System.Drawing.Point(352, 84)
+ Me.Button40.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button40.Name = "Button40"
- Me.Button40.Size = New System.Drawing.Size(81, 55)
+ Me.Button40.Size = New System.Drawing.Size(108, 68)
Me.Button40.TabIndex = 45
Me.Button40.Text = "Add Program"
Me.Button40.UseVisualStyleBackColor = True
@@ -604,9 +658,10 @@ Partial Class MainFrm
'Button41
'
Me.Button41.Enabled = False
- Me.Button41.Location = New System.Drawing.Point(351, 68)
+ Me.Button41.Location = New System.Drawing.Point(468, 84)
+ Me.Button41.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button41.Name = "Button41"
- Me.Button41.Size = New System.Drawing.Size(79, 55)
+ Me.Button41.Size = New System.Drawing.Size(105, 68)
Me.Button41.TabIndex = 46
Me.Button41.Text = "Add Program"
Me.Button41.UseVisualStyleBackColor = True
@@ -617,10 +672,11 @@ Partial Class MainFrm
Me.TabPage1.Controls.Add(Me.Button8)
Me.TabPage1.Controls.Add(Me.Button3)
Me.TabPage1.Controls.Add(Me.Button1)
- Me.TabPage1.Location = New System.Drawing.Point(4, 22)
+ Me.TabPage1.Location = New System.Drawing.Point(4, 25)
+ Me.TabPage1.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.TabPage1.Name = "TabPage1"
- Me.TabPage1.Padding = New System.Windows.Forms.Padding(3)
- Me.TabPage1.Size = New System.Drawing.Size(436, 253)
+ Me.TabPage1.Padding = New System.Windows.Forms.Padding(4, 4, 4, 4)
+ Me.TabPage1.Size = New System.Drawing.Size(584, 314)
Me.TabPage1.TabIndex = 0
Me.TabPage1.Text = "Patchers and Expanders"
Me.TabPage1.UseVisualStyleBackColor = True
@@ -628,9 +684,10 @@ Partial Class MainFrm
'Button9
'
Me.Button9.Enabled = False
- Me.Button9.Location = New System.Drawing.Point(177, 6)
+ Me.Button9.Location = New System.Drawing.Point(236, 7)
+ Me.Button9.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button9.Name = "Button9"
- Me.Button9.Size = New System.Drawing.Size(81, 55)
+ Me.Button9.Size = New System.Drawing.Size(108, 68)
Me.Button9.TabIndex = 36
Me.Button9.Text = "Pokemon Adder"
Me.Button9.UseVisualStyleBackColor = True
@@ -638,9 +695,10 @@ Partial Class MainFrm
'Button8
'
Me.Button8.Enabled = False
- Me.Button8.Location = New System.Drawing.Point(3, 68)
+ Me.Button8.Location = New System.Drawing.Point(4, 84)
+ Me.Button8.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button8.Name = "Button8"
- Me.Button8.Size = New System.Drawing.Size(81, 55)
+ Me.Button8.Size = New System.Drawing.Size(108, 68)
Me.Button8.TabIndex = 35
Me.Button8.Text = "ROM Expander"
Me.Button8.TextImageRelation = System.Windows.Forms.TextImageRelation.TextAboveImage
@@ -649,9 +707,10 @@ Partial Class MainFrm
'Button3
'
Me.Button3.Enabled = False
- Me.Button3.Location = New System.Drawing.Point(90, 6)
+ Me.Button3.Location = New System.Drawing.Point(120, 7)
+ Me.Button3.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button3.Name = "Button3"
- Me.Button3.Size = New System.Drawing.Size(81, 55)
+ Me.Button3.Size = New System.Drawing.Size(108, 68)
Me.Button3.TabIndex = 16
Me.Button3.Text = "Ability Adder"
Me.Button3.UseVisualStyleBackColor = True
@@ -659,9 +718,10 @@ Partial Class MainFrm
'Button1
'
Me.Button1.Enabled = False
- Me.Button1.Location = New System.Drawing.Point(3, 6)
+ Me.Button1.Location = New System.Drawing.Point(4, 7)
+ Me.Button1.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button1.Name = "Button1"
- Me.Button1.Size = New System.Drawing.Size(81, 55)
+ Me.Button1.Size = New System.Drawing.Size(108, 68)
Me.Button1.TabIndex = 15
Me.Button1.Text = "Attack Adder"
Me.Button1.UseVisualStyleBackColor = True
@@ -669,37 +729,41 @@ Partial Class MainFrm
'GroupBox1
'
Me.GroupBox1.Controls.Add(Me.Label1)
- Me.GroupBox1.Location = New System.Drawing.Point(12, 381)
+ Me.GroupBox1.Location = New System.Drawing.Point(16, 469)
+ Me.GroupBox1.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.GroupBox1.Name = "GroupBox1"
- Me.GroupBox1.Size = New System.Drawing.Size(433, 37)
+ Me.GroupBox1.Padding = New System.Windows.Forms.Padding(4, 4, 4, 4)
+ Me.GroupBox1.Size = New System.Drawing.Size(577, 46)
Me.GroupBox1.TabIndex = 48
Me.GroupBox1.TabStop = False
'
'Label1
'
Me.Label1.AutoSize = True
- Me.Label1.Location = New System.Drawing.Point(87, 15)
+ Me.Label1.Location = New System.Drawing.Point(116, 18)
+ Me.Label1.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
Me.Label1.Name = "Label1"
- Me.Label1.Size = New System.Drawing.Size(250, 13)
+ Me.Label1.Size = New System.Drawing.Size(333, 17)
Me.Label1.TabIndex = 0
Me.Label1.Text = "Copyright © 2016 Gamer2020 All Rights Reserved. "
'
- 'Button11
+ 'Button12
'
- Me.Button11.Enabled = False
- Me.Button11.Location = New System.Drawing.Point(264, 129)
- Me.Button11.Name = "Button11"
- Me.Button11.Size = New System.Drawing.Size(81, 55)
- Me.Button11.TabIndex = 49
- Me.Button11.Text = "Pokedex List Editor"
- Me.Button11.UseVisualStyleBackColor = True
+ Me.Button12.Enabled = False
+ Me.Button12.Location = New System.Drawing.Point(468, 159)
+ Me.Button12.Margin = New System.Windows.Forms.Padding(4)
+ Me.Button12.Name = "Button12"
+ Me.Button12.Size = New System.Drawing.Size(105, 68)
+ Me.Button12.TabIndex = 50
+ Me.Button12.Text = "Trainer Editor"
+ Me.Button12.UseVisualStyleBackColor = True
'
'MainFrm
'
Me.AllowDrop = True
- Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(8.0!, 16.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
- Me.ClientSize = New System.Drawing.Size(457, 422)
+ Me.ClientSize = New System.Drawing.Size(609, 519)
Me.Controls.Add(Me.GroupBox1)
Me.Controls.Add(Me.TabControl1)
Me.Controls.Add(Me.Button4)
@@ -708,6 +772,7 @@ Partial Class MainFrm
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.MainMenuStrip = Me.MenuStrip1
+ Me.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.MaximizeBox = False
Me.Name = "MainFrm"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
@@ -787,4 +852,5 @@ Partial Class MainFrm
Friend WithEvents Button9 As Button
Friend WithEvents Button10 As Button
Friend WithEvents Button11 As Button
+ Friend WithEvents Button12 As System.Windows.Forms.Button
End Class
diff --git a/GBAPokemonGameEditor/MainFrm.vb b/GBAPokemonGameEditor/MainFrm.vb
index dc816a7..3624f93 100644
--- a/GBAPokemonGameEditor/MainFrm.vb
+++ b/GBAPokemonGameEditor/MainFrm.vb
@@ -319,6 +319,7 @@ Public Class MainFrm
Button9.Enabled = False
Button10.Enabled = False
Button11.Enabled = False
+ Button12.Enabled = False
MessageBox.Show("I haven't added Jap support out of pure lazziness. I will though if it get's highly Demanded.")
Else
@@ -342,6 +343,7 @@ Public Class MainFrm
Button9.Enabled = True
Button10.Enabled = True
Button11.Enabled = True
+ Button12.Enabled = True
End If
Else
Label2.Text = ""
@@ -364,6 +366,7 @@ Public Class MainFrm
Button9.Enabled = False
Button10.Enabled = False
Button11.Enabled = False
+ Button12.Enabled = False
MessageBox.Show("Not one of the Pokemon games...")
End If
@@ -824,4 +827,14 @@ Public Class MainFrm
Me.Text = "Pokémon Game Editor"
Me.Cursor = Cursors.Arrow
End Sub
+
+ Private Sub Button12_Click(sender As Object, e As EventArgs) Handles Button12.Click
+
+ Me.Text = "Please wait... This will take a while..."
+ Me.Cursor = Cursors.WaitCursor
+ TrainerEditor.Show()
+ Me.Text = "Pokémon Game Editor"
+ Me.Cursor = Cursors.Arrow
+
+ End Sub
End Class
diff --git a/GBAPokemonGameEditor/TrainerEditor.Designer.vb b/GBAPokemonGameEditor/TrainerEditor.Designer.vb
new file mode 100644
index 0000000..91db65b
--- /dev/null
+++ b/GBAPokemonGameEditor/TrainerEditor.Designer.vb
@@ -0,0 +1,167 @@
+ _
+Partial Class TrainerEditor
+ Inherits System.Windows.Forms.Form
+
+ 'Form overrides dispose to clean up the component list.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Required by the Windows Form Designer
+ Private components As System.ComponentModel.IContainer
+
+ 'NOTE: The following procedure is required by the Windows Form Designer
+ 'It can be modified using the Windows Form Designer.
+ 'Do not modify it using the code editor.
+ _
+ Private Sub InitializeComponent()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(TrainerEditor))
+ Me.GroupBox1 = New System.Windows.Forms.GroupBox()
+ Me.TrainerIndexTextBox = New System.Windows.Forms.TextBox()
+ Me.Label1 = New System.Windows.Forms.Label()
+ Me.TrainerListComboBox = New System.Windows.Forms.ComboBox()
+ Me.GroupBox2 = New System.Windows.Forms.GroupBox()
+ Me.PicNumericUpDown = New System.Windows.Forms.NumericUpDown()
+ Me.TrainerPic = New System.Windows.Forms.PictureBox()
+ Me.Label2 = New System.Windows.Forms.Label()
+ Me.TNameTextBox = New System.Windows.Forms.TextBox()
+ Me.RnmBttn = New System.Windows.Forms.Button()
+ Me.GroupBox1.SuspendLayout()
+ Me.GroupBox2.SuspendLayout()
+ CType(Me.PicNumericUpDown, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.TrainerPic, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.SuspendLayout()
+ '
+ 'GroupBox1
+ '
+ Me.GroupBox1.Controls.Add(Me.TrainerIndexTextBox)
+ Me.GroupBox1.Controls.Add(Me.Label1)
+ Me.GroupBox1.Controls.Add(Me.TrainerListComboBox)
+ Me.GroupBox1.Location = New System.Drawing.Point(12, 12)
+ Me.GroupBox1.Name = "GroupBox1"
+ Me.GroupBox1.Size = New System.Drawing.Size(161, 84)
+ Me.GroupBox1.TabIndex = 0
+ Me.GroupBox1.TabStop = False
+ Me.GroupBox1.Text = "Trainer List"
+ '
+ 'TrainerIndexTextBox
+ '
+ Me.TrainerIndexTextBox.Location = New System.Drawing.Point(74, 51)
+ Me.TrainerIndexTextBox.Name = "TrainerIndexTextBox"
+ Me.TrainerIndexTextBox.Size = New System.Drawing.Size(74, 22)
+ Me.TrainerIndexTextBox.TabIndex = 2
+ '
+ 'Label1
+ '
+ Me.Label1.AutoSize = True
+ Me.Label1.Location = New System.Drawing.Point(6, 54)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(45, 17)
+ Me.Label1.TabIndex = 1
+ Me.Label1.Text = "Index:"
+ '
+ 'TrainerListComboBox
+ '
+ Me.TrainerListComboBox.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Append
+ Me.TrainerListComboBox.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems
+ Me.TrainerListComboBox.FormattingEnabled = True
+ Me.TrainerListComboBox.Location = New System.Drawing.Point(6, 21)
+ Me.TrainerListComboBox.Name = "TrainerListComboBox"
+ Me.TrainerListComboBox.Size = New System.Drawing.Size(142, 24)
+ Me.TrainerListComboBox.TabIndex = 0
+ '
+ 'GroupBox2
+ '
+ Me.GroupBox2.Controls.Add(Me.RnmBttn)
+ Me.GroupBox2.Controls.Add(Me.TNameTextBox)
+ Me.GroupBox2.Controls.Add(Me.Label2)
+ Me.GroupBox2.Controls.Add(Me.PicNumericUpDown)
+ Me.GroupBox2.Controls.Add(Me.TrainerPic)
+ Me.GroupBox2.Location = New System.Drawing.Point(189, 12)
+ Me.GroupBox2.Name = "GroupBox2"
+ Me.GroupBox2.Size = New System.Drawing.Size(406, 166)
+ Me.GroupBox2.TabIndex = 1
+ Me.GroupBox2.TabStop = False
+ Me.GroupBox2.Text = "Trainer Data"
+ '
+ 'PicNumericUpDown
+ '
+ Me.PicNumericUpDown.Location = New System.Drawing.Point(16, 107)
+ Me.PicNumericUpDown.Name = "PicNumericUpDown"
+ Me.PicNumericUpDown.Size = New System.Drawing.Size(85, 22)
+ Me.PicNumericUpDown.TabIndex = 11
+ '
+ 'TrainerPic
+ '
+ Me.TrainerPic.Location = New System.Drawing.Point(16, 21)
+ Me.TrainerPic.Margin = New System.Windows.Forms.Padding(4)
+ Me.TrainerPic.Name = "TrainerPic"
+ Me.TrainerPic.Size = New System.Drawing.Size(85, 79)
+ Me.TrainerPic.TabIndex = 10
+ Me.TrainerPic.TabStop = False
+ '
+ 'Label2
+ '
+ Me.Label2.AutoSize = True
+ Me.Label2.Location = New System.Drawing.Point(108, 24)
+ Me.Label2.Name = "Label2"
+ Me.Label2.Size = New System.Drawing.Size(49, 17)
+ Me.Label2.TabIndex = 12
+ Me.Label2.Text = "Name:"
+ '
+ 'TNameTextBox
+ '
+ Me.TNameTextBox.Location = New System.Drawing.Point(163, 21)
+ Me.TNameTextBox.Name = "TNameTextBox"
+ Me.TNameTextBox.Size = New System.Drawing.Size(100, 22)
+ Me.TNameTextBox.TabIndex = 13
+ '
+ 'RnmBttn
+ '
+ Me.RnmBttn.Location = New System.Drawing.Point(269, 22)
+ Me.RnmBttn.Name = "RnmBttn"
+ Me.RnmBttn.Size = New System.Drawing.Size(75, 23)
+ Me.RnmBttn.TabIndex = 14
+ Me.RnmBttn.Text = "Rename"
+ Me.RnmBttn.UseVisualStyleBackColor = True
+ '
+ 'TrainerEditor
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(8.0!, 16.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.ClientSize = New System.Drawing.Size(607, 206)
+ Me.Controls.Add(Me.GroupBox2)
+ Me.Controls.Add(Me.GroupBox1)
+ Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
+ Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
+ Me.MaximizeBox = False
+ Me.Name = "TrainerEditor"
+ Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
+ Me.Text = "Trainer Editor"
+ Me.GroupBox1.ResumeLayout(False)
+ Me.GroupBox1.PerformLayout()
+ Me.GroupBox2.ResumeLayout(False)
+ Me.GroupBox2.PerformLayout()
+ CType(Me.PicNumericUpDown, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.TrainerPic, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.ResumeLayout(False)
+
+ End Sub
+ Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
+ Friend WithEvents TrainerIndexTextBox As System.Windows.Forms.TextBox
+ Friend WithEvents Label1 As System.Windows.Forms.Label
+ Friend WithEvents TrainerListComboBox As System.Windows.Forms.ComboBox
+ Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox
+ Friend WithEvents PicNumericUpDown As System.Windows.Forms.NumericUpDown
+ Friend WithEvents TrainerPic As System.Windows.Forms.PictureBox
+ Friend WithEvents RnmBttn As System.Windows.Forms.Button
+ Friend WithEvents TNameTextBox As System.Windows.Forms.TextBox
+ Friend WithEvents Label2 As System.Windows.Forms.Label
+End Class
diff --git a/GBAPokemonGameEditor/TrainerEditor.resx b/GBAPokemonGameEditor/TrainerEditor.resx
new file mode 100644
index 0000000..e579452
--- /dev/null
+++ b/GBAPokemonGameEditor/TrainerEditor.resx
@@ -0,0 +1,760 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+
+ AAABAAEAYGAAAAEAIAColAAAFgAAACgAAABgAAAAwAAAAAEAIAAAAAAAAJAAABIXAAASFwAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAIAAAAGAAAACwAAABUAAAAjAAAANwAAAE8AAABnAAAAfQAAAIoAAADRAAAA+wMC
+ Af8CAgP/AgIE/wAAAPwAAADGAAAARgAAAA4AAAAFAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAcAAAAOAAAAFwAAACYAAAA4AAAATwAA
+ AGgAAACAAAAAlAAAAK0AAADtAAAA/yYVD/8bGyX/Ex8t/wMFCP8AAAD5AAAAvwAAAEcAAAARAAAABwAA
+ AAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAABwAA
+ AA8AAAAbAAAAKwAAAD4AAABUAAAAbAAAAIIAAACXAAAAtAAAAOEAAAD8AAQD/yIWDv8iHxr/FRgU/w8Z
+ M/8DBgv/AAAA+QAAAMEAAABMAAAAFAAAAAgAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAIAAAAGAAAADgAAABsAAAAtAAAAQwAAAFsAAAByAAAAiQAAAKEAAAC7AAAA4gAA
+ APsIBgT/LiQZ/xoaG/8TGB7/Dxcd/wodAv8RJUL/AgUJ/wAAAPoAAADDAAAAXAAAACoAAAAMAAAAAgAA
+ AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAALAAAAGAAAACwAAABEAAAAXgAA
+ AHcAAACOAAAArAAAAN0AAAD7AAAA/wcFA/83KBX/JSAb/x0fIv8bISX/Fhwh/yAaKv8SGB7/CBgk/wEE
+ B/8AAAD/AAAA+AAAALsAAABVAAAAIwAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAA
+ AAoAAAAWAAAAJwAAAEAAAABcAAAAdwAAAJAAAACwAAAA3QAAAPsFBAP/BwcF/yYaEP8eGhX/Gh4f/yEp
+ K/8nLTD/KC0u/ywfMP8hHxv/ERkG/woQIP8BAgv/AgQM/wAAAP8AAAD4AAAAsAAAADkAAAAGAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAQAAAAIAAAAGAAAACwAAABUAAAAlAAAAOwAAAFcAAAB0AAAAjwAAALAAAADeAAAA+wkE
+ AP8XFQ//GhwZ/xkfIP8fJyv/JC0y/yUuMv8sMTL/Mzc2/ygxJP8rKy7/JyI6/xoXLP8OEyb/CRQv/wIG
+ Df8CBBD/AAAA9wAAAK8AAAA6AAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAYAAAANAAAAFwAAACUAAAA6AAAAUwAA
+ AG8AAACIAAAAqwAAAN4AAAD7CAQB/ysSAP8gHxz/GSYv/yMuN/8qNUP/KjM6/yYsMf8mKSz/Ki0t/x89
+ KP8cKDD/JSI//zUtNP8pMB3/FCIJ/wsYKP8KEkL/AAYO/wAAAPcAAACuAAAAOgAAAAUAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAABQAA
+ AAwAAAAXAAAAJwAAADsAAABSAAAAbAAAAIYAAACbAAAAywAAAPsIAwD/Gg0D/ygeGv8sMT//KzVD/yUu
+ Nf8eJiz/HiMn/yEjKP8hISX/HB4h/xclM/8RHiL/GiIf/y8yKv87NCz/KCkj/x8jH/8YIyn/BRY0/wcI
+ EP8AAAD3AAAArQAAADsAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ 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
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAABAAAAAwAAAAkAAAAXAAAALQAAAEoAAABrAAAAigAAALQAAAD6FhgZ/0FJTP8HBwn/BQ4Q/xof
+ IP8uMTL/KCwt/x8lJf8eHx//IR8g/yklJ/8wKiv/NSsv/zgtMP89MDP/RzI2/zoxMv81Ky3/MCMm/ywf
+ I/8qHyT/KCIp/yclK/8mKC3/JyUq/xoZHP8REhP/DxES/wwNEv8LDBf/BQUQ/wAAAv8AAAD1AAAAqQAA
+ ACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABQAAAA4AAAAfAAAAOAAAAFYAAAB3AAAAlAAA
+ AMEAAAD/EBMU/x4uMv8FCg7/KC4y/yAlJ/8eISL/FxkZ/w8WEf8tJin/PS0z/zYsM/80KzP/MSo0/y8q
+ Nf8tKjb/LiY4/zEvN/8zLTX/NSgy/zclMP82JC7/MiMs/y0jK/8pJCv/KCYs/yUkJ/8eHh//FRcX/w0Q
+ Ef8GCQ7/AgQN/xESF/8KCgr/AAAA9gAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAACQAA
+ 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
+ Av9hanL/0eTt/6G4wP9daG7/AAAA/wAAAP8VIij/T4Sb/0WFo/9IkbX/TprC/0KMtv8yc5r/RIOp/2Op
+ 0f94xvD/ftb8/4fi//+O7P//jOv//4LY+v+D1/v/gdL2/3zJ6/90vd7/aKfJ/1WUs/9KgqH/R3SQ/0Ru
+ i/9Ic47/RGF6/yg8T/8WHST/DQgG/wAAAP95hYf/X293/yYzNf8dJSj/BQYH/wAAAPgAAAAiAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAGAAAAEgAA
+ ACYAAABCAAAAYgAAAIMAAACjAAAA+wAAAP8wVVz/dZ6l/5K1vf8PFx7/AAAA/wgWG/81bIP/TJKx/0+c
+ wP9Qn8j/XafT/1KWw/9WoMj/d8fs/4XX//98z/n/ftH6/4vh/f+T4///e8/r/4vX/f+CzPP/e8Pp/3W5
+ 4P9zttv/dLLY/22q0P9nocn/aJ+z/1SIpP9GdpT/PmWB/z1ZcP9CVWj/EBQb/wAAAP8aKCv/hpqe/2Bt
+ cf8lLzL/BQcC/wAAAPwAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAQAAAAQAAAALAAAAGwAAADMAAABRAAAAcgAAAJAAAACtAAAA+wABAf9GbnT/j8fP/5vF
+ zf8fIy3/X2Fv/zhvg/9Mj6j/SJKy/0ygx/9TptL/abLf/3qy3/9jsdn/acLp/3bN9v97zvj/htH6/4vO
+ 9f9blLj/Gk1u/26y2v91t+T/eLnh/3Sz2/90s9v/dbLa/26o0P9mn8P/X5m1/1OLqP9Rh6b/WYys/0tt
+ if9BWG7/OEVV/zRGT/8hNzz/Z4CF/4aXm/88R0v/AgID/wAAAPwAAAAnAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAYAAAASAAAAJQAAAEEAAABiAAAAgQAA
+ AJ4AAADFAAAA/AECAf93oKb/tdPd/3ONl/8AFhv/LlRa/0F4kf9VlLD/XKjJ/1es0v9ZsNn/ZLjj/2+/
+ 6v92vev/isf2/3C16f90we7/kNX9/2agwv8SNVP/GjBM/wAcM/9jkK3/kMfq/2us0/9dq9T/cLjf/2yv
+ 1f9lo8v/a6HW/2CYw/9bk7j/XZCw/1mEnf9HaH3/MUpc/yArOf8NHSj/cIOQ/5yyv/9IWmP/AAID/wAA
+ AP0AAABZAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAA
+ AAsAAAAaAAAAMQAAAFEAAAByAAAAkAAAAL0AAADuAAAA/g0SE/+fydL/jK+9/yBBTv8xVV//O21//z2J
+ tP9Rosr/W7Te/1255f9kver/bcHt/3LA6/9nvur/dMj1/3DJ9v9Tu+X/ULPa/zOEqf89gJ//grvW/z9Z
+ cP9cfJb/d6TC/3iw0v9zsNT/cazQ/3aw0P98tNX/dazS/2ukx/9knb3/YZi0/1qMpf9Ic4n/NFlu/yU7
+ Sf8aKTL/fZCb/5OptP9tgYz/DhET/wEBAP4AAADPAAAAUAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAABAAAAAjAAAAPgAAAGAAAACBAAAAoQAAAOoAAAD+HiIj/05y
+ d/+fztr/hq+//z9geP8wW2z/IFx0/y6LtP9Gocv/WLTf/2bA6v+AzfT/k9f4/5vX9f+P2Pb/gdf3/4Tc
+ /P9u0e//dNLr/2O/2P+J0+b/uv///5u/yf+Arrr/g7rJ/5fN3v+Iydv/fLvP/4bH2P+PyNv/iLbK/4G2
+ yf95rsL/dqa5/2qXrP9XgZb/Q2uB/ztTYf8LGSD/bH+J/6W7x/+AlJ3/OEZN/wACA/8AAAD+AAAAywAA
+ ABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABwAAABYAAAAsAAAASgAA
+ AG0AAACOAAAAvwAAAPoAAAD/rcfJ/2eXnf+u3+3/fKe7/ytVbP8pW3D/TIie/1yfuv93uNP/kczo/6ba
+ 8v++6fv/2/X//+D6/v//+f7//vD+//jy/v/49f//+//8//fy/f////3///r9//fn7P/f1tv/3tzi/+fo
+ 7v/m6vH/9fr///7////y8v//5Pv6/9vx8//L4uL/scrS/5evuf93kJz/XnaF/01eaf8QHyX/gJSc/42j
+ rf+Wrbb/WGhv/yApLP8CAAD/AAAA+AAAAFkAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAADAAAACwAAABwAAAA2AAAAVgAAAHkAAACYAAAA6QAAAP4eIyT/SHBu/4m7xP+Mv8z/nMnb/yZS
+ Z/80aYL/Y5mn/5zAx/+73OT/2e/3/+b2/P/1+/7////9///++P////r//v/8//j//f/4////4vX0/+j5
+ 9v/x//r//f/8/+v19P/a5+f/2+rp/+Dx8P/h8/L/6v/8/+v6/f/n9ff/7fLv//Dv7v/s6uv/4uDi/87M
+ 0P+wsrf/mZyi/36Jj/89TlT/c4iP/6C5wv+Joan/boCH/0lUWf8QDQ7/AQEB/QAAAM0AAAAVAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAEQAAACUAAABBAAAAYwAAAIUAAACkAAAA9gAA
+ AP92lp3/Pmpw/4e9x/+NxdP/fqm5/zZgb/9bj5r/hbm//7fX1//W9vP/7P////D////y////9P/9//L6
+ +P/d9vb/2vT3/9Pw9//U8vn/xev1/9bz/P/W8vv/1/D4/9/m9f/P2er/ztjn/9vi7v/c5PH/2OHw/9nh
+ 8//b5Pf/0+by/9jl8P/d5O7/3N7n/83Q2P+vucD/mKWq/4qSlf9QYWT/Wm91/5awtv+Joan/d4uT/zE+
+ Rf8qMjb/AAAA/wAAAPYAAABdAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAFwAA
+ AC4AAABNAAAAcAAAAI8AAADDAAAA+QAAAP81WmH/Xo+Y/320vv+Pws7/c5yo/2eNlv93paj/m9TN/57g
+ 4/+t5fL/tOn4/7Po+f+16vz/tfL//7Hp//+L3vb/dtjx/3XT8P9tzO//dtL2/3vU+/970/f/ds7w/2i2
+ 6P9qveP/X6/Q/2S41f9zw+D/dMLj/3DA5f98w+v/hr/j/4zA4v+Xwt//pMXe/6rA2/+UscH/gaKt/4WY
+ lv9odnf/R1pe/3qUmv+Gn6n/oLW//15udP89SE3/GRoa/wICAv0AAADMAAAACQAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAQAAAAUAAAAQAAAAIgAAADwAAABcAAAAfQAAAJoAAADpAQEA/hYcHP8vYGr/Zpmk/5HH
+ 0v97rrr/X4aU/1eFkv9lmaX/dK/C/3W82v92zu7/aMjo/2u+5v9ru+j/Yrrk/2W34P99xej/hM34/4jU
+ //9ywfb/d8b8/3nG/f+BzPv/hc/6/2/D8/90x/r/cLzm/12oz/9wstf/cbLW/2yu0f9Sqsr/O6XC/2WV
+ vf9xm8j/YZm4/1iZr/9glqn/RYKW/1Fzgf9Ua3b/e5Od/2yFjv+Inqf/domS/2d3gP9NWWP/PUA7/wAA
+ AP8AAADsAAAAGAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABAAAAAwAAAAaAAAAMAAAAEwAAABtAAAAiwAA
+ AKgAAAD0AAAA/0JiY/9LfpH/ZJik/32vtf9voa7/Voyd/ypogv9HiKj/TpO5/0mbw/9GpsX/Z7DR/36m
+ z/93nMz/baXJ/4S40P+axdr/ebPM/2KnzP9puej/dMn7/3fL+f98y/D/gszr/3LG6f95x+z/ebrf/3Ck
+ yP9ola3/dJ+z/4ivuv+OxMH/Zp+q/0lNa/8+UXX/GFlv/0R9kP9gh5z/PnaO/0Fuif8wVHT/Smd7/1tx
+ fv9wgYn/hI2W/3OCjv9PX2v/PE1G/wAAAP8AAADzAAAAagAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAACQAA
+ ABUAAAApAAAAQgAAAGAAAAB+AAAAmAAAAMoAAAD5AAAA/zlaXv9ak6D/ZJai/06Ajf9ciZb/iLzN/yNe
+ df9Af5v/O4Sh/1yasv9Of5b/QW+I/1Cftv9EqL3/SIyf/5bA0P+y3+7/UYmd/yxujv9ms93/esv//3LD
+ 8f95x+3/fcfp/3fA6f98xO3/drrh/2+sz/9Ge5f/WYSY/4art/+5xtT/cX+c/wyDk/8Ae4z/GHiK/z1l
+ ev+PeJL/eH2T/0tuhf9AYHf/FzNF/3uQnP9Za3T/cICJ/4WVof9YaHT/RFlS/woQE/8BAQH9AAAA0AAA
+ ABYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAIAAAAGAAAAEQAAACIAAAA6AAAAVwAAAHQAAACQAAAAqgAAAOwBAAD+HC4y/zxl
+ af9qm6j/YJGd/z9wfP9jlKP/ms/g/ydhdv85e5T/Youl/6Wptv8viJT/AK2z/wDf1f8A7t7/ALCq/ytu
+ fP9Sfo3/OnOB/1GLp/+ByvD/d8Xx/2275/97yO//gsvv/4DA7P92ueX/fcny/2+01/9cl7T/L1lt/0pe
+ a/9Ia3T/CIuZ/wDg1/8IwMH/Epyj/xCcpP9JaHv/g3iJ/2J4if9GY3X/KUJT/2yBj/9jdoH/Q1Ve/2V2
+ gv95ipb/SVtb/yk8Qv8AAAD/AAAA8wAAAHMAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAAGwAAADEAAABOAAAAbQAA
+ AIgAAAClAAAA0AAAAPoAAAD/NGJs/0x6gf95p7P/T32K/0BvfP+NwM//dKi5/ypfc/9TiZ7/ncLY/3Gm
+ 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
+ 6f+Bx+j/fMXo/3rI9P9/y/T/gszw/4XN8f+HzvP/ic/0/4rP9P+Lz/T/i87z/4jL7v+Hyez/hMbo/4TD
+ 5P+DwOD/gr3b/3+41/98stL/eavN/3Osy/9sqcb/Zqa//1iInP9RbX//PkRV/05qe/9SeIv/DSM6/wAV
+ Kv+Tv87/nMjZ/5S2vP96kJD/gqOl/1tfc/98s9X/ar/n/4LK+P9dstT/ldbl/wAAAP8HCAn/ICIn/xMU
+ Fv8HBwf/AAAA7gAAAGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAADQAAACAAAAA7AAAAXwAA
+ AIAAAADYAAAA/2mJmf+I0Pv/VKXf/4/Z//87eJf/K1xx/1yBlv88cXf/tNvn/8Df7f9FZ3b/DT1L/zhr
+ e/85aHn/Mltu/1qLo/96vOD/ZrLd/3TC6v+CzvH/esTo/3vI9P+AzPT/hM7x/4XP8/+I0PX/itH2/4zS
+ 9/+M0vf/jdL2/4jO8P+Gyu3/hcjp/4XF5v+DwuH/gr/d/3+62P9/tdX/f6/Q/3KrzP9lpcb/XZu4/16R
+ qf9mh5v/QUlY/yRCVv9Pe5T/g6W9/0tyif9unq//tOfy/7HV2/8+UFX/e5+h/yw0Rv9CcpL/ZLrj/4XI
+ +P9ks9j/cMDc/x80S/8dISX/Fhse/w4QEv8AAAD/AAAArQAAABoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAA
+ AAMAAAAHAAAAEgAAACUAAAA/AAAAYQAAAIEAAADYAAAA/2mRo/9vx/v/a7n3/5XT//9EhZz/IVln/3GK
+ qP94qrL/vOTt/5q6x/9OcID/dqe4/z91hv8jVGj/OmN2/3KouP+Ax+v/bb/r/2i75v9yv93/kNr8/4HM
+ 9P+AzPP/htL2/4nT9/+L1Pn/jdX6/47V+v+P1fr/j9X6/4rR8/+Iz/H/hsvs/4bI6f+GxeT/g8Hf/4C8
+ 2v+Butj/g7bV/3ewz/9tqcr/ZZ++/2WWsP9liJn/SVhh/0Beb/85ZXz/VnqR/0dxiP9wpLb/p93q/6fO
+ 1v+Blp3/fqOi/2xxgP81Xnj/OYOm/4C35f9msNf/Y7jc/0poi/8PFRT/KTE5/x0hI/8AAAD/AAAAkgAA
+ AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAEAAAADAAAABQAAAAkAAAAQAAAAHAAAAC8AAABIAAAAaAAAAIQAAADZAAAA/36o
+ vP9mx///b7v//4Ky5f81fof/DUxU/11/lf+Asrr/n8jR/6rJ1v9beYr/RHSF/ytkd/81aX7/KFdr/3ev
+ vf94wOP/aLzp/27D7v99y+7/f8jo/4bP8P+M2Pz/itb6/4zY/P+O2f3/j9n9/5HY/f+R2P3/ktj9/4/X
+ +f+N1Pb/i9Dx/4rN7f+Iyej/hcTi/4G/3f+Cvdn/gbnU/3uz0f9+stP/e6rL/2mSrf9dgJD/ZIKC/y9Q
+ Wv9QcYP/UHKG/0Nvgv9poLD/qePu/5a8xv96ipj/RWxp/1pZZP+jxdr/Z6XF/3GZx/9dnsb/VJe//3ON
+ sv8HEA7/O0dJ/ycsLv8AAAD/AAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAFAAAACgAAABIAAAAcAAAAKwAA
+ AD8AAABWAAAAcQAAAIoAAADbAAAA/3ejt/9Oruz/Xanq/4i75f9Mk5r/I2dq/1Brif+Nwsj/o8vU/4qq
+ t/9OcIH/J1pt/0iBlf9ViZ//Q3OI/2+quf91wuX/b8Xw/3rQ+/9/zvD/jNXz/43V9f+K1vn/jNr+/47a
+ /v+R2///kdv//5Pa//+T2v//k9n+/5Pb/f+R2Pr/j9T1/43Q8f+LzOv/iMfm/4TB4f+DwN3/gL3T/360
+ 0P+Gtdf/i63O/2GFn/9BZHL/cZeY/x5AR/9TcoH/kbDD/y1Yaf9jmar/isDM/5e9x/+Pn6//QGdg/2Nh
+ aP8AFCX/BT5X/0dtl/9QiLX/WZnF/2t7qf8sNjX/QU1P/y40Nv8AAAD/AAAAkAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAIAAAAHAAAAEAAAAB0AAAAtAAAAQAAAAFQAAABqAAAAgQAAAJUAAADeAAAA/3uas/9ep93/QZvR/zNv
+ oP8yWXT/I05b/zx3e/+Ry9T/nL3G/5uptf9fhJn/NXyY/0GOq/88cYT/f5Oe/32InP9Wkaf/eNv5/3bS
+ +f+E0/f/k9z9/4vb+P+O3Pr/kt39/5Te/v+W3f7/lt3+/5fd/v+X3P3/l9z9/5ve//+Z2/7/ldb8/5XU
+ +v+S0Pf/j8vz/4vG7/+Jwej/jMDg/43C5f+Btdv/fbDV/2CRrf8+bnz/cqCi/1Roav9rgpD/YaC9/0CI
+ qP9nmrT/osDU/6jHyP96n6T/Vmpo/0xZXP8PFRT/EhUU/yAnLf9IXGT/iKW5/1uAlv8vQUv/WGlw/1FX
+ Wf8AAAD9AAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAKAAAAFwAAACgAAAA+AAAAWAAAAHUAAACQAAAAogAA
+ AK4AAADlAAAA/3OLnf9wtd3/YLHg/1qTvv9ghp3/QWt4/0iEhv+HxM//nL/I/56uuf9gfpP/Toym/zyB
+ nP8sYnX/hZ2r/11neP8vaH3/hd7+/4Db+v+I2Pr/jdf6/5Dg/P+Q3/v/lOD9/5bg/f+X4P7/mOH+/5jh
+ /v+a4f7/muD9/5rf//+b3v7/mdv8/5nZ/P+X1vv/k9H3/4/L8/+Nx+z/jMLi/4rB5P+Dud7/grbe/2OU
+ r/88aHb/cp6i/26Chf88VmP/U4am/1SQsP91p7//n77M/5i6wf9/o6n/Sl5m/0ZWXP8nMzX/MDo9/zI9
+ RP8zRFD/Rl9v/y5KXP9VZnD/OkVK/wAAAP8AAADlAAAAYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAKAAAAGAAA
+ AC0AAABGAAAAcgAAAL8AAAD1AAAA/gAAAP4AAAD/AAAA/wAAAP97q8H/is/w/1GGoP8/YXD/Llhg/1uP
+ l/+Iwc//nsLM/6G0v/9cf5D/WJax/z99l/8pXnD/iqm1/1Vfbf8iVWn/mef//4PZ/v+G2P3/jtz+/5Hf
+ /f+U4vz/leL8/5fk/f+Z5f//muX//5vl//+b5f//neT//5rh/f+a4P3/m979/5rd/P+a2/z/ltb4/5DP
+ 8/+Nyu3/iMLj/4W94f+IvuL/jsHj/2OTrP84YnP/eKOq/4CZmf8SKjT/S3eP/1WJp/9yo7n/l77K/5u9
+ w/+JqbL/aYON/1Npcv9NXmX/UF1j/05aYf9PX2b/TmNt/05kb/9ZaXL/OEBG/wAAAP8AAACrAAAAEAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAIAAAAJAAAAFwAAAC0AAABFAAAAmAAAAPUICQn/DhES/wkHB/8JCAn/AAAA/2J4
+ ef8vYW//DUVZ/yVXZv9Kd3//SXV9/2GTnf+NvdX/ncPP/563vv9lipj/TH2T/0l/l/85bn//jrO7/15u
+ d/83YXX/rfD//4HS9/+C1/j/keP//5Lf/P+T4fr/leX8/5fm/f+Z5/7/m+j//5zo//+d5///nef//5rk
+ /f+a4v3/muH9/5zg/f+a3Pv/ldb2/4/P8f+Kyuz/hMHk/4W/4v+MwuX/j7/e/1qHn/80Xm7/faiw/4Wg
+ oP8qQUj/WHuW/1iDnf9vna//lcHJ/57ByP+NqbT/co2b/1Fpdf9Ya3b/Wmly/1tpcP9icXb/YHN3/22E
+ hP90f4j/U1pe/wAAAP8AAACbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAHAAAAFAAAACgAAABAAAAAngAA
+ AP0iHyb/TVpe/y9HSv8tVFn/NVBJ/zJJRP8oTlr/O2p3/0N2fP9PgYP/RXR7/26cq/+SwNv/mcPP/5G3
+ vf9skZv/Mlpv/099k/9ViZj/iLO7/2N6gf81WGr/pdv7/43Z+f+D2/3/it/9/5fh/P+T4vv/k+X8/5Xl
+ /f+X5v7/meb+/5rm/v+a5v7/m+X+/5vl//+a5P7/muP//5rh/v+a3fz/lNb3/4/P8f+Jyu3/hcbq/4jF
+ 6P+MweL/gKnM/0JthP80W2z/e6Wx/3+emv9cdHj/XHWI/2uLof+Er7z/lMLH/5W4wP+Qp7b/co2b/0Vg
+ bP9acXz/YnR//2V0ff9neH3/YHNz/3CAgf+BipH/aG1v/wAAAPwAAACTAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAEAAAAFAAAADgAAAB8AAAA1AAAAfQAAAOMAAAD/JjM2/zxbYP80X2P/OGJg/0hvc/9Ueof/WISQ/1SJ
+ jP9ZkJD/TX+H/3umuf+Xwt//m8fU/5G9wP98oaj/Q2N1/0pyhv9ilaP/dq6y/2V+gv8eOUn/b526/6Hp
+ //+D3Pz/f9b6/5jf/P+Y5P3/keP9/5Hj/f+U4/7/leP+/5Xi/f+V4fz/leD7/5ji/v+X4f7/l9/9/5be
+ /f+W2/3/k9X5/47Q9P+Iy/D/hcju/4nH6f+AttX/YpCr/zNccP88Y3P/e6Sz/3CRk/9keXz/N0RW/3yS
+ pv+p09z/lsfK/5O2vv+jr7//fpeg/1Jydf9acn3/YXeD/2Z5hP9qfYP/aHx9/3+QkP9TWVz/AAAA/wAA
+ AOEAAABaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAACQAAABUAAAAoAAAASAAAALIAAAD/Q1JW/2mQ
+ lv9EdXn/M3B1/1ODkP9nkKP/apal/2Obnv9hn57/SoGK/3mjuv+bwt7/pdLg/5rJzP+Rtrv/eJSk/zJR
+ Zv9moKz/da+s/3ePjP8ZLz7/N1p5/5LX//982Pr/ftj5/5bb+v+W4v7/juD9/5Dg/f+R4P3/kd/8/5Hd
+ +/+R3Pr/kNv5/4/Y+f+O1/j/jdb3/4/V+P+Q1Pn/jtL4/4zN9f+HyvH/fcTq/4G/4/9uo8L/SXaP/zFX
+ bP9Qd4f/hKy9/3KWlv9nfH3/ISU2/4uWrP+13+X/ndHR/6DFzP+rtcf/hpyh/2R7gf9bcXz/YXiF/2N6
+ hv9le4P/aH6D/3CEhf9LTU//AAAA/AAAAKUAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABQAA
+ AA0AAAAdAAAALwAAAJgAAAD8PUZI/3idov9bkpn/T4eR/2WZqP9wnK//bpup/2qepf9mn6T/YJWf/4Kv
+ wv+jz+j/qtjj/6/c4P+rz9T/obzK/zZVZf9qmaP/frKx/4icn/8nOkb/GDhP/2ysyv9zxe7/g9j//4zX
+ /v+L2fz/i939/4zd/v+K2vv/idf5/4nV+f+G0vX/gs3x/4PJ8f+CyPD/g8jy/4LG8P+AxO7/h8nz/4bI
+ 8v9+v+r/fLvm/3W12/9Xiqf/OF91/y5WZ/9bhZH/irXD/4CipP95jIj/ICk1/42XpP+22N7/p9HT/6vN
+ 1P+ou8r/kKWq/2yCiP9lfYb/aICL/2d+iv9uhY3/ZnuA/1NkZv8AAAD/AAAA4AAAAFcAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAcAAAATAAAAIgAAAGkAAADUAAAA/CsyNf9oi5f/Y5Kh/22f
+ rf92prP/eKaz/3uotv9sm6j/bp+p/3+yvP+16+7/qtjg/8Pq8/++4ur/nLrD/0Rqcf92oaj/lbK7/5qk
+ sv9JWmT/GjxE/z9td/9pq8P/g8z3/3fI//94y/f/ftH3/33P9v95yfD/dcTt/3PB7P9vvOf/arXh/3O0
+ 5f9wsOD/dLXj/3Gw3/9pqNX/dLLd/3Kv2v9lnsv/dJ3U/1qJr/8/bon/Klhn/zdlbf9nlpz/hLm6/4mp
+ r/97ipD/Hjc7/4OaoP++1dz/rcbO/67I0v+gu8X/m7O7/1dvd/9mf4b/aoOJ/2yDiP9xg4j/Xmlu/zM4
+ Ov8AAAD8AAAAqQAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAALAAAAGQAA
+ ADMAAAB6AAAA3gAAAP9VX2f/grTE/2mfrv96rbz/dKe2/3ipuP9zpbP/a52r/26grv+v4+z/rNvl/67Z
+ 5P+s1eD/nsjS/zhlb/97s7z/kcLM/5qtvv9ie4b/O01Y/xcvP/9LdY3/bqvQ/2St2v9lteX/Zbbm/2Oz
+ 4f9oteL/ZrLe/1+o1P9dpdD/ZKrU/26s0/9incT/YpzB/2SbwP9bkLT/Woyw/1iHqv9RfaH/SHOX/zlk
+ gf85ZXv/LFpn/1mHj/99qbH/i7nA/4Snrv90kpj/R2Vq/4unr/+wzdb/pcHL/6XAzP+Xsb7/eY6X/1Zr
+ dP9hd3//boWL/3qPlP9sfYH/fYaK/wAAAP8AAADhAAAAVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAEAAAAGAAAADwAAAB4AAAA3AAAAqQAAAPssLC//a5aj/3Kpt/97sL//c6m3/3Sq
+ uf9soLD/eKu7/1qLnP+Wx9T/otHf/63b6P+s2+j/pNbj/2icqf9imqf/i7/L/5a8zv91kJz/Y3WB/y42
+ RP8UJzn/UH2V/1OUq/9Jj7n/Ro28/0uQvf9WmMP/W5rC/1mWu/9gmb3/baXH/3iyzf9km7b/Vomj/1B8
+ l/9Gboj/RGaA/0Zkfv9EYnv/O191/zFWaf81Xmb/SXV5/22Zov+PusP/lsDO/4ass/9rjpX/gKSr/5Cx
+ uv+hwMv/nLnF/5Swvf+UsL//TV5m/2Z4gP9gdHr/aHyB/2Z9gf9baGz/TlJU/wAAAP0AAACuAAAACgAA
+ AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAAABMAAAAgAAAAYwAA
+ ANoAAAD/XH6G/4C0wv9/sr7/hLnF/361w/9hlab/gLTE/2OUpf+DssD/lsXT/6XV4/+h1OH/oNTh/6HY
+ 5f9ZkZ7/h77K/6bX4/+jw8//hZSh/2ttev8gLTr/EjA//zJfb/84a4j/PXCT/0Fxkf8/b4v/RnKF/1iC
+ l/9vlqn/fqW3/4bD1P92qrv/VoWW/zNZav8lQ1T/Kj1O/ys+Sv8nNkT/J0ZK/zJUXv9GZ3D/cpyl/4iz
+ vP+exs//mL7I/4iss/9EanD/i661/6HH0P+Yt8L/ka66/6XBz/96lKj/Lz1E/zxMUv9GVl3/Sltf/1Bf
+ Yv8LDxD/AAAA+wAAAMwAAABWAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAABAAAABAAAAAoAAAAUAAAAJAAAAKIAAAD7KTQ3/3KPmP+DrLT/fa22/4K2wf+Gu8n/YZOi/36u
+ vv9ij53/kL/M/5vM2f+bztv/qeDt/6nZ5/+Dr73/fq26/5/a5P+33ur/k6q2/36Nmf9ZZ3P/Bhom/wYl
+ Lv8WNkX/IUBR/zVUXv8vTFj/P1pi/2qGjv+Spar/mq6z/4m9yP+EvcT/Z5Og/zheav8pRlT/Jz1K/x8u
+ PP8ZKzT/Hz9D/zdaYP9okZr/jbjD/6nT3v+ozNf/mLnD/4Ogp/93kpf/kayy/8Db4v+eusL/kKu0/525
+ xP9og4//O0ZO/w8aIf8tOj//NEBE/w8SFP8AAAD/AAAA+wAAANkAAACiAAAAjQAAAFIAAAANAAAAAQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAKAAAADwAAAFAAAADDAAAA+hwf
+ IP9ke37/faOo/4i4vv97rbf/dKWw/2WTn/86ZW//i7jC/5vL1P+j0tz/rtnj/4est/+Tqbv/b5Gc/5fR
+ 2P+l0tz/rdTf/4+uuv+Gn6r/WG14/z1KVf8pPEX/MkdQ/05kbf9XbnX/ZHyC/3uUmf+HoaT/gZeZ/36y
+ vf+Jvcr/fay5/2aQnP9ggo//V3WB/1Bpdf9Vb3n/WXyC/2OLk/+HusX/lMLQ/6jR3v+lx9L/mbS+/3WG
+ jP9ue3//Xm1y/0FSVv+rwMX/pLvA/5q0u/9PbnX/MDM6/w0WHP8rNjr/Rk9S/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAM8AAABSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAEAAAAEAAAACAAAABQAAABVAAAAwwAAAPoMDQ3/rMrM/5LDxf+Kv8T/YZKZ/1B+h/8vWF//cp+m/5XM
+ 0/+eztX/dpuk/1VxfP9wgo7/a4SP/4q8w/+f0dr/pNbh/53K1v+Krbr/gZej/4qMmf9xgIr/bIGK/3OK
+ k/93kJn/epag/36dqP99nqn/epyn/3euvP+Hvsz/ibzI/4a0wf+HsL3/e6Cs/3ucqP+MqLP/gqmw/4ax
+ u/+UxNL/o9Po/6DK2f+bvMf/kK63/2hwdf9JSEn/RkVH/ys1N/88TVD/m7K0/5OusP9Sa3D/PDxC/yor
+ L/8oMTX/FSMg/xMWGP8WFxf/EQ8P/yUcHP8lJSX/NjY1/wAAAPwAAACPAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAYAAAAWAAAAWQAAAMcAAAD7LTQ0/xkk
+ JP+FmZ3/S2xz/014f/8sW2T/YYaP/5yzvP91iZD/VGZr/19sdf96fIj/enqF/4morv+ly9T/qtnm/6PV
+ 5P+PvMr/iau4/6K0wP+Srbf/h6aw/3yZpP+Goa3/jKi0/4iksf+cusb/iam1/4Syw/+Txtr/kcbT/4zD
+ zf+UydT/ksPQ/5O/zv+gydn/ncjV/5rH1P+i0d3/ruDr/6fL1P+Vr7b/eIqP/2JiZv9cVln/UFFS/1VV
+ WP8uKzH/OTtA/2R1ef9YdXj/VWVq/0pXXf87SE3/KDM4/yYtM/8hJCn/GRkf/xsaIP8tLDP/VVRZ/wAA
+ AP8AAADhAAAArwAAAJ8AAABNAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA
+ AAMAAAAMAAAAIgAAAGgAAADPAAAA/QAAAP8TERL/dYyV/0txef8ya3X/XH6I/2d3gP9XW2L/Q01R/2lx
+ ef+Bfon/gX+K/4yfpf+dusP/ps/d/6ra6f+m1uT/ocjU/6fH0f+kxs//n8LL/5SzvP+atb//mrG8/4yk
+ r/+OqbP/dZGa/3+rvf+Ovc3/hbTB/5PEz/+k1eD/oM/d/6XU5f+u2+3/t+Hw/63Y5f+v2eT/rNHZ/526
+ wP+FmJ3/Xm90/2JeYv9ZU1X/SElK/zg1Of9MREv/HRcd/257gv9vlZj/aX6D/2J1ev9VZmz/SVZc/ztF
+ TP8uNTz/Iygw/xcbI/8wMTv/Q0NK/wAAAP8AAAD/AAAA/wAAAP4AAADJAAAAQAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAOAAAAIAAAAEAAAAB2AAAAqwAAAOYAAAD9FRcY/zpa
+ Y/9KfIb/aoyW/zZDTP9NVlz/UmFg/3Z9hf+DgYz/hICL/5Kfpf+Uq7P/mbvG/6rU4P+/6/f/uuDr/7ra
+ 5P+oyM//n77F/6rDy/+mvcX/k6av/4idpv+Pp7D/lLC4/4+/0v+Yytj/ep+s/6TEzv+y093/o8nW/7Lg
+ 7v+35/X/z/X//77k7/+22uT/pcLK/42gqP95gon/XV9r/2VfY/9cV1n/REpM/1JSVf9nYGb/OTQ6/2Ju
+ dP+Do6b/eJGW/3OKkP9rgIb/YXN6/1Rla/9HVFv/OkVN/zE7Qv8oMTr/JSw0/xogJP8mKy7/YWRm/0xN
+ Tf8AAAD8AAAAagAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAASAAAAJwAA
+ AEQAAABmAAAAigAAALkAAAD3AAAA/zFQWf9ZlJ3/e52o/zVBSv9aXmb/iI+U/3+Fjf+Ih5L/fnaB/5ec
+ pP+Voqv/kaqz/5u+x/+v1N3/u93m/8Xi7P/K5ez/qsTK/6a7wv+is7r/wM/X/+Ly+P+uwcj/ma61/4i3
+ w/+Zwcv/mq+7/7/L1f+/zdf/qr/K/6/a5P+04u3/w+Tt/7nZ4v+yzNT/oLG6/4qTm/98fIT/b2lw/2tj
+ aP9ZVlj/X2Jj/2lqbf+HgIf/KiQq/0dRV/93mZ3/epec/3iUmf9zjpP/boeN/2Z9g/9dcXj/UmZs/0ZY
+ X/85SVH/OkhP/xQfJf82Qkb/Q0ZI/xERDP8AAADsAAAAWQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAgAAAAkAAAAXAAAALwAAAE8AAAByAAAAkQAAANUAAAD8AAAA/zxgaP9jn6j/jbC6/zpE
+ Tv9hY2v/kJSZ/3p/h/+DhI7/dnJ+/5iYoP+WnaT/jqCm/5Gwtv+syM//u9Td/8Xa5f+3zNP/mq+0/7zM
+ 0v/K1t3/7fb8//////+wvML/kKCm/3Kdp/+ducP/7PX+//r2///g2+T/vszW/5i6xP+gzNT/udPa/7HI
+ zv+svsP/n6iv/42Olf9/fIL/cGpx/2dhZf9fXl//RUpL/29wc/9WT1X/KyUr/xYgJv+NqKz/gZ6k/3uY
+ n/93lJv/dZGX/3CMk/9rhoz/Zn+G/2J6gf9edHv/V2hv/1ZhZ/8tMTT/AAAA/wAAAOoAAACFAAAAGQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAA0AAAAfAAAAOgAAAFsAAAB+AAAAmwAA
+ AO0AAAD/QFhe/1WMkv9tpq//ncLL/y43Qf9cXGT/Z2pw/3N5gf97foj/g4OO/5mZof+WnKH/l6Kl/6/A
+ wf/P4eT/1uTs/8vW4v/a6O7/0uDj/9fh5f/X3eL/8PT5//n9//+LkJb/Vl9j/z1UXf9pd4D/1dnf/+Le
+ 5P/Y1dr/09nf/7fI0P+/1dz/xdfb/73Lz/+4wcX/qayx/5OSmP9/foP/aGdt/2hlaf9cXV7/PEJD/0xM
+ T/9KQ0r/Misy/xIaIf+PqKz/i6iw/4ejrP+Cn6f/fpuj/3uXoP93lJ3/c5CZ/2+MlP9lgIb/an6E/0dO
+ U/8AAAD+AAAA6gAAAIYAAAAcAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABgAA
+ ABMAAAAoAAAARQAAAGgAAACJAAAArgAAAPMAAAD/NFhc/1ygpP9yrrb/ncPM/zQ7Rf9XVV3/VFVb/3Z8
+ g/98gIr/hIaQ/5SXnv+XnJ//n6mo/8bQz//1/f3/9/X8/9/f7P/I1dz/093g/+Ln6v/d3+P/8fH1////
+ ///X2t3/3OHk/9rc5//Mztb/9vf7/+jn6f/Y2Nr/1tfc/8fK0v/L0dn/0t7f/8zV1f/IzM7/tbW5/5eY
+ nP98gYX/Y2tv/2FkZ/9hY2X/QE1N/05QU/9GPUT/RzlA/wsRGP+Oo6j/kq22/46ps/+Kpa//hqKr/4Og
+ qf+Anab/fJmi/3yZof+Jpqv/UWBk/wAAAP8AAADrAAAAhwAAABwAAAABAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAADAAAACwAAABoAAAAyAAAAUQAAAHQAAACSAAAA2AAAAPwAAAD/Z5WZ/1yh
+ pf9uq7P/jLG7/0ZNV/9VU1v/ZWVr/3l9hf9/g4z/enyG/4eNk/+SmZv/oamn/8fOzP/w9PT/+ff+/+zk
+ 8v/d4OX/4ejp/+Hk5f/S0dP/9PL0///9/v/o6uv/5unr///////k3+X/29vd/9/j4//Y29v/1tTY/9XP
+ 1v/Oy9L/0NjX/87T0//LzM7/t7a5/5eYnP97g4X/YnFz/11jZf9dX2H/VFtb/0dJS/9BOUD/ODA3/xEW
+ Hf+etLj/k6y1/4+osv+Mpq//iaWv/4eirP+DoKn/f5uk/3eTm/+Dn6X/gY6T/wAAAP4AAACvAAAAGgAA
+ AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAACIAAAA+AAAAYAAA
+ AIEAAACcAAAA7AAAAP8vVFf/XJWh/26ntP+EvMP/Z4qS/0JNVf9YXGH/U15b/3Z8gv92d4D/hoWP/4mP
+ lv+Vm6D/pKis/83Q1f/6/P//8/T2/+bn6f/h4+T/4uXl/97g4f/Z29z/9Pb3//3////j5eb/5+rr//3/
+ ///e4OT/3eDj/93g5P/Y29//09ba/8nL0P/LztL/09ba/9TX2//Gyc3/tbi8/5ibn/+Ag4f/bHB0/2Fi
+ Zf9fXmD/WFZY/01LT/83OT7/NTo//wwXHf+Xpqz/jaSs/5Crtf+CoKn/j7S//4Kgq/+Bmqj/gpWk/4mU
+ o/92c3H/AAAA/gAAAOgAAABwAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAEAAAAHAAAAFQAAACsAAABKAAAAbQAAAIwAAACzAAAA8gAAAP9HcXX/ZZik/360yf+PwMj/XnuE/z9G
+ T/9ZWV//ZWlt/3d9gv92eID/d3mC/4qQl/+Vm6H/pKit/83R1f/6/P//8vT1/+Xn6P/h4+T/4uTl/97g
+ 4f/Z29z/9Pb3//3////j5eX/6Orr//3////d4OT/3eDk/93g5P/Z3OD/09ba/8nM0P/LztL/09ba/9XY
+ 3P/Hys7/trm9/5mcoP+BhIj/bnF1/1xeYP9dXV7/VlNV/0dFSf9AQEX/NzxB/xEaIf+OmqD/mbG+/5Cr
+ tv+Jpq//gqCq/4mjrf+Jnqn/laKu/46Un/8AAAD+AAAA5wAAAIUAAAAYAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAALAAAAGwAAADUAAABWAAAAeQAAAJYAAADbAAAA/AAA
+ AP92oaT/h7zI/32wv/+YwMn/OExX/1VXYP9TSk//aGlu/4SLkP9xdX3/enyF/4qQl/+Vm6H/pKit/87S
+ 1v/7/f//8/X2/+bo6f/g4uP/4uTl/97g4f/Z29z/9Pb3//3////j5eb/6Ovs//z////d4OT/3eDk/97h
+ 5f/a3eH/1Nfb/8nM0P/KzdH/0tXZ/9TX2//Iy8//uLu//5ueov+Dhor/bnF1/1xfYf9fX2H/VVNV/0M/
+ Q/9EQ0n/NTg9/xIZIP9WYWj/l7G//46ptf+LpLD/mbK8/5etsv9VYWX/AAAA/wAAAP8AAADnAAAAhgAA
+ ABgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAPAAAAIgAA
+ AD4AAABhAAAAggAAAK4AAADwAAAA/zVOU/9vpKv/kMXR/4e6xv+avMb/OEZT/1ZVXv9YUVf/YGFl/3d9
+ g/9zd3//fX+J/4mQl/+Wm6H/pamu/8/T2P/8/v//8/X2/+bo6f/g4uP/4ePk/93f4P/Z29z/9Pb3//3/
+ ///j5eb/6evs//v+///c3+P/3eDk/9/i5v/b3uL/1djc/8rN0f/LztL/0dTY/9TX2//JzND/ur3B/52g
+ pP+Eh4v/b3J2/2FkZv9eXmD/VFFT/0RBRf9EQUf/ODo//yUqMf8VGyH/fpmn/5q1wf+asLv/Z3Z7/6St
+ sP8AAAD+AAAA8QAAANEAAACBAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAUAAAATAAAAKAAAAEcAAABrAAAAigAAANYAAAD9FhQV/1Jyef92qLL/f7XA/5LI
+ 1P+XusT/QlFd/0lCTP9hW2H/ZGVp/3Z9gv9yd3//eXuE/4qQl/+Wm6L/pqqv/9DU2f/9////9Pb2/+bo
+ 6f/f4eL/4ePk/93f4P/Z29z/9Pb3//3////k5ub/6evs//X4///c3+P/3uHl/+Dj5//c3+P/1tnd/8rN
+ 0f/KzdH/z9LW/9TX2//KzdH/vL/D/5+ipv+GiY3/cHN3/2Nmaf9XWVr/UE9Q/0lFSf9BPEL/Pz5E/y4w
+ N/8AAAf/l7C5/3GDiv9seX7/AAAA/wAAAP8AAADqAAAAjAAAABoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAkAAAAZAAAAMQAAAFAAAAB1AAAAkQAA
+ AOQAAAD/m6uz/5/H0v+Hw87/gLbB/5PDzv+VwMj/KT9K/09SXP9ZVlz/a21x/4uRl/9iZm7/gYOM/4mP
+ lv+Wm6L/p6uw/9LV2v/9////9Pb2/+Xn6P/f4eL/4OLj/93f4P/Z29z/9ff4//3////k5uf/6uzt//X4
+ ///c3+P/3uHl/+Hk6P/d4OT/19re/8vO0v/KzdH/ztHV/9PW2v/LztL/vsHF/6GkqP+Hio7/cXR4/2Nn
+ af9ZXF3/U1JT/05ITf9CO0L/QT1D/yQiK/87PEX/dYWJ/wAAAP8AAAD/AAAA8QAAAMgAAACCAAAAGgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAA
+ AA0AAAAfAAAAOgAAAFwAAAB/AAAAmwAAAOcAAAD/KTxG/3Kdqv9+uMP/h77J/5nI0/+PydH/U3R8/1BU
+ Yv9ZWmD/YmZq/09VWv9zdX7/gYGL/4iPlv+XnKL/qKyx/9LW2//+////9Pb2/+Xn6P/e4OH/4OLj/93f
+ 4P/Z29z/9ff4//3////k5uf/6uzt//T3+//c3+P/3+Hl/+Lk6P/e4eX/19re/8vO0v/KzdH/zdDU/9TX
+ 2//Mz9P/v8LG/6Omqv+JjJD/cnV5/15iZP9fYmP/W1lb/1RPU/9TTFP/UEpR/zMpN/90cnr/AAAA/wAA
+ APAAAADEAAAAgwAAABsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAABIAAAAnAAAAQwAAAGUAAACEAAAAsgAAAPAAAAD/UWty/4i5
+ xP+HvMf/lMbQ/5vH0f+ZztH/ocTN/z1MVP9ja3D/XmRo/yctMf+Dg4r/fn6F/4yRlv+UmZ7/qa2x/9TY
+ 2//9////8PT1/+Pn5//d4eL/4OTk/9nd3v/b3+D/8fX3//r+///j6On/5urs//r4///b3+L/2t/j/+Dl
+ 6f/d4eX/2Nvf/87P0//Jy8//y9DU/9PY3P/N0tb/vsPH/6Kmq/+IjJD/c3d8/11gY/9iY2X/XFpd/1xZ
+ Xf9zbnP/XFZb/y4qMP8AAAD/AAAA7gAAAJQAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAABYAAAAtAAAASgAA
+ AGkAAACBAAAA0gAAAP0FCgv/cZ+i/4vByf+TvMb/p8nT/5zGzv+gxtL/mLjD/3OMlv9VZW3/jZWc/42Q
+ k/9rbW3/iIuL/5KUlv+Ulpj/sLO1/9fb3f/8////6vDx/+Dl5//c4uL/3OPj/9nf4P/d4uX/7fT2//T6
+ /P/h5+z/3Ofs/////P/i5Ob/2eDj/9zm6P/c4+b/1dfb/9bS1//QzNL/yM7T/9LY3f/Q19v/vcPH/6Kn
+ rP+IjZL/dXt//2dnbf9jX2T/V1Zb/1haXP9cXV7/R0dH/wAAAP8AAAD9AAAAlQAAACAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAADAAAACgAAABkAAAAwAAAATAAAAGcAAAB8AAAA2wAAAP83VFf/dK21/46/z/+Pu8f/mMTP/5bF
+ zv+Wvsr/qczX/6W/yv9mdoD/hZGY/4KKj/95gIP/gISH/5WTmP+amZ7/tbS5/9ra3//++Pz/7+/z/+Pj
+ 6P/j4+b/4eDj/9/e4//V09j/9/b4//r5/P/k3OH/8e7z///////o4+b/5eTo/9vf4v/k6Oz/1dTa/9PM
+ 1P/Z0tr/0MzT/9jU3P/V09r/xMPK/6qrsv+OkZf/eHqA/2VmbP9dXWL/Zmds/1hZW/9nZWj/S0tL/woK
+ Cv8AAADpAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAADAAAABoAAAAuAAAARgAAAFoAAACSAAAA6AAA
+ AP9gfoP/h7vF/42/y/+Uwc3/kL7J/4u+xv+RuMP/psjV/6rF0f+gs77/c4GK/3qGjf9ten//ipWa/5GY
+ nv+Um6H/q7G3/9Xa4f//////7vL3/9zg5//c3+b/4OLo/9PU2//l5Or////////////99vv//////5CJ
+ i//28fT/+vn+/9rd4f/p7vT/4+bt/8jL1P/Oztf/0czW/9TR2//R0Nr/xMbP/7C1vv+Xnqb/f4eP/2xz
+ ef81ODr/Kist/zg4Of9fX2D/BgYG/wAAAOwAAACLAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAACwAA
+ ABcAAAAoAAAAOgAAAEMAAAC0AAAA+w8SFf+HqLH/f623/5TBzf+lzNr/hLO8/4y6wP+ixc7/lrO9/0NP
+ VP9OV1z/U1xh/4yao/9mc3//Znl//3CMk/+JpKv/obrC/73U3P/Q5+7/0ebu/83h6v/J3eT/xNXc/8TS
+ 2f/G0tf/xs/T/8LIzP97eXz/c3J0/wAAAP91dnb/hYiK//P///+is7n/vtLZ/7rS2v/C1t//xc/Y/8TQ
+ 2f+/ztb/t8jQ/6u/x/+YrrX/gZqh/2x9gv9WXl//CwwM/wAAAP8AAAD/AAAA7wAAAIsAAAAfAAAAAgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAADAAAACQAAABIAAAAeAAAAKgAAADQAAAC+AAAA/0tbYv93naT/faav/4+x
+ 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
+ AAAAAAABAAAABAAAAAkAAAAPAAAAEwAAAFEAAAD/GCAk/22Lmv+MqLX/ka66/5i2v/+Mp7D/n7a//0pU
+ Wf8REhP/AAAA/wAAAN4AAABpAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAYAAAANAAAAJgAA
+ AHsAAADkAAAA/0JKT/+Ro6//iZ+q/46rtf+Co6//hai1/4Kpsv9sfYX/EhQW/wAAAP8AAAA8AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAAGAAAABgAAADkAAADeBAAA/wMF
+ Bv9LVVn/3vT9/3N/gv8AAAH/Dg8Q/wAAAP8AAAD9AAAA3QAAAGkAAAASAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAIAAAAFAAAACgAAACEAAAB3AAAA4gAAAP9KUVT/rb7F/4iepv+Fn6n/f5yn/4mo
+ sP95i5P/FRYZ/wAAAP8AAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAABAAAAAQAAAA8AAABmAAAA2QAAAPsAAAD+EBES/wMDA/4AAAD7AAAA+AAAAN4AAAB0AAAAJgAA
+ AAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAcAAAAcAAAAcwAA
+ AOEAAAD+BgYG/0JLTv+WqrL/iJqj/3+aov9sfof/FBUY/wAAAP8AAAA8AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAJAAAAIAAAAG4AAADZAAAA9AAA
+ AOAAAAB+AAAAKAAAABgAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAEAAAADAAAAGAAAAG8AAADbAAAA+QAAAP4AAAD/NT1C/114gP9MYGn/EhUX/wAA
+ AP0AAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAgAAAAUAAAAFwAAABUAAAAKAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAkAAAAiAAAAfAAA
+ AOgAAAD/AAAA/wAAAP8AAAD/AgIC/wAAANoAAAAuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////8AAAB///////////4AAAA///////////wAAAAf///
+ ///////wAAAAP//////////wAAAAH/////////8AAAAAD/////////4AAAAAB/////////4AAAAAC///
+ //////4AAAAABf////////4AAAAAAv////////4AAAAAAf////////wAAAAAAP////////wAAAAAAH//
+ //////wAAAAAAD////////AAAAAAAD////////gAAAAAAD////////AAAAAAAB///////+AAAAAAAB//
+ /////+AAAAAAAA///////+AAAAAAAA///////+AAAAAAAAP//////8AAAAAAAAP//////4AAAAAAAAP/
+ /////4AAAAAAAAP//////wAAAAAAAAP//////wAAAAAAAAH//////wAAAAAAAAD//////gAAAAAAAAD/
+ /////gAAAAAAAAB//////gAAAAAAAAB//////AAAAAAAAAA//////AAAAAAAAAA/////+AAAAAAAAAA/
+ ////8AAAAAAAAAAP////4AAAAAAAAAAf////4AAAAAAAAAAf////wAAAAAAAAAAIf///wAAAAAAAAAAA
+ P///gAAAAAAAAAAAP///gAAAAAAAAAAAP///gAAAAAAAAAAA////gAAAAAAAAAAAD///gAAAAAAAAAAA
+ D///gAAAAAAAAAAAD///gAAAAAAAAAAAD//4AAAAAAAAAAAAD//wAAAAAAAAAAAAD//wAAAAAAAAAAAA
+ H//wAAAAAAAAAAAAH//wAAAAAAAAAAAAH//wAAAAAAAAAAAAH//wAAAAAAAAAAAAH//wAAAAAAAAAAAA
+ H//wAAAAAAAAAAAAP//4AAAAAAAAAAAAP//4AAAAAAAAAAAAP//4AAAAAAAAAAAAf//8AAAAAAAAAAAA
+ f//+AAAAAAAAAAAA///+AAAAAAAAAAAAH///AAAAAAAAAAABj///AAAAAAAAAAAAD///gAAAAAAAAAAA
+ D///wAAAAAAAAAAAP///4AAAAAAAAAAAA///8AAAAAAAAAAAA///+AAAAAAAAAAAA///+AAAAAAAAAAA
+ A///8AAAAAAAAAAAA///8AAAAAAAAAAAA///4AAAAAAAAAAAB///4AAAAAAAAAAAD///4AAAAAAAAAAA
+ H///4AAAAAAAAAAAP///wAAAAAAAAAAAP///wAAAAAAAAAAAf///wAAAAAAAAAAA////gAAAAAAAAAAH
+ ////gAAAAAAAAAAf////gAAAAAAAAAB/////AAAAAAAAAAB/////AAAAAAAAAAD/////AAAAAAAAAAH/
+ ////AAAAAAAAAAH/////AAAAAAAAAAP/////AAAAAAAAAB//////AAAAAAAAAB//////BAAAAAAAAB//
+ ////hAEAAAAAAB///////A4AAAAAAB////////4AAAIAAB////////4AAAcAAB////////4AAA+AAB//
+ //////8AAB+AAB/////////AAP/AAB/////////+A//wAB////8=
+
+
+
\ No newline at end of file
diff --git a/GBAPokemonGameEditor/TrainerEditor.vb b/GBAPokemonGameEditor/TrainerEditor.vb
new file mode 100644
index 0000000..cc343b8
--- /dev/null
+++ b/GBAPokemonGameEditor/TrainerEditor.vb
@@ -0,0 +1,58 @@
+Public Class TrainerEditor
+
+ Private Sub TrainerEditor_Load(sender As Object, e As EventArgs) Handles MyBase.Load
+
+ Dim LoopVar As Integer
+
+ LoopVar = 0
+
+ TrainerListComboBox.Items.Clear()
+
+ While LoopVar < (GetString(GetINIFileLocation(), header, "NumberOfTrainers", "")) = True
+
+ LoopVar = LoopVar + 1
+
+ TrainerListComboBox.Items.Add(GetTrainerName(LoopVar))
+
+
+
+ End While
+
+ TrainerListComboBox.SelectedIndex = 0
+
+
+ End Sub
+
+ Private Sub TrainerListComboBox_SelectedIndexChanged(sender As Object, e As EventArgs) Handles TrainerListComboBox.SelectedIndexChanged
+
+ Dim offvar As Integer
+
+ PicNumericUpDown.Value = 1
+ PicNumericUpDown.Value = 0
+ PicNumericUpDown.Maximum = (GetString(GetINIFileLocation(), header, "NumberOfTrainerImages", ""))
+
+ offvar = Int32.Parse((GetString(GetINIFileLocation(), header, "TrainerTable", "")), System.Globalization.NumberStyles.HexNumber)
+
+ offvar = offvar + (40 * (TrainerListComboBox.SelectedIndex + 1))
+
+ TNameTextBox.Text = GetTrainerName(TrainerListComboBox.SelectedIndex + 1)
+
+ PicNumericUpDown.Value = "&H" & ReadHEX(LoadedROM, offvar + 3, 1)
+
+ TrainerIndexTextBox.Text = TrainerListComboBox.SelectedIndex + 1
+ End Sub
+
+ Private Sub TrainerIndexTextBox_TextChanged(sender As Object, e As EventArgs) Handles TrainerIndexTextBox.TextChanged
+
+ If TrainerIndexTextBox.Text = "" Then
+ TrainerIndexTextBox.Text = 1
+ End If
+
+ TrainerListComboBox.SelectedIndex = TrainerIndexTextBox.Text - 1
+
+ End Sub
+
+ Private Sub PicNumericUpDown_ValueChanged(sender As Object, e As EventArgs) Handles PicNumericUpDown.ValueChanged
+ GetAndDrawTrainerPic(TrainerPic, PicNumericUpDown.Value)
+ End Sub
+End Class
\ No newline at end of file
diff --git a/GBAPokemonGameEditor/bin/Debug/PokemonGameEditor.application b/GBAPokemonGameEditor/bin/Debug/PokemonGameEditor.application
index dbd64e3..2386f6a 100644
--- a/GBAPokemonGameEditor/bin/Debug/PokemonGameEditor.application
+++ b/GBAPokemonGameEditor/bin/Debug/PokemonGameEditor.application
@@ -16,7 +16,7 @@
- rZHE9d2jxHy/RfxaSioHGsV0reH+HmyRX/UC6moSoCk=
+ BrhFZxIm/MtXiBKMf4panZj2RiXMDIKhiHKrXlGKAyM=
diff --git a/GBAPokemonGameEditor/bin/Debug/PokemonGameEditor.exe b/GBAPokemonGameEditor/bin/Debug/PokemonGameEditor.exe
index 59fef4a..ca3d940 100644
Binary files a/GBAPokemonGameEditor/bin/Debug/PokemonGameEditor.exe and b/GBAPokemonGameEditor/bin/Debug/PokemonGameEditor.exe differ
diff --git a/GBAPokemonGameEditor/bin/Debug/PokemonGameEditor.exe.manifest b/GBAPokemonGameEditor/bin/Debug/PokemonGameEditor.exe.manifest
index 0fe9292..9018a99 100644
--- a/GBAPokemonGameEditor/bin/Debug/PokemonGameEditor.exe.manifest
+++ b/GBAPokemonGameEditor/bin/Debug/PokemonGameEditor.exe.manifest
@@ -43,14 +43,14 @@
-
+
- qRRLS5GTKfZ3VoqthI2frlvk5oKr8LZjLfoTiI1y86M=
+ xlHzMOYz6QhuaFQ3oa3C0BeCRr0E/MyIvgvEpq21uAI=
diff --git a/GBAPokemonGameEditor/bin/Debug/PokemonGameEditor.pdb b/GBAPokemonGameEditor/bin/Debug/PokemonGameEditor.pdb
index 500eed1..a382d46 100644
Binary files a/GBAPokemonGameEditor/bin/Debug/PokemonGameEditor.pdb and b/GBAPokemonGameEditor/bin/Debug/PokemonGameEditor.pdb differ
diff --git a/GBAPokemonGameEditor/bin/Debug/PokemonGameEditor.vshost.application b/GBAPokemonGameEditor/bin/Debug/PokemonGameEditor.vshost.application
index dbd64e3..2386f6a 100644
--- a/GBAPokemonGameEditor/bin/Debug/PokemonGameEditor.vshost.application
+++ b/GBAPokemonGameEditor/bin/Debug/PokemonGameEditor.vshost.application
@@ -16,7 +16,7 @@
- rZHE9d2jxHy/RfxaSioHGsV0reH+HmyRX/UC6moSoCk=
+ BrhFZxIm/MtXiBKMf4panZj2RiXMDIKhiHKrXlGKAyM=
diff --git a/GBAPokemonGameEditor/bin/Debug/PokemonGameEditor.vshost.exe.manifest b/GBAPokemonGameEditor/bin/Debug/PokemonGameEditor.vshost.exe.manifest
index 0fe9292..9018a99 100644
--- a/GBAPokemonGameEditor/bin/Debug/PokemonGameEditor.vshost.exe.manifest
+++ b/GBAPokemonGameEditor/bin/Debug/PokemonGameEditor.vshost.exe.manifest
@@ -43,14 +43,14 @@
-
+
- qRRLS5GTKfZ3VoqthI2frlvk5oKr8LZjLfoTiI1y86M=
+ xlHzMOYz6QhuaFQ3oa3C0BeCRr0E/MyIvgvEpq21uAI=
diff --git a/GBAPokemonGameEditor/bin/Debug/ini/roms.ini b/GBAPokemonGameEditor/bin/Debug/ini/roms.ini
index d1eccd6..cfb3a4b 100644
--- a/GBAPokemonGameEditor/bin/Debug/ini/roms.ini
+++ b/GBAPokemonGameEditor/bin/Debug/ini/roms.ini
@@ -210,7 +210,7 @@ CryConversionTable=1FDE6A
MoveTutorCompatibility=0
EggMoveTable=0
EggMoveTableLimiter=41BB8
-TrainerTable=1F0524
+TrainerTable=1F04FC
NumberOfTrainers=693
TrainerClasses=1F0208
NumberOfTrainerClasses=58
@@ -557,7 +557,7 @@ EggMoveTable=25EF0C
EggMoveTableLimiter=45CC4
HabitatTable=452C4C
ItemAnimationTable=45FD54
-TrainerTable=23EAF0
+TrainerTable=23EAC8
NumberOfTrainers=742
TrainerClasses=23E558
NumberOfTrainerClasses=6B
@@ -1017,7 +1017,7 @@ EvolutionName255=Revert Megas
Evolution255Param=evolvesbutnoparms
EggMoveTable=32ADD8
EggMoveTableLimiter=70464
-TrainerTable=310058
+TrainerTable=310030
NumberOfTrainers=854
TrainerClasses=30FCD4
NumberOfTrainerClasses=66
diff --git a/GBAPokemonGameEditor/obj/x86/Debug/GBAPokemonGameEditor.vbproj.FileListAbsolute.txt b/GBAPokemonGameEditor/obj/x86/Debug/GBAPokemonGameEditor.vbproj.FileListAbsolute.txt
index b5deded..51b99c5 100644
--- a/GBAPokemonGameEditor/obj/x86/Debug/GBAPokemonGameEditor.vbproj.FileListAbsolute.txt
+++ b/GBAPokemonGameEditor/obj/x86/Debug/GBAPokemonGameEditor.vbproj.FileListAbsolute.txt
@@ -221,3 +221,4 @@ D:\Github\PokemonGameEditor\GBAPokemonGameEditor\obj\x86\Debug\PokemonGameEditor
D:\Github\PokemonGameEditor\GBAPokemonGameEditor\obj\x86\Debug\PokemonGameEditor.xml
D:\Github\PokemonGameEditor\GBAPokemonGameEditor\obj\x86\Debug\PokemonGameEditor.pdb
D:\Github\PokemonGameEditor\GBAPokemonGameEditor\obj\x86\Debug\GBAPokemonGameEditor.vbprojResolveAssemblyReference.cache
+D:\Github\PokemonGameEditor\GBAPokemonGameEditor\obj\x86\Debug\PokemonGameEditor.TrainerEditor.resources
diff --git a/GBAPokemonGameEditor/obj/x86/Debug/GBAPokemonGameEditor.vbproj.GenerateResource.Cache b/GBAPokemonGameEditor/obj/x86/Debug/GBAPokemonGameEditor.vbproj.GenerateResource.Cache
index bc9e0b2..c5be537 100644
Binary files a/GBAPokemonGameEditor/obj/x86/Debug/GBAPokemonGameEditor.vbproj.GenerateResource.Cache and b/GBAPokemonGameEditor/obj/x86/Debug/GBAPokemonGameEditor.vbproj.GenerateResource.Cache differ
diff --git a/GBAPokemonGameEditor/obj/x86/Debug/PokemonGameEditor.TrainerEditor.resources b/GBAPokemonGameEditor/obj/x86/Debug/PokemonGameEditor.TrainerEditor.resources
new file mode 100644
index 0000000..4137a78
Binary files /dev/null and b/GBAPokemonGameEditor/obj/x86/Debug/PokemonGameEditor.TrainerEditor.resources differ
diff --git a/GBAPokemonGameEditor/obj/x86/Debug/PokemonGameEditor.application b/GBAPokemonGameEditor/obj/x86/Debug/PokemonGameEditor.application
index dbd64e3..2386f6a 100644
--- a/GBAPokemonGameEditor/obj/x86/Debug/PokemonGameEditor.application
+++ b/GBAPokemonGameEditor/obj/x86/Debug/PokemonGameEditor.application
@@ -16,7 +16,7 @@
- rZHE9d2jxHy/RfxaSioHGsV0reH+HmyRX/UC6moSoCk=
+ BrhFZxIm/MtXiBKMf4panZj2RiXMDIKhiHKrXlGKAyM=
diff --git a/GBAPokemonGameEditor/obj/x86/Debug/PokemonGameEditor.exe b/GBAPokemonGameEditor/obj/x86/Debug/PokemonGameEditor.exe
index 59fef4a..ca3d940 100644
Binary files a/GBAPokemonGameEditor/obj/x86/Debug/PokemonGameEditor.exe and b/GBAPokemonGameEditor/obj/x86/Debug/PokemonGameEditor.exe differ
diff --git a/GBAPokemonGameEditor/obj/x86/Debug/PokemonGameEditor.exe.manifest b/GBAPokemonGameEditor/obj/x86/Debug/PokemonGameEditor.exe.manifest
index 0fe9292..9018a99 100644
--- a/GBAPokemonGameEditor/obj/x86/Debug/PokemonGameEditor.exe.manifest
+++ b/GBAPokemonGameEditor/obj/x86/Debug/PokemonGameEditor.exe.manifest
@@ -43,14 +43,14 @@
-
+
- qRRLS5GTKfZ3VoqthI2frlvk5oKr8LZjLfoTiI1y86M=
+ xlHzMOYz6QhuaFQ3oa3C0BeCRr0E/MyIvgvEpq21uAI=
diff --git a/GBAPokemonGameEditor/obj/x86/Debug/PokemonGameEditor.pdb b/GBAPokemonGameEditor/obj/x86/Debug/PokemonGameEditor.pdb
index 500eed1..a382d46 100644
Binary files a/GBAPokemonGameEditor/obj/x86/Debug/PokemonGameEditor.pdb and b/GBAPokemonGameEditor/obj/x86/Debug/PokemonGameEditor.pdb differ
diff --git a/roms.ini b/roms.ini
index a998487..cfb3a4b 100644
--- a/roms.ini
+++ b/roms.ini
@@ -210,7 +210,7 @@ CryConversionTable=1FDE6A
MoveTutorCompatibility=0
EggMoveTable=0
EggMoveTableLimiter=41BB8
-TrainerTable=1F0524
+TrainerTable=1F04FC
NumberOfTrainers=693
TrainerClasses=1F0208
NumberOfTrainerClasses=58
@@ -557,7 +557,7 @@ EggMoveTable=25EF0C
EggMoveTableLimiter=45CC4
HabitatTable=452C4C
ItemAnimationTable=45FD54
-TrainerTable=23EAF0
+TrainerTable=23EAC8
NumberOfTrainers=742
TrainerClasses=23E558
NumberOfTrainerClasses=6B
@@ -850,6 +850,9 @@ PokemonBackSprites=3028B8
PokemonNormalPal=303678
PokemonShinyPal=304438
PokemonAnimations=30A18C
+FrontAnimationTable=3299EC
+BackAnimTable=60A8C8
+AnimDelayTable=329B87
IconPointerTable=57BCA8
IconPalTable=57C388
CryTable=69DCF4
@@ -973,7 +976,7 @@ JamboLearnableMovesTerm=0000FF
StartSearchingForSpaceOffset=E3CF64
FreeSpaceSearchInterval=100
NumberOfEvolutionsPerPokemon=5
-NumberOfEvolutionTypes=15
+NumberOfEvolutionTypes=255
EvolutionName0=None
EvolutionName1=Happiness
EvolutionName2=Happiness (Day)
@@ -1006,9 +1009,15 @@ Evolution12Param=level
Evolution13Param=evolvesbutnoparms
Evolution14Param=level
Evolution15Param=evolvesbasedonvalue
+EvolutionName252=Wish Mega Evolution
+Evolution252Param=attack
+EvolutionName251=Mega Evolution
+Evolution251Param=item
+EvolutionName255=Revert Megas
+Evolution255Param=evolvesbutnoparms
EggMoveTable=32ADD8
EggMoveTableLimiter=70464
-TrainerTable=310058
+TrainerTable=310030
NumberOfTrainers=854
TrainerClasses=30FCD4
NumberOfTrainerClasses=66