8 Commits

Author SHA1 Message Date
Developer01
97d4ca26f4 Upgrade .NET8 ZugferdTest 2025-12-30 12:03:59 +01:00
Developer01
942ce662ec Vor Update .net8 2025-12-29 12:36:19 +01:00
Developer01
e1d5c2961d Merge branch 'master' of http://git.dd:3000/AppStd/Monorepo 2025-12-23 13:02:31 +01:00
Developer01
0ef5a3b339 Filesystem EDMI 2025-12-23 13:02:14 +01:00
Developer01
8cdd6e8026 Merge 2025-12-23 13:01:06 +01:00
Developer01
4310cd79b7 Push 462 2025-12-23 12:51:12 +01:00
Developer01
1d17afb400 GDViewer Nothing 2025-12-03 13:29:18 +01:00
Developer01
4085d05368 DocViewer isnothing 2025-12-01 16:37:27 +01:00
28 changed files with 1965 additions and 380 deletions

29
.github/upgrades/dotnet-upgrade-plan.md vendored Normal file
View File

@@ -0,0 +1,29 @@
# .NET 8.0 Upgrade Plan
## Execution Steps
Execute steps below sequentially one by one in the order they are listed.
1. Validate that an .NET 8.0 SDK required for this upgrade is installed on the machine and if not, help to get it installed.
2. Ensure that the SDK version specified in global.json files is compatible with the .NET 8.0 upgrade.
3. Upgrade GUIs.Test.ZUGFeRDTest\ZUGFeRDTest.vbproj
## Settings
This section contains settings and data used by execution steps.
### Excluded projects
Table below contains projects that do belong to the dependency graph for selected projects and should not be included in the upgrade.
| Project name | Description |
|:-------------|:-----------:|
| | Keine Projekte ausgeschlossen |
### Project upgrade details
This section contains details about each project upgrade and modifications that need to be done in the project.
#### GUIs.Test.ZUGFeRDTest\ZUGFeRDTest.vbproj modifications
Project properties changes:
- Keine Änderungen erforderlich. Das Projekt zielt bereits auf `net8.0-windows` und verwendet kompatible Pakete.

View File

@@ -346,7 +346,7 @@ Partial Class DocumentViewer
' '
'SpreadsheetControl1 'SpreadsheetControl1
' '
Me.SpreadsheetControl1.Location = New System.Drawing.Point(31, 152) Me.SpreadsheetControl1.Location = New System.Drawing.Point(83, 177)
Me.SpreadsheetControl1.MenuManager = Me.BarManager1 Me.SpreadsheetControl1.MenuManager = Me.BarManager1
Me.SpreadsheetControl1.Name = "SpreadsheetControl1" Me.SpreadsheetControl1.Name = "SpreadsheetControl1"
Me.SpreadsheetControl1.ReadOnly = True Me.SpreadsheetControl1.ReadOnly = True
@@ -377,30 +377,21 @@ Partial Class DocumentViewer
' '
'RichEditControl1 'RichEditControl1
' '
Me.RichEditControl1.Location = New System.Drawing.Point(395, 238) Me.RichEditControl1.Location = New System.Drawing.Point(571, 238)
Me.RichEditControl1.MenuManager = Me.BarManager1 Me.RichEditControl1.MenuManager = Me.BarManager1
Me.RichEditControl1.Name = "RichEditControl1" Me.RichEditControl1.Name = "RichEditControl1"
Me.RichEditControl1.Size = New System.Drawing.Size(400, 200) Me.RichEditControl1.Size = New System.Drawing.Size(400, 200)
Me.RichEditControl1.TabIndex = 5 Me.RichEditControl1.TabIndex = 5
Me.RichEditControl1.Visible = False Me.RichEditControl1.Visible = False
' '
'lblInfo
'
Me.lblInfo.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
Me.lblInfo.AutoSize = True
Me.lblInfo.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblInfo.ForeColor = System.Drawing.Color.Red
Me.lblInfo.Location = New System.Drawing.Point(3, 533)
Me.lblInfo.Name = "lblInfo"
Me.lblInfo.Size = New System.Drawing.Size(47, 15)
Me.lblInfo.TabIndex = 10
Me.lblInfo.Text = "Infotext"
'
'DocumentViewer 'DocumentViewer
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.SystemColors.ControlLightLight Me.Controls.Add(Me.RichEditControl1)
Me.Controls.Add(Me.lbFileNotLoaded)
Me.Controls.Add(Me.SpreadsheetControl1)
Me.Controls.Add(Me.GdViewer)
Me.Controls.Add(Me.barDockControlLeft) Me.Controls.Add(Me.barDockControlLeft)
Me.Controls.Add(Me.barDockControlRight) Me.Controls.Add(Me.barDockControlRight)
Me.Controls.Add(Me.barDockControlBottom) Me.Controls.Add(Me.barDockControlBottom)

View File

@@ -164,6 +164,26 @@
NC42LTAuOCw2LjUtMi4xbDcuOSw3LjljMC4zLDAuMywwLjksMC4zLDEuMiwwbDEuMi0xLjJDMzAuMSwy NC42LTAuOCw2LjUtMi4xbDcuOSw3LjljMC4zLDAuMywwLjksMC4zLDEuMiwwbDEuMi0xLjJDMzAuMSwy
OC4yLDMwLjEsMjcuNiwyOS43LDI3LjN6IE00LDEzYzAtNSw0LTksOS05YzUsMCw5LDQsOSw5ICAgcy00 OC4yLDMwLjEsMjcuNiwyOS43LDI3LjN6IE00LDEzYzAtNSw0LTksOS05YzUsMCw5LDQsOSw5ICAgcy00
LDktOSw5QzgsMjIsNCwxOCw0LDEzeiIgY2xhc3M9IkJsYWNrIiAvPg0KICA8L2c+DQo8L3N2Zz4L LDktOSw5QzgsMjIsNCwxOCw0LDEzeiIgY2xhc3M9IkJsYWNrIiAvPg0KICA8L2c+DQo8L3N2Zz4L
</value>
</data>
<data name="btnSearch2.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANoCAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz
OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp
dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9Ilpvb20iPg0KICAgIDxwYXRoIGQ9Ik0yNy43LDI1LjNM
MjAuNSwxOGMxLTEuNCwxLjUtMy4yLDEuNS01YzAtNS00LTktOS05cy05LDQtOSw5YzAsNSw0LDksOSw5
YzEuOSwwLDMuNi0wLjYsNS0xLjVsNy4zLDcuMyAgIGMwLjMsMC4zLDAuOSwwLjMsMS4yLDBsMS4yLTEu
MkMyOC4xLDI2LjIsMjguMSwyNS42LDI3LjcsMjUuM3ogTTYsMTNjMC0zLjksMy4xLTcsNy03czcsMy4x
LDcsN2MwLDMuOS0zLjEsNy03LDdTNiwxNi45LDYsMTN6IiBjbGFzcz0iQmxhY2siIC8+DQogIDwvZz4N
Cjwvc3ZnPgs=
</value> </value>
</data> </data>
<data name="btnPrevHighlight.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="btnPrevHighlight.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -226,26 +246,6 @@
ICAgYzAuOS0zLDMuNy01LDctNXM2LjEsMiw3LDVDMjkuMSwyNiwyNi4zLDI4LDIzLDI4eiBNMjMsMjZj ICAgYzAuOS0zLDMuNy01LDctNXM2LjEsMiw3LDVDMjkuMSwyNiwyNi4zLDI4LDIzLDI4eiBNMjMsMjZj
LTEuNywwLTMtMS4zLTMtM3MxLjMtMywzLTNzMywxLjMsMywzUzI0LjcsMjYsMjMsMjZ6IiBjbGFzcz0i LTEuNywwLTMtMS4zLTMtM3MxLjMtMywzLTNzMywxLjMsMywzUzI0LjcsMjYsMjMsMjZ6IiBjbGFzcz0i
QmxhY2siIC8+DQogIDwvZz4NCjwvc3ZnPgs= QmxhY2siIC8+DQogIDwvZz4NCjwvc3ZnPgs=
</value>
</data>
<data name="btnSearch2.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANoCAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz
OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp
dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9Ilpvb20iPg0KICAgIDxwYXRoIGQ9Ik0yNy43LDI1LjNM
MjAuNSwxOGMxLTEuNCwxLjUtMy4yLDEuNS01YzAtNS00LTktOS05cy05LDQtOSw5YzAsNSw0LDksOSw5
YzEuOSwwLDMuNi0wLjYsNS0xLjVsNy4zLDcuMyAgIGMwLjMsMC4zLDAuOSwwLjMsMS4yLDBsMS4yLTEu
MkMyOC4xLDI2LjIsMjguMSwyNS42LDI3LjcsMjUuM3ogTTYsMTNjMC0zLjksMy4xLTcsNy03czcsMy4x
LDcsN2MwLDMuOS0zLjEsNy03LDdTNiwxNi45LDYsMTN6IiBjbGFzcz0iQmxhY2siIC8+DQogIDwvZz4N
Cjwvc3ZnPgs=
</value> </value>
</data> </data>
<metadata name="PrintDocument1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="PrintDocument1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">

View File

@@ -492,12 +492,6 @@ Public Class DocumentViewer
End Sub End Sub
Private Function DoLoadFile(FilePath As String, Optional ViewOverride As String = "") As Boolean Private Function DoLoadFile(FilePath As String, Optional ViewOverride As String = "") As Boolean
Try Try
' Ensure the embedded GdViewer control exists before using it
If Not EnsureViewerReady() Then
_logger?.Warn("GdViewer control is not initialized yet. Delaying load.")
Return False
End If
lblInfo.Visible = False lblInfo.Visible = False
Dim oFileInfo = New FileInfo(FilePath) Dim oFileInfo = New FileInfo(FilePath)
Dim oExtension As String = oFileInfo.Extension.ToUpper Dim oExtension As String = oFileInfo.Extension.ToUpper
@@ -510,6 +504,14 @@ Public Class DocumentViewer
SpreadsheetControl1.Dock = DockStyle.None SpreadsheetControl1.Dock = DockStyle.None
RichEditControl1.Dock = DockStyle.None RichEditControl1.Dock = DockStyle.None
Dim override_Spreadsheet As Boolean = False
If oExtension.ToLower = ".xlsx" Then
If oFileInfo.Length > 15000 Then
_logger.Info("Override")
override_Spreadsheet = True
End If
End If
If ViewOverride = "Richtext" Then If ViewOverride = "Richtext" Then
RichEditControl1.LoadDocument(FilePath, GetDocumentFormat(oExtension)) RichEditControl1.LoadDocument(FilePath, GetDocumentFormat(oExtension))
RichEditControl1.Visible = True RichEditControl1.Visible = True
@@ -519,6 +521,16 @@ Public Class DocumentViewer
_ViewerMode = ViewerMode.Richtext _ViewerMode = ViewerMode.Richtext
lblInfo.Visible = True lblInfo.Visible = True
lblInfo.Text = "This docx-file contains a generic error and will be displayed in a reduced viewer. Please try to open the file in WORD" lblInfo.Text = "This docx-file contains a generic error and will be displayed in a reduced viewer. Please try to open the file in WORD"
ElseIf override_Spreadsheet = True Then
Dim oFormat = GetSpreadsheetFormat(oExtension)
SpreadsheetControl1.LoadDocument(FilePath, oFormat)
Dim oRange = SpreadsheetControl1.ActiveWorksheet.GetUsedRange()
oRange.AutoFitColumns()
SpreadsheetControl1.Visible = True
GdViewer.Visible = False
SpreadsheetControl1.Dock = DockStyle.Fill
Else Else
_ViewOverride = "" _ViewOverride = ""
Select Case oExtension.ToUpper Select Case oExtension.ToUpper
@@ -533,6 +545,12 @@ Public Class DocumentViewer
GdViewer.Visible = False GdViewer.Visible = False
SpreadsheetControl1.Dock = DockStyle.Fill SpreadsheetControl1.Dock = DockStyle.Fill
'Case ".EML", ".DOC", ".DOCX", ".ODT", ".RTF", ".TXT"
' RichEditControl1.LoadDocument(FilePath, GetDocumentFormat(oExtension))
' RichEditControl1.Visible = True
' GdViewer.Visible = False
' RichEditControl1.Dock = DockStyle.Fill
Case Else Case Else
Select Case oExtension.ToUpper Select Case oExtension.ToUpper
Case ".EML", ".DOC", ".DOCX", ".XLS", ".XLSX", ".ODT", ".RTF", ".TXT" Case ".EML", ".DOC", ".DOCX", ".XLS", ".XLSX", ".ODT", ".RTF", ".TXT"
@@ -578,8 +596,111 @@ Public Class DocumentViewer
Return False Return False
End Try End Try
End Function End Function
Private Function DoLoadFile(FilePath As String) As Boolean
Try
' Ensure the embedded GdViewer control exists before using it
If Not EnsureViewerReady() Then
_logger?.Warn("GdViewer control is not initialized yet. Delaying load.")
Return False
End If
lblInfo.Visible = False
Dim oFileInfo = New FileInfo(FilePath)
Dim oExtension As String = oFileInfo.Extension.ToUpper
lbFileNotLoaded.Visible = False
SpreadsheetControl1.Visible = False
RichEditControl1.Visible = False
SpreadsheetControl1.Dock = DockStyle.None
RichEditControl1.Dock = DockStyle.None
Dim Override_SSheet_Filesize As Boolean = False
If oExtension.ToLower = ".xlsx" Then
If oFileInfo.Length > 100000 Then
_logger.Info("Override Spreadsheet as xlsx is too big")
Override_SSheet_Filesize = True
End If
End If
If Override_SSheet_Filesize Then
Dim oFormat = GetSpreadsheetFormat(oExtension)
SpreadsheetControl1.LoadDocument(FilePath, oFormat)
Dim oRange = SpreadsheetControl1.ActiveWorksheet.GetUsedRange()
oRange.AutoFitColumns()
If ViewOverride = "Richtext" Then
RichEditControl1.LoadDocument(FilePath, GetDocumentFormat(oExtension))
RichEditControl1.Visible = True
GdViewer.Visible = False
RichEditControl1.Dock = DockStyle.Fill
_ViewOverride = "Richtext"
_ViewerMode = ViewerMode.Richtext
lblInfo.Visible = True
lblInfo.Text = "This docx-file contains a generic error and will be displayed in a reduced viewer. Please try to open the file in WORD"
Else
_ViewOverride = ""
Select Case oExtension.ToUpper
Case ".CSV"
Dim oFormat = GetSpreadsheetFormat(oExtension)
SpreadsheetControl1.LoadDocument(FilePath, oFormat)
Dim oRange = SpreadsheetControl1.ActiveWorksheet.GetUsedRange()
oRange.AutoFitColumns()
SpreadsheetControl1.Visible = True
GdViewer.Visible = False
SpreadsheetControl1.Dock = DockStyle.Fill
Case ".EML", ".DOC", ".DOCX", ".ODT", ".RTF", ".TXT"
RichEditControl1.LoadDocument(FilePath, GetDocumentFormat(oExtension))
RichEditControl1.Visible = True
GdViewer.Visible = False
RichEditControl1.Dock = DockStyle.Fill
Case Else
GdViewer.ZoomMode = ViewerZoomMode.ZoomModeWidthViewer
GdViewer.DocumentAlignment = ViewerDocumentAlignment.DocumentAlignmentTopCenter
GdViewer.ForceTemporaryMode = True
GdViewer.DocumentAlignment = ViewerDocumentAlignment.DocumentAlignmentTopCenter
If Viewer_ForceTemporaryMode = True Then
GdViewer.ForceTemporaryMode = True
End If
GdViewer.AnnotationDropShadow = True
GdViewer.BackColor = Color.White
Dim oGDPState As GdPicture14.GdPictureStatus = GdViewer.DisplayFromFile(FilePath)
If oGDPState <> GdPictureStatus.OK Then
_logger.Warn($"GdPictureStatus is [{oGDPState}]")
If oExtension.ToUpper = ".DOCX" And oGDPState = GdPictureStatus.GenericError Then
DoLoadFile(FilePath, "Richtext")
Else
Dim oFileName = IO.Path.GetFileName(FilePath)
lbFileNotLoaded.Text = String.Format("Datei konnte nicht geladen werden:{0}{1}", vbCrLf, oFileName)
lbFileNotLoaded.Visible = True
End If
Else
If GdViewer.Visible = False Then
GdViewer.Visible = True
End If
End If
End Select
Return True
Catch ex As Exception
_logger.Error(ex)
Return False
End Try
End Function
' Ensures the embedded GdViewer control exists and is added to the visual tree ' Ensures the embedded GdViewer control exists and is added to the visual tree
Private Function EnsureViewerReady() As Boolean
Try
' If the control field is Nothing (e.g., designer not yet created), try to lazy-create and add it
If GdViewer Is Nothing Then
Private Function EnsureViewerReady() As Boolean Private Function EnsureViewerReady() As Boolean
Try Try
' If the control field is Nothing (e.g., designer not yet created), try to lazy-create and add it ' If the control field is Nothing (e.g., designer not yet created), try to lazy-create and add it
@@ -606,14 +727,60 @@ Public Class DocumentViewer
End Function End Function
Private Sub FitToPage() Private Sub FitToPage()
GdViewer.ZoomMode = ViewerZoomMode.ZoomModeFitToViewer If Not GdViewer Is Nothing Then
GdViewer.ZoomMode = ViewerZoomMode.ZoomModeFitToViewer
End If
End Sub End Sub
Private Sub FitToWidth() Private Sub FitToWidth()
GdViewer.ZoomMode = ViewerZoomMode.ZoomModeWidthViewer If Not GdViewer Is Nothing Then
GdViewer.ZoomMode = ViewerZoomMode.ZoomModeWidthViewer
End If
End Sub End Sub
Private Function DoLoadFile(Stream As Stream, Extension As String) As Boolean Private Function DoLoadFile(Stream As Stream, Extension As String) As Boolean
Try
SpreadsheetControl1.Visible = False
SpreadsheetControl1.Dock = DockStyle.None
Select Case Extension.ToUpper
Case ".CSV"
SpreadsheetControl1.LoadDocument(Stream, GetSpreadsheetFormat(Extension))
Dim oRange = SpreadsheetControl1.ActiveWorksheet.GetUsedRange()
oRange.AutoFitColumns()
SpreadsheetControl1.Visible = True
SpreadsheetControl1.Dock = DockStyle.Fill
Case Else
If Not GdViewer Is Nothing Then
GdViewer.ZoomMode = ViewerZoomMode.ZoomModeWidthViewer
GdViewer.DocumentAlignment = ViewerDocumentAlignment.DocumentAlignmentTopCenter
If Viewer_ForceTemporaryMode = True Then
GdViewer.ForceTemporaryMode = True
End If
GdViewer.AnnotationDropShadow = True
GdViewer.DisplayFromStream(Stream)
End If
End Select
UpdateMainUi()
Return True
Catch ex As Exception
_logger.Error(ex)
Return False
End Try
End Function
Private Function StreamFile(Stream As Stream, Extension As String) As Boolean
Try Try
SpreadsheetControl1.Visible = False SpreadsheetControl1.Visible = False
@@ -633,9 +800,7 @@ Public Class DocumentViewer
Case Else Case Else
GdViewer.ZoomMode = ViewerZoomMode.ZoomModeWidthViewer GdViewer.ZoomMode = ViewerZoomMode.ZoomModeWidthViewer
GdViewer.DocumentAlignment = ViewerDocumentAlignment.DocumentAlignmentTopCenter GdViewer.DocumentAlignment = ViewerDocumentAlignment.DocumentAlignmentTopCenter
If Viewer_ForceTemporaryMode = True Then GdViewer.ForceTemporaryMode = True
GdViewer.ForceTemporaryMode = True
End If
GdViewer.AnnotationDropShadow = True GdViewer.AnnotationDropShadow = True
GdViewer.DisplayFromStream(Stream) GdViewer.DisplayFromStream(Stream)

