diff --git a/PKHeX.csproj b/PKHeX.csproj index c67cd92f1..526738928 100644 --- a/PKHeX.csproj +++ b/PKHeX.csproj @@ -102,6 +102,12 @@ f3-MemoryAmie.cs + + Form + + + SAV_EventFlagsORAS.cs + Form @@ -134,11 +140,11 @@ SAV_BoxLayout.cs - + Form - - SAV_EventFlags.cs + + SAV_EventFlagsXY.cs Form @@ -211,6 +217,9 @@ f3-MemoryAmie.cs + + SAV_EventFlagsORAS.cs + frmReport.cs @@ -228,8 +237,8 @@ SAV_BoxLayout.cs - - SAV_EventFlags.cs + + SAV_EventFlagsXY.cs SAV_HallOfFame.cs diff --git a/PKX/f1-Main.cs b/PKX/f1-Main.cs index 5b3183b98..20922535b 100644 --- a/PKX/f1-Main.cs +++ b/PKX/f1-Main.cs @@ -5770,8 +5770,8 @@ namespace PKHeX private void B_OpenEventFlags_Click(object sender, EventArgs e) { // Open Flag Menu - SAV_EventFlags eventflags = new PKHeX.SAV_EventFlags(this); - eventflags.ShowDialog(); + if (savegame_oras) (new PKHeX.SAV_EventFlagsORAS(this)).ShowDialog(); + else (new PKHeX.SAV_EventFlagsXY(this)).ShowDialog(); } private void B_OpenSuperTraining_Click(object sender, EventArgs e) { diff --git a/SAV/SAV_EventFlagsORAS.Designer.cs b/SAV/SAV_EventFlagsORAS.Designer.cs new file mode 100644 index 000000000..1bf9ee3d3 --- /dev/null +++ b/SAV/SAV_EventFlagsORAS.Designer.cs @@ -0,0 +1,644 @@ +namespace PKHeX +{ + partial class SAV_EventFlagsORAS + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SAV_EventFlagsORAS)); + this.CHK_CustomFlag = new System.Windows.Forms.CheckBox(); + this.B_Cancel = new System.Windows.Forms.Button(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.nud = new System.Windows.Forms.NumericUpDown(); + this.label1 = new System.Windows.Forms.Label(); + this.flag_0001 = new System.Windows.Forms.CheckBox(); + this.flag_0002 = new System.Windows.Forms.CheckBox(); + this.flag_0003 = new System.Windows.Forms.CheckBox(); + this.flag_0004 = new System.Windows.Forms.CheckBox(); + this.flag_0005 = new System.Windows.Forms.CheckBox(); + this.B_Save = new System.Windows.Forms.Button(); + this.flag_2237 = new System.Windows.Forms.CheckBox(); + this.flag_2238 = new System.Windows.Forms.CheckBox(); + this.flag_2239 = new System.Windows.Forms.CheckBox(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.L_UnSet = new System.Windows.Forms.Label(); + this.L_IsSet = new System.Windows.Forms.Label(); + this.TB_NewSAV = new System.Windows.Forms.TextBox(); + this.TB_OldSAV = new System.Windows.Forms.TextBox(); + this.TB_UnSet = new System.Windows.Forms.TextBox(); + this.TB_IsSet = new System.Windows.Forms.TextBox(); + this.B_LoadNew = new System.Windows.Forms.Button(); + this.B_LoadOld = new System.Windows.Forms.Button(); + this.flag_0963 = new System.Windows.Forms.CheckBox(); + this.flag_0115 = new System.Windows.Forms.CheckBox(); + this.GB_Rebattle = new System.Windows.Forms.GroupBox(); + this.flag_0114 = new System.Windows.Forms.CheckBox(); + this.flag_0790 = new System.Windows.Forms.CheckBox(); + this.groupBox3 = new System.Windows.Forms.GroupBox(); + this.flag_0289 = new System.Windows.Forms.CheckBox(); + this.flag_0288 = new System.Windows.Forms.CheckBox(); + this.flag_0287 = new System.Windows.Forms.CheckBox(); + this.flag_0294 = new System.Windows.Forms.CheckBox(); + this.flag_0293 = new System.Windows.Forms.CheckBox(); + this.flag_0292 = new System.Windows.Forms.CheckBox(); + this.flag_0291 = new System.Windows.Forms.CheckBox(); + this.flag_0290 = new System.Windows.Forms.CheckBox(); + this.flag_0675 = new System.Windows.Forms.CheckBox(); + this.flag_0286 = new System.Windows.Forms.CheckBox(); + this.flag_0285 = new System.Windows.Forms.CheckBox(); + this.flag_2546 = new System.Windows.Forms.CheckBox(); + this.groupBox1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.nud)).BeginInit(); + this.groupBox2.SuspendLayout(); + this.GB_Rebattle.SuspendLayout(); + this.groupBox3.SuspendLayout(); + this.SuspendLayout(); + // + // CHK_CustomFlag + // + this.CHK_CustomFlag.AutoSize = true; + this.CHK_CustomFlag.CheckAlign = System.Drawing.ContentAlignment.MiddleRight; + this.CHK_CustomFlag.Enabled = false; + this.CHK_CustomFlag.Location = new System.Drawing.Point(12, 44); + this.CHK_CustomFlag.Name = "CHK_CustomFlag"; + this.CHK_CustomFlag.Size = new System.Drawing.Size(59, 17); + this.CHK_CustomFlag.TabIndex = 1; + this.CHK_CustomFlag.Text = "Status:"; + this.CHK_CustomFlag.UseVisualStyleBackColor = true; + this.CHK_CustomFlag.CheckedChanged += new System.EventHandler(this.changeCustomBool); + // + // B_Cancel + // + this.B_Cancel.Location = new System.Drawing.Point(287, 307); + this.B_Cancel.Name = "B_Cancel"; + this.B_Cancel.Size = new System.Drawing.Size(75, 23); + this.B_Cancel.TabIndex = 2; + this.B_Cancel.Text = "Cancel"; + this.B_Cancel.UseVisualStyleBackColor = true; + this.B_Cancel.Click += new System.EventHandler(this.B_Cancel_Click); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.nud); + this.groupBox1.Controls.Add(this.label1); + this.groupBox1.Controls.Add(this.CHK_CustomFlag); + this.groupBox1.Location = new System.Drawing.Point(14, 135); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(108, 68); + this.groupBox1.TabIndex = 3; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "Check Flag Status"; + // + // nud + // + this.nud.Location = new System.Drawing.Point(56, 19); + this.nud.Maximum = new decimal(new int[] { + 3072, + 0, + 0, + 0}); + this.nud.Name = "nud"; + this.nud.Size = new System.Drawing.Size(45, 20); + this.nud.TabIndex = 9; + this.nud.Value = new decimal(new int[] { + 3071, + 0, + 0, + 0}); + this.nud.ValueChanged += new System.EventHandler(this.changeCustomFlag); + this.nud.KeyUp += new System.Windows.Forms.KeyEventHandler(this.changeCustomFlag); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(13, 21); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(30, 13); + this.label1.TabIndex = 2; + this.label1.Text = "Flag:"; + // + // flag_0001 + // + this.flag_0001.AutoSize = true; + this.flag_0001.CheckAlign = System.Drawing.ContentAlignment.MiddleRight; + this.flag_0001.Location = new System.Drawing.Point(12, 12); + this.flag_0001.Name = "flag_0001"; + this.flag_0001.Size = new System.Drawing.Size(52, 17); + this.flag_0001.TabIndex = 4; + this.flag_0001.Text = "Flag1"; + this.flag_0001.UseVisualStyleBackColor = true; + this.flag_0001.Click += new System.EventHandler(this.toggleFlag); + // + // flag_0002 + // + this.flag_0002.AutoSize = true; + this.flag_0002.CheckAlign = System.Drawing.ContentAlignment.MiddleRight; + this.flag_0002.Location = new System.Drawing.Point(12, 28); + this.flag_0002.Name = "flag_0002"; + this.flag_0002.Size = new System.Drawing.Size(52, 17); + this.flag_0002.TabIndex = 5; + this.flag_0002.Text = "Flag2"; + this.flag_0002.UseVisualStyleBackColor = true; + this.flag_0002.Click += new System.EventHandler(this.toggleFlag); + // + // flag_0003 + // + this.flag_0003.AutoSize = true; + this.flag_0003.CheckAlign = System.Drawing.ContentAlignment.MiddleRight; + this.flag_0003.Location = new System.Drawing.Point(12, 44); + this.flag_0003.Name = "flag_0003"; + this.flag_0003.Size = new System.Drawing.Size(52, 17); + this.flag_0003.TabIndex = 6; + this.flag_0003.Text = "Flag3"; + this.flag_0003.UseVisualStyleBackColor = true; + this.flag_0003.Click += new System.EventHandler(this.toggleFlag); + // + // flag_0004 + // + this.flag_0004.AutoSize = true; + this.flag_0004.CheckAlign = System.Drawing.ContentAlignment.MiddleRight; + this.flag_0004.Location = new System.Drawing.Point(12, 60); + this.flag_0004.Name = "flag_0004"; + this.flag_0004.Size = new System.Drawing.Size(52, 17); + this.flag_0004.TabIndex = 7; + this.flag_0004.Text = "Flag4"; + this.flag_0004.UseVisualStyleBackColor = true; + this.flag_0004.Click += new System.EventHandler(this.toggleFlag); + // + // flag_0005 + // + this.flag_0005.AutoSize = true; + this.flag_0005.CheckAlign = System.Drawing.ContentAlignment.MiddleRight; + this.flag_0005.Location = new System.Drawing.Point(12, 76); + this.flag_0005.Name = "flag_0005"; + this.flag_0005.Size = new System.Drawing.Size(52, 17); + this.flag_0005.TabIndex = 8; + this.flag_0005.Text = "Flag5"; + this.flag_0005.UseVisualStyleBackColor = true; + this.flag_0005.Click += new System.EventHandler(this.toggleFlag); + // + // B_Save + // + this.B_Save.Location = new System.Drawing.Point(366, 306); + this.B_Save.Name = "B_Save"; + this.B_Save.Size = new System.Drawing.Size(75, 23); + this.B_Save.TabIndex = 9; + this.B_Save.Text = "Save"; + this.B_Save.UseVisualStyleBackColor = true; + this.B_Save.Click += new System.EventHandler(this.B_Save_Click); + // + // flag_2237 + // + this.flag_2237.AutoSize = true; + this.flag_2237.Location = new System.Drawing.Point(72, 12); + this.flag_2237.Name = "flag_2237"; + this.flag_2237.Size = new System.Drawing.Size(50, 17); + this.flag_2237.TabIndex = 10; + this.flag_2237.Text = "2237"; + this.flag_2237.UseVisualStyleBackColor = true; + this.flag_2237.Click += new System.EventHandler(this.toggleFlag); + // + // flag_2238 + // + this.flag_2238.AutoSize = true; + this.flag_2238.Location = new System.Drawing.Point(72, 28); + this.flag_2238.Name = "flag_2238"; + this.flag_2238.Size = new System.Drawing.Size(50, 17); + this.flag_2238.TabIndex = 11; + this.flag_2238.Text = "2238"; + this.flag_2238.UseVisualStyleBackColor = true; + this.flag_2238.Click += new System.EventHandler(this.toggleFlag); + // + // flag_2239 + // + this.flag_2239.AutoSize = true; + this.flag_2239.Location = new System.Drawing.Point(72, 44); + this.flag_2239.Name = "flag_2239"; + this.flag_2239.Size = new System.Drawing.Size(50, 17); + this.flag_2239.TabIndex = 12; + this.flag_2239.Text = "2239"; + this.flag_2239.UseVisualStyleBackColor = true; + this.flag_2239.Click += new System.EventHandler(this.toggleFlag); + // + // groupBox2 + // + this.groupBox2.Controls.Add(this.L_UnSet); + this.groupBox2.Controls.Add(this.L_IsSet); + this.groupBox2.Controls.Add(this.TB_NewSAV); + this.groupBox2.Controls.Add(this.TB_OldSAV); + this.groupBox2.Controls.Add(this.TB_UnSet); + this.groupBox2.Controls.Add(this.TB_IsSet); + this.groupBox2.Controls.Add(this.B_LoadNew); + this.groupBox2.Controls.Add(this.B_LoadOld); + this.groupBox2.Location = new System.Drawing.Point(14, 210); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Size = new System.Drawing.Size(268, 120); + this.groupBox2.TabIndex = 13; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "FlagDiff"; + // + // L_UnSet + // + this.L_UnSet.AutoSize = true; + this.L_UnSet.Location = new System.Drawing.Point(10, 97); + this.L_UnSet.Name = "L_UnSet"; + this.L_UnSet.Size = new System.Drawing.Size(37, 13); + this.L_UnSet.TabIndex = 7; + this.L_UnSet.Text = "UnSet"; + // + // L_IsSet + // + this.L_IsSet.AutoSize = true; + this.L_IsSet.Location = new System.Drawing.Point(12, 77); + this.L_IsSet.Name = "L_IsSet"; + this.L_IsSet.Size = new System.Drawing.Size(31, 13); + this.L_IsSet.TabIndex = 6; + this.L_IsSet.Text = "IsSet"; + // + // TB_NewSAV + // + this.TB_NewSAV.Location = new System.Drawing.Point(93, 47); + this.TB_NewSAV.Name = "TB_NewSAV"; + this.TB_NewSAV.ReadOnly = true; + this.TB_NewSAV.Size = new System.Drawing.Size(169, 20); + this.TB_NewSAV.TabIndex = 5; + this.TB_NewSAV.TextChanged += new System.EventHandler(this.changeSAV); + // + // TB_OldSAV + // + this.TB_OldSAV.Location = new System.Drawing.Point(93, 21); + this.TB_OldSAV.Name = "TB_OldSAV"; + this.TB_OldSAV.ReadOnly = true; + this.TB_OldSAV.Size = new System.Drawing.Size(169, 20); + this.TB_OldSAV.TabIndex = 4; + this.TB_OldSAV.TextChanged += new System.EventHandler(this.changeSAV); + // + // TB_UnSet + // + this.TB_UnSet.Location = new System.Drawing.Point(56, 94); + this.TB_UnSet.Name = "TB_UnSet"; + this.TB_UnSet.ReadOnly = true; + this.TB_UnSet.Size = new System.Drawing.Size(206, 20); + this.TB_UnSet.TabIndex = 3; + // + // TB_IsSet + // + this.TB_IsSet.Location = new System.Drawing.Point(56, 74); + this.TB_IsSet.Name = "TB_IsSet"; + this.TB_IsSet.ReadOnly = true; + this.TB_IsSet.Size = new System.Drawing.Size(206, 20); + this.TB_IsSet.TabIndex = 2; + // + // B_LoadNew + // + this.B_LoadNew.Location = new System.Drawing.Point(12, 45); + this.B_LoadNew.Name = "B_LoadNew"; + this.B_LoadNew.Size = new System.Drawing.Size(75, 23); + this.B_LoadNew.TabIndex = 1; + this.B_LoadNew.Text = "Load New"; + this.B_LoadNew.UseVisualStyleBackColor = true; + this.B_LoadNew.Click += new System.EventHandler(this.openSAV); + // + // B_LoadOld + // + this.B_LoadOld.Location = new System.Drawing.Point(12, 19); + this.B_LoadOld.Name = "B_LoadOld"; + this.B_LoadOld.Size = new System.Drawing.Size(75, 23); + this.B_LoadOld.TabIndex = 0; + this.B_LoadOld.Text = "Load Old"; + this.B_LoadOld.UseVisualStyleBackColor = true; + this.B_LoadOld.Click += new System.EventHandler(this.openSAV); + // + // flag_0963 + // + this.flag_0963.AutoSize = true; + this.flag_0963.CheckAlign = System.Drawing.ContentAlignment.TopLeft; + this.flag_0963.Location = new System.Drawing.Point(16, 19); + this.flag_0963.Name = "flag_0963"; + this.flag_0963.Size = new System.Drawing.Size(113, 17); + this.flag_0963.TabIndex = 14; + this.flag_0963.Text = "Mewtwo Defeated"; + this.flag_0963.UseVisualStyleBackColor = true; + this.flag_0963.Click += new System.EventHandler(this.toggleFlag); + // + // flag_0115 + // + this.flag_0115.AutoSize = true; + this.flag_0115.CheckAlign = System.Drawing.ContentAlignment.TopLeft; + this.flag_0115.Location = new System.Drawing.Point(16, 34); + this.flag_0115.Name = "flag_0115"; + this.flag_0115.Size = new System.Drawing.Size(112, 17); + this.flag_0115.TabIndex = 15; + this.flag_0115.Text = "Mewtwo Captured"; + this.flag_0115.UseVisualStyleBackColor = true; + this.flag_0115.Click += new System.EventHandler(this.toggleFlag); + // + // GB_Rebattle + // + this.GB_Rebattle.Controls.Add(this.flag_0114); + this.GB_Rebattle.Controls.Add(this.flag_0790); + this.GB_Rebattle.Controls.Add(this.flag_0115); + this.GB_Rebattle.Controls.Add(this.flag_0963); + this.GB_Rebattle.Location = new System.Drawing.Point(129, 12); + this.GB_Rebattle.Name = "GB_Rebattle"; + this.GB_Rebattle.Size = new System.Drawing.Size(152, 191); + this.GB_Rebattle.TabIndex = 16; + this.GB_Rebattle.TabStop = false; + this.GB_Rebattle.Text = "Rebattle"; + // + // flag_0114 + // + this.flag_0114.AutoSize = true; + this.flag_0114.CheckAlign = System.Drawing.ContentAlignment.TopLeft; + this.flag_0114.Location = new System.Drawing.Point(16, 72); + this.flag_0114.Name = "flag_0114"; + this.flag_0114.Size = new System.Drawing.Size(111, 17); + this.flag_0114.TabIndex = 17; + this.flag_0114.Text = "Zygarde Captured"; + this.flag_0114.UseVisualStyleBackColor = true; + this.flag_0114.Click += new System.EventHandler(this.toggleFlag); + // + // flag_0790 + // + this.flag_0790.AutoSize = true; + this.flag_0790.CheckAlign = System.Drawing.ContentAlignment.TopLeft; + this.flag_0790.Location = new System.Drawing.Point(16, 57); + this.flag_0790.Name = "flag_0790"; + this.flag_0790.Size = new System.Drawing.Size(112, 17); + this.flag_0790.TabIndex = 16; + this.flag_0790.Text = "Zygarde Defeated"; + this.flag_0790.UseVisualStyleBackColor = true; + this.flag_0790.Click += new System.EventHandler(this.toggleFlag); + // + // groupBox3 + // + this.groupBox3.Controls.Add(this.flag_0289); + this.groupBox3.Controls.Add(this.flag_0288); + this.groupBox3.Controls.Add(this.flag_0287); + this.groupBox3.Controls.Add(this.flag_0294); + this.groupBox3.Controls.Add(this.flag_0293); + this.groupBox3.Controls.Add(this.flag_0292); + this.groupBox3.Controls.Add(this.flag_0291); + this.groupBox3.Controls.Add(this.flag_0290); + this.groupBox3.Controls.Add(this.flag_0675); + this.groupBox3.Controls.Add(this.flag_0286); + this.groupBox3.Controls.Add(this.flag_0285); + this.groupBox3.Location = new System.Drawing.Point(287, 12); + this.groupBox3.Name = "groupBox3"; + this.groupBox3.Size = new System.Drawing.Size(154, 288); + this.groupBox3.TabIndex = 17; + this.groupBox3.TabStop = false; + this.groupBox3.Text = "Misc"; + // + // flag_0289 + // + this.flag_0289.AutoSize = true; + this.flag_0289.CheckAlign = System.Drawing.ContentAlignment.TopLeft; + this.flag_0289.Location = new System.Drawing.Point(6, 79); + this.flag_0289.Name = "flag_0289"; + this.flag_0289.Size = new System.Drawing.Size(94, 17); + this.flag_0289.TabIndex = 25; + this.flag_0289.Text = "Multi Statuette"; + this.flag_0289.UseVisualStyleBackColor = true; + this.flag_0289.Click += new System.EventHandler(this.toggleFlag); + // + // flag_0288 + // + this.flag_0288.AutoSize = true; + this.flag_0288.CheckAlign = System.Drawing.ContentAlignment.TopLeft; + this.flag_0288.Location = new System.Drawing.Point(6, 64); + this.flag_0288.Name = "flag_0288"; + this.flag_0288.Size = new System.Drawing.Size(112, 17); + this.flag_0288.TabIndex = 24; + this.flag_0288.Text = "Rotation Statuette"; + this.flag_0288.UseVisualStyleBackColor = true; + this.flag_0288.Click += new System.EventHandler(this.toggleFlag); + // + // flag_0287 + // + this.flag_0287.AutoSize = true; + this.flag_0287.CheckAlign = System.Drawing.ContentAlignment.TopLeft; + this.flag_0287.Location = new System.Drawing.Point(6, 49); + this.flag_0287.Name = "flag_0287"; + this.flag_0287.Size = new System.Drawing.Size(103, 17); + this.flag_0287.TabIndex = 23; + this.flag_0287.Text = "Triples Statuette"; + this.flag_0287.UseVisualStyleBackColor = true; + this.flag_0287.Click += new System.EventHandler(this.toggleFlag); + // + // flag_0294 + // + this.flag_0294.AutoSize = true; + this.flag_0294.CheckAlign = System.Drawing.ContentAlignment.TopLeft; + this.flag_0294.Location = new System.Drawing.Point(6, 159); + this.flag_0294.Name = "flag_0294"; + this.flag_0294.Size = new System.Drawing.Size(128, 17); + this.flag_0294.TabIndex = 22; + this.flag_0294.Text = "Super Multi Unlocked"; + this.flag_0294.UseVisualStyleBackColor = true; + this.flag_0294.Click += new System.EventHandler(this.toggleFlag); + // + // flag_0293 + // + this.flag_0293.AutoSize = true; + this.flag_0293.CheckAlign = System.Drawing.ContentAlignment.TopLeft; + this.flag_0293.Location = new System.Drawing.Point(6, 144); + this.flag_0293.Name = "flag_0293"; + this.flag_0293.Size = new System.Drawing.Size(146, 17); + this.flag_0293.TabIndex = 21; + this.flag_0293.Text = "Super Rotation Unlocked"; + this.flag_0293.UseVisualStyleBackColor = true; + this.flag_0293.Click += new System.EventHandler(this.toggleFlag); + // + // flag_0292 + // + this.flag_0292.AutoSize = true; + this.flag_0292.CheckAlign = System.Drawing.ContentAlignment.TopLeft; + this.flag_0292.Location = new System.Drawing.Point(6, 129); + this.flag_0292.Name = "flag_0292"; + this.flag_0292.Size = new System.Drawing.Size(137, 17); + this.flag_0292.TabIndex = 20; + this.flag_0292.Text = "Super Triples Unlocked"; + this.flag_0292.UseVisualStyleBackColor = true; + this.flag_0292.Click += new System.EventHandler(this.toggleFlag); + // + // flag_0291 + // + this.flag_0291.AutoSize = true; + this.flag_0291.CheckAlign = System.Drawing.ContentAlignment.TopLeft; + this.flag_0291.Location = new System.Drawing.Point(6, 114); + this.flag_0291.Name = "flag_0291"; + this.flag_0291.Size = new System.Drawing.Size(145, 17); + this.flag_0291.TabIndex = 19; + this.flag_0291.Text = "Super Doubles Unlocked"; + this.flag_0291.UseVisualStyleBackColor = true; + this.flag_0291.Click += new System.EventHandler(this.toggleFlag); + // + // flag_0290 + // + this.flag_0290.AutoSize = true; + this.flag_0290.CheckAlign = System.Drawing.ContentAlignment.TopLeft; + this.flag_0290.Location = new System.Drawing.Point(6, 99); + this.flag_0290.Name = "flag_0290"; + this.flag_0290.Size = new System.Drawing.Size(140, 17); + this.flag_0290.TabIndex = 18; + this.flag_0290.Text = "Super Singles Unlocked"; + this.flag_0290.UseVisualStyleBackColor = true; + this.flag_0290.Click += new System.EventHandler(this.toggleFlag); + // + // flag_0675 + // + this.flag_0675.AutoSize = true; + this.flag_0675.CheckAlign = System.Drawing.ContentAlignment.TopLeft; + this.flag_0675.Location = new System.Drawing.Point(15, 243); + this.flag_0675.Name = "flag_0675"; + this.flag_0675.Size = new System.Drawing.Size(119, 17); + this.flag_0675.TabIndex = 17; + this.flag_0675.Text = "50: Beat Chatelaine"; + this.flag_0675.UseVisualStyleBackColor = true; + this.flag_0675.Click += new System.EventHandler(this.toggleFlag); + // + // flag_0286 + // + this.flag_0286.AutoSize = true; + this.flag_0286.CheckAlign = System.Drawing.ContentAlignment.TopLeft; + this.flag_0286.Location = new System.Drawing.Point(6, 34); + this.flag_0286.Name = "flag_0286"; + this.flag_0286.Size = new System.Drawing.Size(111, 17); + this.flag_0286.TabIndex = 16; + this.flag_0286.Text = "Doubles Statuette"; + this.flag_0286.UseVisualStyleBackColor = true; + this.flag_0286.Click += new System.EventHandler(this.toggleFlag); + // + // flag_0285 + // + this.flag_0285.AutoSize = true; + this.flag_0285.CheckAlign = System.Drawing.ContentAlignment.TopLeft; + this.flag_0285.Location = new System.Drawing.Point(6, 19); + this.flag_0285.Name = "flag_0285"; + this.flag_0285.Size = new System.Drawing.Size(106, 17); + this.flag_0285.TabIndex = 15; + this.flag_0285.Text = "Singles Statuette"; + this.flag_0285.UseVisualStyleBackColor = true; + this.flag_0285.Click += new System.EventHandler(this.toggleFlag); + // + // flag_2546 + // + this.flag_2546.AutoSize = true; + this.flag_2546.Location = new System.Drawing.Point(13, 112); + this.flag_2546.Name = "flag_2546"; + this.flag_2546.Size = new System.Drawing.Size(114, 17); + this.flag_2546.TabIndex = 18; + this.flag_2546.Text = "Pokédex Obtained"; + this.flag_2546.UseVisualStyleBackColor = true; + this.flag_2546.Click += new System.EventHandler(this.toggleFlag); + // + // SAV_EventFlags + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(449, 342); + this.Controls.Add(this.flag_2546); + this.Controls.Add(this.groupBox3); + this.Controls.Add(this.GB_Rebattle); + this.Controls.Add(this.groupBox2); + this.Controls.Add(this.flag_2239); + this.Controls.Add(this.flag_2238); + this.Controls.Add(this.flag_2237); + this.Controls.Add(this.B_Save); + this.Controls.Add(this.flag_0005); + this.Controls.Add(this.flag_0004); + this.Controls.Add(this.flag_0003); + this.Controls.Add(this.flag_0002); + this.Controls.Add(this.flag_0001); + this.Controls.Add(this.groupBox1); + this.Controls.Add(this.B_Cancel); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "SAV_EventFlags"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "Event Flag Editor"; + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.nud)).EndInit(); + this.groupBox2.ResumeLayout(false); + this.groupBox2.PerformLayout(); + this.GB_Rebattle.ResumeLayout(false); + this.GB_Rebattle.PerformLayout(); + this.groupBox3.ResumeLayout(false); + this.groupBox3.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.CheckBox CHK_CustomFlag; + private System.Windows.Forms.Button B_Cancel; + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.CheckBox flag_0001; + private System.Windows.Forms.CheckBox flag_0002; + private System.Windows.Forms.CheckBox flag_0003; + private System.Windows.Forms.CheckBox flag_0004; + private System.Windows.Forms.CheckBox flag_0005; + private System.Windows.Forms.NumericUpDown nud; + private System.Windows.Forms.Button B_Save; + private System.Windows.Forms.CheckBox flag_2237; + private System.Windows.Forms.CheckBox flag_2238; + private System.Windows.Forms.CheckBox flag_2239; + private System.Windows.Forms.GroupBox groupBox2; + private System.Windows.Forms.Label L_UnSet; + private System.Windows.Forms.Label L_IsSet; + private System.Windows.Forms.TextBox TB_NewSAV; + private System.Windows.Forms.TextBox TB_OldSAV; + private System.Windows.Forms.TextBox TB_UnSet; + private System.Windows.Forms.TextBox TB_IsSet; + private System.Windows.Forms.Button B_LoadNew; + private System.Windows.Forms.Button B_LoadOld; + private System.Windows.Forms.CheckBox flag_0963; + private System.Windows.Forms.CheckBox flag_0115; + private System.Windows.Forms.GroupBox GB_Rebattle; + private System.Windows.Forms.CheckBox flag_0114; + private System.Windows.Forms.CheckBox flag_0790; + private System.Windows.Forms.GroupBox groupBox3; + private System.Windows.Forms.CheckBox flag_0289; + private System.Windows.Forms.CheckBox flag_0288; + private System.Windows.Forms.CheckBox flag_0287; + private System.Windows.Forms.CheckBox flag_0294; + private System.Windows.Forms.CheckBox flag_0293; + private System.Windows.Forms.CheckBox flag_0292; + private System.Windows.Forms.CheckBox flag_0291; + private System.Windows.Forms.CheckBox flag_0290; + private System.Windows.Forms.CheckBox flag_0675; + private System.Windows.Forms.CheckBox flag_0286; + private System.Windows.Forms.CheckBox flag_0285; + private System.Windows.Forms.CheckBox flag_2546; + } +} \ No newline at end of file diff --git a/SAV/SAV_EventFlagsORAS.cs b/SAV/SAV_EventFlagsORAS.cs new file mode 100644 index 000000000..a07452dc3 --- /dev/null +++ b/SAV/SAV_EventFlagsORAS.cs @@ -0,0 +1,182 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using System.IO; + +namespace PKHeX +{ + public partial class SAV_EventFlagsORAS : Form + { + public SAV_EventFlagsORAS(Form1 frm1) + { + InitializeComponent(); + m_parent = frm1; + savshift = 0x7F000 * m_parent.savindex; + + Setup(); + + nud.Text = "0"; // Prompts an update for flag 0. + } + Form1 m_parent; + public int savshift; + bool setup = true; + public CheckBox[] chka; + public bool[] flags = new bool[3072]; + private void B_Cancel_Click(object sender, EventArgs e) + { + Close(); + } + private void B_Save_Click(object sender, EventArgs e) + { + // Gather Updated Flags + for (int i = 0; i < chka.Length; i++) + flags[getFlagNum(chka[i])] = chka[i].Checked; + + byte[] data = new byte[flags.Length / 8]; + + for (int i = 0; i < flags.Length; i++) + if (flags[i]) + data[i/8] |= (byte)(1 << i%8); + + Array.Copy(data, 0, m_parent.savefile, 0x1A0FC + savshift, 0x180); + this.Close(); + } + private void Setup() + { + // Fill Bit arrays + + chka = new CheckBox[] { + flag_0001,flag_0002,flag_0003,flag_0004,flag_0005, + flag_2237,flag_2238,flag_2239, + flag_0115,flag_0963, // Mewtwo + flag_0114,flag_0790, // Zygarde + flag_0285,flag_0286,flag_0287,flag_0288,flag_0289, // Statuettes + flag_0290,flag_0291,flag_0292,flag_0293,flag_0294, // Super Unlocks + flag_0675, // Chatelaine 50 + flag_2546, // Pokedex + }; + int offset = 0x1A0FC + savshift; + byte[] data = new Byte[0x180]; + Array.Copy(m_parent.savefile, offset, data, 0, 0x180); + BitArray BitRegion = new BitArray(data); + BitRegion.CopyTo(flags, 0); + + // Populate Flags + setup = true; + popFlags(); + } + private void popFlags() + { + if (setup) + { + for (int i = 0; i < chka.Length; i++) + chka[i].Checked = flags[getFlagNum(chka[i])]; + + changeCustomFlag(null, null); + } + } + + private int getFlagNum(CheckBox chk) + { + try + { + string source = chk.Name; + return Convert.ToInt32(source.Substring(Math.Max(0, source.Length - 4))); + } + catch { return 0; } + } + private void changeCustomBool(object sender, EventArgs e) + { + flags[(int)nud.Value] = CHK_CustomFlag.Checked; + popFlags(); + } + private void changeCustomFlag(object sender, EventArgs e) + { + int flag = (int)nud.Value; + if (flag >= 3072) + { + CHK_CustomFlag.Checked = false; + CHK_CustomFlag.Enabled = false; + nud.BackColor = Color.Red; + } + else + { + CHK_CustomFlag.Enabled = true; + nud.BackColor = Color.White; + CHK_CustomFlag.Checked = flags[flag]; + } + } + private void changeCustomFlag(object sender, KeyEventArgs e) + { + changeCustomFlag(null, (EventArgs)e); + } + + private void toggleFlag(object sender, EventArgs e) + { + flags[getFlagNum((CheckBox)(sender))] = ((CheckBox)(sender)).Checked; + changeCustomFlag(sender, e); + } + + private void changeSAV(object sender, EventArgs e) + { + if (TB_NewSAV.Text.Length > 0 && TB_OldSAV.Text.Length > 0) + diffSaves(); + } + private void diffSaves() + { + BitArray oldBits = new BitArray(olddata); + BitArray newBits = new BitArray(newdata); + + for (int i = 0; i < oldBits.Length; i++) + if (oldBits[i] != newBits[i]) + if (newBits[i]) + TB_IsSet.AppendText(i.ToString("0000") + ","); + else + TB_UnSet.AppendText(i.ToString("0000") + ","); + } + private byte[] olddata = new Byte[0x180]; + private byte[] newdata = new Byte[0x180]; + private void openSAV(object sender, EventArgs e) + { + byte[] eventflags = new byte[0x180]; + string path = ""; + OpenFileDialog ofd = new OpenFileDialog(); + if (ofd.ShowDialog() == DialogResult.OK) + { + path = ofd.FileName; + FileInfo fi = new FileInfo(path); + if (fi.Length == 0x100000) + { + byte[] data = File.ReadAllBytes(path); + Array.Copy(data, 0x1A0FC, eventflags, 0, 0x180); + } + else if (fi.Length == 0x76000) + { + byte[] data = File.ReadAllBytes(path); + Array.Copy(data, 0x1A0FC - 0x5400, eventflags, 0, 0x180); + } + else + MessageBox.Show("Invalid SAV Size", "Error"); return; + } + else return; + + Button bs = (Button)sender; + if (bs.Name == "B_LoadOld") + { + Array.Copy(eventflags, olddata, 0x180); + TB_OldSAV.Text = path; + } + else + { + Array.Copy(eventflags, newdata, 0x180); + TB_NewSAV.Text = path; + } + } + } +} diff --git a/SAV/SAV_EventFlags.resx b/SAV/SAV_EventFlagsORAS.resx similarity index 100% rename from SAV/SAV_EventFlags.resx rename to SAV/SAV_EventFlagsORAS.resx diff --git a/SAV/SAV_EventFlags.Designer.cs b/SAV/SAV_EventFlagsXY.Designer.cs similarity index 99% rename from SAV/SAV_EventFlags.Designer.cs rename to SAV/SAV_EventFlagsXY.Designer.cs index 313da9263..3fa398653 100644 --- a/SAV/SAV_EventFlags.Designer.cs +++ b/SAV/SAV_EventFlagsXY.Designer.cs @@ -1,6 +1,6 @@ namespace PKHeX { - partial class SAV_EventFlags + partial class SAV_EventFlagsXY { /// /// Required designer variable. @@ -28,7 +28,7 @@ /// private void InitializeComponent() { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SAV_EventFlags)); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SAV_EventFlagsORAS)); this.CHK_CustomFlag = new System.Windows.Forms.CheckBox(); this.B_Cancel = new System.Windows.Forms.Button(); this.groupBox1 = new System.Windows.Forms.GroupBox(); diff --git a/SAV/SAV_EventFlags.cs b/SAV/SAV_EventFlagsXY.cs similarity index 98% rename from SAV/SAV_EventFlags.cs rename to SAV/SAV_EventFlagsXY.cs index 380a93c85..9ea169178 100644 --- a/SAV/SAV_EventFlags.cs +++ b/SAV/SAV_EventFlagsXY.cs @@ -11,9 +11,9 @@ using System.IO; namespace PKHeX { - public partial class SAV_EventFlags : Form + public partial class SAV_EventFlagsXY : Form { - public SAV_EventFlags(Form1 frm1) + public SAV_EventFlagsXY(Form1 frm1) { InitializeComponent(); m_parent = frm1; diff --git a/SAV/SAV_EventFlagsXY.resx b/SAV/SAV_EventFlagsXY.resx new file mode 100644 index 000000000..603f660be --- /dev/null +++ b/SAV/SAV_EventFlagsXY.resx @@ -0,0 +1,216 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + AAABAAIAEBAAAAEAIABoBAAAJgAAACAgAAABACAAqBAAAI4EAAAoAAAAEAAAACAAAAABACAAAAAAAAAE + AAAAAAAAAAAAAAAAAAAAAAAAIyMjAQAAAAALCwsPJiYmJysrKycqKionKSkpJykpKScpKSknKioqJyoq + KicrKysnJycnJw0ODQ8AAAAAJiYmAQAAAABpaWlHq6ur17+/v+6+vr7svr6+7b6+vu2+vr7tvr6+7b6+ + vu2+vr7tvr6+7L+/v+6rq6vXampqSAAAAAAoKSgXvr++3eLi4v/g4OD94eHh/+Hh4f/i4uL/4uLi/+Li + 4v/i4uL/4eHh/+Dh4P/g4OD94uLi/7+/v90sLCwXfn5+PNna2frg4OD/39/f/uHh4f7h4eH+39/f/uDg + 4P7g4OD+39/f/uHh4f7h4OH+39/f/t/g3//a2tr6g4ODPoOCgz7X19f64+Pj/+Li4v7k5OT/4+Tj//Ly + 8v/19fX/9PT0//T09P/k5OT/5OTk/+Pj4/7j4+P/19jX+4qLikCDhIM+2tra++Xl5f/k5eT+5OTk//Lz + 8v+urq7/RUVF/z4+Pv+Zmpn/8fHx/+Xm5f/k5eT+5eXl/9ra2vyLi4tAhYWFPuXm5vvx8vP/7+/w/v// + //+sra3/AgIC/15eXv9tbG3/BQUF/4yMjP//////7+/w/vHy8//l5ub8jY2NQC4uLD5LS0f7UFBL/09P + Sv5YWVP/FBUS/29wcP///////////5SUlP8PDw//U1NO/1BQS/5PT0r/S0tH/DIyMEAAAAs+AAAM+wAA + Dv8AAA/+AwMS/wAAAP+UlJX///////////+3t7n/AAAA/wAAD/8BAQ/+AAAO/wAADPwCAg5ABARSPgoK + k/sNDab/DQ2o/hAQvP8CAmj/IiIW/7Kzrv/Cw8D/NDQm/wAATf8QELz/DQ2q/gwMp/8LC5T8Dg5bQAUF + Xj4KCpz7DQ2u/w0NsP4NDbX/Dw+//wUFYf8CAhL/AwMP/wMDTf8ODrj/Dg64/w0NsP4MDK7/Cwud/A8P + aEEGBmU9DAyl+w4Otf8ODrf+Dw+6/xAQvv8TE8v/EhK+/xAQvP8TE8v/EBDA/w8Puf8PD7f+Dg61/w0N + pvsREW9ACAhtQA8PsfsTE77/ExO//xQUwP8UFML/FBTD/xUVyP8WFsn/FRXE/xQUw/8UFMH/ExO//xMT + vv8QELL7ERF3QxkZdCgXF771ExPH/xUVyPwVFcn9FhbL/RcXzP0XF8z9FxfM/RcXy/0XF8v9FhbJ/RUV + yPwTE8f/Fxe+9RkZdykAAAAAIyOtghsbx/8ZGcj+GRnJ/xoayf8aGsn/GhrK/xoayv8aGsn/GhrJ/xkZ + yf8ZGcj+GxvH/yMjrYQAAAAAAADHAQAAAAAzM51FLCyscCoqrGwqKqxtKSmsbSoqrG0qKqxtKSmsbSoq + rG0qKqxsLCyscDMznUUAAAAAAAAAAP//AADAAwAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIAB + AACAAQAAgAEAAIABAACAAQAAgAEAAP//AAAoAAAAIAAAAEAAAAABACAAAAAAAAAQAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKysrCR0dHSMWFhY3GBgYORgYGDkYGBg5GBgYORgY + GDkYGBg5GBgYORgYGDkYGBg5GBgYORgYGDkYGBg5GBgYORgYGDkYGBg5GBgYORgYGDkYGBg5FxcXNx4e + HiQuLi4JAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASEhIARYWFis7OzuVkJCQ2ampqeqqqqrsqqqq7Kqq + quyqqqrsqqqq7Kqqquyqqqrsqqqq7Kqqquyqqqrsqqqq7Kqqquyqqqrsqqqq7Kqqquyqqqrsqqqq7Kqq + quypqanqkZGR2j09PZcXFxcsUFBQAQAAAAAAAAAAAAAAAAAAAAASEhIuhISEytvb2/7W1tb/19fX/9jY + 2P/Y2Nj/2NjY/9jY2P/Y2Nj/2NjY/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Y2Nj/2NjY/9jY + 2P/Y2Nj/2NjY/9fX1//W1tb/29vb/oeHh8sTExMvAAAAAAAAAAAAAAAAPDw8DGtra6zZ2dn/2dnZ/9ra + 2v/b29v/29vb/9vb2//c3Nz/3Nzc/9zc3P/c3Nz/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3Nzc/9zc + 3P/c3Nz/3Nzc/9vb2//b29v/29vb/9ra2v/Z2dn/2dnZ/21tba5DQ0MNAAAAAAAAAAAiIiIx1NXU9tna + 2f/c3Nz/3d3d/93e3f/e3t7/3t7e/9/f3//f39//39/f/9/g3//g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg + 4P/g4OD/39/f/9/f3//f39//3t/e/97e3v/d3t3/3d3d/9zc3P/Z2tn/1dXV9icnJzMAAAAAAAAAAFhZ + WFzf4N//3Nzc/97e3v/f39//39/f/9/g3//g4OD/4ODg/+Hh4f/h4eH/4eHh/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Hi4f/h4eH/4eHh/+Dg4P/g4OD/3+Df/9/f3//f39//3t7e/9zc3P/f39//XV1dXQAA + AAAAAAAAZmZmZdvc2//e3t7/3+Df/+Dg4P/g4eD/4eHh/+Hi4f/i4uL/4uPi/+Pj4//j4+P/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/4+Pj/+Pj4//j4+P/4uLi/+Li4v/h4eH/4eHh/+Dg4P/f4N//3t7e/9vb + 2/9wcHBoAAAAAAAAAABoaGhl3d3d/9/f3//h4eH/4eLh/+Li4v/j4+P/4+Pj/+Tk5P/k5OT/5eXl/+Xl + 5f/l5uX/5ubm/+bm5v/m5ub/5ubm/+bm5v/l5eX/5eXl/+Tk5P/k5OT/4+Pj/+Pj4//i4uL/4uLi/+Hh + 4f/f39//3N3c/3Nzc2kAAAAAAAAAAGhoaGXe3t7/4ODg/+Li4v/j4+P/4+Pj/+Tk5P/l5eX/5eXl/+bm + 5v/m5+b/5+fn/+fn5//n6Of/6Ojo/+jo6P/o6Oj/5+fn/+fn5//n5+f/5ubm/+Xl5f/l5eX/5OTk/+Pk + 4//j4+P/4uLi/+Dg4P/e3t7/c3NzaQAAAAAAAAAAaGhoZd/g3//i4uL/5OTk/+Tl5P/l5eX/5ebl/+bn + 5v/n5+f/5+jn/+jp6P/p6en/7Ozs/8LCwv+Tk5P/ioqK/66urv/o6ej/6enp/+jp6P/o6Oj/5+jn/+bn + 5v/m5ub/5ebl/+Tl5P/k5OT/4uLi/9/g3/9zdHNpAAAAAAAAAABoaWhl4eLh/+Pk4//m5ub/5ubm/+fn + 5//n6Of/6Ojo/+np6f/p6un/6urq/8bGxv8yMjL/AAAA/wAAAP8AAAD/AAAA/xMTE/+ZmZn/7Ozs/+rq + 6v/p6en/6Ojo/+jo6P/n5+f/5ubm/+bm5v/k5OT/4eHh/3R0dGkAAAAAAAAAAGhpaGXj4+P/5eXl/+fn + 5//n6Of/6Ojo/+np6f/q6ur/6urq/+vr6//Dw8P/DAwM/wAAAP8AAAD/Gxsb/ygoKP8BAQH/AAAA/wAA + AP+FhYX/7O3s/+rr6v/q6ur/6enp/+jo6P/o6Oj/5+fn/+Xl5f/i4+L/dHR0aQAAAAAAAAAAYWFhZeTl + 5P/m5+b/6Ono/+np6f/p6un/6uvq/+vr6//s7Oz/7e7t/ycnJ/8AAAD/Ghoa/7S0tP/m5ub/5OTk/9HR + 0f9GRkb/AAAA/wICAv/IyMj/7Ozs/+vs6//q6+r/6urq/+nq6f/o6ej/5+fn/+Tk5P9sbGxpAAAAAAAA + AAA9Pj1lj4+P/5OTk/+VlZX/lpaW/5eXl/+YmJj/mZmZ/5qamv92dnb/AAAA/wEBAf+/wL//3Nzc/+Tk + 5P/l5eX/3d3d/+Li4v8mJib/AAAA/0ZGRv+ampr/mZmZ/5iYmP+Xl5f/lpaW/5WVlf+Tk5P/j4+P/0ZG + RmoAAAAAAAAAAAwMDGUAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/Nzc3/+fn + 5//q6ur/7O3s/+zt7P/v7+//39/f/4WFhf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/EBAQagAAAAAAAAAAAwMHZQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP9NTU3/5ufm//Lz8v/z9PP/8/Tz//X19f/l5eX/nZ2d/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8GBgpqAAAAAAAAAAAAABZlAQEk/wEBJ/8CAin/AgIq/wICKv8CAiv/AgIs/wIC + LP8BAR3/AAAA/xwcHP/w8PD/6+zr//r6+v/6+vr/9PT0/+vr6/9lZWX/AAAA/wAAD/8CAi3/AgIs/wIC + K/8CAir/AgIq/wICKf8BASf/AQEl/wUFG2oAAAAAAAAAAAICQGUGBpL/Bwec/wgIo/8JCaf/CQmq/wkJ + rf8JCa//Cgqz/wkJqP8AAAL/AAAA/4CAgP/y8/L/6+zr/+3t7f/u7u7/xMTE/wcHB/8AAAD/BgZz/woK + s/8JCbD/CQmt/wkJqv8JCaj/CAik/wcHnf8HB5P/Dg5MagAAAAAAAAAAAwNHZQgIk/8JCZ3/Cgqj/wsL + p/8LC6n/Cwus/wsLr/8MDLL/DAy2/wYGW/8AAAD/AAAA/1JSUv+sraz/tra2/3h4eP8KCgr/AAAA/wIC + Iv8MDLb/DAyy/wsLsP8LC63/Cwuq/wsLp/8KCqT/CQmd/wgIk/8PD1VrAAAAAAAAAAAEBE1lCQmY/woK + ov8LC6j/DAyr/wwMrf8MDLD/DAyy/w0Ntf8NDbf/Dg67/wUFSv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8CAiH/DQ2q/w0NuP8NDbX/DQ2z/wwMsP8MDK7/DAyr/wsLqP8KCqL/CQmZ/xAQWmsAAAAAAAAAAAQE + UGUKCp7/Cwum/wwMrP8NDa//DQ2w/w0Ns/8ODrX/Dg63/w4Ouf8ODrv/Dw/A/wwMiv8FBTj/AAAG/wAA + AP8DAyb/CQls/w8Pu/8PD7z/Dg66/w4OuP8ODrX/DQ2z/w0Nsf8NDa//DAys/wsLp/8KCp7/ERFeawAA + AAAAAAAABQVTZQsLpP8MDKv/DQ2w/w4Os/8ODrT/Dg62/w8PuP8PD7r/Dw+8/w8Pvf8QEL//EBDA/xER + w/8SEsn/ERHJ/xERxf8QEMD/EBC//w8Pvv8PD7z/Dw+6/w8PuP8ODrf/Dg61/w4Os/8NDbH/DAyr/wsL + pP8SEmFrAAAAAAAAAAAGBlZlDAyq/w4OsP8PD7X/Dw+3/w8PuP8QELr/EBC7/xAQvf8REb7/ERHA/xER + wf8REcL/EhLC/xISw/8SEsP/EhLC/xERwv8REcH/ERHA/xERvv8QEL3/EBC7/xAQuv8QELj/Dw+3/w8P + tf8ODrD/DAyq/xMTZWsAAAAAAAAAAAcHWmUODrD/EBC2/xERuv8REbz/ERG9/xISvv8SEr//EhLA/xMT + wf8TE8P/ExPD/xMTxP8TE8X/FBTF/xQUxf8UFMX/ExPE/xMTxP8TE8P/ExPC/xISwf8SEr//EhK+/xER + vf8REbz/ERG6/xAQtv8ODrD/FBRpawAAAAAAAAAACAhcYxAQtf8SErv/ExO+/xQUwP8UFMD/FBTB/xUV + wv8VFcP/FRXE/xUVxf8WFsb/FhbG/xYWx/8WFsf/FhbH/xYWx/8WFsf/FhbG/xYWxf8VFcT/FRXD/xUV + wv8UFMH/FBTB/xQUwP8TE77/EhK7/xAQtf8TE2hoAAAAAAAAAAAQEFNUFRXC/xMTv/8UFMP/FRXE/xUV + xP8VFcX/FRXG/xYWx/8WFsf/FhbI/xYWyf8XF8n/FxfK/xcXyv8XF8r/FxfK/xcXyf8XF8n/FhbI/xYW + yP8WFsf/FhbG/xUVxf8VFcT/FRXE/xQUw/8TE7//FRXB/xAQV1UAAAAAAAAAAA0NPxkjI8byFBTD/xUV + x/8WFsj/FxfJ/xcXyf8XF8r/FxfK/xcXy/8YGMz/GBjM/xgYzP8YGM3/GBjN/xgYzf8YGM3/GBjM/xgY + zP8YGMz/GBjL/xcXy/8XF8r/FxfJ/xcXyf8WFsj/FRXH/xQUw/8jI8f0Dg5GGwAAAAAAAAAAFhZxAiUl + eIUZGcr/FBTI/xUVyv8WFsv/FhbM/xYWzP8WFsz/FhbN/xcXzf8XF83/FxfN/xcXzv8XF87/FxfO/xcX + zv8XF87/FxfN/xcXzf8WFs3/FhbM/xYWzP8WFsz/FhbL/xUVyv8UFMj/GBjJ/yYmeogWFnYCAAAAAAAA + AAAAAAAAGBh1BzMzk50kJNP+FxfK/xgYzP8YGMz/GBjN/xgYzf8YGM3/GBjN/xgYzf8ZGc7/GRnO/xkZ + zv8ZGc7/GRnO/xkZzv8YGM3/GBjN/xgYzf8YGM3/GBjN/xgYzP8YGMz/FxfK/yMj0v4zM5WfFBRkBwAA + AAAAAAAAAAAAAAAAAAAAAAAAHBx7Ay0tdkg3N5emMTGpxSwsp8gsLKfILCynyCwsp8gsLKfILCynyCws + p8gsLKfILCynyCwsp8gsLKfILCynyCwsp8gsLKfILCynyCwsp8gsLKfILCynyDExqcU2NpenLi54Shsb + ewMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////8AAAD+AAAAfAAAADwAAAA8AAAAPAAAADwAAAA8AA + AAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AA + AAPAAAADwAAAA8AAAAPAAAAD4AAAB/gAAB////// + + + \ No newline at end of file