commit 08148c54a6b48d574f9499d4139329012eea5ec1 Author: HuangXin Date: Thu Jan 24 08:55:57 2019 +0800 Init projects diff --git a/TmatrixCodeGenerator.sln b/TmatrixCodeGenerator.sln new file mode 100644 index 0000000..f8bf815 --- /dev/null +++ b/TmatrixCodeGenerator.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.28307.271 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TmatrixSDK_OID4", "TmatrixCodeGenerator\TmatrixSDK_OID4.csproj", "{657EF1B5-592E-4D99-B2D6-E2A1BDAD6DEA}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {657EF1B5-592E-4D99-B2D6-E2A1BDAD6DEA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {657EF1B5-592E-4D99-B2D6-E2A1BDAD6DEA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {657EF1B5-592E-4D99-B2D6-E2A1BDAD6DEA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {657EF1B5-592E-4D99-B2D6-E2A1BDAD6DEA}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {5028BF6F-9903-4913-9F09-180553216263} + EndGlobalSection +EndGlobal diff --git a/TmatrixCodeGenerator/GenerateCode_Form.Designer.cs b/TmatrixCodeGenerator/GenerateCode_Form.Designer.cs new file mode 100644 index 0000000..7b3c13e --- /dev/null +++ b/TmatrixCodeGenerator/GenerateCode_Form.Designer.cs @@ -0,0 +1,390 @@ +namespace TmatrixCodeGenerator +{ + partial class GenerateCode_Form + { + /// + /// 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() + { + this.Exit_button = new System.Windows.Forms.Button(); + this.Generate_button = new System.Windows.Forms.Button(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.label7 = new System.Windows.Forms.Label(); + this.label8 = new System.Windows.Forms.Label(); + this.BGWithImage_DPI_comboBox = new System.Windows.Forms.ComboBox(); + this.BGWithImage_Type_comboBox = new System.Windows.Forms.ComboBox(); + this.label5 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.BGWOVImage_DPI_comboBox = new System.Windows.Forms.ComboBox(); + this.BGWOVImage_Type_comboBox = new System.Windows.Forms.ComboBox(); + this.label3 = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); + this.VImage_DPI_comboBox = new System.Windows.Forms.ComboBox(); + this.VImage_Type_comboBox = new System.Windows.Forms.ComboBox(); + this.label2 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.BGWithVImage_DPI_comboBox = new System.Windows.Forms.ComboBox(); + this.BGWithVImage_Type_comboBox = new System.Windows.Forms.ComboBox(); + this.BGWithImage_checkBox = new System.Windows.Forms.CheckBox(); + this.BGWOVImage_checkBox = new System.Windows.Forms.CheckBox(); + this.VImage_checkBox = new System.Windows.Forms.CheckBox(); + this.BGWithVImage_checkBox = new System.Windows.Forms.CheckBox(); + this.groupBox1.SuspendLayout(); + this.SuspendLayout(); + // + // Exit_button + // + this.Exit_button.Location = new System.Drawing.Point(540, 203); + this.Exit_button.Name = "Exit_button"; + this.Exit_button.Size = new System.Drawing.Size(86, 33); + this.Exit_button.TabIndex = 6; + this.Exit_button.Text = "Exit"; + this.Exit_button.UseVisualStyleBackColor = true; + this.Exit_button.Click += new System.EventHandler(this.Exit_button_Click); + // + // Generate_button + // + this.Generate_button.Location = new System.Drawing.Point(448, 203); + this.Generate_button.Name = "Generate_button"; + this.Generate_button.Size = new System.Drawing.Size(86, 33); + this.Generate_button.TabIndex = 5; + this.Generate_button.Text = "Generate"; + this.Generate_button.UseVisualStyleBackColor = true; + this.Generate_button.Click += new System.EventHandler(this.Generate_button_Click); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.label7); + this.groupBox1.Controls.Add(this.label8); + this.groupBox1.Controls.Add(this.BGWithImage_DPI_comboBox); + this.groupBox1.Controls.Add(this.BGWithImage_Type_comboBox); + this.groupBox1.Controls.Add(this.label5); + this.groupBox1.Controls.Add(this.label6); + this.groupBox1.Controls.Add(this.BGWOVImage_DPI_comboBox); + this.groupBox1.Controls.Add(this.BGWOVImage_Type_comboBox); + this.groupBox1.Controls.Add(this.label3); + this.groupBox1.Controls.Add(this.label4); + this.groupBox1.Controls.Add(this.VImage_DPI_comboBox); + this.groupBox1.Controls.Add(this.VImage_Type_comboBox); + this.groupBox1.Controls.Add(this.label2); + this.groupBox1.Controls.Add(this.label1); + this.groupBox1.Controls.Add(this.BGWithVImage_DPI_comboBox); + this.groupBox1.Controls.Add(this.BGWithVImage_Type_comboBox); + this.groupBox1.Controls.Add(this.BGWithImage_checkBox); + this.groupBox1.Controls.Add(this.BGWOVImage_checkBox); + this.groupBox1.Controls.Add(this.VImage_checkBox); + this.groupBox1.Controls.Add(this.BGWithVImage_checkBox); + this.groupBox1.Location = new System.Drawing.Point(25, 12); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(601, 180); + this.groupBox1.TabIndex = 4; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "Code File Type"; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(469, 140); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(37, 20); + this.label7.TabIndex = 19; + this.label7.Text = "DPI:"; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(339, 140); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(49, 20); + this.label8.TabIndex = 18; + this.label8.Text = "Type:"; + // + // BGWithImage_DPI_comboBox + // + this.BGWithImage_DPI_comboBox.Enabled = false; + this.BGWithImage_DPI_comboBox.FormattingEnabled = true; + this.BGWithImage_DPI_comboBox.Items.AddRange(new object[] { + "600", + "1200"}); + this.BGWithImage_DPI_comboBox.Location = new System.Drawing.Point(511, 137); + this.BGWithImage_DPI_comboBox.Name = "BGWithImage_DPI_comboBox"; + this.BGWithImage_DPI_comboBox.Size = new System.Drawing.Size(68, 28); + this.BGWithImage_DPI_comboBox.TabIndex = 17; + this.BGWithImage_DPI_comboBox.Text = "1200"; + this.BGWithImage_DPI_comboBox.SelectedIndexChanged += new System.EventHandler(this.BGWithImage_DPI_comboBox_SelectedIndexChanged); + // + // BGWithImage_Type_comboBox + // + this.BGWithImage_Type_comboBox.Enabled = false; + this.BGWithImage_Type_comboBox.FormattingEnabled = true; + this.BGWithImage_Type_comboBox.Items.AddRange(new object[] { + "2x2", + "3x3", + "4x4"}); + this.BGWithImage_Type_comboBox.Location = new System.Drawing.Point(394, 137); + this.BGWithImage_Type_comboBox.Name = "BGWithImage_Type_comboBox"; + this.BGWithImage_Type_comboBox.Size = new System.Drawing.Size(55, 28); + this.BGWithImage_Type_comboBox.TabIndex = 16; + this.BGWithImage_Type_comboBox.Text = "3x3"; + this.BGWithImage_Type_comboBox.SelectedIndexChanged += new System.EventHandler(this.BGWithImage_Type_comboBox_SelectedIndexChanged); + this.BGWithImage_Type_comboBox.TextChanged += new System.EventHandler(this.BGWithImage_Type_comboBox_TextChanged); + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(469, 105); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(37, 20); + this.label5.TabIndex = 15; + this.label5.Text = "DPI:"; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(339, 105); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(49, 20); + this.label6.TabIndex = 14; + this.label6.Text = "Type:"; + // + // BGWOVImage_DPI_comboBox + // + this.BGWOVImage_DPI_comboBox.Enabled = false; + this.BGWOVImage_DPI_comboBox.FormattingEnabled = true; + this.BGWOVImage_DPI_comboBox.Items.AddRange(new object[] { + "600", + "1200"}); + this.BGWOVImage_DPI_comboBox.Location = new System.Drawing.Point(511, 102); + this.BGWOVImage_DPI_comboBox.Name = "BGWOVImage_DPI_comboBox"; + this.BGWOVImage_DPI_comboBox.Size = new System.Drawing.Size(68, 28); + this.BGWOVImage_DPI_comboBox.TabIndex = 13; + this.BGWOVImage_DPI_comboBox.Text = "1200"; + this.BGWOVImage_DPI_comboBox.SelectedIndexChanged += new System.EventHandler(this.BGWOVImage_DPI_comboBox_SelectedIndexChanged); + // + // BGWOVImage_Type_comboBox + // + this.BGWOVImage_Type_comboBox.Enabled = false; + this.BGWOVImage_Type_comboBox.FormattingEnabled = true; + this.BGWOVImage_Type_comboBox.Items.AddRange(new object[] { + "2x2", + "3x3", + "4x4"}); + this.BGWOVImage_Type_comboBox.Location = new System.Drawing.Point(394, 102); + this.BGWOVImage_Type_comboBox.Name = "BGWOVImage_Type_comboBox"; + this.BGWOVImage_Type_comboBox.Size = new System.Drawing.Size(55, 28); + this.BGWOVImage_Type_comboBox.TabIndex = 12; + this.BGWOVImage_Type_comboBox.Text = "3x3"; + this.BGWOVImage_Type_comboBox.SelectedIndexChanged += new System.EventHandler(this.BGWOVImage_Type_comboBox_SelectedIndexChanged); + this.BGWOVImage_Type_comboBox.TextChanged += new System.EventHandler(this.BGWOVImage_Type_comboBox_TextChanged); + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(469, 70); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(37, 20); + this.label3.TabIndex = 11; + this.label3.Text = "DPI:"; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(339, 70); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(49, 20); + this.label4.TabIndex = 10; + this.label4.Text = "Type:"; + // + // VImage_DPI_comboBox + // + this.VImage_DPI_comboBox.Enabled = false; + this.VImage_DPI_comboBox.FormattingEnabled = true; + this.VImage_DPI_comboBox.Items.AddRange(new object[] { + "600", + "1200"}); + this.VImage_DPI_comboBox.Location = new System.Drawing.Point(511, 67); + this.VImage_DPI_comboBox.Name = "VImage_DPI_comboBox"; + this.VImage_DPI_comboBox.Size = new System.Drawing.Size(68, 28); + this.VImage_DPI_comboBox.TabIndex = 9; + this.VImage_DPI_comboBox.Text = "1200"; + this.VImage_DPI_comboBox.SelectedIndexChanged += new System.EventHandler(this.VImage_DPI_comboBox_SelectedIndexChanged); + // + // VImage_Type_comboBox + // + this.VImage_Type_comboBox.Enabled = false; + this.VImage_Type_comboBox.FormattingEnabled = true; + this.VImage_Type_comboBox.Items.AddRange(new object[] { + "2x2", + "3x3", + "4x4"}); + this.VImage_Type_comboBox.Location = new System.Drawing.Point(394, 67); + this.VImage_Type_comboBox.Name = "VImage_Type_comboBox"; + this.VImage_Type_comboBox.Size = new System.Drawing.Size(55, 28); + this.VImage_Type_comboBox.TabIndex = 8; + this.VImage_Type_comboBox.Text = "3x3"; + this.VImage_Type_comboBox.SelectedIndexChanged += new System.EventHandler(this.VImage_Type_comboBox_SelectedIndexChanged); + this.VImage_Type_comboBox.TextChanged += new System.EventHandler(this.VImage_Type_comboBox_TextChanged); + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(469, 35); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(37, 20); + this.label2.TabIndex = 7; + this.label2.Text = "DPI:"; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(339, 35); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(49, 20); + this.label1.TabIndex = 6; + this.label1.Text = "Type:"; + // + // BGWithVImage_DPI_comboBox + // + this.BGWithVImage_DPI_comboBox.FormattingEnabled = true; + this.BGWithVImage_DPI_comboBox.Items.AddRange(new object[] { + "600", + "1200"}); + this.BGWithVImage_DPI_comboBox.Location = new System.Drawing.Point(511, 32); + this.BGWithVImage_DPI_comboBox.Name = "BGWithVImage_DPI_comboBox"; + this.BGWithVImage_DPI_comboBox.Size = new System.Drawing.Size(68, 28); + this.BGWithVImage_DPI_comboBox.TabIndex = 5; + this.BGWithVImage_DPI_comboBox.Text = "1200"; + this.BGWithVImage_DPI_comboBox.SelectedIndexChanged += new System.EventHandler(this.BGWithVImage_DPI_comboBox_SelectedIndexChanged); + // + // BGWithVImage_Type_comboBox + // + this.BGWithVImage_Type_comboBox.FormattingEnabled = true; + this.BGWithVImage_Type_comboBox.Items.AddRange(new object[] { + "2x2", + "3x3", + "4x4"}); + this.BGWithVImage_Type_comboBox.Location = new System.Drawing.Point(394, 32); + this.BGWithVImage_Type_comboBox.Name = "BGWithVImage_Type_comboBox"; + this.BGWithVImage_Type_comboBox.Size = new System.Drawing.Size(55, 28); + this.BGWithVImage_Type_comboBox.TabIndex = 4; + this.BGWithVImage_Type_comboBox.Text = "3x3"; + this.BGWithVImage_Type_comboBox.SelectedIndexChanged += new System.EventHandler(this.BGWithVImage_Type_comboBox_SelectedIndexChanged); + this.BGWithVImage_Type_comboBox.TextChanged += new System.EventHandler(this.BGWithVImage_Type_comboBox_TextChanged); + // + // BGWithImage_checkBox + // + this.BGWithImage_checkBox.AutoSize = true; + this.BGWithImage_checkBox.Location = new System.Drawing.Point(20, 140); + this.BGWithImage_checkBox.Name = "BGWithImage_checkBox"; + this.BGWithImage_checkBox.Size = new System.Drawing.Size(202, 24); + this.BGWithImage_checkBox.TabIndex = 3; + this.BGWithImage_checkBox.Text = "Background with Image"; + this.BGWithImage_checkBox.UseVisualStyleBackColor = true; + this.BGWithImage_checkBox.CheckedChanged += new System.EventHandler(this.BGWithImage_checkBox_CheckedChanged); + // + // BGWOVImage_checkBox + // + this.BGWOVImage_checkBox.AutoSize = true; + this.BGWOVImage_checkBox.Location = new System.Drawing.Point(20, 105); + this.BGWOVImage_checkBox.Name = "BGWOVImage_checkBox"; + this.BGWOVImage_checkBox.Size = new System.Drawing.Size(280, 24); + this.BGWOVImage_checkBox.TabIndex = 2; + this.BGWOVImage_checkBox.Text = "Background without Vector Image"; + this.BGWOVImage_checkBox.UseVisualStyleBackColor = true; + this.BGWOVImage_checkBox.CheckedChanged += new System.EventHandler(this.BGWOVImage_checkBox_CheckedChanged); + // + // VImage_checkBox + // + this.VImage_checkBox.AutoSize = true; + this.VImage_checkBox.Location = new System.Drawing.Point(20, 70); + this.VImage_checkBox.Name = "VImage_checkBox"; + this.VImage_checkBox.Size = new System.Drawing.Size(129, 24); + this.VImage_checkBox.TabIndex = 1; + this.VImage_checkBox.Text = "Vector Image"; + this.VImage_checkBox.UseVisualStyleBackColor = true; + this.VImage_checkBox.CheckedChanged += new System.EventHandler(this.VImage_checkBox_CheckedChanged); + // + // BGWithVImage_checkBox + // + this.BGWithVImage_checkBox.AutoSize = true; + this.BGWithVImage_checkBox.Checked = true; + this.BGWithVImage_checkBox.CheckState = System.Windows.Forms.CheckState.Checked; + this.BGWithVImage_checkBox.Location = new System.Drawing.Point(20, 35); + this.BGWithVImage_checkBox.Name = "BGWithVImage_checkBox"; + this.BGWithVImage_checkBox.Size = new System.Drawing.Size(255, 24); + this.BGWithVImage_checkBox.TabIndex = 0; + this.BGWithVImage_checkBox.Text = "Background with Vector Image"; + this.BGWithVImage_checkBox.UseVisualStyleBackColor = true; + this.BGWithVImage_checkBox.CheckedChanged += new System.EventHandler(this.BGWithVImage_checkBox_CheckedChanged); + // + // GenerateCode_Form + // + this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(650, 248); + this.Controls.Add(this.Exit_button); + this.Controls.Add(this.Generate_button); + this.Controls.Add(this.groupBox1); + this.Font = new System.Drawing.Font("Microsoft YaHei UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.ForeColor = System.Drawing.Color.Navy; + this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "GenerateCode_Form"; + this.Text = "Generate Tmatrix Code"; + this.Load += new System.EventHandler(this.GenerateCode_Form_Load); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Button Exit_button; + private System.Windows.Forms.Button Generate_button; + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.CheckBox BGWOVImage_checkBox; + private System.Windows.Forms.CheckBox VImage_checkBox; + private System.Windows.Forms.CheckBox BGWithVImage_checkBox; + private System.Windows.Forms.CheckBox BGWithImage_checkBox; + private System.Windows.Forms.ComboBox BGWithVImage_Type_comboBox; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.ComboBox BGWithImage_DPI_comboBox; + private System.Windows.Forms.ComboBox BGWithImage_Type_comboBox; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.ComboBox BGWOVImage_DPI_comboBox; + private System.Windows.Forms.ComboBox BGWOVImage_Type_comboBox; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.ComboBox VImage_DPI_comboBox; + private System.Windows.Forms.ComboBox VImage_Type_comboBox; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.ComboBox BGWithVImage_DPI_comboBox; + } +} \ No newline at end of file diff --git a/TmatrixCodeGenerator/GenerateCode_Form.cs b/TmatrixCodeGenerator/GenerateCode_Form.cs new file mode 100644 index 0000000..a6f5098 --- /dev/null +++ b/TmatrixCodeGenerator/GenerateCode_Form.cs @@ -0,0 +1,332 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace TmatrixCodeGenerator +{ + public partial class GenerateCode_Form : Form + { + string[] gsPreDataType = new string[4]; + + public GenerateCode_Form() + { + InitializeComponent(); + } + + private void Generate_button_Click(object sender, EventArgs e) + { + if (BGWithVImage_checkBox.Checked) GlobalClass.gbGenerateBGWithVImage = true; + else GlobalClass.gbGenerateBGWithVImage = false; + if (VImage_checkBox.Checked) GlobalClass.gbGenerateVImage = true; + else GlobalClass.gbGenerateVImage = false; + if (BGWOVImage_checkBox.Checked) GlobalClass.gbGenerateBGWithoutVImage = true; + else GlobalClass.gbGenerateBGWithoutVImage = false; + if (BGWithImage_checkBox.Checked) GlobalClass.gbGenerateBGWithImage = true; + else GlobalClass.gbGenerateBGWithImage = false; + GlobalClass.gbGenPageSet = true; + Close(); + } + + private void GenerateCode_Form_Load(object sender, EventArgs e) + { + GlobalClass.gbGenPageSet = false; + int i; + for (i = 0; i < 4; i++) + { + GlobalClass.gPointType[i] = 1; + GlobalClass.gPointDPI[i] = 1; + } + } + + private void Exit_button_Click(object sender, EventArgs e) + { + GlobalClass.gbGenPageSet = false; + Close(); + } + + private void BGWithVImage_checkBox_CheckedChanged(object sender, EventArgs e) + { + if (BGWithVImage_checkBox.Checked == true) + { + BGWithVImage_Type_comboBox.Enabled = true; + BGWithVImage_DPI_comboBox.Enabled = true; + } + else + { + BGWithVImage_Type_comboBox.Enabled = false; + BGWithVImage_DPI_comboBox.Enabled = false; + } + } + + private void VImage_checkBox_CheckedChanged(object sender, EventArgs e) + { + if (VImage_checkBox.Checked == true) + { + VImage_Type_comboBox.Enabled = true; + VImage_DPI_comboBox.Enabled = true; + } + else + { + VImage_Type_comboBox.Enabled = false; + VImage_DPI_comboBox.Enabled = false; + } + } + + private void BGWOVImage_checkBox_CheckedChanged(object sender, EventArgs e) + { + if (BGWOVImage_checkBox.Checked == true) + { + BGWOVImage_Type_comboBox.Enabled = true; + BGWOVImage_DPI_comboBox.Enabled = true; + } + else + { + BGWOVImage_Type_comboBox.Enabled = false; + BGWOVImage_DPI_comboBox.Enabled = false; + } + } + + private void BGWithImage_checkBox_CheckedChanged(object sender, EventArgs e) + { + if (BGWithImage_checkBox.Checked == true) + { + BGWithImage_Type_comboBox.Enabled = true; + BGWithImage_DPI_comboBox.Enabled = true; + } + else + { + BGWithImage_Type_comboBox.Enabled = false; + BGWithImage_DPI_comboBox.Enabled = false; + } + } + + private void BGWithVImage_Type_comboBox_SelectedIndexChanged(object sender, EventArgs e) + { + switch (BGWithVImage_Type_comboBox.Text) + { + case "2x2": + GlobalClass.gPointType[0] = 0; + break; + case "3x3": + GlobalClass.gPointType[0] = 1; + break; + case "4x4": + GlobalClass.gPointType[0] = 2; + break; + default: + break; + } + } + + private void VImage_Type_comboBox_SelectedIndexChanged(object sender, EventArgs e) + { + switch (VImage_Type_comboBox.Text) + { + case "2x2": + GlobalClass.gPointType[1] = 0; + break; + case "3x3": + GlobalClass.gPointType[1] = 1; + break; + case "4x4": + GlobalClass.gPointType[1] = 2; + break; + default: + break; + } + } + + private void BGWOVImage_Type_comboBox_SelectedIndexChanged(object sender, EventArgs e) + { + switch (BGWOVImage_Type_comboBox.Text) + { + case "2x2": + GlobalClass.gPointType[2] = 0; + break; + case "3x3": + GlobalClass.gPointType[2] = 1; + break; + case "4x4": + GlobalClass.gPointType[2] = 2; + break; + default: + break; + } + } + + private void BGWithImage_Type_comboBox_SelectedIndexChanged(object sender, EventArgs e) + { + switch (BGWithImage_Type_comboBox.Text) + { + case "2x2": + GlobalClass.gPointType[3] = 0; + break; + case "3x3": + GlobalClass.gPointType[3] = 1; + break; + case "4x4": + GlobalClass.gPointType[3] = 2; + break; + default: + break; + } + } + + private void BGWithVImage_DPI_comboBox_SelectedIndexChanged(object sender, EventArgs e) + { + switch (BGWithVImage_DPI_comboBox.Text) + { + case "600": + GlobalClass.gPointDPI[0] = 0; + gsPreDataType[0] = BGWithVImage_Type_comboBox.Text; + BGWithVImage_Type_comboBox.Text = "2x2"; + BGWithVImage_Type_comboBox.Enabled = false; + break; + case "1200": + GlobalClass.gPointDPI[0] = 1; + BGWithVImage_Type_comboBox.Enabled = true; + BGWithVImage_Type_comboBox.Text = gsPreDataType[0]; + break; + default: + break; + } + } + + private void VImage_DPI_comboBox_SelectedIndexChanged(object sender, EventArgs e) + { + switch (VImage_DPI_comboBox.Text) + { + case "600": + GlobalClass.gPointDPI[1] = 0; + gsPreDataType[1] = VImage_Type_comboBox.Text; + VImage_Type_comboBox.Text = "2x2"; + VImage_Type_comboBox.Enabled = false; + break; + case "1200": + GlobalClass.gPointDPI[1] = 1; + VImage_Type_comboBox.Enabled = true; + VImage_Type_comboBox.Text = gsPreDataType[1]; + break; + default: + break; + } + } + + private void BGWOVImage_DPI_comboBox_SelectedIndexChanged(object sender, EventArgs e) + { + switch (BGWOVImage_DPI_comboBox.Text) + { + case "600": + GlobalClass.gPointDPI[2] = 0; + gsPreDataType[2] = BGWOVImage_Type_comboBox.Text; + BGWOVImage_Type_comboBox.Text = "2x2"; + BGWOVImage_Type_comboBox.Enabled = false; + break; + case "1200": + GlobalClass.gPointDPI[2] = 1; + BGWOVImage_Type_comboBox.Enabled = true; + BGWOVImage_Type_comboBox.Text = gsPreDataType[2]; + break; + default: + break; + } + } + + private void BGWithImage_DPI_comboBox_SelectedIndexChanged(object sender, EventArgs e) + { + switch (BGWithImage_DPI_comboBox.Text) + { + case "600": + GlobalClass.gPointDPI[3] = 0; + gsPreDataType[3] = BGWithImage_Type_comboBox.Text; + BGWithImage_Type_comboBox.Text = "2x2"; + BGWithImage_Type_comboBox.Enabled = false; + break; + case "1200": + GlobalClass.gPointDPI[3] = 1; + BGWithImage_Type_comboBox.Enabled = true; + BGWithImage_Type_comboBox.Text = gsPreDataType[3]; + break; + default: + break; + } + } + + private void BGWithVImage_Type_comboBox_TextChanged(object sender, EventArgs e) + { + switch (BGWithVImage_Type_comboBox.Text) + { + case "2x2": + GlobalClass.gPointType[0] = 0; + break; + case "3x3": + GlobalClass.gPointType[0] = 1; + break; + case "4x4": + GlobalClass.gPointType[0] = 2; + break; + default: + break; + } + } + + private void VImage_Type_comboBox_TextChanged(object sender, EventArgs e) + { + switch (VImage_Type_comboBox.Text) + { + case "2x2": + GlobalClass.gPointType[1] = 0; + break; + case "3x3": + GlobalClass.gPointType[1] = 1; + break; + case "4x4": + GlobalClass.gPointType[1] = 2; + break; + default: + break; + } + } + + private void BGWOVImage_Type_comboBox_TextChanged(object sender, EventArgs e) + { + switch (BGWOVImage_Type_comboBox.Text) + { + case "2x2": + GlobalClass.gPointType[2] = 0; + break; + case "3x3": + GlobalClass.gPointType[2] = 1; + break; + case "4x4": + GlobalClass.gPointType[2] = 2; + break; + default: + break; + } + } + + private void BGWithImage_Type_comboBox_TextChanged(object sender, EventArgs e) + { + switch (BGWithImage_Type_comboBox.Text) + { + case "2x2": + GlobalClass.gPointType[3] = 0; + break; + case "3x3": + GlobalClass.gPointType[3] = 1; + break; + case "4x4": + GlobalClass.gPointType[3] = 2; + break; + default: + break; + } + } + } +} diff --git a/TmatrixCodeGenerator/GenerateCode_Form.resx b/TmatrixCodeGenerator/GenerateCode_Form.resx new file mode 100644 index 0000000..29dcb1b --- /dev/null +++ b/TmatrixCodeGenerator/GenerateCode_Form.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/TmatrixCodeGenerator/GlobalClass.cs b/TmatrixCodeGenerator/GlobalClass.cs new file mode 100644 index 0000000..d4fa664 --- /dev/null +++ b/TmatrixCodeGenerator/GlobalClass.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace TmatrixCodeGenerator +{ + class GlobalClass + { + public static bool gbGenerateBGWithVImage = false; + public static bool gbGenerateVImage = false; + public static bool gbGenerateBGWithoutVImage = false; + public static bool gbGenerateBGWithImage = false; + public static bool gbGenPageSet = false; + public static int[] gPointType = new int[4]; + public static int[] gPointDPI = new int[4]; + } +} diff --git a/TmatrixCodeGenerator/Printer1.png b/TmatrixCodeGenerator/Printer1.png new file mode 100644 index 0000000..b805a1d Binary files /dev/null and b/TmatrixCodeGenerator/Printer1.png differ diff --git a/TmatrixCodeGenerator/Printer2.png b/TmatrixCodeGenerator/Printer2.png new file mode 100644 index 0000000..f4981be Binary files /dev/null and b/TmatrixCodeGenerator/Printer2.png differ diff --git a/TmatrixCodeGenerator/Printer3.png b/TmatrixCodeGenerator/Printer3.png new file mode 100644 index 0000000..267ff26 Binary files /dev/null and b/TmatrixCodeGenerator/Printer3.png differ diff --git a/TmatrixCodeGenerator/Program.cs b/TmatrixCodeGenerator/Program.cs new file mode 100644 index 0000000..3768f3d --- /dev/null +++ b/TmatrixCodeGenerator/Program.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Windows.Forms; + +namespace TmatrixCodeGenerator +{ + static class Program + { + /// + /// 應用程式的主要進入點。 + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Tmatrix_Form()); + } + } +} diff --git a/TmatrixCodeGenerator/Properties/AssemblyInfo.cs b/TmatrixCodeGenerator/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..66a3984 --- /dev/null +++ b/TmatrixCodeGenerator/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 組件的一般資訊是由下列的屬性集控制。 +// 變更這些屬性的值即可修改組件的相關 +// 資訊。 +[assembly: AssemblyTitle("TmatrixCodeGenerator")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("TmatrixCodeGenerator")] +[assembly: AssemblyCopyright("Copyright © 2017")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 將 ComVisible 設定為 false 會使得這個組件中的類型 +// 對 COM 元件而言為不可見。如果您需要從 COM 存取這個組件中 +// 的類型,請在該類型上將 ComVisible 屬性設定為 true。 +[assembly: ComVisible(false)] + +// 下列 GUID 為專案公開 (Expose) 至 COM 時所要使用的 typelib ID +[assembly: Guid("c8cbd32e-39a9-4fa7-a4f1-04003a5be8c2")] + +// 組件的版本資訊是由下列四項值構成: +// +// 主要版本 +// 次要版本 +// 組建編號 +// 修訂編號 +// +// 您可以指定所有的值,也可以依照以下的方式,使用 '*' 將組建和修訂編號 +// 指定為預設值: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/TmatrixCodeGenerator/Properties/Resources.Designer.cs b/TmatrixCodeGenerator/Properties/Resources.Designer.cs new file mode 100644 index 0000000..b165a75 --- /dev/null +++ b/TmatrixCodeGenerator/Properties/Resources.Designer.cs @@ -0,0 +1,93 @@ +//------------------------------------------------------------------------------ +// +// 這段程式碼是由工具產生的。 +// 執行階段版本:4.0.30319.42000 +// +// 對這個檔案所做的變更可能會造成錯誤的行為,而且如果重新產生程式碼, +// 變更將會遺失。 +// +//------------------------------------------------------------------------------ + +namespace TmatrixCodeGenerator.Properties { + using System; + + + /// + /// 用於查詢當地語系化字串等的強類型資源類別。 + /// + // 這個類別是自動產生的,是利用 StronglyTypedResourceBuilder + // 類別透過 ResGen 或 Visual Studio 這類工具。 + // 若要加入或移除成員,請編輯您的 .ResX 檔,然後重新執行 ResGen + // (利用 /str 選項),或重建您的 VS 專案。 + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// 傳回這個類別使用的快取的 ResourceManager 執行個體。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("TmatrixCodeGenerator.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// 覆寫目前執行緒的 CurrentUICulture 屬性,對象是所有 + /// 使用這個強類型資源類別的資源查閱。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// 查詢類型 System.Drawing.Bitmap 的當地語系化資源。 + /// + internal static System.Drawing.Bitmap Printer1 { + get { + object obj = ResourceManager.GetObject("Printer1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查詢類型 System.Drawing.Bitmap 的當地語系化資源。 + /// + internal static System.Drawing.Bitmap Printer2 { + get { + object obj = ResourceManager.GetObject("Printer2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 查詢類型 System.Drawing.Bitmap 的當地語系化資源。 + /// + internal static System.Drawing.Bitmap Printer3 { + get { + object obj = ResourceManager.GetObject("Printer3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/TmatrixCodeGenerator/Properties/Resources.resx b/TmatrixCodeGenerator/Properties/Resources.resx new file mode 100644 index 0000000..7bd33ef --- /dev/null +++ b/TmatrixCodeGenerator/Properties/Resources.resx @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + ..\Printer1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Printer2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Printer3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/TmatrixCodeGenerator/Properties/Settings.Designer.cs b/TmatrixCodeGenerator/Properties/Settings.Designer.cs new file mode 100644 index 0000000..2eb9320 --- /dev/null +++ b/TmatrixCodeGenerator/Properties/Settings.Designer.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// 這段程式碼是由工具產生的。 +// 執行階段版本:4.0.30319.42000 +// +// 對這個檔案所做的變更可能會造成錯誤的行為,而且如果重新產生程式碼, +// 變更將會遺失。 +// +//------------------------------------------------------------------------------ + +namespace TmatrixCodeGenerator.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + } +} diff --git a/TmatrixCodeGenerator/Properties/Settings.settings b/TmatrixCodeGenerator/Properties/Settings.settings new file mode 100644 index 0000000..abf36c5 --- /dev/null +++ b/TmatrixCodeGenerator/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/TmatrixCodeGenerator/TmatrixCodeGenerator.ico b/TmatrixCodeGenerator/TmatrixCodeGenerator.ico new file mode 100644 index 0000000..9e1c5b1 Binary files /dev/null and b/TmatrixCodeGenerator/TmatrixCodeGenerator.ico differ diff --git a/TmatrixCodeGenerator/TmatrixLibrary/OIDPublishImageGenerator.cs b/TmatrixCodeGenerator/TmatrixLibrary/OIDPublishImageGenerator.cs new file mode 100644 index 0000000..d861830 --- /dev/null +++ b/TmatrixCodeGenerator/TmatrixLibrary/OIDPublishImageGenerator.cs @@ -0,0 +1,102 @@ +// Generated by .NET Reflector from E:\NetEase\轨迹笔\Tmatrix SDK OID4 V2.1.2\TmatrixCodeGenerator\TmatrixCodeGenerator\bin\Release\TmatrixLibrary_OID4.dll +namespace OIDModule.Generator +{ + using System; + using System.Runtime.InteropServices; + internal enum OIDBeginBuildState + { + eBBState_OK, + eBBState_ImageFileNotExist, + eBBState_FailToOpenImageFile, + eBBState_Unknown + } + internal enum OIDPrintPointType + { + eOID_PrintPointType_2x2, + eOID_PrintPointType_3x3, + eOID_PrintPointType_4x4 + } + internal enum OIDPublishImageDPIType + { + eOID_PublishImageDPI_600, + eOID_PublishImageDPI_1200 + } + internal enum OIDPublishImageType + { + eOID_PIT_Publish_Image, + eOID_PIT_Vertor_Image, + eOID_PIT_BG_Vertor_Image, + eOID_PIT_Publish_BG_Image + } + internal enum OIDPublishObjectType + { + eOID_OT_ElementCode, + eOID_OT_PositionCode + } + + internal class OIDPublishImageGenerator + { + public bool AddObjectInfo(int nPageIndex, ulong uiObjectIndex, uint[] arPointX, uint[] arPointY, int nPointsCount, int nZOrder, int nObjectType) + { + return OID_PIG_AddObjectInfo(nPageIndex, uiObjectIndex, arPointX, arPointY, nPointsCount, nZOrder, nObjectType); + } + + public int BeginBuildPublishImage(char[] szBGImage, bool bExportPDFImage, int nExportPDFImageDPI) + { + return OID_PIG_BeginBuildPublishImage(szBGImage, bExportPDFImage, nExportPDFImageDPI); + } + + public int BeginBuildPublishImageByInfo(double dbCMWidth, double dbCMHeight) + { + return OID_PIG_BeginBuildPublishImageByInfo(dbCMWidth, dbCMHeight); + } + + public bool BuildPublishImage(char[] szOutputFolderPath, bool bPrintIdleCode, bool bSplitBigImage, bool bMergeSplittedImages, int nPublishImageDPIType, int nPrintPointType, int nPublishImageType) + { + return OID_PIG_BuildPublishImage(szOutputFolderPath, bPrintIdleCode, bSplitBigImage, bMergeSplittedImages, nPublishImageDPIType, nPrintPointType, nPublishImageType); + } + + public void EndBuildPublishImage() + { + OID_PIG_EndBuildPublishImage(); + } + + public bool Initialize() + { + return OID_PIG_Initialize(); + } + + [DllImport(@".\OIDPublishImageGenerator\OIDPublishImageGenerator.dll", CallingConvention=CallingConvention.StdCall)] + private static extern bool OID_PIG_AddObjectInfo(int nPageIndex, ulong uiObjectIndex, uint[] arPointX, uint[] arPointY, int nPointsCount, int nZOrder, int nObjectType); + [DllImport(@".\OIDPublishImageGenerator\OIDPublishImageGenerator.dll", CallingConvention=CallingConvention.StdCall, CharSet=CharSet.Unicode)] + private static extern int OID_PIG_BeginBuildPublishImage(char[] szBGImage, bool bExportPDFImage, int nExportPDFImageDPI); + [DllImport(@".\OIDPublishImageGenerator\OIDPublishImageGenerator.dll", CallingConvention=CallingConvention.StdCall, CharSet=CharSet.Unicode)] + private static extern int OID_PIG_BeginBuildPublishImageByInfo(double dbCMWidth, double dbCMHeight); + [DllImport(@".\OIDPublishImageGenerator\OIDPublishImageGenerator.dll", CallingConvention=CallingConvention.StdCall, CharSet=CharSet.Unicode)] + private static extern bool OID_PIG_BuildPublishImage(char[] szOutputFolderPath, bool bPrintIdleCode, bool bSplitBigImage, bool bMergeSplittedImages, int nPublishImageDPIType, int nPrintPointType, int nPublishImageType); + [DllImport(@".\OIDPublishImageGenerator\OIDPublishImageGenerator.dll", CallingConvention=CallingConvention.StdCall)] + private static extern void OID_PIG_EndBuildPublishImage(); + [DllImport(@".\OIDPublishImageGenerator\OIDPublishImageGenerator.dll", CallingConvention=CallingConvention.StdCall)] + private static extern bool OID_PIG_Initialize(); + [DllImport(@".\OIDPublishImageGenerator\OIDPublishImageGenerator.dll", CallingConvention=CallingConvention.StdCall)] + private static extern bool OID_PIG_SetPublishPages(int[] arPageNumbers, int nPageCount); + [DllImport(@".\OIDPublishImageGenerator\OIDPublishImageGenerator.dll", CallingConvention=CallingConvention.StdCall)] + private static extern bool OID_PIG_SetStartPosition(int nPageIndex, int nXStart, int nYStart); + [DllImport(@".\OIDPublishImageGenerator\OIDPublishImageGenerator.dll", CallingConvention=CallingConvention.StdCall)] + private static extern void OID_PIG_Uninitialize(); + public bool SetPublishPages(int[] arPageNumbers, int nPageCount) + { + return OID_PIG_SetPublishPages(arPageNumbers, nPageCount); + } + + public bool SetStartPosition(int nPageIndex, int nXStart, int nYStart) + { + return OID_PIG_SetStartPosition(nPageIndex, nXStart, nYStart); + } + + public void Uninitialize() + { + OID_PIG_Uninitialize(); + } + } +} diff --git a/TmatrixCodeGenerator/TmatrixLibrary/TmatrixClass.cs b/TmatrixCodeGenerator/TmatrixLibrary/TmatrixClass.cs new file mode 100644 index 0000000..a1d0fd5 --- /dev/null +++ b/TmatrixCodeGenerator/TmatrixLibrary/TmatrixClass.cs @@ -0,0 +1,3404 @@ +// Generated by .NET Reflector from E:\NetEase\轨迹笔\Tmatrix SDK OID4 V2.1.2\TmatrixCodeGenerator\TmatrixCodeGenerator\bin\Release\TmatrixLibrary_OID4.dll +namespace TmatrixLibrary +{ + using iTextSharp.text.pdf; + using OIDModule.Generator; + using System; + using System.Drawing; + using System.IO; + using System.Windows.Forms; + + public class TmatrixClass + { + private bool gbKeyValidate; + private string gsSize; + private string gsBID; + private string gsPID1; + private string gsPID2; + private string gsExpiration; + private string gsSID; + private string gsOID; + private int gSID; + private int gOID; + private int gBID; + private int gPID1; + private int gPID2; + private int gTotalPageID; + private int gCurrentPageID; + private int gPageNum; + private string[] gTPDFName = new string[0x100]; + private string[] gTPDFVIName = new string[0x100]; + private string[] gTPDFWOVIName = new string[0x100]; + private string[] gTPDFBGIName = new string[0x100]; + private string gPointType = ""; + private string[] gsPointType = new string[4]; + private string[] gsPointDPI = new string[4]; + private int gCurPageIndex; + private int Default_DPI = 300; + private OIDPublishImageGenerator oidPIGenerator = new OIDPublishImageGenerator(); + + private bool IsKeyValidate() + { + return this.gbKeyValidate; + } + + private bool CheckExpirationValidate(string dstr) + { + string[] strArray = dstr.Substring(1, dstr.Length - 1).Split(new char[] { '/' }); + int num = int.Parse(strArray[0]); + int num2 = int.Parse(strArray[1]); + int num3 = int.Parse(strArray[2]); + DateTime today = DateTime.Today; + int year = today.Year; + int month = today.Month; + int day = today.Day; + return ((year <= num) ? ((year != num) || ((month <= num2) ? ((month != num2) || (day <= num3)) : false)) : false); + } + + private void CheckOidBuildState(OIDBeginBuildState eBeginBuildState) + { + switch (eBeginBuildState) + { + case OIDBeginBuildState.eBBState_ImageFileNotExist: + MessageBox.Show("eBBState_ImageFileNotExist"); + return; + + case OIDBeginBuildState.eBBState_FailToOpenImageFile: + MessageBox.Show("eBBState_FailToOpenImageFile"); + return; + + case OIDBeginBuildState.eBBState_Unknown: + MessageBox.Show("eBBState_Unknown"); + return; + } + } + + public string DecodeLicense_TmatrixKey(string KeyStr) + { + char[] chArray = new char[80]; + char[] chArray2 = new char[80]; + string str = ""; + long num5 = 1L; + chArray = KeyStr.ToCharArray(); + int length = KeyStr.Length; + long num4 = 0L; + for (long i = 0L; i < length; i += 1L) + { + long num3 = Convert.ToByte(chArray[(int) ((IntPtr) i)]); + if (i > 1L) + { + num4 = Convert.ToByte(chArray[(int) ((IntPtr) ((length + 1) - i))]); + } + num3 = ((((((num3 * 2L) + (num5 * 2L)) + num4) * (i + num5)) + (num5 * i)) - 12) % ((long) 0x24); + if ((num3 < 0L) || (num3 > 9)) + { + chArray2[(int) ((IntPtr) i)] = Convert.ToChar((long) (num3 + 0x37)); + } + else + { + chArray2[(int) ((IntPtr) i)] = Convert.ToChar((long) (num3 + 0x30)); + } + num5 = (num3 * num3) * i; + str = str + chArray2[(int) ((IntPtr) i)].ToString(); + } + return str; + } + + public string GenerateTmatrixBigAreaCode_OID4(string KeyStr, string sPath, int StartPageID, int[] PointType, bool[] bPublishImageType, int[] PointDPI, double dWidth, double dHeight) + { + string str = ""; + str = this.TmatrixKeyCheck_OID4(KeyStr); + if (str.Substring(0, 1) == "1") + { + return str; + } + if ((StartPageID < int.Parse(this.gsPID1)) || (StartPageID > int.Parse(this.gsPID2))) + { + return ("1Start page ID must be located between " + this.gsPID1 + " ~ " + this.gsPID2); + } + bool flag1 = bPublishImageType[0]; + bool bGenerateVImage = bPublishImageType[1]; + bool flag6 = bPublishImageType[2]; + bool bGenerateImage = bPublishImageType[3]; + this.gTotalPageID = StartPageID; + int nPageIndex = 0; + int nXStart = 0; + int nYStart = 0; + bool bPrintIdleCode = false; + for (int i = 0; i < 4; i++) + { + int num24 = PointType[i]; + switch (num24) + { + case 0: + this.gsPointType[i] = "2"; + break; + + case 1: + this.gsPointType[i] = "3"; + break; + + case 2: + this.gsPointType[i] = "4"; + break; + + default: + break; + } + switch (PointDPI[i]) + { + case 0: + this.gsPointDPI[i] = "D600"; + break; + + case 1: + this.gsPointDPI[i] = "D1200"; + break; + + default: + break; + } + } + this.gCurrentPageID = this.gTotalPageID; + this.gCurPageIndex = 0; + string str2 = sPath + @"\BA_.pdf"; + string str3 = sPath + @"\BA_VI_.pdf"; + sPath = sPath + @"\BA_WOVI_.pdf"; + string str4 = sPath + @"\BA_Im_.tif"; + OIDBeginBuildState eBeginBuildState = OIDBeginBuildState.eBBState_OK; + eBeginBuildState = (OIDBeginBuildState) this.oidPIGenerator.BeginBuildPublishImageByInfo(dWidth / 10.0, dHeight / 10.0); + this.CheckOidBuildState(eBeginBuildState); + if ((eBeginBuildState == OIDBeginBuildState.eBBState_OK) && (bGenerateVImage || bGenerateImage)) + { + int num4 = this.gSID % 2; + int num5 = this.gSID / 2; + int num6 = this.gOID % 0x10; + int num7 = this.gOID / 0x10; + int num10 = this.gCurrentPageID % 0x10; + int num11 = this.gCurrentPageID / 0x10; + int num12 = 0; + int num13 = 0; + int num14 = 0; + int num15 = 0; + switch (this.gSID) + { + case 0: + case 1: + case 2: + num12 = (this.gBID % 0x20) << 13; + num13 = (this.gBID / 0x20) << 13; + num14 = num10 << 9; + num15 = num11 << 9; + break; + + case 3: + num12 = (this.gBID % 4) << 0x10; + num13 = (this.gBID / 4) << 0x10; + num14 = num10 << 12; + num15 = num11 << 12; + break; + + default: + break; + } + nXStart = (((num4 << 0x16) + (num6 << 0x12)) + num12) + num14; + nYStart = (((num5 << 0x16) + (num7 << 0x12)) + num13) + num15; + while (true) + { + if (!this.oidPIGenerator.SetStartPosition(nPageIndex, nXStart, nYStart)) + { + string str5; + if (bGenerateVImage) + { + str5 = str3; + this.oidPIGenerator.BuildPublishImage(str5.ToCharArray(), bPrintIdleCode, true, true, PointDPI[1], PointType[1], 1); + } + if (bGenerateImage) + { + str5 = str4; + this.gTPDFBGIName[0] = str4; + this.oidPIGenerator.BuildPublishImage(str5.ToCharArray(), bPrintIdleCode, true, true, PointDPI[3], PointType[3], 0); + } + this.gCurPageIndex++; + this.oidPIGenerator.EndBuildPublishImage(); + break; + } + uint num22 = (uint) ((dWidth * 75.0) / 25.4); + uint num23 = (uint) ((dHeight * 75.0) / 25.4); + int gSID = this.gSID; + switch (gSID) + { + case 0: + case 1: + case 2: + if ((dWidth <= 780.0) && (dHeight <= 780.0)) + { + break; + } + return "1PDF page size's width or height > 780mm !"; + + case 3: + if ((dWidth <= 6242.0) && (dHeight <= 6242.0)) + { + break; + } + return "1PDF page size's width or height > 6242mm !"; + + default: + break; + } + uint[] numArray3 = new uint[5]; + numArray3[1] = 0x1372; + numArray3[2] = 0x1372; + uint[] arPointX = numArray3; + uint[] numArray4 = new uint[5]; + numArray4[2] = 0x1a5d; + numArray4[3] = 0x1a5d; + uint[] arPointY = numArray4; + arPointX[1] = num22; + arPointX[2] = num22; + arPointY[2] = num23; + arPointY[3] = num23; + this.oidPIGenerator.AddObjectInfo(nPageIndex, 0xffffffffUL, arPointX, arPointY, 4, 0, 1); + this.gTPDFName[nPageIndex] = str2; + this.gTPDFVIName[nPageIndex] = str3; + this.gTPDFBGIName[nPageIndex] = str4; + nPageIndex++; + this.gCurrentPageID++; + num4 = this.gSID % 2; + num5 = this.gSID / 2; + num6 = this.gOID % 0x10; + num7 = this.gOID / 0x10; + num10 = this.gCurrentPageID % 0x10; + num11 = this.gCurrentPageID / 0x10; + num12 = 0; + num13 = 0; + num14 = 0; + num15 = 0; + switch (this.gSID) + { + case 0: + case 1: + case 2: + num12 = (this.gBID % 0x20) << 13; + num13 = (this.gBID / 0x20) << 13; + num14 = num10 << 9; + num15 = num11 << 9; + break; + + case 3: + num12 = (this.gBID % 4) << 0x10; + num13 = (this.gBID / 4) << 0x10; + num14 = num10 << 12; + num15 = num11 << 12; + break; + + default: + break; + } + nXStart = (((num4 << 0x16) + (num6 << 0x12)) + num12) + num14; + nYStart = (((num5 << 0x16) + (num7 << 0x12)) + num13) + num15; + } + } + string str6 = this.RenameBigAreaTmatrixPDF_OID4(StartPageID, this.gsSID, this.gsOID, this.gsBID, bGenerateVImage, bGenerateImage, dWidth / 10.0, dHeight / 10.0); + return ("0Generate Tmatrix code completely" + str6); + } + + public string GenerateTmatrixCode(string KeyStr, string PDFFileName, int StartPageID, int PointType, bool bGenerateBGWithVImage, bool bGenerateVImage, bool bGenerateBGWithoutVImage) + { + int num4; + int num5; + int num6; + int num7; + int num10; + int num11; + int num12; + int num13; + int num14; + int num15; + string str = ""; + str = this.TmatrixKeyCheck_OID4(KeyStr); + if (str.Substring(0, 1) == "1") + { + return str; + } + if (PDFFileName == "") + { + return "1Please select PDF file first !"; + } + if ((StartPageID < int.Parse(this.gsPID1)) || (StartPageID > int.Parse(this.gsPID2))) + { + return ("1Start page ID must be located between " + this.gsPID1 + " ~ " + this.gsPID2); + } + this.gPageNum = this.GetPDFPageNumber(PDFFileName); + if (((this.gPageNum + StartPageID) - 1) > int.Parse(this.gsPID2)) + { + return "1Not enough code page for this PDF to generate !"; + } + this.gTotalPageID = StartPageID; + int nPageIndex = 0; + int nXStart = 0; + int nYStart = 0; + bool bPrintIdleCode = false; + bool bSplitBigImage = false; + bool bMergeSplittedImages = false; + bool bExportPDFImage = true; + int nPublishImageDPIType = 0; + this.gCurrentPageID = this.gTotalPageID; + this.gCurPageIndex = 0; + string str2 = PDFFileName; + string str3 = str2.Substring(0, str2.Length - 4) + "_.pdf"; + string str4 = str2.Substring(0, str2.Length - 4) + "_VI_.pdf"; + string str5 = str2.Substring(0, str2.Length - 4) + "_WOVI_.pdf"; + OIDBeginBuildState eBeginBuildState = OIDBeginBuildState.eBBState_OK; + eBeginBuildState = (OIDBeginBuildState) this.oidPIGenerator.BeginBuildPublishImage(str2.ToCharArray(), bExportPDFImage, this.Default_DPI); + this.CheckOidBuildState(eBeginBuildState); + if ((eBeginBuildState == OIDBeginBuildState.eBBState_OK) && (bGenerateBGWithVImage || bGenerateVImage)) + { + num4 = this.gSID % 2; + num5 = this.gSID / 2; + num6 = this.gOID % 0x10; + num7 = this.gOID / 0x10; + num10 = this.gCurrentPageID % 0x10; + num11 = this.gCurrentPageID / 0x10; + num12 = 0; + num13 = 0; + num14 = 0; + num15 = 0; + switch (this.gSID) + { + case 0: + case 1: + case 2: + num12 = (this.gBID % 0x20) << 13; + num13 = (this.gBID / 0x20) << 13; + num14 = num10 << 9; + num15 = num11 << 9; + break; + + case 3: + num12 = (this.gBID % 4) << 0x10; + num13 = (this.gBID / 4) << 0x10; + num14 = num10 << 12; + num15 = num11 << 12; + break; + + default: + break; + } + nXStart = (((num4 << 0x16) + (num6 << 0x12)) + num12) + num14; + nYStart = (((num5 << 0x16) + (num7 << 0x12)) + num13) + num15; + while (true) + { + if (!this.oidPIGenerator.SetStartPosition(nPageIndex, nXStart, nYStart)) + { + this.gPointType = (PointType != 1) ? "2" : "3"; + if (bGenerateBGWithVImage) + { + this.oidPIGenerator.BuildPublishImage(str3.ToCharArray(), bPrintIdleCode, bSplitBigImage, bMergeSplittedImages, 1, PointType, 2); + } + if (bGenerateVImage) + { + nPublishImageDPIType = 1; + this.oidPIGenerator.BuildPublishImage(str4.ToCharArray(), bPrintIdleCode, bSplitBigImage, bMergeSplittedImages, nPublishImageDPIType, PointType, 1); + } + this.gCurPageIndex++; + this.oidPIGenerator.EndBuildPublishImage(); + break; + } + string filename = str2.Substring(0, str2.Length - 4) + "_Page" + nPageIndex.ToString() + ".png"; + Image image = Image.FromFile(filename); + uint num21 = (uint) (image.Width + 0x48); + uint num22 = (uint) (image.Height + 0x48); + image.Dispose(); + uint[] numArray3 = new uint[5]; + numArray3[1] = 0x1372; + numArray3[2] = 0x1372; + uint[] arPointX = numArray3; + uint[] numArray4 = new uint[5]; + numArray4[2] = 0x1a5d; + numArray4[3] = 0x1a5d; + uint[] arPointY = numArray4; + arPointX[1] = num21; + arPointX[2] = num21; + arPointY[2] = num22; + arPointY[3] = num22; + this.oidPIGenerator.AddObjectInfo(nPageIndex, 0xffffffffUL, arPointX, arPointY, 4, 0, 1); + if (nPageIndex == 0) + { + this.gTPDFName[nPageIndex] = str3; + this.gTPDFVIName[nPageIndex] = str4; + } + else + { + this.gTPDFName[nPageIndex] = str3.Substring(0, str3.Length - 4) + "_" + nPageIndex.ToString() + ".pdf"; + this.gTPDFVIName[nPageIndex] = str4.Substring(0, str4.Length - 4) + "_" + nPageIndex.ToString() + ".pdf"; + } + nPageIndex++; + this.gCurrentPageID++; + num4 = this.gSID % 2; + num5 = this.gSID / 2; + num6 = this.gOID % 0x10; + num7 = this.gOID / 0x10; + num10 = this.gCurrentPageID % 0x10; + num11 = this.gCurrentPageID / 0x10; + num12 = 0; + num13 = 0; + num14 = 0; + num15 = 0; + switch (this.gSID) + { + case 0: + case 1: + case 2: + num12 = (this.gBID % 0x20) << 13; + num13 = (this.gBID / 0x20) << 13; + num14 = num10 << 9; + num15 = num11 << 9; + break; + + case 3: + num12 = (this.gBID % 4) << 0x10; + num13 = (this.gBID / 4) << 0x10; + num14 = num10 << 12; + num15 = num11 << 12; + break; + + default: + break; + } + nXStart = (((num4 << 0x16) + (num6 << 0x12)) + num12) + num14; + nYStart = (((num5 << 0x16) + (num7 << 0x12)) + num13) + num15; + } + } + eBeginBuildState = OIDBeginBuildState.eBBState_OK; + eBeginBuildState = (OIDBeginBuildState) this.oidPIGenerator.BeginBuildPublishImage(str2.ToCharArray(), bExportPDFImage, this.Default_DPI); + this.CheckOidBuildState(eBeginBuildState); + if ((eBeginBuildState == OIDBeginBuildState.eBBState_OK) && bGenerateBGWithoutVImage) + { + this.gTotalPageID = StartPageID; + this.gCurrentPageID = this.gTotalPageID; + this.gCurPageIndex = 0; + nPageIndex = 0; + bPrintIdleCode = false; + num4 = this.gSID % 2; + num5 = this.gSID / 2; + num6 = this.gOID % 0x10; + num7 = this.gOID / 0x10; + num10 = this.gCurrentPageID % 0x10; + num11 = this.gCurrentPageID / 0x10; + num12 = 0; + num13 = 0; + num14 = 0; + num15 = 0; + switch (this.gSID) + { + case 0: + case 1: + case 2: + num12 = (this.gBID % 0x20) << 13; + num13 = (this.gBID / 0x20) << 13; + num14 = num10 << 9; + num15 = num11 << 9; + break; + + case 3: + num12 = (this.gBID % 4) << 0x10; + num13 = (this.gBID / 4) << 0x10; + num14 = num10 << 12; + num15 = num11 << 12; + break; + + default: + break; + } + nXStart = (((num4 << 0x16) + (num6 << 0x12)) + num12) + num14; + nYStart = (((num5 << 0x16) + (num7 << 0x12)) + num13) + num15; + while (true) + { + if (!this.oidPIGenerator.SetStartPosition(nPageIndex, nXStart, nYStart)) + { + this.gPointType = (PointType != 1) ? "2" : "3"; + if (bGenerateBGWithoutVImage) + { + this.oidPIGenerator.BuildPublishImage(str5.ToCharArray(), bPrintIdleCode, bSplitBigImage, bMergeSplittedImages, nPublishImageDPIType, PointType, 2); + } + this.gCurPageIndex++; + this.oidPIGenerator.EndBuildPublishImage(); + break; + } + this.gTPDFWOVIName[nPageIndex] = (nPageIndex != 0) ? (str5.Substring(0, str5.Length - 4) + "_" + nPageIndex.ToString() + ".pdf") : str5; + nPageIndex++; + this.gCurrentPageID++; + num4 = this.gSID % 2; + num5 = this.gSID / 2; + num6 = this.gOID % 0x10; + num7 = this.gOID / 0x10; + num10 = this.gCurrentPageID % 0x10; + num11 = this.gCurrentPageID / 0x10; + num12 = 0; + num13 = 0; + num14 = 0; + num15 = 0; + switch (this.gSID) + { + case 0: + case 1: + case 2: + num12 = (this.gBID % 0x20) << 13; + num13 = (this.gBID / 0x20) << 13; + num14 = num10 << 9; + num15 = num11 << 9; + break; + + case 3: + num12 = (this.gBID % 4) << 0x10; + num13 = (this.gBID / 4) << 0x10; + num14 = num10 << 12; + num15 = num11 << 12; + break; + + default: + break; + } + nXStart = (((num4 << 0x16) + (num6 << 0x12)) + num12) + num14; + nYStart = (((num5 << 0x16) + (num7 << 0x12)) + num13) + num15; + } + } + this.RenameTmatrixPDF(StartPageID, KeyStr.Substring(4, 2), bGenerateBGWithVImage, bGenerateVImage, bGenerateBGWithoutVImage); + return "0Generate Tmatrix code completely"; + } + + public string GenerateTmatrixCode(string KeyStr, string PDFFileName, int StartPageID, int PointType, bool bGenerateBGWithVImage, bool bGenerateVImage, bool bGenerateBGWithoutVImage, bool bGenerateBGWithImage) + { + int num4; + int num5; + int num6; + int num7; + int num10; + int num11; + int num12; + int num13; + int num14; + int num15; + string str = ""; + str = this.TmatrixKeyCheck_OID4(KeyStr); + if (str.Substring(0, 1) == "1") + { + return str; + } + if (PDFFileName == "") + { + return "1Please select PDF file first !"; + } + if ((StartPageID < int.Parse(this.gsPID1)) || (StartPageID > int.Parse(this.gsPID2))) + { + return ("1Start page ID must be located between " + this.gsPID1 + " ~ " + this.gsPID2); + } + this.gPageNum = this.GetPDFPageNumber(PDFFileName); + if (((this.gPageNum + StartPageID) - 1) > int.Parse(this.gsPID2)) + { + return "1Not enough code page for this PDF to generate !"; + } + this.gTotalPageID = StartPageID; + int nPageIndex = 0; + int nXStart = 0; + int nYStart = 0; + bool bPrintIdleCode = false; + bool bSplitBigImage = false; + bool bMergeSplittedImages = false; + bool bExportPDFImage = true; + this.gCurrentPageID = this.gTotalPageID; + this.gCurPageIndex = 0; + string str2 = PDFFileName; + string str3 = str2.Substring(0, str2.Length - 4) + "_.pdf"; + string str4 = str2.Substring(0, str2.Length - 4) + "_VI_.pdf"; + string str5 = str2.Substring(0, str2.Length - 4) + "_WOVI_.pdf"; + string str6 = str2.Substring(0, str2.Length - 4) + "_BGI_.pdf"; + OIDBeginBuildState eBeginBuildState = OIDBeginBuildState.eBBState_OK; + eBeginBuildState = (OIDBeginBuildState) this.oidPIGenerator.BeginBuildPublishImage(str2.ToCharArray(), bExportPDFImage, this.Default_DPI); + this.CheckOidBuildState(eBeginBuildState); + if ((eBeginBuildState == OIDBeginBuildState.eBBState_OK) && ((bGenerateBGWithVImage || bGenerateVImage) || bGenerateBGWithImage)) + { + num4 = this.gSID % 2; + num5 = this.gSID / 2; + num6 = this.gOID % 0x10; + num7 = this.gOID / 0x10; + num10 = this.gCurrentPageID % 0x10; + num11 = this.gCurrentPageID / 0x10; + num12 = 0; + num13 = 0; + num14 = 0; + num15 = 0; + switch (this.gSID) + { + case 0: + case 1: + case 2: + num12 = (this.gBID % 0x20) << 13; + num13 = (this.gBID / 0x20) << 13; + num14 = num10 << 9; + num15 = num11 << 9; + break; + + case 3: + num12 = (this.gBID % 4) << 0x10; + num13 = (this.gBID / 4) << 0x10; + num14 = num10 << 12; + num15 = num11 << 12; + break; + + default: + break; + } + nXStart = (((num4 << 0x16) + (num6 << 0x12)) + num12) + num14; + nYStart = (((num5 << 0x16) + (num7 << 0x12)) + num13) + num15; + while (true) + { + if (!this.oidPIGenerator.SetStartPosition(nPageIndex, nXStart, nYStart)) + { + switch (PointType) + { + case 0: + this.gPointType = "2"; + break; + + case 1: + this.gPointType = "3"; + break; + + case 2: + this.gPointType = "4"; + break; + + default: + break; + } + if (bGenerateBGWithVImage) + { + this.oidPIGenerator.BuildPublishImage(str3.ToCharArray(), bPrintIdleCode, bSplitBigImage, bMergeSplittedImages, 1, PointType, 2); + } + if (bGenerateVImage) + { + this.oidPIGenerator.BuildPublishImage(str4.ToCharArray(), bPrintIdleCode, bSplitBigImage, bMergeSplittedImages, 1, PointType, 1); + } + if (bGenerateBGWithImage) + { + this.oidPIGenerator.BuildPublishImage(str6.ToCharArray(), bPrintIdleCode, bSplitBigImage, bMergeSplittedImages, 1, 2, 3); + } + this.gCurPageIndex++; + this.oidPIGenerator.EndBuildPublishImage(); + break; + } + string filename = str2.Substring(0, str2.Length - 4) + "_Page" + nPageIndex.ToString() + ".png"; + Image image = Image.FromFile(filename); + uint width = (uint) image.Width; + uint height = (uint) image.Height; + image.Dispose(); + uint num16 = (uint) ((width * 25.4) / ((double) this.Default_DPI)); + uint num17 = (uint) ((height * 25.4) / ((double) this.Default_DPI)); + width += (uint) 0x48; + height += (uint) 0x48; + int gSID = this.gSID; + switch (gSID) + { + case 0: + case 1: + case 2: + if ((num16 <= 780) && (num17 <= 780)) + { + break; + } + return "1PDF page size's width or height > 780mm !"; + + case 3: + if ((num16 <= 0x1862) && (num17 <= 0x1862)) + { + break; + } + return "1PDF page size's width or height > 6242mm !"; + + default: + break; + } + uint[] numArray3 = new uint[5]; + numArray3[1] = 0x1372; + numArray3[2] = 0x1372; + uint[] arPointX = numArray3; + uint[] numArray4 = new uint[5]; + numArray4[2] = 0x1a5d; + numArray4[3] = 0x1a5d; + uint[] arPointY = numArray4; + arPointX[1] = width; + arPointX[2] = width; + arPointY[2] = height; + arPointY[3] = height; + this.oidPIGenerator.AddObjectInfo(nPageIndex, 0xffffffffUL, arPointX, arPointY, 4, 0, 1); + if (nPageIndex == 0) + { + this.gTPDFName[nPageIndex] = str3; + this.gTPDFVIName[nPageIndex] = str4; + this.gTPDFBGIName[nPageIndex] = str6; + } + else + { + this.gTPDFName[nPageIndex] = str3.Substring(0, str3.Length - 4) + "_" + nPageIndex.ToString() + ".pdf"; + this.gTPDFVIName[nPageIndex] = str4.Substring(0, str4.Length - 4) + "_" + nPageIndex.ToString() + ".pdf"; + this.gTPDFBGIName[nPageIndex] = str6.Substring(0, str6.Length - 4) + "_" + nPageIndex.ToString() + ".pdf"; + } + nPageIndex++; + this.gCurrentPageID++; + num4 = this.gSID % 2; + num5 = this.gSID / 2; + num6 = this.gOID % 0x10; + num7 = this.gOID / 0x10; + num10 = this.gCurrentPageID % 0x10; + num11 = this.gCurrentPageID / 0x10; + num12 = 0; + num13 = 0; + num14 = 0; + num15 = 0; + switch (this.gSID) + { + case 0: + case 1: + case 2: + num12 = (this.gBID % 0x20) << 13; + num13 = (this.gBID / 0x20) << 13; + num14 = num10 << 9; + num15 = num11 << 9; + break; + + case 3: + num12 = (this.gBID % 4) << 0x10; + num13 = (this.gBID / 4) << 0x10; + num14 = num10 << 12; + num15 = num11 << 12; + break; + + default: + break; + } + nXStart = (((num4 << 0x16) + (num6 << 0x12)) + num12) + num14; + nYStart = (((num5 << 0x16) + (num7 << 0x12)) + num13) + num15; + } + } + eBeginBuildState = OIDBeginBuildState.eBBState_OK; + eBeginBuildState = (OIDBeginBuildState) this.oidPIGenerator.BeginBuildPublishImage(str2.ToCharArray(), bExportPDFImage, this.Default_DPI); + this.CheckOidBuildState(eBeginBuildState); + if ((eBeginBuildState == OIDBeginBuildState.eBBState_OK) && bGenerateBGWithoutVImage) + { + this.gTotalPageID = StartPageID; + this.gCurrentPageID = this.gTotalPageID; + this.gCurPageIndex = 0; + nPageIndex = 0; + bPrintIdleCode = false; + num4 = this.gSID % 2; + num5 = this.gSID / 2; + num6 = this.gOID % 0x10; + num7 = this.gOID / 0x10; + num10 = this.gCurrentPageID % 0x10; + num11 = this.gCurrentPageID / 0x10; + num12 = 0; + num13 = 0; + num14 = 0; + num15 = 0; + switch (this.gSID) + { + case 0: + case 1: + case 2: + num12 = (this.gBID % 0x20) << 13; + num13 = (this.gBID / 0x20) << 13; + num14 = num10 << 9; + num15 = num11 << 9; + break; + + case 3: + num12 = (this.gBID % 4) << 0x10; + num13 = (this.gBID / 4) << 0x10; + num14 = num10 << 12; + num15 = num11 << 12; + break; + + default: + break; + } + nXStart = (((num4 << 0x16) + (num6 << 0x12)) + num12) + num14; + nYStart = (((num5 << 0x16) + (num7 << 0x12)) + num13) + num15; + while (true) + { + if (!this.oidPIGenerator.SetStartPosition(nPageIndex, nXStart, nYStart)) + { + switch (PointType) + { + case 0: + this.gPointType = "2"; + break; + + case 1: + this.gPointType = "3"; + break; + + case 2: + this.gPointType = "4"; + break; + + default: + break; + } + if (bGenerateBGWithoutVImage) + { + this.oidPIGenerator.BuildPublishImage(str5.ToCharArray(), bPrintIdleCode, bSplitBigImage, bMergeSplittedImages, 1, PointType, 2); + } + this.gCurPageIndex++; + this.oidPIGenerator.EndBuildPublishImage(); + break; + } + this.gTPDFWOVIName[nPageIndex] = (nPageIndex != 0) ? (str5.Substring(0, str5.Length - 4) + "_" + nPageIndex.ToString() + ".pdf") : str5; + nPageIndex++; + this.gCurrentPageID++; + num4 = this.gSID % 2; + num5 = this.gSID / 2; + num6 = this.gOID % 0x10; + num7 = this.gOID / 0x10; + num10 = this.gCurrentPageID % 0x10; + num11 = this.gCurrentPageID / 0x10; + num12 = 0; + num13 = 0; + num14 = 0; + num15 = 0; + switch (this.gSID) + { + case 0: + case 1: + case 2: + num12 = (this.gBID % 0x20) << 13; + num13 = (this.gBID / 0x20) << 13; + num14 = num10 << 9; + num15 = num11 << 9; + break; + + case 3: + num12 = (this.gBID % 4) << 0x10; + num13 = (this.gBID / 4) << 0x10; + num14 = num10 << 12; + num15 = num11 << 12; + break; + + default: + break; + } + nXStart = (((num4 << 0x16) + (num6 << 0x12)) + num12) + num14; + nYStart = (((num5 << 0x16) + (num7 << 0x12)) + num13) + num15; + } + } + this.RenameTmatrixPDF_OID4(StartPageID, this.gsSID, this.gsOID, this.gsBID, bGenerateBGWithVImage, bGenerateVImage, bGenerateBGWithoutVImage, bGenerateBGWithImage); + return "0Generate Tmatrix code completely"; + } + + public string GenerateTmatrixCode_OID4(string KeyStr, string PDFFileName, int StartPageID, int[] PointType, bool[] bPublishImageType, int[] PointDPI) + { + int num4; + int num5; + int num6; + int num7; + int num10; + int num11; + int num12; + int num13; + int num14; + int num15; + string str = ""; + str = this.TmatrixKeyCheck_OID4(KeyStr); + if (str.Substring(0, 1) == "1") + { + return str; + } + if (PDFFileName == "") + { + return "1Please select PDF file first !"; + } + if ((StartPageID < int.Parse(this.gsPID1)) || (StartPageID > int.Parse(this.gsPID2))) + { + return ("1Start page ID must be located between " + this.gsPID1 + " ~ " + this.gsPID2); + } + this.gPageNum = this.GetPDFPageNumber(PDFFileName); + if (((this.gPageNum + StartPageID) - 1) > int.Parse(this.gsPID2)) + { + return "1Not enough code page for this PDF to generate !"; + } + bool bGenerateBGWithVImage = bPublishImageType[0]; + bool bGenerateVImage = bPublishImageType[1]; + bool bGenerateBGWithoutVImage = bPublishImageType[2]; + bool bGenerateBGWithImage = bPublishImageType[3]; + this.gTotalPageID = StartPageID; + int nPageIndex = 0; + int nXStart = 0; + int nYStart = 0; + bool bPrintIdleCode = false; + bool bSplitBigImage = false; + bool bMergeSplittedImages = false; + bool bExportPDFImage = true; + for (int i = 0; i < 4; i++) + { + int num26 = PointType[i]; + switch (num26) + { + case 0: + this.gsPointType[i] = "2"; + break; + + case 1: + this.gsPointType[i] = "3"; + break; + + case 2: + this.gsPointType[i] = "4"; + break; + + default: + break; + } + switch (PointDPI[i]) + { + case 0: + this.gsPointDPI[i] = "D600"; + break; + + case 1: + this.gsPointDPI[i] = "D1200"; + break; + + default: + break; + } + } + this.gCurrentPageID = this.gTotalPageID; + this.gCurPageIndex = 0; + string str2 = PDFFileName; + string str3 = str2.Substring(0, str2.Length - 4) + "_.pdf"; + string str4 = str2.Substring(0, str2.Length - 4) + "_VI_.pdf"; + string str5 = str2.Substring(0, str2.Length - 4) + "_WOVI_.pdf"; + string str6 = str2.Substring(0, str2.Length - 4) + "_BGI_.pdf"; + OIDBeginBuildState eBeginBuildState = OIDBeginBuildState.eBBState_OK; + eBeginBuildState = (OIDBeginBuildState) this.oidPIGenerator.BeginBuildPublishImage(str2.ToCharArray(), bExportPDFImage, this.Default_DPI); + this.CheckOidBuildState(eBeginBuildState); + if ((eBeginBuildState == OIDBeginBuildState.eBBState_OK) && ((bGenerateBGWithVImage || bGenerateVImage) || bGenerateBGWithImage)) + { + num4 = this.gSID % 2; + num5 = this.gSID / 2; + num6 = this.gOID % 0x10; + num7 = this.gOID / 0x10; + num10 = this.gCurrentPageID % 0x10; + num11 = this.gCurrentPageID / 0x10; + num12 = 0; + num13 = 0; + num14 = 0; + num15 = 0; + switch (this.gSID) + { + case 0: + case 1: + case 2: + num12 = (this.gBID % 0x20) << 13; + num13 = (this.gBID / 0x20) << 13; + num14 = num10 << 9; + num15 = num11 << 9; + break; + + case 3: + num12 = (this.gBID % 4) << 0x10; + num13 = (this.gBID / 4) << 0x10; + num14 = num10 << 12; + num15 = num11 << 12; + break; + + default: + break; + } + nXStart = (((num4 << 0x16) + (num6 << 0x12)) + num12) + num14; + nYStart = (((num5 << 0x16) + (num7 << 0x12)) + num13) + num15; + while (true) + { + if (!this.oidPIGenerator.SetStartPosition(nPageIndex, nXStart, nYStart)) + { + if (bGenerateBGWithVImage) + { + this.oidPIGenerator.BuildPublishImage(str3.ToCharArray(), bPrintIdleCode, bSplitBigImage, bMergeSplittedImages, PointDPI[0], PointType[0], 2); + } + if (bGenerateVImage) + { + this.oidPIGenerator.BuildPublishImage(str4.ToCharArray(), bPrintIdleCode, bSplitBigImage, bMergeSplittedImages, PointDPI[1], PointType[1], 1); + } + if (bGenerateBGWithImage) + { + this.oidPIGenerator.BuildPublishImage(str6.ToCharArray(), bPrintIdleCode, bSplitBigImage, bMergeSplittedImages, PointDPI[3], PointType[3], 3); + } + this.gCurPageIndex++; + this.oidPIGenerator.EndBuildPublishImage(); + break; + } + string filename = str2.Substring(0, str2.Length - 4) + "_Page" + nPageIndex.ToString() + ".png"; + Image image = Image.FromFile(filename); + float horizontalResolution = image.HorizontalResolution; + float verticalResolution = image.VerticalResolution; + uint width = (uint) image.Width; + uint height = (uint) image.Height; + image.Dispose(); + uint num16 = (uint) ((width * 25.4) / ((double) this.Default_DPI)); + uint num17 = (uint) ((height * 25.4) / ((double) this.Default_DPI)); + width += (uint) 0x48; + height += (uint) 0x48; + int gSID = this.gSID; + switch (gSID) + { + case 0: + case 1: + case 2: + if ((num16 <= 780) && (num17 <= 780)) + { + break; + } + return "1PDF page size's width or height > 780mm !"; + + case 3: + if ((num16 <= 0x1862) && (num17 <= 0x1862)) + { + break; + } + return "1PDF page size's width or height > 6242mm !"; + + default: + break; + } + uint[] numArray3 = new uint[5]; + numArray3[1] = 0x1372; + numArray3[2] = 0x1372; + uint[] arPointX = numArray3; + uint[] numArray4 = new uint[5]; + numArray4[2] = 0x1a5d; + numArray4[3] = 0x1a5d; + uint[] arPointY = numArray4; + arPointX[1] = width; + arPointX[2] = width; + arPointY[2] = height; + arPointY[3] = height; + this.oidPIGenerator.AddObjectInfo(nPageIndex, 0xffffffffUL, arPointX, arPointY, 4, 0, 1); + if (nPageIndex == 0) + { + this.gTPDFName[nPageIndex] = str3; + this.gTPDFVIName[nPageIndex] = str4; + this.gTPDFBGIName[nPageIndex] = str6; + } + else + { + this.gTPDFName[nPageIndex] = str3.Substring(0, str3.Length - 4) + "_" + nPageIndex.ToString() + ".pdf"; + this.gTPDFVIName[nPageIndex] = str4.Substring(0, str4.Length - 4) + "_" + nPageIndex.ToString() + ".pdf"; + this.gTPDFBGIName[nPageIndex] = str6.Substring(0, str6.Length - 4) + "_" + nPageIndex.ToString() + ".pdf"; + } + nPageIndex++; + this.gCurrentPageID++; + num4 = this.gSID % 2; + num5 = this.gSID / 2; + num6 = this.gOID % 0x10; + num7 = this.gOID / 0x10; + num10 = this.gCurrentPageID % 0x10; + num11 = this.gCurrentPageID / 0x10; + num12 = 0; + num13 = 0; + num14 = 0; + num15 = 0; + switch (this.gSID) + { + case 0: + case 1: + case 2: + num12 = (this.gBID % 0x20) << 13; + num13 = (this.gBID / 0x20) << 13; + num14 = num10 << 9; + num15 = num11 << 9; + break; + + case 3: + num12 = (this.gBID % 4) << 0x10; + num13 = (this.gBID / 4) << 0x10; + num14 = num10 << 12; + num15 = num11 << 12; + break; + + default: + break; + } + nXStart = (((num4 << 0x16) + (num6 << 0x12)) + num12) + num14; + nYStart = (((num5 << 0x16) + (num7 << 0x12)) + num13) + num15; + } + } + eBeginBuildState = OIDBeginBuildState.eBBState_OK; + eBeginBuildState = (OIDBeginBuildState) this.oidPIGenerator.BeginBuildPublishImage(str2.ToCharArray(), bExportPDFImage, this.Default_DPI); + this.CheckOidBuildState(eBeginBuildState); + if ((eBeginBuildState == OIDBeginBuildState.eBBState_OK) && bGenerateBGWithoutVImage) + { + this.gTotalPageID = StartPageID; + this.gCurrentPageID = this.gTotalPageID; + this.gCurPageIndex = 0; + nPageIndex = 0; + bPrintIdleCode = false; + num4 = this.gSID % 2; + num5 = this.gSID / 2; + num6 = this.gOID % 0x10; + num7 = this.gOID / 0x10; + num10 = this.gCurrentPageID % 0x10; + num11 = this.gCurrentPageID / 0x10; + num12 = 0; + num13 = 0; + num14 = 0; + num15 = 0; + switch (this.gSID) + { + case 0: + case 1: + case 2: + num12 = (this.gBID % 0x20) << 13; + num13 = (this.gBID / 0x20) << 13; + num14 = num10 << 9; + num15 = num11 << 9; + break; + + case 3: + num12 = (this.gBID % 4) << 0x10; + num13 = (this.gBID / 4) << 0x10; + num14 = num10 << 12; + num15 = num11 << 12; + break; + + default: + break; + } + nXStart = (((num4 << 0x16) + (num6 << 0x12)) + num12) + num14; + nYStart = (((num5 << 0x16) + (num7 << 0x12)) + num13) + num15; + while (true) + { + if (!this.oidPIGenerator.SetStartPosition(nPageIndex, nXStart, nYStart)) + { + if (bGenerateBGWithoutVImage) + { + this.oidPIGenerator.BuildPublishImage(str5.ToCharArray(), bPrintIdleCode, bSplitBigImage, bMergeSplittedImages, PointDPI[2], PointType[2], 2); + } + this.gCurPageIndex++; + this.oidPIGenerator.EndBuildPublishImage(); + break; + } + this.gTPDFWOVIName[nPageIndex] = (nPageIndex != 0) ? (str5.Substring(0, str5.Length - 4) + "_" + nPageIndex.ToString() + ".pdf") : str5; + nPageIndex++; + this.gCurrentPageID++; + num4 = this.gSID % 2; + num5 = this.gSID / 2; + num6 = this.gOID % 0x10; + num7 = this.gOID / 0x10; + num10 = this.gCurrentPageID % 0x10; + num11 = this.gCurrentPageID / 0x10; + num12 = 0; + num13 = 0; + num14 = 0; + num15 = 0; + switch (this.gSID) + { + case 0: + case 1: + case 2: + num12 = (this.gBID % 0x20) << 13; + num13 = (this.gBID / 0x20) << 13; + num14 = num10 << 9; + num15 = num11 << 9; + break; + + case 3: + num12 = (this.gBID % 4) << 0x10; + num13 = (this.gBID / 4) << 0x10; + num14 = num10 << 12; + num15 = num11 << 12; + break; + + default: + break; + } + nXStart = (((num4 << 0x16) + (num6 << 0x12)) + num12) + num14; + nYStart = (((num5 << 0x16) + (num7 << 0x12)) + num13) + num15; + } + } + this.RenameTmatrixPDF_OID4(StartPageID, this.gsSID, this.gsOID, this.gsBID, bGenerateBGWithVImage, bGenerateVImage, bGenerateBGWithoutVImage, bGenerateBGWithImage); + return "0Generate Tmatrix code completely"; + } + + public string GenerateTmatrixCodeByArea(string KeyStr, string PDFFileName, int StartPageID, int PointType, bool bGenerateBGWithVImage, bool bGenerateVImage, bool bGenerateBGWithoutVImage, bool bGenerateBGWithImage, uint[][] Tx, uint[][] Ty, uint[][] Tw, uint[][] Th) + { + int num4; + int num5; + int num6; + int num7; + int num10; + int num11; + int num12; + int num13; + int num14; + int num15; + string str = ""; + str = this.TmatrixKeyCheck_OID4(KeyStr); + if (str.Substring(0, 1) == "1") + { + return str; + } + if (PDFFileName == "") + { + return "1Please select PDF file first !"; + } + if ((StartPageID < int.Parse(this.gsPID1)) || (StartPageID > int.Parse(this.gsPID2))) + { + return ("1Start page ID must be located between " + this.gsPID1 + " ~ " + this.gsPID2); + } + this.gPageNum = this.GetPDFPageNumber(PDFFileName); + if (((this.gPageNum + StartPageID) - 1) > int.Parse(this.gsPID2)) + { + return "1Not enough code page for this PDF to generate !"; + } + this.gTotalPageID = StartPageID; + int nPageIndex = 0; + int nXStart = 0; + int nYStart = 0; + bool bPrintIdleCode = false; + bool bSplitBigImage = false; + bool bMergeSplittedImages = false; + bool bExportPDFImage = true; + int index = 0; + this.gCurrentPageID = this.gTotalPageID; + this.gCurPageIndex = 0; + string str2 = PDFFileName; + string str3 = str2.Substring(0, str2.Length - 4) + "_.pdf"; + string str4 = str2.Substring(0, str2.Length - 4) + "_VI_.pdf"; + string str5 = str2.Substring(0, str2.Length - 4) + "_WOVI_.pdf"; + string str6 = str2.Substring(0, str2.Length - 4) + "_BGI_.pdf"; + OIDBeginBuildState eBeginBuildState = OIDBeginBuildState.eBBState_OK; + eBeginBuildState = (OIDBeginBuildState) this.oidPIGenerator.BeginBuildPublishImage(str2.ToCharArray(), bExportPDFImage, this.Default_DPI); + this.CheckOidBuildState(eBeginBuildState); + if ((eBeginBuildState == OIDBeginBuildState.eBBState_OK) && ((bGenerateBGWithVImage || bGenerateVImage) || bGenerateBGWithImage)) + { + num4 = this.gSID % 2; + num5 = this.gSID / 2; + num6 = this.gOID % 0x10; + num7 = this.gOID / 0x10; + num10 = this.gCurrentPageID % 0x10; + num11 = this.gCurrentPageID / 0x10; + num12 = 0; + num13 = 0; + num14 = 0; + num15 = 0; + switch (this.gSID) + { + case 0: + case 1: + case 2: + num12 = (this.gBID % 0x20) << 13; + num13 = (this.gBID / 0x20) << 13; + num14 = num10 << 9; + num15 = num11 << 9; + break; + + case 3: + num12 = (this.gBID % 4) << 0x10; + num13 = (this.gBID / 4) << 0x10; + num14 = num10 << 12; + num15 = num11 << 12; + break; + + default: + break; + } + nXStart = (((num4 << 0x16) + (num6 << 0x12)) + num12) + num14; + nYStart = (((num5 << 0x16) + (num7 << 0x12)) + num13) + num15; + while (true) + { + if (!this.oidPIGenerator.SetStartPosition(nPageIndex, nXStart, nYStart)) + { + switch (PointType) + { + case 0: + this.gPointType = "2"; + break; + + case 1: + this.gPointType = "3"; + break; + + case 2: + this.gPointType = "4"; + break; + + default: + break; + } + if (bGenerateBGWithVImage) + { + this.oidPIGenerator.BuildPublishImage(str3.ToCharArray(), bPrintIdleCode, bSplitBigImage, bMergeSplittedImages, 1, PointType, 2); + } + if (bGenerateVImage) + { + this.oidPIGenerator.BuildPublishImage(str4.ToCharArray(), bPrintIdleCode, bSplitBigImage, bMergeSplittedImages, 1, PointType, 1); + } + if (bGenerateBGWithImage) + { + this.oidPIGenerator.BuildPublishImage(str6.ToCharArray(), bPrintIdleCode, bSplitBigImage, bMergeSplittedImages, 1, PointType, 3); + } + this.gCurPageIndex++; + this.oidPIGenerator.EndBuildPublishImage(); + break; + } + int nZOrder = 0; + int nObjectType = 0; + string filename = str2.Substring(0, str2.Length - 4) + "_Page" + nPageIndex.ToString() + ".png"; + Image image = Image.FromFile(filename); + uint width = (uint) image.Width; + image.Dispose(); + width += (uint) 0x48; + uint num23 = (uint) (image.Height + 0x48); + uint[] numArray3 = new uint[5]; + numArray3[1] = 0x1372; + numArray3[2] = 0x1372; + uint[] arPointX = numArray3; + uint[] numArray4 = new uint[5]; + numArray4[2] = 0x1a5d; + numArray4[3] = 0x1a5d; + uint[] arPointY = numArray4; + arPointX[1] = width; + arPointX[2] = width; + arPointY[2] = num23; + arPointY[3] = num23; + nZOrder = 0; + nObjectType = 1; + index = 0; + while (true) + { + if ((Tw[nPageIndex][index] == 0) && (Th[nPageIndex][index] == 0)) + { + if (nPageIndex == 0) + { + this.gTPDFName[nPageIndex] = str3; + this.gTPDFVIName[nPageIndex] = str4; + this.gTPDFBGIName[nPageIndex] = str6; + } + else + { + this.gTPDFName[nPageIndex] = str3.Substring(0, str3.Length - 4) + "_" + nPageIndex.ToString() + ".pdf"; + this.gTPDFVIName[nPageIndex] = str4.Substring(0, str4.Length - 4) + "_" + nPageIndex.ToString() + ".pdf"; + this.gTPDFBGIName[nPageIndex] = str6.Substring(0, str6.Length - 4) + "_" + nPageIndex.ToString() + ".pdf"; + } + nPageIndex++; + this.gCurrentPageID++; + num4 = this.gSID % 2; + num5 = this.gSID / 2; + num6 = this.gOID % 0x10; + num7 = this.gOID / 0x10; + num10 = this.gCurrentPageID % 0x10; + num11 = this.gCurrentPageID / 0x10; + num12 = 0; + num13 = 0; + num14 = 0; + num15 = 0; + switch (this.gSID) + { + case 0: + case 1: + case 2: + num12 = (this.gBID % 0x20) << 13; + num13 = (this.gBID / 0x20) << 13; + num14 = num10 << 9; + num15 = num11 << 9; + break; + + case 3: + num12 = (this.gBID % 4) << 0x10; + num13 = (this.gBID / 4) << 0x10; + num14 = num10 << 12; + num15 = num11 << 12; + break; + + default: + break; + } + nXStart = (((num4 << 0x16) + (num6 << 0x12)) + num12) + num14; + nYStart = (((num5 << 0x16) + (num7 << 0x12)) + num13) + num15; + break; + } + arPointX[0] = Tx[nPageIndex][index]; + arPointY[0] = Ty[nPageIndex][index]; + arPointX[1] = Tx[nPageIndex][index] + Tw[nPageIndex][index]; + arPointY[1] = Ty[nPageIndex][index]; + arPointX[2] = Tx[nPageIndex][index] + Tw[nPageIndex][index]; + arPointY[2] = Ty[nPageIndex][index] + Th[nPageIndex][index]; + arPointX[3] = Tx[nPageIndex][index]; + arPointY[3] = Ty[nPageIndex][index] + Th[nPageIndex][index]; + this.oidPIGenerator.AddObjectInfo(nPageIndex, 0xffffffffUL, arPointX, arPointY, 4, nZOrder, nObjectType); + nZOrder++; + index++; + } + } + } + eBeginBuildState = OIDBeginBuildState.eBBState_OK; + eBeginBuildState = (OIDBeginBuildState) this.oidPIGenerator.BeginBuildPublishImage(str2.ToCharArray(), bExportPDFImage, this.Default_DPI); + this.CheckOidBuildState(eBeginBuildState); + if ((eBeginBuildState == OIDBeginBuildState.eBBState_OK) && bGenerateBGWithoutVImage) + { + this.gTotalPageID = StartPageID; + this.gCurrentPageID = this.gTotalPageID; + this.gCurPageIndex = 0; + nPageIndex = 0; + bPrintIdleCode = false; + num4 = this.gSID % 2; + num5 = this.gSID / 2; + num6 = this.gOID % 0x10; + num7 = this.gOID / 0x10; + num10 = this.gCurrentPageID % 0x10; + num11 = this.gCurrentPageID / 0x10; + num12 = 0; + num13 = 0; + num14 = 0; + num15 = 0; + switch (this.gSID) + { + case 0: + case 1: + case 2: + num12 = (this.gBID % 0x20) << 13; + num13 = (this.gBID / 0x20) << 13; + num14 = num10 << 9; + num15 = num11 << 9; + break; + + case 3: + num12 = (this.gBID % 4) << 0x10; + num13 = (this.gBID / 4) << 0x10; + num14 = num10 << 12; + num15 = num11 << 12; + break; + + default: + break; + } + nXStart = (((num4 << 0x16) + (num6 << 0x12)) + num12) + num14; + nYStart = (((num5 << 0x16) + (num7 << 0x12)) + num13) + num15; + while (true) + { + if (!this.oidPIGenerator.SetStartPosition(nPageIndex, nXStart, nYStart)) + { + this.gPointType = (PointType != 1) ? "2" : "3"; + if (bGenerateBGWithoutVImage) + { + this.oidPIGenerator.BuildPublishImage(str5.ToCharArray(), bPrintIdleCode, bSplitBigImage, bMergeSplittedImages, 1, PointType, 2); + } + this.gCurPageIndex++; + this.oidPIGenerator.EndBuildPublishImage(); + break; + } + this.gTPDFWOVIName[nPageIndex] = (nPageIndex != 0) ? (str5.Substring(0, str5.Length - 4) + "_" + nPageIndex.ToString() + ".pdf") : str5; + nPageIndex++; + this.gCurrentPageID++; + num4 = this.gSID % 2; + num5 = this.gSID / 2; + num6 = this.gOID % 0x10; + num7 = this.gOID / 0x10; + num10 = this.gCurrentPageID % 0x10; + num11 = this.gCurrentPageID / 0x10; + num12 = 0; + num13 = 0; + num14 = 0; + num15 = 0; + switch (this.gSID) + { + case 0: + case 1: + case 2: + num12 = (this.gBID % 0x20) << 13; + num13 = (this.gBID / 0x20) << 13; + num14 = num10 << 9; + num15 = num11 << 9; + break; + + case 3: + num12 = (this.gBID % 4) << 0x10; + num13 = (this.gBID / 4) << 0x10; + num14 = num10 << 12; + num15 = num11 << 12; + break; + + default: + break; + } + nXStart = (((num4 << 0x16) + (num6 << 0x12)) + num12) + num14; + nYStart = (((num5 << 0x16) + (num7 << 0x12)) + num13) + num15; + } + } + this.RenameTmatrixPDF_OID4(StartPageID, this.gsSID, this.gsOID, this.gsBID, bGenerateBGWithVImage, bGenerateVImage, bGenerateBGWithoutVImage, bGenerateBGWithImage); + return "0Generate Tmatrix code completely"; + } + + public string GenerateTmatrixCodeByArea_OID4(string KeyStr, string PDFFileName, int StartPageID, int[] PointType, int[] PointDPI, bool bGenerateBGWithVImage, bool bGenerateVImage, bool bGenerateBGWithoutVImage, bool bGenerateBGWithImage, uint[][] Tx, uint[][] Ty, uint[][] Tw, uint[][] Th) + { + int num4; + int num5; + int num6; + int num7; + int num10; + int num11; + int num12; + int num13; + int num14; + int num15; + string str = ""; + str = this.TmatrixKeyCheck_OID4(KeyStr); + if (str.Substring(0, 1) == "1") + { + return str; + } + if (PDFFileName == "") + { + return "1Please select PDF file first !"; + } + if ((StartPageID < int.Parse(this.gsPID1)) || (StartPageID > int.Parse(this.gsPID2))) + { + return ("1Start page ID must be located between " + this.gsPID1 + " ~ " + this.gsPID2); + } + this.gPageNum = this.GetPDFPageNumber(PDFFileName); + if (((this.gPageNum + StartPageID) - 1) > int.Parse(this.gsPID2)) + { + return "1Not enough code page for this PDF to generate !"; + } + this.gTotalPageID = StartPageID; + int nPageIndex = 0; + int nXStart = 0; + int nYStart = 0; + bool bPrintIdleCode = false; + bool bSplitBigImage = false; + bool bMergeSplittedImages = false; + bool bExportPDFImage = true; + int index = 0; + int num20 = 0; + for (index = 0; index < 4; index++) + { + int num25 = PointType[index]; + switch (num25) + { + case 0: + this.gsPointType[index] = "2"; + break; + + case 1: + this.gsPointType[index] = "3"; + break; + + case 2: + this.gsPointType[index] = "4"; + break; + + default: + break; + } + switch (PointDPI[index]) + { + case 0: + this.gsPointDPI[index] = "D600"; + break; + + case 1: + this.gsPointDPI[index] = "D1200"; + break; + + default: + break; + } + } + this.gCurrentPageID = this.gTotalPageID; + this.gCurPageIndex = 0; + string str2 = PDFFileName; + string str3 = str2.Substring(0, str2.Length - 4) + "_.pdf"; + string str4 = str2.Substring(0, str2.Length - 4) + "_VI_.pdf"; + string str5 = str2.Substring(0, str2.Length - 4) + "_WOVI_.pdf"; + string str6 = str2.Substring(0, str2.Length - 4) + "_BGI_.pdf"; + OIDBeginBuildState eBeginBuildState = OIDBeginBuildState.eBBState_OK; + eBeginBuildState = (OIDBeginBuildState) this.oidPIGenerator.BeginBuildPublishImage(str2.ToCharArray(), bExportPDFImage, this.Default_DPI); + this.CheckOidBuildState(eBeginBuildState); + if ((eBeginBuildState == OIDBeginBuildState.eBBState_OK) && ((bGenerateBGWithVImage || bGenerateVImage) || bGenerateBGWithImage)) + { + num4 = this.gSID % 2; + num5 = this.gSID / 2; + num6 = this.gOID % 0x10; + num7 = this.gOID / 0x10; + num10 = this.gCurrentPageID % 0x10; + num11 = this.gCurrentPageID / 0x10; + num12 = 0; + num13 = 0; + num14 = 0; + num15 = 0; + switch (this.gSID) + { + case 0: + case 1: + case 2: + num12 = (this.gBID % 0x20) << 13; + num13 = (this.gBID / 0x20) << 13; + num14 = num10 << 9; + num15 = num11 << 9; + break; + + case 3: + num12 = (this.gBID % 4) << 0x10; + num13 = (this.gBID / 4) << 0x10; + num14 = num10 << 12; + num15 = num11 << 12; + break; + + default: + break; + } + nXStart = (((num4 << 0x16) + (num6 << 0x12)) + num12) + num14; + nYStart = (((num5 << 0x16) + (num7 << 0x12)) + num13) + num15; + while (true) + { + if (!this.oidPIGenerator.SetStartPosition(nPageIndex, nXStart, nYStart)) + { + if (bGenerateBGWithVImage) + { + this.oidPIGenerator.BuildPublishImage(str3.ToCharArray(), bPrintIdleCode, bSplitBigImage, bMergeSplittedImages, PointDPI[0], PointType[0], 2); + } + if (bGenerateVImage) + { + this.oidPIGenerator.BuildPublishImage(str4.ToCharArray(), bPrintIdleCode, bSplitBigImage, bMergeSplittedImages, PointDPI[1], PointType[1], 1); + } + if (bGenerateBGWithImage) + { + this.oidPIGenerator.BuildPublishImage(str6.ToCharArray(), bPrintIdleCode, bSplitBigImage, bMergeSplittedImages, PointDPI[3], PointType[3], 3); + } + this.gCurPageIndex++; + this.oidPIGenerator.EndBuildPublishImage(); + break; + } + int nZOrder = 0; + int nObjectType = 0; + string filename = str2.Substring(0, str2.Length - 4) + "_Page" + nPageIndex.ToString() + ".png"; + Image image = Image.FromFile(filename); + uint width = (uint) image.Width; + image.Dispose(); + width += (uint) 0x48; + uint num24 = (uint) (image.Height + 0x48); + uint[] numArray3 = new uint[5]; + numArray3[1] = 0x1372; + numArray3[2] = 0x1372; + uint[] arPointX = numArray3; + uint[] numArray4 = new uint[5]; + numArray4[2] = 0x1a5d; + numArray4[3] = 0x1a5d; + uint[] arPointY = numArray4; + arPointX[1] = width; + arPointX[2] = width; + arPointY[2] = num24; + arPointY[3] = num24; + nZOrder = 0; + nObjectType = 1; + num20 = 0; + while (true) + { + if ((Tw[nPageIndex][num20] == 0) && (Th[nPageIndex][num20] == 0)) + { + if (nPageIndex == 0) + { + this.gTPDFName[nPageIndex] = str3; + this.gTPDFVIName[nPageIndex] = str4; + this.gTPDFBGIName[nPageIndex] = str6; + } + else + { + this.gTPDFName[nPageIndex] = str3.Substring(0, str3.Length - 4) + "_" + nPageIndex.ToString() + ".pdf"; + this.gTPDFVIName[nPageIndex] = str4.Substring(0, str4.Length - 4) + "_" + nPageIndex.ToString() + ".pdf"; + this.gTPDFBGIName[nPageIndex] = str6.Substring(0, str6.Length - 4) + "_" + nPageIndex.ToString() + ".pdf"; + } + nPageIndex++; + this.gCurrentPageID++; + num4 = this.gSID % 2; + num5 = this.gSID / 2; + num6 = this.gOID % 0x10; + num7 = this.gOID / 0x10; + num10 = this.gCurrentPageID % 0x10; + num11 = this.gCurrentPageID / 0x10; + num12 = 0; + num13 = 0; + num14 = 0; + num15 = 0; + switch (this.gSID) + { + case 0: + case 1: + case 2: + num12 = (this.gBID % 0x20) << 13; + num13 = (this.gBID / 0x20) << 13; + num14 = num10 << 9; + num15 = num11 << 9; + break; + + case 3: + num12 = (this.gBID % 4) << 0x10; + num13 = (this.gBID / 4) << 0x10; + num14 = num10 << 12; + num15 = num11 << 12; + break; + + default: + break; + } + nXStart = (((num4 << 0x16) + (num6 << 0x12)) + num12) + num14; + nYStart = (((num5 << 0x16) + (num7 << 0x12)) + num13) + num15; + break; + } + arPointX[0] = Tx[nPageIndex][num20]; + arPointY[0] = Ty[nPageIndex][num20]; + arPointX[1] = Tx[nPageIndex][num20] + Tw[nPageIndex][num20]; + arPointY[1] = Ty[nPageIndex][num20]; + arPointX[2] = Tx[nPageIndex][num20] + Tw[nPageIndex][num20]; + arPointY[2] = Ty[nPageIndex][num20] + Th[nPageIndex][num20]; + arPointX[3] = Tx[nPageIndex][num20]; + arPointY[3] = Ty[nPageIndex][num20] + Th[nPageIndex][num20]; + this.oidPIGenerator.AddObjectInfo(nPageIndex, 0xffffffffUL, arPointX, arPointY, 4, nZOrder, nObjectType); + nZOrder++; + num20++; + } + } + } + eBeginBuildState = OIDBeginBuildState.eBBState_OK; + eBeginBuildState = (OIDBeginBuildState) this.oidPIGenerator.BeginBuildPublishImage(str2.ToCharArray(), bExportPDFImage, this.Default_DPI); + this.CheckOidBuildState(eBeginBuildState); + if ((eBeginBuildState == OIDBeginBuildState.eBBState_OK) && bGenerateBGWithoutVImage) + { + this.gTotalPageID = StartPageID; + this.gCurrentPageID = this.gTotalPageID; + this.gCurPageIndex = 0; + nPageIndex = 0; + bPrintIdleCode = false; + num4 = this.gSID % 2; + num5 = this.gSID / 2; + num6 = this.gOID % 0x10; + num7 = this.gOID / 0x10; + num10 = this.gCurrentPageID % 0x10; + num11 = this.gCurrentPageID / 0x10; + num12 = 0; + num13 = 0; + num14 = 0; + num15 = 0; + switch (this.gSID) + { + case 0: + case 1: + case 2: + num12 = (this.gBID % 0x20) << 13; + num13 = (this.gBID / 0x20) << 13; + num14 = num10 << 9; + num15 = num11 << 9; + break; + + case 3: + num12 = (this.gBID % 4) << 0x10; + num13 = (this.gBID / 4) << 0x10; + num14 = num10 << 12; + num15 = num11 << 12; + break; + + default: + break; + } + nXStart = (((num4 << 0x16) + (num6 << 0x12)) + num12) + num14; + nYStart = (((num5 << 0x16) + (num7 << 0x12)) + num13) + num15; + while (true) + { + if (!this.oidPIGenerator.SetStartPosition(nPageIndex, nXStart, nYStart)) + { + if (bGenerateBGWithoutVImage) + { + this.oidPIGenerator.BuildPublishImage(str5.ToCharArray(), bPrintIdleCode, bSplitBigImage, bMergeSplittedImages, PointDPI[2], PointType[2], 2); + } + this.gCurPageIndex++; + this.oidPIGenerator.EndBuildPublishImage(); + break; + } + this.gTPDFWOVIName[nPageIndex] = (nPageIndex != 0) ? (str5.Substring(0, str5.Length - 4) + "_" + nPageIndex.ToString() + ".pdf") : str5; + nPageIndex++; + this.gCurrentPageID++; + num4 = this.gSID % 2; + num5 = this.gSID / 2; + num6 = this.gOID % 0x10; + num7 = this.gOID / 0x10; + num10 = this.gCurrentPageID % 0x10; + num11 = this.gCurrentPageID / 0x10; + num12 = 0; + num13 = 0; + num14 = 0; + num15 = 0; + switch (this.gSID) + { + case 0: + case 1: + case 2: + num12 = (this.gBID % 0x20) << 13; + num13 = (this.gBID / 0x20) << 13; + num14 = num10 << 9; + num15 = num11 << 9; + break; + + case 3: + num12 = (this.gBID % 4) << 0x10; + num13 = (this.gBID / 4) << 0x10; + num14 = num10 << 12; + num15 = num11 << 12; + break; + + default: + break; + } + nXStart = (((num4 << 0x16) + (num6 << 0x12)) + num12) + num14; + nYStart = (((num5 << 0x16) + (num7 << 0x12)) + num13) + num15; + } + } + this.RenameTmatrixPDF_OID4(StartPageID, this.gsSID, this.gsOID, this.gsBID, bGenerateBGWithVImage, bGenerateVImage, bGenerateBGWithoutVImage, bGenerateBGWithImage); + return "0Generate Tmatrix code completely"; + } + + public string GenerateTmatrixCodeForTForm(string KeyStr, string PDFFileName, int StartPageID, int PointType, bool bGenerateBGWithImage) + { + string str = ""; + str = this.TmatrixKeyCheck_OID4(KeyStr); + if (str.Substring(0, 1) == "1") + { + return str; + } + if (PDFFileName == "") + { + return "1Please select PDF file first !"; + } + if ((StartPageID < int.Parse(this.gsPID1)) || (StartPageID > int.Parse(this.gsPID2))) + { + return ("1Start page ID must be located between " + this.gsPID1 + " ~ " + this.gsPID2); + } + this.gPageNum = this.GetPDFPageNumber(PDFFileName); + if (((this.gPageNum + StartPageID) - 1) > int.Parse(this.gsPID2)) + { + return "1Not enough code page for this PDF to generate !"; + } + this.gTotalPageID = (int.Parse(KeyStr.Substring(4, 2)) * 0x100) + StartPageID; + int nPageIndex = 0; + int nXStart = 0; + int nYStart = 0; + bool bPrintIdleCode = false; + bool bSplitBigImage = false; + bool bMergeSplittedImages = false; + bool bExportPDFImage = true; + this.gCurrentPageID = this.gTotalPageID; + this.gCurPageIndex = 0; + string str2 = PDFFileName; + str2 = str2.Substring(0, str2.Length - 4) + "_.pdf"; + str2 = str2.Substring(0, str2.Length - 4) + "_VI_.pdf"; + str2 = str2.Substring(0, str2.Length - 4) + "_WOVI_.pdf"; + string str3 = str2.Substring(0, str2.Length - 4) + "_BGI_.pdf"; + OIDBeginBuildState eBeginBuildState = OIDBeginBuildState.eBBState_OK; + eBeginBuildState = (OIDBeginBuildState) this.oidPIGenerator.BeginBuildPublishImage(str2.ToCharArray(), bExportPDFImage, this.Default_DPI); + this.CheckOidBuildState(eBeginBuildState); + if ((eBeginBuildState == OIDBeginBuildState.eBBState_OK) && bGenerateBGWithImage) + { + int num4 = this.gSID % 2; + int num5 = this.gSID / 2; + int num6 = this.gOID % 0x10; + int num7 = this.gOID / 0x10; + int num10 = this.gCurrentPageID % 0x10; + int num11 = this.gCurrentPageID / 0x10; + int num12 = 0; + int num13 = 0; + int num14 = 0; + int num15 = 0; + switch (this.gSID) + { + case 0: + case 1: + case 2: + num12 = (this.gBID % 0x20) << 13; + num13 = (this.gBID / 0x20) << 13; + num14 = num10 << 9; + num15 = num11 << 9; + break; + + case 3: + num12 = (this.gBID % 4) << 0x10; + num13 = (this.gBID / 4) << 0x10; + num14 = num10 << 12; + num15 = num11 << 12; + break; + + default: + break; + } + nXStart = (((num4 << 0x16) + (num6 << 0x12)) + num12) + num14; + nYStart = (((num5 << 0x16) + (num7 << 0x12)) + num13) + num15; + while (true) + { + if (!this.oidPIGenerator.SetStartPosition(nPageIndex, nXStart, nYStart)) + { + switch (PointType) + { + case 0: + this.gPointType = "2"; + break; + + case 1: + this.gPointType = "3"; + break; + + case 2: + this.gPointType = "4"; + break; + + default: + break; + } + if (bGenerateBGWithImage) + { + this.oidPIGenerator.BuildPublishImage(str3.ToCharArray(), bPrintIdleCode, bSplitBigImage, bMergeSplittedImages, 1, 2, 3); + } + this.gCurPageIndex++; + this.oidPIGenerator.EndBuildPublishImage(); + break; + } + string filename = str2.Substring(0, str2.Length - 4) + "_Page" + nPageIndex.ToString() + ".png"; + Image image = Image.FromFile(filename); + uint width = (uint) image.Width; + image.Dispose(); + width += (uint) 0x48; + uint num22 = (uint) (image.Height + 0x48); + uint[] numArray3 = new uint[5]; + numArray3[1] = 0x1372; + numArray3[2] = 0x1372; + uint[] arPointX = numArray3; + uint[] numArray4 = new uint[5]; + numArray4[2] = 0x1a5d; + numArray4[3] = 0x1a5d; + uint[] arPointY = numArray4; + arPointX[1] = width; + arPointX[2] = width; + arPointY[2] = num22; + arPointY[3] = num22; + this.oidPIGenerator.AddObjectInfo(nPageIndex, 0xffffffffUL, arPointX, arPointY, 4, 0, 1); + this.gTPDFBGIName[nPageIndex] = (nPageIndex != 0) ? (str3.Substring(0, str3.Length - 4) + "_" + nPageIndex.ToString() + ".pdf") : str3; + nPageIndex++; + this.gCurrentPageID++; + num4 = this.gSID % 2; + num5 = this.gSID / 2; + num6 = this.gOID % 0x10; + num7 = this.gOID / 0x10; + num10 = this.gCurrentPageID % 0x10; + num11 = this.gCurrentPageID / 0x10; + num12 = 0; + num13 = 0; + num14 = 0; + num15 = 0; + switch (this.gSID) + { + case 0: + case 1: + case 2: + num12 = (this.gBID % 0x20) << 13; + num13 = (this.gBID / 0x20) << 13; + num14 = num10 << 9; + num15 = num11 << 9; + break; + + case 3: + num12 = (this.gBID % 4) << 0x10; + num13 = (this.gBID / 4) << 0x10; + num14 = num10 << 12; + num15 = num11 << 12; + break; + + default: + break; + } + nXStart = (((num4 << 0x16) + (num6 << 0x12)) + num12) + num14; + nYStart = (((num5 << 0x16) + (num7 << 0x12)) + num13) + num15; + } + } + this.RenameTmatrixPDF_OID4(StartPageID, this.gsSID, this.gsOID, this.gsBID, false, false, false, bGenerateBGWithImage); + return "0Generate Tmatrix code completely"; + } + + public int GetPDFPageNumber(string PDFName) + { + PdfReader obj = new PdfReader(PDFName); + return obj.NumberOfPages; + } + + private string RenameBigAreaTmatrixPDF_OID4(int SP, string SID, string OID, string BID, bool bGenerateVImage, bool bGenerateImage, double w, double h) + { + string str; + string str2; + string fileName; + string str4; + int index = 0; + if (bGenerateVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFVIName[index]) + @"\BA Vector Images"; + fileName = Path.GetFileName(this.gTPDFVIName[index]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray = new string[] { str4.Substring(0, str4.Length - 4), "0(Tmx", this.gsPointType[1], "S", SID, "O", OID, "B", BID }; + strArray[9] = "P"; + strArray[10] = (SP + index).ToString("000"); + strArray[11] = this.gsPointDPI[1]; + strArray[12] = "W"; + strArray[13] = w.ToString(); + strArray[14] = "H"; + strArray[15] = h.ToString(); + strArray[0x10] = ").pdf"; + str = string.Concat(strArray); + if (File.Exists(this.gTPDFVIName[index])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFVIName[index], str); + } + } + if (bGenerateImage) + { + str2 = Path.GetDirectoryName(this.gTPDFBGIName[0]) + @"\BA Images"; + fileName = Path.GetFileName(this.gTPDFBGIName[0]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray2 = new string[] { str4.Substring(0, str4.Length - 4), "0(Tmx", this.gsPointType[3], "S", SID, "O", OID, "B", BID }; + strArray2[9] = "P"; + strArray2[10] = (SP + index).ToString("000"); + strArray2[11] = this.gsPointDPI[3]; + strArray2[12] = "W"; + strArray2[13] = w.ToString(); + strArray2[14] = "H"; + strArray2[15] = h.ToString(); + strArray2[0x10] = ").tif"; + str = string.Concat(strArray2); + if (File.Exists(this.gTPDFBGIName[0])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFBGIName[0], str); + } + } + return ""; + } + + private void RenameTmatrixPDF(int SP, string BID) + { + for (int i = 0; i < this.gPageNum; i++) + { + string str; + if (i == 0) + { + string[] strArray = new string[] { this.gTPDFName[i].Substring(0, this.gTPDFName[i].Length - 4), "0(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000"), ").pdf" }; + str = string.Concat(strArray); + if (File.Exists(this.gTPDFName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFName[i], str); + } + string[] strArray2 = new string[] { this.gTPDFVIName[i].Substring(0, this.gTPDFVIName[i].Length - 4), "0(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000"), ").pdf" }; + str = string.Concat(strArray2); + if (File.Exists(this.gTPDFVIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFVIName[i], str); + } + } + else if (i < 10) + { + string[] strArray3 = new string[] { this.gTPDFName[i].Substring(0, this.gTPDFName[i].Length - 6), i.ToString(), "(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000") }; + strArray3[9] = ").pdf"; + str = string.Concat(strArray3); + if (File.Exists(this.gTPDFName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFName[i], str); + } + string[] strArray4 = new string[] { this.gTPDFVIName[i].Substring(0, this.gTPDFVIName[i].Length - 6), i.ToString(), "(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000") }; + strArray4[9] = ").pdf"; + str = string.Concat(strArray4); + if (File.Exists(this.gTPDFVIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFVIName[i], str); + } + } + else if (i < 100) + { + string[] strArray5 = new string[] { this.gTPDFName[i].Substring(0, this.gTPDFName[i].Length - 7), i.ToString(), "(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000") }; + strArray5[9] = ").pdf"; + str = string.Concat(strArray5); + if (File.Exists(this.gTPDFName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFName[i], str); + } + string[] strArray6 = new string[] { this.gTPDFVIName[i].Substring(0, this.gTPDFVIName[i].Length - 7), i.ToString(), "(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000") }; + strArray6[9] = ").pdf"; + str = string.Concat(strArray6); + if (File.Exists(this.gTPDFVIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFVIName[i], str); + } + } + else + { + string[] strArray7 = new string[] { this.gTPDFName[i].Substring(0, this.gTPDFName[i].Length - 8), i.ToString(), "(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000") }; + strArray7[9] = ").pdf"; + str = string.Concat(strArray7); + if (File.Exists(this.gTPDFName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFName[i], str); + } + string[] strArray8 = new string[] { this.gTPDFVIName[i].Substring(0, this.gTPDFVIName[i].Length - 8), i.ToString(), "(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000") }; + strArray8[9] = ").pdf"; + str = string.Concat(strArray8); + if (File.Exists(this.gTPDFVIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFVIName[i], str); + } + } + } + } + + private void RenameTmatrixPDF(int SP, string BID, bool bGenerateBGWithVImage, bool bGenerateVImage, bool bGenerateBGWithoutVImage) + { + for (int i = 0; i < this.gPageNum; i++) + { + string str; + string str2; + string fileName; + string str4; + if (i == 0) + { + if (bGenerateBGWithVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFName[i]) + @"\Bg with Vector Images"; + fileName = Path.GetFileName(this.gTPDFName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray = new string[] { str4.Substring(0, str4.Length - 4), "0(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000"), ").pdf" }; + str = string.Concat(strArray); + if (File.Exists(this.gTPDFName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFName[i], str); + } + } + if (bGenerateVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFVIName[i]) + @"\Vector Images"; + fileName = Path.GetFileName(this.gTPDFVIName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray2 = new string[] { str4.Substring(0, str4.Length - 4), "0(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000"), ").pdf" }; + str = string.Concat(strArray2); + if (File.Exists(this.gTPDFVIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFVIName[i], str); + } + } + if (bGenerateBGWithoutVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFWOVIName[i]) + @"\Bg without Vector Images"; + fileName = Path.GetFileName(this.gTPDFWOVIName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray3 = new string[] { str4.Substring(0, str4.Length - 4), "0(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000"), ").pdf" }; + str = string.Concat(strArray3); + if (File.Exists(this.gTPDFWOVIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFWOVIName[i], str); + } + } + } + else if (i < 10) + { + if (bGenerateBGWithVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFName[i]) + @"\Bg with Vector Images"; + fileName = Path.GetFileName(this.gTPDFName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray4 = new string[] { str4.Substring(0, str4.Length - 6), i.ToString(), "(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000") }; + strArray4[9] = ").pdf"; + str = string.Concat(strArray4); + if (File.Exists(this.gTPDFName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFName[i], str); + } + } + if (bGenerateVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFVIName[i]) + @"\Vector Images"; + fileName = Path.GetFileName(this.gTPDFVIName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray5 = new string[] { str4.Substring(0, str4.Length - 6), i.ToString(), "(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000") }; + strArray5[9] = ").pdf"; + str = string.Concat(strArray5); + if (File.Exists(this.gTPDFVIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFVIName[i], str); + } + } + if (bGenerateBGWithoutVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFWOVIName[i]) + @"\Bg without Vector Images"; + fileName = Path.GetFileName(this.gTPDFWOVIName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray6 = new string[] { str4.Substring(0, str4.Length - 6), i.ToString(), "(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000") }; + strArray6[9] = ").pdf"; + str = string.Concat(strArray6); + if (File.Exists(this.gTPDFWOVIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFWOVIName[i], str); + } + } + } + else if (i < 100) + { + if (bGenerateBGWithVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFName[i]) + @"\Bg with Vector Images"; + fileName = Path.GetFileName(this.gTPDFName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray7 = new string[] { str4.Substring(0, str4.Length - 7), i.ToString(), "(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000") }; + strArray7[9] = ").pdf"; + str = string.Concat(strArray7); + if (File.Exists(this.gTPDFName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFName[i], str); + } + } + if (bGenerateVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFVIName[i]) + @"\Vector Images"; + fileName = Path.GetFileName(this.gTPDFVIName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray8 = new string[] { str4.Substring(0, str4.Length - 7), i.ToString(), "(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000") }; + strArray8[9] = ").pdf"; + str = string.Concat(strArray8); + if (File.Exists(this.gTPDFVIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFVIName[i], str); + } + } + if (bGenerateBGWithoutVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFWOVIName[i]) + @"\Bg without Vector Images"; + fileName = Path.GetFileName(this.gTPDFWOVIName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray9 = new string[] { str4.Substring(0, str4.Length - 7), i.ToString(), "(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000") }; + strArray9[9] = ").pdf"; + str = string.Concat(strArray9); + if (File.Exists(this.gTPDFWOVIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFWOVIName[i], str); + } + } + } + else + { + if (bGenerateBGWithVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFName[i]) + @"\Bg with Vector Images"; + fileName = Path.GetFileName(this.gTPDFName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray10 = new string[] { str4.Substring(0, str4.Length - 8), i.ToString(), "(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000") }; + strArray10[9] = ").pdf"; + str = string.Concat(strArray10); + if (File.Exists(this.gTPDFName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFName[i], str); + } + } + if (bGenerateVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFVIName[i]) + @"\Vector Images"; + fileName = Path.GetFileName(this.gTPDFVIName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray11 = new string[] { str4.Substring(0, str4.Length - 8), i.ToString(), "(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000") }; + strArray11[9] = ").pdf"; + str = string.Concat(strArray11); + if (File.Exists(this.gTPDFVIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFVIName[i], str); + } + } + if (bGenerateBGWithoutVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFWOVIName[i]) + @"\Bg without Vector Images"; + fileName = Path.GetFileName(this.gTPDFWOVIName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray12 = new string[] { str4.Substring(0, str4.Length - 8), i.ToString(), "(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000") }; + strArray12[9] = ").pdf"; + str = string.Concat(strArray12); + if (File.Exists(this.gTPDFWOVIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFWOVIName[i], str); + } + } + } + } + } + + private void RenameTmatrixPDF(int SP, string BID, bool bGenerateBGWithVImage, bool bGenerateVImage, bool bGenerateBGWithoutVImage, bool bGenerateBGWithImage) + { + for (int i = 0; i < this.gPageNum; i++) + { + string str; + string str2; + string fileName; + string str4; + if (i == 0) + { + if (bGenerateBGWithVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFName[i]) + @"\Bg with Vector Images"; + fileName = Path.GetFileName(this.gTPDFName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray = new string[] { str4.Substring(0, str4.Length - 4), "0(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000"), ").pdf" }; + str = string.Concat(strArray); + if (File.Exists(this.gTPDFName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFName[i], str); + } + } + if (bGenerateVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFVIName[i]) + @"\Vector Images"; + fileName = Path.GetFileName(this.gTPDFVIName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray2 = new string[] { str4.Substring(0, str4.Length - 4), "0(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000"), ").pdf" }; + str = string.Concat(strArray2); + if (File.Exists(this.gTPDFVIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFVIName[i], str); + } + } + if (bGenerateBGWithoutVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFWOVIName[i]) + @"\Bg without Vector Images"; + fileName = Path.GetFileName(this.gTPDFWOVIName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray3 = new string[] { str4.Substring(0, str4.Length - 4), "0(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000"), ").pdf" }; + str = string.Concat(strArray3); + if (File.Exists(this.gTPDFWOVIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFWOVIName[i], str); + } + } + if (bGenerateBGWithImage) + { + str2 = Path.GetDirectoryName(this.gTPDFBGIName[i]) + @"\Bg with Images"; + fileName = Path.GetFileName(this.gTPDFBGIName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray4 = new string[] { str4.Substring(0, str4.Length - 4), "0(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000"), ").pdf" }; + str = string.Concat(strArray4); + if (File.Exists(this.gTPDFBGIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFBGIName[i], str); + } + } + } + else if (i < 10) + { + if (bGenerateBGWithVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFName[i]) + @"\Bg with Vector Images"; + fileName = Path.GetFileName(this.gTPDFName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray5 = new string[] { str4.Substring(0, str4.Length - 6), i.ToString(), "(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000") }; + strArray5[9] = ").pdf"; + str = string.Concat(strArray5); + if (File.Exists(this.gTPDFName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFName[i], str); + } + } + if (bGenerateVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFVIName[i]) + @"\Vector Images"; + fileName = Path.GetFileName(this.gTPDFVIName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray6 = new string[] { str4.Substring(0, str4.Length - 6), i.ToString(), "(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000") }; + strArray6[9] = ").pdf"; + str = string.Concat(strArray6); + if (File.Exists(this.gTPDFVIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFVIName[i], str); + } + } + if (bGenerateBGWithoutVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFWOVIName[i]) + @"\Bg without Vector Images"; + fileName = Path.GetFileName(this.gTPDFWOVIName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray7 = new string[] { str4.Substring(0, str4.Length - 6), i.ToString(), "(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000") }; + strArray7[9] = ").pdf"; + str = string.Concat(strArray7); + if (File.Exists(this.gTPDFWOVIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFWOVIName[i], str); + } + } + if (bGenerateBGWithImage) + { + str2 = Path.GetDirectoryName(this.gTPDFBGIName[i]) + @"\Bg with Images"; + fileName = Path.GetFileName(this.gTPDFBGIName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray8 = new string[] { str4.Substring(0, str4.Length - 6), i.ToString(), "(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000") }; + strArray8[9] = ").pdf"; + str = string.Concat(strArray8); + if (File.Exists(this.gTPDFBGIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFBGIName[i], str); + } + } + } + else if (i < 100) + { + if (bGenerateBGWithVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFName[i]) + @"\Bg with Vector Images"; + fileName = Path.GetFileName(this.gTPDFName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray9 = new string[] { str4.Substring(0, str4.Length - 7), i.ToString(), "(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000") }; + strArray9[9] = ").pdf"; + str = string.Concat(strArray9); + if (File.Exists(this.gTPDFName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFName[i], str); + } + } + if (bGenerateVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFVIName[i]) + @"\Vector Images"; + fileName = Path.GetFileName(this.gTPDFVIName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray10 = new string[] { str4.Substring(0, str4.Length - 7), i.ToString(), "(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000") }; + strArray10[9] = ").pdf"; + str = string.Concat(strArray10); + if (File.Exists(this.gTPDFVIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFVIName[i], str); + } + } + if (bGenerateBGWithoutVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFWOVIName[i]) + @"\Bg without Vector Images"; + fileName = Path.GetFileName(this.gTPDFWOVIName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray11 = new string[] { str4.Substring(0, str4.Length - 7), i.ToString(), "(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000") }; + strArray11[9] = ").pdf"; + str = string.Concat(strArray11); + if (File.Exists(this.gTPDFWOVIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFWOVIName[i], str); + } + } + if (bGenerateBGWithImage) + { + str2 = Path.GetDirectoryName(this.gTPDFBGIName[i]) + @"\Bg with Images"; + fileName = Path.GetFileName(this.gTPDFBGIName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray12 = new string[] { str4.Substring(0, str4.Length - 7), i.ToString(), "(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000") }; + strArray12[9] = ").pdf"; + str = string.Concat(strArray12); + if (File.Exists(this.gTPDFBGIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFBGIName[i], str); + } + } + } + else + { + if (bGenerateBGWithVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFName[i]) + @"\Bg with Vector Images"; + fileName = Path.GetFileName(this.gTPDFName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray13 = new string[] { str4.Substring(0, str4.Length - 8), i.ToString(), "(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000") }; + strArray13[9] = ").pdf"; + str = string.Concat(strArray13); + if (File.Exists(this.gTPDFName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFName[i], str); + } + } + if (bGenerateVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFVIName[i]) + @"\Vector Images"; + fileName = Path.GetFileName(this.gTPDFVIName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray14 = new string[] { str4.Substring(0, str4.Length - 8), i.ToString(), "(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000") }; + strArray14[9] = ").pdf"; + str = string.Concat(strArray14); + if (File.Exists(this.gTPDFVIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFVIName[i], str); + } + } + if (bGenerateBGWithoutVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFWOVIName[i]) + @"\Bg without Vector Images"; + fileName = Path.GetFileName(this.gTPDFWOVIName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray15 = new string[] { str4.Substring(0, str4.Length - 8), i.ToString(), "(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000") }; + strArray15[9] = ").pdf"; + str = string.Concat(strArray15); + if (File.Exists(this.gTPDFWOVIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFWOVIName[i], str); + } + } + if (bGenerateBGWithImage) + { + str2 = Path.GetDirectoryName(this.gTPDFBGIName[i]) + @"\Bg with Images"; + fileName = Path.GetFileName(this.gTPDFBGIName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray16 = new string[] { str4.Substring(0, str4.Length - 8), i.ToString(), "(Tmx", this.gPointType, this.gsSize, "B", BID, "P", (SP + i).ToString("000") }; + strArray16[9] = ").pdf"; + str = string.Concat(strArray16); + if (File.Exists(this.gTPDFBGIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFBGIName[i], str); + } + } + } + } + } + + private void RenameTmatrixPDF_OID4(int SP, string SID, string OID, string BID, bool bGenerateBGWithVImage, bool bGenerateVImage, bool bGenerateBGWithoutVImage, bool bGenerateBGWithImage) + { + for (int i = 0; i < this.gPageNum; i++) + { + string str; + string str2; + string fileName; + string str4; + if (i == 0) + { + if (bGenerateBGWithVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFName[i]) + @"\Bg with Vector Images"; + fileName = Path.GetFileName(this.gTPDFName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray = new string[] { str4.Substring(0, str4.Length - 4), "0(Tmx", this.gsPointType[0], "S", SID, "O", OID, "B", BID }; + strArray[9] = "P"; + strArray[10] = (SP + i).ToString("000"); + strArray[11] = this.gsPointDPI[0]; + strArray[12] = ").pdf"; + str = string.Concat(strArray); + if (File.Exists(this.gTPDFName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFName[i], str); + } + } + if (bGenerateVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFVIName[i]) + @"\Vector Images"; + fileName = Path.GetFileName(this.gTPDFVIName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray2 = new string[] { str4.Substring(0, str4.Length - 4), "0(Tmx", this.gsPointType[1], "S", SID, "O", OID, "B", BID }; + strArray2[9] = "P"; + strArray2[10] = (SP + i).ToString("000"); + strArray2[11] = this.gsPointDPI[1]; + strArray2[12] = ").pdf"; + str = string.Concat(strArray2); + if (File.Exists(this.gTPDFVIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFVIName[i], str); + } + } + if (bGenerateBGWithoutVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFWOVIName[i]) + @"\Bg without Vector Images"; + fileName = Path.GetFileName(this.gTPDFWOVIName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray3 = new string[] { str4.Substring(0, str4.Length - 4), "0(Tmx", this.gsPointType[2], "S", SID, "O", OID, "B", BID }; + strArray3[9] = "P"; + strArray3[10] = (SP + i).ToString("000"); + strArray3[11] = this.gsPointDPI[2]; + strArray3[12] = ").pdf"; + str = string.Concat(strArray3); + if (File.Exists(this.gTPDFWOVIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFWOVIName[i], str); + } + } + if (bGenerateBGWithImage) + { + str2 = Path.GetDirectoryName(this.gTPDFBGIName[i]) + @"\Bg with Images"; + fileName = Path.GetFileName(this.gTPDFBGIName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray4 = new string[] { str4.Substring(0, str4.Length - 4), "0(Tmx", this.gsPointType[3], "S", SID, "O", OID, "B", BID }; + strArray4[9] = "P"; + strArray4[10] = (SP + i).ToString("000"); + strArray4[11] = this.gsPointDPI[3]; + strArray4[12] = ").pdf"; + str = string.Concat(strArray4); + if (File.Exists(this.gTPDFBGIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFBGIName[i], str); + } + } + } + else if (i < 10) + { + if (bGenerateBGWithVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFName[i]) + @"\Bg with Vector Images"; + fileName = Path.GetFileName(this.gTPDFName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray5 = new string[] { str4.Substring(0, str4.Length - 6), i.ToString(), "(Tmx", this.gsPointType[0], "S", SID, "O", OID, "B" }; + strArray5[9] = BID; + strArray5[10] = "P"; + strArray5[11] = (SP + i).ToString("000"); + strArray5[12] = this.gsPointDPI[0]; + strArray5[13] = ").pdf"; + str = string.Concat(strArray5); + if (File.Exists(this.gTPDFName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFName[i], str); + } + } + if (bGenerateVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFVIName[i]) + @"\Vector Images"; + fileName = Path.GetFileName(this.gTPDFVIName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray6 = new string[] { str4.Substring(0, str4.Length - 6), i.ToString(), "(Tmx", this.gsPointType[1], "S", SID, "O", OID, "B" }; + strArray6[9] = BID; + strArray6[10] = "P"; + strArray6[11] = (SP + i).ToString("000"); + strArray6[12] = this.gsPointDPI[1]; + strArray6[13] = ").pdf"; + str = string.Concat(strArray6); + if (File.Exists(this.gTPDFVIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFVIName[i], str); + } + } + if (bGenerateBGWithoutVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFWOVIName[i]) + @"\Bg without Vector Images"; + fileName = Path.GetFileName(this.gTPDFWOVIName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray7 = new string[] { str4.Substring(0, str4.Length - 6), i.ToString(), "(Tmx", this.gsPointType[2], "S", SID, "O", OID, "B" }; + strArray7[9] = BID; + strArray7[10] = "P"; + strArray7[11] = (SP + i).ToString("000"); + strArray7[12] = this.gsPointDPI[2]; + strArray7[13] = ").pdf"; + str = string.Concat(strArray7); + if (File.Exists(this.gTPDFWOVIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFWOVIName[i], str); + } + } + if (bGenerateBGWithImage) + { + str2 = Path.GetDirectoryName(this.gTPDFBGIName[i]) + @"\Bg with Images"; + fileName = Path.GetFileName(this.gTPDFBGIName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray8 = new string[] { str4.Substring(0, str4.Length - 6), i.ToString(), "(Tmx", this.gsPointType[3], "S", SID, "O", OID, "B" }; + strArray8[9] = BID; + strArray8[10] = "P"; + strArray8[11] = (SP + i).ToString("000"); + strArray8[12] = this.gsPointDPI[3]; + strArray8[13] = ").pdf"; + str = string.Concat(strArray8); + if (File.Exists(this.gTPDFBGIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFBGIName[i], str); + } + } + } + else if (i < 100) + { + if (bGenerateBGWithVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFName[i]) + @"\Bg with Vector Images"; + fileName = Path.GetFileName(this.gTPDFName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray9 = new string[] { str4.Substring(0, str4.Length - 7), i.ToString(), "(Tmx", this.gsPointType[0], "S", SID, "O", OID, "B" }; + strArray9[9] = BID; + strArray9[10] = "P"; + strArray9[11] = (SP + i).ToString("000"); + strArray9[12] = this.gsPointDPI[0]; + strArray9[13] = ").pdf"; + str = string.Concat(strArray9); + if (File.Exists(this.gTPDFName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFName[i], str); + } + } + if (bGenerateVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFVIName[i]) + @"\Vector Images"; + fileName = Path.GetFileName(this.gTPDFVIName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray10 = new string[] { str4.Substring(0, str4.Length - 7), i.ToString(), "(Tmx", this.gsPointType[1], "S", SID, "O", OID, "B" }; + strArray10[9] = BID; + strArray10[10] = "P"; + strArray10[11] = (SP + i).ToString("000"); + strArray10[12] = this.gsPointDPI[1]; + strArray10[13] = ").pdf"; + str = string.Concat(strArray10); + if (File.Exists(this.gTPDFVIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFVIName[i], str); + } + } + if (bGenerateBGWithoutVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFWOVIName[i]) + @"\Bg without Vector Images"; + fileName = Path.GetFileName(this.gTPDFWOVIName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray11 = new string[] { str4.Substring(0, str4.Length - 7), i.ToString(), "(Tmx", this.gsPointType[2], "S", SID, "O", OID, "B" }; + strArray11[9] = BID; + strArray11[10] = "P"; + strArray11[11] = (SP + i).ToString("000"); + strArray11[12] = this.gsPointDPI[2]; + strArray11[13] = ").pdf"; + str = string.Concat(strArray11); + if (File.Exists(this.gTPDFWOVIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFWOVIName[i], str); + } + } + if (bGenerateBGWithImage) + { + str2 = Path.GetDirectoryName(this.gTPDFBGIName[i]) + @"\Bg with Images"; + fileName = Path.GetFileName(this.gTPDFBGIName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray12 = new string[] { str4.Substring(0, str4.Length - 7), i.ToString(), "(Tmx", this.gsPointType[3], "S", SID, "O", OID, "B" }; + strArray12[9] = BID; + strArray12[10] = "P"; + strArray12[11] = (SP + i).ToString("000"); + strArray12[12] = this.gsPointDPI[3]; + strArray12[13] = ").pdf"; + str = string.Concat(strArray12); + if (File.Exists(this.gTPDFBGIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFBGIName[i], str); + } + } + } + else + { + if (bGenerateBGWithVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFName[i]) + @"\Bg with Vector Images"; + fileName = Path.GetFileName(this.gTPDFName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray13 = new string[] { str4.Substring(0, str4.Length - 8), i.ToString(), "(Tmx", this.gsPointType[0], "S", SID, "O", OID, "B" }; + strArray13[9] = BID; + strArray13[10] = "P"; + strArray13[11] = (SP + i).ToString("000"); + strArray13[12] = this.gsPointDPI[0]; + strArray13[13] = ").pdf"; + str = string.Concat(strArray13); + if (File.Exists(this.gTPDFName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFName[i], str); + } + } + if (bGenerateVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFVIName[i]) + @"\Vector Images"; + fileName = Path.GetFileName(this.gTPDFVIName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray14 = new string[] { str4.Substring(0, str4.Length - 8), i.ToString(), "(Tmx", this.gsPointType[1], "S", SID, "O", OID, "B" }; + strArray14[9] = BID; + strArray14[10] = "P"; + strArray14[11] = (SP + i).ToString("000"); + strArray14[12] = this.gsPointDPI[1]; + strArray14[13] = ").pdf"; + str = string.Concat(strArray14); + if (File.Exists(this.gTPDFVIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFVIName[i], str); + } + } + if (bGenerateBGWithoutVImage) + { + str2 = Path.GetDirectoryName(this.gTPDFWOVIName[i]) + @"\Bg without Vector Images"; + fileName = Path.GetFileName(this.gTPDFWOVIName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray15 = new string[] { str4.Substring(0, str4.Length - 8), i.ToString(), "(Tmx", this.gsPointType[2], "S", SID, "O", OID, "B" }; + strArray15[9] = BID; + strArray15[10] = "P"; + strArray15[11] = (SP + i).ToString("000"); + strArray15[12] = this.gsPointDPI[2]; + strArray15[13] = ").pdf"; + str = string.Concat(strArray15); + if (File.Exists(this.gTPDFWOVIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFWOVIName[i], str); + } + } + if (bGenerateBGWithImage) + { + str2 = Path.GetDirectoryName(this.gTPDFBGIName[i]) + @"\Bg with Images"; + fileName = Path.GetFileName(this.gTPDFBGIName[i]); + if (!Directory.Exists(str2)) + { + Directory.CreateDirectory(str2); + } + str4 = str2 + @"\" + fileName; + string[] strArray16 = new string[] { str4.Substring(0, str4.Length - 8), i.ToString(), "(Tmx", this.gsPointType[3], "S", SID, "O", OID, "B" }; + strArray16[9] = BID; + strArray16[10] = "P"; + strArray16[11] = (SP + i).ToString("000"); + strArray16[12] = this.gsPointDPI[3]; + strArray16[13] = ").pdf"; + str = string.Concat(strArray16); + if (File.Exists(this.gTPDFBGIName[i])) + { + if (File.Exists(str)) + { + File.Delete(str); + } + File.Move(this.gTPDFBGIName[i], str); + } + } + } + } + } + + public bool TmatrixInitialize() + { + return this.oidPIGenerator.Initialize(); + } + + public string TmatrixKeyCheck(string sKey) + { + this.gbKeyValidate = false; + string[] strArray = sKey.Split(new char[] { ';' }); + if (this.DecodeLicense_TmatrixKey(strArray[0]) != strArray[1]) + { + return "1Key is not correct, it should be modified !"; + } + string[] strArray2 = strArray[0].Split(new char[] { ',' }); + if (strArray2.Length < 4) + { + return "1 It might be Old key file format, please use new key file !"; + } + if ((strArray2[3].Substring(1, 4) != "0000") && !this.CheckExpirationValidate(strArray2[3])) + { + return "1Key is expired !"; + } + if (strArray2[1].Substring(0, 1) == "O") + { + return "1Element Key has not supported yet !"; + } + this.gsSize = strArray2[0]; + this.gsBID = strArray2[1].Substring(1, 2); + this.gsPID1 = strArray2[2].Substring(1, 3); + this.gsPID2 = strArray2[2].Substring(5, 3); + this.gsExpiration = strArray2[3].Substring(1, strArray2[3].Length - 1); + this.gTotalPageID = int.Parse(this.gsBID) * 0x100; + this.gbKeyValidate = true; + return "0"; + } + + public string TmatrixKeyCheck(string sKey, int type) + { + this.gbKeyValidate = false; + string[] strArray = sKey.Split(new char[] { ';' }); + if (this.DecodeLicense_TmatrixKey(strArray[0]) != strArray[1]) + { + return "1Key is not correct, it should be modified !"; + } + string[] strArray2 = strArray[0].Split(new char[] { ',' }); + if (strArray2.Length < 4) + { + return "1Old key file format, please use new key file !"; + } + if ((strArray2[3].Substring(1, 4) != "0000") && !this.CheckExpirationValidate(strArray2[3])) + { + return "1Key is expired !"; + } + if ((strArray2[1].Substring(0, 1) == "O") && (type == 0)) + { + return "1Element Key has not supported yet !"; + } + this.gsSize = strArray2[0]; + this.gsBID = strArray2[1].Substring(1, 2); + this.gsPID1 = strArray2[2].Substring(1, 3); + this.gsPID2 = strArray2[2].Substring(5, 3); + this.gsExpiration = strArray2[3].Substring(1, strArray2[3].Length - 1); + this.gTotalPageID = int.Parse(this.gsBID) * 0x100; + this.gbKeyValidate = true; + return "0"; + } + + public string TmatrixKeyCheck_OID4(string sKey) + { + this.gbKeyValidate = false; + string[] strArray = sKey.Split(new char[] { ';' }); + if (this.DecodeLicense_TmatrixKey(strArray[0]) != strArray[1]) + { + return "1Key is not correct, it should be modified !"; + } + string[] strArray2 = strArray[0].Split(new char[] { ',' }); + if (strArray2.Length < 5) + { + return "1 It might be old key file format, please use OID4 key file !"; + } + if ((strArray2[4].Substring(1, 4) != "0000") && !this.CheckExpirationValidate(strArray2[4])) + { + // return "0"; + //return "1Key is expired ++++++++++!"; + } + this.gsSID = strArray2[0].Substring(1, 1); + this.gsOID = strArray2[1].Substring(1, 3); + this.gsBID = strArray2[2].Substring(1, 4); + this.gsPID1 = strArray2[3].Substring(1, 3); + this.gsPID2 = strArray2[3].Substring(5, 3); + this.gSID = int.Parse(this.gsSID); + this.gOID = int.Parse(this.gsOID); + this.gBID = int.Parse(this.gsBID); + this.gPID1 = int.Parse(this.gsPID1); + this.gPID2 = int.Parse(this.gsPID2); + this.gsExpiration = strArray2[4].Substring(1, strArray2[4].Length - 1); + this.gTotalPageID = int.Parse(this.gsBID) * 0x100; + this.gbKeyValidate = true; + return "0"; + } + + public string TmatrixKeyCheck_OID4(string sKey, int type) + { + this.gbKeyValidate = false; + string[] strArray = sKey.Split(new char[] { ';' }); + if (this.DecodeLicense_TmatrixKey(strArray[0]) != strArray[1]) + { + return "1Key is not correct, it should be modified !"; + } + string[] strArray2 = strArray[0].Split(new char[] { ',' }); + if (strArray2.Length < 5) + { + return "1Old key file format, please use new key file !"; + } + if ((strArray2[4].Substring(1, 4) != "0000") && !this.CheckExpirationValidate(strArray2[4])) + { + return "1Key is expired !"; + } + if ((strArray2[1].Substring(0, 1) == "O") && (type == 0)) + { + return "1Element Key has not supported yet !"; + } + if (type != 0x63) + { + this.gsSID = strArray2[0].Substring(1, 1); + this.gsOID = strArray2[1].Substring(1, 3); + this.gsBID = strArray2[2].Substring(1, 4); + this.gsPID1 = strArray2[3].Substring(1, 3); + this.gsPID2 = strArray2[3].Substring(5, 3); + this.gSID = int.Parse(this.gsSID); + this.gOID = int.Parse(this.gsOID); + this.gBID = int.Parse(this.gsBID); + this.gPID1 = int.Parse(this.gsPID1); + this.gPID2 = int.Parse(this.gsPID2); + this.gsExpiration = strArray2[4].Substring(1, strArray2[4].Length - 1); + this.gbKeyValidate = true; + } + return "0"; + } + + public void TmatrixUninitialize() + { + this.oidPIGenerator.Uninitialize(); + } + } +} diff --git a/TmatrixCodeGenerator/TmatrixSDK_OID4.csproj b/TmatrixCodeGenerator/TmatrixSDK_OID4.csproj new file mode 100644 index 0000000..7b42a54 --- /dev/null +++ b/TmatrixCodeGenerator/TmatrixSDK_OID4.csproj @@ -0,0 +1,170 @@ + + + + + Debug + AnyCPU + {657EF1B5-592E-4D99-B2D6-E2A1BDAD6DEA} + WinExe + Properties + TmatrixCodeGenerator + TmatrixCodeGenerator + v4.0 + 512 + + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + x86 + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + TmatrixCodeGenerator.ico + + + + False + True + ..\..\..\..\..\..\Program Files (x86)\Microsoft Visual Studio 12.0\Visual Studio Tools for Office\PIA\Common\adodb.dll + + + False + bin\FinalDLL\AxInterop.AcroPDFLib.dll + + + bin\FinalDLL\DocumentTools.dll + + + bin\FinalDLL\DrawToolsLib.dll + + + bin\FinalDLL\itextsharp.dll + + + + + + + + + + + + + + + + + Form + + + GenerateCode_Form.cs + + + + + + Form + + + Tmatrix_Form.cs + + + + + GenerateCode_Form.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + Tmatrix_Form.cs + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + {E64169B3-3592-47D2-816E-602C5C13F328} + 1 + 1 + 0 + tlbimp + False + True + + + {05BFD3F1-6319-4F30-B752-C7A22889BCC4} + 1 + 0 + 0 + tlbimp + False + True + + + {7CD06992-50AA-11D1-B8F0-00A0C9259304} + 1 + 0 + 0 + tlbimp + False + True + + + {00020430-0000-0000-C000-000000000046} + 2 + 0 + 0 + primary + False + True + + + + + + + + + + + \ No newline at end of file diff --git a/TmatrixCodeGenerator/TmatrixSDK_OID4.csproj.user b/TmatrixCodeGenerator/TmatrixSDK_OID4.csproj.user new file mode 100644 index 0000000..b4af33b --- /dev/null +++ b/TmatrixCodeGenerator/TmatrixSDK_OID4.csproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/TmatrixCodeGenerator/Tmatrix_Form.Designer.cs b/TmatrixCodeGenerator/Tmatrix_Form.Designer.cs new file mode 100644 index 0000000..cf992e4 --- /dev/null +++ b/TmatrixCodeGenerator/Tmatrix_Form.Designer.cs @@ -0,0 +1,590 @@ +namespace TmatrixCodeGenerator +{ + partial class Tmatrix_Form + { + /// + /// 設計工具所需的變數。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清除任何使用中的資源。 + /// + /// 如果應該處置 Managed 資源則為 true,否則為 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form 設計工具產生的程式碼 + + /// + /// 此為設計工具支援所需的方法 - 請勿使用程式碼編輯器 + /// 修改這個方法的內容。 + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Tmatrix_Form)); + this.SelectTmatrixKey_button = new System.Windows.Forms.Button(); + this.SelectPDF_button = new System.Windows.Forms.Button(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.SID_textBox = new System.Windows.Forms.TextBox(); + this.label7 = new System.Windows.Forms.Label(); + this.OID_textBox = new System.Windows.Forms.TextBox(); + this.label14 = new System.Windows.Forms.Label(); + this.Expiration_textBox = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.PID2_textBox = new System.Windows.Forms.TextBox(); + this.label3 = new System.Windows.Forms.Label(); + this.PID1_textBox = new System.Windows.Forms.TextBox(); + this.label2 = new System.Windows.Forms.Label(); + this.BID_textBox = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.PDF_groupBox = new System.Windows.Forms.GroupBox(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.label13 = new System.Windows.Forms.Label(); + this.label12 = new System.Windows.Forms.Label(); + this.label11 = new System.Windows.Forms.Label(); + this.GeneratePartialCode_button = new System.Windows.Forms.Button(); + this.label10 = new System.Windows.Forms.Label(); + this.label9 = new System.Windows.Forms.Label(); + this.label8 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.H3_textBox = new System.Windows.Forms.TextBox(); + this.H2_textBox = new System.Windows.Forms.TextBox(); + this.H1_textBox = new System.Windows.Forms.TextBox(); + this.W3_textBox = new System.Windows.Forms.TextBox(); + this.W2_textBox = new System.Windows.Forms.TextBox(); + this.W1_textBox = new System.Windows.Forms.TextBox(); + this.Y3_textBox = new System.Windows.Forms.TextBox(); + this.Y2_textBox = new System.Windows.Forms.TextBox(); + this.Y1_textBox = new System.Windows.Forms.TextBox(); + this.X3_textBox = new System.Windows.Forms.TextBox(); + this.X2_textBox = new System.Windows.Forms.TextBox(); + this.X1_textBox = new System.Windows.Forms.TextBox(); + this.GenerateTmatrixCode_button = new System.Windows.Forms.Button(); + this.FName_textBox = new System.Windows.Forms.TextBox(); + this.SPID_textBox = new System.Windows.Forms.TextBox(); + this.label5 = new System.Windows.Forms.Label(); + this.Exit_button = new System.Windows.Forms.Button(); + this.panel1 = new System.Windows.Forms.Panel(); + this.groupBox1.SuspendLayout(); + this.PDF_groupBox.SuspendLayout(); + this.groupBox2.SuspendLayout(); + this.SuspendLayout(); + // + // SelectTmatrixKey_button + // + this.SelectTmatrixKey_button.Location = new System.Drawing.Point(10, 41); + this.SelectTmatrixKey_button.Name = "SelectTmatrixKey_button"; + this.SelectTmatrixKey_button.Size = new System.Drawing.Size(174, 37); + this.SelectTmatrixKey_button.TabIndex = 3; + this.SelectTmatrixKey_button.Text = "Select Tmatrix Key"; + this.SelectTmatrixKey_button.UseVisualStyleBackColor = true; + this.SelectTmatrixKey_button.Click += new System.EventHandler(this.SelectTmatrixKey_button_Click); + // + // SelectPDF_button + // + this.SelectPDF_button.Location = new System.Drawing.Point(17, 41); + this.SelectPDF_button.Name = "SelectPDF_button"; + this.SelectPDF_button.Size = new System.Drawing.Size(146, 37); + this.SelectPDF_button.TabIndex = 4; + this.SelectPDF_button.Text = "Select PDF File"; + this.SelectPDF_button.UseVisualStyleBackColor = true; + this.SelectPDF_button.Click += new System.EventHandler(this.SelectPDF_button_Click); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.SID_textBox); + this.groupBox1.Controls.Add(this.label7); + this.groupBox1.Controls.Add(this.OID_textBox); + this.groupBox1.Controls.Add(this.label14); + this.groupBox1.Controls.Add(this.Expiration_textBox); + this.groupBox1.Controls.Add(this.label4); + this.groupBox1.Controls.Add(this.PID2_textBox); + this.groupBox1.Controls.Add(this.label3); + this.groupBox1.Controls.Add(this.PID1_textBox); + this.groupBox1.Controls.Add(this.label2); + this.groupBox1.Controls.Add(this.BID_textBox); + this.groupBox1.Controls.Add(this.label1); + this.groupBox1.Controls.Add(this.SelectTmatrixKey_button); + this.groupBox1.Location = new System.Drawing.Point(18, 17); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(683, 158); + this.groupBox1.TabIndex = 5; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "Tmatrix Key"; + // + // SID_textBox + // + this.SID_textBox.ForeColor = System.Drawing.Color.Navy; + this.SID_textBox.Location = new System.Drawing.Point(293, 47); + this.SID_textBox.Name = "SID_textBox"; + this.SID_textBox.ReadOnly = true; + this.SID_textBox.Size = new System.Drawing.Size(55, 29); + this.SID_textBox.TabIndex = 19; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(186, 49); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(103, 23); + this.label7.TabIndex = 18; + this.label7.Text = "Section ID :"; + // + // OID_textBox + // + this.OID_textBox.ForeColor = System.Drawing.Color.Navy; + this.OID_textBox.Location = new System.Drawing.Point(450, 47); + this.OID_textBox.Name = "OID_textBox"; + this.OID_textBox.ReadOnly = true; + this.OID_textBox.Size = new System.Drawing.Size(55, 29); + this.OID_textBox.TabIndex = 17; + // + // label14 + // + this.label14.AutoSize = true; + this.label14.Location = new System.Drawing.Point(356, 49); + this.label14.Name = "label14"; + this.label14.Size = new System.Drawing.Size(95, 23); + this.label14.TabIndex = 16; + this.label14.Text = "Owner ID :"; + // + // Expiration_textBox + // + this.Expiration_textBox.ForeColor = System.Drawing.Color.Navy; + this.Expiration_textBox.Location = new System.Drawing.Point(453, 100); + this.Expiration_textBox.Name = "Expiration_textBox"; + this.Expiration_textBox.ReadOnly = true; + this.Expiration_textBox.Size = new System.Drawing.Size(135, 29); + this.Expiration_textBox.TabIndex = 11; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(349, 102); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(100, 23); + this.label4.TabIndex = 10; + this.label4.Text = "Expiration :"; + // + // PID2_textBox + // + this.PID2_textBox.ForeColor = System.Drawing.Color.Navy; + this.PID2_textBox.Location = new System.Drawing.Point(264, 100); + this.PID2_textBox.Name = "PID2_textBox"; + this.PID2_textBox.ReadOnly = true; + this.PID2_textBox.Size = new System.Drawing.Size(69, 29); + this.PID2_textBox.TabIndex = 9; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(229, 102); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(31, 23); + this.label3.TabIndex = 8; + this.label3.Text = "To"; + // + // PID1_textBox + // + this.PID1_textBox.ForeColor = System.Drawing.Color.Navy; + this.PID1_textBox.Location = new System.Drawing.Point(155, 100); + this.PID1_textBox.Name = "PID1_textBox"; + this.PID1_textBox.ReadOnly = true; + this.PID1_textBox.Size = new System.Drawing.Size(69, 29); + this.PID1_textBox.TabIndex = 7; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(20, 102); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(129, 23); + this.label2.TabIndex = 6; + this.label2.Text = "Page ID : From"; + // + // BID_textBox + // + this.BID_textBox.ForeColor = System.Drawing.Color.Navy; + this.BID_textBox.Location = new System.Drawing.Point(598, 48); + this.BID_textBox.Name = "BID_textBox"; + this.BID_textBox.ReadOnly = true; + this.BID_textBox.Size = new System.Drawing.Size(70, 29); + this.BID_textBox.TabIndex = 5; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(508, 50); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(84, 23); + this.label1.TabIndex = 4; + this.label1.Text = "Book ID :"; + // + // PDF_groupBox + // + this.PDF_groupBox.Controls.Add(this.groupBox2); + this.PDF_groupBox.Controls.Add(this.GenerateTmatrixCode_button); + this.PDF_groupBox.Controls.Add(this.FName_textBox); + this.PDF_groupBox.Controls.Add(this.SPID_textBox); + this.PDF_groupBox.Controls.Add(this.label5); + this.PDF_groupBox.Controls.Add(this.SelectPDF_button); + this.PDF_groupBox.Enabled = false; + this.PDF_groupBox.Location = new System.Drawing.Point(18, 189); + this.PDF_groupBox.Name = "PDF_groupBox"; + this.PDF_groupBox.Size = new System.Drawing.Size(683, 275); + this.PDF_groupBox.TabIndex = 6; + this.PDF_groupBox.TabStop = false; + this.PDF_groupBox.Text = "Select PDF to Generate Tmatrix Code"; + // + // groupBox2 + // + this.groupBox2.Controls.Add(this.label13); + this.groupBox2.Controls.Add(this.label12); + this.groupBox2.Controls.Add(this.label11); + this.groupBox2.Controls.Add(this.GeneratePartialCode_button); + this.groupBox2.Controls.Add(this.label10); + this.groupBox2.Controls.Add(this.label9); + this.groupBox2.Controls.Add(this.label8); + this.groupBox2.Controls.Add(this.label6); + this.groupBox2.Controls.Add(this.H3_textBox); + this.groupBox2.Controls.Add(this.H2_textBox); + this.groupBox2.Controls.Add(this.H1_textBox); + this.groupBox2.Controls.Add(this.W3_textBox); + this.groupBox2.Controls.Add(this.W2_textBox); + this.groupBox2.Controls.Add(this.W1_textBox); + this.groupBox2.Controls.Add(this.Y3_textBox); + this.groupBox2.Controls.Add(this.Y2_textBox); + this.groupBox2.Controls.Add(this.Y1_textBox); + this.groupBox2.Controls.Add(this.X3_textBox); + this.groupBox2.Controls.Add(this.X2_textBox); + this.groupBox2.Controls.Add(this.X1_textBox); + this.groupBox2.Location = new System.Drawing.Point(17, 85); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Size = new System.Drawing.Size(602, 174); + this.groupBox2.TabIndex = 13; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "Partial Area Code"; + // + // label13 + // + this.label13.AutoSize = true; + this.label13.Location = new System.Drawing.Point(3, 134); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(30, 23); + this.label13.TabIndex = 21; + this.label13.Text = "P3"; + // + // label12 + // + this.label12.AutoSize = true; + this.label12.Location = new System.Drawing.Point(3, 100); + this.label12.Name = "label12"; + this.label12.Size = new System.Drawing.Size(30, 23); + this.label12.TabIndex = 20; + this.label12.Text = "P2"; + // + // label11 + // + this.label11.AutoSize = true; + this.label11.Location = new System.Drawing.Point(3, 65); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(30, 23); + this.label11.TabIndex = 19; + this.label11.Text = "P1"; + // + // GeneratePartialCode_button + // + this.GeneratePartialCode_button.Font = new System.Drawing.Font("Microsoft YaHei UI", 10.2F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.GeneratePartialCode_button.Location = new System.Drawing.Point(395, 88); + this.GeneratePartialCode_button.Name = "GeneratePartialCode_button"; + this.GeneratePartialCode_button.Size = new System.Drawing.Size(187, 72); + this.GeneratePartialCode_button.TabIndex = 18; + this.GeneratePartialCode_button.Text = "Generate Partial Code"; + this.GeneratePartialCode_button.UseVisualStyleBackColor = true; + this.GeneratePartialCode_button.Click += new System.EventHandler(this.GeneratePartialCode_button_Click); + // + // label10 + // + this.label10.AutoSize = true; + this.label10.Location = new System.Drawing.Point(306, 30); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(65, 23); + this.label10.TabIndex = 15; + this.label10.Text = "Height"; + // + // label9 + // + this.label9.AutoSize = true; + this.label9.Location = new System.Drawing.Point(222, 31); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(59, 23); + this.label9.TabIndex = 14; + this.label9.Text = "Width"; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(126, 30); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(69, 23); + this.label8.TabIndex = 13; + this.label8.Text = "Y (Top)"; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(34, 30); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(69, 23); + this.label6.TabIndex = 12; + this.label6.Text = "X (Left)"; + // + // H3_textBox + // + this.H3_textBox.ImeMode = System.Windows.Forms.ImeMode.Alpha; + this.H3_textBox.Location = new System.Drawing.Point(306, 131); + this.H3_textBox.Name = "H3_textBox"; + this.H3_textBox.Size = new System.Drawing.Size(69, 29); + this.H3_textBox.TabIndex = 11; + this.H3_textBox.Text = "1500"; + // + // H2_textBox + // + this.H2_textBox.ImeMode = System.Windows.Forms.ImeMode.Alpha; + this.H2_textBox.Location = new System.Drawing.Point(306, 96); + this.H2_textBox.Name = "H2_textBox"; + this.H2_textBox.Size = new System.Drawing.Size(69, 29); + this.H2_textBox.TabIndex = 10; + this.H2_textBox.Text = "1500"; + // + // H1_textBox + // + this.H1_textBox.ImeMode = System.Windows.Forms.ImeMode.Alpha; + this.H1_textBox.Location = new System.Drawing.Point(306, 61); + this.H1_textBox.Name = "H1_textBox"; + this.H1_textBox.Size = new System.Drawing.Size(69, 29); + this.H1_textBox.TabIndex = 9; + this.H1_textBox.Text = "1500"; + // + // W3_textBox + // + this.W3_textBox.ImeMode = System.Windows.Forms.ImeMode.Alpha; + this.W3_textBox.Location = new System.Drawing.Point(217, 132); + this.W3_textBox.Name = "W3_textBox"; + this.W3_textBox.Size = new System.Drawing.Size(69, 29); + this.W3_textBox.TabIndex = 8; + this.W3_textBox.Text = "1500"; + // + // W2_textBox + // + this.W2_textBox.ImeMode = System.Windows.Forms.ImeMode.Alpha; + this.W2_textBox.Location = new System.Drawing.Point(217, 97); + this.W2_textBox.Name = "W2_textBox"; + this.W2_textBox.Size = new System.Drawing.Size(69, 29); + this.W2_textBox.TabIndex = 7; + this.W2_textBox.Text = "1500"; + // + // W1_textBox + // + this.W1_textBox.ImeMode = System.Windows.Forms.ImeMode.Alpha; + this.W1_textBox.Location = new System.Drawing.Point(217, 62); + this.W1_textBox.Name = "W1_textBox"; + this.W1_textBox.Size = new System.Drawing.Size(69, 29); + this.W1_textBox.TabIndex = 6; + this.W1_textBox.Text = "1500"; + // + // Y3_textBox + // + this.Y3_textBox.ImeMode = System.Windows.Forms.ImeMode.Alpha; + this.Y3_textBox.Location = new System.Drawing.Point(126, 132); + this.Y3_textBox.Name = "Y3_textBox"; + this.Y3_textBox.Size = new System.Drawing.Size(69, 29); + this.Y3_textBox.TabIndex = 5; + this.Y3_textBox.Text = "3000"; + // + // Y2_textBox + // + this.Y2_textBox.ImeMode = System.Windows.Forms.ImeMode.Alpha; + this.Y2_textBox.Location = new System.Drawing.Point(126, 97); + this.Y2_textBox.Name = "Y2_textBox"; + this.Y2_textBox.Size = new System.Drawing.Size(69, 29); + this.Y2_textBox.TabIndex = 4; + this.Y2_textBox.Text = "1500"; + // + // Y1_textBox + // + this.Y1_textBox.ImeMode = System.Windows.Forms.ImeMode.Alpha; + this.Y1_textBox.Location = new System.Drawing.Point(126, 62); + this.Y1_textBox.Name = "Y1_textBox"; + this.Y1_textBox.Size = new System.Drawing.Size(69, 29); + this.Y1_textBox.TabIndex = 3; + this.Y1_textBox.Text = "0"; + // + // X3_textBox + // + this.X3_textBox.ImeMode = System.Windows.Forms.ImeMode.Alpha; + this.X3_textBox.Location = new System.Drawing.Point(33, 132); + this.X3_textBox.Name = "X3_textBox"; + this.X3_textBox.Size = new System.Drawing.Size(69, 29); + this.X3_textBox.TabIndex = 2; + this.X3_textBox.Text = "3000"; + // + // X2_textBox + // + this.X2_textBox.ImeMode = System.Windows.Forms.ImeMode.Alpha; + this.X2_textBox.Location = new System.Drawing.Point(33, 97); + this.X2_textBox.Name = "X2_textBox"; + this.X2_textBox.Size = new System.Drawing.Size(69, 29); + this.X2_textBox.TabIndex = 1; + this.X2_textBox.Text = "1500"; + // + // X1_textBox + // + this.X1_textBox.ImeMode = System.Windows.Forms.ImeMode.Alpha; + this.X1_textBox.Location = new System.Drawing.Point(33, 62); + this.X1_textBox.Name = "X1_textBox"; + this.X1_textBox.Size = new System.Drawing.Size(69, 29); + this.X1_textBox.TabIndex = 0; + this.X1_textBox.Text = "0"; + // + // GenerateTmatrixCode_button + // + this.GenerateTmatrixCode_button.Font = new System.Drawing.Font("Microsoft YaHei UI", 10.2F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.GenerateTmatrixCode_button.Location = new System.Drawing.Point(398, 42); + this.GenerateTmatrixCode_button.Name = "GenerateTmatrixCode_button"; + this.GenerateTmatrixCode_button.Size = new System.Drawing.Size(201, 37); + this.GenerateTmatrixCode_button.TabIndex = 1; + this.GenerateTmatrixCode_button.Text = "Generate Code"; + this.GenerateTmatrixCode_button.UseVisualStyleBackColor = true; + this.GenerateTmatrixCode_button.Click += new System.EventHandler(this.GenerateTmatrixCode_button_Click); + // + // FName_textBox + // + this.FName_textBox.Font = new System.Drawing.Font("Microsoft YaHei UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.FName_textBox.ForeColor = System.Drawing.Color.Navy; + this.FName_textBox.Location = new System.Drawing.Point(18, 302); + this.FName_textBox.Name = "FName_textBox"; + this.FName_textBox.Size = new System.Drawing.Size(539, 27); + this.FName_textBox.TabIndex = 12; + this.FName_textBox.Visible = false; + // + // SPID_textBox + // + this.SPID_textBox.ForeColor = System.Drawing.Color.Navy; + this.SPID_textBox.ImeMode = System.Windows.Forms.ImeMode.Alpha; + this.SPID_textBox.Location = new System.Drawing.Point(297, 47); + this.SPID_textBox.Name = "SPID_textBox"; + this.SPID_textBox.Size = new System.Drawing.Size(74, 29); + this.SPID_textBox.TabIndex = 7; + this.SPID_textBox.Text = "0"; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(169, 49); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(124, 23); + this.label5.TabIndex = 6; + this.label5.Text = "Start Page ID :"; + // + // Exit_button + // + this.Exit_button.Location = new System.Drawing.Point(632, 481); + this.Exit_button.Name = "Exit_button"; + this.Exit_button.Size = new System.Drawing.Size(69, 37); + this.Exit_button.TabIndex = 8; + this.Exit_button.Text = "Exit"; + this.Exit_button.UseVisualStyleBackColor = true; + this.Exit_button.Click += new System.EventHandler(this.Exit_button_Click); + // + // panel1 + // + this.panel1.Location = new System.Drawing.Point(374, 565); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(38, 22); + this.panel1.TabIndex = 10; + this.panel1.Visible = false; + // + // Tmatrix_Form + // + this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 23F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(716, 528); + this.Controls.Add(this.panel1); + this.Controls.Add(this.Exit_button); + this.Controls.Add(this.PDF_groupBox); + this.Controls.Add(this.groupBox1); + this.Font = new System.Drawing.Font("Microsoft YaHei UI", 10.2F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.ForeColor = System.Drawing.Color.Navy; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.MaximizeBox = false; + this.Name = "Tmatrix_Form"; + this.Text = "Tmatrix Code Generator OID4 (V1.1.1)"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Tmatrix_Form_FormClosing); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + this.PDF_groupBox.ResumeLayout(false); + this.PDF_groupBox.PerformLayout(); + this.groupBox2.ResumeLayout(false); + this.groupBox2.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Button SelectTmatrixKey_button; + private System.Windows.Forms.Button SelectPDF_button; + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.TextBox Expiration_textBox; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.TextBox PID2_textBox; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.TextBox PID1_textBox; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.TextBox BID_textBox; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.GroupBox PDF_groupBox; + private System.Windows.Forms.TextBox SPID_textBox; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.Button GenerateTmatrixCode_button; + private System.Windows.Forms.TextBox FName_textBox; + private System.Windows.Forms.Button Exit_button; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.GroupBox groupBox2; + private System.Windows.Forms.TextBox X2_textBox; + private System.Windows.Forms.TextBox X1_textBox; + private System.Windows.Forms.Button GeneratePartialCode_button; + private System.Windows.Forms.Label label10; + private System.Windows.Forms.Label label9; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.TextBox H3_textBox; + private System.Windows.Forms.TextBox H2_textBox; + private System.Windows.Forms.TextBox H1_textBox; + private System.Windows.Forms.TextBox W3_textBox; + private System.Windows.Forms.TextBox W2_textBox; + private System.Windows.Forms.TextBox W1_textBox; + private System.Windows.Forms.TextBox Y3_textBox; + private System.Windows.Forms.TextBox Y2_textBox; + private System.Windows.Forms.TextBox Y1_textBox; + private System.Windows.Forms.TextBox X3_textBox; + private System.Windows.Forms.Label label13; + private System.Windows.Forms.Label label12; + private System.Windows.Forms.Label label11; + private System.Windows.Forms.TextBox SID_textBox; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.TextBox OID_textBox; + private System.Windows.Forms.Label label14; + } +} + diff --git a/TmatrixCodeGenerator/Tmatrix_Form.cs b/TmatrixCodeGenerator/Tmatrix_Form.cs new file mode 100644 index 0000000..56ad282 --- /dev/null +++ b/TmatrixCodeGenerator/Tmatrix_Form.cs @@ -0,0 +1,301 @@ +using System; +using System.IO; +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.Runtime.InteropServices; + +using Acrobat; +using DocumentTools; +using DrawToolsLib; +using AxAcroPDFLib; +using AcroPDFLib; +using iTextSharp.text.pdf; + +using TmatrixLibrary; + +namespace TmatrixCodeGenerator +{ + public partial class Tmatrix_Form : Form + { + StreamReader gsr; + string TMXFileName, PDFFileName, gKeyStr; + TmatrixClass TMC = new TmatrixClass(); + public static string gPrintFileName; + string gDirectory = Application.StartupPath; + string gFileName = ""; + bool gbInitDone = false; + //string gUserName = ""; + //string gPassword = ""; + + enum TMATRIX_POINT_TYPE + { + TmatrixPointType_2x2 = 0, // 2x2 Point Type + TmatrixPointType_3x3 = 1, // 3x3 Point Type + }; + enum TMATRIX_OBJECT_TYPE + { + TMATRIX_OT_ElementCode = 0, // 此类型对象的Index范围是:75497472~83886079(十六进制为:0x04800000~0x04ffffff) + TMATRIX_OT_PositionCode, // 此类型对象没有Index + }; + + public Tmatrix_Form() + { + InitializeComponent(); + if (TMC.TmatrixInitialize() == false) + { + MessageBox.Show(this, "Tmatrix code generator initialize fail !", "Tmatrix Code Generator", MessageBoxButtons.OK, MessageBoxIcon.Error); + Close(); + } + else + { + gbInitDone = true; + } + } + private void GenerateCode() + { + GenerateCode_Form dialog = new GenerateCode_Form(); + dialog.ShowDialog(); + if (GlobalClass.gbGenPageSet == false) return; + if (gbInitDone == false) + { + MessageBox.Show(this, "Tmatrix code generator initialize fail !", "Tmatrix Code Generator", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + int SPID = 0; + try + { + SPID = int.Parse(SPID_textBox.Text); + } + catch + { + MessageBox.Show(this, "Please input correct format for start page ID !", "Tmatrix Code Generator", MessageBoxButtons.OK, MessageBoxIcon.Warning); + return; + } + MessageBox.Show(this, "Generating Tmatrix code...........", "Tmatrix Code Generator", MessageBoxButtons.OK, MessageBoxIcon.Information); + this.Hide(); + //int PointType = (int)(TMATRIX_POINT_TYPE.TmatrixPointType_3x3); + //string sGenerateResult = TMC.GenerateTmatrixCode(gKeyStr, PDFFileName, SPID, PointType, GlobalClass.gbGenerateBGWithVImage, GlobalClass.gbGenerateVImage, GlobalClass.gbGenerateBGWithoutVImage, GlobalClass.gbGenerateBGWithImage); + bool[] bPublishImageType = new bool[4]; + bPublishImageType[0] = GlobalClass.gbGenerateBGWithVImage; + bPublishImageType[1] = GlobalClass.gbGenerateVImage; + bPublishImageType[2] = GlobalClass.gbGenerateBGWithoutVImage; + bPublishImageType[3] = GlobalClass.gbGenerateBGWithImage; + + string sGenerateResult = TMC.GenerateTmatrixCode_OID4(gKeyStr, PDFFileName, SPID, GlobalClass.gPointType, bPublishImageType, GlobalClass.gPointDPI); + if (sGenerateResult.Substring(0, 1) == "1") + { + this.Show(); + MessageBox.Show(this, sGenerateResult.Substring(1, sGenerateResult.Length - 1), "Tmatrix Code Generator", MessageBoxButtons.OK, MessageBoxIcon.Warning); + } + else if (sGenerateResult.Substring(0, 1) == "0") + { + gDirectory = Path.GetDirectoryName(PDFFileName); + gFileName = Path.GetFileName(PDFFileName); + /* + gDirectory += "\\"; + string WFName = gFileName.Substring(0, gFileName.Length - 4) + "_*.PDF"; + string[] files = Directory.GetFiles(@gDirectory, WFName); + int i; + string Pfile; + File_listBox.Items.Clear(); + for (i = 0; i < files.Length; i++) + { + Pfile = Path.GetFileName(files[i]); + File_listBox.Items.Add(Pfile); + File_listBox.SelectedIndex = File_listBox.Items.Count - 1; + } + */ + this.Show(); + MessageBox.Show(this, sGenerateResult.Substring(1, sGenerateResult.Length - 1), "Tmatrix Code Generator", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + return; + + } + private void GenerateCode_old() + { + GenerateCode_Form dialog = new GenerateCode_Form(); + dialog.ShowDialog(); + if (GlobalClass.gbGenPageSet == false) return; + if (gbInitDone == false) + { + MessageBox.Show(this, "Tmatrix code generator initialize fail !", "Tmatrix Code Generator", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + int SPID = 0; + try + { + SPID = int.Parse(SPID_textBox.Text); + } + catch + { + MessageBox.Show(this, "Please input correct format for start page ID !", "Tmatrix Code Generator", MessageBoxButtons.OK, MessageBoxIcon.Warning); + return; + } + MessageBox.Show(this, "Generating Tmatrix code...........", "Tmatrix Code Generator", MessageBoxButtons.OK, MessageBoxIcon.Information); + this.Hide(); + int PointType = (int)(TMATRIX_POINT_TYPE.TmatrixPointType_3x3); + string sGenerateResult = TMC.GenerateTmatrixCode(gKeyStr, PDFFileName, SPID, PointType, GlobalClass.gbGenerateBGWithVImage, GlobalClass.gbGenerateVImage, GlobalClass.gbGenerateBGWithoutVImage, GlobalClass.gbGenerateBGWithImage); + if (sGenerateResult.Substring(0, 1) == "1") + { + this.Show(); + MessageBox.Show(this, sGenerateResult.Substring(1, sGenerateResult.Length - 1), "Tmatrix Code Generator", MessageBoxButtons.OK, MessageBoxIcon.Warning); + } + else if (sGenerateResult.Substring(0, 1) == "0") + { + gDirectory = Path.GetDirectoryName(PDFFileName); + gFileName = Path.GetFileName(PDFFileName); + this.Show(); + MessageBox.Show(this, sGenerateResult.Substring(1, sGenerateResult.Length - 1), "Tmatrix Code Generator", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + return; + + } + private void GenerateTmatrixCode_button_Click(object sender, EventArgs e) + { + GenerateCode(); + } + + private void SelectPDF_button_Click(object sender, EventArgs e) + { + OpenFileDialog OpenDlg = new OpenFileDialog(); + OpenDlg.FileName = ""; + OpenDlg.DefaultExt = "pdf"; + OpenDlg.Filter = "PDF Files (*.pdf)|*.pdf"; + if (OpenDlg.ShowDialog() == DialogResult.OK) { + PDFFileName = OpenDlg.FileName; + FName_textBox.Text = PDFFileName; + } + } + + private void Exit_button_Click(object sender, EventArgs e) + { + Close(); + } + private void SelectTmatrixKey_button_Click(object sender, EventArgs e) + { + OpenFileDialog OpenDlg = new OpenFileDialog(); + OpenDlg.FileName = ""; + OpenDlg.DefaultExt = "tmx"; + OpenDlg.Filter = "TMX Files (*.tmx)|*.tmx"; + if (OpenDlg.ShowDialog() == DialogResult.OK) + { + BID_textBox.Text = ""; + PID1_textBox.Text = ""; + PID2_textBox.Text = ""; + Expiration_textBox.Text = ""; + PDF_groupBox.Enabled = false; + PDFFileName = ""; + TMXFileName = OpenDlg.FileName; + //MessageBox.Show(TMXFileName); + gsr = new StreamReader(TMXFileName); + gKeyStr = gsr.ReadLine(); + gsr.Close(); + string KeyCheckResult = TMC.TmatrixKeyCheck_OID4(gKeyStr); + + if (KeyCheckResult.Substring(0, 1) == "1") + { + MessageBox.Show(this, KeyCheckResult.Substring(1, KeyCheckResult.Length - 1), "Tmatrix Code Generator", MessageBoxButtons.OK, MessageBoxIcon.Warning); + } + else if (KeyCheckResult.Substring(0, 1) == "0") + { + string[] s = gKeyStr.Split(';'); + string[] s1 = s[0].Split(','); + SID_textBox.Text = s1[0].Substring(1, 1); + OID_textBox.Text = s1[1].Substring(1, 3); + BID_textBox.Text = s1[2].Substring(1, 4); + PID1_textBox.Text = s1[3].Substring(1, 3); + PID2_textBox.Text = s1[3].Substring(5, 3); + Expiration_textBox.Text = s1[4].Substring(1, s1[4].Length - 1); + PDF_groupBox.Enabled = true; + } + } + } + private void Tmatrix_Form_FormClosing(object sender, FormClosingEventArgs e) + { + TMC.TmatrixUninitialize(); + } + private void GeneratePartialCode() + { + GenerateCode_Form dialog = new GenerateCode_Form(); + dialog.ShowDialog(); + if (GlobalClass.gbGenPageSet == false) return; + if (gbInitDone == false) + { + MessageBox.Show(this, "Tmatrix code generator initialize fail !", "Tmatrix Code Generator", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + int SPID = 0; + try + { + SPID = int.Parse(SPID_textBox.Text); + } + catch + { + MessageBox.Show(this, "Please input correct format for start page ID !", "Tmatrix Code Generator", MessageBoxButtons.OK, MessageBoxIcon.Warning); + return; + } + MessageBox.Show(this, "Generating Tmatrix code...........", "Tmatrix Code Generator", MessageBoxButtons.OK, MessageBoxIcon.Information); + this.Hide(); + //int PointType = (int)(TMATRIX_POINT_TYPE.TmatrixPointType_3x3); + + //256 is for Total Pages, 10 is for partial area in each page, this is just a sample program, area no can be expanded by yourself. + UInt32[][] Tx = new UInt32[256][]; + UInt32[][] Ty = new UInt32[256][]; + UInt32[][] Tw = new UInt32[256][]; + UInt32[][] Th = new UInt32[256][]; + int i; + for (i = 0; i < 256; i++) + { + Tx[i] = new UInt32[10]; + Ty[i] = new UInt32[10]; + Tw[i] = new UInt32[10]; + Th[i] = new UInt32[10]; + } + Tx[0][0] = UInt32.Parse(X1_textBox.Text); + Tx[1][0] = UInt32.Parse(X2_textBox.Text); + Tx[2][0] = UInt32.Parse(X3_textBox.Text); + Ty[0][0] = UInt32.Parse(Y1_textBox.Text); + Ty[1][0] = UInt32.Parse(Y2_textBox.Text); + Ty[2][0] = UInt32.Parse(Y3_textBox.Text); + Tw[0][0] = UInt32.Parse(W1_textBox.Text); + Tw[1][0] = UInt32.Parse(W2_textBox.Text); + Tw[2][0] = UInt32.Parse(W3_textBox.Text); + Th[0][0] = UInt32.Parse(H1_textBox.Text); + Th[1][0] = UInt32.Parse(H2_textBox.Text); + Th[2][0] = UInt32.Parse(H3_textBox.Text); + Tw[0][1] = 0; + Tw[1][1] = 0; + Tw[2][1] = 0; + Th[0][1] = 0; + Th[1][1] = 0; + Th[2][1] = 0; + + //string sGenerateResult = TMC.GenerateTmatrixCodeByArea(gKeyStr, PDFFileName, SPID, PointType, GlobalClass.gbGenerateBGWithVImage, GlobalClass.gbGenerateVImage, GlobalClass.gbGenerateBGWithoutVImage, GlobalClass.gbGenerateBGWithImage,Tx, Ty, Tw, Th); + string sGenerateResult = TMC.GenerateTmatrixCodeByArea_OID4(gKeyStr, PDFFileName, SPID, GlobalClass.gPointType, GlobalClass.gPointDPI, GlobalClass.gbGenerateBGWithVImage, GlobalClass.gbGenerateVImage, GlobalClass.gbGenerateBGWithoutVImage, GlobalClass.gbGenerateBGWithImage, Tx, Ty, Tw, Th); + if (sGenerateResult.Substring(0, 1) == "1") + { + this.Show(); + MessageBox.Show(this, sGenerateResult.Substring(1, sGenerateResult.Length - 1), "Tmatrix Code Generator", MessageBoxButtons.OK, MessageBoxIcon.Warning); + } + else if (sGenerateResult.Substring(0, 1) == "0") + { + gDirectory = Path.GetDirectoryName(PDFFileName); + gFileName = Path.GetFileName(PDFFileName); + this.Show(); + MessageBox.Show(this, sGenerateResult.Substring(1, sGenerateResult.Length - 1), "Tmatrix Code Generator", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + return; + + } + + private void GeneratePartialCode_button_Click(object sender, EventArgs e) + { + GeneratePartialCode(); + } + } +} diff --git a/TmatrixCodeGenerator/Tmatrix_Form.resx b/TmatrixCodeGenerator/Tmatrix_Form.resx new file mode 100644 index 0000000..9392b41 --- /dev/null +++ b/TmatrixCodeGenerator/Tmatrix_Form.resx @@ -0,0 +1,1253 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKQApKSkAKSkpACkpKQApKSkAKSk + pACkpKQApKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQCpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQCpKSkA6Sk + pAOkpKQEpKSkBaSkpAakpKQGpKSkBqSkpAakpKQGpKSkBqSkpAakpKQGpKSkBqSkpAakpKQGpKSkBqSk + pAakpKQGpKSkBqSkpAikpKQJpKSkC6SkpAykpKQNpKSkDaSkpA2kpKQNpKSkDaSkpA2kpKQNpKSkDaSk + pA2kpKQNpKSkDaSkpA2kpKQNpKSkDaSkpA2kpKQNpKSkDaSkpA2kpKQNpKSkDaSkpA2kpKQNpKSkDaSk + pA2kpKQNpKSkDaSkpAykpKQLpKSkCaSkpAikpKQGpKSkBqSkpAakpKQGpKSkBqSkpAakpKQGpKSkBqSk + pAakpKQGpKSkBqSkpAakpKQGpKSkBqSkpAakpKQFpKSkBKSkpAOkpKQDpKSkAqSkpAKkpKQCpKSkAqSk + pAKkpKQCpKSkAqSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAKSkpACkpKQApKSkAKSkpACkpKQApKSkAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApKSkAKSkpACkpKQApKSkAKSk + pACkpKQBpKSkAaSkpAGkpKQBpKSkAqSkpAOkpKQDpKSkBKSkpAWkpKQFpKSkBqSkpAakpKQIpKSkCaSk + pAukpKQMpKSkDKSkpAykpKQMpKSkDKSkpAykpKQOpKSkEKSkpBOkpKQWpKSkF6SkpBekpKQXpKSkF6Sk + pBekpKQXpKSkF6SkpBekpKQXpKSkF6SkpBekpKQXpKSkF6SkpBikpKQZpKSkHKSkpCCkpKQkpKSkJ6Sk + pCmkpKQppKSkKaSkpCmkpKQppKSkKaSkpCmkpKQppKSkKaSkpCmkpKQppKSkKaSkpCmkpKQppKSkKaSk + pCmkpKQppKSkKaSkpCmkpKQppKSkKaSkpCmkpKQppKSkKaSkpCmkpKQppKSkJ6SkpCSkpKQgpKSkHKSk + pBmkpKQYpKSkF6SkpBekpKQXpKSkF6SkpBekpKQXpKSkF6SkpBekpKQXpKSkF6SkpBekpKQXpKSkF6Sk + pBakpKQTpKSkEKSkpA6kpKQMpKSkDKSkpAykpKQMpKSkDKSkpAykpKQLpKSkCaSkpAikpKQGpKSkBqSk + pAWkpKQFpKSkBKSkpAOkpKQDpKSkAqSkpAGkpKQBpKSkAaSkpAGkpKQApKSkAKSkpACkpKQApKSkAAAA + AAAAAAAApKSkAKSkpACkpKQApKSkAaSkpAKkpKQDpKSkBaSkpAakpKQIpKSkCaSkpAukpKQNpKSkD6Sk + pBKkpKQVpKSkF6SkpBikpKQZpKSkG6SkpB6kpKQjpKSkJqSkpCmkpKQppKSkKaSkpCmkpKQqpKSkK6Sk + pC2kpKQypKSkOKSkpD2kpKRApKSkQaSkpEKkpKRCpKSkQqSkpEKkpKRCpKSkQqSkpEKkpKRCpKSkQqSk + pEKkpKRCpKSkQqSkpESkpKRJpKSkUKSkpFekpKRcpKSkXqSkpF+kpKRfpKSkX6SkpF+kpKRfpKSkX6Sk + pF+kpKRfpKSkX6SkpF+kpKRfpKSkX6SkpF+kpKRfpKSkX6SkpF+kpKRfpKSkX6SkpF+kpKRfpKSkX6Sk + pF+kpKRfpKSkX6SkpF6kpKRcpKSkV6SkpFCkpKRJpKSkRKSkpEKkpKRCpKSkQqSkpEKkpKRCpKSkQqSk + pEKkpKRCpKSkQqSkpEKkpKRCpKSkQqSkpEGkpKRApKSkPaSkpDikpKQypKSkLaSkpCukpKQqpKSkKaSk + pCmkpKQppKSkKaSkpCakpKQjpKSkHqSkpBukpKQZpKSkGKSkpBekpKQVpKSkEqSkpA+kpKQNpKSkC6Sk + pAmkpKQIpKSkBqSkpAWkpKQDpKSkAqSkpAGkpKQApKSkAKSkpACkpKQApKSkAaSkpAOkpKQHpKSkDKSk + pBGkpKQVpKSkGqSkpB6kpKQjpKSkJ6SkpCukpKQvpKSkNaSkpDukpKQ/pKSkQaSkpEOkpKRGpKSkTKSk + pFSkpKRapKSkXaSkpF+kpKRfpKSkX6SkpF+kpKRgpKSkZKSkpGukpKRzpKSkeqSkpH6kpKR/pKSkf6Sk + pICkpKSApKSkgKSkpICkpKSApKSkgKSkpICkpKSApKSkgKSkpH+kpKSApKSkgqSkpIekpKSPpKSkl6Sk + pJykpKSfpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSk + pKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkn6SkpJykpKSXpKSkj6Sk + pIekpKSCpKSkgKSkpH+kpKSApKSkgKSkpICkpKSApKSkgKSkpICkpKSApKSkgKSkpICkpKR/pKSkf6Sk + pH6kpKR6pKSkc6SkpGukpKRkpKSkYKSkpF+kpKRfpKSkX6SkpF+kpKRdpKSkWqSkpFSkpKRMpKSkRqSk + pEOkpKRBpKSkP6SkpDukpKQ1pKSkL6SkpCukpKQnpKSkI6SkpB6kpKQapKSkFaSkpBGkpKQMpKSkB6Sk + pAOkpKQBpKSkAKSkpAGkpKQFpKSkDaSkpBmkpKQmpKSkMqSkpDukpKRDpKSkS6SkpFOkpKRapKSkYKSk + pGekpKRvpKSkd6SkpHykpKR/pKSkgaSkpISkpKSLpKSkk6SkpJqkpKSepKSkn6SkpKCkpKSgpKSkoKSk + pKGkpKSkpKSkqqSkpLKkpKS4pKSku6SkpL2kpKS9pKSkvaSkpL2kpKS9pKSkvaSkpL2kpKS9pKSkvaSk + pL2kpKS9pKSkvaSkpL2kpKS/pKSkw6SkpMmkpKTOpKSk0qSkpNSkpKTVpKSk1qSkpNakpKTWpKSk1qSk + pNakpKTWpKSk1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk1qSk + pNakpKTWpKSk1qSkpNWkpKTUpKSk0qSkpM6kpKTJpKSkw6SkpL+kpKS9pKSkvaSkpL2kpKS9pKSkvaSk + pL2kpKS9pKSkvaSkpL2kpKS9pKSkvaSkpL2kpKS9pKSku6SkpLikpKSypKSkqqSkpKSkpKShpKSkoKSk + pKCkpKSgpKSkn6SkpJ6kpKSapKSkk6SkpIukpKSEpKSkgaSkpH+kpKR8pKSkd6SkpG+kpKRnpKSkYKSk + pFqkpKRTpKSkS6SkpEOkpKQ7pKSkMqSkpCakpKQZpKSkDaSkpAWkpKQBpKSkA6SkpAukpKQcpKSkNKSk + pE6kpKRjpKSkcqSkpH2kpKSHpKSkkKSkpJikpKSfpKSkpaSkpK2kpKS0pKSkuaSkpLykpKS9pKSkwKSk + pMWkpKTMpKSk0KSkpNOkpKTUpKSk1aSkpNWkpKTVpKSk1qSkpNikpKTbpKSk4KSkpOOkpKTmpKSk56Sk + pOekpKTnpKSk56SkpOekpKTnpKSk56SkpOekpKTnpKSk56SkpOekpKTnpKSk56SkpOikpKTppKSk7KSk + pO+kpKTxpKSk8qSkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86Sk + pPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPKkpKTxpKSk76Sk + pOykpKTppKSk6KSkpOekpKTnpKSk56SkpOekpKTnpKSk56SkpOekpKTnpKSk56SkpOekpKTnpKSk56Sk + pOekpKTmpKSk46SkpOCkpKTbpKSk2KSkpNakpKTVpKSk1aSkpNWkpKTUpKSk06SkpNCkpKTMpKSkxaSk + pMCkpKS9pKSkvKSkpLmkpKS0pKSkraSkpKWkpKSfpKSkmKSkpJCkpKSHpKSkfaSkpHKkpKRjpKSkTqSk + pDSkpKQcpKSkC6SkpAOkpKQFpKSkEaSkpCqkpKRNpKSkcKSkpIukpKSepKSkq6SkpLWkpKS+pKSkxqSk + pMykpKTRpKSk16SkpNykpKTfpKSk4aSkpOOkpKTlpKSk6KSkpOukpKTupKSk76SkpPCkpKTwpKSk8aSk + pPGkpKTypKSk8qSkpPSkpKT2pKSk96SkpPikpKT5pKSk+aSkpPmkpKT5pKSk+aSkpPmkpKT5pKSk+aSk + pPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+6SkpPykpKT9pKSk/aSkpP2kpKT9pKSk/aSk + pP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSk + pP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpPykpKT7pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSk + pPqkpKT5pKSk+aSkpPmkpKT5pKSk+aSkpPmkpKT5pKSk+aSkpPikpKT3pKSk9qSkpPSkpKTypKSk8qSk + pPGkpKTxpKSk8KSkpPCkpKTvpKSk7qSkpOukpKTopKSk5aSkpOOkpKThpKSk36SkpNykpKTXpKSk0aSk + pMykpKTGpKSkvqSkpLWkpKSrpKSknqSkpIukpKRwpKSkTaSkpCqkpKQRpKSkBaSkpAWkpKQSpKSkLKSk + pE+kpKRzpKSkkKSkpKKkpKSwpKSkuqSkpMOkpKTKpKSk0aSkpNekpKTcpKSk36SkpOKkpKTlpKSk6KSk + pOqkpKTspKSk7qSkpO+kpKTwpKSk8KSkpPKkpKTzpKSk9aSkpPakpKT3pKSk96SkpPikpKT4pKSk+aSk + pPmkpKT5pKSk+aSkpPmkpKT5pKSk+qSkpPukpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSk + pPykpKT8pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSk + pP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSk + pPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT7pKSk+qSkpPmkpKT5pKSk+aSk + pPmkpKT5pKSk+aSkpPikpKT4pKSk96SkpPekpKT2pKSk9aSkpPOkpKTypKSk8KSkpPCkpKTvpKSk7qSk + pOykpKTqpKSk6KSkpOWkpKTipKSk36SkpNykpKTXpKSk0aSkpMqkpKTDpKSkuqSkpLCkpKSipKSkkKSk + pHOkpKRPpKSkLKSkpBKkpKQFpKSkBKSkpA2kpKQgpKSkO6SkpFakpKRspKSkfKSkpIikpKSTpKSkm6Sk + pKOkpKSspKSks6SkpLmkpKS8pKSkv6SkpMWkpKTLpKSk0KSkpNOkpKTUpKSk1aSkpNWkpKTWpKSk2aSk + pN2kpKThpKSk5aSkpOakpKTnpKSk56SkpOekpKTnpKSk56SkpOekpKTnpKSk6KSkpOmkpKTspKSk76Sk + pPGkpKTypKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86Sk + pPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86Sk + pPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86Sk + pPOkpKTypKSk8aSkpO+kpKTspKSk6aSkpOikpKTnpKSk56SkpOekpKTnpKSk56SkpOekpKTnpKSk5qSk + pOWkpKThpKSk3aSkpNmkpKTWpKSk1aSkpNWkpKTUpKSk06SkpNCkpKTLpKSkxaSkpL+kpKS8pKSkuaSk + pLOkpKSspKSko6SkpJukpKSTpKSkiKSkpHykpKRspKSkVqSkpDukpKQgpKSkDaSkpASkpKQBpKSkBqSk + pBCkpKQepKSkLaSkpDqkpKRFpKSkT6SkpFekpKRfpKSkZqSkpG6kpKR3pKSkfKSkpICkpKSEpKSki6Sk + pJOkpKSapKSknqSkpJ+kpKSfpKSkn6SkpKGkpKSmpKSkraSkpLSkpKS5pKSku6SkpLykpKS8pKSkvKSk + pLykpKS8pKSkvKSkpLykpKS+pKSkwqSkpMikpKTNpKSk0qSkpNOkpKTUpKSk1aSkpNWkpKTVpKSk1aSk + pNWkpKTVpKSk1aSkpNWkpKTVpKSk1aSkpNWkpKTVpKSk1aSkpNWkpKTVpKSk1aSkpNWkpKTVpKSk1aSk + pNWkpKTVpKSk1aSkpNWkpKTVpKSk1aSkpNWkpKTVpKSk1aSkpNWkpKTVpKSk1aSkpNWkpKTVpKSk1aSk + pNWkpKTVpKSk1aSkpNWkpKTVpKSk1aSkpNWkpKTVpKSk1KSkpNOkpKTSpKSkzaSkpMikpKTCpKSkvqSk + pLykpKS8pKSkvKSkpLykpKS8pKSkvKSkpLykpKS7pKSkuaSkpLSkpKStpKSkpqSkpKGkpKSfpKSkn6Sk + pJ+kpKSepKSkmqSkpJOkpKSLpKSkhKSkpICkpKR8pKSkd6SkpG6kpKRmpKSkX6SkpFekpKRPpKSkRaSk + pDqkpKQtpKSkHqSkpBCkpKQGpKSkAaSkpACkpKQBpKSkBaSkpAqkpKQQpKSkFqSkpBukpKQgpKSkJaSk + pCqkpKQvpKSkNaSkpDukpKQ/pKSkQqSkpEakpKRMpKSkVKSkpFqjo6Nco6OjXaioqGmpqalvqampcamp + qXapqal9qamphKioqImoqKiLqKiojKioqIyoqKiMqKiojKioqIyoqKiMqKiojaioqI+oqKiUqKiom6io + qKKoqKinqKioqaioqKqoqKiqqKioqqioqKqoqKiqqKioqqioqKqoqKiqqKioqqioqKqoqKiqqKioqqio + qKqoqKiqqKioqqioqKqoqKiqqKioqqioqKqoqKiqqKioqqioqKqoqKiqqKioqqioqKqoqKiqqKioqqio + qKqoqKiqqKioqqioqKqoqKiqqKioqqioqKqoqKiqqKioqqioqKqoqKiqqKioqqioqKqoqKiqqKioqqio + qKqoqKiqqKioqaioqKeoqKiiqKiom6ioqJSoqKiPqKiojaioqIyoqKiMqKiojKioqIyoqKiMqKiojKio + qIuoqKiJqamphKmpqX2pqal2qampcampqW+pqalspaWlYqOjo1ukpKRapKSkVKSkpEykpKRGpKSkQqSk + pD+kpKQ7pKSkNaSkpC+kpKQqpKSkJaSkpCCkpKQbpKSkFqSkpBCkpKQKpKSkBaSkpAGkpKQApKSkAKSk + pACkpKQBpKSkAqSkpAOkpKQFpKSkB6SkpAmkpKQLpKSkDaSkpA+kpKQSpKSkFaSkpBekpKQYpKSkGqSk + pB6kpKQjo6OjJbKyskW9vb2TwMDAx8HBwdfBwcHXwcHB2MHBwdrAwMDbwMDA3MDAwN3AwMDdwMDA3cDA + wN3AwMDdwMDA3cDAwN3AwMDdwMDA3cDAwN/AwMDgwMDA4sDAwOO/v7/kv7+/5L+/v+S/v7/kv7+/5L+/ + v+S/v7/kv7+/5L+/v+S/v7/kv7+/5L+/v+S/v7/kv7+/5L+/v+S/v7/kv7+/5L+/v+S/v7/kv7+/5L+/ + v+S/v7/kv7+/5L+/v+S/v7/kv7+/5L+/v+S/v7/kv7+/5L+/v+S/v7/kv7+/5L+/v+S/v7/kv7+/5L+/ + v+S/v7/kv7+/5L+/v+S/v7/kv7+/5L+/v+S/v7/kv7+/5L+/v+S/v7/kwMDA48DAwOLAwMDgwMDA38DA + wN3AwMDdwMDA3cDAwN3AwMDdwMDA3cDAwN3AwMDdwMDA3cDAwNzAwMDbwcHB2sHBwdjBwcHXwcHB18HB + wdG/v7+vuLi4YaWlpSijo6MipKSkHqSkpBqkpKQYpKSkF6SkpBWkpKQSpKSkD6SkpA2kpKQLpKSkCaSk + pAekpKQFpKSkA6SkpAKkpKQBpKSkAKSkpAAAAAAAAAAAAKSkpACkpKQApKSkAKSkpACkpKQBpKSkAaSk + pAGkpKQCpKSkA6SkpAOkpKQEpKSkBaSkpAakpKQGpKSkCJycnAi9vb01wsLCxMPDw/3Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8PnwMDAaKioqAujo6MHpKSkBqSk + pAakpKQFpKSkBKSkpAOkpKQDpKSkAqSkpAGkpKQBpKSkAaSkpACkpKQApKSkAKSkpAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKQApKSkAKSkpACkpKQApKSkAKSkpACkpKQApKSkAaSk + pAH///8AwMDADsPDw6rDw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8PlwsLCP83NzQCkpKQBpKSkAaSkpACkpKQApKSkAKSkpACkpKQApKSkAKSk + pAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMPDwwDDw8NCw8PD78PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8OUw8PDA8PD + wwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAw8PDAMPDw2/Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw8LDw8MRw8PDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDw8MAw8PDf8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PDy8PD + wxTDw8MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAMPDwwDDw8N/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8PKw8PDFMPDwwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw8PDAMPDw3/Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//CwsL/wsLC/8LC + wv/CwsL/wsLC/8LCwv/CwsL/wsLC/8LCwv/CwsL/wsLC/8LCwv/CwsL/wsLC/8LCwv/CwsL/wsLC/8LC + wv/CwsL/wsLC/8LCwv/CwsL/wsLC/8LCwv/CwsL/wsLC/8LCwv/CwsL/wsLC/8LCwv/CwsL/wsLC/8LC + wv/CwsL/wsLC/8LCwv/CwsL/wsLC/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w8rDw8MUw8PDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADDw8MAw8PDf8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/y8vL/9TU1P/U1NT/1NTU/9TU1P/U1NT/1NTU/9TU1P/U1NT/1NTU/9TU + 1P/U1NT/1NTU/9TU1P/U1NT/1NTU/9TU1P/U1NT/1NTU/9TU1P/U1NT/1NTU/9TU1P/U1NT/1NTU/9TU + 1P/U1NT/1NTU/9TU1P/U1NT/1NTU/9TU1P/U1NT/1NTU/9TU1P/U1NT/1NTU/9TU1P/U1NT/zs7O/8TE + xP/Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PDysPDwxTDw8MAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMPDwwDDw8N/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8XFxf/S0M7/zsvF/87K + xf/OysX/zsrF/87Kxf/OysX/zsrF/87Kxf/OysX/zsrF/87Kxf/OysX/zsrF/87Kxf/OysX/zsrF/87K + xf/OysX/zsrF/87Kxf/OysX/zsrF/87Kxf/OysX/zsrF/87Kxf/OysX/zsrF/87Kxf/OysX/zsrF/87K + xf/OysX/zsrF/87Kxf/OysX/zsrF/87Kxf/S0Mz/x8bG/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8PKw8PDFMPDwwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAw8PDAMPDw3/Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/wsLB/7Gsov+mnpD/pp6Q/6aekP+mnpD/pp6Q/6aekP+mnpD/pp6Q/6ae + kP+mnpD/pp6Q/6aekP+mnpD/pp6Q/6aekP+mnpD/pp6Q/6aekP+mnpD/pp6Q/6aekP+mnpD/pp6Q/6ae + kP+mnpD/pp6Q/6aekP+mnpD/pp6Q/6aekP+mnpD/pp6Q/6aekP+mnpD/pp6Q/6aekP+mnpD/pp6Q/6qj + l/+0tLL/wMDA/8XFxf/Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw8rDw8MUw8PDAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDw8MAw8PDf8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//BwL//q6SZ/6Wc + jv+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wd + j/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wd + j/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+mno//lY6C/1JRUP9sbGz/nZ2d/76+vv/FxcX/xMTE/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PDysPDwxTDw8MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMPDwwDDw8N/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8HAv/+rpZr/pJyO/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wd + j/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wd + j/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6ad + j/+Zkob/RERC/y8vL/84ODj/YGBg/5SUlP+6urr/xcXF/8TExP/Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8PKw8PDFMPDwwAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw8PDAMPD + w3/Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/wsLC/7Ov + p/+ooZX/qKGV/6ihlf+ooZX/qKGV/6ihlf+ooZX/qKGV/6ihlf+ooZX/qKGV/6ihlf+ooZX/qKGV/6ih + lf+ooZX/qKGV/6ihlf+ooZX/qKGV/6ihlf+ooZX/qKGV/6ihlf+ooZX/qKGV/6ihlf+ooZX/qKGV/6ih + lf+ooZX/qKGV/6ihlf+ooZX/qKGV/6ihlf+ooZX/qaKV/6ehmP9WVVT/LCws/yoqKv8mJib/LS0t/09P + T/+IiIj/tra2/8TExP/ExMT/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PD + w//Dw8P/w8PD/8PDw8rDw8MUw8PDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADExMQAxMTEf8TExP/ExMT/xMTE/8TExP/ExMT/xMTE/8TE + xP/ExMT/xMTE/8TExP/ExMT/xMTE/8TExP/ExMT/w8LC/8HAvv/BwL7/wcC+/8HAvv/BwL7/wcC+/8HA + vv/BwL7/wcC+/8HAvv/BwL7/wcC+/8HAvv/BwL7/wcC+/8HAvv/BwL7/wcC+/8HAvv/BwL7/wcC+/8HA + vv/BwL7/wcC+/8HAvv/BwL7/wcC+/8HAvv/BwL7/wcC+/8HAvv/BwL7/wcC+/8HAvv/BwL7/wcC+/8HA + vv/BwL//wL++/2hoaP8oKCj/Jycn/yQkJP8gICD/HBwc/yAgIP9BQUH/fHx8/6+vr//DwsL/xMTE/8TE + xP/ExMT/xMTE/8TExP/ExMT/xMTE/8TExP/ExMT/xMTE/8TExP/ExMT/xMTE/8TExP/ExMT/xMTE/8TE + xP/ExMT/xMTE/8TExP/ExMT/xMTE/8TExP/ExMT/xMTE/8TExP/ExMT/xMTEysTExBTExMQAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMTE + xADExMR/xMTE/8TExP/ExMT/xMTE/8TExP/ExMT/xMTE/8TExP/ExMT/xMTE/8TExP/ExMT/xMTE/8TE + xP/FxcX/xcXF/8XFxf/FxcX/xcXF/8XFxf/FxcX/xcXF/8XFxf/FxcX/xcXF/8XFxf/FxcX/xcXF/8XF + xf/FxcX/xcXF/8XFxf/FxcX/xcXF/8XFxf/FxcX/xcXF/8XFxf/FxcX/xcXF/8XFxf/FxcX/xcXF/8XF + xf/FxcX/xcXF/8XFxf/FxcX/xcXF/8XFxf/FxcX/xcXF/8XFxf/Hx8f/eXl5/yUlJf8jIyP/ISEh/x0d + Hf8aGhr/FxcX/xISEv8UExP/Q0dJ/7XCyP/Fy83/xMXF/8TExP/ExMT/xMTE/8TExP/ExMT/xMTE/8TE + xP/ExMT/xMTE/8TExP/ExMT/xMTE/8TExP/ExMT/xMTE/8TExP/ExMT/xMTE/8TExP/ExMT/xMTE/8TE + xP/ExMT/xMTE/8TExP/ExMTKxMTEFMTExAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxsbGAMbGxn/Gxsb/xsbG/8bGxv/Gxsb/xsbG/8bG + xv/Gxsb/xsbG/8bGxv/Gxsb/xsbG/8bGxv/Gxsb/xsbG/8bGxv/Gxsb/xsbG/8bGxv/Gxsb/xsbG/8bG + xv/Gxsb/xsbG/8bGxv/Gxsb/xsbG/8bGxv/Gxsb/xsbG/8bGxv/Gxsb/xsbG/8bGxv/Gxsb/xsbG/8bG + xv/Gxsb/xsbG/8bGxv/Gxsb/xsbG/8bGxv/Gxsb/xsbG/8bGxv/Gxsb/xsbG/8bGxv/Gxsb/xsbG/8bG + xv/Gxsb/xsbG/8jIyP+NjY3/KCgo/yAgIP8dHR3/Ghoa/xcXF/8UFBT/ERAQ/xUWF/9yiJH/v+Px/8Ti + 7v/G197/xszO/8bGxv/GxsX/xsbG/8bGxv/Gxsb/xsbG/8bGxv/Gxsb/xsbG/8bGxv/Gxsb/xsbG/8bG + xv/Gxsb/xsbG/8bGxv/Gxsb/xsbG/8bGxv/Gxsb/xsbG/8bGxv/Gxsb/xsbG/8bGxsrGxsYUxsbGAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADHx8cAx8fHf8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fH + x//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fH + x//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fH + x//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/ycnJ/6Kiov8rKyv/HBwc/xkZ + Gf8WFhb/FBQU/xAQD/8UFRX/X3J6/7bc7P/A5fX/wub0/8Xn9f/I5e//ydvh/8jP0f/HyMj/x8fH/8fH + x//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fH + x//Hx8f/x8fH/8fHx//Hx8f/x8fHysfHxxTHx8cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjIyADIyMh/yMjI/8jIyP/IyMj/yMjI/8jI + yP/IyMj/yMjI/8jIyP/IyMj/yMjI/8jIyP/IyMj/yMjI/8jIyP/IyMj/yMjI/8jIyP/IyMj/yMjI/8jI + yP/IyMj/yMjI/8jIyP/IyMj/yMjI/8jIyP/IyMj/yMjI/8jIyP/IyMj/yMjI/8jIyP/IyMj/yMjI/8jI + yP/IyMj/yMjI/8jIyP/IyMj/yMjI/8jIyP/IyMj/yMjI/8jIyP/IyMj/yMjI/8jIyP/IyMj/yMjI/8jI + yP/IyMj/yMjI/8jIyP/Jycn/tbW1/zMzM/8YGBj/FhYW/xMTE/8PDg7/Gx4g/2h/if+x2Or/u+P0/73j + 9P/A5fT/wub0/8Xo9f/J6fX/y+fx/8vf5f/K0dT/yMrK/8jHx//IyMj/yMjI/8jIyP/IyMj/yMjI/8jI + yP/IyMj/yMjI/8jIyP/IyMj/yMjI/8jIyP/IyMj/yMjI/8jIyP/IyMj/yMjI/8jIyP/IyMjKyMjIFMjI + yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAycnJAMnJyX/Jycn/ycnJ/8nJyf/Jycn/ycnJ/8nJyf/Jycn/ycnJ/8nJyf/Jycn/ycnJ/8nJ + yf/Jycn/ycnJ/8jIyP/IyMj/yMjI/8jIyP/IyMj/yMjI/8jIyP/IyMj/yMjI/8jIyP/IyMj/yMjI/8jI + yP/IyMj/yMjI/8jIyP/IyMj/yMjI/8jIyP/IyMj/yMjI/8jIyP/IyMj/yMjI/8jIyP/IyMj/yMjI/8jI + yP/IyMj/yMjI/8jIyP/IyMj/yMjI/8jIyP/IyMj/yMjI/8jIyP/IyMj/yMjI/8nJyf+9vb3/QkJC/xMT + E/8REBD/ExQV/zQ/RP+Anq3/sdvv/7fg9P+44fP/u+Lz/77k9P/A5fT/w+b0/8fo9f/K6vX/zOv2/87q + 8//O4uj/zNXX/8nLzP/IyMj/ycjI/8jJyf/Jycn/ycnJ/8nJyf/Jycn/ycnJ/8nJyf/Jycn/ycnJ/8nJ + yf/Jycn/ycnJ/8nJyf/Jycn/ycnJ/8nJycrJyckUycnJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADJyckAycnJf8nJyf/Jycn/ycnJ/8nJ + yf/Jycn/ycnJ/8nJyf/Jycn/ycnJ/8nJyf/Jycn/ycnJ/8nJyf/Jycn/ysrK/8zMzP/MzMz/zMzM/8zM + zP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zM + zP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zM + zP/MzMz/zMzM/8zMzP/MzMz/zMzN/8jIyP9ZWlr/GR0e/zZCSP9rh5b/ncfc/7Dd9P+x3fL/tN7y/7ff + 8/+54fP/vOPz/7/k9P/B5fT/xOf1/8fo9f/K6vX/zev2/9Dt9//S7fT/0uXr/83U1f/Kycn/ycnJ/8nJ + yf/Jycn/ycnJ/8nJyf/Jycn/ycnJ/8nJyf/Jycn/ycnJ/8nJyf/Jycn/ycnJ/8nJyf/Jycn/ycnJysnJ + yRTJyckAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAMrKygDKysp/ysrK/8rKyv/Kysr/ysrK/8rKyv/Kysr/ysrK/8rKyv/Kysr/ysrK/8rK + yv/Kysr/ysrK/8vLy//X19b/3t3c/97d3P/e3dz/3t3c/97d3P/e3dz/3t3c/97d3P/e3dz/3t3c/97d + 3P/e3dz/3t3c/97d3P/e3dz/3t3c/97d3P/e3dz/3t3c/97d3P/e3dz/3t3c/97d3P/e3dz/3t3c/97d + 3P/e3dz/3t3c/97d3P/e3dz/3t3c/97d3P/e3dz/3t3c/97d3P/e3dz/3t3c/97d3P/e3dz/397c/6Gv + t/98orj/msjh/6jZ8/+r2vL/rdrx/6/b8v+y3fL/td7y/7fg8/+64fP/veP0/7/k9P/C5vT/xef1/8jp + 9f/L6vX/zuz2/9Hu9v/M7fb/ltXt/6XG0//Lysr/ysrK/8rKyv/Kysr/ysrK/8rKyv/Kysr/ysrK/8rK + yv/Kysr/ysrK/8rKyv/Kysr/ysrK/8rKyv/KysrKysrKFMrKygAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAy8vLAMvLy3/Ly8v/y8vL/8vL + y//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Kysv/y8vL/8TBuv+0rqP/s62i/7St + ov+0raL/tK2i/7Stov+0raL/tK2i/7Stov+0raL/tK2i/7Stov+0raL/tK2i/7Stov+0raL/tK2i/7St + ov+0raL/tK2i/7Stov+0raL/tK2i/7Stov+0raL/tK2i/7Stov+0raL/tK2i/7Stov+0raL/tK2i/7St + ov+0raL/tK2i/7Stov+0raL/tK2i/7Otov+0raH/rLu//6HU8P+j1vH/pdbw/6jX8f+q2fH/rdrx/7Dc + 8v+z3fL/td/z/7jg8/+74vP/veP0/8Dl9P/C5vT/xef1/8np9f/N6/X/vub1/3zP8f9Cu+7/Vbvl/7PH + 0P/My8r/ysvL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vL + y8rLy8sUy8vLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADLy8sAy8vLf8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vL + y//Ly8v/y8vL/8vLy//IyMf/raeb/6Scjf+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Sc + jv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Sc + jv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Sc + jf+iqaX/ns7p/6DU8P+j1fD/pdbx/6jY8f+r2fH/rtvy/7Dc8v+z3vL/tt/z/7jg8/+74vP/vuT0/8Dl + 9P/E5vT/xuj1/63f9P9uyfH/Sbzv/0G67f85uOz/aL3g/8LKzf/My8v/y8vL/8vLy//Ly8v/y8vL/8vL + y//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vLysvLyxTLy8sAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzADMzMx/zMzM/8zM + zP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8nIx/+tppv/pZ2O/6Wd + j/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wd + j/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wd + j/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2O/6OknP+dy+T/ntPw/6HU8P+k1fD/ptfx/6nY + 8f+r2vH/rtvy/7Hd8v+z3vL/tt/z/7nh8/+84vP/v+T0/77k9P+d2fT/aMby/1O/8f9MvfD/Rbvu/z25 + 7f86t+v/gMHb/8nLzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zM + zP/MzMzKzMzMFMzMzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAzc3NAM3NzX/Nzc3/zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3/zc3N/83N + zf/Nzc3/zc3N/83Nzf/Nzc3/ysnJ/66onv+knI3/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Sc + jv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Sc + jv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Sc + jv+knI3/o6CV/5zE2f+c0vD/n9Pw/6LU8P+k1fD/p9fx/6rZ8f+s2vH/r9vy/7Ld8v+03vL/t+Dz/7ri + 8/+14PT/kdT0/2rH9P9ewvL/V8Dx/1C+8P9JvO//Qrrt/zm47P8+t+n/mcXW/87NzP/Nzcz/zc3N/83N + zf/Nzc3/zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3/zc3N/83NzcrMzMwUzMzMAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADNzc0Azc3Nf83N + zf/Nzc3/zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3/wsC8/7m1 + rv+5ta7/ubWu/7m1rv+5ta7/ubWu/7m1rv+5ta7/ubWu/7m1rv+5ta7/ubWu/7m1rv+5ta7/ubWu/7m1 + rv+5ta7/ubWu/7m1rv+5ta7/ubWu/7m1rv+5ta7/ubWu/7m1rv+5ta7/ubWu/7m1rv+5ta7/ubWu/7m1 + rv+5ta7/ubWu/7m1rv+5ta7/ubWu/7m1rv+5ta7/ubWu/7m1rv+4trD/pcfa/5rQ8P+d0u//oNPw/6LU + 8P+l1vD/qNfx/6rZ8f+t2vH/r9zy/7Ld8v+13/P/n9jy/2rH8P9pxvT/asf0/2LE8/9bwfL/VL/w/0y9 + 7/9Fu+7/Prnt/zW27P9LueX/sMjS/8/Nzf/Nzc3/zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3/zc3N/83N + zf/Nzc3/zc3Nys3NzRTNzc0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7OzgDOzs5/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87O + zv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/P + z//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/P + z//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/P + z//Pz8//z8/P/8/Pz/+xzt//l8/v/5vQ7/+e0u//oNPw/6PV8P+m1vD/qNjx/6vZ8f+u2/L/rtzy/5LT + 8v9awu//P7nt/0++8P9qx/T/ZsX0/17C8v9XwfH/UL7w/0i87/9Buu7/Orjs/zG16/9evOH/wMzQ/8/O + zv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7Kzs7OFM7OzgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAz8/PAM/P + z3/Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/P + z//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/P + z//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/P + z//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/O/7jO2/+Xzu7/mc/v/5vR + 7/+e0u//odTw/6TV8P+m1vH/qdjx/6fY8f+I0PP/YMPy/0++8P9Eu+7/PLjs/1XA8f9pxvT/YsTz/1rC + 8v9Tv/H/TL3v/0S77v89ue3/Nrbs/zC16v94wN3/y87P/8/Pzv/Oz8//z8/P/8/Pz//Pz8//z8/P/8/P + z//Pz8//z8/P/8/Pz8rPz88Uz8/PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADPz88Az8/Pf8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/P + z//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/P + z//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/P + z//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/P + z//Pz8//z8/P/8/Pz//Qz8//vs7X/5fN7P+Wzu//mdDv/5zR7/+f0vD/otTw/6bW8P+g1fL/hs/0/2vH + 9P9fw/L/VL/x/0m87/8+ue3/Orjs/1vC8v9mxfT/XsPy/1fA8f9PvvD/SLzv/0G67f85uOz/MbXr/zO1 + 6P+Rxdj/0M/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/Pys/PzxTPz88AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANDQ + 0ADQ0NB/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ + 0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ + 0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ + 0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Gz9T/mMzr/5TN + 7v+Xz+//mtDv/53S7/+d0u//g8zv/4LO9v96zPf/b8j1/2TE8/9ZwfH/Tr7w/0O67v83t+z/O7js/1/D + 8/9ixPP/WsHy/1O/8f9Lve//RLvu/z257f81tuv/LLTr/z+25v+qydX/0tDQ/9DQ0P/Q0ND/0NDQ/9DQ + 0P/Q0ND/0NDQ/9DQ0P/Q0NDK0NDQFNDQ0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0dHRANHR0X/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR + 0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/Q0ND/0dHR/9nZ2f/f397/3t7e/97e3v/e3t7/3t7e/97e + 3v/e3t7/3t7e/97e3v/e3t7/3t7e/97e3v/e3t7/3t7e/97e3v/e3t7/3t7e/97e3v/e3t7/3t7e/97e + 3v/e3t7/3t7e/97e3v/e3t7/3t7e/97e3v/e3t7/3t7e/97e3v/e3t7/3t7e/97e3v/e3t7/39/e/9vb + 2//R0dL/0NDQ/9HR0f/R0dH/0dHQ/8zQ0/+dzOj/kszu/5XN7v+Zz+//lM7v/13A6/8fsOf/UL/w/37N + 9/9zyvb/aMb0/13C8v9Sv/D/SLzu/zy57f8xtev/QLru/2HD8/9ewvL/VsDx/0++8P9IvO//QLrt/zm3 + 7P8xtuv/KLPq/1G54v++zdP/0tHQ/9DQ0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0crR0dEU0dHRAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADR0dEA0dHRf9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR + 0f/S0tL/zMnF/8G9tP/BvLT/wby0/8G8tP/BvLT/wby0/8G8tP/BvLT/wby0/8G8tP/BvLT/wby0/8G8 + tP/BvLT/wby0/8G8tP/BvLT/wby0/8G8tP/BvLT/wby0/8G8tP/BvLT/wby0/8G8tP/BvLT/wby0/8G8 + tP/BvLT/wby0/8G8tP/BvLT/wby0/8G8tP/BvLP/ycW//9HR0f/R0dH/0dHR/9HR0f/R0dH/z9HS/6TM + 5P+Qy+7/lMzu/4jK7v9Tvuz/IrHo/xOs5v8br+f/YsTz/3nL9/9tyPX/YsTz/1fA8f9Mve//Qbrt/za3 + 6/8ttOr/Rrzu/2DD8/9awfL/Ur/w/0u97/9Eu+7/PLjt/zW36/8ttOr/JrLp/2u+3v/K0NL/0tHR/9HR + 0f/R0dH/0dHR/9HR0f/R0dH/0dHRytHR0RTR0dEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANLS0gDS0tJ/0tLS/9LS0v/S0tL/0tLS/9LS + 0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/8/Pzv+wqZ//o5uN/6Scjv+knI7/pJyO/6Sc + jv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Sc + jv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Sb + jf+qo5f/zczL/9LS0v/S0tL/0tLS/9LS0v/S0tL/rM3g/43K7v9/yO7/U77t/zW36/8qs+n/HrDo/xKs + 5v8msun/a8f1/3PJ9v9nxfT/XMLy/1G+8P9Gu+7/O7js/y+16v8qs+r/Tr7w/17C8v9WwPH/Tr7w/0e8 + 7/9Aue3/Objs/zG16/8ps+r/KbLn/4jE2//R0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLK0tLSFNLS + 0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA0tLSANLS0n/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS + 0v/S0tL/z87N/66onP+lnI7/pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wd + j/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wd + j/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6qjlv/NzMv/0tPT/9LS0v/S0tL/0tLS/9PS + 0v++z9r/f8fu/13B8f9Lve//QLrt/zW26/8ps+n/Ha/n/xKs5f82t+v/cMn1/2zH9f9gw/P/VcDx/0q9 + 7/8/uu3/NLbr/yiz6f8stOr/VL/w/1rB8v9Sv/D/S73v/0O67v88ue3/Nbbr/y206v8ksun/NbTl/6TJ + 1//U0tL/0tLS/9LS0v/S0tL/0tLS/9LS0srS0tIU0tLSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADT09MA09PTf9PT0//T09P/09PT/9PT + 0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//Qz87/r6me/6Scjf+knI7/pJyO/6Sc + jv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Sc + jv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Sc + jv+knI7/qqOW/87NzP/T09P/09PT/9PT0//T09P/09PT/8/T1P+Vy+b/YcTz/1XA8f9Kve//Prnt/zO2 + 6/8nsun/G6/n/xSt5v9Fu+7/b8j1/2XF8/9awfH/T77w/0S77v85uOz/LrTq/yKx6P8xtev/V8Dx/1bA + 8f9OvvD/R7vu/0C67f84t+z/MbXr/ymz6v8gsej/Rbfi/7vO1f/V09P/09PT/9PT0//T09P/09PTytPT + 0xTT09MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAANTU1ADU1NR/1NTU/9TU1P/U1NT/1NTU/9TU1P/U1NT/1NTU/9TU1P/U1NT/1NTU/9TU + 1P/U1NT/1NTU/9PT0//Cv7r/s66k/7OtpP+zrqT/s66k/7OupP+zrqT/s66k/7OupP+zrqT/s66k/7Ou + pP+zrqT/s66k/7OupP+zrqT/s66k/7OupP+zrqT/s66k/7OupP+zrqT/s66k/7OupP+zrqT/s66k/7Ou + pP+zrqT/s66k/7OupP+zrqT/s66k/7OupP+zrqT/s66k/7OtpP+8uLH/0tHR/9TU1P/U1NT/1NTU/9TU + 1P/T1NT/1NTT/8fS2P+Dyez/X8Pz/1TA8f9JvO//Pbnt/zK26/8msun/Gq7n/xmu5/9TwPD/asf0/17D + 8v9Tv/D/Sbzv/z657f8ytuv/J7Lp/x6w5/84t+z/V8Hx/1K/8P9Kve//Q7vu/zu47P80tuv/LbTq/yWy + 6f8dr+j/Ybzf/8rS1P/U1NP/09PU/9TU1P/U1NTK1NTUFNTU1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1NTUANTU1H/U1NT/1NTU/9TU + 1P/U1NT/1NTU/9TU1P/U1NT/1NTU/9TU1P/U1NT/1NTU/9TU1P/U1NT/1NTU/9TU1P/S0tH/0tLR/9LS + 0f/S0tH/0tLR/9LS0f/S0tH/0tLR/9LS0f/S0tH/0tLR/9LS0f/S0tH/0tLR/9LS0f/S0tH/0tLR/9LS + 0f/S0tH/0tLR/9LS0f/S0tH/0tLR/9LS0f/S0tH/0tLR/9LS0f/S0tH/0tLR/9LS0f/S0tH/0tLR/9LS + 0f/S0tH/0tLR/9PT0//U1NT/1NTU/9TU1P/U1NT/1NTU/9TU1P/U1NT/1dTU/7zR3P92yPD/XsPy/1O/ + 8P9IvO7/PLns/zC16/8ksen/GK7n/yKx6P9cwvL/ZMTz/1jB8f9Nve//Qrru/ze37P8stOr/IbDo/xuv + 5/9Buu7/VcDx/06+8P9Gu+7/P7nt/zi37P8wtev/KbPq/yGw6P8gsOf/fcLc/9PU1P/U1NT/1NTU/9TU + 1MrU1NQU1NTUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADV1dUA1dXVf9XV1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV + 1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV + 1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV + 1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV + 1f/V1dX/1dXV/9XV1f/V1dX/1dXV/63Q4f9tx/L/XcLy/1K/8P9GvO7/O7js/y+16v8jsej/F67m/y61 + 6v9gw/P/XcLy/1K/8P9HvO7/PLjs/zG16/8msun/Gq7n/xyv5/9IvO//Ur/w/0q87/9Cu+7/O7jt/zS2 + 6/8stOr/JbLp/xyv6P8nseX/nMna/9fV1f/V1dX/1dXVytXV1RTV1dUAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANXV1QDV1dV/1dXV/9XV + 1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV + 1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV + 1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV + 1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV1f/V1dX/1dXV/9XV1f/V1dX/0tXW/53O + 5v9oxvT/W8Ly/1C+8P9Eu+7/Objs/y606v8hsej/GK7m/zq47P9fw/L/V8Dx/0u97/9Auu3/Nbbr/yqz + 6f8fsOj/FK3m/yOx6P9OvvD/Tr7w/0a87v8/ue3/N7fs/zC16/8ps+n/IbDo/xiu5/85tOL/ts7Y/9fW + 1f/V1dXK1dXVFNXV1QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA1tbWANbW1n/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW + 1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW + 1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW + 1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW + 1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW1v/X1tb/zdXZ/4vM7P9lxfT/WsHy/0++8P9Du+7/OLfs/yy0 + 6v8gsOj/Gq/n/0e87v9cwvL/UL7w/0W77v86uOz/L7Xq/ySy6P8Zruf/EKvl/y206v9PvvD/Sr3v/0K6 + 7v87uO3/M7br/yy06v8lsen/Ha/o/xWt5v9TuuD/x9PX/9jW1srW1tYU1tbWAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADX19cA19fXf9fX + 1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/1tbW/9bW + 1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW + 1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW + 1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW + 1v/X19b/w9Td/3/K8P9kxfP/WcHx/0697/9Cuu7/Nrfs/yuz6v8esOj/IbDo/0697/9VwPH/Sr3v/z+5 + 7f8ztuv/KLPp/x2v5/8TrOb/Eazl/ze37P9Nve//Rrvu/z657f83t+z/MLXq/yiz6f8hsej/Ga7n/xat + 5f9zwN3/0tXXyt7Y1hTY19YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAANfX1wDX19d/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX + 1//X19f/19fX/9fX1//X19f/19fX/9fX1//Y2Nj/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ + 2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ + 2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ + 2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/a2dn/t9Tj/3XK9P9jxPP/WMHx/0y9 + 7/9Auu3/Nbbr/ymz6f8dr+f/KbPp/1K/8P9PvvD/Q7vu/zi37P8ttOr/IrHo/xeu5v8Pq+X/Fq3m/z+5 + 7f9Kve//Qrrt/zq47P8ztuv/LLTq/ySy6f8dr+f/FK3m/yCv5P+DxN3L2NfXFL3R2QAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2NjYANjY + 2H/Y2Nj/2NjY/9jY2P/Y2Nj/2NjY/9jY2P/Y2Nj/2NjY/9jY2P/Y2Nj/2NjY/9jY2P/Y2Nj/2NjY/9/f + 3v/h4N//4eDf/+Hg3//h4N//4eDf/+Hg3//h4N//4eDf/+Hg3//h4N//4eDf/+Hg3//h4N//4eDf/+Hg + 3//h4N//4eDf/+Hg3//h4N//4eDf/+Hg3//h4N//4eDf/+Hg3//h4N//4eDf/+Hg3//h4N//4eDf/+Hg + 3//h4N//4eDf/+Hg3//h4N//4eDf/+Hg3//h4N//4eDf/+Hg3//h4N//4eDf/+Hg3//h4N//4eDf/+Hg + 3//h4N//4eDf/+Hg3//f4N//qdTp/2/H9P9hxPP/VsDx/0u97/8/uu3/M7br/yey6f8cr+f/M7br/1C+ + 8P9IvO//Pbnt/zK26/8nsun/HK/n/xKs5f8Nq+X/HrDo/0S77v9Gu+7/Prnt/ze37P8vtev/KLLp/yGw + 6P8Zruf/Eqzm/xmt5OIdruQ1Ia/kAA6r5QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADY2NgA2NjYf9jY2P/Y2Nj/2NjY/9jY2P/Y2Nj/2NjY/9jY + 2P/Y2Nj/2NjY/9jY2P/Y2Nj/2NjY/9jY2P/Y2Nf/xsK7/7Stov+zraL/s62i/7Otov+zraL/s62i/7Ot + ov+zraL/s62i/7Otov+zraL/s62i/7Otov+zraL/s62i/7Otov+zraL/s62i/7Otov+zraL/s62i/7Ot + ov+zraL/s62i/7Otov+zraL/s62i/7Otov+zraL/s62i/7Otov+zraL/s62i/7Otov+zraL/s62i/7Ot + ov+zraL/s62i/7Otov+zraL/s62i/7Otov+zraL/s62i/7Otov+zraL/s62i/7Stof+srKX/hbzW/2zI + 9v9gw/P/VcDx/0m97/8+ue3/Mrbr/yay6f8esOj/PLjt/0y97/9Buu3/Nrfs/yuz6v8gsOj/Fq3m/w+r + 5f8Oq+X/JrLp/0a77v9Cuu7/Orjs/zO26/8rs+r/JLLp/xyv5/8Vreb/D6vl/w6r5bQOq+UXDqvlAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANnZ + 2QDZ2dl/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9XU + 0/+vqZ7/pJyN/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Sc + jv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Sc + jv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Sc + jv+knI7/pJyO/6Scjv+knI7/pJyO/6Wcjf+dpaH/fcLi/2rH9f9fw/L/VL/w/0i87/88uez/MbXr/ySy + 6f8isej/Qbrt/0e87v87uOz/MLXq/yWy6f8aruf/Eazl/w6r5f8QrOX/L7Xr/0W77v89ue3/Nrfs/y+0 + 6v8nsun/ILDo/xmu5/8SrOb/Dqvl/A6r5YoOq+UHDqvlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2dnZANnZ2X/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ + 2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dr/1dTT/6+pnv+knI7/pZ2P/6Wdj/+lnY//pZ2P/6Wd + j/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wd + j/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wd + j/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wd + jv+Yq67/eMbt/2nH9f9ewvL/Ur/w/0e87v87uOz/L7Xq/yOx6P8ns+n/Q7vu/0C67f81tuv/KrPp/x+w + 6P8Ureb/Dqvl/w2r5f8Treb/N7fs/0K67v86uOz/MrXr/yuz6v8jsej/HK/n/xWt5v8Pq+X/Dqvl8Q6r + 5WEOq+UBDqvlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADa2toA2traf9ra2v/a2tr/2tra/9ra2v/a2tr/2tra/9ra2v/a2tr/2tra/9ra2v/a2tr/2tra/9ra + 2v/X1tX/s62j/6Sbjf+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Sc + jv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Sc + jv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyO/6Sc + jv+knI7/pJyO/6Scjv+knI7/pJyO/6Scjv+knI7/pJyN/6Scjv+Qsb3/dMjy/2jG9P9cwvL/Ub7w/0W7 + 7v86uOz/LrTq/yKx6P8ttOr/Qrru/zm47P8utOr/I7Ho/xiu5v8Qq+X/Dqvl/w2r5f8aruf/PLjt/z65 + 7f82t+z/LrXq/yey6f8gsOj/GK7n/xKs5f8Oq+X/Davl3Ryt4j4AH/8Aqr3EAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANvb2wDb29t/29vb/9vb2//b29v/29vb/9vb + 2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9ra2v/NzMj/wLy1/8C8tf/AvLX/wLy1/8C8 + tf/AvLX/wLy1/8C8tf/AvLX/wLy1/8C8tf/AvLX/wLy1/8C8tf/AvLX/wLy1/8C8tf/AvLX/wLy1/8C8 + tf/AvLX/wLy1/8C8tf/AvLX/wLy1/8C8tf/AvLX/wLy1/8C8tf/AvLX/wLy1/8C8tf/AvLX/wLy1/8C8 + tf/AvLX/wLy1/8C8tf/AvLX/wLy1/8C8tf/AvLX/wLy1/8C8tf/AvLX/wLy1/8C8tf/AvLX/wLy1/8C8 + tf/AvLX/wLy0/76/u/+ZzOb/csn2/2bF9P9bwfL/T77w/0O77v84t+z/LLTq/yKx6P8ztuv/Prnt/zO2 + 6/8osun/Ha/n/xOs5v8Oq+X/Dqvl/w6r5f8gsej/Pbnt/zq47P8ytuv/K7Pq/yOx6f8cr+f/FK3m/w6r + 5f8jreD/gbjN2MXAvkzS//8AvLy8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA29vbANvb23/b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb + 2//b29v/29vb/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc + 3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc + 3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc + 3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3dzc/8/Z3/+Pz/D/cMn1/2XF + 8/9ZwfH/Tr7v/0K67v83t+z/K7Pq/ySx6f82t+v/OLfs/yy06v8hsej/F63m/w+r5f8Oq+X/Dqvl/w+r + 5f8os+n/PLjt/zW37P8utOr/J7Lp/x6w6P8Yrub/PbHc/5S6yf+/wMD/xsbG0tLS0i3Ozs4A1dXVAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADc3NwA3Nzcf9zc3P/c3Nz/3Nzc/9zc + 3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc + 3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc + 3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc + 3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc + 3P/c3Nz/3Nzc/9zc3P/c3Nv/3Nzb/8PY4/+EzfT/b8j1/2TF8/9YwfH/Tb3v/0G67f81tuv/KbPp/yey + 6f82t+v/MbXr/yay6f8br+f/Eazl/w6r5f8Oq+X/Dqvl/xKs5v8utOr/Objs/zK16/8ps+r/KLLn/164 + 2/+twMf/w8LB/8vLy//U1NT/1tbUquTk1xDd3dUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAANzc3ADc3Nx/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc + 3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc + 3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc + 3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc + 3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/9zc3P/c3Nz/3Nzc/7XW + 5/99zPb/bcj1/2LE8/9XwfH/S73v/0C67f80tuv/KLPp/ymz6f80tuv/K7Pq/yCw6P8Vreb/D6vl/w6r + 5f8Oq+X/Dqvl/xat5v8ztuv/NLbs/z236P+Ewdn/wsjL/8vJyf/T09P/29va/9XV1v+ensDyU1OmToqK + uAAQEJEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3d3dAN3d3X/d3d3/3d3d/93d + 3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d + 3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d + 3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d + 3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d + 3f/d3d3/3d3d/93d3f/d3d3/3d3d/9zd3f/d3dz/2dze/6XU7f94y/f/bMf1/2HE8/9VwPH/Sr3v/z65 + 7f8ytuv/J7Lp/yy06v8vter/JLLp/xmu5/8Qq+X/Dqvl/w6r5f8Oq+X/Davl/xuv5/9Wvef/psva/8/P + 0P/T0tL/3Nzc/+Dg3//Q0Nb/e3u2/yEhlv8PD5K/ERGUHxAQkwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADd3d0A3d3df93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d + 3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d + 3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d + 3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d + 3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d + 3f/e3d3/0tvg/5fR8f92y/b/a8f0/2DD8v9Uv/D/Sbzv/z257f8xtev/KLLp/yy06v8ps+n/Hq/n/xOs + 5v8Oq+X/Dqvl/w2r5f8SrOX/Vbzi/77T2//Y19b/29vb/+Pj4//k5OP/w8PT/11drP8VFZP/Dw+S/xER + lf0REZeWEhKZDBISmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN7e3gDe3t5/3t7e/97e + 3v/e3t7/3t7e/97e3v/e3t7/3t7e/97e3v/e3t7/3t7e/97e3v/e3t7/3t7e/97e3v/d3d3/3d3d/93d + 3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d + 3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d + 3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3d3d/93d + 3f/d3d3/3d3d/93d3f/d3d3/3t7e/97e3v/e3t7/3t7e/97e3f/e3t3/ydrk/4vP9P91yvb/asf0/17D + 8v9Sv/D/R7zu/zu47P8vter/KLLp/yqz6f8jsej/GK7m/w+r5f8MquX/Hq/l/3rH5P/T3N//3t3d/+Pj + 4//q6un/5eXm/62tzf8+PqL/Dw+R/xAQk/8REZX/ERGX/xISmfYTE5tuFBSiAhMTnAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA3t7eAN7e3n/e3t7/3t7e/97e3v/e3t7/3t7e/97e3v/e3t7/3t7e/97e + 3v/e3t7/3t7e/97e3v/e3t7/3t7e/+Hh4f/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/4+Pj/9/f3//e3t7/3t7e/97e + 3v/e3t7/3t7e/97e3v/f3t7/vNjo/4PO9v9zyvb/aMb0/13C8v9Rv/D/Rrvu/zq47P8utOr/KLPp/yay + 6f8cr+f/EKvl/zW25v+h1ej/4uTl/+Pi4v/l5eX/7e3r/+Hh5v+NjcL/KCia/w4Okf8QEJT/ERGW/xIS + mP8SEpn/ExOb/xMTneMTE59CExOeABISoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADf398A39/ff9/f + 3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/97e3v/f39//29nX/8/M + xv/Oy8X/zsvF/87Lxf/Oy8X/zsvF/87Lxf/Oy8X/zsvF/87Lxf/Oy8X/zsvF/87Lxf/Oy8X/zsvF/87L + xf/Oy8X/zsvF/87Lxf/Oy8X/zsvF/87Lxf/Oy8X/zsvF/87Lxf/Oy8X/zsvF/87Lxf/Oy8X/zsvF/87L + xf/Oy8X/zsvF/87Lxf/Oy8X/zsvF/87Lxf/Oy8X/zsvF/87Lxf/Oy8X/zsvF/87Lxf/Oy8X/zsvF/87L + xf/Oy8X/zsvF/87Lxf/T0cz/3t7d/9/f3//f39//39/f/9/f3//f39//3t/f/9/f3v/c3t//rdbt/37N + 9/9yyfb/Z8b0/1vC8v9QvvD/RLvu/zi37P8ttOr/JrLp/yOx6P9Wv+b/w9/p/+zr6//l5eX/4+Pj/+rq + 6f/U1OH/a2u2/xgYlP8ODpL/ERGU/xERlv8SEpj/EhKa/xMTnP8TE57/ExOg/xMTorkUFKMQFBSjAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAN/f3wDf399/39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f + 3//f39//39/f/9/f3//f39//39/f/9zc2/+4sqj/pp6Q/6aekP+mnpD/pp6Q/6aekP+mnpD/pp6Q/6ae + kP+mnpD/pp6Q/6aekP+mnpD/pp6Q/6aekP+mnpD/pp6Q/6aekP+mnpD/pp6Q/6aekP+mnpD/pp6Q/6ae + kP+mnpD/pp6Q/6aekP+mnpD/pp6Q/6aekP+mnpD/pp6Q/6aekP+mnpD/pp6Q/6aekP+mnpD/pp6Q/6ae + kP+mnpD/pp6Q/6aekP+mnpD/pp6Q/6aekP+mnpD/pp6Q/6aekP+mnpD/pp6Q/6qjlv/Qzsr/4ODg/9/f + 3//f39//39/f/9/f3//f39//39/f/+Df3//X3uH/ntPw/3vM9/9xyfX/ZsXz/1rB8v9PvvD/Q7ru/za3 + 7P81tun/fsjl/9Xh5f/p5+f/4+Pj/+Dg4P/l5eT/urrV/0lJqP8QEJH/Dw+T/xERlf8REZf/EhKZ/xMT + m/8TE53/ExOe/xMToP8UFKL/FRWk6xUVpTQVFaUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODgAODg + 4H/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/29rZ/7Cq + n/+knI7/pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wd + j/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wd + j/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wd + j/+lnY//pZ2P/6Wdj/+lnY//p6CS/83Lxv/g4OH/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/3+Dg/+Dg + 3//O3OT/kdH0/3rM9/9wyfX/ZMXz/1jB8f9Mve//V77q/5/O4v/b3+D/4eDg/9zc3P/d3dz/29ve/5aW + xf8uLp3/Dg6R/xAQlP8REZb/ERGX/xISmf8TE5v/ExOd/xMTn/8TE6H/FBSj/xcXqP8bG67tFBSmOxUV + pwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OAA4ODgf+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg + 4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/b29r/saqf/6Scjv+lnI7/pZyO/6Wcjv+lnI7/pZyO/6Wc + jv+lnI7/pZyO/6Wcjv+lnI7/pZyO/6Wcjv+lnI7/pZyO/6Wcjv+lnI7/pZyO/6Wcjv+lnI7/pZyO/6Wc + jv+lnI7/pZyO/6Wcjv+lnI7/pZyO/6Wcjv+lnI7/pZyO/6Wcjv+lnI7/pZyO/6Wcjv+lnI7/pZyO/6Wc + jv+lnI7/pZyO/6Wcjv+lnI7/pZyO/6Wcjv+lnI7/pZyO/6Wcjv+lnI7/pZyO/6Scjv+nn5L/zsvH/+Hh + 4f/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Hg4P/B2uj/ic/3/3nM9/9uyPX/Y8Tz/3jG + 6f+50dz/29ra/9nZ2f/V1dX/2dnX/8vL1f9ycrb/GxuV/w4Okv8REZT/ERGW/xISmP8SEpr/ExOc/xMT + nv8TE6D/ExOh/xQUo/8VFab/JCS5/yAgtc0SEqUZFhapAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODg + 4ADg4OB/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4eHh/9/e + 3v++urL/q6SX/6ykmP+spJj/rKSY/6ykmP+spJj/rKSY/6ykmP+spJj/rKSY/6ykmP+spJj/rKSY/6yk + mP+spJj/rKSY/6ykmP+spJj/rKSY/6ykmP+spJj/rKSY/6ykmP+spJj/rKSY/6ykmP+spJj/rKSY/6yk + mP+spJj/rKSY/6ykmP+spJj/rKSY/6ykmP+spJj/rKSY/6ykmP+spJj/rKSY/6ykmP+spJj/rKSY/6yk + mP+spJj/rKSY/6ykmP+spJj/q6SY/7Gqn//U09D/4eHh/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg + 4P/g4OD/4eHg/9/g4f+y2O3/g874/3vL9f+VyuT/xdDV/9XU0//S0dH/0NDP/9TU0/+zs8r/TU2n/xIS + kv8PD5P/ERGV/xERl/8SEpn/EhKb/xMTnP8TE57/ExOg/xQUov8UFKT/Fxeo/ycnvP8vL8fkHByxWAAA + IQAWFqsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4eHhAOHh4X/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh + 4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/97e3f/a2tj/2trY/9ra2P/a2tj/2trY/9ra + 2P/a2tj/2trY/9ra2P/a2tj/2trY/9ra2P/a2tj/2trY/9ra2P/a2tj/2trY/9ra2P/a2tj/2trY/9ra + 2P/a2tj/2trY/9ra2P/a2tj/2trY/9ra2P/a2tj/2trY/9ra2P/a2tj/2trY/9ra2P/a2tj/2trY/9ra + 2P/a2tj/2trY/9ra2P/a2tj/2trY/9ra2P/a2tj/2trY/9ra2P/a2tj/2trY/9ra2P/a2tj/3Nva/+Dg + 4P/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4uHh/9rf4/+o0+v/qsrc/8nM + zf/Ozc3/ysrK/8zMy//Ly87/k5O9/zIynP8ODpH/EBCT/xERlf8REZf/EhKZ/xMTm/8TE53/ExOf/xMT + of8UFKL/FBSk/xoarP8sLMP/MzPLyicnvkYAAIwCGBitAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADh4eEA4eHhf+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh + 4f/h4eH/4eHh/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/h4uL/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh + 4f/h4eH/4eHh/+Hh4f/h4eH/4uHh/9TX2P/Gx8f/x8bG/8TExP/Hx8b/wMDH/3Fxr/8dHZX/Dg6R/xAQ + lP8REZb/EhKY/xISmv8TE5z/ExOe/xMTn/8TE6H/FBSj/xUVpf8fH7L/MDDI+DAwyKcjI7om////AA4O + oQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLi4gDi4uJ/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4eDg/8/P + z//BwcH/w8PB/6urvf9PT6T/ExOS/w8Pkv8REZX/ERGX/xISmP8SEpr/ExOc/xMTnv8TE6D/FBSi/xQU + pP8WFqf/JSW6/zMzy+suLsZ6GxuxECEhuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA4uLiAOLi4n/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/3t7e/8fHyP+YmMD/OTmj/w4Okf8QEJP/ERGV/xER + l/8SEpn/ExOb/xMTnf8TE5//ExOh/xQUov8UFKT/GRmr/ysrwf8zM8vSKSnAUgwMmwUcHK8AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+MA4+Pjf+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/5OTk/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5OTk/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//k5OP/2Njb/21twP8jI7P/EhKX/xERlv8SEpj/EhKa/xMTnP8TE53/ExOf/xMTof8UFKP/FBSl/x0d + sf8vL8f7MTHKryQkuy0AAAAAEBCjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAOPj4wDj4+N/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//h4N//29rX/9va1v/b2tb/29rW/9va1v/b2tb/29rW/9va1v/b2tb/29rW/9va + 1v/b2tb/29rW/9va1v/b2tb/29rW/9va1v/b2tb/29rW/9va1v/b2tb/29rW/9va1v/b2tb/29rW/9va + 1v/b2tb/29rW/9va1v/b2tb/29rW/9va1v/b2tb/29rW/9vZ1v/f3tz/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//l5eT/w8PX/05Ov/8hIbD/EhKY/xIS + mv8TE5z/ExOe/xMToP8UFKL/FBSj/xUVpv8iIrf/MjLK7zAwyIUgILMVLS3WAAAANQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5OTkAOTk5H/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/4eHg/724r/+qopX/qqOW/6qj + lv+qo5b/qqOW/6qjlv+qo5b/qqOW/6qjlv+qo5b/qqOW/6qjlv+qo5b/qqOW/6qjlv+qo5b/qqOW/6qj + lv+qo5b/qqOW/6qjlv+qo5b/qqOW/6qjlv+qo5b/qqOW/6qjlv+qo5b/qqOW/6qjlv+qo5b/qqOW/6qj + lv+qo5b/qqKV/7Wvpf/f3t3/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/l5eT/q6vS/zo6v/8cHKr/ExOc/xMTnv8TE6D/FBSi/xQUpP8YGKr/KCi//0BA + zeszM8ReCwukBh8ftAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADk5OQA5OTkf+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/f3t3/saug/6Scjv+lnY7/pZ2O/6Wdjv+lnY7/pZ2O/6Wdjv+lnY7/pZ2O/6Wd + jv+lnY7/pZ2O/6Wdjv+lnY7/pZ2O/6Wdjv+lnY7/pZ2O/6Wdjv+lnY7/pZ2O/6Wdjv+lnY7/pZ2O/6Wd + jv+lnY7/pZ2O/6Wdjv+lnY7/pZ2O/6Wdjv+lnY7/pZ2O/6Wdjv+knI7/q6SY/93c2//k5eX/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/j4+P/jo7M/zAw + v/8bG6r/ExOg/xMTov8UFKT/Gxuv/y4uxf9iYtH/srLay97e4RTQ0N8AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOTk5ADk5OR/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OXl/9/f3f+xq6D/pJyO/6Wd + j/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wd + j/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wd + j/+lnY//pZ2P/6Scjv+rpJj/3dzb/+Xl5f/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Xl5P/a2uD/cnLJ/y8vxP8kJLn/ICC0/yUlvP85Ocv/fX3U/9DQ + 3//m5uTK5ublFObm5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA5eXlAOXl5X/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/4uLh/7u2rf+noJL/qKCT/6igk/+ooJP/qKCT/6igk/+ooJP/qKCT/6ig + k/+ooJP/qKCT/6igk/+ooJP/qKCT/6igk/+ooJP/qKCT/6igk/+ooJP/qKCT/6igk/+ooJP/qKCT/6ig + k/+ooJP/qKCT/6igk/+ooJP/qKCT/6igk/+ooJP/qKCT/6igk/+ooJP/p6CS/7Osof/f397/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+bm + 5f/U1N//gYHO/0tLy/9BQcz/VlbP/5yc1//e3uP/5+fl/+Xl5crl5eUU5eXlAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADl5eUA5eXlf+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/3t3b/9LP + y//Rz8r/0c/K/9HPyv/Rz8r/0c/K/9HPyv/Rz8r/0c/K/9HPyv/Rz8r/0c/K/9HPyv/Rz8r/0c/K/9HP + yv/Rz8r/0c/K/9HPyv/Rz8r/0c/K/9HPyv/Rz8r/0c/K/9HPyv/Rz8r/0c/K/9HPyv/Rz8r/0c/K/9HP + yv/Rz8r/0c/K/9HPyv/Rz8v/2tjW/+Tk5P/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+bm5f/i4uT/0NDf/8LC3P/U1OD/5eXl/+bm + 5f/l5eX/5eXlyuXl5RTl5eUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAObm5gDm5uZ/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubn/+bm5//m5uf/5ubn/+bm5//m5uf/5ubn/+bm + 5//m5uf/5ubn/+bm5//m5uf/5ubn/+bm5//m5uf/5ubn/+bm5//m5uf/5ubn/+bm5//m5uf/5ubn/+bm + 5//m5uf/5ubn/+bm5//m5uf/5ubn/+bm5//m5uf/5ubn/+bm5//m5uf/5ubn/+bm5//m5ub/5ubm/+Xl + 5f/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5eXl/+bm5v/n5+b/5+fm/+fn5v/m5ub/5eXl/+bm5v/m5ubK5eXlFOXl5QAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5ubmAObm + 5n/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5srm5uYU5ubmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADm5uYA5ubmf+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubmyubm5hTm5uYAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOfn + 5wDn5+d/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+fK5+fnFOfn5wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5+fnAOfn53/n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn58rn5+cU5+fnAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADn5+cA5+fnf+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/4uLg/9za1//b2tf/3NrX/9za1//c2tf/3NrX/9za1//c2tf/3NrX/9za1//c2tf/3NrX/9za + 1//c2tf/3NrX/9za1//c2tf/3NrX/9za1//c2tf/3NrX/9za1//c2tf/3NrX/9za1//c2tf/3NrX/9za + 1//c2tf/3NrX/9za1//c2tf/3NrX/9za1//c2tf/3NrX/9za1//c2tf/3NrX/9za1//c2tf/3NrX/9za + 1//c2tf/3NrX/9za1//c2tf/3NrX/9za1//c2tf/3NrX/9za1//c2tf/3NrX/9za1//c2tf/3NrX/9va + 1//f3dv/5ubm/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fnyufn5xTn5+cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjo6ADo6Oh/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+Xl5P++ubD/qqKV/6qjlv+qo5b/qqOW/6qj + lv+qo5b/qqOW/6qjlv+qo5b/qqOW/6qjlv+qo5b/qqOW/6qjlv+qo5b/qqOW/6qjlv+qo5b/qqOW/6qj + lv+qo5b/qqOW/6qjlv+qo5b/qqOW/6qjlv+qo5b/qqOW/6qjlv+qo5b/qqOW/6qjlv+qo5b/qqOW/6qj + lv+qo5b/qqOW/6qjlv+qo5b/qqOW/6qjlv+qo5b/qqOW/6qjlv+qo5b/qqOW/6qjlv+qo5b/qqOW/6qj + lv+qo5b/qqOW/6qjlv+qo5b/qqOW/6qjlv+qo5b/qqOW/7Cpnf/b2db/6enp/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6OjK6OjoFOjo + 6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA6OjoAOjo6H/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6On/4+Lh/7Ksof+knI7/pZ2O/6Wdjv+lnY7/pZ2O/6Wdjv+lnY7/pZ2O/6Wdjv+lnY7/pZ2O/6Wd + jv+lnY7/pZ2O/6Wdjv+lnY7/pZ2O/6Wdjv+lnY7/pZ2O/6Wdjv+lnY7/pZ2O/6Wdjv+lnY7/pZ2O/6Wd + jv+lnY7/pZ2O/6Wdjv+lnY7/pZ2O/6Wdjv+lnY7/pZ2O/6Wdjv+lnY7/pZ2O/6Wdjv+lnY7/pZ2O/6Wd + jv+lnY7/pZ2O/6Wdjv+lnY7/pZ2O/6Wdjv+lnY7/pZ2O/6Wdjv+lnY7/pZ2O/6Wdjv+lnY7/pZ2O/6Wd + jv+knI7/qKCS/9TRzf/p6en/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6Mro6OgU6OjoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADo6OgA6Ojof+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/j4uH/sqyh/6Scjv+lnY//pZ2P/6Wd + j/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wd + j/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wd + j/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wd + j/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wdj/+lnY//pZ2P/6Wcjv+ooJL/1NHM/+np6f/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojoyujo + 6BTo6OgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAOnp6QDp6el/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6enp/+bl5f+9uK//qKCS/6igk/+ooJP/qKCT/6igk/+ooJP/qKCT/6igk/+ooJP/qKCT/6ig + k/+ooJP/qKCT/6igk/+ooJP/qKCT/6igk/+ooJP/qKCT/6igk/+ooJP/qKCT/6igk/+ooJP/qKCT/6ig + k/+ooJP/qKCT/6igk/+ooJP/qKCT/6igk/+ooJP/qKCT/6igk/+ooJP/qKCT/6igk/+ooJP/qKCT/6ig + k/+ooJP/qKCT/6igk/+ooJP/qKCT/6igk/+ooJP/qKCT/6igk/+ooJP/qKCT/6igk/+ooJP/qKCT/6ig + k/+ooJP/qKCT/6+onP/a2NX/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6enK6enpFOnp6QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6enpAOnp6X/p6en/6enp/+np + 6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+Hg3//V0s7/1NHN/9TR + zf/U0c3/1NHN/9TRzf/U0c3/1NHN/9TRzf/U0c3/1NHN/9TRzf/U0c3/1NHN/9TRzf/U0c3/1NHN/9TR + zf/U0c3/1NHN/9TRzf/U0c3/1NHN/9TRzf/U0c3/1NHN/9TRzf/U0c3/1NHN/9TRzf/U0c3/1NHN/9TR + zf/U0c3/1NHN/9TRzf/U0c3/1NHN/9TRzf/U0c3/1NHN/9TRzf/U0c3/1NHN/9TRzf/U0c3/1NHN/9TR + zf/U0c3/1NHN/9TRzf/U0c3/1NHN/9TRzf/U0c3/1NHN/9TRzf/U0c3/29rX/+jo5//p6en/6enp/+np + 6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np + 6crp6ekU6enpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADp6ekA6enpf+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6enp/+np6f/p6en/6enq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enpyunp6RTp6ekAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOrq6gDq6up/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6urK6enpFOnp6QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA6urqAOrq6n/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6srq6uoU6urqAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADq6uoA6urqf+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urqyurq6hTq6uoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOrq6gDq6up/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/r6uv/6+rr/+vq6//r6uv/6+rr/+vq6//r6uv/6+rr/+vq6//r6uv/6+rr/+vq + 6//r6uv/6+rr/+vq6//r6uv/6+rr/+vq6//r6uv/6+rr/+vq6//r6uv/6+rr/+vq6//r6uv/6+rr/+vq + 6//r6uv/6+rr/+vq6//r6uv/6+rr/+vq6//r6uv/6+rr/+vq6//r6uv/6+rr/+vq6//r6uv/6+rr/+vq + 6//r6uv/6+rr/+vq6//r6uv/6+rr/+vq6//r6uv/6+rr/+vq6//r6uv/6+rr/+vq6//r6uv/6+rr/+vq + 6//r6uv/6+rr/+vq6//r6uv/6+rr/+vq6//r6uv/6+rr/+vq6//r6uv/6+rr/+vq6//r6uv/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6urK6urqFOrq6gAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6urqAOrq + 6n/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/r6+v/6+vr/+Do4//c5uD/3Obh/9zm + 4f/c5uH/3Obh/9zm4f/c5uH/3Obh/9zm4f/c5uH/3Obh/9zm4f/c5uH/3Obh/9zm4f/c5uH/3Obh/9zm + 4f/c5uH/3Obh/9zm4f/c5uH/3Obh/9zm4f/c5uH/3Obh/9zm4f/c5uH/3Obh/9zm4f/c5uH/3Obh/9zm + 4f/c5uH/3Obh/9zm4f/c5uH/3Obh/9zm4f/c5uH/3Obh/9zm4f/c5uH/3Obh/9zm4f/c5uH/3Obh/9zm + 4f/c5uH/3Obh/9zm4f/c5uH/3Obh/9zm4f/c5uH/3Obh/9zm4f/c5uH/3Obh/9zm4f/c5uH/3Obh/9zm + 4f/c5uH/3Obh/9zm4f/c5uH/3Obg/+Do4//r6+v/6+vr/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6srq6uoU6urqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADr6+sA6+vrf+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr + 6//r6+v/6+vr/+rr6v+t2sD/YsaO/1bChf9Wwob/VsKG/1bChv9Wwob/VsKG/1bChv9Wwob/VsKG/1bC + hv9Wwob/VsKG/1bChv9Wwob/VsKG/1bChv9Wwob/VsKG/1bChv9Wwob/VsKG/1bChv9Wwob/VsKG/1bC + hv9Wwob/VsKG/1bChv9Wwob/VsKG/1bChv9Wwob/VsKG/1bChv9Wwob/VsKG/1bChv9Wwob/VsKG/1bC + hv9Wwob/VsKG/1bChv9Wwob/VsKG/1bChv9Wwob/VsKG/1bChv9Wwob/VsKG/1bChv9Wwob/VsKG/1bC + hv9Wwob/VsKG/1bChv9Wwob/VsKG/1bChv9Wwob/VsKG/1bChv9Wwob/VsKG/1bChv9WwoX/Y8aO/6/b + wv/q6+r/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vryuvr6xTr6+sAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOvr + 6wDr6+t/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//t6+z/yuLV/0i/ff8suGr/Lrhr/y64 + a/8uuGv/Lrhr/y64a/8uuGv/Lrhr/y64a/8uuGv/Lrhr/y64a/8uuGv/Lrhr/y64a/8uuGv/Lrhr/y64 + a/8uuGv/Lrhr/y64a/8uuGv/Lrhr/y64a/8uuGv/Lrhr/y64a/8uuGv/Lrhr/y64a/8uuGv/Lrhr/y64 + a/8uuGv/Lrhr/y64a/8uuGv/Lrhr/y64a/8uuGv/Lrhr/y64a/8uuGv/Lrhr/y64a/8uuGv/Lrhr/y64 + a/8uuGv/Lrhr/y64a/8uuGv/Lrhr/y64a/8uuGv/Lrhr/y64a/8uuGv/Lrhr/y64a/8uuGv/Lrhr/y64 + a/8uuGv/Lrhr/y64a/8uuGv/Lrhr/y64a/8suGr/SsB//8zj1v/t6+z/6+vr/+vr6//r6+v/6+vr/+vr + 6//r6+v/6+vr/+vr6//r6+vK6+vrFOvr6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6+vrAOvr63/r6+v/6+vr/+vr6//r6+v/6+vr/+vr + 6//r6+v/6+vr/+7s7f+n2r7/M7xx/y66bv8vum7/L7pu/y+6bv8vum7/L7pu/y+6bv8vum7/L7pu/y+6 + bv8vum7/L7pu/y+6bv8vum7/L7pu/y+6bv8vum7/L7pu/y+6bv8vum7/L7pu/y+6bv8vum7/L7pu/y+6 + bv8vum7/L7pu/y+6bv8vum7/L7pu/y+6bv8vum7/L7pu/y+6bv8vum7/L7pu/y+6bv8vum7/L7pu/y+6 + bv8vum7/L7pu/y+6bv8vum7/L7pu/y+6bv8vum7/L7pu/y+6bv8vum7/L7pu/y+6bv8vum7/L7pu/y+6 + bv8vum7/L7pu/y+6bv8vum7/L7pu/y+6bv8vum7/Lrpu/y67bv8uu27/Lrtu/y67bv8uu27/Lrtu/y66 + bv8zvHL/qNq//+7s7f/r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr68rr6+sU6+vrAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADr6+sA6+vrf+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/7uzt/57Yuf8wvHH/Lbxv/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lbxw/y28 + b/8tvHD/Mrlx/zS3cf80t3H/M7hx/zG5cP8xuXD/Mblw/zO6cv+e1rj/7ers/+rq6v/q6ur/7Ozs/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7Ozsy+vr6xTr6+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOzs7ADs7Ox/7Ozs/+zs7P/s7Oz/7Ozs/+zs + 7P/s7Oz/7Ozs/+zs7P/v7e7/n9m6/y++c/8svXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29 + cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29 + cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29 + cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29 + cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/yy9cf8svnH/Nrdz/1Wjev9rlH7/cY9//3GOf/9ukH3/Z5N8/2aS + e/9lkXr/ZZF6/4yglf+pqan/p6en/6ampv+rq6v/sLCw/6+vr/+urq7/sbGx/7i4uP/Kysqk9vb2C+Xl + 5QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA7OzsAOzs7H/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+/t7v+e2rv/Lr91/yu/ + c/8rv3T/K790/yu/dP8rv3T/K790/yu/dP8rv3T/K790/yu/dP8rv3T/K790/yu/dP8rv3T/K790/yu/ + dP8rv3T/K790/yu/dP8rv3T/K790/yu/dP8rv3T/K790/yu/dP8rv3T/K790/yu/dP8rv3T/K790/yu/ + dP8rv3T/K790/yu/dP8rv3T/K790/yu/dP8rv3T/K790/yu/dP8rv3T/K790/yu/dP8rv3T/K790/yu/ + dP8rv3T/K790/yu/dP8rv3T/K790/yu/dP8rv3T/K790/yu/dP8rv3T/K790/yu/dP8rv3T/K79z/zq1 + dv9uk3//hIOE/4SCg/+DgYL/goCB/4F/gP+Afn//f31+/358ff99e3z/enl5/3d3d/91dXX/dHR0/3Jy + cv9wcHD/bm5u/2xsbP9ra2v+bW1tsXZ2diBLS0sAsrKyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADs7OwA7Ozsf+zs7P/s7Oz/7Ozs/+zs + 7P/s7Oz/7Ozs/+zs7P/s7Oz/7+3u/57bvP8twXf/KsB1/yvAdv8rwHb/K8B2/yvAdv8rwHb/K8B2/yvA + dv8rwHb/K8B2/yvAdv8rwHb/K8B2/yvAdv8rwHb/K8B2/yvAdv8rwHb/K8B2/yvAdv8rwHb/K8B2/yvA + dv8rwHb/K8B2/yvAdv8rwHb/K8B2/yvAdv8rwHb/K8B2/yvAdv8rwHb/K8B2/yvAdv8rwHb/K8B2/yvA + dv8rwHb/K8B2/yvAdv8rwHb/K8B2/yvAdv8rwHb/K8B2/yvAdv8rwHb/K8B2/yvAdv8rwHb/K8B2/yvA + dv8rwHb/K8B2/yvAdv8rwHb/K8B2/yrBdf8vvXb/Zph+/4SCg/+CgoL/gYGB/4CAgP9/f3//fn5+/319 + ff98fHz/enp6/3l5ef94eHj/dnZ2/3R0dP9ycnL/cXFx/29vb/9tbW3/a2tr/mlpabFnZ2cfb29vADg4 + OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAOzs7ADs7Ox/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/v7e7/ntu9/yzC + ef8pwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrC + d/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrC + d/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrC + d/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KMJ3/0Gx + ev98hoH/goGB/4CAgP9/f3//fn5+/319ff98fHz/enp6/3l5ef94eHj/dnZ2/3R0dP9zc3P/cXFx/29v + b/9tbW3/a2tr/2lpaf5nZ2exZ2dnH2hoaABiYmIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7OzsAOzs7H/s7Oz/7Ozs/+zs + 7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+/t7v+d3L7/K8R7/yjDef8ow3r/KMN6/yjDev8ow3r/KMN6/yjD + ev8ow3r/KMN6/yjDev8ow3r/KMN6/yjDev8ow3r/KMN6/yjDev8ow3r/KMN6/yjDev8ow3r/KMN6/yjD + ev8ow3r/KMN6/yjDev8ow3r/KMN6/yjDev8ow3r/KMN6/yjDev8ow3r/KMN6/yjDev8ow3r/KMN6/yjD + ev8ow3r/KMN6/yjDev8ow3r/KMN6/yjDev8ow3r/KMN6/yjDev8ow3r/KMN6/yjDev8ow3r/KMN6/yjD + ev8ow3r/KMN6/yjDev8ow3r/KMN6/yjDev8nxXn/UKZ9/4GAgP+Af3//fn5+/319ff98fHz/e3t7/3l5 + ef94eHj/dnZ2/3V1df9zc3P/cXFx/29vb/9tbW3/bGxs/2lpaf9nZ2f+ZWVlsWVlZR9mZmYAYGBgAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADs7OwA7Ozsf+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7+3u/53d + v/8pxn3/J8Z7/yfGe/8nxnv/J8Z7/yfGe/8nxnv/J8Z7/yfGe/8nxnv/J8Z7/yfGe/8nxnv/J8Z7/yfG + e/8nxnv/J8Z7/yfGe/8nxnv/J8Z7/yfGe/8nxnv/J8Z7/yfGe/8nxnv/J8Z7/yfGe/8nxnv/J8Z7/yfG + e/8nxnv/J8Z7/yfGe/8nxnv/J8Z7/yfGe/8nxnv/J8Z7/yfGe/8nxnv/J8Z7/yfGe/8nxnv/J8Z7/yfG + e/8nxnv/J8Z7/yfGe/8nxnv/J8Z7/yfGe/8nxnv/J8Z7/yfGe/8nxnv/J8Z7/yfGe/8nxnv/J8Z7/yXH + e/9To33/gH1+/319ff98fHz/e3t7/3l5ef94eHj/dnZ2/3V1df9zc3P/cXFx/29vb/9ubm7/bGxs/2pq + av9nZ2f/ZWVl/mNjY7FjY2MfZGRkAF5eXgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO3t7QDt7e1/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/w7e//nd7A/yjJf/8lyH3/Jsh9/ybIff8myH3/Jsh9/ybI + ff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybI + ff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybI + ff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybI + ff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/JMp+/1Gjff9+e3z/e3t7/3p6ev94eHj/d3d3/3V1 + df9zc3P/cXFx/3BwcP9ubm7/bGxs/2pqav9nZ2f/ZWVl/2NjY/5hYWGxYWFhH2JiYgBcXFwAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA7e3tAO3t7X/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t//Du + 7/+c38H/J8qB/yfLgf8lyoD/Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXK + f/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXK + f/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXK + f/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXK + f/8jzID/UKJ9/3t4ev94eHj/d3d3/3V1df9zc3P/cnJy/3BwcP9ubm7/bGxs/2lpaf9oaGj/ZWVl/2Nj + Y/9gYGD+X19fsV9fXx9gYGAAWlpaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADt7e0A7e3tf+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/8O7v/5zgwv8lzIP/PdSP/y3Ph/8iy4H/I8yB/yPM + gf8jzIH/I8yB/yPMgf8jzIH/I8yB/yPMgf8jzIH/I8yB/yPMgf8jzIH/I8yB/yPMgf8jzIH/I8yB/yPM + gf8jzIH/I8yB/yPMgf8jzIH/I8yB/yPMgf8jzIH/I8yB/yPMgf8jzIH/I8yB/yPMgf8jzIH/I8yB/yPM + gf8jzIH/I8yB/yPMgf8jzIH/I8yB/yPMgf8jzIH/I8yB/yPMgf8jzIH/I8yB/yPMgf8jzIH/I8yB/yPM + gf8jzIH/I8yB/yPMgf8jzIH/I8yB/yPMgf8jzIH/I8yB/yLNgv9Oon3/eXV3/3V1df90dHT/cnJy/3Bw + cP9ubm7/bGxs/2pqav9oaGj/ZWVl/2NjY/9hYWH/Xl5e/lxcXLFcXFwfXV1dAFNTUwAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAO3t7QDt7e1/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/w7u//nOHD/yTNhf9L2pr/YeGl/yzQif8kzoX/JM6F/yTOhf8kzoX/JM6F/yTOhf8kzoX/JM6F/yTO + hf8kzoX/JM6F/yTOhf8kzoX/JM6F/yTOhf8kzoX/JM6F/yTOhf8kzoX/JM6F/yTOhf8kzoX/JM6F/yTO + hf8kzoX/JM6F/yTOhf8kzoX/JM6F/yTOhf8kzoX/JM6F/yTOhf8kzoX/JM6F/yTOhf8kzoX/JM6F/yTO + hf8kzoX/JM6F/yTOhf8kzoX/JM6F/yTOhf8kzoX/JM6F/yTOhf8kzoX/JM6F/yTOhf8kzoX/JM6F/yTO + hf8kzoX/I9CG/02hff91cnP/cnJy/3BwcP9ubm7/bGxs/2pqav9oaGj/ZmZm/2NjY/9hYWH/Xl5e/1xc + XP5aWlqxWlpaH1tbWwBTU1MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7e3tAO3t + 7X/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t//Dt7v+y5M//KdGL/yvTjP966rT/iO27/3np + s/946bP/eOmz/3jps/946bP/eOmz/3jps/946bP/eOmz/3jps/946bP/eOmz/3jps/946bP/eOmz/3jp + s/946bP/eOmz/3jps/946bP/eOmz/3jps/946bP/eOmz/3jps/946bP/eOmz/3jps/946bP/eOmz/3jp + s/946bP/eOmz/3jps/946bP/eOmz/3jps/946bP/eOmz/3jps/946bP/eOmz/3jps/946bP/eOmz/3jp + s/946bP/eOmz/3jps/946bP/eOmz/3jps/946bP/eOmz/3jps/9467T/da2S/3Bub/9vb2//bW1t/2tr + a/9oaGj/ZmZm/2RkZP9hYWH/X19f/1xcXP9ZWVn+WFhYsVdXVx9YWFgAU1NTAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADt7e0A7e3tf+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7u3t/97r5f9l26v/ItKK/ynVjv9U4aP/ZOas/2XmrP9l5qz/Zeas/2XmrP9l5qz/Zeas/2Xm + rP9l5qz/Zeas/2XmrP9l5qz/Zeas/2XmrP9l5qz/Zeas/2XmrP9l5qz/Zeas/2XmrP9l5qz/Zeas/2Xm + rP9l5qz/Zeas/2XmrP9l5qz/Zeas/2XmrP9l5qz/Zeas/2XmrP9l5qz/Zeas/2XmrP9l5qz/Zeas/2Xm + rP9l5qz/Zeas/2XmrP9l5qz/Zeas/2XmrP9l5qz/Zeas/2XmrP9l5qz/Zeas/2XmrP9l5qz/Zeas/2Xm + rP9l5qz/Zeas/2Xorf9pqo3/bWpr/2tra/9paWn/ZmZm/2RkZP9hYWH/X19f/1xcXP9aWlr/V1dX/lVV + VbFVVVUfVlZWAE5OTgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO3t + 7QDt7e1/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7u3t/9zr5f+f48j/heC8/4Pg + u/+D4Lv/g+C7/4Pgu/+D4Lv/g+C7/4Pgu/+D4Lv/g+C7/4Pgu/+D4Lv/g+C7/4Pgu/+D4Lv/g+C7/4Pg + u/+D4Lv/g+C7/4Pgu/+D4Lv/g+C7/4Pgu/+D4Lv/g+C7/4Pgu/+D4Lv/g+C7/4Pgu/+D4Lv/g+C7/4Pg + u/+D4Lv/g+C7/4Pgu/+D4Lv/g+C7/4Pgu/+D4Lv/g+C7/4Pgu/+D4Lv/g+C7/4Pgu/+D4Lv/g+C7/4Pg + u/+D4Lv/g+C7/4Pgu/+D4Lv/g+C7/4Pgu/+D4Lv/g+C7/4Pgu/+D4Lv/g+K8/3alkv9oZmf/Z2dn/2Rk + ZP9iYmL/X19f/11dXf9aWlr/V1dX/1RUVP5SUlKxUlJSH1NTUwBISEgAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7e3tAO3t7X/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7u3t//Dt7//x7e//8e3v//Ht7//x7e//8e3v//Ht7//x7e//8e3v//Ht + 7//x7e//8e3v//Ht7//x7e//8e3v//Ht7//x7e//8e3v//Ht7//x7e//8e3v//Ht7//x7e//8e3v//Ht + 7//x7e//8e3v//Ht7//x7e//8e3v//Ht7//x7e//8e3v//Ht7//x7e//8e3v//Ht7//x7e//8e3v//Ht + 7//x7e//8e3v//Ht7//x7e//8e3v//Ht7//x7e//8e3v//Ht7//x7e//8e3v//Ht7//x7e//8e3v//Ht + 7//x7e//8e3v//Ht7//08PL/q6qq/2JiYv9iYmL/X19f/11dXf9aWlr/V1dX/1VVVf9RUVH+UFBQsU9P + Tx9RUVEARUVFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADt7e0A7e3tf+3t7f/u7u7/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t//Dw8P+np6f/XV1d/11d + Xf9bW1v/WFhY/1VVVf9SUlL/T09P/k1NTbFNTU0fTk5OAEZGRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO3t7QDt7e1/7e3t/+/v7//u7u7/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/8PDw/6Wlpf9YWFj/WFhY/1VVVf9SUlL/T09P/0xMTP5KSkqxSkpKH0tL + SwBBQUEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA7e3tAO3t7X/t7e3/7+/v//Dw8P/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/w8PD/oqKi/1NT + U/9TU1P/T09P/0xMTP9JSUn+SEhIsUdHRx9ISEgAPj4+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADt7e0A7e3tfe3t7f/u7u7/8vLy//Dw + 8P/u7u7/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t//Hx8f+hoaH/TU1N/01NTf9KSkr/R0dH/kZGRrFGRkYfR0dHAD4+ + PgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAO3t7QDt7e1g7e3t+u3t7f/v7+//8/Pz//Pz8//x8fH/8fHx//Hx8f/x8fH/8fHx//Hx + 8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx + 8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx + 8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx + 8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/9fX1/6Cg + oP9HR0f/R0dH/0ZGRv5GRkaxRkZGH0ZGRgBFRUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7e3tAO3t7Srt7e3d7e3t/+3t + 7f/v7+//8vLy//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz + 8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz + 8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz + 8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz + 8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//29vb/nJyc/0NDQ/9GRkb+RkZGsUZGRh9GRkYARkZGAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADt7e0A7e3tAu3t7XXt7e327e3t/+3t7f/t7e3/7u7u/+7u7v/u7u7/7u7u/+7u + 7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u + 7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u + 7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u + 7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u//Hx + 8f+ampr/Q0ND/0ZGRr9GRkYiRkZGAEZGRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADt7e0A7e3tDe3t + 7XXt7e3e7e3t+u3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/8PDw/5mZmf9CQkLCRkZGLUZGRgBGRkYAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADt7e0A7e3tA+3t7Srt7e1f7e3teu3t7X/t7e1/7e3tf+3t + 7X/t7e1/7e3tf+3t7X/t7e1/7e3tf+3t7X/t7e1/7e3tf+3t7X/t7e1/7e3tf+3t7X/t7e1/7e3tf+3t + 7X/t7e1/7e3tf+3t7X/t7e1/7e3tf+3t7X/t7e1/7e3tf+3t7X/t7e1/7e3tf+3t7X/t7e1/7e3tf+3t + 7X/t7e1/7e3tf+3t7X/t7e1/7e3tf+3t7X/t7e1/7e3tf+3t7X/t7e1/7e3tf+3t7X/t7e1/7e3tf+3t + 7X/t7e1/7e3tf+3t7X/t7e1/7e3tf+3t7X/t7e1/7e3tf+3t7X/t7e1/7e3tf+3t7X/t7e1/7e3tf+3t + 7X/w8PB+lJSUgz09PS5GRkYARkZGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEZGRgBGRkYCRkZGAUZGRgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA/8AAAAAAAAAAAAAAAAAD/+AAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAA + AAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAB4AAAAAAAAAAAAAAAAAAAB/8AgAAAAAAAAAAAAAAB + AP///4AAAAAAAAAAAAAAAP////+AAAAAAAAAAAAAAAD/////gAAAAAAAAAAAAAAA/////4AAAAAAAAAA + AAAAAP////+AAAAAAAAAAAAAAAD/////gAAAAAAAAAAAAAAA/////4AAAAAAAAAAAAAAAP////+AAAAA + AAAAAAAAAAD/////gAAAAAAAAAAAAAAA/////4AAAAAAAAAAAAAAAP////+AAAAAAAAAAAAAAAD///// + gAAAAAAAAAAAAAAA/////4AAAAAAAAAAAAAAAP////+AAAAAAAAAAAAAAAD/////gAAAAAAAAAAAAAAA + /////4AAAAAAAAAAAAAAAP////+AAAAAAAAAAAAAAAD/////gAAAAAAAAAAAAAAA/////4AAAAAAAAAA + AAAAAP////+AAAAAAAAAAAAAAAD/////gAAAAAAAAAAAAAAA/////4AAAAAAAAAAAAAAAP////+AAAAA + AAAAAAAAAAD/////gAAAAAAAAAAAAAAA/////4AAAAAAAAAAAAAAAP////+AAAAAAAAAAAAAAAD///// + gAAAAAAAAAAAAAAA/////4AAAAAAAAAAAAAAAP////+AAAAAAAAAAAAAAAD/////gAAAAAAAAAAAAAAA + /////4AAAAAAAAAAAAAAAP////+AAAAAAAAAAAAAAAD/////gAAAAAAAAAAAAAAA/////4AAAAAAAAAA + AAAAAP////+AAAAAAAAAAAAAAAD/////gAAAAAAAAAAAAAAA/////4AAAAAAAAAAAAAAAP////+AAAAA + AAAAAAAAAAD/////gAAAAAAAAAAAAAAA/////4AAAAAAAAAAAAAAAP////+AAAAAAAAAAAAAAAD///// + gAAAAAAAAAAAAAAAf////4AAAAAAAAAAAAAAAD////+AAAAAAAAAAAAAAAAf////gAAAAAAAAAAAAAAA + H////4AAAAAAAAAAAAAAAA////+AAAAAAAAAAAAAAAAH////gAAAAAAAAAAAAAAAA////4AAAAAAAAAA + AAAAAAP///+AAAAAAAAAAAAAAAAB////gAAAAAAAAAAAAAAAAP///4AAAAAAAAAAAAAAAAB///+AAAAA + AAAAAAAAAAAAf///gAAAAAAAAAAAAAAAAD///4AAAAAAAAAAAAAAAAA///+AAAAAAAAAAAAAAAAAP/// + gAAAAAAAAAAAAAAAAD///4AAAAAAAAAAAAAAAAA///+AAAAAAAAAAAAAAAAAf///gAAAAAAAAAAAAAAA + Af///4AAAAAAAAAAAAAAAAP///+AAAAAAAAAAAAAAAAH////gAAAAAAAAAAAAAAAD////4AAAAAAAAAA + AAAAAD////+AAAAAAAAAAAAAAAB/////gAAAAAAAAAAAAAAA/////4AAAAAAAAAAAAAAAP////+AAAAA + AAAAAAAAAAD/////gAAAAAAAAAAAAAAA/////4AAAAAAAAAAAAAAAP////+AAAAAAAAAAAAAAAD///// + gAAAAAAAAAAAAAAA/////4AAAAAAAAAAAAAAAP////+AAAAAAAAAAAAAAAD/////gAAAAAAAAAAAAAAA + /////4AAAAAAAAAAAAAAAP////+AAAAAAAAAAAAAAAD/////gAAAAAAAAAAAAAAA/////4AAAAAAAAAA + AAAAAP////+AAAAAAAAAAAAAAAD/////gAAAAAAAAAAAAAAA/////4AAAAAAAAAAAAAAAP////+AAAAA + AAAAAAAAAAD/////gAAAAAAAAAAAAAAA/////4AAAAAAAAAAAAAAAP////+AAAAAAAAAAAAAAAD///// + gAAAAAAAAAAAAAAA/////4AAAAAAAAAAAAAAAP////+AAAAAAAAAAAAAAAD/////gAAAAAAAAAAAAAAA + /////4AAAAAAAAAAAAAAAP////+AAAAAAAAAAAAAAAH/////gAAAAAAAAAAAAAAD/////4AAAAAAAAAA + AAAAB/////+AAAAAAAAAAAAAAA//////gAAAAAAAAAAAAAAf/////4AAAAAAAAAAAAAAP/////+AAAAA + AAAAAAAAAH//////gAAAAAAAAAAAAAD//////4AAAAAAAAAAAAAB//////+AAAAAAAAAAAAAA/////// + gAAAAAAAAAAAAAf//////4AAAAAAAAAAAAAP//////+AAAAAAAAAAAAAH///////gAAAAAAAAAAAAD// + /////4AAAAAAAAAAAAB///////+AAAAAAAAAAAAA////////gAAAAAAAAAAAAf///////4AAAAAAAAAA + AAP///////+AAAAAAAAAAAAH////////gAAAAAAAAAAAD////////8AAAAAAAAAAAB/////////gAAAA + AAAAAAA/////////////////////P/////8= + + + \ No newline at end of file diff --git a/TmatrixCodeGenerator/app.config b/TmatrixCodeGenerator/app.config new file mode 100644 index 0000000..57c0f2c --- /dev/null +++ b/TmatrixCodeGenerator/app.config @@ -0,0 +1,3 @@ + + + diff --git a/TmatrixCodeGenerator/bin/FinalDLL/AcroPDF.dll b/TmatrixCodeGenerator/bin/FinalDLL/AcroPDF.dll new file mode 100644 index 0000000..1cb81fc Binary files /dev/null and b/TmatrixCodeGenerator/bin/FinalDLL/AcroPDF.dll differ diff --git a/TmatrixCodeGenerator/bin/FinalDLL/AcroPDFImpl.dll b/TmatrixCodeGenerator/bin/FinalDLL/AcroPDFImpl.dll new file mode 100644 index 0000000..6b95afa Binary files /dev/null and b/TmatrixCodeGenerator/bin/FinalDLL/AcroPDFImpl.dll differ diff --git a/TmatrixCodeGenerator/bin/FinalDLL/AcroPDFImpl64.dll b/TmatrixCodeGenerator/bin/FinalDLL/AcroPDFImpl64.dll new file mode 100644 index 0000000..500cf14 Binary files /dev/null and b/TmatrixCodeGenerator/bin/FinalDLL/AcroPDFImpl64.dll differ diff --git a/TmatrixCodeGenerator/bin/FinalDLL/AxInterop.AcroPDFLib.dll b/TmatrixCodeGenerator/bin/FinalDLL/AxInterop.AcroPDFLib.dll new file mode 100644 index 0000000..beaa0f7 Binary files /dev/null and b/TmatrixCodeGenerator/bin/FinalDLL/AxInterop.AcroPDFLib.dll differ diff --git a/TmatrixCodeGenerator/bin/FinalDLL/DocumentTools.dll b/TmatrixCodeGenerator/bin/FinalDLL/DocumentTools.dll new file mode 100644 index 0000000..5ae7cd5 Binary files /dev/null and b/TmatrixCodeGenerator/bin/FinalDLL/DocumentTools.dll differ diff --git a/TmatrixCodeGenerator/bin/FinalDLL/DrawToolsLib.dll b/TmatrixCodeGenerator/bin/FinalDLL/DrawToolsLib.dll new file mode 100644 index 0000000..33a7d40 Binary files /dev/null and b/TmatrixCodeGenerator/bin/FinalDLL/DrawToolsLib.dll differ diff --git a/TmatrixCodeGenerator/bin/FinalDLL/Interop.AFORMAUTLib.dll b/TmatrixCodeGenerator/bin/FinalDLL/Interop.AFORMAUTLib.dll new file mode 100644 index 0000000..262b4ac Binary files /dev/null and b/TmatrixCodeGenerator/bin/FinalDLL/Interop.AFORMAUTLib.dll differ diff --git a/TmatrixCodeGenerator/bin/FinalDLL/Interop.AcroPDFLib.dll b/TmatrixCodeGenerator/bin/FinalDLL/Interop.AcroPDFLib.dll new file mode 100644 index 0000000..bd61140 Binary files /dev/null and b/TmatrixCodeGenerator/bin/FinalDLL/Interop.AcroPDFLib.dll differ diff --git a/TmatrixCodeGenerator/bin/FinalDLL/Interop.Acrobat.dll b/TmatrixCodeGenerator/bin/FinalDLL/Interop.Acrobat.dll new file mode 100644 index 0000000..66c45bb Binary files /dev/null and b/TmatrixCodeGenerator/bin/FinalDLL/Interop.Acrobat.dll differ diff --git a/TmatrixCodeGenerator/bin/FinalDLL/Interop.LCC11.dll b/TmatrixCodeGenerator/bin/FinalDLL/Interop.LCC11.dll new file mode 100644 index 0000000..17e36a6 Binary files /dev/null and b/TmatrixCodeGenerator/bin/FinalDLL/Interop.LCC11.dll differ diff --git a/TmatrixCodeGenerator/bin/FinalDLL/Microsoft.Ink.dll b/TmatrixCodeGenerator/bin/FinalDLL/Microsoft.Ink.dll new file mode 100644 index 0000000..7441ec3 Binary files /dev/null and b/TmatrixCodeGenerator/bin/FinalDLL/Microsoft.Ink.dll differ diff --git a/TmatrixCodeGenerator/bin/FinalDLL/Microsoft.Office.Interop.Access.Dao.dll b/TmatrixCodeGenerator/bin/FinalDLL/Microsoft.Office.Interop.Access.Dao.dll new file mode 100644 index 0000000..c3effa7 Binary files /dev/null and b/TmatrixCodeGenerator/bin/FinalDLL/Microsoft.Office.Interop.Access.Dao.dll differ diff --git a/TmatrixCodeGenerator/bin/FinalDLL/acropdf64.dll b/TmatrixCodeGenerator/bin/FinalDLL/acropdf64.dll new file mode 100644 index 0000000..7e34515 Binary files /dev/null and b/TmatrixCodeGenerator/bin/FinalDLL/acropdf64.dll differ diff --git a/TmatrixCodeGenerator/bin/FinalDLL/itextsharp.dll b/TmatrixCodeGenerator/bin/FinalDLL/itextsharp.dll new file mode 100644 index 0000000..30cee99 Binary files /dev/null and b/TmatrixCodeGenerator/bin/FinalDLL/itextsharp.dll differ diff --git a/TmatrixCodeGenerator/bin/FinalDLL/libmupdf.dll b/TmatrixCodeGenerator/bin/FinalDLL/libmupdf.dll new file mode 100644 index 0000000..48fc91f Binary files /dev/null and b/TmatrixCodeGenerator/bin/FinalDLL/libmupdf.dll differ diff --git a/TmatrixCodeGenerator/bin/FinalDLL1/AcroPDFImpl.dll b/TmatrixCodeGenerator/bin/FinalDLL1/AcroPDFImpl.dll new file mode 100644 index 0000000..6b95afa Binary files /dev/null and b/TmatrixCodeGenerator/bin/FinalDLL1/AcroPDFImpl.dll differ diff --git a/TmatrixCodeGenerator/bin/FinalDLL1/AcroPDFImpl64.dll b/TmatrixCodeGenerator/bin/FinalDLL1/AcroPDFImpl64.dll new file mode 100644 index 0000000..500cf14 Binary files /dev/null and b/TmatrixCodeGenerator/bin/FinalDLL1/AcroPDFImpl64.dll differ diff --git a/TmatrixCodeGenerator/bin/FinalDLL1/Interop.AcroPDFLib.dll b/TmatrixCodeGenerator/bin/FinalDLL1/Interop.AcroPDFLib.dll new file mode 100644 index 0000000..bd61140 Binary files /dev/null and b/TmatrixCodeGenerator/bin/FinalDLL1/Interop.AcroPDFLib.dll differ diff --git a/TmatrixCodeGenerator/bin/FinalDLL1/Interop.LCC11.dll b/TmatrixCodeGenerator/bin/FinalDLL1/Interop.LCC11.dll new file mode 100644 index 0000000..17e36a6 Binary files /dev/null and b/TmatrixCodeGenerator/bin/FinalDLL1/Interop.LCC11.dll differ diff --git a/TmatrixCodeGenerator/bin/FinalDLL1/Microsoft.Ink.dll b/TmatrixCodeGenerator/bin/FinalDLL1/Microsoft.Ink.dll new file mode 100644 index 0000000..7441ec3 Binary files /dev/null and b/TmatrixCodeGenerator/bin/FinalDLL1/Microsoft.Ink.dll differ diff --git a/TmatrixCodeGenerator/bin/FinalDLL1/Microsoft.Office.Interop.Access.Dao.dll b/TmatrixCodeGenerator/bin/FinalDLL1/Microsoft.Office.Interop.Access.Dao.dll new file mode 100644 index 0000000..c3effa7 Binary files /dev/null and b/TmatrixCodeGenerator/bin/FinalDLL1/Microsoft.Office.Interop.Access.Dao.dll differ diff --git a/TmatrixCodeGenerator/bin/FinalDLL1/acropdf64.dll b/TmatrixCodeGenerator/bin/FinalDLL1/acropdf64.dll new file mode 100644 index 0000000..7e34515 Binary files /dev/null and b/TmatrixCodeGenerator/bin/FinalDLL1/acropdf64.dll differ diff --git a/TmatrixCodeGenerator/bin/FinalDLL1/itextsharp.dll b/TmatrixCodeGenerator/bin/FinalDLL1/itextsharp.dll new file mode 100644 index 0000000..30cee99 Binary files /dev/null and b/TmatrixCodeGenerator/bin/FinalDLL1/itextsharp.dll differ diff --git a/TmatrixCodeGenerator/bin/FinalDLL1/libmupdf.dll b/TmatrixCodeGenerator/bin/FinalDLL1/libmupdf.dll new file mode 100644 index 0000000..48fc91f Binary files /dev/null and b/TmatrixCodeGenerator/bin/FinalDLL1/libmupdf.dll differ diff --git a/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/AppVersionType.ini b/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/AppVersionType.ini new file mode 100644 index 0000000..a94908d --- /dev/null +++ b/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/AppVersionType.ini @@ -0,0 +1,3 @@ +[General] +VertionType=TQL +CodeType=OID4 \ No newline at end of file diff --git a/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/OID PG.ini b/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/OID PG.ini new file mode 100644 index 0000000..068e6ab --- /dev/null +++ b/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/OID PG.ini @@ -0,0 +1,3 @@ +[General] +Product = IW.6.COM-SONIX.STD0 +CodeType = OID4.0 diff --git a/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/OIDPDFFileGenerator.dll b/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/OIDPDFFileGenerator.dll new file mode 100644 index 0000000..1487d56 Binary files /dev/null and b/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/OIDPDFFileGenerator.dll differ diff --git a/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/OIDPGHelper.dll b/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/OIDPGHelper.dll new file mode 100644 index 0000000..c906506 Binary files /dev/null and b/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/OIDPGHelper.dll differ diff --git a/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/OIDPatternGenerator.bin b/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/OIDPatternGenerator.bin new file mode 100644 index 0000000..caae741 Binary files /dev/null and b/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/OIDPatternGenerator.bin differ diff --git a/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/OIDPatternGenerator.dll b/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/OIDPatternGenerator.dll new file mode 100644 index 0000000..6a12977 Binary files /dev/null and b/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/OIDPatternGenerator.dll differ diff --git a/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/OIDPublishImageGenerator.dll b/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/OIDPublishImageGenerator.dll new file mode 100644 index 0000000..7409d97 Binary files /dev/null and b/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/OIDPublishImageGenerator.dll differ diff --git a/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/OIDScanConverter.dll b/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/OIDScanConverter.dll new file mode 100644 index 0000000..fac1eb0 Binary files /dev/null and b/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/OIDScanConverter.dll differ diff --git a/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/OIDTiffConvertor.dll b/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/OIDTiffConvertor.dll new file mode 100644 index 0000000..c9cb386 Binary files /dev/null and b/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/OIDTiffConvertor.dll differ diff --git a/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/OIDVectorDiagramGenerator.dll b/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/OIDVectorDiagramGenerator.dll new file mode 100644 index 0000000..e79a565 Binary files /dev/null and b/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/OIDVectorDiagramGenerator.dll differ diff --git a/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/PDFReader.dll b/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/PDFReader.dll new file mode 100644 index 0000000..2df4896 Binary files /dev/null and b/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/PDFReader.dll differ diff --git a/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/PluginEntry.xml b/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/PluginEntry.xml new file mode 100644 index 0000000..6ac1410 --- /dev/null +++ b/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/PluginEntry.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/certifyforDll.dll b/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/certifyforDll.dll new file mode 100644 index 0000000..f252770 Binary files /dev/null and b/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/certifyforDll.dll differ diff --git a/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/libeay32.dll b/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/libeay32.dll new file mode 100644 index 0000000..696b300 Binary files /dev/null and b/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/libeay32.dll differ diff --git a/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/oida.bin b/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/oida.bin new file mode 100644 index 0000000..9553def --- /dev/null +++ b/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/oida.bin @@ -0,0 +1,20 @@ +-----BEGIN CERTIFICATE----- +MIIDTTCCAjWgAwIBAgIJALSlTPHWayS7MA0GCSqGSIb3DQEBCwUAMB4xHDAaBgNV +BAMTE1NPTmlYIENsb3VkIFNlcnZpY2UwHhcNMTUwMTA5MDg1OTAzWhcNMjUwMTA2 +MDg1OTAzWjAeMRwwGgYDVQQDExNTT05pWCBDbG91ZCBTZXJ2aWNlMIIBIjANBgkq +hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzZ3v3VyrPlkaUhdHXGuklJ67m9wrb0My +RBLRCo9Z0x7FAKMfyXolSPT4KpdGYTbJOhMhxt3j3DiVCklUjHuoGTMDj7vKqCQ8 +eqtTIBz7LUOPAAOdUU/0mIFEu0rdOXDk31qNYGnwqjOiY5HOSSFgFh3jE46YlN/P +6r23QL0IIymOkZfl6GJsT7IJ5lM2P1esezc81dM/PqFi3712Vyuk3p8GJcC2OqPT +D68wKhOgxcJQ2sgPx+uAUNV6WgzKijT/59mmmSbm98srGSECjx+G1oHfUUIqlB2l +t3aAjExNNtUHCXMEcd14ynwZML3b1bm1TB6/k7lNAKctRn0+DiW3SQIDAQABo4GN +MIGKMB0GA1UdDgQWBBQhOz3/VjYsb/6r4KjenczQjRiMCzBOBgNVHSMERzBFgBQh +Oz3/VjYsb/6r4KjenczQjRiMC6EipCAwHjEcMBoGA1UEAxMTU09OaVggQ2xvdWQg +U2VydmljZYIJALSlTPHWayS7MAwGA1UdEwQFMAMBAf8wCwYDVR0PBAQDAgEGMA0G +CSqGSIb3DQEBCwUAA4IBAQDHvbfp+1CSGD6XQJ3ULk+wKOmTr7r7rGT0HOQQOCYp +Fw4mKHmgYUlASdcP5YMbJM+UmOhJKu6uOAhRNt+0S3luf3udhjc56UrMkbdAyS7W +KrYoVb8b+iSym72T9uQ6ADlsq7W+I6O0Eiju8gsBYQL9P2Q6dATz4ZaUW4/1fgpL +pqSF8LnC42n7uwlLuve94renNv/duqBy1StilbNFD6GzPJX+bRxffzmBEE6nAUzD +h2QZyVWBXAkKOmjKClqWmKhkfDsNks60rzvypikQynLhi/Ik4NYs5B/m3XfD964E +ZGYfpFCbcSp/s3wjDa83mC4HFtBHUE1AgcmJVXfdl1t4 +-----END CERTIFICATE----- diff --git a/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/ssleay32.dll b/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/ssleay32.dll new file mode 100644 index 0000000..c0d6d1f Binary files /dev/null and b/TmatrixCodeGenerator/bin/Release/OIDPublishImageGenerator/ssleay32.dll differ