View File

@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' indem Sie "*" wie unten gezeigt eingeben: ' indem Sie "*" wie unten gezeigt eingeben:
' <Assembly: AssemblyVersion("1.0.*")> ' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.0.1.0")> <Assembly: AssemblyVersion("2.1.0.0")>
<Assembly: AssemblyFileVersion("2.0.1.0")> <Assembly: AssemblyFileVersion("2.1.0.0")>

View File

@@ -1,20 +1,28 @@
Imports System.Drawing Imports System.Drawing
Imports System.Windows.Forms Imports System.Windows.Forms
Public Class ClassSnapPanel Public Class ClassSnapPanel
Inherits Panel Inherits Panel
Private _ShowGrid As Boolean = True Private _ShowGrid As Boolean = True
Private _GridSize As Integer = 16 Private _GridSize As Integer = 16
Private _NeedsScrollUpdate As Boolean = False
Public Sub New() Public Sub New()
Me.AutoScroll = True ' Scrollbars aktivieren Me.AutoScroll = True
Me.DoubleBuffered = True ' Flackern reduzieren
End Sub End Sub
Public Property GridSize As Integer Public Property GridSize As Integer
Get Get
Return _GridSize Return _GridSize
End Get End Get
Set(value As Integer) Set(value As Integer)
_GridSize = value If value > 0 AndAlso value <> _GridSize Then
Refresh() _GridSize = value
Invalidate()
End If
End Set End Set
End Property End Property
@@ -23,55 +31,146 @@ Public Class ClassSnapPanel
Return _ShowGrid Return _ShowGrid
End Get End Get
Set(value As Boolean) Set(value As Boolean)
_ShowGrid = value If value <> _ShowGrid Then
Refresh() _ShowGrid = value
Invalidate()
End If
End Set End Set
End Property End Property
Protected Overrides Sub OnControlAdded(e As ControlEventArgs) Protected Overrides Sub OnControlAdded(e As ControlEventArgs)
AddHandler e.Control.LocationChanged, AddressOf AlignToGrid
AddHandler e.Control.DragDrop, AddressOf AlignToGrid
MyBase.OnControlAdded(e) MyBase.OnControlAdded(e)
UpdateScrollArea() AddHandler e.Control.LocationChanged, AddressOf AlignToGrid
AddHandler e.Control.MouseUp, AddressOf AlignToGrid
ScheduleScrollUpdate()
End Sub End Sub
Protected Overrides Sub OnControlRemoved(e As ControlEventArgs) Protected Overrides Sub OnControlRemoved(e As ControlEventArgs)
RemoveHandler e.Control.LocationChanged, AddressOf AlignToGrid
RemoveHandler e.Control.DragDrop, AddressOf AlignToGrid
MyBase.OnControlRemoved(e) MyBase.OnControlRemoved(e)
UpdateScrollArea() RemoveHandler e.Control.LocationChanged, AddressOf AlignToGrid
RemoveHandler e.Control.MouseUp, AddressOf AlignToGrid
ScheduleScrollUpdate()
End Sub End Sub
Protected Overrides Sub OnPaint(e As System.Windows.Forms.PaintEventArgs) Protected Overrides Sub OnLayout(levent As LayoutEventArgs)
If _ShowGrid Then MyBase.OnLayout(levent)
ControlPaint.DrawGrid(e.Graphics, ClientRectangle, New Size(_GridSize, _GridSize), BackColor) ScheduleScrollUpdate()
End If End Sub
Protected Overrides Sub OnPaint(e As PaintEventArgs)
MyBase.OnPaint(e) MyBase.OnPaint(e)
If Not Me.DesignMode AndAlso _ShowGrid Then
Dim scrollOffset As Point = Me.AutoScrollPosition
Dim gridRect As New Rectangle(-scrollOffset.X, -scrollOffset.Y, Me.ClientSize.Width, Me.ClientSize.Height)
ControlPaint.DrawGrid(e.Graphics, gridRect, New Size(_GridSize, _GridSize), Me.BackColor)
End If
End Sub End Sub
Private Sub AlignToGrid(sender As Object, e As EventArgs) Private Sub AlignToGrid(sender As Object, e As EventArgs)
If _ShowGrid Then If Not _ShowGrid OrElse Me.DesignMode Then Return
Dim item As Control = CType(sender, Control)
Dim x As Integer = Math.Round(item.Left / _GridSize) * _GridSize Dim ctrl As Control = CType(sender, Control)
Dim y As Integer = Math.Round(item.Top / _GridSize) * _GridSize Dim x As Integer = Math.Floor(ctrl.Left / _GridSize) * _GridSize
item.Location = New Point(x, y) Dim y As Integer = Math.Floor(ctrl.Top / _GridSize) * _GridSize
UpdateScrollArea() ctrl.Location = New Point(x, y)
ScheduleScrollUpdate()
End Sub
Private Sub ScheduleScrollUpdate()
If Not _NeedsScrollUpdate Then
_NeedsScrollUpdate = True
BeginInvoke(New MethodInvoker(Sub()
UpdateScrollArea()
_NeedsScrollUpdate = False
End Sub))
End If End If
End Sub End Sub
Private Sub UpdateScrollArea() Private Sub UpdateScrollArea()
Dim maxWidth As Integer = 0 Dim maxWidth As Integer = 0
Dim maxHeight As Integer = 0 Dim maxHeight As Integer = 0
' Größte X- und Y-Koordinate der enthaltenen Controls bestimmen For Each ctrl As Control In Me.Controls
For Each ctrl As Control In Controls maxWidth = Math.Max(maxWidth, ctrl.Right)
Dim right As Integer = ctrl.Right maxHeight = Math.Max(maxHeight, ctrl.Bottom)
Dim bottom As Integer = ctrl.Bottom
If right > maxWidth Then maxWidth = right
If bottom > maxHeight Then maxHeight = bottom
Next Next
' Scrollbereich setzen
Me.AutoScrollMinSize = New Size(maxWidth, maxHeight) Me.AutoScrollMinSize = New Size(maxWidth, maxHeight)
End Sub End Sub
End Class End Class
'Public Class ClassSnapPanel
' Inherits Panel
' Private _ShowGrid As Boolean = True
' Private _GridSize As Integer = 16
' Public Sub New()
' Me.AutoScroll = True ' Scrollbars aktivieren
' End Sub
' Public Property GridSize As Integer
' Get
' Return _GridSize
' End Get
' Set(value As Integer)
' _GridSize = value
' Refresh()
' End Set
' End Property
' Public Property ShowGrid As Boolean
' Get
' Return _ShowGrid
' End Get
' Set(value As Boolean)
' _ShowGrid = value
' Refresh()
' End Set
' End Property
' Protected Overrides Sub OnControlAdded(e As ControlEventArgs)
' AddHandler e.Control.LocationChanged, AddressOf AlignToGrid
' AddHandler e.Control.DragDrop, AddressOf AlignToGrid
' MyBase.OnControlAdded(e)
' UpdateScrollArea()
' End Sub
' Protected Overrides Sub OnControlRemoved(e As ControlEventArgs)
' RemoveHandler e.Control.LocationChanged, AddressOf AlignToGrid
' RemoveHandler e.Control.DragDrop, AddressOf AlignToGrid
' MyBase.OnControlRemoved(e)
' UpdateScrollArea()
' End Sub
' Protected Overrides Sub OnPaint(e As System.Windows.Forms.PaintEventArgs)
' If _ShowGrid Then
' ControlPaint.DrawGrid(e.Graphics, ClientRectangle, New Size(_GridSize, _GridSize), BackColor)
' End If
' MyBase.OnPaint(e)
' End Sub
' Private Sub AlignToGrid(sender As Object, e As EventArgs)
' If _ShowGrid Then
' Dim item As Control = CType(sender, Control)
' Dim x As Integer = Math.Round(item.Left / _GridSize) * _GridSize
' Dim y As Integer = Math.Round(item.Top / _GridSize) * _GridSize
' item.Location = New Point(x, y)
' UpdateScrollArea()
' End If
' End Sub
' Private Sub UpdateScrollArea()
' Dim maxWidth As Integer = 0
' Dim maxHeight As Integer = 0
' ' Größte X- und Y-Koordinate der enthaltenen Controls bestimmen
' For Each ctrl As Control In Controls
' Dim right As Integer = ctrl.Right
' Dim bottom As Integer = ctrl.Bottom
' If right > maxWidth Then maxWidth = right
' If bottom > maxHeight Then maxHeight = bottom
' Next
' ' Scrollbereich setzen
' Me.AutoScrollMinSize = New Size(maxWidth, maxHeight)
' End Sub
'End Class

View File

@@ -76,6 +76,10 @@ Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "EDMIService.Tests", "EDMISe
EndProject EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Jobs", "..\DDModules\Jobs\Jobs.vbproj", "{39EC839A-3C30-4922-A41E-6B09D1DDE5C3}" Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Jobs", "..\DDModules\Jobs\Jobs.vbproj", "{39EC839A-3C30-4922-A41E-6B09D1DDE5C3}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Verknüpfte Projekte", "Verknüpfte Projekte", "{02EA681E-C7D8-13C7-8484-4AC65E1B71E8}"
EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Config", "..\DDModules\Config\Config.vbproj", "{7B7766E6-DC73-19CD-042F-6B95CE11A733}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU Debug|Any CPU = Debug|Any CPU
@@ -186,6 +190,10 @@ Global
{39EC839A-3C30-4922-A41E-6B09D1DDE5C3}.Debug|Any CPU.Build.0 = Debug|Any CPU {39EC839A-3C30-4922-A41E-6B09D1DDE5C3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{39EC839A-3C30-4922-A41E-6B09D1DDE5C3}.Release|Any CPU.ActiveCfg = Release|Any CPU {39EC839A-3C30-4922-A41E-6B09D1DDE5C3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{39EC839A-3C30-4922-A41E-6B09D1DDE5C3}.Release|Any CPU.Build.0 = Release|Any CPU {39EC839A-3C30-4922-A41E-6B09D1DDE5C3}.Release|Any CPU.Build.0 = Release|Any CPU
{7B7766E6-DC73-19CD-042F-6B95CE11A733}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7B7766E6-DC73-19CD-042F-6B95CE11A733}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7B7766E6-DC73-19CD-042F-6B95CE11A733}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7B7766E6-DC73-19CD-042F-6B95CE11A733}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
@@ -216,7 +224,8 @@ Global
{9D4AC920-C78E-41C3-994E-91690FF79380} = {8FFE925E-8B84-45F1-93CB-32B1C96F41EB} {9D4AC920-C78E-41C3-994E-91690FF79380} = {8FFE925E-8B84-45F1-93CB-32B1C96F41EB}
{5A7913CE-7D3D-4E84-B23D-4747C178CD71} = {CC368D6A-6AC4-4EB9-A092-14700FABEF7A} {5A7913CE-7D3D-4E84-B23D-4747C178CD71} = {CC368D6A-6AC4-4EB9-A092-14700FABEF7A}
{E3DA65CA-964D-4896-991A-B5426884E215} = {7AF3F9C2-C939-4A08-95C1-0453207E298A} {E3DA65CA-964D-4896-991A-B5426884E215} = {7AF3F9C2-C939-4A08-95C1-0453207E298A}
{39EC839A-3C30-4922-A41E-6B09D1DDE5C3} = {CC368D6A-6AC4-4EB9-A092-14700FABEF7A} {39EC839A-3C30-4922-A41E-6B09D1DDE5C3} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
{7B7766E6-DC73-19CD-042F-6B95CE11A733} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
EndGlobalSection EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {C1BE4090-A0FD-48AF-86CB-39099D14B286} SolutionGuid = {C1BE4090-A0FD-48AF-86CB-39099D14B286}

View File

@@ -132,68 +132,68 @@
<Reference Include="FirebirdSql.Data.FirebirdClient, Version=7.5.0.0, Culture=neutral, PublicKeyToken=3750abcc3150b00c, processorArchitecture=MSIL"> <Reference Include="FirebirdSql.Data.FirebirdClient, Version=7.5.0.0, Culture=neutral, PublicKeyToken=3750abcc3150b00c, processorArchitecture=MSIL">
<HintPath>..\packages\FirebirdSql.Data.FirebirdClient.7.5.0\lib\net452\FirebirdSql.Data.FirebirdClient.dll</HintPath> <HintPath>..\packages\FirebirdSql.Data.FirebirdClient.7.5.0\lib\net452\FirebirdSql.Data.FirebirdClient.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.dll</HintPath> <HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.barcode.1d.writer, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.barcode.1d.writer, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.barcode.1d.writer.dll</HintPath> <HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.barcode.1d.writer.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.barcode.2d.writer, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.barcode.2d.writer, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.barcode.2d.writer.dll</HintPath> <HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.barcode.2d.writer.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.CAD, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.CAD, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.CAD.dll</HintPath> <HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.CAD.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.CAD.DWG, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.CAD.DWG, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.CAD.DWG.dll</HintPath> <HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.CAD.DWG.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.Common, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.Common, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Common.dll</HintPath> <HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.Common.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.Document, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.Document, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Document.dll</HintPath> <HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.Document.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.Email, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.Email, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Email.dll</HintPath> <HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.Email.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.HTML, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.HTML, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.HTML.dll</HintPath> <HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.HTML.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.Imaging, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.Imaging, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.dll</HintPath> <HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.Imaging.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.Imaging.Formats, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.Imaging.Formats, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Formats.dll</HintPath> <HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.Imaging.Formats.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.Imaging.Formats.Conversion, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.Imaging.Formats.Conversion, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Formats.Conversion.dll</HintPath> <HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.Imaging.Formats.Conversion.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.Imaging.Rendering, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.Imaging.Rendering, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Rendering.dll</HintPath> <HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.Imaging.Rendering.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.MSOfficeBinary, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.MSOfficeBinary, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.MSOfficeBinary.dll</HintPath> <HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.MSOfficeBinary.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.OpenDocument, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.OpenDocument, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenDocument.dll</HintPath> <HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.OpenDocument.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.OpenXML, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.OpenXML, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenXML.dll</HintPath> <HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.OpenXML.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.OpenXML.Templating, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.OpenXML.Templating, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenXML.Templating.dll</HintPath> <HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.OpenXML.Templating.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.PDF, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.PDF, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.PDF.dll</HintPath> <HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.PDF.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.RTF, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.RTF, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.RTF.dll</HintPath> <HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.RTF.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.SVG, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.SVG, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.SVG.dll</HintPath> <HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.SVG.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.wia.gateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6973b5c22dcf45f7, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.wia.gateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6973b5c22dcf45f7, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.wia.gateway.dll</HintPath> <HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.wia.gateway.dll</HintPath>
<EmbedInteropTypes>True</EmbedInteropTypes> <EmbedInteropTypes>True</EmbedInteropTypes>
</Reference> </Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
@@ -209,6 +209,12 @@
<Reference Include="Microsoft.IdentityModel.Abstractions, Version=6.22.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <Reference Include="Microsoft.IdentityModel.Abstractions, Version=6.22.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.IdentityModel.Abstractions.6.22.0\lib\net461\Microsoft.IdentityModel.Abstractions.dll</HintPath> <HintPath>..\packages\Microsoft.IdentityModel.Abstractions.6.22.0\lib\net461\Microsoft.IdentityModel.Abstractions.dll</HintPath>
</Reference> </Reference>
<Reference Include="NativeSDK.Settings, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.19\lib\net462\NativeSDK.Settings.dll</HintPath>
</Reference>
<Reference Include="NativeSDK.Settings.Edition, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.19\lib\net462\NativeSDK.Settings.Edition.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> <Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath> <HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference> </Reference>
@@ -821,8 +827,8 @@
</PropertyGroup> </PropertyGroup>
<Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.props'))" /> <Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.props'))" />
<Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.targets'))" /> <Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.targets'))" />
<Error Condition="!Exists('..\packages\GdPicture.runtimes.windows.14.3.3\build\net462\GdPicture.runtimes.windows.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\GdPicture.runtimes.windows.14.3.3\build\net462\GdPicture.runtimes.windows.targets'))" /> <Error Condition="!Exists('..\packages\GdPicture.runtimes.windows.14.3.19\build\net462\GdPicture.runtimes.windows.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\GdPicture.runtimes.windows.14.3.19\build\net462\GdPicture.runtimes.windows.targets'))" />
</Target> </Target>
<Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.targets" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" /> <Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.targets" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" />
<Import Project="..\packages\GdPicture.runtimes.windows.14.3.3\build\net462\GdPicture.runtimes.windows.targets" Condition="Exists('..\packages\GdPicture.runtimes.windows.14.3.3\build\net462\GdPicture.runtimes.windows.targets')" /> <Import Project="..\packages\GdPicture.runtimes.windows.14.3.19\build\net462\GdPicture.runtimes.windows.targets" Condition="Exists('..\packages\GdPicture.runtimes.windows.14.3.19\build\net462\GdPicture.runtimes.windows.targets')" />
</Project> </Project>

View File

@@ -103,6 +103,18 @@
<assemblyIdentity name="protobuf-net" publicKeyToken="257b51d87d2e4d67" culture="neutral" /> <assemblyIdentity name="protobuf-net" publicKeyToken="257b51d87d2e4d67" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> <bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly> </dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="GdPicture.NET.14" publicKeyToken="f52a2e60ad468dbb" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-14.3.19.0" newVersion="14.3.19.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="GdPicture.NET.14.Common" publicKeyToken="f52a2e60ad468dbb" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-14.3.19.0" newVersion="14.3.19.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="GdPicture.NET.14.Imaging" publicKeyToken="f52a2e60ad468dbb" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-14.3.19.0" newVersion="14.3.19.0" />
</dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="System.Text.Encodings.Web" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <assemblyIdentity name="System.Text.Encodings.Web" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" /> <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />

View File

