Import Excel DY
This commit is contained in:
@@ -1339,6 +1339,12 @@
|
||||
<Compile Include="ZOLLSYSTEM\DAKOSY\ATLAS\Verwahrung\usrCntlATLAS_AnkunftsAnzeige.vb">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ZOLLSYSTEM\frmImportFromAVISOAnhaenge.Designer.vb">
|
||||
<DependentUpon>frmImportFromAVISOAnhaenge.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ZOLLSYSTEM\frmImportFromAVISOAnhaenge.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ZOLLSYSTEM\MODALTRANS\usrCntlModaltrans_EXIM_Allg.Designer.vb">
|
||||
<DependentUpon>usrCntlModaltrans_EXIM_Allg.vb</DependentUpon>
|
||||
</Compile>
|
||||
@@ -3684,6 +3690,9 @@
|
||||
<EmbeddedResource Include="ZOLLSYSTEM\DAKOSY\ATLAS\Verwahrung\usrCntlATLAS_AnkunftsAnzeige.resx">
|
||||
<DependentUpon>usrCntlATLAS_AnkunftsAnzeige.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ZOLLSYSTEM\frmImportFromAVISOAnhaenge.resx">
|
||||
<DependentUpon>frmImportFromAVISOAnhaenge.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ZOLLSYSTEM\MODALTRANS\usrCntlModaltrans_EXIM_Allg.resx">
|
||||
<DependentUpon>usrCntlModaltrans_EXIM_Allg.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
||||
@@ -24,8 +24,17 @@ Partial Class usrCntlATLAS_EZA
|
||||
Private Sub InitializeComponent()
|
||||
Me.components = New System.ComponentModel.Container()
|
||||
Me.SplitContainer = New System.Windows.Forms.SplitContainer()
|
||||
Me.MyFlowLayoutPanel1 = New VERAG_PROG_ALLGEMEIN.MyFlowLayoutPanel(Me.components)
|
||||
Me.btnAllgemein = New System.Windows.Forms.Button()
|
||||
Me.btnAdressen = New System.Windows.Forms.Button()
|
||||
Me.btnAktiveVeredelung = New System.Windows.Forms.Button()
|
||||
Me.btnPositionen = New System.Windows.Forms.Button()
|
||||
Me.btnDV1 = New System.Windows.Forms.Button()
|
||||
Me.Button5 = New System.Windows.Forms.Button()
|
||||
Me.pnl = New System.Windows.Forms.Panel()
|
||||
Me.Label6 = New System.Windows.Forms.Label()
|
||||
Me.cboDakosyAction = New VERAG_PROG_ALLGEMEIN.MyComboBox()
|
||||
Me.cboStammreferenz = New VERAG_PROG_ALLGEMEIN.MyComboBox()
|
||||
Me.Button1 = New System.Windows.Forms.Button()
|
||||
Me.Label4 = New System.Windows.Forms.Label()
|
||||
Me.Label5 = New System.Windows.Forms.Label()
|
||||
@@ -48,26 +57,18 @@ Partial Class usrCntlATLAS_EZA
|
||||
Me.DynamicAutomotiveXLSToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.GEZEXLSXToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.MEYLEXLSXToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.FressnapToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.VERAGIMPORTFormatToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.ToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.EZAIDToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.FressnapToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.MyFlowLayoutPanel1 = New VERAG_PROG_ALLGEMEIN.MyFlowLayoutPanel(Me.components)
|
||||
Me.btnAllgemein = New System.Windows.Forms.Button()
|
||||
Me.btnAdressen = New System.Windows.Forms.Button()
|
||||
Me.btnAktiveVeredelung = New System.Windows.Forms.Button()
|
||||
Me.btnPositionen = New System.Windows.Forms.Button()
|
||||
Me.btnDV1 = New System.Windows.Forms.Button()
|
||||
Me.Button5 = New System.Windows.Forms.Button()
|
||||
Me.cboDakosyAction = New VERAG_PROG_ALLGEMEIN.MyComboBox()
|
||||
Me.cboStammreferenz = New VERAG_PROG_ALLGEMEIN.MyComboBox()
|
||||
CType(Me.SplitContainer, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.SplitContainer.Panel1.SuspendLayout()
|
||||
Me.SplitContainer.SuspendLayout()
|
||||
Me.MyFlowLayoutPanel1.SuspendLayout()
|
||||
Me.pnl.SuspendLayout()
|
||||
Me.cntxtBezugsnr.SuspendLayout()
|
||||
Me.Panel1.SuspendLayout()
|
||||
Me.MenuStrip.SuspendLayout()
|
||||
Me.MyFlowLayoutPanel1.SuspendLayout()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'SplitContainer
|
||||
@@ -93,6 +94,128 @@ Partial Class usrCntlATLAS_EZA
|
||||
Me.SplitContainer.SplitterWidth = 1
|
||||
Me.SplitContainer.TabIndex = 0
|
||||
'
|
||||
'MyFlowLayoutPanel1
|
||||
'
|
||||
Me.MyFlowLayoutPanel1.BackColor = System.Drawing.Color.WhiteSmoke
|
||||
Me.MyFlowLayoutPanel1.Controls.Add(Me.btnAllgemein)
|
||||
Me.MyFlowLayoutPanel1.Controls.Add(Me.btnAdressen)
|
||||
Me.MyFlowLayoutPanel1.Controls.Add(Me.btnAktiveVeredelung)
|
||||
Me.MyFlowLayoutPanel1.Controls.Add(Me.btnPositionen)
|
||||
Me.MyFlowLayoutPanel1.Controls.Add(Me.btnDV1)
|
||||
Me.MyFlowLayoutPanel1.Controls.Add(Me.Button5)
|
||||
Me.MyFlowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.MyFlowLayoutPanel1.Location = New System.Drawing.Point(0, 0)
|
||||
Me.MyFlowLayoutPanel1.Margin = New System.Windows.Forms.Padding(1)
|
||||
Me.MyFlowLayoutPanel1.Name = "MyFlowLayoutPanel1"
|
||||
Me.MyFlowLayoutPanel1.Size = New System.Drawing.Size(573, 72)
|
||||
Me.MyFlowLayoutPanel1.TabIndex = 0
|
||||
'
|
||||
'btnAllgemein
|
||||
'
|
||||
Me.btnAllgemein.BackColor = System.Drawing.Color.SteelBlue
|
||||
Me.btnAllgemein.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center
|
||||
Me.btnAllgemein.FlatStyle = System.Windows.Forms.FlatStyle.Flat
|
||||
Me.btnAllgemein.ForeColor = System.Drawing.SystemColors.ControlLightLight
|
||||
Me.btnAllgemein.Image = Global.SDL.My.Resources.Resources.android_note12
|
||||
Me.btnAllgemein.ImageAlign = System.Drawing.ContentAlignment.TopCenter
|
||||
Me.btnAllgemein.Location = New System.Drawing.Point(2, 2)
|
||||
Me.btnAllgemein.Margin = New System.Windows.Forms.Padding(2)
|
||||
Me.btnAllgemein.Name = "btnAllgemein"
|
||||
Me.btnAllgemein.Padding = New System.Windows.Forms.Padding(0, 12, 0, 3)
|
||||
Me.btnAllgemein.Size = New System.Drawing.Size(75, 67)
|
||||
Me.btnAllgemein.TabIndex = 0
|
||||
Me.btnAllgemein.Text = "Allgemein"
|
||||
Me.btnAllgemein.TextAlign = System.Drawing.ContentAlignment.BottomCenter
|
||||
Me.btnAllgemein.UseVisualStyleBackColor = False
|
||||
'
|
||||
'btnAdressen
|
||||
'
|
||||
Me.btnAdressen.BackColor = System.Drawing.Color.White
|
||||
Me.btnAdressen.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center
|
||||
Me.btnAdressen.FlatStyle = System.Windows.Forms.FlatStyle.Flat
|
||||
Me.btnAdressen.Image = Global.SDL.My.Resources.Resources.house1
|
||||
Me.btnAdressen.ImageAlign = System.Drawing.ContentAlignment.TopCenter
|
||||
Me.btnAdressen.Location = New System.Drawing.Point(81, 2)
|
||||
Me.btnAdressen.Margin = New System.Windows.Forms.Padding(2)
|
||||
Me.btnAdressen.Name = "btnAdressen"
|
||||
Me.btnAdressen.Padding = New System.Windows.Forms.Padding(0, 0, 0, 3)
|
||||
Me.btnAdressen.Size = New System.Drawing.Size(75, 67)
|
||||
Me.btnAdressen.TabIndex = 1
|
||||
Me.btnAdressen.Text = "Adressen"
|
||||
Me.btnAdressen.TextAlign = System.Drawing.ContentAlignment.BottomCenter
|
||||
Me.btnAdressen.UseVisualStyleBackColor = False
|
||||
'
|
||||
'btnAktiveVeredelung
|
||||
'
|
||||
Me.btnAktiveVeredelung.BackColor = System.Drawing.Color.White
|
||||
Me.btnAktiveVeredelung.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center
|
||||
Me.btnAktiveVeredelung.FlatStyle = System.Windows.Forms.FlatStyle.Flat
|
||||
Me.btnAktiveVeredelung.Image = Global.SDL.My.Resources.Resources.aktiveVeredelung1
|
||||
Me.btnAktiveVeredelung.ImageAlign = System.Drawing.ContentAlignment.TopCenter
|
||||
Me.btnAktiveVeredelung.Location = New System.Drawing.Point(160, 2)
|
||||
Me.btnAktiveVeredelung.Margin = New System.Windows.Forms.Padding(2)
|
||||
Me.btnAktiveVeredelung.Name = "btnAktiveVeredelung"
|
||||
Me.btnAktiveVeredelung.Padding = New System.Windows.Forms.Padding(0, 6, 0, 3)
|
||||
Me.btnAktiveVeredelung.Size = New System.Drawing.Size(94, 67)
|
||||
Me.btnAktiveVeredelung.TabIndex = 3
|
||||
Me.btnAktiveVeredelung.Text = "Pass. Veredel."
|
||||
Me.btnAktiveVeredelung.TextAlign = System.Drawing.ContentAlignment.BottomCenter
|
||||
Me.btnAktiveVeredelung.UseVisualStyleBackColor = False
|
||||
Me.btnAktiveVeredelung.Visible = False
|
||||
'
|
||||
'btnPositionen
|
||||
'
|
||||
Me.btnPositionen.BackColor = System.Drawing.Color.White
|
||||
Me.btnPositionen.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center
|
||||
Me.btnPositionen.FlatStyle = System.Windows.Forms.FlatStyle.Flat
|
||||
Me.btnPositionen.Image = Global.SDL.My.Resources.Resources.list_new_small2
|
||||
Me.btnPositionen.ImageAlign = System.Drawing.ContentAlignment.TopCenter
|
||||
Me.btnPositionen.Location = New System.Drawing.Point(258, 2)
|
||||
Me.btnPositionen.Margin = New System.Windows.Forms.Padding(2)
|
||||
Me.btnPositionen.Name = "btnPositionen"
|
||||
Me.btnPositionen.Padding = New System.Windows.Forms.Padding(0, 0, 0, 3)
|
||||
Me.btnPositionen.Size = New System.Drawing.Size(81, 67)
|
||||
Me.btnPositionen.TabIndex = 4
|
||||
Me.btnPositionen.Text = "Positionen"
|
||||
Me.btnPositionen.TextAlign = System.Drawing.ContentAlignment.BottomCenter
|
||||
Me.btnPositionen.UseVisualStyleBackColor = False
|
||||
'
|
||||
'btnDV1
|
||||
'
|
||||
Me.btnDV1.BackColor = System.Drawing.Color.White
|
||||
Me.btnDV1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center
|
||||
Me.btnDV1.FlatStyle = System.Windows.Forms.FlatStyle.Flat
|
||||
Me.btnDV1.Image = Global.SDL.My.Resources.Resources.moneybag1
|
||||
Me.btnDV1.ImageAlign = System.Drawing.ContentAlignment.TopCenter
|
||||
Me.btnDV1.Location = New System.Drawing.Point(343, 2)
|
||||
Me.btnDV1.Margin = New System.Windows.Forms.Padding(2)
|
||||
Me.btnDV1.Name = "btnDV1"
|
||||
Me.btnDV1.Padding = New System.Windows.Forms.Padding(0, 2, 0, 3)
|
||||
Me.btnDV1.Size = New System.Drawing.Size(94, 67)
|
||||
Me.btnDV1.TabIndex = 6
|
||||
Me.btnDV1.Text = "D.V.1"
|
||||
Me.btnDV1.TextAlign = System.Drawing.ContentAlignment.BottomCenter
|
||||
Me.btnDV1.UseVisualStyleBackColor = False
|
||||
Me.btnDV1.Visible = False
|
||||
'
|
||||
'Button5
|
||||
'
|
||||
Me.Button5.BackColor = System.Drawing.Color.White
|
||||
Me.Button5.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center
|
||||
Me.Button5.FlatStyle = System.Windows.Forms.FlatStyle.Flat
|
||||
Me.Button5.Image = Global.SDL.My.Resources.Resources.android_note12
|
||||
Me.Button5.ImageAlign = System.Drawing.ContentAlignment.TopCenter
|
||||
Me.Button5.Location = New System.Drawing.Point(441, 2)
|
||||
Me.Button5.Margin = New System.Windows.Forms.Padding(2)
|
||||
Me.Button5.Name = "Button5"
|
||||
Me.Button5.Padding = New System.Windows.Forms.Padding(0, 12, 0, 3)
|
||||
Me.Button5.Size = New System.Drawing.Size(81, 67)
|
||||
Me.Button5.TabIndex = 5
|
||||
Me.Button5.Text = "Referenzen"
|
||||
Me.Button5.TextAlign = System.Drawing.ContentAlignment.BottomCenter
|
||||
Me.Button5.UseVisualStyleBackColor = False
|
||||
Me.Button5.Visible = False
|
||||
'
|
||||
'pnl
|
||||
'
|
||||
Me.pnl.BackColor = System.Drawing.Color.WhiteSmoke
|
||||
@@ -121,6 +244,35 @@ Partial Class usrCntlATLAS_EZA
|
||||
Me.Label6.Text = "Stammref.:"
|
||||
Me.Label6.TextAlign = System.Drawing.ContentAlignment.TopRight
|
||||
'
|
||||
'cboDakosyAction
|
||||
'
|
||||
Me.cboDakosyAction._allowedValuesFreiText = Nothing
|
||||
Me.cboDakosyAction._allowFreiText = False
|
||||
Me.cboDakosyAction._value = ""
|
||||
Me.cboDakosyAction.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.cboDakosyAction.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer))
|
||||
Me.cboDakosyAction.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
|
||||
Me.cboDakosyAction.FlatStyle = System.Windows.Forms.FlatStyle.Flat
|
||||
Me.cboDakosyAction.FormattingEnabled = True
|
||||
Me.cboDakosyAction.Location = New System.Drawing.Point(200, 48)
|
||||
Me.cboDakosyAction.Name = "cboDakosyAction"
|
||||
Me.cboDakosyAction.Size = New System.Drawing.Size(158, 21)
|
||||
Me.cboDakosyAction.TabIndex = 1
|
||||
'
|
||||
'cboStammreferenz
|
||||
'
|
||||
Me.cboStammreferenz._allowedValuesFreiText = Nothing
|
||||
Me.cboStammreferenz._allowFreiText = True
|
||||
Me.cboStammreferenz._value = ""
|
||||
Me.cboStammreferenz.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer))
|
||||
Me.cboStammreferenz.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
|
||||
Me.cboStammreferenz.FlatStyle = System.Windows.Forms.FlatStyle.Flat
|
||||
Me.cboStammreferenz.FormattingEnabled = True
|
||||
Me.cboStammreferenz.Location = New System.Drawing.Point(71, 48)
|
||||
Me.cboStammreferenz.Name = "cboStammreferenz"
|
||||
Me.cboStammreferenz.Size = New System.Drawing.Size(129, 21)
|
||||
Me.cboStammreferenz.TabIndex = 13
|
||||
'
|
||||
'Button1
|
||||
'
|
||||
Me.Button1.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
@@ -295,7 +447,7 @@ Partial Class usrCntlATLAS_EZA
|
||||
'
|
||||
'DateiimportToolStripMenuItem
|
||||
'
|
||||
Me.DateiimportToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DynamicAutomotiveXLSToolStripMenuItem, Me.GEZEXLSXToolStripMenuItem, Me.MEYLEXLSXToolStripMenuItem, Me.FressnapToolStripMenuItem})
|
||||
Me.DateiimportToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DynamicAutomotiveXLSToolStripMenuItem, Me.GEZEXLSXToolStripMenuItem, Me.MEYLEXLSXToolStripMenuItem, Me.FressnapToolStripMenuItem, Me.VERAGIMPORTFormatToolStripMenuItem})
|
||||
Me.DateiimportToolStripMenuItem.Name = "DateiimportToolStripMenuItem"
|
||||
Me.DateiimportToolStripMenuItem.Size = New System.Drawing.Size(87, 20)
|
||||
Me.DateiimportToolStripMenuItem.Text = "Datei-Import"
|
||||
@@ -303,21 +455,33 @@ Partial Class usrCntlATLAS_EZA
|
||||
'DynamicAutomotiveXLSToolStripMenuItem
|
||||
'
|
||||
Me.DynamicAutomotiveXLSToolStripMenuItem.Name = "DynamicAutomotiveXLSToolStripMenuItem"
|
||||
Me.DynamicAutomotiveXLSToolStripMenuItem.Size = New System.Drawing.Size(224, 22)
|
||||
Me.DynamicAutomotiveXLSToolStripMenuItem.Size = New System.Drawing.Size(238, 22)
|
||||
Me.DynamicAutomotiveXLSToolStripMenuItem.Text = "Dynamic Automotive (XLSX)"
|
||||
'
|
||||
'GEZEXLSXToolStripMenuItem
|
||||
'
|
||||
Me.GEZEXLSXToolStripMenuItem.Name = "GEZEXLSXToolStripMenuItem"
|
||||
Me.GEZEXLSXToolStripMenuItem.Size = New System.Drawing.Size(224, 22)
|
||||
Me.GEZEXLSXToolStripMenuItem.Size = New System.Drawing.Size(238, 22)
|
||||
Me.GEZEXLSXToolStripMenuItem.Text = "GEZE (XLSX)"
|
||||
'
|
||||
'MEYLEXLSXToolStripMenuItem
|
||||
'
|
||||
Me.MEYLEXLSXToolStripMenuItem.Name = "MEYLEXLSXToolStripMenuItem"
|
||||
Me.MEYLEXLSXToolStripMenuItem.Size = New System.Drawing.Size(224, 22)
|
||||
Me.MEYLEXLSXToolStripMenuItem.Size = New System.Drawing.Size(238, 22)
|
||||
Me.MEYLEXLSXToolStripMenuItem.Text = "MEYLE (XLSX)"
|
||||
'
|
||||
'FressnapToolStripMenuItem
|
||||
'
|
||||
Me.FressnapToolStripMenuItem.Name = "FressnapToolStripMenuItem"
|
||||
Me.FressnapToolStripMenuItem.Size = New System.Drawing.Size(238, 22)
|
||||
Me.FressnapToolStripMenuItem.Text = "Fressnapf (XLSX)"
|
||||
'
|
||||
'VERAGIMPORTFormatToolStripMenuItem
|
||||
'
|
||||
Me.VERAGIMPORTFormatToolStripMenuItem.Name = "VERAGIMPORTFormatToolStripMenuItem"
|
||||
Me.VERAGIMPORTFormatToolStripMenuItem.Size = New System.Drawing.Size(238, 22)
|
||||
Me.VERAGIMPORTFormatToolStripMenuItem.Text = "VERAG-IMPORT-Format (XLSX)"
|
||||
'
|
||||
'ToolStripMenuItem1
|
||||
'
|
||||
Me.ToolStripMenuItem1.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.EZAIDToolStripMenuItem})
|
||||
@@ -331,163 +495,6 @@ Partial Class usrCntlATLAS_EZA
|
||||
Me.EZAIDToolStripMenuItem.Size = New System.Drawing.Size(109, 22)
|
||||
Me.EZAIDToolStripMenuItem.Text = "EZA ID"
|
||||
'
|
||||
'FressnapToolStripMenuItem
|
||||
'
|
||||
Me.FressnapToolStripMenuItem.Name = "FressnapToolStripMenuItem"
|
||||
Me.FressnapToolStripMenuItem.Size = New System.Drawing.Size(224, 22)
|
||||
Me.FressnapToolStripMenuItem.Text = "Fressnapf (XLSX)"
|
||||
'
|
||||
'MyFlowLayoutPanel1
|
||||
'
|
||||
Me.MyFlowLayoutPanel1.BackColor = System.Drawing.Color.WhiteSmoke
|
||||
Me.MyFlowLayoutPanel1.Controls.Add(Me.btnAllgemein)
|
||||
Me.MyFlowLayoutPanel1.Controls.Add(Me.btnAdressen)
|
||||
Me.MyFlowLayoutPanel1.Controls.Add(Me.btnAktiveVeredelung)
|
||||
Me.MyFlowLayoutPanel1.Controls.Add(Me.btnPositionen)
|
||||
Me.MyFlowLayoutPanel1.Controls.Add(Me.btnDV1)
|
||||
Me.MyFlowLayoutPanel1.Controls.Add(Me.Button5)
|
||||
Me.MyFlowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.MyFlowLayoutPanel1.Location = New System.Drawing.Point(0, 0)
|
||||
Me.MyFlowLayoutPanel1.Margin = New System.Windows.Forms.Padding(1)
|
||||
Me.MyFlowLayoutPanel1.Name = "MyFlowLayoutPanel1"
|
||||
Me.MyFlowLayoutPanel1.Size = New System.Drawing.Size(573, 72)
|
||||
Me.MyFlowLayoutPanel1.TabIndex = 0
|
||||
'
|
||||
'btnAllgemein
|
||||
'
|
||||
Me.btnAllgemein.BackColor = System.Drawing.Color.SteelBlue
|
||||
Me.btnAllgemein.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center
|
||||
Me.btnAllgemein.FlatStyle = System.Windows.Forms.FlatStyle.Flat
|
||||
Me.btnAllgemein.ForeColor = System.Drawing.SystemColors.ControlLightLight
|
||||
Me.btnAllgemein.Image = Global.SDL.My.Resources.Resources.android_note12
|
||||
Me.btnAllgemein.ImageAlign = System.Drawing.ContentAlignment.TopCenter
|
||||
Me.btnAllgemein.Location = New System.Drawing.Point(2, 2)
|
||||
Me.btnAllgemein.Margin = New System.Windows.Forms.Padding(2)
|
||||
Me.btnAllgemein.Name = "btnAllgemein"
|
||||
Me.btnAllgemein.Padding = New System.Windows.Forms.Padding(0, 12, 0, 3)
|
||||
Me.btnAllgemein.Size = New System.Drawing.Size(75, 67)
|
||||
Me.btnAllgemein.TabIndex = 0
|
||||
Me.btnAllgemein.Text = "Allgemein"
|
||||
Me.btnAllgemein.TextAlign = System.Drawing.ContentAlignment.BottomCenter
|
||||
Me.btnAllgemein.UseVisualStyleBackColor = False
|
||||
'
|
||||
'btnAdressen
|
||||
'
|
||||
Me.btnAdressen.BackColor = System.Drawing.Color.White
|
||||
Me.btnAdressen.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center
|
||||
Me.btnAdressen.FlatStyle = System.Windows.Forms.FlatStyle.Flat
|
||||
Me.btnAdressen.Image = Global.SDL.My.Resources.Resources.house1
|
||||
Me.btnAdressen.ImageAlign = System.Drawing.ContentAlignment.TopCenter
|
||||
Me.btnAdressen.Location = New System.Drawing.Point(81, 2)
|
||||
Me.btnAdressen.Margin = New System.Windows.Forms.Padding(2)
|
||||
Me.btnAdressen.Name = "btnAdressen"
|
||||
Me.btnAdressen.Padding = New System.Windows.Forms.Padding(0, 0, 0, 3)
|
||||
Me.btnAdressen.Size = New System.Drawing.Size(75, 67)
|
||||
Me.btnAdressen.TabIndex = 1
|
||||
Me.btnAdressen.Text = "Adressen"
|
||||
Me.btnAdressen.TextAlign = System.Drawing.ContentAlignment.BottomCenter
|
||||
Me.btnAdressen.UseVisualStyleBackColor = False
|
||||
'
|
||||
'btnAktiveVeredelung
|
||||
'
|
||||
Me.btnAktiveVeredelung.BackColor = System.Drawing.Color.White
|
||||
Me.btnAktiveVeredelung.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center
|
||||
Me.btnAktiveVeredelung.FlatStyle = System.Windows.Forms.FlatStyle.Flat
|
||||
Me.btnAktiveVeredelung.Image = Global.SDL.My.Resources.Resources.aktiveVeredelung1
|
||||
Me.btnAktiveVeredelung.ImageAlign = System.Drawing.ContentAlignment.TopCenter
|
||||
Me.btnAktiveVeredelung.Location = New System.Drawing.Point(160, 2)
|
||||
Me.btnAktiveVeredelung.Margin = New System.Windows.Forms.Padding(2)
|
||||
Me.btnAktiveVeredelung.Name = "btnAktiveVeredelung"
|
||||
Me.btnAktiveVeredelung.Padding = New System.Windows.Forms.Padding(0, 6, 0, 3)
|
||||
Me.btnAktiveVeredelung.Size = New System.Drawing.Size(94, 67)
|
||||
Me.btnAktiveVeredelung.TabIndex = 3
|
||||
Me.btnAktiveVeredelung.Text = "Pass. Veredel."
|
||||
Me.btnAktiveVeredelung.TextAlign = System.Drawing.ContentAlignment.BottomCenter
|
||||
Me.btnAktiveVeredelung.UseVisualStyleBackColor = False
|
||||
Me.btnAktiveVeredelung.Visible = False
|
||||
'
|
||||
'btnPositionen
|
||||
'
|
||||
Me.btnPositionen.BackColor = System.Drawing.Color.White
|
||||
Me.btnPositionen.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center
|
||||
Me.btnPositionen.FlatStyle = System.Windows.Forms.FlatStyle.Flat
|
||||
Me.btnPositionen.Image = Global.SDL.My.Resources.Resources.list_new_small2
|
||||
Me.btnPositionen.ImageAlign = System.Drawing.ContentAlignment.TopCenter
|
||||
Me.btnPositionen.Location = New System.Drawing.Point(258, 2)
|
||||
Me.btnPositionen.Margin = New System.Windows.Forms.Padding(2)
|
||||
Me.btnPositionen.Name = "btnPositionen"
|
||||
Me.btnPositionen.Padding = New System.Windows.Forms.Padding(0, 0, 0, 3)
|
||||
Me.btnPositionen.Size = New System.Drawing.Size(81, 67)
|
||||
Me.btnPositionen.TabIndex = 4
|
||||
Me.btnPositionen.Text = "Positionen"
|
||||
Me.btnPositionen.TextAlign = System.Drawing.ContentAlignment.BottomCenter
|
||||
Me.btnPositionen.UseVisualStyleBackColor = False
|
||||
'
|
||||
'btnDV1
|
||||
'
|
||||
Me.btnDV1.BackColor = System.Drawing.Color.White
|
||||
Me.btnDV1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center
|
||||
Me.btnDV1.FlatStyle = System.Windows.Forms.FlatStyle.Flat
|
||||
Me.btnDV1.Image = Global.SDL.My.Resources.Resources.moneybag1
|
||||
Me.btnDV1.ImageAlign = System.Drawing.ContentAlignment.TopCenter
|
||||
Me.btnDV1.Location = New System.Drawing.Point(343, 2)
|
||||
Me.btnDV1.Margin = New System.Windows.Forms.Padding(2)
|
||||
Me.btnDV1.Name = "btnDV1"
|
||||
Me.btnDV1.Padding = New System.Windows.Forms.Padding(0, 2, 0, 3)
|
||||
Me.btnDV1.Size = New System.Drawing.Size(94, 67)
|
||||
Me.btnDV1.TabIndex = 6
|
||||
Me.btnDV1.Text = "D.V.1"
|
||||
Me.btnDV1.TextAlign = System.Drawing.ContentAlignment.BottomCenter
|
||||
Me.btnDV1.UseVisualStyleBackColor = False
|
||||
Me.btnDV1.Visible = False
|
||||
'
|
||||
'Button5
|
||||
'
|
||||
Me.Button5.BackColor = System.Drawing.Color.White
|
||||
Me.Button5.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center
|
||||
Me.Button5.FlatStyle = System.Windows.Forms.FlatStyle.Flat
|
||||
Me.Button5.Image = Global.SDL.My.Resources.Resources.android_note12
|
||||
Me.Button5.ImageAlign = System.Drawing.ContentAlignment.TopCenter
|
||||
Me.Button5.Location = New System.Drawing.Point(441, 2)
|
||||
Me.Button5.Margin = New System.Windows.Forms.Padding(2)
|
||||
Me.Button5.Name = "Button5"
|
||||
Me.Button5.Padding = New System.Windows.Forms.Padding(0, 12, 0, 3)
|
||||
Me.Button5.Size = New System.Drawing.Size(81, 67)
|
||||
Me.Button5.TabIndex = 5
|
||||
Me.Button5.Text = "Referenzen"
|
||||
Me.Button5.TextAlign = System.Drawing.ContentAlignment.BottomCenter
|
||||
Me.Button5.UseVisualStyleBackColor = False
|
||||
Me.Button5.Visible = False
|
||||
'
|
||||
'cboDakosyAction
|
||||
'
|
||||
Me.cboDakosyAction._allowedValuesFreiText = Nothing
|
||||
Me.cboDakosyAction._allowFreiText = False
|
||||
Me.cboDakosyAction._value = ""
|
||||
Me.cboDakosyAction.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.cboDakosyAction.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer))
|
||||
Me.cboDakosyAction.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
|
||||
Me.cboDakosyAction.FlatStyle = System.Windows.Forms.FlatStyle.Flat
|
||||
Me.cboDakosyAction.FormattingEnabled = True
|
||||
Me.cboDakosyAction.Location = New System.Drawing.Point(200, 48)
|
||||
Me.cboDakosyAction.Name = "cboDakosyAction"
|
||||
Me.cboDakosyAction.Size = New System.Drawing.Size(158, 21)
|
||||
Me.cboDakosyAction.TabIndex = 1
|
||||
'
|
||||
'cboStammreferenz
|
||||
'
|
||||
Me.cboStammreferenz._allowedValuesFreiText = Nothing
|
||||
Me.cboStammreferenz._allowFreiText = True
|
||||
Me.cboStammreferenz._value = ""
|
||||
Me.cboStammreferenz.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer))
|
||||
Me.cboStammreferenz.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
|
||||
Me.cboStammreferenz.FlatStyle = System.Windows.Forms.FlatStyle.Flat
|
||||
Me.cboStammreferenz.FormattingEnabled = True
|
||||
Me.cboStammreferenz.Location = New System.Drawing.Point(71, 48)
|
||||
Me.cboStammreferenz.Name = "cboStammreferenz"
|
||||
Me.cboStammreferenz.Size = New System.Drawing.Size(129, 21)
|
||||
Me.cboStammreferenz.TabIndex = 13
|
||||
'
|
||||
'usrCntlATLAS_EZA
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
@@ -500,6 +507,7 @@ Partial Class usrCntlATLAS_EZA
|
||||
Me.SplitContainer.Panel1.ResumeLayout(False)
|
||||
CType(Me.SplitContainer, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.SplitContainer.ResumeLayout(False)
|
||||
Me.MyFlowLayoutPanel1.ResumeLayout(False)
|
||||
Me.pnl.ResumeLayout(False)
|
||||
Me.pnl.PerformLayout()
|
||||
Me.cntxtBezugsnr.ResumeLayout(False)
|
||||
@@ -507,7 +515,6 @@ Partial Class usrCntlATLAS_EZA
|
||||
Me.Panel1.PerformLayout()
|
||||
Me.MenuStrip.ResumeLayout(False)
|
||||
Me.MenuStrip.PerformLayout()
|
||||
Me.MyFlowLayoutPanel1.ResumeLayout(False)
|
||||
Me.ResumeLayout(False)
|
||||
|
||||
End Sub
|
||||
@@ -548,4 +555,5 @@ Partial Class usrCntlATLAS_EZA
|
||||
Friend WithEvents GEZEXLSXToolStripMenuItem As ToolStripMenuItem
|
||||
Friend WithEvents MEYLEXLSXToolStripMenuItem As ToolStripMenuItem
|
||||
Friend WithEvents FressnapToolStripMenuItem As ToolStripMenuItem
|
||||
Friend WithEvents VERAGIMPORTFormatToolStripMenuItem As ToolStripMenuItem
|
||||
End Class
|
||||
|
||||
@@ -1135,236 +1135,228 @@ Public Class usrCntlATLAS_EZA
|
||||
|
||||
Private Function importExcel_MEYLE() As Boolean
|
||||
|
||||
Dim fd As New OpenFileDialog With {
|
||||
.Filter = "Excel Dateien|*.xls;*.xlsx",
|
||||
.Multiselect = True,
|
||||
.Title = "Bitte eine oder mehrere Excel-Dateien auswählen"
|
||||
}
|
||||
|
||||
Dim result As DialogResult = fd.ShowDialog()
|
||||
|
||||
If result <> DialogResult.OK Then
|
||||
Me.Cursor = Cursors.Default
|
||||
MsgBox("Keine Datei ausgewählt!")
|
||||
|
||||
Return False
|
||||
|
||||
Else
|
||||
|
||||
Dim cnt = 0
|
||||
Dim f As New frmImportFromAVISOAnhaenge(AVISO, SENDUNG)
|
||||
f.ShowDialog(Me)
|
||||
Dim LIST_FILES = f.LIST_FILES
|
||||
If Not f.DialogResult = DialogResult.OK Then Return False
|
||||
If LIST_FILES.Count = 0 Then Return False
|
||||
|
||||
|
||||
If EZA.eza_WARENPOS.Count > 0 Then
|
||||
If vbYes = MsgBox("Sollten die aktuellen Einträge gelöscht werden?", vbYesNo) Then
|
||||
EZA.eza_WARENPOS.Clear() 'Zurücksetzen
|
||||
End If
|
||||
|
||||
Dim cnt = 0
|
||||
|
||||
|
||||
If EZA.eza_WARENPOS.Count > 0 Then
|
||||
If vbYes = MsgBox("Sollten die aktuellen Einträge gelöscht werden?", vbYesNo) Then
|
||||
EZA.eza_WARENPOS.Clear() 'Zurücksetzen
|
||||
End If
|
||||
End If
|
||||
|
||||
Me.Cursor = Cursors.WaitCursor
|
||||
|
||||
For Each filePath As String In LIST_FILES
|
||||
If Not filePath.ToLower.EndsWith(".xls") AndAlso Not filePath.ToLower.EndsWith(".xlsx") Then
|
||||
' Ungültige Datei – überspringen oder abbrechen
|
||||
Continue For
|
||||
End If
|
||||
|
||||
Me.Cursor = Cursors.WaitCursor
|
||||
|
||||
For Each filePath As String In fd.FileNames
|
||||
If Not filePath.ToLower.EndsWith(".xls") AndAlso Not filePath.ToLower.EndsWith(".xlsx") Then
|
||||
' Ungültige Datei – überspringen oder abbrechen
|
||||
Continue For
|
||||
End If
|
||||
|
||||
|
||||
|
||||
Dim exclApp As New Excel.Application 'Object 'as Application
|
||||
Dim Datei As Excel.Workbook ' 'as WorkBook
|
||||
Dim Blatt As Excel.Worksheet 'Object 'as WorkSheet
|
||||
|
||||
Dim exclApp As New Excel.Application 'Object 'as Application
|
||||
Dim Datei As Excel.Workbook ' 'as WorkBook
|
||||
Dim Blatt As Excel.Worksheet 'Object 'as WorkSheet
|
||||
With exclApp
|
||||
Try
|
||||
|
||||
.CutCopyMode = False
|
||||
.DisplayAlerts = False
|
||||
|
||||
|
||||
Datei = .Workbooks.Open(filePath)
|
||||
Blatt = Datei.Worksheets(1)
|
||||
|
||||
Datei.Activate()
|
||||
|
||||
With exclApp
|
||||
Try
|
||||
Blatt.ShowAllData() 'Falls Filter ausgewählt wurde
|
||||
Catch ex As Exception
|
||||
|
||||
.CutCopyMode = False
|
||||
.DisplayAlerts = False
|
||||
End Try
|
||||
|
||||
Dim startFound As Boolean = False
|
||||
Dim endFound As Boolean = False
|
||||
|
||||
If Not checkExcel_MEYLE(Blatt) Then 'VALIDIERUNG
|
||||
Me.Cursor = Cursors.Default
|
||||
Return False
|
||||
End If
|
||||
|
||||
|
||||
Datei = .Workbooks.Open(fd.FileName)
|
||||
Blatt = Datei.Worksheets(1)
|
||||
Dim startRows As Integer = 6
|
||||
|
||||
Datei.Activate()
|
||||
|
||||
Try
|
||||
Blatt.ShowAllData() 'Falls Filter ausgewählt wurde
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
|
||||
Dim startFound As Boolean = False
|
||||
Dim endFound As Boolean = False
|
||||
|
||||
If Not checkExcel_MEYLE(Blatt) Then 'VALIDIERUNG
|
||||
Me.Cursor = Cursors.Default
|
||||
Return False
|
||||
Dim endRows As Integer = startRows
|
||||
While endRows < Blatt.UsedRange.Rows.Count
|
||||
If Not Blatt.Range("A" & endRows) Is Nothing AndAlso Not Blatt.Range("A" & endRows).Value Is Nothing AndAlso Not Blatt.Range("A" & endRows).Value.ToString.Trim = "" Then
|
||||
endFound = True
|
||||
Else
|
||||
Exit While
|
||||
End If
|
||||
endRows += 1
|
||||
End While
|
||||
endRows -= 1
|
||||
|
||||
If Not endFound Then
|
||||
MsgBox("Keine Daten vorhanden!")
|
||||
Me.Cursor = Cursors.Default
|
||||
Return False
|
||||
End If
|
||||
|
||||
|
||||
Dim startRows As Integer = 6
|
||||
' Neue DataTable erstellen
|
||||
Dim DATA As New DataTable()
|
||||
|
||||
Dim endRows As Integer = startRows
|
||||
While endRows < Blatt.UsedRange.Rows.Count
|
||||
If Not Blatt.Range("A" & endRows) Is Nothing AndAlso Not Blatt.Range("A" & endRows).Value Is Nothing AndAlso Not Blatt.Range("A" & endRows).Value.ToString.Trim = "" Then
|
||||
endFound = True
|
||||
Else
|
||||
Exit While
|
||||
End If
|
||||
endRows += 1
|
||||
End While
|
||||
endRows -= 1
|
||||
' Spalten anhand der Anzahl im Range anlegen
|
||||
Dim colCount As Integer = Blatt.Range("A1:M1").Columns.Count
|
||||
For c As Integer = 1 To colCount
|
||||
DATA.Columns.Add("Spalte" & c, GetType(String))
|
||||
Next
|
||||
|
||||
If Not endFound Then
|
||||
MsgBox("Keine Daten vorhanden!")
|
||||
Me.Cursor = Cursors.Default
|
||||
Return False
|
||||
End If
|
||||
|
||||
|
||||
' Neue DataTable erstellen
|
||||
Dim DATA As New DataTable()
|
||||
|
||||
' Spalten anhand der Anzahl im Range anlegen
|
||||
Dim colCount As Integer = Blatt.Range("A1:M1").Columns.Count
|
||||
' Range direkt durchlaufen
|
||||
For r As Integer = startRows To endRows
|
||||
Dim newRow As DataRow = DATA.NewRow()
|
||||
For c As Integer = 1 To colCount
|
||||
DATA.Columns.Add("Spalte" & c, GetType(String))
|
||||
Dim value = Blatt.Cells(r, c).Value
|
||||
newRow(c - 1) = If(value IsNot Nothing, value.ToString(), "")
|
||||
Next
|
||||
DATA.Rows.Add(newRow)
|
||||
Next
|
||||
|
||||
' Range direkt durchlaufen
|
||||
For r As Integer = startRows To endRows
|
||||
Dim newRow As DataRow = DATA.NewRow()
|
||||
For c As Integer = 1 To colCount
|
||||
Dim value = Blatt.Cells(r, c).Value
|
||||
newRow(c - 1) = If(value IsNot Nothing, value.ToString(), "")
|
||||
Next
|
||||
DATA.Rows.Add(newRow)
|
||||
Next
|
||||
|
||||
' DataTable durchlaufen und Zeilen löschen, bei denen Spalte 6 "summe" enthält
|
||||
For i As Integer = DATA.Rows.Count - 1 To 0 Step -1
|
||||
Dim cellValue As String = DATA.Rows(i)(6).ToString().ToLower() ' Spalte 6 = Index 5
|
||||
If cellValue.Contains("summe") Then
|
||||
DATA.Rows.RemoveAt(i)
|
||||
End If
|
||||
Next
|
||||
' DataTable durchlaufen und Zeilen löschen, bei denen Spalte 6 "summe" enthält
|
||||
For i As Integer = DATA.Rows.Count - 1 To 0 Step -1
|
||||
Dim cellValue As String = DATA.Rows(i)(6).ToString().ToLower() ' Spalte 6 = Index 5
|
||||
If cellValue.Contains("summe") Then
|
||||
DATA.Rows.RemoveAt(i)
|
||||
End If
|
||||
Next
|
||||
|
||||
|
||||
'--------------------------------------------------------------------------------------------------------------
|
||||
'--------------------------------------------------------------------------------------------------------------
|
||||
|
||||
' Spaltenüberschriften ausgeben
|
||||
' Spaltenüberschriften ausgeben
|
||||
For Each col As DataColumn In DATA.Columns
|
||||
Console.Write(col.ColumnName & vbTab)
|
||||
Next
|
||||
Console.WriteLine()
|
||||
|
||||
' Alle Zeilen ausgeben
|
||||
For Each row As DataRow In DATA.Rows
|
||||
For Each col As DataColumn In DATA.Columns
|
||||
Console.Write(col.ColumnName & vbTab)
|
||||
Console.Write(row(col).ToString() & vbTab)
|
||||
Next
|
||||
Console.WriteLine()
|
||||
Next
|
||||
|
||||
' Alle Zeilen ausgeben
|
||||
For Each row As DataRow In DATA.Rows
|
||||
For Each col As DataColumn In DATA.Columns
|
||||
Console.Write(row(col).ToString() & vbTab)
|
||||
Next
|
||||
Console.WriteLine()
|
||||
Next
|
||||
'--------------------------------------------------------------------------------------------------------------
|
||||
'-------------HIER WERDEN DIE Zeilen kommuliert---------------------------------------------------------
|
||||
'--------------------------------------------------------------------------------------------------------------
|
||||
|
||||
'--------------------------------------------------------------------------------------------------------------
|
||||
'-------------HIER WERDEN DIE Zeilen kommuliert---------------------------------------------------------
|
||||
'--------------------------------------------------------------------------------------------------------------
|
||||
' Neue Tabelle mit gleicher Struktur
|
||||
Dim resultDATA As DataTable = DATA.Clone()
|
||||
'0 = Wartentarifnummer
|
||||
'6 = Wartenbeschreibung
|
||||
'12 = Währung (immer gleich)?
|
||||
' Gruppieren nach den Schlüsseln Spalte 0, 6 und 12
|
||||
Dim groups = From row In DATA.AsEnumerable()
|
||||
Group row By key1 = row(0), key2 = row(6), key3 = row(12) Into grp = Group
|
||||
Select key1, key2, key3, grp
|
||||
|
||||
' Neue Tabelle mit gleicher Struktur
|
||||
Dim resultDATA As DataTable = DATA.Clone()
|
||||
'0 = Wartentarifnummer
|
||||
'6 = Wartenbeschreibung
|
||||
'12 = Währung (immer gleich)?
|
||||
' Gruppieren nach den Schlüsseln Spalte 0, 6 und 12
|
||||
Dim groups = From row In DATA.AsEnumerable()
|
||||
Group row By key1 = row(0), key2 = row(6), key3 = row(12) Into grp = Group
|
||||
Select key1, key2, key3, grp
|
||||
' Gruppen durchlaufen und kumulierte Zeilen erstellen
|
||||
For Each g In groups
|
||||
Dim newRow As DataRow = resultDATA.NewRow()
|
||||
|
||||
' Gruppen durchlaufen und kumulierte Zeilen erstellen
|
||||
For Each g In groups
|
||||
Dim newRow As DataRow = resultDATA.NewRow()
|
||||
' Gruppierungsspalten setzen
|
||||
newRow(0) = g.key1
|
||||
newRow(6) = g.key2
|
||||
newRow(12) = g.key3
|
||||
|
||||
' Gruppierungsspalten setzen
|
||||
newRow(0) = g.key1
|
||||
newRow(6) = g.key2
|
||||
newRow(12) = g.key3
|
||||
' Summen berechnen
|
||||
newRow(7) = g.grp.Sum(Function(r) ToDoubleSafe(r(7)))
|
||||
newRow(9) = g.grp.Sum(Function(r) ToDoubleSafe(r(9)))
|
||||
newRow(11) = g.grp.Sum(Function(r) ToDoubleSafe(r(11)))
|
||||
|
||||
' Summen berechnen
|
||||
newRow(7) = g.grp.Sum(Function(r) ToDoubleSafe(r(7)))
|
||||
newRow(9) = g.grp.Sum(Function(r) ToDoubleSafe(r(9)))
|
||||
newRow(11) = g.grp.Sum(Function(r) ToDoubleSafe(r(11)))
|
||||
' Restliche Spalten Nothing lassen (bleibt automatisch so)
|
||||
|
||||
' Restliche Spalten Nothing lassen (bleibt automatisch so)
|
||||
resultDATA.Rows.Add(newRow)
|
||||
Next
|
||||
|
||||
resultDATA.Rows.Add(newRow)
|
||||
Next
|
||||
' Falls du das Ergebnis in DATA zurückschreiben willst:
|
||||
DATA = resultDATA
|
||||
|
||||
' Falls du das Ergebnis in DATA zurückschreiben willst:
|
||||
DATA = resultDATA
|
||||
'--------------------------------------------------------------------------------------------------------------
|
||||
'--------------------------------------------------------------------------------------------------------------
|
||||
|
||||
'--------------------------------------------------------------------------------------------------------------
|
||||
'--------------------------------------------------------------------------------------------------------------
|
||||
' Spaltenüberschriften ausgeben
|
||||
For Each col As DataColumn In DATA.Columns
|
||||
Console.Write(col.ColumnName & vbTab)
|
||||
Next
|
||||
Console.WriteLine()
|
||||
|
||||
' Spaltenüberschriften ausgeben
|
||||
' Alle Zeilen ausgeben
|
||||
For Each row As DataRow In DATA.Rows
|
||||
For Each col As DataColumn In DATA.Columns
|
||||
Console.Write(col.ColumnName & vbTab)
|
||||
Console.Write(row(col).ToString() & vbTab)
|
||||
Next
|
||||
Console.WriteLine()
|
||||
Next
|
||||
|
||||
' Alle Zeilen ausgeben
|
||||
'--------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
Dim HandlesRgNr = ""
|
||||
If Blatt.Range("B3") IsNot Nothing AndAlso Blatt.Range("B3").Value IsNot Nothing Then
|
||||
HandlesRgNr = Blatt.Range("B3").Value.ToString().Trim()
|
||||
End If
|
||||
Dim HandlesRgDat = ""
|
||||
If Blatt.Range("B1") IsNot Nothing AndAlso Blatt.Range("B1").Value IsNot Nothing Then
|
||||
HandlesRgDat = Blatt.Range("B1").Value.ToString().Trim()
|
||||
End If
|
||||
|
||||
' MsgBox("A" & startRows & ":I" & endRows & "")
|
||||
|
||||
|
||||
|
||||
Try
|
||||
For Each row As DataRow In DATA.Rows
|
||||
For Each col As DataColumn In DATA.Columns
|
||||
Console.Write(row(col).ToString() & vbTab)
|
||||
Next
|
||||
Console.WriteLine()
|
||||
Next
|
||||
' Prüfen, ob Spalte 1 (Index 0) gefüllt ist
|
||||
If row(0) IsNot Nothing AndAlso row(0).ToString().Trim() <> "" Then
|
||||
|
||||
'--------------------------------------------------------------------------------------------------------------
|
||||
Dim POSITION As New DAKOSY_Worker.cDakosy_EZA_Warenposition
|
||||
POSITION.ezaWP_WarennummerEZT = row(0).ToString()
|
||||
POSITION.ezaWP_PackstueckAnzahl = "0" ' row(5).ToString()
|
||||
POSITION.ezaWP_PackstueckArt = "PK"
|
||||
|
||||
' Sicher konvertieren, falls leer oder ungültig
|
||||
Dim preis As Double
|
||||
Double.TryParse(row(11).ToString(), preis)
|
||||
POSITION.ezaWP_Artikelpreis = preis.ToString("N2")
|
||||
|
||||
Dim HandlesRgNr = ""
|
||||
If Blatt.Range("B3") IsNot Nothing AndAlso Blatt.Range("B3").Value IsNot Nothing Then
|
||||
HandlesRgNr = Blatt.Range("B3").Value.ToString().Trim()
|
||||
End If
|
||||
Dim HandlesRgDat = ""
|
||||
If Blatt.Range("B1") IsNot Nothing AndAlso Blatt.Range("B1").Value IsNot Nothing Then
|
||||
HandlesRgDat = Blatt.Range("B1").Value.ToString().Trim()
|
||||
End If
|
||||
POSITION.ezaWP_ArtikelpreisWaehrung = row(12).ToString()
|
||||
POSITION.ezaWP_Warenbezeichnung = row(6).ToString()
|
||||
|
||||
' MsgBox("A" & startRows & ":I" & endRows & "")
|
||||
Dim masse As Double
|
||||
Double.TryParse(row(9).ToString(), masse)
|
||||
POSITION.ezaWP_Eigenmasse = masse.ToString("N1")
|
||||
|
||||
' Ursprungsland ggf. per Select Case setzen
|
||||
'Select Case row(3).ToString()
|
||||
' Case "TURKEY" : POSITION.ezaWP_UrsprungslandCode = "TR"
|
||||
' Case "ITALY" : POSITION.ezaWP_UrsprungslandCode = "IT"
|
||||
' ...
|
||||
'End Select
|
||||
|
||||
|
||||
Try
|
||||
For Each row As DataRow In DATA.Rows
|
||||
' Prüfen, ob Spalte 1 (Index 0) gefüllt ist
|
||||
If row(0) IsNot Nothing AndAlso row(0).ToString().Trim() <> "" Then
|
||||
|
||||
Dim POSITION As New DAKOSY_Worker.cDakosy_EZA_Warenposition
|
||||
POSITION.ezaWP_WarennummerEZT = row(0).ToString()
|
||||
POSITION.ezaWP_PackstueckAnzahl = "0" ' row(5).ToString()
|
||||
POSITION.ezaWP_PackstueckArt = "PK"
|
||||
|
||||
' Sicher konvertieren, falls leer oder ungültig
|
||||
Dim preis As Double
|
||||
Double.TryParse(row(11).ToString(), preis)
|
||||
POSITION.ezaWP_Artikelpreis = preis.ToString("N2")
|
||||
|
||||
POSITION.ezaWP_ArtikelpreisWaehrung = row(12).ToString()
|
||||
POSITION.ezaWP_Warenbezeichnung = row(6).ToString()
|
||||
|
||||
Dim masse As Double
|
||||
Double.TryParse(row(9).ToString(), masse)
|
||||
POSITION.ezaWP_Eigenmasse = masse.ToString("N1")
|
||||
|
||||
' Ursprungsland ggf. per Select Case setzen
|
||||
'Select Case row(3).ToString()
|
||||
' Case "TURKEY" : POSITION.ezaWP_UrsprungslandCode = "TR"
|
||||
' Case "ITALY" : POSITION.ezaWP_UrsprungslandCode = "IT"
|
||||
' ...
|
||||
'End Select
|
||||
|
||||
POSITION.ezaWP_UNTERLAGEN.Add(New DAKOSY_Worker.cDakosy_EZA_WarenpositionVorgelegteUnterlagen With {
|
||||
POSITION.ezaWP_UNTERLAGEN.Add(New DAKOSY_Worker.cDakosy_EZA_WarenpositionVorgelegteUnterlagen With {
|
||||
.ezaWpUl_Art = "N380",
|
||||
.ezaWpUl_Bereich = "4",
|
||||
.ezaWpUl_VorlageKz = "J",
|
||||
@@ -1372,55 +1364,54 @@ Public Class usrCntlATLAS_EZA
|
||||
.ezaWpUl_DatumAusstellung = Nothing
|
||||
})
|
||||
|
||||
EZA.eza_WARENPOS.Add(POSITION)
|
||||
cnt += 1
|
||||
End If
|
||||
Next
|
||||
Catch ex As Exception
|
||||
MsgBox("Fehler beim Einlesen der Excel-Datei!" & vbNewLine & vbNewLine & ex.Message & ex.StackTrace)
|
||||
Me.Cursor = Cursors.Default
|
||||
Return False
|
||||
End Try
|
||||
|
||||
|
||||
.Visible = False
|
||||
|
||||
' AddHandler exclApp.WorkbookBeforeClose, AddressOf BeforeBookClose
|
||||
'Excelobjekte freistellten
|
||||
' For Each obj In New Object() {exclApp, Datei, Datei, Blatt, Blatt}
|
||||
' System.Runtime.InteropServices.Marshal.FinalReleaseComObject(obj)
|
||||
' Next
|
||||
Datei.Close()
|
||||
|
||||
|
||||
|
||||
|
||||
EZA.eza_WARENPOS.Add(POSITION)
|
||||
cnt += 1
|
||||
End If
|
||||
Next
|
||||
Catch ex As Exception
|
||||
'
|
||||
MsgBox("Fehler beim Einlesen der Excel-Datei!" & vbNewLine & vbNewLine & ex.Message & ex.StackTrace)
|
||||
Me.Cursor = Cursors.Default
|
||||
MsgBox("FEHLER! Datei im richtigen Format?" & vbNewLine & vbNewLine & ex.Message & ex.StackTrace)
|
||||
' Return False
|
||||
Return False
|
||||
End Try
|
||||
End With
|
||||
|
||||
|
||||
.Visible = False
|
||||
|
||||
' AddHandler exclApp.WorkbookBeforeClose, AddressOf BeforeBookClose
|
||||
'Excelobjekte freistellten
|
||||
' For Each obj In New Object() {exclApp, Datei, Datei, Blatt, Blatt}
|
||||
' System.Runtime.InteropServices.Marshal.FinalReleaseComObject(obj)
|
||||
' Next
|
||||
Datei.Close()
|
||||
|
||||
|
||||
|
||||
' >>> Hier kannst du jede gültige Excel-Datei weiterverarbeiten:
|
||||
Console.WriteLine("Verarbeite Datei: " & filePath)
|
||||
' z. B. Excel öffnen, Range lesen etc.
|
||||
Next
|
||||
|
||||
Me.FindForm.SuspendLayout()
|
||||
POSITIONEN.setValues(EZA, True)
|
||||
btnPositionen.PerformClick()
|
||||
Me.FindForm.ResumeLayout()
|
||||
Catch ex As Exception
|
||||
'
|
||||
Me.Cursor = Cursors.Default
|
||||
MsgBox("FEHLER! Datei im richtigen Format?" & vbNewLine & vbNewLine & ex.Message & ex.StackTrace)
|
||||
' Return False
|
||||
End Try
|
||||
End With
|
||||
|
||||
MsgBox(cnt & " Datensätze wurden eingelesen. ")
|
||||
|
||||
Me.Cursor = Cursors.Default
|
||||
Return True
|
||||
|
||||
End If
|
||||
' >>> Hier kannst du jede gültige Excel-Datei weiterverarbeiten:
|
||||
Console.WriteLine("Verarbeite Datei: " & filePath)
|
||||
' z. B. Excel öffnen, Range lesen etc.
|
||||
Next
|
||||
|
||||
Me.FindForm.SuspendLayout()
|
||||
POSITIONEN.setValues(EZA, True)
|
||||
btnPositionen.PerformClick()
|
||||
Me.FindForm.ResumeLayout()
|
||||
|
||||
MsgBox(cnt & " Datensätze wurden eingelesen. ")
|
||||
|
||||
Me.Cursor = Cursors.Default
|
||||
Return True
|
||||
|
||||
|
||||
Me.Cursor = Cursors.Default
|
||||
Return False
|
||||
@@ -1487,17 +1478,15 @@ Public Class usrCntlATLAS_EZA
|
||||
End Sub
|
||||
|
||||
Private Function importExcel_Fressnapf() As Boolean
|
||||
Dim fd As New OpenFileDialog With {
|
||||
.Filter = "Excel Dateien|*.xls;*.xlsx",
|
||||
.Multiselect = True,
|
||||
.Title = "Bitte eine oder mehrere Excel-Dateien auswählen"
|
||||
}
|
||||
|
||||
If fd.ShowDialog() <> DialogResult.OK Then
|
||||
Me.Cursor = Cursors.Default
|
||||
MsgBox("Keine Datei ausgewählt!")
|
||||
Return False
|
||||
End If
|
||||
Dim f As New frmImportFromAVISOAnhaenge(AVISO, SENDUNG)
|
||||
f.ShowDialog(Me)
|
||||
Dim LIST_FILES = f.LIST_FILES
|
||||
If Not f.DialogResult = DialogResult.OK Then Return False
|
||||
If LIST_FILES.Count = 0 Then Return False
|
||||
|
||||
|
||||
|
||||
|
||||
Dim cnt As Integer = 0
|
||||
|
||||
@@ -1509,7 +1498,7 @@ Public Class usrCntlATLAS_EZA
|
||||
|
||||
Me.Cursor = Cursors.WaitCursor
|
||||
|
||||
For Each filePath As String In fd.FileNames
|
||||
For Each filePath As String In LIST_FILES
|
||||
If Not (filePath.ToLower().EndsWith(".xls") OrElse filePath.ToLower().EndsWith(".xlsx")) Then
|
||||
Continue For
|
||||
End If
|
||||
@@ -1783,6 +1772,8 @@ Public Class usrCntlATLAS_EZA
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Private Sub VERAGIMPORTFormatToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles VERAGIMPORTFormatToolStripMenuItem.Click
|
||||
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
|
||||
122
SDL/ZOLLSYSTEM/frmImportFromAVISOAnhaenge.Designer.vb
generated
Normal file
122
SDL/ZOLLSYSTEM/frmImportFromAVISOAnhaenge.Designer.vb
generated
Normal file
@@ -0,0 +1,122 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class frmImportFromAVISOAnhaenge
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Wird vom Windows Form-Designer benötigt.
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
|
||||
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
|
||||
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Me.components = New System.ComponentModel.Container()
|
||||
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmImportFromAVISOAnhaenge))
|
||||
Me.Panel1 = New System.Windows.Forms.Panel()
|
||||
Me.Button2 = New System.Windows.Forms.Button()
|
||||
Me.Button1 = New System.Windows.Forms.Button()
|
||||
Me.Panel2 = New System.Windows.Forms.Panel()
|
||||
Me.dgvAnhang = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
|
||||
Me.Button3 = New System.Windows.Forms.Button()
|
||||
Me.Panel1.SuspendLayout()
|
||||
CType(Me.dgvAnhang, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'Panel1
|
||||
'
|
||||
Me.Panel1.Controls.Add(Me.Button3)
|
||||
Me.Panel1.Controls.Add(Me.Button2)
|
||||
Me.Panel1.Controls.Add(Me.Button1)
|
||||
Me.Panel1.Dock = System.Windows.Forms.DockStyle.Bottom
|
||||
Me.Panel1.Location = New System.Drawing.Point(0, 381)
|
||||
Me.Panel1.Name = "Panel1"
|
||||
Me.Panel1.Size = New System.Drawing.Size(800, 69)
|
||||
Me.Panel1.TabIndex = 0
|
||||
'
|
||||
'Button2
|
||||
'
|
||||
Me.Button2.Location = New System.Drawing.Point(633, 15)
|
||||
Me.Button2.Name = "Button2"
|
||||
Me.Button2.Size = New System.Drawing.Size(155, 42)
|
||||
Me.Button2.TabIndex = 1
|
||||
Me.Button2.Text = "OK"
|
||||
Me.Button2.UseVisualStyleBackColor = True
|
||||
'
|
||||
'Button1
|
||||
'
|
||||
Me.Button1.Location = New System.Drawing.Point(29, 16)
|
||||
Me.Button1.Name = "Button1"
|
||||
Me.Button1.Size = New System.Drawing.Size(155, 42)
|
||||
Me.Button1.TabIndex = 0
|
||||
Me.Button1.Text = "Aus Datei-Explorer ..."
|
||||
Me.Button1.UseVisualStyleBackColor = True
|
||||
'
|
||||
'Panel2
|
||||
'
|
||||
Me.Panel2.Dock = System.Windows.Forms.DockStyle.Top
|
||||
Me.Panel2.Location = New System.Drawing.Point(0, 0)
|
||||
Me.Panel2.Name = "Panel2"
|
||||
Me.Panel2.Size = New System.Drawing.Size(800, 36)
|
||||
Me.Panel2.TabIndex = 1
|
||||
'
|
||||
'dgvAnhang
|
||||
'
|
||||
Me.dgvAnhang.AKTUALISIERUNGS_INTERVALL = -1
|
||||
Me.dgvAnhang.AllowUserToAddRows = False
|
||||
Me.dgvAnhang.AllowUserToDeleteRows = False
|
||||
Me.dgvAnhang.AllowUserToResizeRows = False
|
||||
Me.dgvAnhang.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
|
||||
Me.dgvAnhang.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.dgvAnhang.Location = New System.Drawing.Point(0, 36)
|
||||
Me.dgvAnhang.Name = "dgvAnhang"
|
||||
Me.dgvAnhang.ReadOnly = True
|
||||
Me.dgvAnhang.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect
|
||||
Me.dgvAnhang.Size = New System.Drawing.Size(800, 345)
|
||||
Me.dgvAnhang.TabIndex = 3
|
||||
'
|
||||
'Button3
|
||||
'
|
||||
Me.Button3.Location = New System.Drawing.Point(205, 16)
|
||||
Me.Button3.Name = "Button3"
|
||||
Me.Button3.Size = New System.Drawing.Size(155, 42)
|
||||
Me.Button3.TabIndex = 2
|
||||
Me.Button3.Text = "Aus Zwischenablage verwenden"
|
||||
Me.Button3.UseVisualStyleBackColor = True
|
||||
'
|
||||
'frmImportFromAVISOAnhaenge
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(800, 450)
|
||||
Me.Controls.Add(Me.dgvAnhang)
|
||||
Me.Controls.Add(Me.Panel2)
|
||||
Me.Controls.Add(Me.Panel1)
|
||||
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
|
||||
Me.Name = "frmImportFromAVISOAnhaenge"
|
||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
|
||||
Me.Text = "Anhang laden"
|
||||
Me.Panel1.ResumeLayout(False)
|
||||
CType(Me.dgvAnhang, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.ResumeLayout(False)
|
||||
|
||||
End Sub
|
||||
|
||||
Friend WithEvents Panel1 As Panel
|
||||
Friend WithEvents Panel2 As Panel
|
||||
Friend WithEvents Button1 As Button
|
||||
Friend WithEvents dgvAnhang As VERAG_PROG_ALLGEMEIN.MyDatagridview
|
||||
Friend WithEvents Button2 As Button
|
||||
Friend WithEvents Button3 As Button
|
||||
End Class
|
||||
980
SDL/ZOLLSYSTEM/frmImportFromAVISOAnhaenge.resx
Normal file
980
SDL/ZOLLSYSTEM/frmImportFromAVISOAnhaenge.resx
Normal file
@@ -0,0 +1,980 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAgIAAAAEAGAAoyAAAFgAAACgAAACAAAAAAAEAAAEAGAAAAAAAAMgAAMQOAADEDgAAAAAAAAAA
|
||||
AACRbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
|
||||
USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
|
||||
USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
|
||||
USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
|
||||
USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
|
||||
USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
|
||||
USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEd4Sx5mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB4Sx5/VClmMwBuPg5r
|
||||
OglrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
|
||||
OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
|
||||
OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
|
||||
OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
|
||||
OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
|
||||
OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
|
||||
OQhrOgluPg5mMwB/VCl0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
|
||||
NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
|
||||
NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
|
||||
NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
|
||||
NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
|
||||
NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
|
||||
NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0RhhzRBVmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz
|
||||
RBV3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh18UCRmMwBqOQdnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFqOQdmMwB8UCR9USZmMwBrOQhn
|
||||
NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
|
||||
USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwDm4N3/////////
|
||||
///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/////////////////
|
||||
//////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwB0SSb39fT/
|
||||
//////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+YfWtmMwBmMwBm
|
||||
MwBmMwB0SSbu6+n////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/////
|
||||
///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5zUy8X////////////////L
|
||||
v7itmo1mMwBmMwCYfWv///////90SSZmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
|
||||
NAFmMwBmMwBmMwB0SSb////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwDu6+n///////////////////////////////////////////////////////////+j
|
||||
jH1mMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwC3p5z/
|
||||
///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwCYfWv////////////////Bs6pmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwB0SSb///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCt
|
||||
mo3////////////////////////////////////m4N2Mbli3p5z///////+jjH1mMwBmMwBmMwBmMwBm
|
||||
MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwCMblj///////////////////////////+M
|
||||
blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////////////////
|
||||
///////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////+3
|
||||
p5xmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDU
|
||||
y8X///////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////90SSZm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////////////////////////////////39fTm
|
||||
4N3///////+3p5xmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwC3
|
||||
p5z////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3
|
||||
p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwCjjH3////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXUL///////////////////90
|
||||
SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwC3p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////U
|
||||
y8WAXUJmMwBmMwC3p5z39fT////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
|
||||
USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDBs6r////////////////u6+n///////////+tmo1mMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////m4N1mMwBmMwBmMwBm
|
||||
MwBmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////
|
||||
///////////////////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwD39fT////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXULu6+n////////////////39fRm
|
||||
MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDm4N3/////////////
|
||||
//+jjH3////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb/////////////
|
||||
//////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD3
|
||||
9fT///////////////90SSZmMwBmMwBmMwBmMwDm4N3///////////////+jjH1mMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwDu6+n/////////////////////////////////////////////////////
|
||||
//////+3p5xmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////+MblhmMwBmMwBmMwBmMwBm
|
||||
MwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
|
||||
NAFmMwBmMwBmMwD39fT///////////////9mMwDLv7j///////////+3p5xmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwDm4N3////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwCAXUL/////////
|
||||
///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////////////
|
||||
//////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////
|
||||
//////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+jjH1mMwBmMwBmMwBm
|
||||
MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCMblj////////////////m4N1mMwCAXUL39fT/
|
||||
///////39fSAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////Uy8VmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////
|
||||
///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwDUy8X////////////u6+lmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBm
|
||||
MwBmMwBmMwBmMwBmMwC3p5z///////////////////9mMwBmMwBmMwB0SSb/////////////////////
|
||||
//////////////+3p5xmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCjjH3/
|
||||
///////////////Uy8VmMwBmMwC3p5z////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwC3p5z////////////////////////////////////////////////////m4N1mMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwCjjH3////////////////////////////////////////////////////////////d
|
||||
1tGMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo1mMwBmMwBmMwCt
|
||||
mo3////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////90SSZm
|
||||
MwBmMwBmMwDm4N3////////////////////////////////Uy8VmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
|
||||
USZ9USZmMwBrOQhnNAFmMwBmMwC3p5z///////////////+3p5xmMwBmMwB0SSb39fT///////////+Y
|
||||
fWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////////////////////////////
|
||||
//////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb/////////////////////////////
|
||||
//////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3
|
||||
p5z////////////39fR0SSZmMwBmMwDBs6r////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwCjjH3///////////////////+jjH1mMwBmMwBmMwDBs6r////////////////////////////////3
|
||||
9fRmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwDUy8X///////////////+t
|
||||
mo1mMwBmMwBmMwCtmo3////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/////
|
||||
//////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwDu6+n///////////////90SSZmMwBmMwBmMwBmMwBmMwCjjH3m4N3////////////////39fR0SSZm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////+3p5xmMwBmMwDUy8X/////////////
|
||||
//+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Bs6pmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
|
||||
NAFmMwBmMwDu6+n///////////////+MblhmMwBmMwBmMwBmMwDu6+n///////////+tmo1mMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwBmMwBmMwBm
|
||||
MwB0SSbu6+n///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////
|
||||
///39fSAXUJmMwD39fT///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////
|
||||
///////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////Uy8W3p5y3p5yYfWtmMwBmMwBm
|
||||
MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwB0SSb///////////////////90SSZmMwBmMwBmMwBm
|
||||
MwCtmo3////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////m4N1m
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////
|
||||
//////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////Bs6pmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwDUy8X////////////Lv7h0SSb///////////////////90SSZmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDu
|
||||
6+n///////////////+jjH1mMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwCYfWv/////
|
||||
///////////u6+lmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////+3p5xmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwCjjH3///////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwCYfWv////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////
|
||||
//////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo3/
|
||||
///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////
|
||||
//+YfWtmMwBmMwBmMwBmMwBmMwCtmo3////////////////u6+lmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
|
||||
USZ9USZmMwBrOQhnNAFmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////
|
||||
//////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+MblhmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////u6+lmMwBm
|
||||
MwBmMwBmMwBmMwCAXULLv7j///////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwC3p5z////////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwDd1tH///////////////////+3p5x0SSZmMwBmMwC3p5z///////////////////+t
|
||||
mo1mMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwDLv7j////////////////Bs6pm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/
|
||||
//////////////////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBm
|
||||
MwBmMwDm4N3////////////////////////////////////////////////////////////Bs6pmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////+3
|
||||
p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////////////
|
||||
///////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
|
||||
NAFmMwDm4N3///////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+Y
|
||||
fWtmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////////////////////////////////////
|
||||
//////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////////////////////////////////
|
||||
///////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCj
|
||||
jH3///////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwCtmo339fT///////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBm
|
||||
MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAF0SSb///////////////////+MblhmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwDLv7j////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwC3p5z/////////////////
|
||||
//////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////
|
||||
///////////////////////////////////////m4N23p5yMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////9mMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH23p5z39fT////////////////Uy8W3
|
||||
p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
|
||||
USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
|
||||
NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
|
||||
USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ8UCRmMwBqOQdn
|
||||
NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBnNAFqOQdmMwB8UCR3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh1zRBVmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz
|
||||
RBV0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
|
||||
NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
|
||||
NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
|
||||
NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
|
||||
NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
|
||||
NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
|
||||
NAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0Rhh/VClmMwBuPg5rOglrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
|
||||
OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
|
||||
OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
|
||||
OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
|
||||
OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
|
||||
OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
|
||||
OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOgluPg5mMwB/VCl4Sx5mMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwB4Sx6RbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
|
||||
USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
|
||||
USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
|
||||
USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
|
||||
USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
|
||||
USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
|
||||
USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEf/////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////Bs6rBs6qYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6rBs6r/////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////Uy8WYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvUy8X////////////////////////////////////////B
|
||||
s6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwCjjH3Bs6rBs6r39fT/////////////////////////////////////////////////////////
|
||||
///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////d1tGMblhmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvm4N3/
|
||||
///////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljLv7j/////////////////
|
||||
///////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X////////////////////////////d1tFmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwCMbljm4N3////////////////////////////////////////////m4N1mMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwC3p5z/////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////
|
||||
///////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////////
|
||||
///////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////Bs6pmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwCtmo3///////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCA
|
||||
XUL/////////////////////////////////////////////////////////////////////////////
|
||||
///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT/////////////////
|
||||
//+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3/////////////////////////////
|
||||
//////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/////////////////////////////////////////
|
||||
//////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwDBs6r///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwDBs6r////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////
|
||||
///////////////////////////////////////////////////////////////////////////d1tFm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6rd1tH////////39fTBs6qAXUJm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Lv7hmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////////Uy8VmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwDLv7j/////////////////////////////////////////////////////////
|
||||
//////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/
|
||||
//////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd
|
||||
1tH////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////
|
||||
///////Uy8XBs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/////
|
||||
///////////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////////////////////+AXUJmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwC3p5z////////////////////////////////d1tGMblhmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////9mMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwB0SSb/////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT/////////////////////
|
||||
///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3/////////////
|
||||
//////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////////////////
|
||||
//////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT/////////////
|
||||
//////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwDBs6r////////////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwCYfWv///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0
|
||||
SSb///////////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwDBs6r///////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwDUy8X/////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///u6+nBs6rBs6rBs6qYfWtmMwBmMwBmMwDu6+n/////////////////////////////////////////
|
||||
///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n////////////////////////////////////////u
|
||||
6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////////////Bs6pm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCY
|
||||
fWv////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////
|
||||
//////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwDm4N3////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////u6+m3p5xmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////m4N1mMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwDBs6r////////////////////////////////////////////d1tFmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////////u6+lmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////Uy8XB
|
||||
s6p0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////
|
||||
//////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3/////////////////////////
|
||||
//////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////
|
||||
//////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////////m4N3Bs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwDUy8X///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwCMblj///////////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwB0SSb///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwDm4N3/////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////Bs6qAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT///////////////////////+jjH1m
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb/////////////////////////////////////////
|
||||
///////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////+t
|
||||
mo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/
|
||||
///////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////
|
||||
///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwDm4N3////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////////////////////Uy8VmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////////////////////90SSZm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////Uy8VmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbm4N3/////////////////////
|
||||
///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////////
|
||||
//////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////
|
||||
///////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM
|
||||
bljm4N3///////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwCjjH3///////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwD39fT/////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////////////////////////+M
|
||||
blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////////////////////////
|
||||
//////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////////////////
|
||||
//+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6r/////////////////////////
|
||||
//////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////
|
||||
//////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwDd1tH///////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDL
|
||||
v7j/////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////+Mblhm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6r/////
|
||||
///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////////////////////+AXUJm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////Bs6pmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwCtmo3Bs6r39fT/////////////////////////////////////////////////////////////////
|
||||
///////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////
|
||||
///////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n/////
|
||||
///////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwB0SSbLv7j/////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwC3p5z////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwB0SSb////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwCAXUL/////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n/////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////////////////////////
|
||||
//////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////////////////
|
||||
//////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwC3p5z////////////////////////////////////39fRmMwBmMwB0SSbBs6rBs6r39fT/////////
|
||||
//////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/
|
||||
///////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwDBs6r///////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwDm4N3/////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////39fRmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////////////////////Bs6pm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6rBs6r///////////////////////////+3p5xmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT////////////////////////////39fSMblhmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////////+3p5xmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/////////
|
||||
///////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////////
|
||||
///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////////////
|
||||
///////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////
|
||||
///////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////////u6+mAXUJmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwCYfWv////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwDLv7j////////////////Uy8W3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwDd1tH////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwCYfWv/////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljBs6r////////d1tG3
|
||||
p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH/////////////////////////
|
||||
///39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////////////////////////
|
||||
///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb/////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM
|
||||
blj///////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n/
|
||||
//////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwD39fT/////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////////L
|
||||
v7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////////////////+YfWtmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////////////+jjH1m
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH/////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////////
|
||||
//////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////////////
|
||||
//////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////39fSAXUJmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwCYfWv////////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDB
|
||||
s6r////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////////////////////////////////
|
||||
///////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwB0SSbUy8X/////////////////////////////////////////////////
|
||||
///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////////
|
||||
///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbBs6r/////////////////////////
|
||||
///////////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwB0SSb/////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////d1tGYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
|
||||
MwBmMwDBs6r39fT///////////////////////////////////////////////////////////+AXUJm
|
||||
MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXULBs6rBs6rm4N3/
|
||||
//////////////////////////////////////////////////////////////////////////////+A
|
||||
XUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////39fTBs6rBs6pmMwBmMwBm
|
||||
MwBmMwBmMwBmMwBmMwBmMwCjjH3Bs6rUy8X/////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
161
SDL/ZOLLSYSTEM/frmImportFromAVISOAnhaenge.vb
Normal file
161
SDL/ZOLLSYSTEM/frmImportFromAVISOAnhaenge.vb
Normal file
@@ -0,0 +1,161 @@
|
||||
Imports System.IO
|
||||
Imports DocumentFormat.OpenXml.Drawing.Charts
|
||||
Imports VERAG_PROG_ALLGEMEIN
|
||||
|
||||
Public Class frmImportFromAVISOAnhaenge
|
||||
|
||||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||||
|
||||
Dim AvisoId As Integer = -1
|
||||
Dim SendungID As Integer = -1
|
||||
|
||||
|
||||
Public LIST_FILES As New List(Of String)
|
||||
|
||||
Sub New(avisoId, sendungId)
|
||||
|
||||
' Dieser Aufruf ist für den Designer erforderlich.
|
||||
InitializeComponent()
|
||||
|
||||
Me.AvisoId = avisoId
|
||||
Me.SendungID = sendungId
|
||||
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
|
||||
|
||||
End Sub
|
||||
|
||||
Sub New(aviso As VERAG_PROG_ALLGEMEIN.cAviso, sendung As cSendungen)
|
||||
|
||||
' Dieser Aufruf ist für den Designer erforderlich.
|
||||
InitializeComponent()
|
||||
|
||||
If aviso IsNot Nothing Then
|
||||
Me.AvisoId = aviso.AvisoID
|
||||
End If
|
||||
|
||||
If sendung IsNot Nothing Then
|
||||
Me.SendungID = sendung.tblSnd_SendungID
|
||||
End If
|
||||
|
||||
Me.SendungID = SendungID
|
||||
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub frmImportFromAVISOAnhaenge_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
initAnhang()
|
||||
End Sub
|
||||
|
||||
Sub initAnhang()
|
||||
|
||||
If AvisoId <= 0 Then Exit Sub
|
||||
If SendungID <= 0 Then Exit Sub
|
||||
|
||||
Dim hSQL As String = " SELECT [anh_id],[anh_Name],anh_Datum,[anh_docId],CASE WHEN (anh_SendungsId is null OR anh_SendungsId <=0) AND isnull(aa_name,'')='' THEN '***' ELSE [aa_name] END as [anh_Art],[anh_Typ]
|
||||
FROM [tblAvisoAnhaenge]
|
||||
left join tblAvisoAnhangsArten on aa_bezeichnung = anh_Art
|
||||
WHERE anh_AvisoId=" & AvisoId & " AND (anh_SendungsId is null OR anh_SendungsId <=0 OR anh_SendungsId=" & SendungID & ")
|
||||
ORDER BY anh_SendungsId desc, case when aa_sort = NULL THEN 15 else aa_sort END, [anh_Reihenfolge],[anh_id]"
|
||||
|
||||
dgvAnhang.DataSource = SQL.loadDgvBySql(hSQL, "AVISO")
|
||||
|
||||
If dgvAnhang.RowCount = 0 Then dgvAnhang.Columns.Clear() : Exit Sub
|
||||
|
||||
With dgvAnhang
|
||||
.RowTemplate.Height = 35
|
||||
'.RowTemplate.MinimumHeight = 30
|
||||
.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells
|
||||
.Columns("anh_id").Visible = False 'VermerkID nicht anzeigen
|
||||
.Columns("anh_docId").Visible = False 'AvisoID nicht anzeigen
|
||||
|
||||
.Columns("anh_Name").MinimumWidth = 150
|
||||
.Columns("anh_Name").HeaderText = "Name"
|
||||
.Columns("anh_Name").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
|
||||
|
||||
.Columns("anh_Datum").Width = 120
|
||||
.Columns("anh_Datum").HeaderText = "Datum"
|
||||
|
||||
.Columns("anh_Art").MinimumWidth = 100
|
||||
.Columns("anh_Art").HeaderText = "Art"
|
||||
.Columns("anh_Art").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
|
||||
|
||||
.Columns("anh_Typ").Width = 150
|
||||
.Columns("anh_Typ").HeaderText = "Typ"
|
||||
.Columns("anh_Typ").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
|
||||
|
||||
|
||||
|
||||
.ClearSelection()
|
||||
|
||||
End With
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
|
||||
If dgvAnhang.SelectedRows.Count = 0 Then Exit Sub
|
||||
LIST_FILES.Clear()
|
||||
|
||||
For Each r In dgvAnhang.SelectedRows
|
||||
Dim docId As Integer = CInt(r.cells("anh_docId").value)
|
||||
If docId > 0 Then
|
||||
Dim tempFile As String = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(docId)
|
||||
If tempFile <> "" Then
|
||||
LIST_FILES.Add(tempFile)
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
If LIST_FILES.Count > 0 Then
|
||||
Me.DialogResult = DialogResult.OK
|
||||
Me.Close()
|
||||
Else
|
||||
Me.DialogResult = DialogResult.None
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
||||
Dim fd As New OpenFileDialog With {
|
||||
.Filter = "Excel Dateien|*.xls;*.xlsx",
|
||||
.Multiselect = True,
|
||||
.Title = "Bitte eine oder mehrere Excel-Dateien auswählen"
|
||||
}
|
||||
|
||||
Dim result As DialogResult = fd.ShowDialog()
|
||||
|
||||
If result <> DialogResult.OK Then
|
||||
Me.Cursor = Cursors.Default
|
||||
MsgBox("Keine Datei ausgewählt!")
|
||||
Me.DialogResult = DialogResult.None
|
||||
Exit Sub
|
||||
Else
|
||||
|
||||
For Each filePath As String In fd.FileNames
|
||||
If Not filePath.ToLower.EndsWith(".xls") AndAlso Not filePath.ToLower.EndsWith(".xlsx") Then
|
||||
' Ungültige Datei – überspringen oder abbrechen
|
||||
Continue For
|
||||
End If
|
||||
LIST_FILES.Add(filePath)
|
||||
Next
|
||||
If LIST_FILES.Count > 0 Then
|
||||
Me.DialogResult = DialogResult.OK
|
||||
Me.Close()
|
||||
Else
|
||||
Me.DialogResult = DialogResult.None
|
||||
End If
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
|
||||
Dim data As IDataObject = Clipboard.GetDataObject
|
||||
For Each s As String In My.Computer.Clipboard.GetFileDropList() 'GetData(DataFormats.) 'data.GetData(DataFormats.FileDrop) 'DataFormats.FileDrop)
|
||||
If System.IO.File.Exists(s) Then
|
||||
LIST_FILES.Add(s)
|
||||
End If
|
||||
Next
|
||||
If LIST_FILES.Count > 0 Then
|
||||
Me.DialogResult = DialogResult.OK
|
||||
Me.Close()
|
||||
Else
|
||||
Me.DialogResult = DialogResult.None
|
||||
End If
|
||||
End Sub
|
||||
End Class
|
||||
@@ -44,11 +44,10 @@ Public Class cRelayHub
|
||||
Public Class cRelayHubHeaderData
|
||||
Public Property agentContact As cRelayHubAgentContact
|
||||
Public Property declarantIsConsignee As Boolean
|
||||
Public Property representationRelationshipCode As String
|
||||
Public Property inputTaxDeduction As String
|
||||
Public Property representationRelationshipCode As Integer ' <- war String
|
||||
Public Property inputTaxDeduction As Boolean ' <- war String
|
||||
Public Property procedureCodeRequested As String
|
||||
Public Property goodsStatus As String
|
||||
Public Property costs As List(Of cRelayHubCost)
|
||||
' Entfernt: goodsStatus, costs (nicht im Schema an dieser Stelle)
|
||||
Public Property transportMeansArrivalIdentity As String
|
||||
Public Property transportMeansNationalityCode As String
|
||||
Public Property previousAdministrativeReferenceType As String
|
||||
@@ -57,7 +56,7 @@ Public Class cRelayHub
|
||||
Public Property destinationCountry As String
|
||||
Public Property departureCountry As String
|
||||
Public Property addressedCustomsOffice As String
|
||||
Public Property dv1CostAllocation As cRelayHubDv1CostAllocation ' <--- NEU
|
||||
Public Property dv1CostAllocation As cRelayHubDv1CostAllocation
|
||||
End Class
|
||||
|
||||
Public Class cRelayHubAddress
|
||||
@@ -87,9 +86,12 @@ Public Class cRelayHub
|
||||
Public Property dispatchCountry As String
|
||||
Public Property destinationCountry As String
|
||||
Public Property regimeType As String
|
||||
Public Property customer As String
|
||||
' Entfernt: customer (vom Schema abgelehnt)
|
||||
Public Property documents As List(Of cRelayHubDocument)
|
||||
Public Property additionalData As cRelayHubAdditionalData
|
||||
|
||||
' Neu: Pflichtfeld lt. Fehlermeldung
|
||||
Public Property outputApplication As String ' "test" | "dakosy/sftp/vera" | "evrim/excel" | "sec/import/integration"
|
||||
End Class
|
||||
|
||||
Public Class cRelayHubJobOrderResponse
|
||||
@@ -117,9 +119,9 @@ Public Class cRelayHub
|
||||
http.SetRequestHeader("Accept", "application/json")
|
||||
|
||||
' *** Token aus der separaten Token-Klasse beziehen ***
|
||||
Dim token As String = cRelayHubToken.GetValidAccessToken()
|
||||
Dim token As String = cRelayHubToken.GetAccessToken()
|
||||
http.AuthToken = token ' -> setzt Authorization: Bearer <token>
|
||||
|
||||
Console.WriteLine("Using Token: " & token)
|
||||
Return http.PostJson2(API_URL & "/job-orders/init", "application/json", jsonPayload)
|
||||
End Function
|
||||
|
||||
@@ -140,29 +142,29 @@ Public Class cRelayHub
|
||||
}
|
||||
End If
|
||||
|
||||
' 401 → Token-Cache invalidieren und genau 1x erneut probieren
|
||||
If response.StatusCode = 401 Then
|
||||
' WICHTIG:
|
||||
' Diese Methode sollte in cRelayHubToken als Public verfügbar sein:
|
||||
' Public Shared Sub ResetTokenCache() : ClearToken() : End Sub
|
||||
' → Falls noch nicht vorhanden, bitte dort ergänzen.
|
||||
Try
|
||||
cRelayHubToken.ResetTokenCache()
|
||||
Catch
|
||||
' Falls die Methode (noch) nicht existiert, kann man als Fallback
|
||||
' hier eine kurze Wartezeit einbauen und anschließend erneut GetValidAccessToken() aufrufen.
|
||||
' Threading.Thread.Sleep(100)
|
||||
End Try
|
||||
'' 401 → Token-Cache invalidieren und genau 1x erneut probieren
|
||||
'If response.StatusCode = 401 Then
|
||||
' ' WICHTIG:
|
||||
' ' Diese Methode sollte in cRelayHubToken als Public verfügbar sein:
|
||||
' ' Public Shared Sub ResetTokenCache() : ClearToken() : End Sub
|
||||
' ' → Falls noch nicht vorhanden, bitte dort ergänzen.
|
||||
' Try
|
||||
' cRelayHubToken.ResetTokenCache()
|
||||
' Catch
|
||||
' ' Falls die Methode (noch) nicht existiert, kann man als Fallback
|
||||
' ' hier eine kurze Wartezeit einbauen und anschließend erneut GetValidAccessToken() aufrufen.
|
||||
' ' Threading.Thread.Sleep(100)
|
||||
' End Try
|
||||
|
||||
' Retry
|
||||
response = SendJobOrder(jsonPayload)
|
||||
If response Is Nothing Then
|
||||
Return New cRelayHubApiResult With {
|
||||
.Success = False, .StatusCode = 0, .Message = "Verbindungsfehler (nach Refresh)",
|
||||
.Details = "Keine Antwort erhalten."
|
||||
}
|
||||
End If
|
||||
End If
|
||||
' ' Retry
|
||||
' response = SendJobOrder(jsonPayload)
|
||||
' If response Is Nothing Then
|
||||
' Return New cRelayHubApiResult With {
|
||||
' .Success = False, .StatusCode = 0, .Message = "Verbindungsfehler (nach Refresh)",
|
||||
' .Details = "Keine Antwort erhalten."
|
||||
' }
|
||||
' End If
|
||||
'End If
|
||||
|
||||
' Auswertung
|
||||
result.StatusCode = response.StatusCode
|
||||
@@ -208,61 +210,58 @@ Public Class cRelayHub
|
||||
|
||||
' Beispielfall
|
||||
Function CreateSampleJobOrderRequest() As cRelayHubJobOrderRequest
|
||||
Dim request As New cRelayHubJobOrderRequest With {
|
||||
.referenceNo = "1001K",
|
||||
.dispatchCountry = "TR",
|
||||
.destinationCountry = "EN",
|
||||
.regimeType = "IM",
|
||||
.customer = "AVISO",
|
||||
.documents = New List(Of cRelayHubDocument) From {
|
||||
New cRelayHubDocument With {.type = "base64", .base64String = "SGVsbG8sIHRoaXMgaXMgYSBzYW1wbGUgYmFzZTY0IHN0cmluZy4=", .filename = "test.txt", .fileType = "invoice"},
|
||||
New cRelayHubDocument With {.type = "base64", .base64String = "SGVsbG8sIHRoaXMgaXMgYSBzYW1wbGUgYmFzZTY0IHN0cmluZy4=", .filename = "test2.txt", .fileType = "atr"},
|
||||
New cRelayHubDocument With {.type = "base64", .base64String = "SGVsbG8sIHRoaXMgaXMgYSBzYW1wbGUgYmFzZTY0IHN0cmluZy4=", .filename = "test3.txt", .fileType = "cmr"}
|
||||
},
|
||||
.additionalData = New cRelayHubAdditionalData With {
|
||||
.transaction = New cRelayHubTransaction With {
|
||||
.ioPartner = "VERA",
|
||||
.ioDivision3 = "SUB",
|
||||
.ioReference = "4803/25001763_1301250935SS/samimx"
|
||||
Dim req As New cRelayHubJobOrderRequest With {
|
||||
.referenceNo = "1001K",
|
||||
.dispatchCountry = "TR", ' ISO-2
|
||||
.destinationCountry = "DE", ' ISO-2 (nicht "EN")
|
||||
.regimeType = "IMPORT", ' "IMPORT" | "EXPORT"
|
||||
.outputApplication = "test", ' Pflichtfeld lt. Validator
|
||||
.documents = New List(Of cRelayHubDocument) From {
|
||||
New cRelayHubDocument With {.type = "base64", .base64String = "SGVsbG8sIHRoaXMgaXMgYSBzYW1wbGUgYmFzZTY0IHN0cmluZy4=", .filename = "test.txt", .fileType = "invoice"},
|
||||
New cRelayHubDocument With {.type = "base64", .base64String = "SGVsbG8sIHRoaXMgaXMgYSBzYW1wbGUgYmFzZTY0IHN0cmluZy4=", .filename = "test2.txt", .fileType = "atr"},
|
||||
New cRelayHubDocument With {.type = "base64", .base64String = "SGVsbG8sIHRoaXMgaXMgYSBzYW1wbGUgYmFzZTY0IHN0cmluZy4=", .filename = "test3.txt", .fileType = "cmr"}
|
||||
},
|
||||
.additionalData = New cRelayHubAdditionalData With {
|
||||
.transaction = New cRelayHubTransaction With {
|
||||
.ioPartner = "VERA",
|
||||
.ioDivision3 = "SUB",
|
||||
.ioReference = "4803/25001763_1301250935SS/samimx"
|
||||
},
|
||||
.declaration = New List(Of cRelayHubDeclaration) From {
|
||||
New cRelayHubDeclaration With {
|
||||
.objectIdentification = New cRelayHubObjectIdentification With {
|
||||
.objectName = "4803/25001763",
|
||||
.objectAlias = "1349846",
|
||||
.declarationType = "EZA-D"
|
||||
},
|
||||
.declaration = New List(Of cRelayHubDeclaration) From {
|
||||
New cRelayHubDeclaration With {
|
||||
.objectIdentification = New cRelayHubObjectIdentification With {
|
||||
.objectName = "4803/25001763",
|
||||
.objectAlias = "1349846",
|
||||
.declarationType = "EZA-D"
|
||||
},
|
||||
.headerData = New cRelayHubHeaderData With {
|
||||
.agentContact = New cRelayHubAgentContact With {
|
||||
.contactPersonName = "AMANN",
|
||||
.contactPersonPhoneNumber = "+49 123 456 789",
|
||||
.contactPersonPosition = "Manager"
|
||||
},
|
||||
.declarantIsConsignee = True,
|
||||
.representationRelationshipCode = "1",
|
||||
.inputTaxDeduction = "true",
|
||||
.procedureCodeRequested = "42",
|
||||
.goodsStatus = "EU",
|
||||
.costs = New List(Of cRelayHubCost) From {
|
||||
New cRelayHubCost With {.costAmount = "25909.92", .costCurrency = "EUR"}
|
||||
},
|
||||
.transportMeansArrivalIdentity = "PB1552EC",
|
||||
.transportMeansNationalityCode = "BG",
|
||||
.previousAdministrativeReferenceType = "T1",
|
||||
.previousAdministrativeReferenceNumber = "25TR160100001472M0",
|
||||
.destinationFederalState = "07",
|
||||
.destinationCountry = "DE",
|
||||
.departureCountry = "TR"
|
||||
},
|
||||
.addresses = New List(Of cRelayHubAddress) From {
|
||||
New cRelayHubAddress With {.addressType = "CZ", .participantEORI = "EORI12345", .participantSubsidiaryNumber = "001", .companyName = "SISECAM DIS TIC.A.S.", .streetAndNumber = "D-100 KARAYOLU CD.YAYLA MH.NO.70/C", .countryCode = "TR", .postalCode = "34949", .city = "TUZLA ISTANBUL"},
|
||||
New cRelayHubAddress With {.addressType = "CN", .participantEORI = "EORI67890", .participantSubsidiaryNumber = "002", .companyName = "POLYNT COMPOSITES GERMANY GMBH", .streetAndNumber = "KIESELSTRASSE 2", .countryCode = "DE", .postalCode = "56357", .city = "MIEHLEN"}
|
||||
}
|
||||
}
|
||||
.headerData = New cRelayHubHeaderData With {
|
||||
.agentContact = New cRelayHubAgentContact With {
|
||||
.contactPersonName = "AMANN",
|
||||
.contactPersonPhoneNumber = "+49 123 456 789",
|
||||
.contactPersonPosition = "Manager",
|
||||
.contactPersonEmail = "a@example.com"
|
||||
},
|
||||
.declarantIsConsignee = True,
|
||||
.representationRelationshipCode = 1, ' Integer
|
||||
.inputTaxDeduction = True, ' Boolean
|
||||
.procedureCodeRequested = "42", ' goodsStatus/costs entfernt
|
||||
.transportMeansArrivalIdentity = "PB1552EC",
|
||||
.transportMeansNationalityCode = "BG",
|
||||
.previousAdministrativeReferenceType = "T1",
|
||||
.previousAdministrativeReferenceNumber = "25TR160100001472M0",
|
||||
.destinationFederalState = "07",
|
||||
.destinationCountry = "DE",
|
||||
.departureCountry = "TR"
|
||||
},
|
||||
.addresses = New List(Of cRelayHubAddress) From {
|
||||
New cRelayHubAddress With {.addressType = "CZ", .participantEORI = "EORI12345", .participantSubsidiaryNumber = "001", .companyName = "SISECAM DIS TIC.A.S.", .streetAndNumber = "D-100 KARAYOLU CD.YAYLA MH.NO.70/C", .countryCode = "TR", .postalCode = "34949", .city = "TUZLA ISTANBUL"},
|
||||
New cRelayHubAddress With {.addressType = "CN", .participantEORI = "EORI67890", .participantSubsidiaryNumber = "002", .companyName = "POLYNT COMPOSITES GERMANY GMBH", .streetAndNumber = "KIESELSTRASSE 2", .countryCode = "DE", .postalCode = "56357", .city = "MIEHLEN"}
|
||||
}
|
||||
}
|
||||
}
|
||||
Return request
|
||||
}
|
||||
}
|
||||
Return req
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
@@ -1,245 +1,199 @@
|
||||
Imports Newtonsoft.Json
|
||||
Imports System
|
||||
Imports System.IO
|
||||
Imports System.Net.Http
|
||||
Imports System.Text
|
||||
Imports System.Web
|
||||
Imports Newtonsoft.Json
|
||||
|
||||
' NuGet: Newtonsoft.Json (>= 13.x)
|
||||
|
||||
Public Class cRelayHubToken
|
||||
|
||||
' === Token-Datenmodell ===
|
||||
Private Class TokenState
|
||||
Public AccessToken As String
|
||||
Public RefreshToken As String
|
||||
Public AccessExpiryUtc As DateTime
|
||||
Public RefreshExpiryUtc As DateTime
|
||||
End Class
|
||||
' ======= KONFIG =======
|
||||
Private Shared ReadOnly TOKEN_ENDPOINT As String =
|
||||
"https://dev-kc.singlewindow.io/auth/realms/agsw/protocol/openid-connect/token"
|
||||
|
||||
' === Keycloak-Config ===
|
||||
Private Shared ReadOnly KC_BASE As String = "https://dev-kc.singlewindow.io"
|
||||
Private Shared ReadOnly KC_TOKEN_PATH As String = "/auth/realms/agsw/protocol/openid-connect/token"
|
||||
Private Shared ReadOnly KC_CLIENT_ID As String = "agsw-admin"
|
||||
Private Shared ReadOnly KC_USERNAME As String = "andreas.test@test.com"
|
||||
Private Shared ReadOnly KC_PASSWORD As String = "Password.123"
|
||||
Private Shared ReadOnly SKEW As TimeSpan = TimeSpan.FromSeconds(30)
|
||||
Private Shared ReadOnly CLIENT_ID As String = "agsw-admin"
|
||||
|
||||
' === Cache/Persistenz ===
|
||||
Private Shared _ts As TokenState = Nothing
|
||||
Private Shared ReadOnly TOKEN_FILE As String = Path.Combine(
|
||||
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
|
||||
"RelayHub", "token.cache"
|
||||
)
|
||||
Private Shared ReadOnly _lockObj As New Object()
|
||||
' Gewünscht: Zugangsdaten in der Klasse definieren
|
||||
Private Shared ReadOnly USERNAME As String = "andreas.test@test.com"
|
||||
Private Shared ReadOnly PASSWORD As String = "Password.123"
|
||||
|
||||
' -------------- DPAPI via Reflection (keine Compile-Abhängigkeit!) --------------
|
||||
Private Shared Function TryProtect(plain As Byte()) As Byte()
|
||||
Try
|
||||
' Versuche: Typen aus Assembly "System.Security" oder aus aktuellen Laufzeit-Assemblys laden
|
||||
Dim dpType As Type = Type.GetType("System.Security.Cryptography.ProtectedData, System.Security", throwOnError:=False)
|
||||
If dpType Is Nothing Then
|
||||
dpType = Type.GetType("System.Security.Cryptography.ProtectedData", throwOnError:=False)
|
||||
' Token-File pro Benutzer unter %AppData%
|
||||
Private Shared ReadOnly StorePath As String =
|
||||
Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
|
||||
"RelayHub", "token.json")
|
||||
|
||||
' Sicherheitspuffer, bevor wir erneuern (Sekunden)
|
||||
Private Const ExpirySkewSeconds As Integer = 60
|
||||
|
||||
' ======= ÖFFENTLICHE API =======
|
||||
''' <summary>
|
||||
''' Liefert einen gültigen Access Token (nie Leerstring).
|
||||
''' </summary>
|
||||
Public Shared Function GetAccessToken() As String
|
||||
Dim store = LoadStore()
|
||||
|
||||
' 1) Wenn wir einen (noch) gültigen Token haben
|
||||
If store IsNot Nothing AndAlso Not String.IsNullOrWhiteSpace(store.AccessToken) Then
|
||||
If store.ExpiresAtUtc > DateTimeOffset.UtcNow.AddSeconds(ExpirySkewSeconds) Then
|
||||
Return store.AccessToken
|
||||
End If
|
||||
Dim scopeType As Type = Type.GetType("System.Security.Cryptography.DataProtectionScope, System.Security", throwOnError:=False)
|
||||
If dpType Is Nothing OrElse scopeType Is Nothing Then Return Nothing
|
||||
|
||||
Dim scopeObj As Object = [Enum].Parse(scopeType, "CurrentUser")
|
||||
Dim mi = dpType.GetMethod("Protect", New Type() {GetType(Byte()), GetType(Byte()), scopeType})
|
||||
If mi Is Nothing Then Return Nothing
|
||||
|
||||
Dim res = mi.Invoke(Nothing, New Object() {plain, Nothing, scopeObj})
|
||||
Return TryCast(res, Byte())
|
||||
Catch
|
||||
Return Nothing
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Private Shared Function TryUnprotect(protectedBytes As Byte()) As Byte()
|
||||
Try
|
||||
Dim dpType As Type = Type.GetType("System.Security.Cryptography.ProtectedData, System.Security", throwOnError:=False)
|
||||
If dpType Is Nothing Then
|
||||
dpType = Type.GetType("System.Security.Cryptography.ProtectedData", throwOnError:=False)
|
||||
End If
|
||||
Dim scopeType As Type = Type.GetType("System.Security.Cryptography.DataProtectionScope, System.Security", throwOnError:=False)
|
||||
If dpType Is Nothing OrElse scopeType Is Nothing Then Return Nothing
|
||||
|
||||
Dim scopeObj As Object = [Enum].Parse(scopeType, "CurrentUser")
|
||||
Dim mi = dpType.GetMethod("Unprotect", New Type() {GetType(Byte()), GetType(Byte()), scopeType})
|
||||
If mi Is Nothing Then Return Nothing
|
||||
|
||||
Dim res = mi.Invoke(Nothing, New Object() {protectedBytes, Nothing, scopeObj})
|
||||
Return TryCast(res, Byte())
|
||||
Catch
|
||||
Return Nothing
|
||||
End Try
|
||||
End Function
|
||||
|
||||
' -------------- Persistenz: bevorzugt DPAPI, Fallback Plain-File --------------
|
||||
Private Shared Sub SaveTokenSecure(ts As TokenState)
|
||||
Try
|
||||
Dim dir = Path.GetDirectoryName(TOKEN_FILE)
|
||||
If Not Directory.Exists(dir) Then Directory.CreateDirectory(dir)
|
||||
|
||||
Dim payload As String = String.Join(vbLf, {
|
||||
ts.AccessToken,
|
||||
ts.RefreshToken,
|
||||
ts.AccessExpiryUtc.Ticks.ToString(),
|
||||
ts.RefreshExpiryUtc.Ticks.ToString()
|
||||
})
|
||||
Dim plain = Encoding.UTF8.GetBytes(payload)
|
||||
|
||||
Dim protectedBytes = TryProtect(plain)
|
||||
If protectedBytes IsNot Nothing Then
|
||||
File.WriteAllBytes(TOKEN_FILE, protectedBytes)
|
||||
Else
|
||||
' Fallback (nur zu Testzwecken!)
|
||||
File.WriteAllText(TOKEN_FILE, payload, Encoding.UTF8)
|
||||
End If
|
||||
Catch
|
||||
' optional loggen
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Shared Function LoadTokenSecure() As TokenState
|
||||
Try
|
||||
If Not File.Exists(TOKEN_FILE) Then Return Nothing
|
||||
|
||||
' Zuerst versuchen wir, als DPAPI-Bytes zu lesen und zu entschlüsseln
|
||||
Dim raw = File.ReadAllBytes(TOKEN_FILE)
|
||||
Dim plain = TryUnprotect(raw)
|
||||
|
||||
Dim content As String
|
||||
If plain Is Nothing Then
|
||||
' Fallback: als Text lesen (falls zuvor ohne DPAPI gespeichert)
|
||||
content = File.ReadAllText(TOKEN_FILE, Encoding.UTF8)
|
||||
Else
|
||||
content = Encoding.UTF8.GetString(plain)
|
||||
End If
|
||||
|
||||
Dim s = content.Split({vbLf}, StringSplitOptions.None)
|
||||
If s.Length < 4 Then Return Nothing
|
||||
Return New TokenState With {
|
||||
.AccessToken = s(0),
|
||||
.RefreshToken = s(1),
|
||||
.AccessExpiryUtc = New DateTime(Long.Parse(s(2)), DateTimeKind.Utc),
|
||||
.RefreshExpiryUtc = New DateTime(Long.Parse(s(3)), DateTimeKind.Utc)
|
||||
}
|
||||
Catch
|
||||
Return Nothing
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Private Shared Sub ClearToken()
|
||||
SyncLock _lockObj
|
||||
_ts = Nothing
|
||||
Try
|
||||
If File.Exists(TOKEN_FILE) Then File.Delete(TOKEN_FILE)
|
||||
Catch
|
||||
End Try
|
||||
End SyncLock
|
||||
End Sub
|
||||
|
||||
' -------------- Utilities --------------
|
||||
Private Shared Function UtcNow() As DateTime
|
||||
Return DateTime.UtcNow
|
||||
End Function
|
||||
|
||||
Private Shared Function IsAccessValid(ts As TokenState) As Boolean
|
||||
Return ts IsNot Nothing AndAlso Not String.IsNullOrEmpty(ts.AccessToken) AndAlso UtcNow() < ts.AccessExpiryUtc - SKEW
|
||||
End Function
|
||||
|
||||
Private Shared Function IsRefreshValid(ts As TokenState) As Boolean
|
||||
Return ts IsNot Nothing AndAlso Not String.IsNullOrEmpty(ts.RefreshToken) AndAlso UtcNow() < ts.RefreshExpiryUtc - SKEW
|
||||
End Function
|
||||
|
||||
' -------------- OAuth Flows --------------
|
||||
Private Shared Function PasswordLogin() As TokenState
|
||||
Dim http As New Chilkat.Http
|
||||
Dim req As New Chilkat.HttpRequest
|
||||
req.HttpVerb = "POST"
|
||||
req.Path = KC_TOKEN_PATH
|
||||
req.AddParam("grant_type", "password")
|
||||
req.AddParam("username", KC_USERNAME)
|
||||
req.AddParam("password", KC_PASSWORD)
|
||||
req.AddParam("client_id", KC_CLIENT_ID)
|
||||
req.AddParam("scope", "openid offline_access")
|
||||
req.AddHeader("Content-Type", "application/x-www-form-urlencoded")
|
||||
|
||||
Dim resp = http.PostUrlEncoded(KC_BASE, req)
|
||||
If resp Is Nothing Then Throw New Exception("Token-Request fehlgeschlagen: " & http.LastErrorText)
|
||||
If resp.StatusCode <> 200 Then Throw New Exception("Password-Grant fehlgeschlagen: " & resp.StatusCode & " - " & resp.BodyStr)
|
||||
|
||||
Dim json As New Chilkat.JsonObject : json.Load(resp.BodyStr)
|
||||
Dim access = json.StringOf("access_token")
|
||||
Dim refresh = json.StringOf("refresh_token")
|
||||
Dim exp = Math.Max(60, json.IntOf("expires_in"))
|
||||
Dim rexp = Math.Max(300, json.IntOf("refresh_expires_in"))
|
||||
|
||||
Dim ts = New TokenState With {
|
||||
.AccessToken = access,
|
||||
.RefreshToken = refresh,
|
||||
.AccessExpiryUtc = UtcNow().AddSeconds(exp),
|
||||
.RefreshExpiryUtc = UtcNow().AddSeconds(rexp)
|
||||
}
|
||||
SaveTokenSecure(ts)
|
||||
Return ts
|
||||
End Function
|
||||
|
||||
Private Shared Function RefreshLogin(oldTs As TokenState) As TokenState
|
||||
If oldTs Is Nothing OrElse String.IsNullOrEmpty(oldTs.RefreshToken) Then
|
||||
Throw New Exception("Kein gültiger Refresh-Token vorhanden.")
|
||||
End If
|
||||
|
||||
Dim http As New Chilkat.Http
|
||||
Dim req As New Chilkat.HttpRequest
|
||||
req.HttpVerb = "POST"
|
||||
req.Path = KC_TOKEN_PATH
|
||||
req.AddParam("grant_type", "refresh_token")
|
||||
req.AddParam("refresh_token", oldTs.RefreshToken)
|
||||
req.AddParam("client_id", KC_CLIENT_ID)
|
||||
req.AddHeader("Content-Type", "application/x-www-form-urlencoded")
|
||||
' 2) Versuche Refresh, falls vorhanden
|
||||
If store IsNot Nothing AndAlso Not String.IsNullOrWhiteSpace(store.RefreshToken) Then
|
||||
store = TryRefresh(store.RefreshToken)
|
||||
End If
|
||||
|
||||
Dim resp = http.PostUrlEncoded(KC_BASE, req)
|
||||
If resp Is Nothing Then Throw New Exception("Refresh-Request fehlgeschlagen: " & http.LastErrorText)
|
||||
If resp.StatusCode <> 200 Then Throw New Exception("Refresh fehlgeschlagen: " & resp.StatusCode & " - " & resp.BodyStr)
|
||||
' 3) Fallback: Password-Grant Login
|
||||
If store Is Nothing OrElse String.IsNullOrWhiteSpace(store.AccessToken) Then
|
||||
store = PasswordLogin()
|
||||
End If
|
||||
|
||||
Dim json As New Chilkat.JsonObject : json.Load(resp.BodyStr)
|
||||
Dim access = json.StringOf("access_token")
|
||||
Dim refresh = json.StringOf("refresh_token") ' Rotation beachten
|
||||
Dim exp = Math.Max(60, json.IntOf("expires_in"))
|
||||
Dim rexp = Math.Max(300, json.IntOf("refresh_expires_in"))
|
||||
' Validierung
|
||||
If store Is Nothing OrElse String.IsNullOrWhiteSpace(store.AccessToken) Then
|
||||
Throw New ApplicationException("Konnte keinen gültigen Access Token erhalten (leer).")
|
||||
End If
|
||||
|
||||
Dim ts = New TokenState With {
|
||||
.AccessToken = access,
|
||||
.RefreshToken = refresh,
|
||||
.AccessExpiryUtc = UtcNow().AddSeconds(exp),
|
||||
.RefreshExpiryUtc = UtcNow().AddSeconds(rexp)
|
||||
' Persistieren & zurück
|
||||
SaveStore(store)
|
||||
Return store.AccessToken
|
||||
End Function
|
||||
|
||||
' ======= INTERNES =======
|
||||
Private Shared Function PasswordLogin() As TokenStore
|
||||
Dim form = New Dictionary(Of String, String) From {
|
||||
{"grant_type", "password"},
|
||||
{"username", USERNAME},
|
||||
{"password", PASSWORD},
|
||||
{"client_id", CLIENT_ID}
|
||||
}
|
||||
SaveTokenSecure(ts)
|
||||
Return ts
|
||||
|
||||
Dim resp = PostForm(form)
|
||||
Dim token = ParseTokenResponse(resp)
|
||||
|
||||
Return token
|
||||
End Function
|
||||
|
||||
' -------------- Public API --------------
|
||||
Public Shared Function GetValidAccessToken() As String
|
||||
SyncLock _lockObj
|
||||
If _ts Is Nothing Then _ts = LoadTokenSecure()
|
||||
Private Shared Function TryRefresh(refreshToken As String) As TokenStore
|
||||
Try
|
||||
Dim form = New Dictionary(Of String, String) From {
|
||||
{"grant_type", "refresh_token"},
|
||||
{"refresh_token", refreshToken},
|
||||
{"client_id", CLIENT_ID}
|
||||
}
|
||||
Dim resp = PostForm(form)
|
||||
Dim token = ParseTokenResponse(resp)
|
||||
|
||||
If IsAccessValid(_ts) Then
|
||||
Return _ts.AccessToken
|
||||
' Nur speichern, wenn ein Access Token vorhanden ist
|
||||
If Not String.IsNullOrWhiteSpace(token.AccessToken) Then
|
||||
SaveStore(token)
|
||||
Return token
|
||||
End If
|
||||
Catch ex As Exception
|
||||
' Ignorieren -> fällt auf PasswordLogin zurück
|
||||
End Try
|
||||
|
||||
If IsRefreshValid(_ts) Then
|
||||
Try
|
||||
_ts = RefreshLogin(_ts)
|
||||
Return _ts.AccessToken
|
||||
Catch
|
||||
' fällt durch auf PasswordLogin
|
||||
End Try
|
||||
End If
|
||||
|
||||
_ts = PasswordLogin()
|
||||
Return _ts.AccessToken
|
||||
End SyncLock
|
||||
Return Nothing
|
||||
End Function
|
||||
|
||||
Public Shared Sub ResetTokenCache()
|
||||
ClearToken()
|
||||
Private Shared Function PostForm(formFields As Dictionary(Of String, String)) As String
|
||||
Using client As New HttpClient()
|
||||
Using content As New FormUrlEncodedContent(formFields)
|
||||
Dim response = client.PostAsync(TOKEN_ENDPOINT, content).Result
|
||||
Dim body = response.Content.ReadAsStringAsync().Result
|
||||
|
||||
If Not response.IsSuccessStatusCode Then
|
||||
Throw New ApplicationException(
|
||||
$"Token-Endpoint Fehler ({CInt(response.StatusCode)}): {body}")
|
||||
End If
|
||||
|
||||
Return body
|
||||
End Using
|
||||
End Using
|
||||
End Function
|
||||
|
||||
Private Shared Function ParseTokenResponse(json As String) As TokenStore
|
||||
Dim r = JsonConvert.DeserializeObject(Of TokenResponse)(json)
|
||||
|
||||
If r Is Nothing OrElse String.IsNullOrWhiteSpace(r.access_token) Then
|
||||
Throw New ApplicationException("Token-Antwort ungültig oder ohne access_token.")
|
||||
End If
|
||||
|
||||
Dim now = DateTimeOffset.UtcNow
|
||||
Dim expiresIn = If(r.expires_in <= 0, 3600, r.expires_in) ' Fallback 1h
|
||||
|
||||
Dim store = New TokenStore With {
|
||||
.AccessToken = r.access_token.Trim(),
|
||||
.RefreshToken = If(r.refresh_token, String.Empty),
|
||||
.ExpiresAtUtc = now.AddSeconds(expiresIn)
|
||||
}
|
||||
|
||||
' === Konsolen-Ausgabe ===
|
||||
Console.WriteLine("== Neuer Token erhalten ==")
|
||||
Console.WriteLine("Access Token: " & store.AccessToken)
|
||||
Console.WriteLine("Refresh Token: " & store.RefreshToken)
|
||||
Console.WriteLine("Gültig bis UTC: " & store.ExpiresAtUtc.ToString("yyyy-MM-dd HH:mm:ss"))
|
||||
|
||||
Return store
|
||||
End Function
|
||||
|
||||
' ======= PERSISTENZ =======
|
||||
Private Shared Function LoadStore() As TokenStore
|
||||
Try
|
||||
If File.Exists(StorePath) Then
|
||||
Dim json = File.ReadAllText(StorePath, Encoding.UTF8)
|
||||
Dim s = JsonConvert.DeserializeObject(Of TokenStore)(json)
|
||||
' Ausgabe in Konsole
|
||||
If s IsNot Nothing Then
|
||||
Console.WriteLine("== Token aus Datei geladen ==")
|
||||
Console.WriteLine("Access Token: " & (If(String.IsNullOrWhiteSpace(s.AccessToken), "<leer>", s.AccessToken)))
|
||||
Console.WriteLine("Refresh Token: " & (If(String.IsNullOrWhiteSpace(s.RefreshToken), "<leer>", s.RefreshToken)))
|
||||
Console.WriteLine("Gültig bis UTC: " & s.ExpiresAtUtc.ToString("yyyy-MM-dd HH:mm:ss"))
|
||||
End If
|
||||
Return s
|
||||
Else
|
||||
' Datei existiert nicht -> Info ausgeben
|
||||
Console.WriteLine("Keine Token-Datei vorhanden, neuer Login erforderlich.")
|
||||
End If
|
||||
Catch ex As Exception
|
||||
Console.WriteLine("Fehler beim Laden der Token-Datei: " & ex.Message)
|
||||
' Datei defekt? -> Ignorieren, neu holen
|
||||
End Try
|
||||
Return Nothing
|
||||
End Function
|
||||
|
||||
Private Shared Sub SaveStore(store As TokenStore)
|
||||
Try
|
||||
Dim dir = Path.GetDirectoryName(StorePath)
|
||||
If Not Directory.Exists(dir) Then Directory.CreateDirectory(dir)
|
||||
|
||||
' Datei immer neu schreiben/überschreiben
|
||||
Dim json = JsonConvert.SerializeObject(store, Formatting.Indented)
|
||||
File.WriteAllText(StorePath, json, Encoding.UTF8)
|
||||
|
||||
Console.WriteLine("Token-Datei gespeichert: " & StorePath)
|
||||
Catch ex As Exception
|
||||
Console.WriteLine("Fehler beim Speichern der Token-Datei: " & ex.Message)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
' ======= DTOs =======
|
||||
Private Class TokenResponse
|
||||
Public Property access_token As String
|
||||
Public Property expires_in As Integer
|
||||
Public Property refresh_expires_in As Integer
|
||||
Public Property refresh_token As String
|
||||
Public Property token_type As String
|
||||
Public Property scope As String
|
||||
' … weitere Felder bei Bedarf
|
||||
End Class
|
||||
|
||||
Private Class TokenStore
|
||||
Public Property AccessToken As String
|
||||
Public Property RefreshToken As String
|
||||
Public Property ExpiresAtUtc As DateTimeOffset
|
||||
End Class
|
||||
|
||||
End Class
|
||||
|
||||
Reference in New Issue
Block a user