@@ -6,8 +6,8 @@
<package id="EntityFramework" version="6.4.4" targetFramework="net462" /> <package id="EntityFramework" version="6.4.4" targetFramework="net462" />
<package id="EntityFramework.Firebird" version="6.4.0" targetFramework="net462" /> <package id="EntityFramework.Firebird" version="6.4.0" targetFramework="net462" />
<package id="FirebirdSql.Data.FirebirdClient" version="7.5.0" targetFramework="net462" /> <package id="FirebirdSql.Data.FirebirdClient" version="7.5.0" targetFramework="net462" />
<package id="GdPicture" version="14.3.3" targetFramework="net462" /> <package id="GdPicture" version="14.3.19" targetFramework="net462" />
<package id="GdPicture.runtimes.windows" version="14.3.3" targetFramework="net462" /> <package id="GdPicture.runtimes.windows" version="14.3.19" targetFramework="net462" />
<package id="Microsoft.AspNet.WebApi.Client" version="6.0.0" targetFramework="net462" /> <package id="Microsoft.AspNet.WebApi.Client" version="6.0.0" targetFramework="net462" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="9.0.0" targetFramework="net462" /> <package id="Microsoft.Bcl.AsyncInterfaces" version="9.0.0" targetFramework="net462" />
<package id="Microsoft.Bcl.Cryptography" version="9.0.0" targetFramework="net462" /> <package id="Microsoft.Bcl.Cryptography" version="9.0.0" targetFramework="net462" />

View File

@@ -10,9 +10,9 @@ Imports System.Runtime.InteropServices
<Assembly: AssemblyTitle("TestGUI")> <Assembly: AssemblyTitle("TestGUI")>
<Assembly: AssemblyDescription("")> <Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("DD JJMS")> <Assembly: AssemblyCompany("")>
<Assembly: AssemblyProduct("TestGUI")> <Assembly: AssemblyProduct("TestGUI")>
<Assembly: AssemblyCopyright("Copyright © 2018")> <Assembly: AssemblyCopyright("")>
<Assembly: AssemblyTrademark("")> <Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(False)> <Assembly: ComVisible(False)>

View File

@@ -1 +1,2 @@
DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraSpreadsheet.SpreadsheetControl, DevExpress.XtraSpreadsheet.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@@ -78,8 +78,7 @@
<Reference Include="DevExpress.XtraRichEdit.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" /> <Reference Include="DevExpress.XtraRichEdit.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraSpreadsheet.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" /> <Reference Include="DevExpress.XtraSpreadsheet.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraTreeList.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" /> <Reference Include="DevExpress.XtraTreeList.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DigitalData.Controls.DocumentViewer, Version=1.9.4.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="DigitalData.Controls.DocumentViewer">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\Controls.DocumentViewer\bin\Debug\DigitalData.Controls.DocumentViewer.dll</HintPath> <HintPath>..\Controls.DocumentViewer\bin\Debug\DigitalData.Controls.DocumentViewer.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.GUIs.Common"> <Reference Include="DigitalData.GUIs.Common">

View File

@@ -22,18 +22,10 @@ Partial Class frmDocViewPure
'Das Bearbeiten mit dem Code-Editor ist nicht möglich. 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _ <System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent() Private Sub InitializeComponent()
Me.SpreadsheetControl1 = New DevExpress.XtraSpreadsheet.SpreadsheetControl()
Me.Button1 = New System.Windows.Forms.Button() Me.Button1 = New System.Windows.Forms.Button()
Me.DocumentViewer1 = New DigitalData.Controls.DocumentViewer.DocumentViewer()
Me.SuspendLayout() Me.SuspendLayout()
' '
'SpreadsheetControl1
'
Me.SpreadsheetControl1.Location = New System.Drawing.Point(349, 187)
Me.SpreadsheetControl1.Name = "SpreadsheetControl1"
Me.SpreadsheetControl1.Size = New System.Drawing.Size(400, 200)
Me.SpreadsheetControl1.TabIndex = 0
Me.SpreadsheetControl1.Text = "SpreadsheetControl1"
'
'Button1 'Button1
' '
Me.Button1.Location = New System.Drawing.Point(546, 25) Me.Button1.Location = New System.Drawing.Point(546, 25)
@@ -43,19 +35,26 @@ Partial Class frmDocViewPure
Me.Button1.Text = "unload" Me.Button1.Text = "unload"
Me.Button1.UseVisualStyleBackColor = True Me.Button1.UseVisualStyleBackColor = True
' '
'DocumentViewer1
'
Me.DocumentViewer1.FileLoaded = False
Me.DocumentViewer1.Location = New System.Drawing.Point(12, 54)
Me.DocumentViewer1.Name = "DocumentViewer1"
Me.DocumentViewer1.Size = New System.Drawing.Size(661, 386)
Me.DocumentViewer1.TabIndex = 2
'
'frmDocViewPure 'frmDocViewPure
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(800, 450) Me.ClientSize = New System.Drawing.Size(800, 450)
Me.Controls.Add(Me.DocumentViewer1)
Me.Controls.Add(Me.Button1) Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.SpreadsheetControl1)
Me.Name = "frmDocViewPure" Me.Name = "frmDocViewPure"
Me.Text = "frmDocViewPure" Me.Text = "frmDocViewPure"
Me.ResumeLayout(False) Me.ResumeLayout(False)
End Sub End Sub
Friend WithEvents SpreadsheetControl1 As DevExpress.XtraSpreadsheet.SpreadsheetControl
Friend WithEvents Button1 As Button Friend WithEvents Button1 As Button
Friend WithEvents DocumentViewer1 As DigitalData.Controls.DocumentViewer.DocumentViewer
End Class End Class

View File

@@ -2,7 +2,6 @@
Public Class frmDocViewPure Public Class frmDocViewPure
Private Sub frmDocViewPure_Load(sender As Object, e As EventArgs) Handles MyBase.Load Private Sub frmDocViewPure_Load(sender As Object, e As EventArgs) Handles MyBase.Load
SpreadsheetControl1.LoadDocument("E:\35MB.xlsx")
End Sub End Sub
@@ -10,7 +9,7 @@ Public Class frmDocViewPure
'SpreadsheetControl1.Document.Dispose() 'SpreadsheetControl1.Document.Dispose()
'SpreadsheetControl1.Dispose() 'SpreadsheetControl1.Dispose()
'SpreadsheetControl1 = Nothing 'SpreadsheetControl1 = Nothing
SpreadsheetControl1.CreateNewDocument() ' SpreadsheetControl1.CreateNewDocument()
GC.Collect() GC.Collect()
End Sub End Sub
End Class End Class

View File

@@ -23,10 +23,8 @@ Partial Class frmFilesystem
<System.Diagnostics.DebuggerStepThrough()> _ <System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent() Private Sub InitializeComponent()
Me.Button1 = New System.Windows.Forms.Button() Me.Button1 = New System.Windows.Forms.Button()
Me.Button2 = New System.Windows.Forms.Button() Me.btnStreamSimpleFile = New System.Windows.Forms.Button()
Me.GroupBox1 = New System.Windows.Forms.GroupBox() Me.GroupBox1 = New System.Windows.Forms.GroupBox()
Me.Button3 = New System.Windows.Forms.Button()
Me.TextBox1 = New System.Windows.Forms.TextBox()
Me.SaveFileDialog1 = New System.Windows.Forms.SaveFileDialog() Me.SaveFileDialog1 = New System.Windows.Forms.SaveFileDialog()
Me.txtServiceAddress = New DevExpress.XtraEditors.TextEdit() Me.txtServiceAddress = New DevExpress.XtraEditors.TextEdit()
Me.Label1 = New System.Windows.Forms.Label() Me.Label1 = New System.Windows.Forms.Label()
@@ -40,52 +38,35 @@ Partial Class frmFilesystem
' '
'Button1 'Button1
' '
Me.Button1.Location = New System.Drawing.Point(59, 343) Me.Button1.Location = New System.Drawing.Point(42, 234)
Me.Button1.Name = "Button1" Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(288, 23) Me.Button1.Size = New System.Drawing.Size(288, 23)
Me.Button1.TabIndex = 0 Me.Button1.TabIndex = 0
Me.Button1.Text = "CreateDateDirectory" Me.Button1.Text = "CreateDateDirectory"
Me.Button1.UseVisualStyleBackColor = True Me.Button1.UseVisualStyleBackColor = True
' '
'Button2 'btnStreamSimpleFile
' '
Me.Button2.Location = New System.Drawing.Point(6, 71) Me.btnStreamSimpleFile.Location = New System.Drawing.Point(6, 19)
Me.Button2.Name = "Button2" Me.btnStreamSimpleFile.Name = "btnStreamSimpleFile"
Me.Button2.Size = New System.Drawing.Size(288, 23) Me.btnStreamSimpleFile.Size = New System.Drawing.Size(288, 23)
Me.Button2.TabIndex = 1 Me.btnStreamSimpleFile.TabIndex = 1
Me.Button2.Text = "Stream simple file" Me.btnStreamSimpleFile.Text = "Stream simple file"
Me.Button2.UseVisualStyleBackColor = True Me.btnStreamSimpleFile.UseVisualStyleBackColor = True
' '
'GroupBox1 'GroupBox1
' '
Me.GroupBox1.Controls.Add(Me.Button3) Me.GroupBox1.Controls.Add(Me.btnStreamSimpleFile)
Me.GroupBox1.Controls.Add(Me.TextBox1)
Me.GroupBox1.Controls.Add(Me.Button2)
Me.GroupBox1.Location = New System.Drawing.Point(36, 153) Me.GroupBox1.Location = New System.Drawing.Point(36, 153)
Me.GroupBox1.Name = "GroupBox1" Me.GroupBox1.Name = "GroupBox1"
Me.GroupBox1.Size = New System.Drawing.Size(709, 157) Me.GroupBox1.Size = New System.Drawing.Size(709, 58)
Me.GroupBox1.TabIndex = 2 Me.GroupBox1.TabIndex = 2
Me.GroupBox1.TabStop = False Me.GroupBox1.TabStop = False
Me.GroupBox1.Text = "Stream simple file" Me.GroupBox1.Text = "Stream simple file"
' '
'Button3
'
Me.Button3.Location = New System.Drawing.Point(6, 19)
Me.Button3.Name = "Button3"
Me.Button3.Size = New System.Drawing.Size(181, 23)
Me.Button3.TabIndex = 3
Me.Button3.Text = "1. Choose file"
Me.Button3.UseVisualStyleBackColor = True
'
'TextBox1
'
Me.TextBox1.Location = New System.Drawing.Point(6, 45)
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(669, 20)
Me.TextBox1.TabIndex = 2
'
'txtServiceAddress 'txtServiceAddress
' '
Me.txtServiceAddress.EditValue = "172.24.12.12"
Me.txtServiceAddress.Location = New System.Drawing.Point(36, 37) Me.txtServiceAddress.Location = New System.Drawing.Point(36, 37)
Me.txtServiceAddress.Name = "txtServiceAddress" Me.txtServiceAddress.Name = "txtServiceAddress"
Me.txtServiceAddress.Size = New System.Drawing.Size(485, 20) Me.txtServiceAddress.Size = New System.Drawing.Size(485, 20)
@@ -96,9 +77,9 @@ Partial Class frmFilesystem
Me.Label1.AutoSize = True Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(33, 21) Me.Label1.Location = New System.Drawing.Point(33, 21)
Me.Label1.Name = "Label1" Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(81, 13) Me.Label1.Size = New System.Drawing.Size(136, 13)
Me.Label1.TabIndex = 6 Me.Label1.TabIndex = 6
Me.Label1.Text = "ServiceAdresse" Me.Label1.Text = "EDMI Service Adresse: (IP)"
' '
'txtServicePort 'txtServicePort
' '
@@ -114,7 +95,7 @@ Partial Class frmFilesystem
' '
Me.Button4.Location = New System.Drawing.Point(36, 89) Me.Button4.Location = New System.Drawing.Point(36, 89)
Me.Button4.Name = "Button4" Me.Button4.Name = "Button4"
Me.Button4.Size = New System.Drawing.Size(75, 23) Me.Button4.Size = New System.Drawing.Size(85, 23)
Me.Button4.TabIndex = 8 Me.Button4.TabIndex = 8
Me.Button4.Text = "Connect" Me.Button4.Text = "Connect"
Me.Button4.UseVisualStyleBackColor = True Me.Button4.UseVisualStyleBackColor = True
@@ -123,7 +104,7 @@ Partial Class frmFilesystem
' '
Me.txtStatus.Location = New System.Drawing.Point(527, 37) Me.txtStatus.Location = New System.Drawing.Point(527, 37)
Me.txtStatus.Name = "txtStatus" Me.txtStatus.Name = "txtStatus"
Me.txtStatus.Size = New System.Drawing.Size(100, 20) Me.txtStatus.Size = New System.Drawing.Size(184, 20)
Me.txtStatus.TabIndex = 9 Me.txtStatus.TabIndex = 9
' '
'frmFilesystem 'frmFilesystem
@@ -141,7 +122,6 @@ Partial Class frmFilesystem
Me.Name = "frmFilesystem" Me.Name = "frmFilesystem"
Me.Text = "frmFilesystem" Me.Text = "frmFilesystem"
Me.GroupBox1.ResumeLayout(False) Me.GroupBox1.ResumeLayout(False)
Me.GroupBox1.PerformLayout()
CType(Me.txtServiceAddress.Properties, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.txtServiceAddress.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.txtServicePort.Properties, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.txtServicePort.Properties, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False) Me.ResumeLayout(False)
@@ -150,10 +130,8 @@ Partial Class frmFilesystem
End Sub End Sub
Friend WithEvents Button1 As Button Friend WithEvents Button1 As Button
Friend WithEvents Button2 As Button Friend WithEvents btnStreamSimpleFile As Button
Friend WithEvents GroupBox1 As GroupBox Friend WithEvents GroupBox1 As GroupBox
Friend WithEvents Button3 As Button
Friend WithEvents TextBox1 As TextBox
Friend WithEvents SaveFileDialog1 As SaveFileDialog Friend WithEvents SaveFileDialog1 As SaveFileDialog
Friend WithEvents txtServiceAddress As DevExpress.XtraEditors.TextEdit Friend WithEvents txtServiceAddress As DevExpress.XtraEditors.TextEdit
Friend WithEvents Label1 As Label Friend WithEvents Label1 As Label

View File

@@ -6,12 +6,15 @@ Imports DigitalData.GUIs.Common
Imports DigitalData.Modules.Base.IDB.Constants Imports DigitalData.Modules.Base.IDB.Constants
Imports DigitalData.Modules.Database Imports DigitalData.Modules.Database
Imports DigitalData.Modules.EDMI.API Imports DigitalData.Modules.EDMI.API
Imports DigitalData.Modules.EDMI.API.EDMIServiceReference
Imports DigitalData.Modules.Logging Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.ZooFlow.State Imports DigitalData.Modules.ZooFlow.State
Imports DigitalData.Services.EDMIService
Imports DigitalData.Services.EDMIService.GlobalState
Imports DigitalData.Services.EDMIService.Methods.GlobalIndexer.ImportFile
Imports DigitalData.Services.EDMIService.Methods.IDB
Public Class frmFilesystem Public Class frmFilesystem
Private Client As Client Private EDMIClient As Client
Private Logger As Logger Private Logger As Logger
Private Const STATUS_CONNECTED = "Connection Established" Private Const STATUS_CONNECTED = "Connection Established"
@@ -24,56 +27,93 @@ Public Class frmFilesystem
Public Property ServiceOnline As Boolean = False Public Property ServiceOnline As Boolean = False
Private LogConfig As LogConfig Private LogConfig As LogConfig
Private MYDD_Filesystem As DigitalData.Modules.Filesystem.File Private MYDD_Filesystem As DigitalData.Modules.Filesystem.File
Private _globalState As GlobalState
Private ShortName As String = "E:\some_test_file.txt" Private ShortName As String = "E:\some_test_file.txt"
Private LongName As String = "E:\some_test_file_with_some_more_data_and_with_some_more_data_and_with_some_more_data_and_with_some_more_data_and_with_some_more_data_and_with_some_more_data_and_with_some_more_data_and_with_some_more_data_and_with_some_more_data_and_with_some_more.txt" Private LongName As String = "E:\some_test_file_with_some_more_data_and_with_some_more_data_and_with_some_more_data_and_with_some_more_data_and_with_some_more_data_and_with_some_more_data_and_with_some_more_data_and_with_some_more_data_and_with_some_more_data_and_with_some_more_data_and_with_some_more_data_and_with_some_more.txt"
Private Sub frmFilesystem_Load(sender As Object, e As EventArgs) Handles MyBase.Load Private Sub frmFilesystem_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try Try
LogConfig = New LogConfig(LogConfig.PathType.Temp) LogConfig = New LogConfig(LogConfig.PathType.Temp)
Logger = LogConfig.GetLogger() Logger = LogConfig.GetLogger()
MYDD_Filesystem = New DigitalData.Modules.Filesystem.File(LogConfig) MYDD_Filesystem = New DigitalData.Modules.Filesystem.File(LogConfig)
Catch
'Using oWriter = IO.File.CreateText("E:\some_test_file.txt")
' oWriter.WriteLine("bla bla bla")
'End Using
'IO.File.Copy(ShortName, LongName)
'Dim oVersion1 = Filesystem.GetVersionedFilename(LongName)
'IO.File.Copy(ShortName, oVersion1)
'Dim oVersion2 = Filesystem.GetVersionedFilename(LongName)
'IO.File.Copy(ShortName, oVersion2)
Catch ex As Exception
Finally
'IO.File.Delete(ShortName)
'IO.File.Delete(LongName)
End Try End Try
End Sub End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim oDateString = MYDD_Filesystem.CreateDateDirectory("E:\") Dim oDateString = MYDD_Filesystem.CreateDateDirectory("E:\")
End Sub End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click Private Sub Button3_Click(sender As Object, e As EventArgs)
If SaveFileDialog1.ShowDialog = DialogResult.OK Then If SaveFileDialog1.ShowDialog = DialogResult.OK Then
' Fallback: einfache Textdatei schreiben
System.IO.File.WriteAllText(SaveFileDialog1.FileName, "Some text data") System.IO.File.WriteAllText(SaveFileDialog1.FileName, "Some text data")
End If End If
End Sub End Sub
Private Async Function Button2_ClickAsync(sender As Object, e As EventArgs) As Task Handles Button2.Click Public Class SecureStorageHandler
' Import a file via EDMI Globix ImportFile API to test Service.EDMIService ImportFileMethod End Class
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
Try Try
If Client Is Nothing OrElse ServiceOnline = False Then Dim oIPAddress = txtServiceAddress.Text
Dim oPort = Integer.Parse(txtServicePort.Text)
EDMIClient = New Client(LogConfig, oIPAddress, oPort)
txtStatus.Text = STATUS_CONNECTING
Dim oResult = EDMIClient.Connect()
If oResult Then
ServiceAddress = $"{oIPAddress}:{oPort}"
ServiceOnline = True
txtStatus.Text = STATUS_CONNECTED
txtStatus.BackColor = Color.LightGreen
My.Application.Service.Client = EDMIClient
Logger.Debug("Loading client config..")
Dim oClientConfig = My.Application.Service.Client.ClientConfig
Logger.Debug("Establishing ECM connection..")
Dim oECMConnectionString = oClientConfig.ConnectionStringECM
My.DatabaseECM = New MSSQLServer(LogConfig, oECMConnectionString)
Logger.Debug("Establishing IDB connection..")
Dim oIDBConnectionString = oClientConfig.ConnectionStringIDB
My.DatabaseIDB = New MSSQLServer(LogConfig, oIDBConnectionString)
Logger.Debug("Establishing Database connection with fallback..")
My.Database = New DatabaseWithFallback(LogConfig, My.Application.Service.Client, My.DatabaseECM, My.DatabaseIDB)
InitializeGlobalState()
Else
ServiceAddress = ""
ServiceOnline = True
txtStatus.Text = STATUS_FAILED
txtStatus.BackColor = Color.LightCoral
_globalState = Nothing
End If
Catch ex As Exception
_globalState = Nothing
If Logger IsNot Nothing Then Logger.Error(ex)
MsgBox("Fehler beim Verbindungsaufbau", MsgBoxStyle.Critical, Text)
End Try
End Sub
Private Sub btnStreamSimpleFile_ClickAsync(sender As Object, e As EventArgs) Handles btnStreamSimpleFile.Click
Try
If EDMIClient Is Nothing OrElse ServiceOnline = False Then
MsgBox("Bitte zuerst Verbindung zum EDMI Service herstellen.", MsgBoxStyle.Exclamation, Text) MsgBox("Bitte zuerst Verbindung zum EDMI Service herstellen.", MsgBoxStyle.Exclamation, Text)
Return Return
End If End If
If My.DatabaseIDB Is Nothing OrElse My.DatabaseECM Is Nothing Then
MsgBox("Bitte zuerst die Datenbankverbindungen herstellen.", MsgBoxStyle.Exclamation, Text)
Return
End If
If _globalState Is Nothing Then
MsgBox("GlobalState konnte nicht initialisiert werden.", MsgBoxStyle.Exclamation, Text)
Return
End If
Using ofd As New OpenFileDialog() Using ofd As New OpenFileDialog()
ofd.Title = "Datei für Import wählen" ofd.Title = "Datei für Import wählen"
ofd.Filter = "Alle Dateien (*.*)|*.*" ofd.Filter = "Alle Dateien (*.*)|*.*"
@@ -85,19 +125,17 @@ Public Class frmFilesystem
Dim fi As New FileInfo(oFilePath) Dim fi As New FileInfo(oFilePath)
Dim fileBytes As Byte() = IO.File.ReadAllBytes(oFilePath) Dim fileBytes As Byte() = IO.File.ReadAllBytes(oFilePath)
' Basic user context for testing Dim oUser As New UserState With {
Dim user As New DigitalData.Modules.ZooFlow.State.UserState() With {
.UserName = Environment.UserName, .UserName = Environment.UserName,
.Language = "de-DE", .Language = "de-DE",
.LanguageId = 1031 .LanguageId = 1031
} }
Dim oObjectStore As String = "SelectedDocType.ObjectStore" Dim oObjectStore As String = "WORK"
Dim oIDBDoctypeId As Long = 1 Dim oIDBDoctypeId As Long = 1
Dim oObjectKind As String = "DOC" Dim oObjectKind As String = "DOC"
Dim oProfileId As Integer = 1 Dim oProfileId As Integer = 1
Dim oAttributes As List(Of UserAttributeValue) = Nothing Dim oAttributes As New List(Of UserAttributeValue)
Dim oOptions As New Options.ImportFileOptions
Logger.Debug("FilePath: [{0}]", oFilePath) Logger.Debug("FilePath: [{0}]", oFilePath)
Logger.Debug("ObjectStore: [{0}]", oObjectStore) Logger.Debug("ObjectStore: [{0}]", oObjectStore)
@@ -105,89 +143,71 @@ Public Class frmFilesystem
Logger.Debug("ProfileId: [{0}]", oProfileId) Logger.Debug("ProfileId: [{0}]", oProfileId)
Logger.Debug("IDB DoctypeId: [{0}]", oIDBDoctypeId) Logger.Debug("IDB DoctypeId: [{0}]", oIDBDoctypeId)
Logger.Info("Running Import") Dim oChecksum As String
Using oSha256 As SHA256 = SHA256.Create()
oChecksum = BitConverter.ToString(oSha256.ComputeHash(fileBytes)).Replace("-", String.Empty)
End Using
Dim oResult = Await My.Application.Service.Client.Globix_ImportFileAsync( Dim oFileProperties As New FileProperties With {
oFilePath, oProfileId, oAttributes, oObjectStore, oObjectKind, oIDBDoctypeId, oOptions) .FileName = fi.FullName,
.FileCreatedAt = fi.CreationTimeUtc.ToString("O"),
.FileChangedAt = fi.LastWriteTimeUtc.ToString("O"),
.FileImportedAt = DateTime.UtcNow,
.FileContents = fileBytes,
.FileChecksum = oChecksum,
.FileInfoRaw = fi
}
Logger.Info("Import result: [{0}]", oResult.OK) Dim oRequest As New Globix_ImportFileRequest With {
Logger.Info("Imported file got ObjectId [{0}]", oResult.ObjectId) .File = oFileProperties,
.ProfileId = oProfileId,
.IDBDoctypeId = oIDBDoctypeId,
.KindType = oObjectKind,
.StoreName = oObjectStore,
.AttributeValues = oAttributes,
.User = oUser
}
If oResult.OK Then Dim oImportMethod = New ImportFileMethod(LogConfig, My.DatabaseIDB, My.DatabaseECM, _globalState)
MsgBox("Alles OK") Dim oResponse = oImportMethod.Run(oRequest)
If oResponse IsNot Nothing AndAlso oResponse.ObjectId > 0 Then
Logger.Info("Import erfolgreich abgeschlossen. ObjectId [{0}]", oResponse.ObjectId)
MsgBox($"Import erfolgreich. ObjectId: {oResponse.ObjectId}", MsgBoxStyle.Information, Text)
Else Else
Logger.Warn("Import failed with message: [{0}] and details [{1}]", oResult.ErrorMessage, oResult.ErrorDetails) Logger.Warn("ImportFile lieferte kein erfolgreiches Ergebnis.")
Dim oMsg As String, oTitle As String MsgBox("Import konnte nicht durchgeführt werden.", MsgBoxStyle.Exclamation, Text)
If My.Application.User.Language = "de-DE" Then
oMsg = $"Die Datei wurde nicht verarbeitet.{vbNewLine}{vbNewLine}Fehler: {oResult.ErrorMessage}"
oTitle = "Achtung"
Else
oMsg = $"Unexpected Error in FileFlow{vbNewLine}{vbNewLine}Fehler: {oResult.ErrorMessage}"
oTitle = "Attention"
End If
MsgBox("Fehler")
End If End If
End Using End Using
Catch ex As Exception Catch ex As Exception
If Logger IsNot Nothing Then Logger.Error(ex) If Logger IsNot Nothing Then Logger.Error(ex)
MsgBox("Fehler beim Datei-Import.", MsgBoxStyle.Critical, Text) MsgBox("Fehler beim Datei-Import.", MsgBoxStyle.Critical, Text)
End Try End Try
End Function End Sub
Private Sub InitializeGlobalState()
Public Class SecureStorageHandler
End Class
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
Try Try
Dim oIPAddress = txtServiceAddress.Text _globalState = New GlobalState(LogConfig, My.DatabaseIDB, My.DatabaseECM)
Dim oPort = Integer.Parse(txtServicePort.Text) _globalState.LoadObjectStores()
_globalState.LoadConnections()
_globalState.LoadDoctypes()
Client = New Client(LogConfig, oIPAddress, oPort) Dim oConfig As New Config With {
.ClientConfig = New Config.ClientConfiguration With {
.ForceDirectDatabaseAccess = True
}
}
txtStatus.Text = STATUS_CONNECTING _globalState.LoadClientConfig(oConfig)
Dim oResult = Client.Connect()
If oResult = True Then Logger.Info("GlobalState init: ObjectStores [{0}], Connections [{1}], Doctypes [{2}]",
ServiceAddress = $"{oIPAddress}:{oPort}" _globalState.ObjectStores.Count,
ServiceOnline = True _globalState.Connections.Count,
txtStatus.Text = STATUS_CONNECTED _globalState.Doctypes.Count)
My.Application.Service.Client = Client
Logger.Debug("Loading client config..")
Dim oClientConfig = My.Application.Service.Client.ClientConfig
Logger.Debug("Establishing ECM connection..")
Dim oECMConnectionString = oClientConfig.ConnectionStringECM
My.DatabaseECM = New MSSQLServer(My.LogConfig, oECMConnectionString)
Logger.Debug("Establishing IDB connection..")
Dim oIDBConnectionString = oClientConfig.ConnectionStringIDB
My.DatabaseIDB = New MSSQLServer(My.LogConfig, oIDBConnectionString)
Logger.Debug("Establishing Database connection with fallback..")
My.Database = New DatabaseWithFallback(LogConfig, My.Application.Service.Client, My.DatabaseECM, My.DatabaseIDB)
Else
ServiceAddress = ""
ServiceOnline = True
txtStatus.Text = STATUS_FAILED
' TODO: Make a connection test that is as elaborate as this one :D
'Select Case oResult
' Case ClassService.ConnectionTestResult.NotFound
' lblStatus.Text = "Dienst konnte nicht gefunden werden. Bitte überprüfen sie Addresse und Port."
' Case ClassService.ConnectionTestResult.EmptyURI
' lblStatus.Text = "Bitte tragen Sie eine gültige Dienst Adresse ein."
' Case ClassService.ConnectionTestResult.Authentication
' lblStatus.Text = "Authentifizierungsfehler. Prüfen Sie, ob sich Ihr Gerät in der korrekten Domäne befindet."
' Case Else
' lblStatus.Text = "Unbekannter Fehler."
'End Select
End If
Catch ex As Exception Catch ex As Exception
If Logger IsNot Nothing Then Logger.Error(ex) _globalState = Nothing
MsgBox("Fehler beim Verbindungsaufbau", MsgBoxStyle.Critical, Text) Logger.Error(ex)
MsgBox("GlobalState konnte nicht initialisiert werden.", MsgBoxStyle.Exclamation, Text)
End Try End Try
End Sub End Sub
End Class End Class

View File

@@ -161,7 +161,15 @@
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="System.Text.Json" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <assemblyIdentity name="System.Text.Json" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.5" newVersion="8.0.0.5" /> <bindingRedirect oldVersion="0.0.0.0-8.0.0.6" newVersion="8.0.0.6" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="GdPicture.NET.14" publicKeyToken="f52a2e60ad468dbb" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-14.3.19.0" newVersion="14.3.19.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="GdPicture.NET.14.Common" publicKeyToken="f52a2e60ad468dbb" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-14.3.19.0" newVersion="14.3.19.0" />
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="GdPicture.NET.14" publicKeyToken="f52a2e60ad468dbb" culture="neutral" /> <assemblyIdentity name="GdPicture.NET.14" publicKeyToken="f52a2e60ad468dbb" culture="neutral" />

View File

@@ -24,6 +24,7 @@ Partial Class Form1
'Das Bearbeiten mit dem Code-Editor ist nicht möglich. 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> <System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent() Private Sub InitializeComponent()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Form1))
OpenFileDialog1 = New OpenFileDialog() OpenFileDialog1 = New OpenFileDialog()
btRunJob = New Button() btRunJob = New Button()
ListBox1 = New ListBox() ListBox1 = New ListBox()
@@ -58,10 +59,10 @@ Partial Class Form1
' '
' btRunJob ' btRunJob
' '
btRunJob.Location = New System.Drawing.Point(8, 29) btRunJob.Location = New System.Drawing.Point(7, 22)
btRunJob.Margin = New Padding(4, 5, 4, 5) btRunJob.Margin = New Padding(4, 4, 4, 4)
btRunJob.Name = "btRunJob" btRunJob.Name = "btRunJob"
btRunJob.Size = New System.Drawing.Size(295, 35) btRunJob.Size = New System.Drawing.Size(258, 26)
btRunJob.TabIndex = 0 btRunJob.TabIndex = 0
btRunJob.Text = "Run Job" btRunJob.Text = "Run Job"
btRunJob.UseVisualStyleBackColor = True btRunJob.UseVisualStyleBackColor = True
@@ -70,38 +71,39 @@ Partial Class Form1
' '
ListBox1.Anchor = AnchorStyles.Top Or AnchorStyles.Bottom Or AnchorStyles.Left Or AnchorStyles.Right ListBox1.Anchor = AnchorStyles.Top Or AnchorStyles.Bottom Or AnchorStyles.Left Or AnchorStyles.Right
ListBox1.FormattingEnabled = True ListBox1.FormattingEnabled = True
ListBox1.Location = New System.Drawing.Point(504, 12) ListBox1.ItemHeight = 15
ListBox1.Margin = New Padding(4, 5, 4, 5) ListBox1.Location = New System.Drawing.Point(441, 9)
ListBox1.Margin = New Padding(4, 4, 4, 4)
ListBox1.Name = "ListBox1" ListBox1.Name = "ListBox1"
ListBox1.Size = New System.Drawing.Size(362, 664) ListBox1.Size = New System.Drawing.Size(317, 499)
ListBox1.TabIndex = 1 ListBox1.TabIndex = 1
' '
' btValidateSerializePDF ' btValidateSerializePDF
' '
btValidateSerializePDF.Location = New System.Drawing.Point(8, 29) btValidateSerializePDF.Location = New System.Drawing.Point(7, 22)
btValidateSerializePDF.Margin = New Padding(4, 5, 4, 5) btValidateSerializePDF.Margin = New Padding(4, 4, 4, 4)
btValidateSerializePDF.Name = "btValidateSerializePDF" btValidateSerializePDF.Name = "btValidateSerializePDF"
btValidateSerializePDF.Size = New System.Drawing.Size(328, 35) btValidateSerializePDF.Size = New System.Drawing.Size(287, 26)
btValidateSerializePDF.TabIndex = 2 btValidateSerializePDF.TabIndex = 2
btValidateSerializePDF.Text = "Validate and Serialize PDF" btValidateSerializePDF.Text = "Validate and Serialize PDF"
btValidateSerializePDF.UseVisualStyleBackColor = True btValidateSerializePDF.UseVisualStyleBackColor = True
' '
' btValidateSerializeParseProps ' btValidateSerializeParseProps
' '
btValidateSerializeParseProps.Location = New System.Drawing.Point(8, 74) btValidateSerializeParseProps.Location = New System.Drawing.Point(7, 56)
btValidateSerializeParseProps.Margin = New Padding(4, 5, 4, 5) btValidateSerializeParseProps.Margin = New Padding(4, 4, 4, 4)
btValidateSerializeParseProps.Name = "btValidateSerializeParseProps" btValidateSerializeParseProps.Name = "btValidateSerializeParseProps"
btValidateSerializeParseProps.Size = New System.Drawing.Size(328, 35) btValidateSerializeParseProps.Size = New System.Drawing.Size(287, 26)
btValidateSerializeParseProps.TabIndex = 3 btValidateSerializeParseProps.TabIndex = 3
btValidateSerializeParseProps.Text = "Validate and Serialize PDF and Parse Props" btValidateSerializeParseProps.Text = "Validate and Serialize PDF and Parse Props"
btValidateSerializeParseProps.UseVisualStyleBackColor = True btValidateSerializeParseProps.UseVisualStyleBackColor = True
' '
' btCreateMD5Checksum ' btCreateMD5Checksum
' '
btCreateMD5Checksum.Location = New System.Drawing.Point(8, 29) btCreateMD5Checksum.Location = New System.Drawing.Point(7, 22)
btCreateMD5Checksum.Margin = New Padding(4, 5, 4, 5) btCreateMD5Checksum.Margin = New Padding(4, 4, 4, 4)
btCreateMD5Checksum.Name = "btCreateMD5Checksum" btCreateMD5Checksum.Name = "btCreateMD5Checksum"
btCreateMD5Checksum.Size = New System.Drawing.Size(295, 35) btCreateMD5Checksum.Size = New System.Drawing.Size(258, 26)
btCreateMD5Checksum.TabIndex = 4 btCreateMD5Checksum.TabIndex = 4
btCreateMD5Checksum.Text = "Create MD5 Checksum for PDF" btCreateMD5Checksum.Text = "Create MD5 Checksum for PDF"
btCreateMD5Checksum.UseVisualStyleBackColor = True btCreateMD5Checksum.UseVisualStyleBackColor = True
@@ -110,21 +112,21 @@ Partial Class Form1
' '
GroupBox1.Controls.Add(ButtonValidateXMLOnly) GroupBox1.Controls.Add(ButtonValidateXMLOnly)
GroupBox1.Controls.Add(btRunJob) GroupBox1.Controls.Add(btRunJob)
GroupBox1.Location = New System.Drawing.Point(16, 18) GroupBox1.Location = New System.Drawing.Point(14, 14)
GroupBox1.Margin = New Padding(4, 5, 4, 5) GroupBox1.Margin = New Padding(4, 4, 4, 4)
GroupBox1.Name = "GroupBox1" GroupBox1.Name = "GroupBox1"
GroupBox1.Padding = New Padding(4, 5, 4, 5) GroupBox1.Padding = New Padding(4, 4, 4, 4)
GroupBox1.Size = New System.Drawing.Size(319, 116) GroupBox1.Size = New System.Drawing.Size(279, 87)
GroupBox1.TabIndex = 7 GroupBox1.TabIndex = 7
GroupBox1.TabStop = False GroupBox1.TabStop = False
GroupBox1.Text = "Run Job like in eInvoice Service" GroupBox1.Text = "Run Job like in eInvoice Service"
' '
' ButtonValidateXMLOnly ' ButtonValidateXMLOnly
' '
ButtonValidateXMLOnly.Location = New System.Drawing.Point(8, 74) ButtonValidateXMLOnly.Location = New System.Drawing.Point(7, 56)
ButtonValidateXMLOnly.Margin = New Padding(4, 5, 4, 5) ButtonValidateXMLOnly.Margin = New Padding(4, 4, 4, 4)
ButtonValidateXMLOnly.Name = "ButtonValidateXMLOnly" ButtonValidateXMLOnly.Name = "ButtonValidateXMLOnly"
ButtonValidateXMLOnly.Size = New System.Drawing.Size(295, 35) ButtonValidateXMLOnly.Size = New System.Drawing.Size(258, 26)
ButtonValidateXMLOnly.TabIndex = 4 ButtonValidateXMLOnly.TabIndex = 4
ButtonValidateXMLOnly.Text = "Run XML Job (spez. Configuration)" ButtonValidateXMLOnly.Text = "Run XML Job (spez. Configuration)"
ButtonValidateXMLOnly.UseVisualStyleBackColor = True ButtonValidateXMLOnly.UseVisualStyleBackColor = True
@@ -134,21 +136,21 @@ Partial Class Form1
GroupBox2.Controls.Add(btValidateSerializePDF) GroupBox2.Controls.Add(btValidateSerializePDF)
GroupBox2.Controls.Add(btExtractPDFAttachments) GroupBox2.Controls.Add(btExtractPDFAttachments)
GroupBox2.Controls.Add(btValidateSerializeParseProps) GroupBox2.Controls.Add(btValidateSerializeParseProps)
GroupBox2.Location = New System.Drawing.Point(16, 144) GroupBox2.Location = New System.Drawing.Point(14, 108)
GroupBox2.Margin = New Padding(4, 5, 4, 5) GroupBox2.Margin = New Padding(4, 4, 4, 4)
GroupBox2.Name = "GroupBox2" GroupBox2.Name = "GroupBox2"
GroupBox2.Padding = New Padding(4, 5, 4, 5) GroupBox2.Padding = New Padding(4, 4, 4, 4)
GroupBox2.Size = New System.Drawing.Size(480, 167) GroupBox2.Size = New System.Drawing.Size(420, 125)
GroupBox2.TabIndex = 8 GroupBox2.TabIndex = 8
GroupBox2.TabStop = False GroupBox2.TabStop = False
GroupBox2.Text = "Run Functions on a single file (needs Breakpoint)" GroupBox2.Text = "Run Functions on a single file (needs Breakpoint)"
' '
' btExtractPDFAttachments ' btExtractPDFAttachments
' '
btExtractPDFAttachments.Location = New System.Drawing.Point(8, 118) btExtractPDFAttachments.Location = New System.Drawing.Point(7, 88)
btExtractPDFAttachments.Margin = New Padding(4, 5, 4, 5) btExtractPDFAttachments.Margin = New Padding(4, 4, 4, 4)
btExtractPDFAttachments.Name = "btExtractPDFAttachments" btExtractPDFAttachments.Name = "btExtractPDFAttachments"
btExtractPDFAttachments.Size = New System.Drawing.Size(328, 35) btExtractPDFAttachments.Size = New System.Drawing.Size(287, 26)
btExtractPDFAttachments.TabIndex = 3 btExtractPDFAttachments.TabIndex = 3
btExtractPDFAttachments.Text = "Extract PDF Attachments" btExtractPDFAttachments.Text = "Extract PDF Attachments"
btExtractPDFAttachments.UseVisualStyleBackColor = True btExtractPDFAttachments.UseVisualStyleBackColor = True
@@ -157,50 +159,50 @@ Partial Class Form1
' '
GroupBox3.Controls.Add(btCreateMD5Checksum) GroupBox3.Controls.Add(btCreateMD5Checksum)
GroupBox3.Controls.Add(txtMD5Checksum) GroupBox3.Controls.Add(txtMD5Checksum)
GroupBox3.Location = New System.Drawing.Point(16, 321) GroupBox3.Location = New System.Drawing.Point(14, 241)
GroupBox3.Margin = New Padding(4, 5, 4, 5) GroupBox3.Margin = New Padding(4, 4, 4, 4)
GroupBox3.Name = "GroupBox3" GroupBox3.Name = "GroupBox3"
GroupBox3.Padding = New Padding(4, 5, 4, 5) GroupBox3.Padding = New Padding(4, 4, 4, 4)
GroupBox3.Size = New System.Drawing.Size(480, 131) GroupBox3.Size = New System.Drawing.Size(420, 98)
GroupBox3.TabIndex = 9 GroupBox3.TabIndex = 9
GroupBox3.TabStop = False GroupBox3.TabStop = False
GroupBox3.Text = "Open PDF and calculate Checksum" GroupBox3.Text = "Open PDF and calculate Checksum"
' '
' txtMD5Checksum ' txtMD5Checksum
' '
txtMD5Checksum.Location = New System.Drawing.Point(8, 75) txtMD5Checksum.Location = New System.Drawing.Point(7, 56)
txtMD5Checksum.Margin = New Padding(4, 5, 4, 5) txtMD5Checksum.Margin = New Padding(4, 4, 4, 4)
txtMD5Checksum.Name = "txtMD5Checksum" txtMD5Checksum.Name = "txtMD5Checksum"
txtMD5Checksum.Size = New System.Drawing.Size(463, 27) txtMD5Checksum.Size = New System.Drawing.Size(406, 23)
txtMD5Checksum.TabIndex = 5 txtMD5Checksum.TabIndex = 5
' '
' txtPropName ' txtPropName
' '
txtPropName.Location = New System.Drawing.Point(8, 74) txtPropName.Location = New System.Drawing.Point(7, 56)
txtPropName.Margin = New Padding(4, 5, 4, 5) txtPropName.Margin = New Padding(4, 4, 4, 4)
txtPropName.Name = "txtPropName" txtPropName.Name = "txtPropName"
txtPropName.Size = New System.Drawing.Size(463, 27) txtPropName.Size = New System.Drawing.Size(406, 23)
txtPropName.TabIndex = 10 txtPropName.TabIndex = 10
' '
' GroupBox4 ' GroupBox4
' '
GroupBox4.Controls.Add(btFindExtractXMLValue) GroupBox4.Controls.Add(btFindExtractXMLValue)
GroupBox4.Controls.Add(txtPropName) GroupBox4.Controls.Add(txtPropName)
GroupBox4.Location = New System.Drawing.Point(16, 462) GroupBox4.Location = New System.Drawing.Point(14, 346)
GroupBox4.Margin = New Padding(4, 5, 4, 5) GroupBox4.Margin = New Padding(4, 4, 4, 4)
GroupBox4.Name = "GroupBox4" GroupBox4.Name = "GroupBox4"
GroupBox4.Padding = New Padding(4, 5, 4, 5) GroupBox4.Padding = New Padding(4, 4, 4, 4)
GroupBox4.Size = New System.Drawing.Size(480, 117) GroupBox4.Size = New System.Drawing.Size(420, 88)
GroupBox4.TabIndex = 11 GroupBox4.TabIndex = 11
GroupBox4.TabStop = False GroupBox4.TabStop = False
GroupBox4.Text = "GroupBox4" GroupBox4.Text = "GroupBox4"
' '
' btFindExtractXMLValue ' btFindExtractXMLValue
' '
btFindExtractXMLValue.Location = New System.Drawing.Point(8, 29) btFindExtractXMLValue.Location = New System.Drawing.Point(7, 22)
btFindExtractXMLValue.Margin = New Padding(4, 5, 4, 5) btFindExtractXMLValue.Margin = New Padding(4, 4, 4, 4)
btFindExtractXMLValue.Name = "btFindExtractXMLValue" btFindExtractXMLValue.Name = "btFindExtractXMLValue"
btFindExtractXMLValue.Size = New System.Drawing.Size(295, 35) btFindExtractXMLValue.Size = New System.Drawing.Size(258, 26)
btFindExtractXMLValue.TabIndex = 11 btFindExtractXMLValue.TabIndex = 11
btFindExtractXMLValue.Text = "Find and Extract XML Path Value" btFindExtractXMLValue.Text = "Find and Extract XML Path Value"
btFindExtractXMLValue.UseVisualStyleBackColor = True btFindExtractXMLValue.UseVisualStyleBackColor = True
@@ -208,21 +210,21 @@ Partial Class Form1
' GroupBox5 ' GroupBox5
' '
GroupBox5.Controls.Add(btWriteBinary) GroupBox5.Controls.Add(btWriteBinary)
GroupBox5.Location = New System.Drawing.Point(13, 589) GroupBox5.Location = New System.Drawing.Point(11, 442)
GroupBox5.Margin = New Padding(4, 5, 4, 5) GroupBox5.Margin = New Padding(4, 4, 4, 4)
GroupBox5.Name = "GroupBox5" GroupBox5.Name = "GroupBox5"
GroupBox5.Padding = New Padding(4, 5, 4, 5) GroupBox5.Padding = New Padding(4, 4, 4, 4)
GroupBox5.Size = New System.Drawing.Size(480, 87) GroupBox5.Size = New System.Drawing.Size(420, 65)
GroupBox5.TabIndex = 12 GroupBox5.TabIndex = 12
GroupBox5.TabStop = False GroupBox5.TabStop = False
GroupBox5.Text = "GroupBox5" GroupBox5.Text = "GroupBox5"
' '
' btWriteBinary ' btWriteBinary
' '
btWriteBinary.Location = New System.Drawing.Point(8, 29) btWriteBinary.Location = New System.Drawing.Point(7, 22)
btWriteBinary.Margin = New Padding(4, 5, 4, 5) btWriteBinary.Margin = New Padding(4, 4, 4, 4)
btWriteBinary.Name = "btWriteBinary" btWriteBinary.Name = "btWriteBinary"
btWriteBinary.Size = New System.Drawing.Size(295, 35) btWriteBinary.Size = New System.Drawing.Size(258, 26)
btWriteBinary.TabIndex = 11 btWriteBinary.TabIndex = 11
btWriteBinary.Text = "Write Binary to PDF" btWriteBinary.Text = "Write Binary to PDF"
btWriteBinary.UseVisualStyleBackColor = True btWriteBinary.UseVisualStyleBackColor = True
@@ -234,27 +236,29 @@ Partial Class Form1
' '
' Button1 ' Button1
' '
Button1.Location = New System.Drawing.Point(361, 47) Button1.Location = New System.Drawing.Point(316, 35)
Button1.Margin = New Padding(3, 2, 3, 2)
Button1.Name = "Button1" Button1.Name = "Button1"
Button1.Size = New System.Drawing.Size(94, 29) Button1.Size = New System.Drawing.Size(82, 22)
Button1.TabIndex = 5 Button1.TabIndex = 5
Button1.Text = "Log Folder" Button1.Text = "Log Folder"
Button1.UseVisualStyleBackColor = True Button1.UseVisualStyleBackColor = True
' '
' Button2 ' Button2
' '
Button2.Location = New System.Drawing.Point(361, 82) Button2.Location = New System.Drawing.Point(316, 62)
Button2.Margin = New Padding(3, 2, 3, 2)
Button2.Name = "Button2" Button2.Name = "Button2"
Button2.Size = New System.Drawing.Size(94, 29) Button2.Size = New System.Drawing.Size(82, 22)
Button2.TabIndex = 13 Button2.TabIndex = 13
Button2.Text = "AppFolder" Button2.Text = "AppFolder"
Button2.UseVisualStyleBackColor = True Button2.UseVisualStyleBackColor = True
' '
' Form1 ' Form1
' '
AutoScaleDimensions = New System.Drawing.SizeF(8F, 20F) AutoScaleDimensions = New System.Drawing.SizeF(7F, 15F)
AutoScaleMode = AutoScaleMode.Font AutoScaleMode = AutoScaleMode.Font
ClientSize = New System.Drawing.Size(879, 690) ClientSize = New System.Drawing.Size(769, 518)
Controls.Add(Button2) Controls.Add(Button2)
Controls.Add(Button1) Controls.Add(Button1)
Controls.Add(GroupBox5) Controls.Add(GroupBox5)
@@ -263,7 +267,8 @@ Partial Class Form1
Controls.Add(GroupBox2) Controls.Add(GroupBox2)
Controls.Add(GroupBox1) Controls.Add(GroupBox1)
Controls.Add(ListBox1) Controls.Add(ListBox1)
Margin = New Padding(4, 5, 4, 5) Icon = CType(resources.GetObject("$this.Icon"), Drawing.Icon)
Margin = New Padding(4, 4, 4, 4)
Name = "Form1" Name = "Form1"
Text = "E-Invoice-TEST-Tool" Text = "E-Invoice-TEST-Tool"
GroupBox1.ResumeLayout(False) GroupBox1.ResumeLayout(False)

View File

@@ -129,4 +129,480 @@
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>25</value> <value>25</value>
</metadata> </metadata>
<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>
AAABAAwAEBAQAAEABAAoAQAAxgAAABAQAAABAAgAaAUAAO4BAAAQEAAAAQAgAGgEAABWBwAAICAQAAEA
BADoAgAAvgsAACAgAAABAAgAqAgAAKYOAAAgIAAAAQAgAKgQAABOFwAAMDAQAAEABABoBgAA9icAADAw
AAABAAgAqA4AAF4uAAAwMAAAAQAgAKglAAAGPQAAAAAQAAEABADbAwAArmIAAAAAAAABAAgA3QMAAIlm
AAAAAAAAAQAgAN0DAABmagAAKAAAABAAAAAgAAAAAQAEAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP//
/wD///////////d3d3f3d3d/93d3d/d3d3/3d3d393d3f/d3/////3d/93f3d3d/d3/3d/d3d393f/d3
93d3f///93f3d3d/d3/3d/d3d393f/d393d3f/d/93f/////93/3d3d/d//3f/d3d393d3d/93d3f3d3
d3///////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAoAAAAEAAAACAAAAABAAgAAAAAAAABAAAAAAAAAAAAAAABAAAAAQAAAAAAAEJC
QgD29vYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAIC
AgICAgICAgICAgICAgICAQEBAQEBAQIBAQEBAQECAgEBAQEBAQECAQEBAQEBAgIBAQEBAQEBAgEBAQEB
AQICAQEBAgICAgICAgIBAQECAgEBAQIBAQEBAQECAQEBAgIBAQECAQEBAQEBAgEBAQICAQEBAgEBAQEB
AQICAgICAgEBAQIBAQEBAQECAQEBAgIBAQECAQEBAQEBAgEBAQICAQEBAgEBAQEBAQICAQECAgEBAQIC
AgICAgICAgEBAgIBAQEBAQECAQECAgIBAQICAQEBAQEBAgEBAQEBAQECAgEBAQEBAQIBAQEBAQEBAgIC
AgICAgICAgICAgICAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAKAAAABAAAAAgAAAAAQAgAAAAAABABAAAAAAAAAAAAAAAAAAAAAAAAPb2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC//b29v/29vb/QkJC/0JCQv9CQkL/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v9CQkL/QkJC/0JCQv/29vb/9vb2/0JCQv9CQkL/QkJC//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/QkJC/0JCQv9CQkL/9vb2//b29v9CQkL/QkJC/0JCQv/29vb/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/9vb2/0JCQv9CQkL/QkJC//b29v/29vb/QkJC/0JCQv9CQkL/9vb2/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC//b29v/29vb/9vb2//b29v/29vb/9vb2/0JCQv9CQkL/QkJC//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv/29vb/QkJC/0JCQv9CQkL/9vb2//b29v9CQkL/QkJC/0JCQv/29vb/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/9vb2/0JCQv9CQkL/QkJC//b29v/29vb/QkJC/0JCQv9CQkL/9vb2/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/QkJC/0JCQv/29vb/9vb2/0JCQv9CQkL/QkJC//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2/0JCQv9CQkL/9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv/29vb/QkJC/0JCQv/29vb/9vb2//b29v9CQkL/QkJC//b29v/29vb/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAKAAAACAAAABAAAAAAQAEAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACA
gACAAAAAgACAAICAAACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wD/////////////
//////////////////////////////93d3d3d3d/93d3d3d3d///d3d3d3d3f/d3d3d3d3f//3d3d3d3
d3/3d3d3d3d3//93d3d3d3d/93d3d3d3d///d3d3d3d3f/d3d3d3d3f//3d3d3d3d3/3d3d3d3d3//93
d3f//////////3d3d///d3d3//////////93d3f//3d3d/93d3d3d3f/d3d3//93d3f/d3d3d3d3/3d3
d///d3d3/3d3d3d3d/93d3f//3d3d/93d3d3d3f/d3d3//93d3f/d3d3d3d3/3d3d///d3d3/3d3d3d3
d////////3d3d/93d3d3d3f///////93d3f/d3d3d3d3/3d3d///d3d3/3d3d3d3d/93d3f//3d3d/93
d3d3d3f/d3d3//93d3f/d3d3d3d3/3d3d///d3d3/3d3d3d3d///d3f//3d3d////////////3d3//93
d3f///////////93d///d3d3d3d3f/d3f///d3f//3d3d3d3d3/3d3///3d3//93d3d3d3d/93d3d3d3
d///d3d3d3d3f/d3d3d3d3f//3d3d3d3d3/3d3d3d3d3//93d3d3d3d/93d3d3d3d///////////////
/////////////////////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACAAAABAAAAAAQAIAAAAAAAABAAAAAAAAAAA
AAAAAQAAAAEAAAAAAABCQkIA9vb2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAP///wACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC
AgICAgICAgICAgICAgICAgICAgIBAQEBAQEBAQEBAQEBAgIBAQEBAQEBAQEBAQEBAgICAgEBAQEBAQEB
AQEBAQECAgEBAQEBAQEBAQEBAQECAgICAQEBAQEBAQEBAQEBAQICAQEBAQEBAQEBAQEBAQICAgIBAQEB
AQEBAQEBAQEBAgIBAQEBAQEBAQEBAQEBAgICAgEBAQEBAQEBAQEBAQECAgEBAQEBAQEBAQEBAQECAgIC
AQEBAQEBAQEBAQEBAQICAQEBAQEBAQEBAQEBAQICAgIBAQEBAQECAgICAgICAgICAgICAgICAQEBAQEB
AgICAgEBAQEBAQICAgICAgICAgICAgICAgIBAQEBAQECAgICAQEBAQEBAgIBAQEBAQEBAQEBAQECAgEB
AQEBAQICAgIBAQEBAQECAgEBAQEBAQEBAQEBAQICAQEBAQEBAgICAgEBAQEBAQICAQEBAQEBAQEBAQEB
AgIBAQEBAQECAgICAQEBAQEBAgIBAQEBAQEBAQEBAQECAgEBAQEBAQICAgIBAQEBAQECAgEBAQEBAQEB
AQEBAQICAQEBAQEBAgICAgEBAQEBAQICAQEBAQEBAQEBAQEBAgICAgICAgICAgICAQEBAQEBAgIBAQEB
AQEBAQEBAQECAgICAgICAgICAgIBAQEBAQECAgEBAQEBAQEBAQEBAQICAQEBAQEBAgICAgEBAQEBAQIC
AQEBAQEBAQEBAQEBAgIBAQEBAQECAgICAQEBAQEBAgIBAQEBAQEBAQEBAQECAgEBAQEBAQICAgIBAQEB
AQECAgEBAQEBAQEBAQEBAQICAQEBAQEBAgICAgEBAQEBAQICAQEBAQEBAQEBAQEBAgICAgEBAQECAgIC
AQEBAQEBAgICAgICAgICAgICAgICAgICAQEBAQICAgIBAQEBAQECAgICAgICAgICAgICAgICAgIBAQEB
AgICAgEBAQEBAQEBAQEBAQECAgEBAQECAgICAgEBAQECAgICAQEBAQEBAQEBAQEBAQICAQEBAQICAgIC
AQEBAQICAgIBAQEBAQEBAQEBAQEBAgIBAQEBAQEBAQEBAQEBAgICAgEBAQEBAQEBAQEBAQECAgEBAQEB
AQEBAQEBAQECAgICAQEBAQEBAQEBAQEBAQICAQEBAQEBAQEBAQEBAQICAgIBAQEBAQEBAQEBAQEBAgIB
AQEBAQEBAQEBAQEBAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC
AgICAgICAgICAgICAgICAgICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAAEAAAAABACAAAAAAAIAQAAAAAAAAAAAAAAAA
AAAAAAAA9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v/29vb/9vb2/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b2
9v/29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/9vb2//b29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v/29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b2
9v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv/29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC//b29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v/29vb/9vb2/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b2
9v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b2
9v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b2
9v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v/29vb/9vb2/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC//b29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv/29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/9vb2//b2
9v/29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2/0JCQv9CQkL/QkJC/0JC
Qv/29vb/9vb2//b29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/QkJC/0JC
Qv9CQkL/QkJC//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v/29vb/9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v/29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b2
9v/29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v/29vb/9vb2/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b2
9v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b2
9v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAADAAAABgAAAAAQAEAAAAAACABAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA/wAA/wAAAP//AP8A
AAD/AP8A//8AAP///wD/////////////////////////////////////////////////////////////
////////////////////////////////////93d3d3d3d3d3d3f/93d3d3d3d3d3f///93d3d3d3d3d3
d3f/93d3d3d3d3d3f///93d3d3d3d3d3d3f/93d3d3d3d3d3f///93d3d3d3d3d3d3f/93d3d3d3d3d3
f///93d3d3d3d3d3d3f/93d3d3d3d3d3f///93d3d3d3d3d3d3f/93d3d3d3d3d3f///93d3d3d3d3d3
d3f/93d3d3d3d3d3f///93d3d3d3d3d3d3f/93d3d3d3d3d3f///93d3d3d3d3d3d3f/93d3d3d3d3d3
f///93d3d3f///////////////93d3d3f///93d3d3f///////////////93d3d3f///93d3d3f/////
//////////93d3d3f///93d3d3f/93d3d3d3d3d3f/93d3d3f///93d3d3f/93d3d3d3d3d3f/93d3d3
f///93d3d3f/93d3d3d3d3d3f/93d3d3f///93d3d3f/93d3d3d3d3d3f/93d3d3f///93d3d3f/93d3
d3d3d3d3f/93d3d3f///93d3d3f/93d3d3d3d3d3f/93d3d3f///93d3d3f/93d3d3d3d3d3f///////
////93d3d3f/93d3d3d3d3d3f///////////93d3d3f/93d3d3d3d3d3f///////////93d3d3f/93d3
d3d3d3d3f/93d3d3f///93d3d3f/93d3d3d3d3d3f/93d3d3f///93d3d3f/93d3d3d3d3d3f/93d3d3
f///93d3d3f/93d3d3d3d3d3f/93d3d3f///93d3d3f/93d3d3d3d3d3f/93d3d3f///93d3d3f/93d3
d3d3d3d3f/93d3d3f///93d3d3f/93d3d3d3d3d3f///93d3f///93d3d3f/93d3d3d3d3d3f///93d3
f///93d3d3f/93d3d3d3d3d3f///93d3f///93d3d3f/////////////////93d3f///93d3d3f/////
////////////93d3f///93d3d3f/////////////////93d3f///93d3d3d3d3d3f/93d3f/////93d3
f///93d3d3d3d3d3f/93d3f/////93d3f///93d3d3d3d3d3f/93d3f/////93d3f///93d3d3d3d3d3
f/93d3d3d3d3d3d3f///93d3d3d3d3d3f/93d3d3d3d3d3d3f///93d3d3d3d3d3f/93d3d3d3d3d3d3
f///93d3d3d3d3d3f/93d3d3d3d3d3d3f///93d3d3d3d3d3f/93d3d3d3d3d3d3f///93d3d3d3d3d3
f/93d3d3d3d3d3d3f///////////////////////////////////////////////////////////////
//////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAMAAAAGAA
AAABAAgAAAAAAAAJAAAAAAAAAAAAAAABAAAAAQAAAAAAAEJCQgD29vYAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAICAgICAgICAgICAgICAgICAgICAgICAgIC
AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC
AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC
AgEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgEBAQEBAQEBAQEB
AQEBAQEBAQEBAQICAgEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQIC
AgEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgEBAQEBAQEBAQEB
AQEBAQEBAQICAgICAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgEBAQEBAQEBAQEBAQEBAQEBAQICAgIC
AgEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgEBAQEBAQEBAQEB
AQEBAQEBAQEBAQICAgEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQIC
AgEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgEBAQEBAQEBAQEB
AQEBAQEBAQICAgICAgEBAQEBAQEBAQICAgICAgICAgICAgICAgICAgICAgICAgEBAQEBAQEBAQICAgIC
AgEBAQEBAQEBAQICAgICAgICAgICAgICAgICAgICAgICAgEBAQEBAQEBAQICAgICAgEBAQEBAQEBAQIC
AgICAgICAgICAgICAgICAgICAgICAgEBAQEBAQEBAQICAgICAgEBAQEBAQEBAQICAgEBAQEBAQEBAQEB
AQEBAQEBAQICAgEBAQEBAQEBAQICAgICAgEBAQEBAQEBAQICAgEBAQEBAQEBAQEBAQEBAQEBAQICAgEB
AQEBAQEBAQICAgICAgEBAQEBAQEBAQICAgEBAQEBAQEBAQEBAQEBAQEBAQICAgEBAQEBAQEBAQICAgIC
AgEBAQEBAQEBAQICAgEBAQEBAQEBAQEBAQEBAQEBAQICAgEBAQEBAQEBAQICAgICAgEBAQEBAQEBAQIC
AgEBAQEBAQEBAQEBAQEBAQEBAQICAgEBAQEBAQEBAQICAgICAgEBAQEBAQEBAQICAgEBAQEBAQEBAQEB
AQEBAQEBAQICAgEBAQEBAQEBAQICAgICAgEBAQEBAQEBAQICAgEBAQEBAQEBAQEBAQEBAQEBAQICAgIC
AgICAgICAgICAgICAgEBAQEBAQEBAQICAgEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgICAgICAgICAgIC
AgEBAQEBAQEBAQICAgEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgICAgICAgICAgICAgEBAQEBAQEBAQIC
AgEBAQEBAQEBAQEBAQEBAQEBAQICAgEBAQEBAQEBAQICAgICAgEBAQEBAQEBAQICAgEBAQEBAQEBAQEB
AQEBAQEBAQICAgEBAQEBAQEBAQICAgICAgEBAQEBAQEBAQICAgEBAQEBAQEBAQEBAQEBAQEBAQICAgEB
AQEBAQEBAQICAgICAgEBAQEBAQEBAQICAgEBAQEBAQEBAQEBAQEBAQEBAQICAgEBAQEBAQEBAQICAgIC
AgEBAQEBAQEBAQICAgEBAQEBAQEBAQEBAQEBAQEBAQICAgEBAQEBAQEBAQICAgICAgEBAQEBAQEBAQIC
AgEBAQEBAQEBAQEBAQEBAQEBAQICAgEBAQEBAQEBAQICAgICAgEBAQEBAQEBAQICAgEBAQEBAQEBAQEB
AQEBAQEBAQICAgICAgEBAQEBAQICAgICAgEBAQEBAQEBAQICAgEBAQEBAQEBAQEBAQEBAQEBAQICAgIC
AgEBAQEBAQICAgICAgEBAQEBAQEBAQICAgEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgEBAQEBAQICAgIC
AgEBAQEBAQEBAQICAgICAgICAgICAgICAgICAgICAgICAgICAgEBAQEBAQICAgICAgEBAQEBAQEBAQIC
AgICAgICAgICAgICAgICAgICAgICAgICAgEBAQEBAQICAgICAgEBAQEBAQEBAQICAgICAgICAgICAgIC
AgICAgICAgICAgICAgEBAQEBAQICAgICAgEBAQEBAQEBAQEBAQEBAQEBAQICAgEBAQEBAQICAgICAgIC
AgEBAQEBAQICAgICAgEBAQEBAQEBAQEBAQEBAQEBAQICAgEBAQEBAQICAgICAgICAgEBAQEBAQICAgIC
AgEBAQEBAQEBAQEBAQEBAQEBAQICAgEBAQEBAQICAgICAgICAgEBAQEBAQICAgICAgEBAQEBAQEBAQEB
AQEBAQEBAQICAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgEBAQEBAQEBAQEBAQEBAQEBAQICAgEB
AQEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgEBAQEBAQEBAQEBAQEBAQEBAQICAgEBAQEBAQEBAQEBAQEB
AQEBAQEBAQICAgICAgEBAQEBAQEBAQEBAQEBAQEBAQICAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgIC
AgEBAQEBAQEBAQEBAQEBAQEBAQICAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgEBAQEBAQEBAQEB
AQEBAQEBAQICAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgICAgICAgICAgICAgICAgICAgICAgIC
AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC
AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAwAAAAYAAAAAEAIAAAAAAAgCUAAAAAAAAAAAAAAAAAAAAA
AAD29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b2
9v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/9vb2//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b2
9v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/9vb2//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b2
9v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/9vb2//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b2
9v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/9vb2//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b2
9v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/9vb2//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b2
9v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/9vb2//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b2
9v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/9vb2//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b2
9v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/9vb2//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v/29vb/9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv/29vb/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AACJUE5HDQoaCgAAAA1JSERSAAABAAAAAQAIBgAAAFxyqGYAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAON
SURBVHic7d1BbgJBDADBEO2/R/PyzQ84ZIIc6Ko7yAKp5cNiHvd9319A0vf0AMAcAYAwAYAwAYAwAYAw
AYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYCw6/QN9t5/MQcvstY6er3v9387/X5tABAmABAmABAm
ABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAm
ABAmABAmABAmABAmABAmABAmABAmABB2TQ8Az6y1pkd4au89PcIRGwCECQCECQCECQCECQCECQCECQCE
CQCECQCECQCECQCECQCECQCECQCECQCE5e8B/Pffm0/z+Xw2GwCECQCECQCECQCECQCECQCECQCECQCE
CQCECQCECQCECQCECQCECQCECQCE5e8BnHr3/4d/d+4VnLEBQJgAQJgAQJgAQJgAQJgAQJgAQJjnAEir
P8dhA4AwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAw
AYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYCwa3oAmLTWmh5hlA0AwgQAwgQAwgQAwgQA
wgQAwgQAwgQAwgQAwgQAwgQAwgQAwgQAwgQAwgQAwtwDIG3vPT3CkdN7BjYACBMACBMACBMACBMACBMA
CBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMA
CBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACLumB3h3a63pEeDXbAAQJgAQJgAQ
JgAQJgAQJgAQJgAQJgAQJgAQJgAQJgAQJgAQJgAQJgAQJgAQlr8HsPeeHuGlTu8VfPrnU2cDgDABgDAB
gDABgDABgDABgDABgDABgDABgDABgDABgDABgDABgDABgDABgDABgDABgDABgDABgDABgDABgDABgDAB
gDABgDABgDABgDABgDABgDABgDABgDABgDABgDABgDABgDABgDABgDABgDABgDABgDABgDABgDABgDAB
gDABgDABgDABgDABgLDHfd/39BDADBsAhAkAhAkAhAkAhAkAhAkAhAkAhAkAhAkAhAkAhAkAhAkAhAkA
hAkAhAkAhP0AOIQlA0VHQvQAAAAASUVORK5CYIKJUE5HDQoaCgAAAA1JSERSAAABAAAAAQAIBgAAAFxy
qGYAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAOPSURBVHic7d1BbgJBDADBEPG8ee68ba/kBxwyiQx01R1k
gdTyYTG367oeX0DS9/QAwBwBgDABgDABgDABgDABgDABgDABgDABgDABgDABgDABgDABgDABgDABgLD7
6Rustf5iDv7J3vvo9b7f13b6/doAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwA
IEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIOw+PQA8s/ee
HuGptdb0CEdsABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABAmABCWvwfw6r83
n+bz+Ww2AAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAjL3wM49e7/D//u
3Cs4YwOAMAGAMAGAMAGAMAGAMAGAMAGAMM8BkFZ/jsMGAGECAGECAGECAGECAGECAGECAGECAGECAGEC
AGECAGECAGECAGECAGECAGECAGECAGECAGECAGECAGECAGECAGECAGECAGECAGECAGECAGECAGECAGEC
AGECAGH36QFg0t57eoRRNgAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAI
cw+AtLXW9AhHTu8Z2AAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAg
TAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAg
TAAgTAAgTAAg7D49wLvbe0+PAL9mA4AwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAw
AYAwAYCw/D2Atdb0CP/q9F7Bp38+dTYACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMA
CBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMA
CBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACLtd1/WYHgKYYQOAMAGAMAGA
MAGAMAGAMAGAMAGAMAGAMAGAMAGAMAGAMAGAMAGAMAGAMAGAsB+06SYLLG5ISgAAAABJRU5ErkJggolQ
TkcNChoKAAAADUlIRFIAAAEAAAABAAgGAAAAXHKoZgAAAAlwSFlzAAAOwwAADsMBx2+oZAAAA49JREFU
eJzt3UFuAkEMAMEQ8bx57rxtr+QHHDKJDHTVHWSB1PJhMbfruh5fQNL39ADAHAGAMAGAMAGAMAGAMAGA
MAGAMAGAMAGAMAGAMAGAMAGAMAGAMAGAMAGAsPvpG6y1/mIO/sne++j1vt/Xdvr92gAgTAAgTAAgTAAg
TAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAg
TAAgTAAgTAAgTAAgTAAgTAAgTAAg7D49ADyz954e4am11vQIR2wAECYAECYAECYAECYAECYAECYAECYA
ECYAECYAECYAECYAECYAECYAECYAEJa/B/Dqvzef5vP5bDYACBMACBMACBMACBMACBMACBMACBMACBMA
CBMACBMACBMACBMACBMACBMACMvfAzj17v8P/+7cKzhjA4AwAYAwAYAwAYAwAYAwAYAwAYAwzwGQVn+O
wwYAYQIAYQIAYQIAYQIAYQIAYQIAYQIAYQIAYQIAYQIAYQIAYQIAYQIAYQIAYQIAYQIAYQIAYQIAYQIA
YQIAYQIAYQIAYQIAYQIAYQIAYQIAYQIAYQIAYQIAYQIAYffpAWDS3nt6hFE2AAgTAAgTAAgTAAgTAAgT
AAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAgTAAhzD4C0tdb0CEdO7xnYACBMACBMACBMACBMACBMACBM
ACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBM
ACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACBMACDsPj3Au9t7T48Av2YDgDABgDABgDAB
gDABgDABgDABgDABgDABgDABgDABgDABgDABgDABgDABgLD8PYC11vQI/+r0XsGnfz51NgAIEwAIEwAI
EwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAI
EwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAIEwAI
EwAIEwAIEwAIEwAIu13X9ZgeAphhA4AwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAwAYAw
AYAwAYCwH7TpJgssbkhKAAAAAElFTkSuQmCC
</value>
</data>
</root> </root>

View File

@@ -99,14 +99,14 @@ Public Class Form1
Dim oEN16931_ID = oRow.Item("EN16931_ID") Dim oEN16931_ID = oRow.Item("EN16931_ID")
Args.PropertyMapList.Add(New XmlItemProperty() With { Args.PropertyMapList.Add(New XmlItemProperty() With {
.XMLPath = xmlPath, .xmlPath = xmlPath,
.Description = description, .description = description,
.TableName = tableName, .tableName = tableName,
.TableColumn = tableColumn, .tableColumn = tableColumn,
.IsRequired = isRequired, .isRequired = isRequired,
.IsGrouped = isGrouped, .isGrouped = isGrouped,
.GroupScope = groupScope, .groupScope = groupScope,
.Specification = specification, .specification = specification,
.ItemType = oItemType, .ItemType = oItemType,
.EN16931_ID = oEN16931_ID .EN16931_ID = oEN16931_ID
}) })
@@ -159,9 +159,41 @@ Public Class Form1
If oResult = DialogResult.OK Then If oResult = DialogResult.OK Then
Try Try
Dim oDoc = _zugferd.ValidateZUGFeRDFileWithGDPicture(OpenFileDialog1.FileName) Dim oDoc = _zugferd.ValidateZUGFeRDFileWithGDPicture(OpenFileDialog1.FileName, True)
Dim oZFResult = _zugferd.ValidateZUGFeRDDocument(oDoc)
Dim oZUGFERD = _zugferd.SerializeZUGFeRDDocument(oDoc) Dim oZUGFERD = _zugferd.SerializeZUGFeRDDocument(oDoc)
Console.WriteLine() WriteLog("Specification: " & oZFResult.Specification)
'WriteLog("XML-Schema: " & oResult.UsedXMLSchema)
WriteLog("Embedded File Name: " & oZFResult.DataFileName)
Dim oSpecification = oZFResult.Specification
If oSpecification = ZUGFeRDInterface.ZUGFERD_SPEC_10 Then
oSpecification = ZUGFeRDInterface.ZUGFERD_SPEC_DEFAULT
End If
Dim oPropertyMap = oArgs.PropertyMapList.
Where(Function(kv) kv.Specification = oSpecification).
ToDictionary(Function(kv) kv.XMLPath, Function(kv) kv)
Dim oResult2 = _zugferd.PropertyValues.CheckPropertyValues(oZFResult.SchemaObject, oPropertyMap, "test")
WriteLog("Valid Properties: [{0}]", oResult2.ValidProperties.Count)
For Each Prop In oResult2.ValidProperties
If Prop.Value.Length > 250 Then
WriteLog("Property: [{0}] = [{1}]", Prop.Description, Prop.Value.Substring(0, 250))
Else
WriteLog("Property: [{0}] = [{1}]", Prop.Description, Prop.Value)
End If
Next
WriteLog("--------------------------------")
WriteLog("Missing Properties: [{0}]", oResult2.MissingProperties.Count)
For Each Prop In oResult2.MissingProperties
WriteLog("Missing Property: [{0}]", Prop.ToString) ''Prop.Description
Next
WriteLog("--------------------------------")
Catch ex As DigitalData.Modules.Interfaces.Exceptions.ZUGFeRDExecption Catch ex As DigitalData.Modules.Interfaces.Exceptions.ZUGFeRDExecption
Dim oErrorCode = GetRejectionCodeNumber(ex.ErrorCode) Dim oErrorCode = GetRejectionCodeNumber(ex.ErrorCode)
Dim oMessage = oErrorCode + " - (" + ex.ErrorCode.ToString() + ") - " + ex.Message Dim oMessage = oErrorCode + " - (" + ex.ErrorCode.ToString() + ") - " + ex.Message
@@ -169,6 +201,7 @@ Public Class Form1
Catch ex As Exception Catch ex As Exception
MsgBox(ex.Message) MsgBox(ex.Message)
End Try End Try
MsgBox("Finished - check log")
End If End If
End Sub End Sub
@@ -227,7 +260,7 @@ Public Class Form1
Try Try
If oDialogResult = DialogResult.OK Then If oDialogResult = DialogResult.OK Then
Dim oDoc = _zugferd.ValidateZUGFeRDFileWithGDPicture(OpenFileDialog1.FileName) Dim oDoc = _zugferd.ValidateZUGFeRDFileWithGDPicture(OpenFileDialog1.FileName, True)
Dim oResult = _zugferd.ValidateZUGFeRDDocument(oDoc) Dim oResult = _zugferd.ValidateZUGFeRDDocument(oDoc)
oResult = _zugferd.SerializeZUGFeRDDocument(oDoc) oResult = _zugferd.SerializeZUGFeRDDocument(oDoc)

View File

@@ -16,27 +16,184 @@
<Product>$(AssemblyName)</Product> <Product>$(AssemblyName)</Product>
</PropertyGroup> </PropertyGroup>
<PropertyGroup>
<BaseOutputPath>$(MSBuildProjectDirectory)\bin\</BaseOutputPath>
<BaseIntermediateOutputPath>$(MSBuildProjectDirectory)\obj\</BaseIntermediateOutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<OutputPath>$(BaseOutputPath)Debug\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<OutputPath>$(BaseOutputPath)Release\</OutputPath>
</PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="GdPicture" Version="14.3.16" /> <PackageReference Include="GdPicture" Version="14.3.22" />
<PackageReference Include="Microsoft.Data.SqlClient" Version="6.1.1" /> <PackageReference Include="Microsoft.Data.SqlClient" Version="6.1.1" />
<PackageReference Include="NLog" Version="6.0.4" /> <PackageReference Include="NLog" Version="6.0.4" />
<PackageReference Include="System.Data.SqlClient" Version="4.9.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Reference Include="DigitalData.Modules.Config"> <Reference Include="BouncyCastle.Cryptography, Version=2.0.0.0, Culture=neutral, PublicKeyToken=072edcf4a5328938, processorArchitecture=MSIL">
<HintPath>..\..\DDModules\Config\bin\Debug\net8.0-windows\DigitalData.Modules.Config.dll</HintPath> <HintPath>..\packages\BouncyCastle.Cryptography.2.5.0\lib\net461\BouncyCastle.Cryptography.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Modules.Database"> <Reference Include="DocumentFormat.OpenXml, Version=3.2.0.0, Culture=neutral, PublicKeyToken=8fb06cb64d019a17, processorArchitecture=MSIL">
<HintPath>..\..\DDModules\Database\bin\Debug\net8.0-windows\DigitalData.Modules.Database.dll</HintPath> <HintPath>..\packages\DocumentFormat.OpenXml.3.2.0\lib\net46\DocumentFormat.OpenXml.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Modules.Interfaces"> <Reference Include="DocumentFormat.OpenXml.Framework, Version=3.2.0.0, Culture=neutral, PublicKeyToken=8fb06cb64d019a17, processorArchitecture=MSIL">
<HintPath>..\..\DDModules\Interfaces\bin\Debug\net8.0-windows\DigitalData.Modules.Interfaces.dll</HintPath> <HintPath>..\packages\DocumentFormat.OpenXml.Framework.3.2.0\lib\net46\DocumentFormat.OpenXml.Framework.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Modules.Jobs"> <Reference Include="GdPicture.NET.14, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\..\DDModules\Jobs\bin\Debug\net8.0-windows\DigitalData.Modules.Jobs.dll</HintPath> <HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Modules.Logging"> <Reference Include="GdPicture.NET.14.barcode.1d.writer, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\..\DDModules\Logging_.NET8\bin\Debug\net8.0-windows\DigitalData.Modules.Logging.dll</HintPath> <HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.barcode.1d.writer.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.barcode.2d.writer, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.barcode.2d.writer.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.CAD, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.CAD.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.CAD.DWG, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.CAD.DWG.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Common, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.Common.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Document, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.Document.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Email, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.Email.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.HTML, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.HTML.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Imaging, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.Imaging.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Imaging.Formats, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.Imaging.Formats.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Imaging.Formats.Conversion, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.Imaging.Formats.Conversion.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Imaging.Rendering, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.Imaging.Rendering.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.MSOfficeBinary, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.MSOfficeBinary.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.OpenDocument, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.OpenDocument.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.OpenXML, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.OpenXML.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.OpenXML.Templating, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.OpenXML.Templating.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.PDF, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.PDF.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.RTF, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.RTF.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.SVG, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.SVG.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.wia.gateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6973b5c22dcf45f7, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.wia.gateway.dll</HintPath>
<EmbedInteropTypes>True</EmbedInteropTypes>
</Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="NativeSDK.Settings, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.19\lib\net462\NativeSDK.Settings.dll</HintPath>
</Reference>
<Reference Include="NativeSDK.Settings.Edition, Version=14.3.19.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.19\lib\net462\NativeSDK.Settings.Edition.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json.Bson, Version=1.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.Bson.1.0.2\lib\net45\Newtonsoft.Json.Bson.dll</HintPath>
</Reference>
<Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.5.1.0\lib\net46\NLog.dll</HintPath>
</Reference>
<Reference Include="OpenMcdf, Version=2.4.1.0, Culture=neutral, PublicKeyToken=fdbb1629d7c00800, processorArchitecture=MSIL">
<HintPath>..\packages\OpenMcdf.2.4.1\lib\net40\OpenMcdf.dll</HintPath>
</Reference>
<Reference Include="protobuf-net, Version=3.0.0.0, Culture=neutral, PublicKeyToken=257b51d87d2e4d67, processorArchitecture=MSIL">
<HintPath>..\packages\protobuf-net.3.2.46\lib\net462\protobuf-net.dll</HintPath>
</Reference>
<Reference Include="protobuf-net.Core, Version=3.0.0.0, Culture=neutral, PublicKeyToken=257b51d87d2e4d67, processorArchitecture=MSIL">
<HintPath>..\packages\protobuf-net.Core.3.2.46\lib\net462\protobuf-net.Core.dll</HintPath>
</Reference>
<Reference Include="RtfPipe, Version=2.0.7677.4303, Culture=neutral, PublicKeyToken=5f6ab4ce530296d2, processorArchitecture=MSIL">
<HintPath>..\packages\RtfPipe.2.0.7677.4303\lib\net45\RtfPipe.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.6.0\lib\net462\System.Buffers.dll</HintPath>
</Reference>
<Reference Include="System.Collections.Immutable, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Collections.Immutable.8.0.0\lib\net462\System.Collections.Immutable.dll</HintPath>
</Reference>
<Reference Include="System.Configuration" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.IO.Packaging, Version=8.0.0.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Packaging.8.0.1\lib\net462\System.IO.Packaging.dll</HintPath>
</Reference>
<Reference Include="System.Management" />
<Reference Include="System.Memory, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.6.0\lib\net462\System.Memory.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http.Formatting, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Client.6.0.0\lib\net45\System.Net.Http.Formatting.dll</HintPath>
</Reference>
<Reference Include="System.Numerics" />
<Reference Include="System.Numerics.Vectors, Version=4.1.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Numerics.Vectors.4.6.0\lib\net462\System.Numerics.Vectors.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.1.0\lib\net462\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Security" />
<Reference Include="System.Security.Cryptography.Pkcs, Version=8.0.0.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Pkcs.8.0.1\lib\net462\System.Security.Cryptography.Pkcs.dll</HintPath>
</Reference>
<Reference Include="System.ServiceModel" />
<Reference Include="System.Text.Encodings.Web, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Encodings.Web.8.0.0\lib\net462\System.Text.Encodings.Web.dll</HintPath>
</Reference>
<Reference Include="System.Text.Json, Version=8.0.0.6, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Json.8.0.6\lib\net462\System.Text.Json.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
<Reference Include="System.Transactions" />
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll</HintPath>
</Reference>
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Net.Http" />
<Reference Include="WindowsBase" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
@@ -53,5 +210,8 @@
<Generator>SettingsSingleFileGenerator</Generator> <Generator>SettingsSingleFileGenerator</Generator>
</None> </None>
</ItemGroup> </ItemGroup>
<ItemGroup>
</Project> <ProjectReference Include="..\..\DDModules\Jobs\Jobs.vbproj" />
<ProjectReference Include="..\..\DDModules\Config\Config.vbproj" />
</ItemGroup>
</Project>

View File

@@ -4,8 +4,8 @@
<package id="DocumentFormat.OpenXml" version="3.2.0" targetFramework="net462" /> <package id="DocumentFormat.OpenXml" version="3.2.0" targetFramework="net462" />
<package id="DocumentFormat.OpenXml.Framework" version="3.2.0" targetFramework="net462" /> <package id="DocumentFormat.OpenXml.Framework" version="3.2.0" targetFramework="net462" />
<package id="FirebirdSql.Data.FirebirdClient" version="7.5.0" targetFramework="net461" /> <package id="FirebirdSql.Data.FirebirdClient" version="7.5.0" targetFramework="net461" />
<package id="GdPicture" version="14.3.14" targetFramework="net48" /> <package id="GdPicture" version="14.3.19" targetFramework="net462" />
<package id="GdPicture.runtimes.windows" version="14.3.14" targetFramework="net48" /> <package id="GdPicture.runtimes.windows" version="14.3.19" targetFramework="net462" />
<package id="Microsoft.AspNet.WebApi.Client" version="6.0.0" targetFramework="net462" /> <package id="Microsoft.AspNet.WebApi.Client" version="6.0.0" targetFramework="net462" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="8.0.0" targetFramework="net462" /> <package id="Microsoft.Bcl.AsyncInterfaces" version="8.0.0" targetFramework="net462" />
<package id="Microsoft.CSharp" version="4.7.0" targetFramework="net462" /> <package id="Microsoft.CSharp" version="4.7.0" targetFramework="net462" />
@@ -18,17 +18,14 @@
<package id="protobuf-net.Core" version="3.2.46" targetFramework="net462" /> <package id="protobuf-net.Core" version="3.2.46" targetFramework="net462" />
<package id="RtfPipe" version="2.0.7677.4303" targetFramework="net462" /> <package id="RtfPipe" version="2.0.7677.4303" targetFramework="net462" />
<package id="System.Buffers" version="4.6.0" targetFramework="net462" /> <package id="System.Buffers" version="4.6.0" targetFramework="net462" />
<package id="System.CodeDom" version="8.0.0" targetFramework="net462" />
<package id="System.Collections.Immutable" version="8.0.0" targetFramework="net462" /> <package id="System.Collections.Immutable" version="8.0.0" targetFramework="net462" />
<package id="System.Data.SqlClient" version="4.8.6" targetFramework="net462" />
<package id="System.IO.Packaging" version="8.0.1" targetFramework="net462" /> <package id="System.IO.Packaging" version="8.0.1" targetFramework="net462" />
<package id="System.Management" version="8.0.0" targetFramework="net462" />
<package id="System.Memory" version="4.6.0" targetFramework="net462" /> <package id="System.Memory" version="4.6.0" targetFramework="net462" />
<package id="System.Numerics.Vectors" version="4.6.0" targetFramework="net462" /> <package id="System.Numerics.Vectors" version="4.6.0" targetFramework="net462" />
<package id="System.Runtime.CompilerServices.Unsafe" version="6.1.0" targetFramework="net462" /> <package id="System.Runtime.CompilerServices.Unsafe" version="6.1.0" targetFramework="net462" />
<package id="System.Security.Cryptography.Pkcs" version="8.0.1" targetFramework="net462" /> <package id="System.Security.Cryptography.Pkcs" version="8.0.1" targetFramework="net462" />
<package id="System.Text.Encodings.Web" version="8.0.0" targetFramework="net462" /> <package id="System.Text.Encodings.Web" version="8.0.0" targetFramework="net462" />
<package id="System.Text.Json" version="8.0.5" targetFramework="net462" /> <package id="System.Text.Json" version="8.0.6" targetFramework="net462" />
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net462" /> <package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net462" />
<package id="System.ValueTuple" version="4.6.1" targetFramework="net48" /> <package id="System.ValueTuple" version="4.6.1" targetFramework="net48" />
</packages> </packages>

View File

@@ -0,0 +1,297 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{A8C3F298-76AB-4359-AB3C-986E313B4336}</ProjectGuid>
<OutputType>Exe</OutputType>
<StartupObject>DigitalData.Services.EDMIService.WindowsService</StartupObject>
<RootNamespace>DigitalData.Services.EDMIService</RootNamespace>
<AssemblyName>EDMIService</AssemblyName>
<FileAlignment>512</FileAlignment>
<MyType>Console</MyType>
<TargetFrameworkVersion>v4.6.2;net8.0</TargetFrameworkVersion>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<IsWebBootstrapper>false</IsWebBootstrapper>
<TargetFrameworkProfile />
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>x64</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>bin\Debug\</OutputPath>
<DocumentationFile>
</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<DefineDebug>false</DefineDebug>
<DefineTrace>true</DefineTrace>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DocumentationFile>
</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup>
<OptionExplicit>On</OptionExplicit>
</PropertyGroup>
<PropertyGroup>
<OptionCompare>Binary</OptionCompare>
</PropertyGroup>
<PropertyGroup>
<OptionStrict>Off</OptionStrict>
</PropertyGroup>
<PropertyGroup>
<OptionInfer>On</OptionInfer>
</PropertyGroup>
<ItemGroup>
<Reference Include="DigitalData.Modules.Base">
<HintPath>..\..\DDModules\Base\bin\Debug\DigitalData.Modules.Base.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Config">
<HintPath>..\..\DDModules\Config\bin\Debug\DigitalData.Modules.Config.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Database">
<HintPath>..\..\DDModules\Database\bin\Debug\DigitalData.Modules.Database.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.EDMI.API">
<HintPath>..\..\DDModules\EDMIAPI\bin\Debug\DigitalData.Modules.EDMI.API.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Filesystem">
<HintPath>P:\Projekte DIGITAL DATA\DIGITAL DATA - Entwicklung\DLL_Bibliotheken\Digital Data\DigitalData.Modules.Filesystem.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Language">
<HintPath>P:\Projekte DIGITAL DATA\DIGITAL DATA - Entwicklung\DLL_Bibliotheken\Digital Data\DigitalData.Modules.Language.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Logging">
<HintPath>..\..\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Patterns">
<HintPath>..\..\DDModules\Patterns\bin\Debug\DigitalData.Modules.Patterns.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.ZooFlow">
<HintPath>..\..\DDModules\ZooFlow\bin\Debug\DigitalData.Modules.ZooFlow.dll</HintPath>
</Reference>
<Reference Include="FirebirdSql.Data.FirebirdClient, Version=7.5.0.0, Culture=neutral, PublicKeyToken=3750abcc3150b00c, processorArchitecture=MSIL">
<HintPath>..\packages\FirebirdSql.Data.FirebirdClient.7.5.0\lib\net452\FirebirdSql.Data.FirebirdClient.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="Microsoft.Extensions.Logging.Abstractions, Version=2.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Logging.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>
</Reference>
<Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.5.0.5\lib\net46\NLog.dll</HintPath>
</Reference>
<Reference Include="Quartz, Version=3.5.0.0, Culture=neutral, PublicKeyToken=f6b8c98a402cc8a4, processorArchitecture=MSIL">
<HintPath>..\packages\Quartz.3.5.0\lib\net462\Quartz.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
</Reference>
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Configuration" />
<Reference Include="System.Configuration.Install" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Diagnostics.DiagnosticSource, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.DiagnosticSource.4.7.1\lib\net46\System.Diagnostics.DiagnosticSource.dll</HintPath>
</Reference>
<Reference Include="System.IO.Compression" />
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll</HintPath>
</Reference>
<Reference Include="System.Numerics" />
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.5.3\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.Remoting" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.ServiceModel" />
<Reference Include="System.ServiceProcess" />
<Reference Include="System.Transactions" />
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Net.Http" />
</ItemGroup>
<ItemGroup>
<Import Include="Microsoft.VisualBasic" />
<Import Include="System" />
<Import Include="System.Collections" />
<Import Include="System.Collections.Generic" />
<Import Include="System.Data" />
<Import Include="System.Diagnostics" />
<Import Include="System.Linq" />
<Import Include="System.Xml.Linq" />
<Import Include="System.Threading.Tasks" />
</ItemGroup>
<ItemGroup>
<Compile Include="BaseClass.vb" />
<Compile Include="BaseMethod.vb" />
<Compile Include="ClassConstants.vb" />
<Compile Include="Config.vb" />
<Compile Include="Methods\Base\GetClientConfig\GetClientConfigMethod.vb" />
<Compile Include="Methods\Base\GetClientConfig\GetClientConfigResponse.vb" />
<Compile Include="Methods\Database\DatabaseName.vb" />
<Compile Include="Methods\Database\DatabaseType.vb" />
<Compile Include="Methods\Database\ExecuteNonQuery\ExecuteNonQueryMethod.vb" />
<Compile Include="Methods\Database\ExecuteNonQuery\ExecuteNonQueryRequest.vb" />
<Compile Include="Methods\Database\ExecuteNonQuery\ExecuteNonQueryResponse.vb" />
<Compile Include="Methods\Database\GetScalarValue\GetScalarValueMethod.vb" />
<Compile Include="Methods\Database\GetScalarValue\GetScalarValueRequest.vb" />
<Compile Include="Methods\Database\GetScalarValue\GetScalarValueResponse.vb" />
<Compile Include="Methods\Database\GetDatatable\GetDatatableMethod.vb" />
<Compile Include="Methods\Database\GetDatatable\GetDatatableRequest.vb" />
<Compile Include="Methods\Database\GetDatatable\GetDatatableResponse.vb" />
<Compile Include="Methods\IDB\CheckInOutFile\CheckInOutFileMethod.vb" />
<Compile Include="Methods\IDB\CheckInOutFile\CheckInOutFileRequest.vb" />
<Compile Include="Methods\IDB\CheckInOutFile\CheckInOutFileResponse.vb" />
<Compile Include="Methods\IDB\FileProperties.vb" />
<Compile Include="Methods\IDB\GetAttributeValue\GetAttributeValueMethod.vb" />
<Compile Include="Methods\IDB\GetAttributeValue\GetAttributeValueRequest.vb" />
<Compile Include="Methods\IDB\GetAttributeValue\GetAttributeValueResponse.vb" />
<Compile Include="Methods\Database\GetDatatableFromCache\GetDatatableFromCacheMethod.vb" />
<Compile Include="Methods\Database\GetDatatableFromCache\GetDatatableFromCacheRequest.vb" />
<Compile Include="Methods\Database\GetDatatableFromCache\GetDatatableFromCacheResponse.vb" />
<Compile Include="Methods\IDB\GetFileInfo\FileInfo.vb" />
<Compile Include="Methods\IDB\GetFileInfo\GetFileInfoMethod.vb" />
<Compile Include="Methods\IDB\GetFileInfo\GetFileInfoRequest.vb" />
<Compile Include="Methods\IDB\GetFileInfo\GetFileInfoResponse.vb" />
<Compile Include="Methods\IDB\GetFileObject\FileObject.vb" />
<Compile Include="Methods\IDB\GetFileObject\GetFileObjectRequest.vb" />
<Compile Include="Methods\IDB\GetFileObject\GetFileObjectResponse.vb" />
<Compile Include="Methods\IDB\GetFileObject\GetFileObjectMethod.vb" />
<Compile Include="Methods\GlobalIndexer\AutomaticIndex.vb" />
<Compile Include="Methods\GlobalIndexer\BaseIndex.vb" />
<Compile Include="Methods\GlobalIndexer\ImportFile\Steps\AutomaticIndexing.vb" />
<Compile Include="Methods\GlobalIndexer\ImportFile\ImportFileMethod.vb" />
<Compile Include="Methods\GlobalIndexer\ImportFile\ImportFileRequest.vb" />
<Compile Include="Methods\GlobalIndexer\ImportFile\ImportFileResponse.vb" />
<Compile Include="Methods\GlobalIndexer\ImportFile\Steps\PostProcessing.vb" />
<Compile Include="Methods\GlobalIndexer\Loader.vb" />
<Compile Include="Methods\GlobalIndexer\ManualIndex.vb" />
<Compile Include="Methods\GlobalIndexer\PostProcessingStep.vb" />
<Compile Include="Methods\GlobalIndexer\Profile.vb" />
<Compile Include="Methods\IDB\ImportFile\ImportFileMethod.vb" />
<Compile Include="Methods\IDB\ImportFile\ImportFileRequest.vb" />
<Compile Include="Methods\IDB\ImportFile\ImportFileResponse.vb" />
<Compile Include="Methods\IDB\NewFile\NewFileMethod.vb" />
<Compile Include="Methods\IDB\NewFile\NewFileRequest.vb" />
<Compile Include="Methods\IDB\NewFile\NewFileResponse.vb" />
<Compile Include="Methods\IDB\SetAttributeValue\SetAttributeValueMethod.vb" />
<Compile Include="Methods\IDB\SetAttributeValue\SetAttributeValueResponse.vb" />
<Compile Include="Methods\IDB\SetAttributeValue\SetAttributeValueRequest.vb" />
<Compile Include="GlobalState.vb" />
<Compile Include="IDB\Helpers.vb" />
<Compile Include="Messages\AccessRightResult.vb" />
<Compile Include="Messages\Messages.vb" />
<Compile Include="Messages\BaseResponse.vb" />
<Compile Include="Exceptions.vb" />
<Compile Include="Messages\DatabaseResult.vb" />
<Compile Include="EDMIService.vb" />
<Compile Include="Methods\IDB\AttributeValue.vb" />
<Compile Include="Methods\IDB\UpdateFile\UpdateFileMethod.vb" />
<Compile Include="Methods\IDB\UpdateFile\UpdateFileRequest.vb" />
<Compile Include="Methods\IDB\UpdateFile\UpdateFileResponse.vb" />
<Compile Include="Scheduler\LogProvider.vb" />
<Compile Include="Scheduler\Scheduler.vb" />
<Compile Include="Scheduler\DatatableJob.vb" />
<Compile Include="Scheduler\JobListener.vb" />
<Compile Include="Scheduler\JobResult.vb" />
<Compile Include="Security\SecureFileHandler.vb" />
<Compile Include="ServiceHost.vb" />
<Compile Include="WindowsService.vb">
<SubType>Component</SubType>
</Compile>
<Compile Include="IEDMIService.vb" />
<Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<Compile Include="My Project\Resources.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="My Project\Settings.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<Compile Include="ProjectInstaller.vb">
<SubType>Component</SubType>
</Compile>
<Compile Include="SettingsModule.vb" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
<CustomToolNamespace>My.Resources</CustomToolNamespace>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="ProjectInstaller.resx">
<DependentUpon>ProjectInstaller.vb</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="My Project\Application.myapp">
<Generator>MyApplicationCodeGenerator</Generator>
<LastGenOutput>Application.Designer.vb</LastGenOutput>
</None>
<None Include="My Project\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<CustomToolNamespace>My</CustomToolNamespace>
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None>
<None Include="App.config">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<SubType>Designer</SubType>
</None>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.6.1">
<Visible>False</Visible>
<ProductName>Microsoft .NET Framework 4.6.1 %28x86 und x64%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
</Project>

View File

@@ -0,0 +1,297 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{A8C3F298-76AB-4359-AB3C-986E313B4336}</ProjectGuid>
<OutputType>Exe</OutputType>
<StartupObject>DigitalData.Services.EDMIService.WindowsService</StartupObject>
<RootNamespace>DigitalData.Services.EDMIService</RootNamespace>
<AssemblyName>EDMIService</AssemblyName>
<FileAlignment>512</FileAlignment>
<MyType>Console</MyType>
<TargetFrameworkVersion>net8.0</TargetFrameworkVersion>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<IsWebBootstrapper>false</IsWebBootstrapper>
<TargetFrameworkProfile />
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>x64</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>bin\Debug\</OutputPath>
<DocumentationFile>
</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<DefineDebug>false</DefineDebug>
<DefineTrace>true</DefineTrace>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DocumentationFile>
</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup>
<OptionExplicit>On</OptionExplicit>
</PropertyGroup>
<PropertyGroup>
<OptionCompare>Binary</OptionCompare>
</PropertyGroup>
<PropertyGroup>
<OptionStrict>Off</OptionStrict>
</PropertyGroup>
<PropertyGroup>
<OptionInfer>On</OptionInfer>
</PropertyGroup>
<ItemGroup>
<Reference Include="DigitalData.Modules.Base">
<HintPath>..\..\DDModules\Base\bin\Debug\DigitalData.Modules.Base.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Config">
<HintPath>..\..\DDModules\Config\bin\Debug\DigitalData.Modules.Config.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Database">
<HintPath>..\..\DDModules\Database\bin\Debug\DigitalData.Modules.Database.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.EDMI.API">
<HintPath>..\..\DDModules\EDMIAPI\bin\Debug\DigitalData.Modules.EDMI.API.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Filesystem">
<HintPath>P:\Projekte DIGITAL DATA\DIGITAL DATA - Entwicklung\DLL_Bibliotheken\Digital Data\DigitalData.Modules.Filesystem.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Language">
<HintPath>P:\Projekte DIGITAL DATA\DIGITAL DATA - Entwicklung\DLL_Bibliotheken\Digital Data\DigitalData.Modules.Language.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Logging">
<HintPath>..\..\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Patterns">
<HintPath>..\..\DDModules\Patterns\bin\Debug\DigitalData.Modules.Patterns.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.ZooFlow">
<HintPath>..\..\DDModules\ZooFlow\bin\Debug\DigitalData.Modules.ZooFlow.dll</HintPath>
</Reference>
<Reference Include="FirebirdSql.Data.FirebirdClient, Version=7.5.0.0, Culture=neutral, PublicKeyToken=3750abcc3150b00c, processorArchitecture=MSIL">
<HintPath>..\packages\FirebirdSql.Data.FirebirdClient.7.5.0\lib\net452\FirebirdSql.Data.FirebirdClient.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="Microsoft.Extensions.Logging.Abstractions, Version=2.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Logging.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>
</Reference>
<Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.5.0.5\lib\net46\NLog.dll</HintPath>
</Reference>
<Reference Include="Quartz, Version=3.5.0.0, Culture=neutral, PublicKeyToken=f6b8c98a402cc8a4, processorArchitecture=MSIL">
<HintPath>..\packages\Quartz.3.5.0\lib\net462\Quartz.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
</Reference>
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Configuration" />
<Reference Include="System.Configuration.Install" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Diagnostics.DiagnosticSource, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.DiagnosticSource.4.7.1\lib\net46\System.Diagnostics.DiagnosticSource.dll</HintPath>
</Reference>
<Reference Include="System.IO.Compression" />
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll</HintPath>
</Reference>
<Reference Include="System.Numerics" />
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.5.3\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.Remoting" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.ServiceModel" />
<Reference Include="System.ServiceProcess" />
<Reference Include="System.Transactions" />
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Net.Http" />
</ItemGroup>
<ItemGroup>
<Import Include="Microsoft.VisualBasic" />
<Import Include="System" />
<Import Include="System.Collections" />
<Import Include="System.Collections.Generic" />
<Import Include="System.Data" />
<Import Include="System.Diagnostics" />
<Import Include="System.Linq" />
<Import Include="System.Xml.Linq" />
<Import Include="System.Threading.Tasks" />
</ItemGroup>
<ItemGroup>
<Compile Include="BaseClass.vb" />
<Compile Include="BaseMethod.vb" />
<Compile Include="ClassConstants.vb" />
<Compile Include="Config.vb" />
<Compile Include="Methods\Base\GetClientConfig\GetClientConfigMethod.vb" />
<Compile Include="Methods\Base\GetClientConfig\GetClientConfigResponse.vb" />
<Compile Include="Methods\Database\DatabaseName.vb" />
<Compile Include="Methods\Database\DatabaseType.vb" />
<Compile Include="Methods\Database\ExecuteNonQuery\ExecuteNonQueryMethod.vb" />
<Compile Include="Methods\Database\ExecuteNonQuery\ExecuteNonQueryRequest.vb" />
<Compile Include="Methods\Database\ExecuteNonQuery\ExecuteNonQueryResponse.vb" />
<Compile Include="Methods\Database\GetScalarValue\GetScalarValueMethod.vb" />
<Compile Include="Methods\Database\GetScalarValue\GetScalarValueRequest.vb" />
<Compile Include="Methods\Database\GetScalarValue\GetScalarValueResponse.vb" />
<Compile Include="Methods\Database\GetDatatable\GetDatatableMethod.vb" />
<Compile Include="Methods\Database\GetDatatable\GetDatatableRequest.vb" />
<Compile Include="Methods\Database\GetDatatable\GetDatatableResponse.vb" />
<Compile Include="Methods\IDB\CheckInOutFile\CheckInOutFileMethod.vb" />
<Compile Include="Methods\IDB\CheckInOutFile\CheckInOutFileRequest.vb" />
<Compile Include="Methods\IDB\CheckInOutFile\CheckInOutFileResponse.vb" />
<Compile Include="Methods\IDB\FileProperties.vb" />
<Compile Include="Methods\IDB\GetAttributeValue\GetAttributeValueMethod.vb" />
<Compile Include="Methods\IDB\GetAttributeValue\GetAttributeValueRequest.vb" />
<Compile Include="Methods\IDB\GetAttributeValue\GetAttributeValueResponse.vb" />
<Compile Include="Methods\Database\GetDatatableFromCache\GetDatatableFromCacheMethod.vb" />
<Compile Include="Methods\Database\GetDatatableFromCache\GetDatatableFromCacheRequest.vb" />
<Compile Include="Methods\Database\GetDatatableFromCache\GetDatatableFromCacheResponse.vb" />
<Compile Include="Methods\IDB\GetFileInfo\FileInfo.vb" />
<Compile Include="Methods\IDB\GetFileInfo\GetFileInfoMethod.vb" />
<Compile Include="Methods\IDB\GetFileInfo\GetFileInfoRequest.vb" />
<Compile Include="Methods\IDB\GetFileInfo\GetFileInfoResponse.vb" />
<Compile Include="Methods\IDB\GetFileObject\FileObject.vb" />
<Compile Include="Methods\IDB\GetFileObject\GetFileObjectRequest.vb" />
<Compile Include="Methods\IDB\GetFileObject\GetFileObjectResponse.vb" />
<Compile Include="Methods\IDB\GetFileObject\GetFileObjectMethod.vb" />
<Compile Include="Methods\GlobalIndexer\AutomaticIndex.vb" />
<Compile Include="Methods\GlobalIndexer\BaseIndex.vb" />
<Compile Include="Methods\GlobalIndexer\ImportFile\Steps\AutomaticIndexing.vb" />
<Compile Include="Methods\GlobalIndexer\ImportFile\ImportFileMethod.vb" />
<Compile Include="Methods\GlobalIndexer\ImportFile\ImportFileRequest.vb" />
<Compile Include="Methods\GlobalIndexer\ImportFile\ImportFileResponse.vb" />
<Compile Include="Methods\GlobalIndexer\ImportFile\Steps\PostProcessing.vb" />
<Compile Include="Methods\GlobalIndexer\Loader.vb" />
<Compile Include="Methods\GlobalIndexer\ManualIndex.vb" />
<Compile Include="Methods\GlobalIndexer\PostProcessingStep.vb" />
<Compile Include="Methods\GlobalIndexer\Profile.vb" />
<Compile Include="Methods\IDB\ImportFile\ImportFileMethod.vb" />
<Compile Include="Methods\IDB\ImportFile\ImportFileRequest.vb" />
<Compile Include="Methods\IDB\ImportFile\ImportFileResponse.vb" />
<Compile Include="Methods\IDB\NewFile\NewFileMethod.vb" />
<Compile Include="Methods\IDB\NewFile\NewFileRequest.vb" />
<Compile Include="Methods\IDB\NewFile\NewFileResponse.vb" />
<Compile Include="Methods\IDB\SetAttributeValue\SetAttributeValueMethod.vb" />
<Compile Include="Methods\IDB\SetAttributeValue\SetAttributeValueResponse.vb" />
<Compile Include="Methods\IDB\SetAttributeValue\SetAttributeValueRequest.vb" />
<Compile Include="GlobalState.vb" />
<Compile Include="IDB\Helpers.vb" />
<Compile Include="Messages\AccessRightResult.vb" />
<Compile Include="Messages\Messages.vb" />
<Compile Include="Messages\BaseResponse.vb" />
<Compile Include="Exceptions.vb" />
<Compile Include="Messages\DatabaseResult.vb" />
<Compile Include="EDMIService.vb" />
<Compile Include="Methods\IDB\AttributeValue.vb" />
<Compile Include="Methods\IDB\UpdateFile\UpdateFileMethod.vb" />
<Compile Include="Methods\IDB\UpdateFile\UpdateFileRequest.vb" />
<Compile Include="Methods\IDB\UpdateFile\UpdateFileResponse.vb" />
<Compile Include="Scheduler\LogProvider.vb" />
<Compile Include="Scheduler\Scheduler.vb" />
<Compile Include="Scheduler\DatatableJob.vb" />
<Compile Include="Scheduler\JobListener.vb" />
<Compile Include="Scheduler\JobResult.vb" />
<Compile Include="Security\SecureFileHandler.vb" />
<Compile Include="ServiceHost.vb" />
<Compile Include="WindowsService.vb">
<SubType>Component</SubType>
</Compile>
<Compile Include="IEDMIService.vb" />
<Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<Compile Include="My Project\Resources.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="My Project\Settings.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<Compile Include="ProjectInstaller.vb">
<SubType>Component</SubType>
</Compile>
<Compile Include="SettingsModule.vb" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
<CustomToolNamespace>My.Resources</CustomToolNamespace>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="ProjectInstaller.resx">
<DependentUpon>ProjectInstaller.vb</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="My Project\Application.myapp">
<Generator>MyApplicationCodeGenerator</Generator>
<LastGenOutput>Application.Designer.vb</LastGenOutput>
</None>
<None Include="My Project\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<CustomToolNamespace>My</CustomToolNamespace>
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None>
<None Include="App.config">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<SubType>Designer</SubType>
</None>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.6.1">
<Visible>False</Visible>
<ProductName>Microsoft .NET Framework 4.6.1 %28x86 und x64%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
</Project>

View File

@@ -86,14 +86,7 @@ Namespace Methods.GlobalIndexer.ImportFile
oAutoAttributes = oAutomaticIndexing.ApplyAutomaticeAttributes(oUserAttributes, pData.File.FileInfoRaw, User) oAutoAttributes = oAutomaticIndexing.ApplyAutomaticeAttributes(oUserAttributes, pData.File.FileInfoRaw, User)
' Import the file ' Import the file
Dim oNewFile As New NewFile.NewFileMethod(LogConfig, DatabaseIDB, DatabaseECM, GlobalState) Dim oResponse = ImportFile(pData)
Dim oResponse = oNewFile.Run(New NewFile.NewFileRequest With {
.File = pData.File,
.IDBDoctypeId = pData.IDBDoctypeId,
.KindType = pData.KindType,
.StoreName = pData.StoreName,
.User = User
})
If oResponse.OK Then If oResponse.OK Then
Logger.Info("Import of file [{0}] under ObjectId [{1}] successful!", pData.File.FileName, oResponse.ObjectId) Logger.Info("Import of file [{0}] under ObjectId [{1}] successful!", pData.File.FileName, oResponse.ObjectId)
@@ -147,7 +140,16 @@ Namespace Methods.GlobalIndexer.ImportFile
Return New Globix_ImportFileResponse(ex) Return New Globix_ImportFileResponse(ex)
End Try End Try
End Function End Function
Private Function ImportFile(pData As Globix_ImportFileRequest) As NewFile.NewFileResponse
Dim oNewFile As New NewFile.NewFileMethod(LogConfig, DatabaseIDB, DatabaseECM, GlobalState)
Return oNewFile.Run(New NewFile.NewFileRequest With {
.File = pData.File,
.IDBDoctypeId = pData.IDBDoctypeId,
.KindType = pData.KindType,
.StoreName = pData.StoreName,
.User = User
})
End Function
Private Function GetVirtualPath(pFileInfo As FileInfo, pPathConvention As String, pUser As UserState, pUserAttributes As List(Of UserAttributeValue), pAutoAttributes As List(Of UserAttributeValue)) Private Function GetVirtualPath(pFileInfo As FileInfo, pPathConvention As String, pUser As UserState, pUserAttributes As List(Of UserAttributeValue), pAutoAttributes As List(Of UserAttributeValue))
Logger.Info("Generating virtual path for file [{0}]", pFileInfo.Name) Logger.Info("Generating virtual path for file [{0}]", pFileInfo.Name)

View File

@@ -106,6 +106,9 @@
<ItemGroup> <ItemGroup>
<Compile Include="Config.vb" /> <Compile Include="Config.vb" />
<Compile Include="Constants.vb" /> <Compile Include="Constants.vb" />
<Compile Include="..\\..\\DDModules\\Jobs\\ZUGFeRD\\WorkerArgs.vb">
<Link>ZUGFeRD\\WorkerArgs.vb</Link>
</Compile>
<Compile Include="My Project\Application.Designer.vb"> <Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen> <AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon> <DependentUpon>Application.myapp</DependentUpon>

View File

@@ -465,7 +465,7 @@ namespace ZUGFeRDRESTService.Controllers
var language = "de-DE"; var language = "de-DE";
var searchTitle = "ZUGFERD_Rejection_" + pErrorCode + "_Web"; var searchTitle = "ZUGFERD_Rejection_" + pErrorCode + "_Web";
var messageItem = _RecjectionMessageList.Where(i => i.Title.Equals(searchTitle, StringComparison.OrdinalIgnoreCase) && i.Language == language).FirstOrDefault(); var messageItem = _RecjectionMessageList.Where(i => i.Title.Equals(searchTitle, StringComparison.OrdinalIgnoreCase) && i.Language.Equals(language, StringComparison.OrdinalIgnoreCase)).FirstOrDefault();
if (messageItem != null) if (messageItem != null)
{ {
_logger.Info("GetRejectionMessage() - messageItem: '" + messageItem.String1 + "'"); _logger.Info("GetRejectionMessage() - messageItem: '" + messageItem.String1 + "'");