commit 59a8e4d6b90dff857cc76c7faef43405ba1eea96 Author: Stefan Hutter Date: Wed Oct 30 08:52:28 2024 +0100 Update diff --git a/Git_Create.bat b/Git_Create.bat new file mode 100644 index 0000000..d801c23 --- /dev/null +++ b/Git_Create.bat @@ -0,0 +1,8 @@ +touch README.md +git init +git checkout -b main +git add README.md +git commit -m "first commit" +git remote add origin https://gitea.shubweb.ch/shu/Logbuch.git +git push -u origin main +pause \ No newline at end of file diff --git a/Logbuch/.vs/Logbuch/FileContentIndex/57bd87d0-7205-4621-88e3-f0c07880bf45.vsidx b/Logbuch/.vs/Logbuch/FileContentIndex/57bd87d0-7205-4621-88e3-f0c07880bf45.vsidx new file mode 100644 index 0000000..d66d0c8 Binary files /dev/null and b/Logbuch/.vs/Logbuch/FileContentIndex/57bd87d0-7205-4621-88e3-f0c07880bf45.vsidx differ diff --git a/Logbuch/.vs/Logbuch/v14/.suo b/Logbuch/.vs/Logbuch/v14/.suo new file mode 100644 index 0000000..9e1f585 Binary files /dev/null and b/Logbuch/.vs/Logbuch/v14/.suo differ diff --git a/Logbuch/.vs/Logbuch/v15/.suo b/Logbuch/.vs/Logbuch/v15/.suo new file mode 100644 index 0000000..0c60661 Binary files /dev/null and b/Logbuch/.vs/Logbuch/v15/.suo differ diff --git a/Logbuch/.vs/Logbuch/v15/Server/sqlite3/db.lock b/Logbuch/.vs/Logbuch/v15/Server/sqlite3/db.lock new file mode 100644 index 0000000..e69de29 diff --git a/Logbuch/.vs/Logbuch/v15/Server/sqlite3/storage.ide b/Logbuch/.vs/Logbuch/v15/Server/sqlite3/storage.ide new file mode 100644 index 0000000..5cb2c62 Binary files /dev/null and b/Logbuch/.vs/Logbuch/v15/Server/sqlite3/storage.ide differ diff --git a/Logbuch/.vs/Logbuch/v16/.suo b/Logbuch/.vs/Logbuch/v16/.suo new file mode 100644 index 0000000..2f188b2 Binary files /dev/null and b/Logbuch/.vs/Logbuch/v16/.suo differ diff --git a/Logbuch/.vs/Logbuch/v16/Server/sqlite3/db.lock b/Logbuch/.vs/Logbuch/v16/Server/sqlite3/db.lock new file mode 100644 index 0000000..e69de29 diff --git a/Logbuch/.vs/Logbuch/v16/Server/sqlite3/storage.ide b/Logbuch/.vs/Logbuch/v16/Server/sqlite3/storage.ide new file mode 100644 index 0000000..b96e0fd Binary files /dev/null and b/Logbuch/.vs/Logbuch/v16/Server/sqlite3/storage.ide differ diff --git a/Logbuch/.vs/Logbuch/v17/.suo b/Logbuch/.vs/Logbuch/v17/.suo new file mode 100644 index 0000000..b5316a0 Binary files /dev/null and b/Logbuch/.vs/Logbuch/v17/.suo differ diff --git a/Logbuch/.vs/Logbuch/v17/DocumentLayout.json b/Logbuch/.vs/Logbuch/v17/DocumentLayout.json new file mode 100644 index 0000000..49e60c4 --- /dev/null +++ b/Logbuch/.vs/Logbuch/v17/DocumentLayout.json @@ -0,0 +1,123 @@ +{ + "Version": 1, + "WorkspaceRootPath": "E:\\Software-Projekte\\TKBDiverse\\Logbuch\\Logbuch\\", + "Documents": [ + { + "AbsoluteMoniker": "D:0:0:{8A404216-38A9-4305-9BA2-04CD2AC20F32}|Logbuch\\Logbuch.vbproj|e:\\software-projekte\\tkbdiverse\\logbuch\\logbuch\\logbuch\\logbuch\\frmschuldbrief.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}", + "RelativeMoniker": "D:0:0:{8A404216-38A9-4305-9BA2-04CD2AC20F32}|Logbuch\\Logbuch.vbproj|solutionrelative:logbuch\\logbuch\\frmschuldbrief.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}" + }, + { + "AbsoluteMoniker": "D:0:0:{8A404216-38A9-4305-9BA2-04CD2AC20F32}|Logbuch\\Logbuch.vbproj|E:\\Software-Projekte\\TKBDiverse\\Logbuch\\Logbuch\\logbuch\\logbuch\\frmschuldbrief.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}|Form", + "RelativeMoniker": "D:0:0:{8A404216-38A9-4305-9BA2-04CD2AC20F32}|Logbuch\\Logbuch.vbproj|solutionrelative:logbuch\\logbuch\\frmschuldbrief.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}|Form" + }, + { + "AbsoluteMoniker": "D:0:0:{8A404216-38A9-4305-9BA2-04CD2AC20F32}|Logbuch\\Logbuch.vbproj|E:\\Software-Projekte\\TKBDiverse\\Logbuch\\Logbuch\\logbuch\\logbuch\\frmpolice.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}", + "RelativeMoniker": "D:0:0:{8A404216-38A9-4305-9BA2-04CD2AC20F32}|Logbuch\\Logbuch.vbproj|solutionrelative:logbuch\\logbuch\\frmpolice.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}" + }, + { + "AbsoluteMoniker": "D:0:0:{00000000-0000-0000-0000-000000000000}|\u003CSolution\u003E|Logbuch||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|" + }, + { + "AbsoluteMoniker": "D:0:0:{8A404216-38A9-4305-9BA2-04CD2AC20F32}|Logbuch\\Logbuch.vbproj|E:\\Software-Projekte\\TKBDiverse\\Logbuch\\Logbuch\\logbuch\\klassen\\clsdbhandling.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}", + "RelativeMoniker": "D:0:0:{8A404216-38A9-4305-9BA2-04CD2AC20F32}|Logbuch\\Logbuch.vbproj|solutionrelative:logbuch\\klassen\\clsdbhandling.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}" + }, + { + "AbsoluteMoniker": "D:0:0:{8A404216-38A9-4305-9BA2-04CD2AC20F32}|Logbuch\\Logbuch.vbproj|E:\\Software-Projekte\\TKBDiverse\\Logbuch\\Logbuch\\logbuch\\logbuch\\frmpolice.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}|Form", + "RelativeMoniker": "D:0:0:{8A404216-38A9-4305-9BA2-04CD2AC20F32}|Logbuch\\Logbuch.vbproj|solutionrelative:logbuch\\logbuch\\frmpolice.vb||{2C015C70-C72C-11D0-88C3-00A0C9110049}|Form" + } + ], + "DocumentGroupContainers": [ + { + "Orientation": 0, + "VerticalTabListWidth": 256, + "DocumentGroups": [ + { + "DockedWidth": 200, + "SelectedChildIndex": 4, + "Children": [ + { + "$type": "Document", + "DocumentIndex": 4, + "Title": "clsdbhandling.vb", + "DocumentMoniker": "E:\\Software-Projekte\\TKBDiverse\\Logbuch\\Logbuch\\Logbuch\\Klassen\\clsdbhandling.vb", + "RelativeDocumentMoniker": "Logbuch\\Klassen\\clsdbhandling.vb", + "ToolTip": "E:\\Software-Projekte\\TKBDiverse\\Logbuch\\Logbuch\\Logbuch\\Klassen\\clsdbhandling.vb", + "RelativeToolTip": "Logbuch\\Klassen\\clsdbhandling.vb", + "ViewState": "AQIAACwBAAAAAAAAAAAmwD4BAAAIAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|", + "WhenOpened": "2024-10-29T19:26:52.272Z", + "IsPinned": true + }, + { + "$type": "Bookmark", + "Name": "ST:0:0:{b1e99781-ab81-11d0-b683-00aa00a3ee26}" + }, + { + "$type": "Bookmark", + "Name": "ST:0:0:{aa2115a1-9712-457b-9047-dbb71ca2cdd2}" + }, + { + "$type": "Document", + "DocumentIndex": 1, + "Title": "frmSchuldbrief.vb [Entwurf]", + "DocumentMoniker": "E:\\Software-Projekte\\TKBDiverse\\Logbuch\\Logbuch\\Logbuch\\Logbuch\\frmSchuldbrief.vb", + "RelativeDocumentMoniker": "Logbuch\\Logbuch\\frmSchuldbrief.vb", + "ToolTip": "E:\\Software-Projekte\\TKBDiverse\\Logbuch\\Logbuch\\Logbuch\\Logbuch\\frmSchuldbrief.vb [Entwurf]", + "RelativeToolTip": "Logbuch\\Logbuch\\frmSchuldbrief.vb [Entwurf]", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|", + "WhenOpened": "2024-10-30T05:30:45.961Z", + "EditorCaption": " [Entwurf]" + }, + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "frmSchuldbrief.vb", + "DocumentMoniker": "E:\\Software-Projekte\\TKBDiverse\\Logbuch\\Logbuch\\Logbuch\\Logbuch\\frmSchuldbrief.vb", + "RelativeDocumentMoniker": "Logbuch\\Logbuch\\frmSchuldbrief.vb", + "ToolTip": "E:\\Software-Projekte\\TKBDiverse\\Logbuch\\Logbuch\\Logbuch\\Logbuch\\frmSchuldbrief.vb", + "RelativeToolTip": "Logbuch\\Logbuch\\frmSchuldbrief.vb", + "ViewState": "AQIAAAcAAAAAAAAAAAAkwNcAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|", + "WhenOpened": "2024-10-30T04:57:11.392Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 3, + "Title": "Logbuch", + "DocumentMoniker": "E:\\Software-Projekte\\TKBDiverse\\Logbuch\\Logbuch\\Logbuch\\Logbuch.vbproj", + "RelativeDocumentMoniker": "Logbuch\\Logbuch.vbproj", + "ToolTip": "E:\\Software-Projekte\\TKBDiverse\\Logbuch\\Logbuch\\Logbuch\\Logbuch.vbproj", + "RelativeToolTip": "Logbuch\\Logbuch.vbproj", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001001|", + "WhenOpened": "2024-10-30T05:24:21.959Z" + }, + { + "$type": "Document", + "DocumentIndex": 2, + "Title": "frmPolice.vb", + "DocumentMoniker": "E:\\Software-Projekte\\TKBDiverse\\Logbuch\\Logbuch\\Logbuch\\Logbuch\\frmPolice.vb", + "RelativeDocumentMoniker": "Logbuch\\Logbuch\\frmPolice.vb", + "ToolTip": "E:\\Software-Projekte\\TKBDiverse\\Logbuch\\Logbuch\\Logbuch\\Logbuch\\frmPolice.vb", + "RelativeToolTip": "Logbuch\\Logbuch\\frmPolice.vb", + "ViewState": "AQIAADQBAAAAAAAAAAAAwD8BAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|", + "WhenOpened": "2024-10-29T19:26:52.265Z" + }, + { + "$type": "Document", + "DocumentIndex": 5, + "Title": "frmPolice.vb [Entwurf]", + "DocumentMoniker": "E:\\Software-Projekte\\TKBDiverse\\Logbuch\\Logbuch\\Logbuch\\Logbuch\\frmPolice.vb", + "RelativeDocumentMoniker": "Logbuch\\Logbuch\\frmPolice.vb", + "ToolTip": "E:\\Software-Projekte\\TKBDiverse\\Logbuch\\Logbuch\\Logbuch\\Logbuch\\frmPolice.vb [Entwurf]", + "RelativeToolTip": "Logbuch\\Logbuch\\frmPolice.vb [Entwurf]", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003361|", + "WhenOpened": "2024-10-29T19:28:45.98Z" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/Logbuch/20171126_Update/DBScripts.txt b/Logbuch/20171126_Update/DBScripts.txt new file mode 100644 index 0000000..415779a --- /dev/null +++ b/Logbuch/20171126_Update/DBScripts.txt @@ -0,0 +1,84 @@ +ALTER TABLE Logbuch ADD LSNr VARCHAR(255) +GO +ALTER TABLE Logbuch ADD GrundBuchNr INT +GO +UPDATE logbuch SET grundbuchnr=0 +UPDATE logbuch SET lsnr='' + +USE [logbuch] +GO + +/****** Object: Table [dbo].[Grundbuch] Script Date: 26.11.2017 11:16:51 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +SET ANSI_PADDING ON +GO + +CREATE TABLE [dbo].[Grundbuch]( + [GrundbuchNr] [INT] IDENTITY(1,1) NOT NULL, + [Grundbuch] [VARCHAR](255) NULL, + [Aktiv] [BIT] NULL, + CONSTRAINT [PK_Grundbuch] PRIMARY KEY CLUSTERED +( + [GrundbuchNr] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] + +GO + +SET ANSI_PADDING OFF +GO + +USE [logbuch] +GO + +/****** Object: StoredProcedure [dbo].[SP_Anzeige] Script Date: 26.11.2017 15:26:08 ******/ +DROP PROCEDURE [dbo].[SP_Anzeige] +GO + +/****** Object: StoredProcedure [dbo].[SP_Anzeige] Script Date: 26.11.2017 15:26:08 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +CREATE PROCEDURE [dbo].[SP_Anzeige] + @partner VARCHAR(25), + @modus INT = 1 -- 1 -> schuldbriefe, 0 -> policen +AS + + + +IF @modus = 1 BEGIN + SELECT Logbuch.*, Partner.BKPAR00, Benutzer.Kurzzeichen AS UserKurzzeichen, Bemerkungen.Bemerkung AS XBemerkung, + Gegenpartei.Bezeichnung AS XGegenpartei , LEFT(RIGHT(REPLICATE('0',8) + CAST(partnernr AS VARCHAR(8)),8),4)+'.'+RIGHT(RIGHT(REPLICATE('0',8)+CAST(partnernr AS VARCHAR(8)),8),4) AS PnrAufbereitet, + grundbuch.Grundbuch + FROM Logbuch + INNER JOIN Gegenpartei ON Logbuch.Gegenpartei = Gegenpartei.Gegenparteinr + LEFT OUTER JOIN Grundbuch ON Logbuch.Grundbuchnr = Grundbuch.Grundbuchnr + LEFT OUTER JOIN Bemerkungen ON Logbuch.Stdbemerkung = Bemerkungen.Bemerkungsnr + LEFT OUTER JOIN Benutzer ON Logbuch.Mitarbeiter = Benutzer.NrBenutzer + LEFT OUTER JOIN dbo.Partner ON Logbuch.Partnernr = dbo.Partner.NRPAR00 + WHERE Partnernr = @partner +END ELSE IF @modus = 0 BEGIN +SELECT Policen.*, Partner.BKPAR00, Benutzer.Kurzzeichen AS UserKurzzeichen, Bemerkungen.Bemerkung AS XBemerkung, + Gegenpartei.Bezeichnung AS XGegenpartei , LEFT(RIGHT(REPLICATE('0',8) + CAST(partnernr AS VARCHAR(8)),8),4)+'.'+RIGHT(RIGHT(REPLICATE('0',8)+CAST(partnernr AS VARCHAR(8)),8),4) AS PnrAufbereitet, + dbo.Versgesellschaften.Bezeichnung AS Versgesellschaft + FROM Policen + INNER JOIN Gegenpartei ON Policen.Gegenpartei = Gegenpartei.Gegenparteinr + LEFT OUTER JOIN dbo.Versgesellschaften ON policen.VersgesellschaftId = dbo.Versgesellschaften.VersgesellschaftId + LEFT OUTER JOIN Bemerkungen ON Policen.Stdbemerkung = Bemerkungen.Bemerkungsnr + LEFT OUTER JOIN Benutzer ON Policen.MitarbeiterNr = Benutzer.NrBenutzer + LEFT OUTER JOIN dbo.Partner ON Policen.Partnernr = dbo.Partner.NRPAR00 + WHERE Partnernr = @partner +END + +GO + + diff --git a/Logbuch/20171126_Update/dbscripts.pdf b/Logbuch/20171126_Update/dbscripts.pdf new file mode 100644 index 0000000..874dcf9 Binary files /dev/null and b/Logbuch/20171126_Update/dbscripts.pdf differ diff --git a/Logbuch/Access_Version/Logbuch/Logbuch.ico b/Logbuch/Access_Version/Logbuch/Logbuch.ico new file mode 100644 index 0000000..113f411 Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/Logbuch.ico differ diff --git a/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20080820_SIK/LA1.rpt b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20080820_SIK/LA1.rpt new file mode 100644 index 0000000..93b2aac Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20080820_SIK/LA1.rpt differ diff --git a/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20080820_SIK/LA2.rpt b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20080820_SIK/LA2.rpt new file mode 100644 index 0000000..67a37b2 Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20080820_SIK/LA2.rpt differ diff --git a/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20080820_SIK/Policen_nachMA.rpt b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20080820_SIK/Policen_nachMA.rpt new file mode 100644 index 0000000..d92871e Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20080820_SIK/Policen_nachMA.rpt differ diff --git a/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20080820_SIK/Policen_nachPart.rpt b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20080820_SIK/Policen_nachPart.rpt new file mode 100644 index 0000000..ee660cb Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20080820_SIK/Policen_nachPart.rpt differ diff --git a/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20081201/LA1.rpt b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20081201/LA1.rpt new file mode 100644 index 0000000..602562f Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20081201/LA1.rpt differ diff --git a/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20081201/LA2.rpt b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20081201/LA2.rpt new file mode 100644 index 0000000..41e786d Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20081201/LA2.rpt differ diff --git a/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20081201/Policen_nachMA.rpt b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20081201/Policen_nachMA.rpt new file mode 100644 index 0000000..deed89c Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20081201/Policen_nachMA.rpt differ diff --git a/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20081201/Policen_nachPart.rpt b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20081201/Policen_nachPart.rpt new file mode 100644 index 0000000..d831bdd Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20081201/Policen_nachPart.rpt differ diff --git a/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20120612/LA1.rpt b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20120612/LA1.rpt new file mode 100644 index 0000000..850f497 Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20120612/LA1.rpt differ diff --git a/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20120612/LA2.rpt b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20120612/LA2.rpt new file mode 100644 index 0000000..9656a1e Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20120612/LA2.rpt differ diff --git a/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20120612/Policen_nachMA.rpt b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20120612/Policen_nachMA.rpt new file mode 100644 index 0000000..0d85ce0 Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20120612/Policen_nachMA.rpt differ diff --git a/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20120612/Policen_nachPart.rpt b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20120612/Policen_nachPart.rpt new file mode 100644 index 0000000..53543c4 Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20120612/Policen_nachPart.rpt differ diff --git a/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20120612_old/LA1.rpt b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20120612_old/LA1.rpt new file mode 100644 index 0000000..602ebff Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20120612_old/LA1.rpt differ diff --git a/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20120612_old/LA2.rpt b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20120612_old/LA2.rpt new file mode 100644 index 0000000..04e2cf5 Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20120612_old/LA2.rpt differ diff --git a/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20120612_old/Policen_nachMA.rpt b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20120612_old/Policen_nachMA.rpt new file mode 100644 index 0000000..deed89c Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20120612_old/Policen_nachMA.rpt differ diff --git a/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20120612_old/Policen_nachPart.rpt b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20120612_old/Policen_nachPart.rpt new file mode 100644 index 0000000..d831bdd Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/20120612_old/Policen_nachPart.rpt differ diff --git a/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/LA1.rpt b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/LA1.rpt new file mode 100644 index 0000000..850f497 Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/LA1.rpt differ diff --git a/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/LA2.rpt b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/LA2.rpt new file mode 100644 index 0000000..9656a1e Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/LA2.rpt differ diff --git a/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/Policen_nachMA.rpt b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/Policen_nachMA.rpt new file mode 100644 index 0000000..0d85ce0 Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/Policen_nachMA.rpt differ diff --git a/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/Policen_nachPart.rpt b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/Policen_nachPart.rpt new file mode 100644 index 0000000..53543c4 Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/Reports/PReports_V113/Policen_nachPart.rpt differ diff --git a/Logbuch/Access_Version/Logbuch/Reports/Reports_V113/LA1.rpt b/Logbuch/Access_Version/Logbuch/Reports/Reports_V113/LA1.rpt new file mode 100644 index 0000000..a3a772b Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/Reports/Reports_V113/LA1.rpt differ diff --git a/Logbuch/Access_Version/Logbuch/Reports/Reports_V113/LA2.rpt b/Logbuch/Access_Version/Logbuch/Reports/Reports_V113/LA2.rpt new file mode 100644 index 0000000..a6a1ea6 Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/Reports/Reports_V113/LA2.rpt differ diff --git a/Logbuch/Access_Version/Logbuch/Reports/Reports_V113/Policen_MA.rpt b/Logbuch/Access_Version/Logbuch/Reports/Reports_V113/Policen_MA.rpt new file mode 100644 index 0000000..e9f1622 Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/Reports/Reports_V113/Policen_MA.rpt differ diff --git a/Logbuch/Access_Version/Logbuch/Reports/Reports_V113/Policen_nachMA.rpt b/Logbuch/Access_Version/Logbuch/Reports/Reports_V113/Policen_nachMA.rpt new file mode 100644 index 0000000..5d459e6 Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/Reports/Reports_V113/Policen_nachMA.rpt differ diff --git a/Logbuch/Access_Version/Logbuch/Reports/Reports_V113/Policen_nachPart.rpt b/Logbuch/Access_Version/Logbuch/Reports/Reports_V113/Policen_nachPart.rpt new file mode 100644 index 0000000..f0a62c9 Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/Reports/Reports_V113/Policen_nachPart.rpt differ diff --git a/Logbuch/Access_Version/Logbuch/Reports/Reports_V113/policen_partner.rpt b/Logbuch/Access_Version/Logbuch/Reports/Reports_V113/policen_partner.rpt new file mode 100644 index 0000000..39fe7fa Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/Reports/Reports_V113/policen_partner.rpt differ diff --git a/Logbuch/Access_Version/Logbuch/TGLOGBUCH.ade b/Logbuch/Access_Version/Logbuch/TGLOGBUCH.ade new file mode 100644 index 0000000..2916d74 Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/TGLOGBUCH.ade differ diff --git a/Logbuch/Access_Version/Logbuch/TKBCR/AMS_Connstring.cfg b/Logbuch/Access_Version/Logbuch/TKBCR/AMS_Connstring.cfg new file mode 100644 index 0000000..7804684 --- /dev/null +++ b/Logbuch/Access_Version/Logbuch/TKBCR/AMS_Connstring.cfg @@ -0,0 +1 @@ +¹µÈ¦rȽ¹¿¸ª‰ Œ¢‰¢§˜‡‚…|˜”˜”žœs•½Â®Æ¾¯°m¸¦À­±Á¯’È»¦¿È{ªÇ»³Æ‡µ·ºÈ½Ç¹rȳ§ÂÇ®ÀÅe»¶»Ã‘‹³ÁÁ©ˆÌ´¾·¸Æ©É½Ã³r¾²ˆÅ¦¯·ªÆhȽڏ‰~}ƒº¿±·r±¹‘¸§³ÂÁªÇ»€¼­¸Å¿ÄƸ‚¶·¯±À»¿²~wƒ diff --git a/Logbuch/Access_Version/Logbuch/TKBCR/CrystalDecisions.CrystalReports.Engine.dll b/Logbuch/Access_Version/Logbuch/TKBCR/CrystalDecisions.CrystalReports.Engine.dll new file mode 100644 index 0000000..f589937 Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/TKBCR/CrystalDecisions.CrystalReports.Engine.dll differ diff --git a/Logbuch/Access_Version/Logbuch/TKBCR/CrystalDecisions.Enterprise.Framework.dll b/Logbuch/Access_Version/Logbuch/TKBCR/CrystalDecisions.Enterprise.Framework.dll new file mode 100644 index 0000000..8fcb84f Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/TKBCR/CrystalDecisions.Enterprise.Framework.dll differ diff --git a/Logbuch/Access_Version/Logbuch/TKBCR/CrystalDecisions.Enterprise.InfoStore.dll b/Logbuch/Access_Version/Logbuch/TKBCR/CrystalDecisions.Enterprise.InfoStore.dll new file mode 100644 index 0000000..83cabbc Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/TKBCR/CrystalDecisions.Enterprise.InfoStore.dll differ diff --git a/Logbuch/Access_Version/Logbuch/TKBCR/CrystalDecisions.ReportSource.dll b/Logbuch/Access_Version/Logbuch/TKBCR/CrystalDecisions.ReportSource.dll new file mode 100644 index 0000000..e9e37df Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/TKBCR/CrystalDecisions.ReportSource.dll differ diff --git a/Logbuch/Access_Version/Logbuch/TKBCR/CrystalDecisions.Shared.dll b/Logbuch/Access_Version/Logbuch/TKBCR/CrystalDecisions.Shared.dll new file mode 100644 index 0000000..839226e Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/TKBCR/CrystalDecisions.Shared.dll differ diff --git a/Logbuch/Access_Version/Logbuch/TKBCR/CrystalDecisions.Windows.Forms.dll b/Logbuch/Access_Version/Logbuch/TKBCR/CrystalDecisions.Windows.Forms.dll new file mode 100644 index 0000000..d43b6c4 Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/TKBCR/CrystalDecisions.Windows.Forms.dll differ diff --git a/Logbuch/Access_Version/Logbuch/TKBCR/CrystalReportsApplication1.vshost.exe b/Logbuch/Access_Version/Logbuch/TKBCR/CrystalReportsApplication1.vshost.exe new file mode 100644 index 0000000..ce3f102 Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/TKBCR/CrystalReportsApplication1.vshost.exe differ diff --git a/Logbuch/Access_Version/Logbuch/TKBCR/LB_Connstring.cfg b/Logbuch/Access_Version/Logbuch/TKBCR/LB_Connstring.cfg new file mode 100644 index 0000000..2c1a60d --- /dev/null +++ b/Logbuch/Access_Version/Logbuch/TKBCR/LB_Connstring.cfg @@ -0,0 +1 @@ +¹µÈ¦rȽ¹¿¸ª‰ Œ¢”¤›•’¥™t}ƒ™“”¤˜ƒ—œ€»Ã·¸¶¶±l¯¦Æ©Áû‚¾Äµ¦Â¸­‡¼ªÄ»¾ÇÈeź±¹¿¾¹Ål®À®Ä‘š¦¾È³ÄÄ··¿¹³¼¾ÃÂe»¹‹½¶¨·±¹r»¾Î¹‚†…‡zˆÊ¸±¾e»¬’¸¶±Á¼°¹°½€¼­¸Å¿ÄƸ‚¶·º³´·º¯´w„¸ diff --git a/Logbuch/Access_Version/Logbuch/TKBCR/TKBCRReporting.exe b/Logbuch/Access_Version/Logbuch/TKBCR/TKBCRReporting.exe new file mode 100644 index 0000000..e7f2ac1 Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/TKBCR/TKBCRReporting.exe differ diff --git a/Logbuch/Access_Version/Logbuch/TKBCR/TKBCRReporting.exe.config b/Logbuch/Access_Version/Logbuch/TKBCR/TKBCRReporting.exe.config new file mode 100644 index 0000000..5153188 --- /dev/null +++ b/Logbuch/Access_Version/Logbuch/TKBCR/TKBCRReporting.exe.config @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Logbuch/Access_Version/Logbuch/TKBCR/TKBCRReporting.pdb b/Logbuch/Access_Version/Logbuch/TKBCR/TKBCRReporting.pdb new file mode 100644 index 0000000..0efb05d Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/TKBCR/TKBCRReporting.pdb differ diff --git a/Logbuch/Access_Version/Logbuch/TKBCR/TKBCRReporting.vshost.exe b/Logbuch/Access_Version/Logbuch/TKBCR/TKBCRReporting.vshost.exe new file mode 100644 index 0000000..d595109 Binary files /dev/null and b/Logbuch/Access_Version/Logbuch/TKBCR/TKBCRReporting.vshost.exe differ diff --git a/Logbuch/Access_Version/Logbuch/TKBCR/TKBCRReporting.vshost.exe.config b/Logbuch/Access_Version/Logbuch/TKBCR/TKBCRReporting.vshost.exe.config new file mode 100644 index 0000000..5153188 --- /dev/null +++ b/Logbuch/Access_Version/Logbuch/TKBCR/TKBCRReporting.vshost.exe.config @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Logbuch/Access_Version/Logbuch/TKBCR/TKBCRReporting.vshost.exe.manifest b/Logbuch/Access_Version/Logbuch/TKBCR/TKBCRReporting.vshost.exe.manifest new file mode 100644 index 0000000..061c9ca --- /dev/null +++ b/Logbuch/Access_Version/Logbuch/TKBCR/TKBCRReporting.vshost.exe.manifest @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/Logbuch/Access_Version/Logbuch/TKBCR/TKBCRReporting.xml b/Logbuch/Access_Version/Logbuch/TKBCR/TKBCRReporting.xml new file mode 100644 index 0000000..f87fc8a --- /dev/null +++ b/Logbuch/Access_Version/Logbuch/TKBCR/TKBCRReporting.xml @@ -0,0 +1,24 @@ + + + + +TKBCRReporting + + + + + + Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + + + + Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + + + + Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + + + + \ No newline at end of file diff --git a/Logbuch/Access_Version/Logbuch/connstrlogbuch.cfg b/Logbuch/Access_Version/Logbuch/connstrlogbuch.cfg new file mode 100644 index 0000000..d1d1e46 --- /dev/null +++ b/Logbuch/Access_Version/Logbuch/connstrlogbuch.cfg @@ -0,0 +1 @@ +AcpxZPPiXKddDph[A_wdh]qUzt;bnYgbullSXiQrHQO;oL?N\h[^ieVu]a\a^wmE@KsBQhKvMWURwuCNZV_oVirVER\B@XT[RhD_OPupfaNDT]Iqp;RC_\]\xiNkooKXoTEZWa\\G diff --git a/Logbuch/DB_Scripts/Report_Tabellen.sql b/Logbuch/DB_Scripts/Report_Tabellen.sql new file mode 100644 index 0000000..5440b3a Binary files /dev/null and b/Logbuch/DB_Scripts/Report_Tabellen.sql differ diff --git a/Logbuch/DB_Scripts/StoredProc.sql b/Logbuch/DB_Scripts/StoredProc.sql new file mode 100644 index 0000000..95039b8 --- /dev/null +++ b/Logbuch/DB_Scripts/StoredProc.sql @@ -0,0 +1,457 @@ +USE [logbuch] +GO + +/****** Object: StoredProcedure [dbo].[sp_get_dbkey] Script Date: 28.09.2017 15:37:18 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [dbo].[sp_get_dbkey] + @tablename varchar(255), + @dbkey int output, + @iErrorcode int output +AS +BEGIN + declare @zwkey int + select @zwkey = key_wert from key_tabelle where beschreibung = @tablename + set @zwkey = @zwkey + 1 + update key_tabelle set key_wert = @zwkey where beschreibung=@tablename + select @dbkey = @zwkey + select @iErrorCode=@@Error +END + + +GO + +/****** Object: StoredProcedure [dbo].[pr_spalten_Delete] Script Date: 28.09.2017 15:37:18 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + + + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'spalten' +-- using the Primary Key. +-- Gets: @ieintragnr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_spalten_Delete] + @ieintragnr INT, + @iErrorCode INT OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[spalten] +WHERE + [eintragnr] = @ieintragnr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + + + + +GO + +/****** Object: StoredProcedure [dbo].[pr_spalten_Insert] Script Date: 28.09.2017 15:37:18 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + + + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'spalten' +-- Gets: @ieintragnr int +-- Gets: @stabelle varchar(255) +-- Gets: @stabellenspalte varchar(255) +-- Gets: @sspalte varchar(255) +-- Gets: @bReadonly bit +-- Gets: @balsHacken bit +-- Gets: @iBreite int +-- Gets: @iReihenfolge int +-- Gets: @stiptext varchar(255) +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Gets: @imandantnr int +-- Gets: @sNumberFormat varchar(255) +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_spalten_Insert] + @ieintragnr INT, + @stabelle VARCHAR(255), + @stabellenspalte VARCHAR(255), + @sspalte VARCHAR(255), + @bReadonly BIT, + @balsHacken BIT, + @iBreite INT, + @iReihenfolge INT, + @stiptext VARCHAR(255), + @baktiv BIT, + @daerstellt_am DATETIME, + @damutiert_am DATETIME, + @imutierer INT, + @imandantnr INT, + @sNumberFormat VARCHAR(255), + @iErrorCode INT OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[spalten] +( + [eintragnr], + [tabelle], + [tabellenspalte], + [spalte], + [Readonly], + [alsHacken], + [Breite], + [Reihenfolge], + [tiptext], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer], + [mandantnr], + [NumberFormat] +) +VALUES +( + @ieintragnr, + @stabelle, + @stabellenspalte, + @sspalte, + @bReadonly, + @balsHacken, + @iBreite, + @iReihenfolge, + @stiptext, + @baktiv, + @daerstellt_am, + @damutiert_am, + @imutierer, + @imandantnr, + @sNumberFormat +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + + + + +GO + +/****** Object: StoredProcedure [dbo].[pr_spalten_SelectAll_Aktiv] Script Date: 28.09.2017 15:37:18 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [dbo].[pr_spalten_SelectAll_Aktiv] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [eintragnr], + tabelle, + tabellenspalte, + [spalte], + [Readonly], + [alsHacken], + [Breite], + [Reihenfolge], + [tiptext], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer], + [mandantnr], + [numberformat] +FROM [dbo].[spalten] +Where aktiv=1 +ORDER BY + [eintragnr] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + + + + + + +GO + +/****** Object: StoredProcedure [dbo].[pr_spalten_SelectAll] Script Date: 28.09.2017 15:37:18 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + + + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'spalten' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_spalten_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [eintragnr], + [tabelle], + [tabellenspalte], + [spalte], + [Readonly], + [alsHacken], + [Breite], + [Reihenfolge], + [tiptext], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer], + [mandantnr], + [NumberFormat] +FROM [dbo].[spalten] +ORDER BY + [eintragnr] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + + + + +GO + +/****** Object: StoredProcedure [dbo].[pr_spalten_Update] Script Date: 28.09.2017 15:37:18 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + + + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'spalten' +-- Gets: @ieintragnr int +-- Gets: @stabelle varchar(255) +-- Gets: @stabellenspalte varchar(255) +-- Gets: @sspalte varchar(255) +-- Gets: @bReadonly bit +-- Gets: @balsHacken bit +-- Gets: @iBreite int +-- Gets: @iReihenfolge int +-- Gets: @stiptext varchar(255) +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Gets: @imandantnr int +-- Gets: @sNumberFormat varchar(255) +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_spalten_Update] + @ieintragnr int, + @stabelle varchar(255), + @stabellenspalte varchar(255), + @sspalte varchar(255), + @bReadonly bit, + @balsHacken bit, + @iBreite int, + @iReihenfolge int, + @stiptext varchar(255), + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @imandantnr int, + @sNumberFormat varchar(255), + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[spalten] +SET + [tabelle] = @stabelle, + [tabellenspalte] = @stabellenspalte, + [spalte] = @sspalte, + [Readonly] = @bReadonly, + [alsHacken] = @balsHacken, + [Breite] = @iBreite, + [Reihenfolge] = @iReihenfolge, + [tiptext] = @stiptext, + [aktiv] = @baktiv, + [erstellt_am] = @daerstellt_am, + [mutiert_am] = @damutiert_am, + [mutierer] = @imutierer, + [mandantnr] = @imandantnr, + [NumberFormat] = @sNumberFormat +WHERE + [eintragnr] = @ieintragnr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + + + + +GO + +/****** Object: StoredProcedure [dbo].[pr_spalten_SelectOne] Script Date: 28.09.2017 15:37:18 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + + + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'spalten' +-- based on the Primary Key. +-- Gets: @ieintragnr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_spalten_SelectOne] + @ieintragnr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [eintragnr], + [tabelle], + [tabellenspalte], + [spalte], + [Readonly], + [alsHacken], + [Breite], + [Reihenfolge], + [tiptext], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer], + [mandantnr], + [NumberFormat] +FROM [dbo].[spalten] +WHERE + [eintragnr] = @ieintragnr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + + + + +GO + +/****** Object: StoredProcedure [dbo].[sp_update_spalten] Script Date: 28.09.2017 15:37:18 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + + + + + + +CREATE PROCEDURE [dbo].[sp_update_spalten] + @tablename varchar(255) +AS +begin + declare @len int + declare @inhalt varchar(30) + declare @col varchar(30) + declare @readonly int + declare @dbkey int + declare @alshacken int + declare @ierrorcode int + declare @spaltenkey int + declare @aktiv int + declare @tiptext varchar(255) + declare xcursor cursor for + SELECT column_name + from INFORMATION_SCHEMA.Columns + where table_name = @tablename + open xcursor + FETCH NEXT FROM xcursor into @col + WHILE @@FETCH_STATUS = 0 BEGIN + execute sp_get_dbkey 'spalten', @dbkey output, @ierrorcode output + set @spaltenkey=@dbkey + + set @inhalt=@col + set @readonly=0 + set @aktiv=1 + set @tiptext='' + set @len=100 + set @alshacken=0 + if upper(@col)='ERSTELLT_AM' begin + set @inhalt='Erstellungsdatum' + set @len=100 + set @readonly=1 + end + if upper(@col)='MUTIERT_AM' begin + set @inhalt='Mutationsdatum' + set @len=100 + set @readonly=1 + end + if upper(@col)='MUTIERER' begin + set @inhalt='Mutiert durch' + set @len=40 + set @readonly=1 + end + if upper(@col)='AKTIV' begin + set @inhalt='Aktiv' + set @len=40 + set @alshacken=0 + end + + insert into spalten (eintragnr,tabelle,tabellenspalte,spalte,readonly,aktiv,erstellt_am, mutiert_am,mutierer,mandantnr,alsHacken,tiptext, breite, reihenfolge) + values(@spaltenkey,@tablename,@col,@inhalt,@readonly,@aktiv,getdate(),getdate(),-1,1,@alshacken,@tiptext,@len,0) + FETCH NEXT FROM xcursor into @col + end + close xcursor + deallocate xcursor +end + + + + + + + +GO + diff --git a/Logbuch/DB_Scripts/Tabellen.sql b/Logbuch/DB_Scripts/Tabellen.sql new file mode 100644 index 0000000..ba9e31b Binary files /dev/null and b/Logbuch/DB_Scripts/Tabellen.sql differ diff --git a/Logbuch/Icons/Custom-Icon-Design-Pretty-Office-2-Event.ico b/Logbuch/Icons/Custom-Icon-Design-Pretty-Office-2-Event.ico new file mode 100644 index 0000000..ef8dde9 Binary files /dev/null and b/Logbuch/Icons/Custom-Icon-Design-Pretty-Office-2-Event.ico differ diff --git a/Logbuch/Icons/Iconsmind-Outline-Repair.ico b/Logbuch/Icons/Iconsmind-Outline-Repair.ico new file mode 100644 index 0000000..9266825 Binary files /dev/null and b/Logbuch/Icons/Iconsmind-Outline-Repair.ico differ diff --git a/Logbuch/Icons/Letter.png b/Logbuch/Icons/Letter.png new file mode 100644 index 0000000..9817111 Binary files /dev/null and b/Logbuch/Icons/Letter.png differ diff --git a/Logbuch/Icons/Logbuch.ico b/Logbuch/Icons/Logbuch.ico new file mode 100644 index 0000000..113f411 Binary files /dev/null and b/Logbuch/Icons/Logbuch.ico differ diff --git a/Logbuch/Icons/Partner.ico b/Logbuch/Icons/Partner.ico new file mode 100644 index 0000000..f4e27c1 Binary files /dev/null and b/Logbuch/Icons/Partner.ico differ diff --git a/Logbuch/Icons/Partner.png b/Logbuch/Icons/Partner.png new file mode 100644 index 0000000..402af54 Binary files /dev/null and b/Logbuch/Icons/Partner.png differ diff --git a/Logbuch/Icons/Police.ico b/Logbuch/Icons/Police.ico new file mode 100644 index 0000000..3689de0 Binary files /dev/null and b/Logbuch/Icons/Police.ico differ diff --git a/Logbuch/Icons/Police.png b/Logbuch/Icons/Police.png new file mode 100644 index 0000000..efd4c1e Binary files /dev/null and b/Logbuch/Icons/Police.png differ diff --git a/Logbuch/Icons/Treetog-Junior-Document-scroll.ico b/Logbuch/Icons/Treetog-Junior-Document-scroll.ico new file mode 100644 index 0000000..3dafba1 Binary files /dev/null and b/Logbuch/Icons/Treetog-Junior-Document-scroll.ico differ diff --git a/Logbuch/Icons/book-24.png b/Logbuch/Icons/book-24.png new file mode 100644 index 0000000..52145f7 Binary files /dev/null and b/Logbuch/Icons/book-24.png differ diff --git a/Logbuch/Icons/book-48.ico b/Logbuch/Icons/book-48.ico new file mode 100644 index 0000000..dc39534 Binary files /dev/null and b/Logbuch/Icons/book-48.ico differ diff --git a/Logbuch/Icons/book-512.ico b/Logbuch/Icons/book-512.ico new file mode 100644 index 0000000..95bbddb Binary files /dev/null and b/Logbuch/Icons/book-512.ico differ diff --git a/Logbuch/Icons/book-512.png b/Logbuch/Icons/book-512.png new file mode 100644 index 0000000..3b09198 Binary files /dev/null and b/Logbuch/Icons/book-512.png differ diff --git a/Logbuch/Icons/book-multi-size.ico b/Logbuch/Icons/book-multi-size.ico new file mode 100644 index 0000000..7a0a003 Binary files /dev/null and b/Logbuch/Icons/book-multi-size.ico differ diff --git a/Logbuch/Icons/logomedium.gif b/Logbuch/Icons/logomedium.gif new file mode 100644 index 0000000..3f597e1 Binary files /dev/null and b/Logbuch/Icons/logomedium.gif differ diff --git a/Logbuch/Icons/schuldbrief.ico b/Logbuch/Icons/schuldbrief.ico new file mode 100644 index 0000000..c15478a Binary files /dev/null and b/Logbuch/Icons/schuldbrief.ico differ diff --git a/Logbuch/Icons/toolbox.png b/Logbuch/Icons/toolbox.png new file mode 100644 index 0000000..c3ead77 Binary files /dev/null and b/Logbuch/Icons/toolbox.png differ diff --git a/Logbuch/Logbuch.sln b/Logbuch/Logbuch.sln new file mode 100644 index 0000000..615a901 --- /dev/null +++ b/Logbuch/Logbuch.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26228.4 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Logbuch", "Logbuch\Logbuch.vbproj", "{8A404216-38A9-4305-9BA2-04CD2AC20F32}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {8A404216-38A9-4305-9BA2-04CD2AC20F32}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8A404216-38A9-4305-9BA2-04CD2AC20F32}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8A404216-38A9-4305-9BA2-04CD2AC20F32}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8A404216-38A9-4305-9BA2-04CD2AC20F32}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Logbuch/Logbuch/App.config b/Logbuch/Logbuch/App.config new file mode 100644 index 0000000..fbf39e1 --- /dev/null +++ b/Logbuch/Logbuch/App.config @@ -0,0 +1,21 @@ + + + + +
+ + + + + + + + + CHF + + + [^0-9.] + + + + \ No newline at end of file diff --git a/Logbuch/Logbuch/DB/MyDBObjects/clsMyKey_Tabelle.vb b/Logbuch/Logbuch/DB/MyDBObjects/clsMyKey_Tabelle.vb new file mode 100644 index 0000000..b6c51fb --- /dev/null +++ b/Logbuch/Logbuch/DB/MyDBObjects/clsMyKey_Tabelle.vb @@ -0,0 +1,61 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +Namespace DB + Public Class clsMyKey_Tabelle + Inherits db.clsKey_tabelle + + Public Function get_dbkey(ByVal Tablename As String) As Long + Dim m_dbkey As Long + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[sp_get_dbkey]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@Tablename", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Tablename)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@dbkey", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_dbkey)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + Try + scmCmdToExecute.Connection.Open() + Catch ex As Exception + Finally + End Try + + scmCmdToExecute.ExecuteNonQuery() + m_dbkey = scmCmdToExecute.Parameters.Item("@dbkey").Value + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + scmCmdToExecute.Connection.Close() + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'sp_get_dbkey' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return m_dbkey + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::get_dbkey::Error occured." + ex.Message, ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + End Class +End Namespace diff --git a/Logbuch/Logbuch/DB/MyDBObjects/db_connection.vb b/Logbuch/Logbuch/DB/MyDBObjects/db_connection.vb new file mode 100644 index 0000000..7af1578 --- /dev/null +++ b/Logbuch/Logbuch/DB/MyDBObjects/db_connection.vb @@ -0,0 +1,59 @@ +Imports System.IO +Namespace DB + ''' + ''' Dynamische Datenbank-Verbindung aufbauen. Verwendet wird standardmssig Vertragsverwaltung.cfg. + ''' Sollen Datenbank-Verbindungen zur Auswahl angezeigt werden, werden smntliche Datenbank-Verbindungsdateien + ''' mit dem Namen "Vertragsverwaltung....cfg" bercksichtigt + ''' + ''' + Public Class DB_Connection + + ''' + ''' Liest smtlcihe CFG-Dateien mit dem Namen "Vertragsverwaltung...". Sind meherere Dateien vorhanden, + ''' wird ein Auswahldialog zur Datenbank-Selektion angezeigt. + ''' Standardmssig wird Vertragsverwaltung.cfg als CFG-Datei benutzt. + ''' + ''' Die CFG-Datei ist verschlsselt und wird ber die Crypto-Funktionen entschlsselt. + ''' + ''' + Shared Sub New() + Dim fc As Integer = 0 + If Globals.ConnectionFileName.Length = 0 Then + Dim Dir As DirectoryInfo = New DirectoryInfo(Application.StartupPath) + Try + Dim f As New frmDatenbankauswahl() + Dim ChildFile As FileInfo + For Each ChildFile In Dir.GetFiles() + If UCase(Left(ChildFile.Name, 14)) = "LOGBUCH" And UCase(ChildFile.Extension) = ".CFG" Then + f.ListBox1.Items.Add(ChildFile.Name) + fc = fc + 1 + End If + Next + If fc > 1 Then + f.ListBox1.SelectedIndex = 0 + f.ListBox1.Select() + f.ShowDialog() + Globals.ConnectionFileName = f.ListBox1.SelectedItem + f.Dispose() + End If + Catch except As Exception + fc = 0 + Exit Sub + End Try + End If + If fc < 2 Then Globals.ConnectionFileName = "LOGBUCH.cfg" + Dim ofile As System.IO.File + Dim oread As System.IO.StreamReader + oread = ofile.OpenText(Application.StartupPath + "\" + Globals.ConnectionFileName) + sConnectionString = oread.ReadLine + sConnectionString = Crypto.DecryptText(sConnectionString, "HutterundMueller") + sConnectionString = Left(sConnectionString, Len(sConnectionString) - 1) + Globals.sConnectionString = sConnectionString + Globals.conn.sConnectionString = sConnectionString + oread.Close() + End Sub + + End Class + +End Namespace + diff --git a/Logbuch/Logbuch/DB/MyDBObjects/frmDatenbankauswahl.resx b/Logbuch/Logbuch/DB/MyDBObjects/frmDatenbankauswahl.resx new file mode 100644 index 0000000..863c6b3 --- /dev/null +++ b/Logbuch/Logbuch/DB/MyDBObjects/frmDatenbankauswahl.resx @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAEAICAEAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP// + AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAzd3d3MzMzAAAAAAAAAAAAM3d3dzMzMwAAAAAAAAAAM3eIiIi7MzMzAAAAAAAA + ADN3iIiIuzMzMwAAAAAAAAB3u4iIiLu7MzMAAAAAAAAAd7uIiIi7uzMzAAAAAAAAAHe7iIiIu7szMwAA + AAAAAAB3u4iIiLu7MzMAAAAAAAAAd7uIiIi7uzMzAAAAAAAAAHe7iIiIu7szMwAAAAAAAAB3u4iIiLu7 + MzMAAAAAAAAAd7uIiIi7uzMzAAAAAAAAAHe7iIiIu7szMwAAAAAAAAB3u4iIiLu7MzMAAAAAAAAAd7uI + iIi7uzMzAAAAAAAAAHe7iIiIu7szMwAAAAAAAAB3u4iIiLu7MzMAAAAAAAAAd7uIiIi7uzMzAAAAAAAA + AHe7iIiIiIi7dwAAAAAAAAB3u4iIiIiIu3cAAAAAAAAAiIj//////4h3AAAAAAAAAIiI//////+IdwAA + AAAAAAAzd3d3d3d3dzMAAAAAAAAAM3d3d3d3d3czAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////AAA//wA + AP/8AAD//AAA//wAAP/8AAD//AAA//wAAP/8AAD//AAA//wAAP/8AAD//AAA//wAAP/8AAD//AAA//wA + AP/8AAD//AAA//wAAP/8AAD//AAA//wAAP/8AAD//////////////////////w== + + + \ No newline at end of file diff --git a/Logbuch/Logbuch/DB/MyDBObjects/frmDatenbankauswahl.vb b/Logbuch/Logbuch/DB/MyDBObjects/frmDatenbankauswahl.vb new file mode 100644 index 0000000..8e5aa8e --- /dev/null +++ b/Logbuch/Logbuch/DB/MyDBObjects/frmDatenbankauswahl.vb @@ -0,0 +1,95 @@ +''' +''' Form fr die Datenbankauswahl +''' +''' +Public Class frmDatenbankauswahl + Inherits System.Windows.Forms.Form + +#Region " Vom Windows Form Designer generierter Code " + + Public Sub New() + MyBase.New() + + ' Dieser Aufruf ist fr den Windows Form-Designer erforderlich. + InitializeComponent() + + ' Initialisierungen nach dem Aufruf InitializeComponent() hinzufgen + + End Sub + + ' Die Form berschreibt den Lschvorgang der Basisklasse, um Komponenten zu bereinigen. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + ' Fr Windows Form-Designer erforderlich + Private components As System.ComponentModel.IContainer + + 'HINWEIS: Die folgende Prozedur ist fr den Windows Form-Designer erforderlich + 'Sie kann mit dem Windows Form-Designer modifiziert werden. + 'Verwenden Sie nicht den Code-Editor zur Bearbeitung. + Friend WithEvents ListBox1 As System.Windows.Forms.ListBox + Friend WithEvents Button1 As System.Windows.Forms.Button + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmDatenbankauswahl)) + Me.ListBox1 = New System.Windows.Forms.ListBox + Me.Button1 = New System.Windows.Forms.Button + Me.SuspendLayout() + ' + 'ListBox1 + ' + Me.ListBox1.Location = New System.Drawing.Point(16, 16) + Me.ListBox1.Name = "ListBox1" + Me.ListBox1.Size = New System.Drawing.Size(232, 95) + Me.ListBox1.TabIndex = 0 + ' + 'Button1 + ' + Me.Button1.DialogResult = System.Windows.Forms.DialogResult.OK + Me.Button1.Location = New System.Drawing.Point(88, 128) + Me.Button1.Name = "Button1" + Me.Button1.Size = New System.Drawing.Size(75, 23) + Me.Button1.TabIndex = 1 + Me.Button1.Text = "&OK" + ' + 'frmDatenbankauswahl + ' + Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) + Me.ClientSize = New System.Drawing.Size(258, 165) + Me.Controls.Add(Me.Button1) + Me.Controls.Add(Me.ListBox1) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "frmDatenbankauswahl" + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "Vertragsverwaltung: Datebbankauswahl" + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click + Me.Close() + End Sub + + Private Sub frmDatenbankauswahl_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + End Sub + + + Private Sub ListBox1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.DoubleClick + Me.Close() + End Sub + + Private Sub ListBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles ListBox1.KeyDown + If e.KeyCode = Keys.Enter Then Me.Close() + End Sub +End Class diff --git a/Logbuch/Logbuch/DB/clsConnectionProvider.vb b/Logbuch/Logbuch/DB/clsConnectionProvider.vb new file mode 100644 index 0000000..5af5b4d --- /dev/null +++ b/Logbuch/Logbuch/DB/clsConnectionProvider.vb @@ -0,0 +1,289 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Connection Provider class for Database connection sharing +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // This class implements IDisposable. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Configuration +Imports System.Data +Imports System.Data.SqlClient +Imports System.Collections + +Namespace DB + ' /// + ' /// Purpose: provides a SqlConnection object which can be shared among data-access tier objects + ' /// to provide a way to do ADO.NET transaction coding without the hassling with SqlConnection objects + ' /// on a high level. + ' /// + Public Class clsConnectionProvider + Implements IDisposable + +#Region " Class Member Declarations " + + Private m_scoDBConnection As SqlConnection + Private m_bIsTransactionPending, m_bIsDisposed As Boolean + Private m_stCurrentTransaction As SqlTransaction + Private m_alSavePoints As ArrayList + +#End Region + + + Public Sub New() + ' // Init the class + InitClass() + End Sub + + + ' /// + ' /// Purpose: Implements the IDispose' method Dispose. + ' /// + Overloads Public Sub Dispose() Implements IDisposable.Dispose + Dispose(True) + GC.SuppressFinalize(Me) + End Sub + + + ' /// + ' /// Purpose: Implements the Dispose functionality. + ' /// + Overridable Overloads Protected Sub Dispose(ByVal bIsDisposing As Boolean) + ' // Check to see if Dispose has already been called. + If Not m_bIsDisposed Then + If bIsDisposing Then + ' // Dispose managed resources. + If Not (m_stCurrentTransaction Is Nothing) Then + m_stCurrentTransaction.Dispose() + m_stCurrentTransaction = Nothing + End If + If Not (m_scoDBConnection Is Nothing) Then + ' // closing the connection will abort (rollback) any pending transactions + m_scoDBConnection.Close() + m_scoDBConnection.Dispose() + m_scoDBConnection = Nothing + End If + End If + End If + m_bIsDisposed = True + End Sub + + + ' /// + ' /// Purpose: Initializes class members. + ' /// + Private Sub InitClass() + ' // Create all the objects and initialize other members. + m_scoDBConnection = new SqlConnection() + m_bIsDisposed = False + m_stCurrentTransaction = Nothing + m_bIsTransactionPending = False + m_alSavePoints = new ArrayList() + End Sub + + + ' /// + ' /// Purpose: Opens the connection object. + ' /// + ' /// True, if succeeded, otherwise an Exception exception is thrown. + Public Function OpenConnection() As Boolean + Try + If (m_scoDBConnection.State And ConnectionState.Open) > 0 Then + ' // It's already open. + Throw New Exception("OpenConnection::Connection is already open.") + End If + m_scoDBConnection.Open() + m_bIsTransactionPending = False + m_alSavePoints.Clear() + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Starts a new ADO.NET transaction using the open connection object of this class. + ' /// + ' /// Name of the transaction to start + ' /// True, if transaction is started correctly, otherwise an Exception exception is thrown + Public Function BeginTransaction(sTransactionName As String) As Boolean + Try + If m_bIsTransactionPending Then + ' // no nested transactions allowed. + Throw New Exception("BeginTransaction::Already transaction pending. Nesting not allowed") + End If + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // no open connection + Throw New Exception("BeginTransaction::Connection is not open.") + End If + ' // begin the transaction and store the transaction object. + m_stCurrentTransaction = m_scoDBConnection.BeginTransaction(IsolationLevel.ReadCommitted, sTransactionName) + m_bIsTransactionPending = True + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Commits a pending transaction on the open connection object of this class. + ' /// + ' /// True, if commit was succesful, or an Exception exception is thrown + Public Function CommitTransaction() As Boolean + Try + If Not m_bIsTransactionPending Then + ' // no transaction pending + Throw New Exception("CommitTransaction::No transaction pending.") + End If + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // no open connection + Throw New Exception("CommitTransaction::Connection is not open.") + End if + ' // commit the transaction + m_stCurrentTransaction.Commit() + m_bIsTransactionPending = False + m_stCurrentTransaction.Dispose() + m_stCurrentTransaction = Nothing + m_alSavePoints.Clear() + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Rolls back a pending transaction on the open connection object of this class, + ' /// or rolls back to the savepoint with the given name. Savepoints are created with SaveTransaction(). + ' /// + ' /// Name of transaction to roll back. Can be name of savepoint + ' /// True, if rollback was succesful, or an Exception exception is thrown + Public Function RollbackTransaction(sTransactionToRollback As String) As Boolean + Try + If Not m_bIsTransactionPending Then + ' // no transaction pending + Throw New Exception("RollbackTransaction::No transaction pending.") + End If + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // no open connection + Throw New Exception("RollbackTransaction::Connection is not open.") + End If + ' // rollback the transaction + m_stCurrentTransaction.Rollback(sTransactionToRollback) + ' // if this wasn't a savepoint, we've rolled back the complete transaction, so we + ' // can clean it up. + If Not m_alSavePoints.Contains(sTransactionToRollback) Then + ' // it's not a savepoint + m_bIsTransactionPending = False + m_stCurrentTransaction.Dispose() + m_stCurrentTransaction = Nothing + m_alSavePoints.Clear() + End If + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Saves a pending transaction on the open connection object of this class to a 'savepoint' + ' /// with the given name. + ' /// When a rollback is issued, the caller can rollback to this savepoint or roll back the complete transaction. + ' /// + ' /// Name of the savepoint to store the current transaction under. + ' /// True, if save was succesful, or an Exception exception is thrown + Public Function SaveTransaction(sSavePointName As String) As Boolean + Try + If Not m_bIsTransactionPending Then + ' // no transaction pending + Throw New Exception("SaveTransaction::No transaction pending.") + End If + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // no open connection + Throw New Exception("SaveTransaction::Connection is not open.") + End If + ' // save the transaction + m_stCurrentTransaction.Save(sSavePointName) + ' // Store the savepoint in the list. + m_alSavePoints.Add(sSavePointName) + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Closes the open connection. Depending on bCommitPendingTransactions, a pending + ' /// transaction is commited, or aborted. + ' /// + ' /// Flag for what to do when a transaction is still pending. True + ' /// will commit the current transaction, False will abort (rollback) the complete current transaction. + ' /// True, if close was succesful, False if connection was already closed, or an Exception exception is thrown when + ' /// an error occurs + Public Function CloseConnection(bCommitPendingTransaction As Boolean) As Boolean + Try + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // No open connection + Return False + End If + If m_bIsTransactionPending Then + If bCommitPendingTransaction Then + ' // Commit the pending transaction + m_stCurrentTransaction.Commit() + Else + ' // Rollback the pending transaction + m_stCurrentTransaction.Rollback() + End If + m_bIsTransactionPending = False + m_stCurrentTransaction.Dispose() + m_stCurrentTransaction = Nothing + m_alSavePoints.Clear() + End If + ' // close the connection + m_scoDBConnection.Close() + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + +#Region " Class Property Declarations " + + Public ReadOnly Property stCurrentTransaction() As SqlTransaction + Get + Return m_stCurrentTransaction + End Get + End Property + + + Public ReadOnly Property bIsTransactionPending() As Boolean + Get + Return m_bIsTransactionPending + End Get + End Property + + + Public ReadOnly Property scoDBConnection() As SqlConnection + Get + Return m_scoDBConnection + End Get + End Property + Public WriteOnly Property sConnectionString() As String + Set (ByVal Value As String) + m_scoDBConnection.ConnectionString = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Logbuch/Logbuch/DB/clsDBInteractionBase.vb b/Logbuch/Logbuch/DB/clsDBInteractionBase.vb new file mode 100644 index 0000000..60f5b0a --- /dev/null +++ b/Logbuch/Logbuch/DB/clsDBInteractionBase.vb @@ -0,0 +1,208 @@ +' ////////////////////////////////////////////////////////////////////////////////////////// +' // Description: Base class for Database Interaction. +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // Because this class implements IDisposable, derived classes shouldn't do so. +' ////////////////////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Configuration +Imports System.Data +Imports System.Data.SqlClient +Imports System.Data.SqlTypes + +Namespace DB + ' /// + ' /// Purpose: Error Enums used by this LLBL library. + ' /// + Public Enum LLBLError + AllOk + ' // Add more here (check the comma's!) + End Enum + + + ' /// + ' /// Purpose: General interface of the API generated. Contains only common methods of all classes. + ' /// + Public Interface ICommonDBAccess + Function Insert() As Boolean + Function Update() As Boolean + Function Delete() As Boolean + Function SelectOne() As DataTable + Function SelectAll() As DataTable + End Interface + + + ' /// + ' /// Purpose: Abstract base class for Database Interaction classes. + ' /// + Public MustInherit Class clsDBInteractionBase + Implements IDisposable + Implements ICommonDBAccess + +#Region " Class Member Declarations " + + Protected m_scoMainConnection As SqlConnection + Protected m_iRowsAffected As Integer + Protected m_iErrorCode As SqlInt32 + Protected m_bMainConnectionIsCreatedLocal As Boolean + Protected m_cpMainConnectionProvider As clsConnectionProvider + Private m_sConnectionString As String + Private m_bIsDisposed As Boolean + +#End Region + + + ' /// + ' /// Purpose: Class constructor. + ' /// + Public Sub New() + ' // Initialize the class' members. + InitClass() + End Sub + + + ' /// + ' /// Purpose: Initializes class members. + ' /// + Private Sub InitClass() + ' // create all the objects and initialize other members. + m_scoMainConnection = new SqlConnection() + m_bMainConnectionIsCreatedLocal = True + m_cpMainConnectionProvider = Nothing + m_iErrorCode = New SqlInt32(LLBLError.AllOk) + m_bIsDisposed = False + End Sub + + + ' /// + ' /// Purpose: Implements the IDispose' method Dispose. + ' /// + Overloads Public Sub Dispose() Implements IDisposable.Dispose + Dispose(True) + GC.SuppressFinalize(Me) + End Sub + + + ' /// + ' /// Purpose: Implements the Dispose functionality. + ' /// + Overridable Overloads Protected Sub Dispose(ByVal bIsDisposing As Boolean) + ' // Check to see if Dispose has already been called. + If Not m_bIsDisposed Then + If bIsDisposing Then + ' // Dispose managed resources. + If m_bMainConnectionIsCreatedLocal Then + ' // Object is created in this class, so destroy it here. + m_scoMainConnection.Close() + m_scoMainConnection.Dispose() + m_bMainConnectionIsCreatedLocal = True + End If + m_cpMainConnectionProvider = Nothing + m_scoMainConnection = Nothing + End If + End If + m_bIsDisposed = True + End Sub + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.Insert() method. + ' /// + Public Overridable Function Insert() As Boolean Implements ICommonDBAccess.Insert + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.Delete() method. + ' /// + Public Overridable Function Delete() As Boolean Implements ICommonDBAccess.Delete + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.Update() method. + ' /// + Public Overridable Function Update() As Boolean Implements ICommonDBAccess.Update + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.SelectOne() method. + ' /// + Public Overridable Function SelectOne() As DataTable Implements ICommonDBAccess.SelectOne + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.SelectAll() method. + ' /// + Public Overridable Function SelectAll() As DataTable Implements ICommonDBAccess.SelectAll + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + +#Region " Class Property Declarations " + + Public WriteOnly Property cpMainConnectionProvider() As clsConnectionProvider + Set(ByVal Value As clsConnectionProvider) + If Value Is Nothing Then + ' // Invalid value + Throw New ArgumentNullException("cpMainConnectionProvider", "Nothing passed as value to this property which is not allowed.") + End If + + ' // A connection provider object is passed to this class. + ' // Retrieve the SqlConnection object, if present and create a + ' // reference to it. If there is already a MainConnection object + ' // referenced by the membervar, destroy that one or simply + ' // remove the reference, based on the flag. + If Not (m_scoMainConnection Is Nothing) Then + ' // First get rid of current connection object. Caller is responsible + If m_bMainConnectionIsCreatedLocal Then + ' // Is local created object, close it and dispose it. + m_scoMainConnection.Close() + m_scoMainConnection.Dispose() + End If + ' // Remove reference. + m_scoMainConnection = Nothing + End If + m_cpMainConnectionProvider = CType(Value, clsConnectionProvider) + m_scoMainConnection = m_cpMainConnectionProvider.scoDBConnection + m_bMainConnectionIsCreatedLocal = False + End Set + End Property + + + Public ReadOnly Property iErrorCode() As SqlInt32 + Get + Return m_iErrorCode + End Get + End Property + + + Public Property sConnectionString() As String + Get + Return m_sConnectionString + End Get + Set (ByVal Value As String) + m_sConnectionString = Value + m_scoMainConnection.ConnectionString = m_sConnectionString + End Set + End Property + Public Readonly Property iRowsAffected() As Integer + Get + Return m_iRowsAffected + End Get + End Property + +#End Region + + End Class +End Namespace diff --git a/Logbuch/Logbuch/DB/clsKey_tabelle.vb b/Logbuch/Logbuch/DB/clsKey_tabelle.vb new file mode 100644 index 0000000..6ee282d --- /dev/null +++ b/Logbuch/Logbuch/DB/clsKey_tabelle.vb @@ -0,0 +1,491 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'key_tabelle' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'key_tabelle'. + ''' + Public Class clsKey_tabelle + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iMutierer, m_iKeynr, m_iKey_wert, m_iMandantnr As SqlInt32 + Private m_sBeschreibung As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • sBeschreibung
  • + '''
  • iKey_wert
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iKeynr
  • + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ikey_wert", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKey_wert)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iKeynr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iKeynr = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@ikeynr").Value, Integer)) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKeynr
  • + '''
  • sBeschreibung
  • + '''
  • iKey_wert
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKeynr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ikey_wert", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKey_wert)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKeynr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKeynr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKeynr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iKeynr
  • + '''
  • sBeschreibung
  • + '''
  • iKey_wert
  • + '''
  • iMandantnr
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("key_tabelle") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKeynr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iKeynr = New SqlInt32(CType(dtToReturn.Rows(0)("keynr"), Integer)) + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("beschreibung"), String)) + m_iKey_wert = New SqlInt32(CType(dtToReturn.Rows(0)("key_wert"), Integer)) + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("key_tabelle") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iKeynr]() As SqlInt32 + Get + Return m_iKeynr + End Get + Set(ByVal Value As SqlInt32) + Dim iKeynrTmp As SqlInt32 = Value + If iKeynrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iKeynr", "iKeynr can't be NULL") + End If + m_iKeynr = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + Dim sBeschreibungTmp As SqlString = Value + If sBeschreibungTmp.IsNull Then + Throw New ArgumentOutOfRangeException("sBeschreibung", "sBeschreibung can't be NULL") + End If + m_sBeschreibung = Value + End Set + End Property + + + Public Property [iKey_wert]() As SqlInt32 + Get + Return m_iKey_wert + End Get + Set(ByVal Value As SqlInt32) + Dim iKey_wertTmp As SqlInt32 = Value + If iKey_wertTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iKey_wert", "iKey_wert can't be NULL") + End If + m_iKey_wert = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Logbuch/Logbuch/DB/clsMyPartner.vb b/Logbuch/Logbuch/DB/clsMyPartner.vb new file mode 100644 index 0000000..a2e428d --- /dev/null +++ b/Logbuch/Logbuch/DB/clsMyPartner.vb @@ -0,0 +1,200 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace edokadb + Public Class clsMyPartner + Public Function search_partner(ByVal query As String, ByVal anzahl As String, ByVal fnkt As Integer) As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + Dim table As String = "dbo.partner" + scmCmdToExecute.CommandText = "dbo.[sp_search_partner]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = New DataTable("partner") + Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = conn.scoDBConnection + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@query", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, query)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@table", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, table)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@anz", SqlDbType.VarChar, 10, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, anzahl)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.VarChar, 1, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, fnkt)) + scmCmdToExecute.Connection.Open() + sdaAdapter.Fill(dtToReturn) + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMyPartner::sp_partner_search::Error occured." + ex.Message, ex) + Finally + scmCmdToExecute.Connection.Close() + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + Public Function search_doppelte_partner(ByVal query As String, ByVal table As String, ByVal fnkt As Integer) As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[sp_partner_search]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = New DataTable("partner") + Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = conn.scoDBConnection + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@query", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, query)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@table", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, table)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@anz", SqlDbType.VarChar, 10, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.VarChar, 1, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 4)) + scmCmdToExecute.Connection.Open() + sdaAdapter.Fill(dtToReturn) + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMyPartner::sp_partner_search::Error occured." + ex.Message, ex) + Finally + scmCmdToExecute.Connection.Close() + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + Public Function Partner_Detail(ByVal nrpar00 As String) As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + Dim table As String = "dbo.partner" + scmCmdToExecute.CommandText = "dbo.[sp_partner_detail]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = New DataTable("partner") + Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = conn.scoDBConnection + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@nrpar00", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, nrpar00)) + scmCmdToExecute.Connection.Open() + sdaAdapter.Fill(dtToReturn) + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMyPartner::sp_partner_detail::Error occured." + ex.Message, ex) + Finally + scmCmdToExecute.Connection.Close() + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + Public Function Partner_zus_Adressen(ByVal nrpar00 As String) As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + Dim table As String = "dbo.partner" + scmCmdToExecute.CommandText = "dbo.[sp_partner_zus_adressen]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = New DataTable("partner") + Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = conn.scoDBConnection + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@nrpar00", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, nrpar00)) + scmCmdToExecute.Connection.Open() + sdaAdapter.Fill(dtToReturn) + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMyPartner::sp_partner_detail::Error occured." + ex.Message, ex) + Finally + scmCmdToExecute.Connection.Close() + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + Public Function Partner_VV(ByVal nrpar00 As String) As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + Dim table As String = "dbo.partner" + scmCmdToExecute.CommandText = "dbo.[sp_partner_vv]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = New DataTable("partner") + Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = conn.scoDBConnection + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@nrpar00", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, nrpar00)) + scmCmdToExecute.Connection.Open() + sdaAdapter.Fill(dtToReturn) + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMyPartner::sp_partner_vv::Error occured." + ex.Message, ex) + Finally + scmCmdToExecute.Connection.Close() + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + Public Function Partner_Gebdat(ByVal nrpar00 As String) As String + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + Dim table As String = "dbo.partner" + scmCmdToExecute.CommandText = "dbo.[sp_partner_gebdat]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = New DataTable("partner") + Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = conn.scoDBConnection + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@nrpar00", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, nrpar00)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@gebdat", SqlDbType.VarChar, 255, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, "")) + scmCmdToExecute.Connection.Open() + sdaAdapter.Fill(dtToReturn) + + Return scmCmdToExecute.Parameters("@gebdat").Value + Catch ex As Exception + ' MsgBox(ex.Message) + ' // some error occured. Bubble it to caller and encapsulate Exception object + ' Throw New Exception("clsMyPartner::sp_partner_vv::Error occured." + ex.Message, ex) + Return "" + Finally + scmCmdToExecute.Connection.Close() + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + Public Function Partner_Betreuer(ByVal nrpar00 As String) As String + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + Dim table As String = "dbo.partner" + scmCmdToExecute.CommandText = "dbo.[sp_partner_betreuer]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = New DataTable("partner") + Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = conn.scoDBConnection + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@nrpar00", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, nrpar00)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@betreuer", SqlDbType.VarChar, 255, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, "")) + scmCmdToExecute.Connection.Open() + sdaAdapter.Fill(dtToReturn) + Return scmCmdToExecute.Parameters("@betreuer").Value + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMyPartner::sp_partner_vv::Error occured." + ex.Message, ex) + Return "" + Finally + scmCmdToExecute.Connection.Close() + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + dtToReturn.Dispose() + End Try + + End Function + + + End Class +End Namespace diff --git a/Logbuch/Logbuch/DB/clsSpalten.vb b/Logbuch/Logbuch/DB/clsSpalten.vb new file mode 100644 index 0000000..b2c1c8d --- /dev/null +++ b/Logbuch/Logbuch/DB/clsSpalten.vb @@ -0,0 +1,630 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'spalten' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 13:15:45 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace db + ''' + ''' Purpose: Data Access class for the table 'spalten'. + ''' + Public Class clsSpalten + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bReadonly, m_bAlsHacken, m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iMandantnr, m_iMutierer, m_iReihenfolge, m_iEintragnr, m_iBreite As SqlInt32 + Private m_sTabelle, m_sNumberFormat, m_sTiptext, m_sSpalte, m_sTabellenspalte As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iEintragnr
  • + '''
  • sTabelle. May be SqlString.Null
  • + '''
  • sTabellenspalte. May be SqlString.Null
  • + '''
  • sSpalte. May be SqlString.Null
  • + '''
  • bReadonly
  • + '''
  • bAlsHacken
  • + '''
  • iBreite. May be SqlInt32.Null
  • + '''
  • iReihenfolge. May be SqlInt32.Null
  • + '''
  • sTiptext. May be SqlString.Null
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • sNumberFormat. May be SqlString.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ieintragnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iEintragnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stabelle", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTabelle)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stabellenspalte", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTabellenspalte)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sspalte", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSpalte)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bReadonly", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bReadonly)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@balsHacken", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bAlsHacken)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iBreite", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iBreite)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iReihenfolge", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iReihenfolge)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stiptext", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTiptext)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sNumberFormat", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sNumberFormat)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iEintragnr
  • + '''
  • sTabelle. May be SqlString.Null
  • + '''
  • sTabellenspalte. May be SqlString.Null
  • + '''
  • sSpalte. May be SqlString.Null
  • + '''
  • bReadonly
  • + '''
  • bAlsHacken
  • + '''
  • iBreite. May be SqlInt32.Null
  • + '''
  • iReihenfolge. May be SqlInt32.Null
  • + '''
  • sTiptext. May be SqlString.Null
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • sNumberFormat. May be SqlString.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ieintragnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iEintragnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stabelle", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTabelle)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stabellenspalte", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTabellenspalte)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sspalte", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSpalte)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bReadonly", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bReadonly)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@balsHacken", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bAlsHacken)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iBreite", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iBreite)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iReihenfolge", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iReihenfolge)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stiptext", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTiptext)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sNumberFormat", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sNumberFormat)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iEintragnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ieintragnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iEintragnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iEintragnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iEintragnr
  • + '''
  • sTabelle
  • + '''
  • sTabellenspalte
  • + '''
  • sSpalte
  • + '''
  • bReadonly
  • + '''
  • bAlsHacken
  • + '''
  • iBreite
  • + '''
  • iReihenfolge
  • + '''
  • sTiptext
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
  • iMandantnr
  • + '''
  • sNumberFormat
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("spalten") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@ieintragnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iEintragnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iEintragnr = New SqlInt32(CType(dtToReturn.Rows(0)("eintragnr"), Integer)) + If dtToReturn.Rows(0)("tabelle") Is System.DBNull.Value Then + m_sTabelle = SqlString.Null + Else + m_sTabelle = New SqlString(CType(dtToReturn.Rows(0)("tabelle"), String)) + End If + If dtToReturn.Rows(0)("tabellenspalte") Is System.DBNull.Value Then + m_sTabellenspalte = SqlString.Null + Else + m_sTabellenspalte = New SqlString(CType(dtToReturn.Rows(0)("tabellenspalte"), String)) + End If + If dtToReturn.Rows(0)("spalte") Is System.DBNull.Value Then + m_sSpalte = SqlString.Null + Else + m_sSpalte = New SqlString(CType(dtToReturn.Rows(0)("spalte"), String)) + End If + m_bReadonly = New SqlBoolean(CType(dtToReturn.Rows(0)("Readonly"), Boolean)) + m_bAlsHacken = New SqlBoolean(CType(dtToReturn.Rows(0)("alsHacken"), Boolean)) + If dtToReturn.Rows(0)("Breite") Is System.DBNull.Value Then + m_iBreite = SqlInt32.Null + Else + m_iBreite = New SqlInt32(CType(dtToReturn.Rows(0)("Breite"), Integer)) + End If + If dtToReturn.Rows(0)("Reihenfolge") Is System.DBNull.Value Then + m_iReihenfolge = SqlInt32.Null + Else + m_iReihenfolge = New SqlInt32(CType(dtToReturn.Rows(0)("Reihenfolge"), Integer)) + End If + If dtToReturn.Rows(0)("tiptext") Is System.DBNull.Value Then + m_sTiptext = SqlString.Null + Else + m_sTiptext = New SqlString(CType(dtToReturn.Rows(0)("tiptext"), String)) + End If + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + If dtToReturn.Rows(0)("NumberFormat") Is System.DBNull.Value Then + m_sNumberFormat = SqlString.Null + Else + m_sNumberFormat = New SqlString(CType(dtToReturn.Rows(0)("NumberFormat"), String)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("spalten") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iEintragnr]() As SqlInt32 + Get + Return m_iEintragnr + End Get + Set(ByVal Value As SqlInt32) + Dim iEintragnrTmp As SqlInt32 = Value + If iEintragnrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iEintragnr", "iEintragnr can't be NULL") + End If + m_iEintragnr = Value + End Set + End Property + + + Public Property [sTabelle]() As SqlString + Get + Return m_sTabelle + End Get + Set(ByVal Value As SqlString) + m_sTabelle = Value + End Set + End Property + + + Public Property [sTabellenspalte]() As SqlString + Get + Return m_sTabellenspalte + End Get + Set(ByVal Value As SqlString) + m_sTabellenspalte = Value + End Set + End Property + + + Public Property [sSpalte]() As SqlString + Get + Return m_sSpalte + End Get + Set(ByVal Value As SqlString) + m_sSpalte = Value + End Set + End Property + + + Public Property [bReadonly]() As SqlBoolean + Get + Return m_bReadonly + End Get + Set(ByVal Value As SqlBoolean) + Dim bReadonlyTmp As SqlBoolean = Value + If bReadonlyTmp.IsNull Then + Throw New ArgumentOutOfRangeException("bReadonly", "bReadonly can't be NULL") + End If + m_bReadonly = Value + End Set + End Property + + + Public Property [bAlsHacken]() As SqlBoolean + Get + Return m_bAlsHacken + End Get + Set(ByVal Value As SqlBoolean) + Dim bAlsHackenTmp As SqlBoolean = Value + If bAlsHackenTmp.IsNull Then + Throw New ArgumentOutOfRangeException("bAlsHacken", "bAlsHacken can't be NULL") + End If + m_bAlsHacken = Value + End Set + End Property + + + Public Property [iBreite]() As SqlInt32 + Get + Return m_iBreite + End Get + Set(ByVal Value As SqlInt32) + m_iBreite = Value + End Set + End Property + + + Public Property [iReihenfolge]() As SqlInt32 + Get + Return m_iReihenfolge + End Get + Set(ByVal Value As SqlInt32) + m_iReihenfolge = Value + End Set + End Property + + + Public Property [sTiptext]() As SqlString + Get + Return m_sTiptext + End Get + Set(ByVal Value As SqlString) + m_sTiptext = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + Dim bAktivTmp As SqlBoolean = Value + If bAktivTmp.IsNull Then + Throw New ArgumentOutOfRangeException("bAktiv", "bAktiv can't be NULL") + End If + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + + + Public Property [sNumberFormat]() As SqlString + Get + Return m_sNumberFormat + End Get + Set(ByVal Value As SqlString) + m_sNumberFormat = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Logbuch/Logbuch/Form1.Designer.vb b/Logbuch/Logbuch/Form1.Designer.vb new file mode 100644 index 0000000..da25d23 --- /dev/null +++ b/Logbuch/Logbuch/Form1.Designer.vb @@ -0,0 +1,131 @@ + _ +Partial Class Form1 + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Form1)) + Me.menuStrip1 = New System.Windows.Forms.MenuStrip() + Me.dateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.beendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.logbuchToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.SystemadministrationToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.AuswertungenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.tscbboxAuswertung = New System.Windows.Forms.ToolStripComboBox() + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.tsbtnclose = New System.Windows.Forms.ToolStripButton() + Me.menuStrip1.SuspendLayout() + Me.ToolStrip1.SuspendLayout() + Me.SuspendLayout() + ' + 'menuStrip1 + ' + Me.menuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.dateiToolStripMenuItem, Me.logbuchToolStripMenuItem, Me.SystemadministrationToolStripMenuItem, Me.AuswertungenToolStripMenuItem, Me.tscbboxAuswertung}) + Me.menuStrip1.Location = New System.Drawing.Point(0, 0) + Me.menuStrip1.Name = "menuStrip1" + Me.menuStrip1.Size = New System.Drawing.Size(1005, 27) + Me.menuStrip1.TabIndex = 1 + Me.menuStrip1.Text = "menuStrip1" + ' + 'dateiToolStripMenuItem + ' + Me.dateiToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.beendenToolStripMenuItem}) + Me.dateiToolStripMenuItem.Name = "dateiToolStripMenuItem" + Me.dateiToolStripMenuItem.Size = New System.Drawing.Size(46, 23) + Me.dateiToolStripMenuItem.Text = "&Datei" + ' + 'beendenToolStripMenuItem + ' + Me.beendenToolStripMenuItem.Name = "beendenToolStripMenuItem" + Me.beendenToolStripMenuItem.Size = New System.Drawing.Size(120, 22) + Me.beendenToolStripMenuItem.Text = "&Beenden" + ' + 'logbuchToolStripMenuItem + ' + Me.logbuchToolStripMenuItem.Name = "logbuchToolStripMenuItem" + Me.logbuchToolStripMenuItem.Size = New System.Drawing.Size(135, 23) + Me.logbuchToolStripMenuItem.Text = "Schuldbriefe / Policen" + ' + 'SystemadministrationToolStripMenuItem + ' + Me.SystemadministrationToolStripMenuItem.Name = "SystemadministrationToolStripMenuItem" + Me.SystemadministrationToolStripMenuItem.Size = New System.Drawing.Size(134, 23) + Me.SystemadministrationToolStripMenuItem.Text = "Systemadministration" + ' + 'AuswertungenToolStripMenuItem + ' + Me.AuswertungenToolStripMenuItem.Name = "AuswertungenToolStripMenuItem" + Me.AuswertungenToolStripMenuItem.Size = New System.Drawing.Size(96, 23) + Me.AuswertungenToolStripMenuItem.Text = "&Auswertungen" + ' + 'tscbboxAuswertung + ' + Me.tscbboxAuswertung.Name = "tscbboxAuswertung" + Me.tscbboxAuswertung.Size = New System.Drawing.Size(250, 23) + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsbtnclose}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 27) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(1005, 25) + Me.ToolStrip1.TabIndex = 3 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'tsbtnclose + ' + Me.tsbtnclose.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtnclose.Image = CType(resources.GetObject("tsbtnclose.Image"), System.Drawing.Image) + Me.tsbtnclose.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtnclose.Name = "tsbtnclose" + Me.tsbtnclose.Size = New System.Drawing.Size(23, 22) + Me.tsbtnclose.Text = "Anwendung beenden" + ' + 'Form1 + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(1005, 464) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.menuStrip1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.IsMdiContainer = True + Me.Name = "Form1" + Me.Text = "Logbuch" + Me.menuStrip1.ResumeLayout(False) + Me.menuStrip1.PerformLayout() + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + + Private WithEvents menuStrip1 As MenuStrip + Private WithEvents dateiToolStripMenuItem As ToolStripMenuItem + Private WithEvents beendenToolStripMenuItem As ToolStripMenuItem + Private WithEvents logbuchToolStripMenuItem As ToolStripMenuItem + Friend WithEvents ToolStrip1 As ToolStrip + Friend WithEvents tsbtnclose As ToolStripButton + Friend WithEvents SystemadministrationToolStripMenuItem As ToolStripMenuItem + Friend WithEvents AuswertungenToolStripMenuItem As ToolStripMenuItem + Friend WithEvents tscbboxAuswertung As ToolStripComboBox +End Class diff --git a/Logbuch/Logbuch/Form1.resx b/Logbuch/Logbuch/Form1.resx new file mode 100644 index 0000000..82f6a72 --- /dev/null +++ b/Logbuch/Logbuch/Form1.resx @@ -0,0 +1,311 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 132, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAK1SURBVDhPnZLfS1NhGMdfCPoDuummi+i6KwcWZYjb3Obx + 7MzN5dY5Z9tJV86MirIgK8t++KssC63IYSoVRaVWRmn2Q9FIUcpCyiXVRXiRRCFIFwWfjhqLXdYDH3if + F94P7/d5X/E/9XVyIDj7aexn295M/mwt1vWK3K6Oyly6js0jJek8KnHjkJ2n8V3MTPTwZfwes+/7ubrf + mirorJBJW2tnzXobazf8JX29ldWWDOYSPSS6DjPa5Odb4hnXDzpSBR3lMplWJza7hN3hSmLNdpKeYeNd + W4TRSzrD54PMvHnIrSM5qQJHg0CqXkKO3YfkUpBy3EiSjMsls8EqMdFqMHwxxPPGINOjnQtR/xwVwlYj + SEy34zQluVkabmcARfKjyF5kt4csh5vX8TBDTTr9DZv4OHiN+1XKosBWLRj/1ExrvyCzSmCvFzjPCeTy + 5XiVIJ48P9m5PsYuafSf1Zl7sJK3fS08rPUiXHWCFx+qiA8JmgfN9VQRIx8ivPwcXpBs9ITJzw8ieQKM + nFd5ckbjR88q3txvoq/evyh4nCgjPiaIjwpaXgtaJwSvvkdwnBUE84soCIRw52sMNQboOx2kuczJy84a + njUEFiJY7GaE7rdbaE8IsuYjnBQ4zgjyDq1AV6OouoEvaDDQ4Kf31EZuVyq8uFbBYKOaHKIlu1bQNeXD + eVpgBHZjaKUY4WIMI0rEKCQQivKk3suDOh/d1V4GLu9h+EIo5RktTvPKSt1SosYOokUlFEWLFyg00TbH + eFTnobsqjzvHPfQ0xRhrjqQIRFvpOraWlFIS20nJtu1JYiaFxTvorZW5e0Kh45ibu6dCjLcUInRdR9dC + aFoYVZ3HXKua2atJVLMv2KSzLxbgSoVi/kCZm0fzmGjfsjjEf6VcT99/+YDj1+SVWGqEf6hlJmlCCMtv + k4rCoiUUiGcAAAAASUVORK5CYII= + + + + + AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACA + AAYAgAAmAIAAGACAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACA + AAIAgAAyAIAAdgCAALQAgADSAIAAugCAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAACAIAAEgCA + ACoAgABUAIAAmACAAN4AgAD/AIAA/wCAAP8AgAD/AIAA/wCAANYAgAAeAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAEACA + ADwAgAB0AIAApACAANIAgAD6AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgACmAIAAHAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAACACA + ADYAgACKAIAAwACAANwAgAD2AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAPoAgAD4AIAA/wCA + AP8AgAD0AIAAiACAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAIAgAAWAIAALgCA + AFYAgACmAIAA5gCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD6AIAA6ACAANAAgACgAIAAWgCA + ABgAgABcAIAA6gCAAP8AgAD/AIAA+ACAAH4AgAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAASAIAAQACA + AHIAgACsAIAA2gCAAPoAgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD8AIAA6ACAALwAgACCAIAAVACA + ACQAgAAAAAAAAAAAAAAAgAAOAIAAgACAAPAAgAD/AIAA/wCAAPIAgABSAIAAAgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAACAIAAIgCA + AHQAgADCAIAA3gCAAPYAgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA8gCAAL4AgABqAIAAOACA + AB4AgAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAFgCAAKQAgAD/AIAA/wCAAP8AgADSAIAAPACA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACA + AA4AgACGAIAA8ACAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAPoAgADkAIAAzACAAKAAgABOAIAAEgCA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAoAgADAAIAA/ACA + AP8AgAD/AIAAygCAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAIAADgCAAH4AgAD6AIAA/wCAAP8AgAD/AIAA/wCAAP8AgADiAIAAtACAAIQAgABMAIAAHACA + AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAgAA2AIAAzACAAP8AgAD/AIAA/ACAALYAgAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAgAACAIAAYACAAOoAgAD/AIAA/wCAAP8AgAD0AIAAvACAAHAAgAA0AIAAGgCA + AAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAgAAEAIAAUgCAAOQAgAD/AIAA/wCAAPwAgACKAIAACAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAqAIAAzgCAAP8AgAD/AIAA9ACAAKIAgAAYAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAFgAgADyAIAA/wCAAP8AgADyAIAAgACA + AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgABgAIAA+gCAAP8AgAD8AIAAqgCA + ABoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAIAgACMAIAA9gCA + AP8AgAD/AIAA5gCAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACgAIAA/wCA + AP8AgADmAIAAUgCAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAQAIAASACAAG4AgAAiAAAAAAAAAAAAAAAAAAAAAAAA + AAAAgAAaAIAApgCAAPwAgAD/AIAA/wCAAOIAgAAqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAgADSAIAA/wCAAP8AgADOAIAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAgAAAAIAACgCAACAAgAA+AIAAdACAALQAgAD2AIAA/wCAAP8AgADaAIAARgCA + AAQAAAAAAAAAAAAAAAAAAAAAAIAAHACAALAAgAD/AIAA/wCAAP8AgADMAIAALgCAAAIAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAgADgAIAA/wCAAP8AgADGAIAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAIAACACAACwAgABiAIAAkACAAL4AgADuAIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD8AIAAxgCAADQAAAAAAAAAAAAAAAAAAAAAAAAAAACAACwAgADaAIAA/wCAAP8AgAD6AIAArACA + AB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgADaAIAA/wCAAP8AgADIAIAAFAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAIAABACAACoAgAB6AIAAtACAANQAgADuAIAA/ACAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/ACAAMIAgAAOAAAAAAAAAAAAAAAAAAAAAACAAAAAgABWAIAA6ACA + AP8AgAD/AIAA9gCAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAC2AIAA/wCAAP8AgADcAIAAOgCA + AAAAAAAAAAAAAACAAAIAgAAYAIAALgCAAFIAgACgAIAA3gCAAPwAgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgACuAIAAHACAAAAAAAAAAAAAAAAA + AAAAgAAEAIAAYgCAAOgAgAD/AIAA/wCAAP8AgAByAIAACAAAAAAAAAAAAAAAAAAAAAAAgACIAIAA/wCA + AP8AgAD2AIAAogCAAD4AgAAwAIAAUgCAAHoAgACuAIAA2gCAAPoAgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD0AIAAkgCA + ABQAAAAAAAAAAAAAAAAAAAAAAIAADACAAH4AgAD/AIAA/wCAAP8AgADkAIAAWACAAAYAAAAAAAAAAAAA + AAAAgABQAIAA+gCAAP8AgAD/AIAA9gCAAN4AgADWAIAA6ACAAPoAgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA8ACAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAACAABAAgACyAIAA/wCAAP8AgAD8AIAA0gCA + ADQAAAAAAAAAAAAAAAAAgAAkAIAAyACAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAPwAgABkAIAACAAAAAAAAAAAAAAAAAAAAAAAgAAgAIAAtgCA + APoAgAD/AIAA/wCAANYAgAAcAAAAAAAAAAAAgAAIAIAAhACAAPgAgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgADgAIAAUgCAAAQAAAAAAAAAAAAA + AAAAgAAAAIAAOgCAANAAgAD/AIAA/wCAAP8AgACgAIAAGAAAAAAAgAAAAIAALgCAANQAgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD8AIAA0gCA + ADYAAAAAAAAAAAAAAAAAAAAAAIAABACAAEwAgAD6AIAA/wCAAP8AgADyAIAAfgCAAAoAAAAAAAAAAACA + ADwAgADoAIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAN4AgAAmAIAAAAAAAAAAAAAAAAAAAAAAAAAAgABwAIAA8gCAAP8AgAD/AIAA9ACA + AF4AAAAAAAAAAAAAAAAAgABmAIAA5gCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgACwAIAAIgAAAAAAAAAAAAAAAAAAAAAAgAAUAIAAngCA + APoAgAD/AIAA/wCAAJwAAAAAAAAAAAAAAAAAgAAMAIAAfACAAPAAgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD2AIAAlgCAABQAAAAAAAAAAAAA + AAAAgAAAAIAAZACAAPAAgAD/AIAA/wCAAH4AAAAAAAAAAAAAAAAAAAAAAIAABgCAAHoAgAD4AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/ACA + AJQAgAAIAAAAAAAAAAAAAAAAAIAAZgCAAPIAgAD/AIAA/wCAAFQAAAAAAAAAAAAAAAAAAAAAAAAAAACA + AAgAgACeAIAA+ACAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAPgAgABqAIAACAAAAAAAAAAAAIAAZgCAAPIAgAD/AIAA/wCAAFgAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAgAAgAIAArACAAPwAgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgADiAIAAVgCAAAIAAAAAAIAAWgCAAOwAgAD/AIAA/wCA + AHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAHACAAK4AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA4gCAAFAAAAAAAIAALACA + ANIAgAD/AIAA/wCAAJwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAACQAgADMAIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAPIAgADOAIAAwACAAOgAgAD/AIAA/wCAAP8AgAD/AIAA/wCA + ANYAgAAqAIAABgCAAIAAgAD0AIAA4gCAAFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAgABEAIAA1gCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/ACAAOAAgACeAIAAaACAAD4AgAAoAIAAIACAAEYAgADuAIAA/wCA + AP8AgAD/AIAA/wCAAP8AgACwAIAAHgCAABAAgAA8AIAANACAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAgAAAAIAARACAANQAgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/ACAAPAAgADaAIAAxACAAJoAgABWAIAAHgCAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAgABOAIAA5gCAAP8AgAD/AIAA/wCAAP8AgAD8AIAAqgCAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAgCAAFAAgADuAIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/ACAAOYAgAC2AIAAjACAAGQAgAA2AIAAEACAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAgAAUAIAApgCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA+ACAAJQAgAAGAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAQAgAByAIAA9ACA + AP8AgAD/AIAA/wCAAP8AgAD0AIAAkgCAADYAgAAcAIAACACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAgAAEAIAAKACAAGQAgACsAIAA5gCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + APYAgABoAIAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAgAAIAIAAcgCAAO4AgAD/AIAA/wCAAP8AgAD2AIAAhgCAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAgAACAIAAEACAACIAgAA8AIAAaACAAKIAgADkAIAA/ACAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgADqAIAAZACAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAIAAEACAAIQAgAD8AIAA/wCAAP8AgAD/AIAA5gCAAGQAAAAAAAAAAAAA + AAAAgAAGAIAAIgCAAEgAgAB2AIAAnACAAMQAgADuAIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA2ACAAEYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAABAAgACqAIAA/wCAAP8AgAD/AIAA/wCA + AOYAgAB0AIAAXACAAIAAgAC2AIAA0ACAAOIAgAD4AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAL4AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAYAIAApACA + APgAgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AMIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAgAAAAIAAKACAALYAgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + APwAgADeAIAAsACAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAACgAgADeAIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + APQAgAC+AIAAiACAAFQAgAAwAIAAGgCAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAA2AIAA0ACAAPwAgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/ACAAPAAgADcAIAAygCA + AKgAgABsAIAANgCAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAEAIAATACA + ANoAgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA9ACAANYAgACsAIAAiACA + AGQAgAA6AIAAGACAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAIAABgCAAFAAgAD4AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD8AIAA4ACAAKwAgABsAIAAQgCA + ACwAgAAWAIAABgCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgABaAIAAygCAANAAgAC4AIAAigCAAFYAgAAaAIAAAgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAEAIAAHACAACQAgAAGAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAP///////wAA////x/// + AAD///wD//8AAP//4AH//wAA//4AAP//AAD/8ABw//8AAP+AA/B//wAA/AA/+D//AADgAf/8H/8AAOAP + //4P/wAAwP///wf/AACD////g/8AAIf///+D/wAAD////8H/AAAP//4P4P8AAA//4AfwfwAAD/8AA/g/ + AAAP8AAB/D8AAAeAAAD+HwAAgAAAAP4PAACAAAAAfwcAAIAAAAA/gwAAwAAAAB/DAADgAAAAD+EAAPAA + AAAH4AAA+AAAAAPxAAD8AAAAAfEAAPwAAAAB8QAA/gAAAADxAAD/AAAAAHAAAP+AAAAAMQAA/8AAAfAf + AAD/4AAf+A8AAP/wAf/4BwAA//gP//AHAAD//A//AAMAAP/8D/AAAQAA//4GAAAAAAD//wAAAAAAAP// + gAAAAQAA///AAAAPAAD//+AAAf8AAP//8AAf/wAA///4A///AAD///w///8AAP///////wAA//////// + AAA= + + + \ No newline at end of file diff --git a/Logbuch/Logbuch/Form1.vb b/Logbuch/Logbuch/Form1.vb new file mode 100644 index 0000000..024e120 --- /dev/null +++ b/Logbuch/Logbuch/Form1.vb @@ -0,0 +1,98 @@ +Imports System.Security.Principal +Public Class Form1 + Dim ouser As New WindowsPrincipal(WindowsIdentity.GetCurrent) + Dim db As New clsdbhandling + Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles tsbtnclose.Click + beendenToolStripMenuItem_Click(sender, e) + End Sub + + Private Sub beendenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles beendenToolStripMenuItem.Click + + Me.Close() + End Sub + + Private Sub logbuchToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles logbuchToolStripMenuItem.Click + Dim f As New frmLogbuch + f.MdiParent = Me + f.Show() + End Sub + + Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load + If Check_User() = False Then + MsgBox("Sie haben keine Bereichtigungen für diese Anwendung.", vbExclamation) + Me.Close() + Exit Sub + End If + + Dim sql As String = "" + If Globals.Userdaten.Rows(0).Item("ES_Auswerten") = True Then + sql = sql + "Reportgruppe=2" + End If + If Globals.Userdaten.Rows(0).Item("Policen_Auswerten") = True Then + If sql = "" Then + sql = sql + "Reportgruppe=4" + Else + sql = sql + " or Reportgruppe=4" + End If + End If + If Globals.Userdaten.Rows(0).Item("Systemadministrator") = False Then + Me.SystemadministrationToolStripMenuItem.Visible = False + End If + If sql <> "" Then + sql = "Select ReportNr, Bezeichnung from Report where aktiv=1 and (" + sql + ") order by sortorder" + Else + sql = "Select ReportNr, Bezeichnung from Report where aktiv=1 and reportgruppe=-1 order by sortorder" + End If + + db.Fill_TSCombobox(Me.tscbboxAuswertung, sql, False, True) + If Me.tscbboxAuswertung.Items.Count = 0 Then + Me.tscbboxAuswertung.Visible = False + Me.AuswertungenToolStripMenuItem.Visible = False + End If + Globals.Version = Globals.Version + Dim f As New frmLogbuch + f.MdiParent = Me + f.Show() + Me.WindowState = FormWindowState.Maximized + Globals.Applikationsdaten = db.Get_Tabledata("Select * from applikation", False, True) + End Sub + + Function Check_User() As Boolean + + Globals.Userdaten = db.Get_Tabledata("Select * from Benutzer where tgnummer='" + Get_Username() + "'", False, True) + If Globals.Userdaten.Rows.Count < 1 Then + Return False + Else + Return True + + End If + End Function + + Private Sub SystemadministrationToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles SystemadministrationToolStripMenuItem.Click + Dim f1 As New frmSysadmin + f1.MdiParent = Me + f1.Show() + End Sub + + + + Private Sub tscbboxAuswertung_SelectedIndexChanged(sender As Object, e As EventArgs) Handles tscbboxAuswertung.SelectedIndexChanged + For Each r As DataRow In Globals.Reportdata.Rows + If r.Item(1) = tscbboxAuswertung.Text Then + Dim f As New frmAuswertung(r.Item(0), Me.tscbboxAuswertung.Text) + f.MdiParent = Me + f.Show() + End If + Next + End Sub + + Private Function Get_Username() As String + With ouser.Identity.Name + Return (.Substring(.IndexOf("\") + 1)) + End With + End Function + + Private Sub AuswertungenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AuswertungenToolStripMenuItem.Click + + End Sub +End Class diff --git a/Logbuch/Logbuch/Klassen/clsSpalten.vb b/Logbuch/Logbuch/Klassen/clsSpalten.vb new file mode 100644 index 0000000..83b192f --- /dev/null +++ b/Logbuch/Logbuch/Klassen/clsSpalten.vb @@ -0,0 +1,432 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +'* +' Object MyspaltenTitel +' +' Dieses Objekt liest die Daten aus der Tabelle Spalten und speichert diese in spaltendaten +' Die Daten werden für die Spaltenbezeichnung der C1Datagrids verwendet +' +' Autor: Stefan Hutter +' Datum: 2.12.2002 +'* +Imports C1.Win.C1TrueDBGrid +Namespace Utils + + Public Class Tabellenspalte + Private m_table As String + Private m_field As String + Private m_spaltenname As String + Private m_locked As Boolean + Private m_Width As Integer + Private m_Order As Integer + Private m_alsHacken As Boolean + Private m_tiptext As String + Private m_numberformat As String + + Property ColWith() As Integer + Get + Return m_Width + End Get + Set(ByVal Value As Integer) + m_Width = Value + End Set + End Property + Property Order() As Integer + Get + Return m_Order + End Get + Set(ByVal Value As Integer) + m_Order = Value + End Set + End Property + Property Tabelle() As String + Get + Return m_table + End Get + Set(ByVal Value As String) + m_table = Value + End Set + End Property + Property Feld() As String + Get + Return m_field + End Get + Set(ByVal Value As String) + m_field = Value + End Set + End Property + Property spaltenname() As String + Get + Return m_spaltenname + End Get + Set(ByVal Value As String) + m_spaltenname = Value + End Set + End Property + Property locked() As Boolean + Get + Return m_locked + End Get + Set(ByVal Value As Boolean) + m_locked = Value + End Set + End Property + Property AlsHacken() As Boolean + Get + Return m_alsHacken + End Get + Set(ByVal Value As Boolean) + m_alsHacken = Value + End Set + End Property + Property TipText() As String + Get + Return m_tiptext + End Get + Set(ByVal Value As String) + m_tiptext = Value + End Set + End Property + Property Numberformat() As String + Get + Return m_numberformat + End Get + Set(ByVal value As String) + m_numberformat = value + End Set + End Property + Public Sub New() + + End Sub + Public Sub New(ByRef daten As Object, ByRef tablename As String, ByRef ds As DataSet) + Spaltentitel_aktualisieren(daten, tablename, ds) + End Sub + Public Function getspalte() + Try + Dim myspalten As New MySpaltenTitel() + myspalten.getspalte(Me.Tabelle, Me.Feld, Me.spaltenname, Me.locked, Me.ColWith, Me.Order, Me.AlsHacken, Me.TipText, Me.Numberformat) + Catch ex As Exception + MsgBox(ex.Message) + + End Try + End Function + + Public Function Spaltentitel_aktualisieren(ByRef daten As Object, ByRef tablename As String, ByRef ds As DataSet) + Dim anzcols As Integer + Dim i As Integer + Dim s As String + anzcols = daten.Splits(0).DisplayColumns.Count + Me.Tabelle = tablename + For i = 0 To daten.Columns.Count - 1 + s = daten.Columns(i).DataField + Me.Feld = s + Me.getspalte() + daten.Columns(i).Caption = Me.spaltenname + + If Me.ColWith = 0 Then + daten.Splits(0).DisplayColumns(i).Width = 0 + daten.Splits(0).DisplayColumns(i).Visible = False + Else + daten.Splits(0).DisplayColumns(i).Width = Me.ColWith + End If + + If Me.locked Then + daten.Splits(0).DisplayColumns(i).Locked = True + End If + + If Me.AlsHacken Then + daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox + End If + + 'Präsentation von aktiv + If LCase(daten.Columns(i).DataField) = "aktiv" Then + daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox + daten.Columns(i).ValueItems.DefaultItem = True + daten.Columns(i).DefaultValue = True + daten.Columns(i).FilterText = True + 'Dim items As C1.Win.C1TrueDBGrid.ValueItems = daten.Columns("aktiv").ValueItems + 'items.Values.Clear() + 'items.Values.Add(New C1.Win.C1TrueDBGrid.ValueItem("False", False)) ' unchecked + 'items.Values.Add(New C1.Win.C1TrueDBGrid.ValueItem("True", True)) ' checked + 'items.Values.Add(New C1.Win.C1TrueDBGrid.ValueItem("", "INDETERMINATE")) ' indeterminate state + + + End If + Select Case LCase(daten.Columns(i).DataField) + Case "erstellt_am", "erstelltam" + daten.Columns(i).DefaultValue = Now + End Select + If daten.Columns(i).DataType.Name = "DateTime" Then + daten.Columns(i).NumberFormat = "dd.MM.yyyy HH:mm:ss" + End If + If Me.Numberformat <> "" Then + daten.columns(i).numberformat = Me.Numberformat + End If + Next + ColumnOrder(tablename, daten) + daten.HeadingStyle.WrapText = False + End Function + + Public Function Spaltentitel_aktualisieren(ByRef daten As Object, ByRef tablename As String, ByRef dt As DataTable, Optional ByVal Aktiv_Spalte_True_Setzen As Boolean = True) + Dim anzcols As Integer + Dim i As Integer + Dim t As New DataTable() + Dim s As String + anzcols = daten.Splits(0).DisplayColumns.Count + t = dt + Me.Tabelle = tablename + For i = 0 To daten.Columns.Count - 1 + s = daten.Columns(i).DataField + 'If s = "ApplikationNr" Then + ' MsgBox("Hallo") + + 'End If + Me.Feld = s + Me.getspalte() + daten.Columns(i).Caption = Me.spaltenname + + If Me.ColWith = 0 Then + daten.Splits(0).DisplayColumns(i).Width = 0 + daten.Splits(0).DisplayColumns(i).Visible = False + Else + daten.Splits(0).DisplayColumns(i).Width = Me.ColWith + End If + + If Me.locked Then + daten.Splits(0).DisplayColumns(i).Locked = True + End If + + If Me.AlsHacken Then + daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox + End If + + 'Präsentation von aktiv + If LCase(daten.Columns(i).DataField) = "aktiv" And Aktiv_Spalte_True_Setzen = True Then + daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox + daten.Columns(i).ValueItems.DefaultItem = True + daten.Columns(i).DefaultValue = True + daten.Columns(i).FilterText = True + End If + Select Case LCase(daten.Columns(i).DataField) + Case "erstellt_am", "erstelltam" + daten.Columns(i).DefaultValue = Now + End Select + If daten.Columns(i).DataType.Name = "DateTime" Then + daten.Columns(i).NumberFormat = "dd.MM.yyyy HH:mm:ss" + End If + If Me.Numberformat <> "" Then + daten.columns(i).numberformat = Me.Numberformat + End If + Next + ColumnOrder(tablename, daten) + daten.HeadingStyle.WrapText = False + End Function + + Public Function Spaltentitel_aktualisieren_Optionaler_Aktiv_Filer(ByRef daten As Object, ByRef tablename As String, ByRef dt As DataTable, Optional ByVal Aktiv_Filter As String = "") + Dim anzcols As Integer + Dim i As Integer + Dim t As New DataTable() + Dim s As String + anzcols = daten.Splits(0).DisplayColumns.Count + t = dt + Me.Tabelle = tablename + For i = 0 To daten.Columns.Count - 1 + s = daten.Columns(i).DataField + + Me.Feld = s + Me.getspalte() + If Me.spaltenname = "" Then + daten.Splits(0).DisplayColumns(i).Width = 0 + Else + daten.Columns(i).Caption = Me.spaltenname + + If Me.ColWith = 0 Then + daten.Splits(0).DisplayColumns(i).Width = 0 + daten.Splits(0).DisplayColumns(i).Visible = False + Else + daten.Splits(0).DisplayColumns(i).Width = Me.ColWith + End If + + If Me.locked Then + daten.Splits(0).DisplayColumns(i).Locked = True + End If + + If Me.AlsHacken Then + daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox + End If + + 'Präsentation von aktiv + If LCase(daten.Columns(i).DataField) = "aktiv" And Aktiv_Filter <> "" Then + daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox + daten.Columns(i).ValueItems.DefaultItem = True + daten.Columns(i).DefaultValue = True + daten.Columns(i).FilterText = Aktiv_Filter + End If + Select Case LCase(daten.Columns(i).DataField) + Case "erstellt_am", "erstelltam" + daten.Columns(i).DefaultValue = Now + End Select + If daten.Columns(i).DataType.Name = "DateTime" Then + daten.Columns(i).NumberFormat = "dd.MM.yyyy HH:mm:ss" + End If + If Me.Numberformat <> "" Then + daten.columns(i).numberformat = Me.Numberformat + End If + End If + Next + ColumnOrder(tablename, daten) + daten.HeadingStyle.WrapText = False + End Function + ''' + ''' Sortierung der in der DB-Tabelle Spalaten festgelegten Reihenfolge + ''' + ''' + ''' + ''' + ''' + Public Function ColumnOrder(ByVal Tablename As String, ByRef Data As C1TrueDBGrid) + Dim spaltendata As DataTable = Globals.Spaltendaten + Dim dv() As DataRow + Dim dr As DataRow + Dim dc As New Collection + dv = spaltendata.Select("Tabelle='" & Tablename & "'", "Reihenfolge desc, Eintragnr") + For Each c As C1DisplayColumn In Data.Splits(0).DisplayColumns + dc.Add(c) + Next + While Data.Splits(0).DisplayColumns.Count > 0 + Data.Splits(0).DisplayColumns.RemoveAt(0) + End While + + For Each dr In dv + For Each e As C1DisplayColumn In dc + If e.Name = dr.Item(3) Then + Data.Splits(0).DisplayColumns.Insert(0, e) + End If + Next + Next + + End Function + End Class + + Public Class MySpaltenTitel + Private spaltendata As DataTable = Globals.Spaltendaten + Sub New() + load_data() + End Sub + + Sub dispose() + spaltendata.Dispose() + Me.dispose() + End Sub + + Public Function getspalte(ByVal tabelle As String, ByVal feld As String, ByRef spaltenname As String, ByRef locked As Boolean, + ByRef colwidth As Integer, ByRef order As Integer, ByRef alshacken As Boolean, ByRef tiptext As String, ByRef numberformat As String) + If spaltendata.Rows.Count = 0 Then load_data() + Dim dv() As DataRow + Dim dr As DataRow + dv = spaltendata.Select("Tabelle='" & tabelle & "' and tabellenspalte='" & feld & "'", "Reihenfolge, Eintragnr") + If dv.Length = 0 Then + spaltenname = "" + locked = True + colwidth = 0 + order = 0 + alshacken = False + tiptext = "" + numberformat = "" + End If + For Each dr In dv + spaltenname = dr.Item(3) + locked = dr.Item(4) + colwidth = dr.Item(6) + order = dr.Item(7) + alshacken = dr.Item(5) + tiptext = dr.Item(8) + numberformat = dr.Item(14).ToString + Next + 'Dim i As Integer + 'For i = 0 To spaltendata.Rows.Count - 1 + + ' If UCase(spaltendata.Rows(i).Item(1)) = UCase(tabelle) And UCase(spaltendata.Rows(i).Item(2)) = UCase(feld) Then + ' spaltenname = spaltendata.Rows(i).Item(3) + ' locked = spaltendata.Rows(i).Item(4) + ' colwidth = spaltendata.Rows(i).Item(6) + ' order = spaltendata.Rows(i).Item(7) + ' alshacken = spaltendata.Rows(i).Item(5) + ' tiptext = spaltendata.Rows(i).Item(8) + ' Exit Function + ' End If + 'Next + + End Function + + Public Sub load_data() + If Me.spaltendata.Rows.Count > 0 Then Exit Sub + Dim spalten As New Utils.clsSpalten() + spaltendata.Rows.Clear() + spalten.cpMainConnectionProvider = conn + spaltendata = spalten.Select_All_Aktiv + Globals.Spaltendaten = spaltendata + End Sub + End Class + + Public Class clsSpalten + Inherits DB.clsSpalten + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Public Function Select_All_Aktiv() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_SelectAll_Aktiv]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = New DataTable("spalten") + Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(0)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + End Class +End Namespace \ No newline at end of file diff --git a/Logbuch/Logbuch/Klassen/clsdbhandling.vb b/Logbuch/Logbuch/Klassen/clsdbhandling.vb new file mode 100644 index 0000000..877f014 --- /dev/null +++ b/Logbuch/Logbuch/Klassen/clsdbhandling.vb @@ -0,0 +1,354 @@ +Imports System.Data.Sql +Imports System.Data.SqlClient +Imports System.Data.SqlTypes +Public Class clsdbhandling + Dim ConnString As String + + Public daten As New DataSet + Dim qb As New SqlCommandBuilder + Sub New() + Me.ConNString = Get_Connectionstring() + End Sub + + + Function Get_Connectionstring() As String + Return Globals.sConnectionString + 'Return "Data Source=shu00;Initial Catalog=logbuch;User ID=sa;Password=*shu29" + End Function + + Public Function get_datatable(typ As Integer, partnernr As Integer) As System.Data.DataTable + ''string Connstr = System.Configuration.ConfigurationManager.AppSettings["EDOKAConnectionstring"]; + Dim scmCmdToExecute As New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[sp_anzeige]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As New DataTable("partner") + Dim sdaAdapter As New SqlDataAdapter(scmCmdToExecute) + Dim conn As New SqlConnection(ConnString) + + + scmCmdToExecute.Connection = conn + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@partner", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, + 0, "", DataRowVersion.Proposed, partnernr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@modus", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, + 0, "", DataRowVersion.Proposed, typ)) + conn.Open() + sdaAdapter.Fill(daten) + 'Return daten + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMyPartner::sp_partner_search::Error occured." + ex.Message, ex) + Finally + scmCmdToExecute.Connection.Close() + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + Public Function Get_Tabledata(ByVal Tablename As String, Optional StoredProc As Boolean = False, Optional is_SQL_String As Boolean = False) As DataTable + Try + Dim sqlconnect As New SqlConnection + Dim ds As New DataSet + ds.Tables.Clear() + sqlconnect.ConnectionString = Me.ConnString + sqlconnect.Open() + Dim da As New SqlDataAdapter("", sqlconnect) + Dim sqlcmd As New SqlCommand + sqlcmd.Connection = sqlconnect + If StoredProc = True Then + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.CommandText = Tablename + Else + sqlcmd.CommandType = CommandType.Text + sqlcmd.CommandText = "Select * from " + Tablename + End If + If is_SQL_String = True Then + sqlcmd.CommandText = Tablename + End If + ' sqlcmd.CommandType = CommandType.StoredProcedure + ' sqlcmd.CommandText = "Berufsliste" + da.SelectCommand = sqlcmd + da.Fill(ds, "Daten") + If Left(UCase(sqlcmd.CommandText), 6) = "INSERT" Then Exit Function + Return ds.Tables(0) + Catch ex As Exception + 'MsgBox(ex.Message) + End Try + + End Function + + Public Function Get_Tabledata(ByVal Tablename As String, ByVal Params As List(Of ParamItem), Optional StoredProc As Boolean = False, Optional is_SQL_String As Boolean = False) As DataTable + + Dim sqlconnect As New SqlConnection + Dim ds As New DataSet + ds.Tables.Clear() + sqlconnect.ConnectionString = Me.ConnString + sqlconnect.Open() + Dim da As New SqlDataAdapter("", sqlconnect) + Dim sqlcmd As New SqlCommand + sqlcmd.Connection = sqlconnect + If StoredProc = True Then + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.CommandText = Tablename + For Each p As ParamItem In Params + sqlcmd.Parameters.Add(p.ParamName, p.ParamValue) + Next + Else + sqlcmd.CommandType = CommandType.Text + sqlcmd.CommandText = "Select * from " + Tablename + End If + If is_SQL_String = True Then + sqlcmd.CommandText = Tablename + End If + ' sqlcmd.CommandType = CommandType.StoredProcedure + ' sqlcmd.CommandText = "Berufsliste" + da.SelectCommand = sqlcmd + da.Fill(ds, "Daten") + + + Return ds.Tables(0) + End Function + + Dim da As SqlDataAdapter + Public Function Get_Tabledata_for_Update(ByVal Tablename As String, Optional StoredProc As Boolean = False, Optional is_SQL_String As Boolean = False) As DataTable + Dim sqlconnect As New SqlConnection + Dim ds As New DataSet + ds.Tables.Clear() + sqlconnect.ConnectionString = Me.ConnString + sqlconnect.Open() + da = New SqlDataAdapter("", sqlconnect) + Dim sqlcmd As New SqlCommand + sqlcmd.Connection = sqlconnect + If StoredProc = True Then + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.CommandText = Tablename + Else + sqlcmd.CommandType = CommandType.Text + sqlcmd.CommandText = "Select * from " + Tablename + End If + If is_SQL_String = True Then + sqlcmd.CommandText = Tablename + End If + ' sqlcmd.CommandType = CommandType.StoredProcedure + ' sqlcmd.CommandText = "Berufsliste" + da.SelectCommand = sqlcmd + da.Fill(daten, "Daten") + qb = New SqlCommandBuilder(da) + End Function + + Public Sub Update_Tabeldata() + da.Update(daten, "Daten") + End Sub + + + Public Sub Fill_Combobox(ByRef cbbox As ComboBox, ByVal Tablename As String, Optional StoredProc As Boolean = False, Optional is_SQL_String As Boolean = False) + Dim data As New DataTable + data = Get_Tabledata(Tablename, StoredProc, is_SQL_String) + Dim cbboxitems = New List(Of ComboboxItem) + For Each r As DataRow In data.Rows + cbboxitems.Add(New ComboboxItem(r.Item(0), r.Item(1))) + Next + cbbox.DataSource = cbboxitems + cbbox.DisplayMember = "bezeichnung" + cbbox.ValueMember = data.Columns(0).ColumnName + + End Sub + + Public Function Fill_Combobox1(ByRef cbbox As ComboBox, ByVal Tablename As String, Optional StoredProc As Boolean = False, Optional is_SQL_String As Boolean = False) As DataTable + Dim data As New DataTable + data = Get_Tabledata(Tablename, StoredProc, is_SQL_String) + Dim cbboxitems = New List(Of ComboboxItem) + For Each r As DataRow In data.Rows + cbboxitems.Add(New ComboboxItem(r.Item(0), r.Item(1))) + Try + cbbox.AutoCompleteCustomSource.Add(r.Item("kurzzeichen")) + cbbox.AutoCompleteCustomSource.Add(r.Item("tgnummer")) + cbbox.AutoCompleteCustomSource.Add(r.Item(1)) + Catch + End Try + + Next + cbbox.DataSource = cbboxitems + cbbox.DisplayMember = "bezeichnung" + cbbox.ValueMember = data.Columns(0).ColumnName + Return data + End Function + + Public Sub Fill_TSCombobox(ByRef cbbox As ToolStripComboBox, ByVal Tablename As String, Optional StoredProc As Boolean = False, Optional is_SQL_String As Boolean = False) + Dim data As New DataTable + data = Get_Tabledata(Tablename, StoredProc, is_SQL_String) + Globals.Reportdata = data.Copy + For Each r As DataRow In data.Rows + cbbox.Items.Add(r.Item(1)) + Next + End Sub + + Public Function Insert_New_Entry(ByVal Table As String) As DataTable + Dim sqlconnect As New SqlConnection + Dim ds As New DataSet + ds.Tables.Clear() + sqlconnect.ConnectionString = Me.ConnString + Dim da As New SqlDataAdapter("", sqlconnect) + Dim sqlcmd As New SqlCommand + sqlcmd.Connection = sqlconnect + Dim sql As String + If Table = "Logbuch" Then + sqlcmd.CommandText = "Insert into Logbuch (aktiv) values(1)" + Else + sqlcmd.CommandText = "Insert into Policen (aktiv) values(1)" + End If + sqlconnect.Open() + sqlcmd.ExecuteNonQuery() + sqlconnect.Close() + Dim data As New DataTable + If Table = "Logbuch" Then + data = Get_Tabledata("Select top 1 * from logbuch order by nreintrag desc", False, True) + Else + + data = Get_Tabledata("Select top 1 * from Policen order by policeid desc", False, True) + End If + + Return data + + End Function + + Public Function updatedata(ByVal Tablename As String, ByVal sourcetable As DataTable, Optional StoredProc As Boolean = False, Optional is_SQL_String As Boolean = False) As DataSet + Dim sqlconnect As New SqlConnection + Dim ds As New DataSet + Dim qb As New SqlCommandBuilder + ds.Tables.Clear() + sqlconnect.ConnectionString = Me.ConnString + sqlconnect.Open() + Dim da As New SqlDataAdapter("", sqlconnect) + Dim sqlcmd As New SqlCommand + sqlcmd.Connection = sqlconnect + If StoredProc = True Then + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.CommandText = Tablename + Else + sqlcmd.CommandType = CommandType.Text + sqlcmd.CommandText = "Select * from " + Tablename + End If + If is_SQL_String = True Then + sqlcmd.CommandText = Tablename + End If + ' sqlcmd.CommandType = CommandType.StoredProcedure + ' sqlcmd.CommandText = "Berufsliste" + da.SelectCommand = sqlcmd + da.Fill(ds, "Daten") + qb = New SqlCommandBuilder(da) + For Each c As DataColumn In sourcetable.Columns + ds.Tables(0).Rows(0).Item(c.ColumnName) = sourcetable.Rows(0).Item(c.ColumnName) + Next + da.Update(ds, "Daten") + End Function + + Public Sub Delete_Entry(ByVal Typ As Integer, ByVal Key As Integer) + Dim sqlconnect As New SqlConnection + Dim ds As New DataSet + Dim qb As New SqlCommandBuilder + ds.Tables.Clear() + sqlconnect.ConnectionString = Me.ConnString + sqlconnect.Open() + Dim da As New SqlDataAdapter("", sqlconnect) + Dim sqlcmd As New SqlCommand + sqlcmd.Connection = sqlconnect + Dim sql As String + If Typ = 1 Then + sql = "Update LOGBUCH " + Else + sql = "Update Policen " + End If + sql = sql + "set aktiv=0, Mutationsdatum=getdate(), mutierer=" + Globals.Userdaten.Rows(0).Item(0).ToString + " where " + If Typ = 1 Then + sql = sql + "nreintrag = " + Key.ToString + Else + sql = sql + "policeid = " + Key.ToString + End If + sqlcmd.CommandText = sql + sqlcmd.ExecuteNonQuery() + sqlconnect.Close() + End Sub + + Public Sub insert_stammdaten(ByVal typ As String, ByVal Text As String) + + Try + Dim sql As String + Select Case UCase(typ) + Case "GRUNDBUCH" + sql = "Insert grundbuch (grundbuch,aktiv) values('" + Text + "',1)" + Get_Tabledata(sql, False, True) + Case "GEGENPARTEI" + sql = "Insert Gegenpartei (Bezeichnung) values('" + Text + "')" + Get_Tabledata(sql, False, True) + Case "STDBEMERKUNG" + sql = "Insert Bemerkungen (Bemerkung) values('" + Text + "')" + Get_Tabledata(sql, False, True) + Case "VERSGESELLSCHAFT" + sql = "Insert Versgesellschaften (bezeichnung,aktiv) values('" + Text + "',1)" + Get_Tabledata(sql, False, True) + + End Select + Catch ex As Exception + MsgBox(ex.Message) + End Try + End Sub +End Class + +Public Class ComboboxItem + + Public Sub New(ByVal id As Integer, ByVal Bezeichnung As String) + mID = id + mBezeichnung = Bezeichnung + End Sub + + Private mID As Integer + Public Property ID() As Integer + Get + Return mID + End Get + Set(ByVal value As Integer) + mID = value + End Set + End Property + + Private mBezeichnung As String + Public Property Bezeichnung() As String + Get + Return mBezeichnung + End Get + Set(ByVal value As String) + mBezeichnung = value + End Set + End Property + +End Class + +Public Class ParamItem + + Public Sub New(ByVal ParamName As String, ByVal ParamValue As String) + mParamName = ParamName + mParamValue = ParamValue + End Sub + + Private mParamName As String + Property ParamName As String + Get + Return mParamName + End Get + Set(value As String) + mParamName = value + End Set + End Property + + Private mParamValue As String + Public Property ParamValue() As String + Get + Return mParamValue + End Get + Set(ByVal value As String) + mParamValue = value + End Set + End Property + +End Class diff --git a/Logbuch/Logbuch/Logbuch.vbproj b/Logbuch/Logbuch/Logbuch.vbproj new file mode 100644 index 0000000..abf666c --- /dev/null +++ b/Logbuch/Logbuch/Logbuch.vbproj @@ -0,0 +1,247 @@ + + + + + Debug + AnyCPU + {8A404216-38A9-4305-9BA2-04CD2AC20F32} + WinExe + Logbuch.My.MyApplication + Logbuch + Logbuch + 512 + WindowsForms + v4.5 + + + AnyCPU + true + full + true + true + bin\Debug\ + Logbuch.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + AnyCPU + pdbonly + false + true + true + bin\Release\ + Logbuch.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + On + + + Binary + + + Off + + + On + + + book-multi-size.ico + + + + + + + + + False + C:\Program Files (x86)\FastReports\FastReport.Net\Framework 4.0\FastReport.dll + + + False + C:\Program Files (x86)\FastReports\FastReport.Net\Framework 4.0\FastReport.Bars.dll + + + False + C:\Program Files (x86)\FastReports\FastReport.Net\Framework 4.0\FastReport.Editor.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Form + + + Form + + + Form1.vb + Form + + + frmSplash.vb + + + Form + + + + + frmLogbuch.vb + + + Form + + + frmPolice.vb + + + Form + + + frmSchuldbrief.vb + + + Form + + + + True + Application.myapp + + + True + True + Resources.resx + + + True + Settings.settings + True + + + frmPartnersuche.vb + + + Form + + + frmAuswertung.vb + + + Form + + + frmCRReporting.vb + + + Form + + + frmKalender.vb + + + Form + + + frmSysadmin.vb + + + Form + + + + + + + + Form1.vb + + + frmSplash.vb + + + frmLogbuch.vb + + + frmPolice.vb + + + frmSchuldbrief.vb + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + frmPartnersuche.vb + + + frmAuswertung.vb + + + frmCRReporting.vb + + + frmKalender.vb + + + frmSysadmin.vb + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + + + + + + + \ No newline at end of file diff --git a/Logbuch/Logbuch/Logbuch.vbproj.user b/Logbuch/Logbuch/Logbuch.vbproj.user new file mode 100644 index 0000000..a3ee842 --- /dev/null +++ b/Logbuch/Logbuch/Logbuch.vbproj.user @@ -0,0 +1,6 @@ + + + + C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86\dotnet\ + + \ No newline at end of file diff --git a/Logbuch/Logbuch/Logbuch/frmLogbuch.Designer.vb b/Logbuch/Logbuch/Logbuch/frmLogbuch.Designer.vb new file mode 100644 index 0000000..cfb69c1 --- /dev/null +++ b/Logbuch/Logbuch/Logbuch/frmLogbuch.Designer.vb @@ -0,0 +1,212 @@ + +Partial Class frmLogbuch + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmLogbuch)) + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.ToolStripButton1 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripLabel1 = New System.Windows.Forms.ToolStripLabel() + Me.Tstxtpartnernr = New System.Windows.Forms.ToolStripTextBox() + Me.ToolStripButton2 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripLabel3 = New System.Windows.Forms.ToolStripLabel() + Me.tscbboxArt = New System.Windows.Forms.ToolStripComboBox() + Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripLabel2 = New System.Windows.Forms.ToolStripLabel() + Me.tscbboxmodus = New System.Windows.Forms.ToolStripComboBox() + Me.ToolStripButton3 = New System.Windows.Forms.ToolStripButton() + Me.C1Daten = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.NeuerEintragToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.EintragAnzeigenBearbeitenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.EintragLöschenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStrip1.SuspendLayout() + CType(Me.C1Daten, System.ComponentModel.ISupportInitialize).BeginInit() + Me.ContextMenuStrip1.SuspendLayout() + Me.SuspendLayout() + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton1, Me.ToolStripLabel1, Me.Tstxtpartnernr, Me.ToolStripButton2, Me.ToolStripSeparator1, Me.ToolStripLabel3, Me.tscbboxArt, Me.ToolStripSeparator2, Me.ToolStripLabel2, Me.tscbboxmodus, Me.ToolStripButton3}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 0) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(1073, 25) + Me.ToolStrip1.TabIndex = 0 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'ToolStripButton1 + ' + Me.ToolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton1.Image = CType(resources.GetObject("ToolStripButton1.Image"), System.Drawing.Image) + Me.ToolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton1.Name = "ToolStripButton1" + Me.ToolStripButton1.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton1.Text = "Schliessen" + ' + 'ToolStripLabel1 + ' + Me.ToolStripLabel1.Name = "ToolStripLabel1" + Me.ToolStripLabel1.Size = New System.Drawing.Size(66, 22) + Me.ToolStripLabel1.Text = "Partner-Nr:" + ' + 'Tstxtpartnernr + ' + Me.Tstxtpartnernr.Name = "Tstxtpartnernr" + Me.Tstxtpartnernr.Size = New System.Drawing.Size(100, 25) + ' + 'ToolStripButton2 + ' + Me.ToolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton2.Image = CType(resources.GetObject("ToolStripButton2.Image"), System.Drawing.Image) + Me.ToolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton2.Name = "ToolStripButton2" + Me.ToolStripButton2.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton2.Text = "Partner suchen" + ' + 'ToolStripSeparator1 + ' + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" + Me.ToolStripSeparator1.Size = New System.Drawing.Size(6, 25) + ' + 'ToolStripLabel3 + ' + Me.ToolStripLabel3.Name = "ToolStripLabel3" + Me.ToolStripLabel3.Size = New System.Drawing.Size(23, 22) + Me.ToolStripLabel3.Text = "Art" + ' + 'tscbboxArt + ' + Me.tscbboxArt.Items.AddRange(New Object() {"Aktive Einträge", "Alle Einträge", "Inaktive Einträge"}) + Me.tscbboxArt.Name = "tscbboxArt" + Me.tscbboxArt.Size = New System.Drawing.Size(121, 25) + ' + 'ToolStripSeparator2 + ' + Me.ToolStripSeparator2.Name = "ToolStripSeparator2" + Me.ToolStripSeparator2.Size = New System.Drawing.Size(6, 25) + ' + 'ToolStripLabel2 + ' + Me.ToolStripLabel2.Name = "ToolStripLabel2" + Me.ToolStripLabel2.Size = New System.Drawing.Size(47, 22) + Me.ToolStripLabel2.Text = "Modus:" + ' + 'tscbboxmodus + ' + Me.tscbboxmodus.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest + Me.tscbboxmodus.Items.AddRange(New Object() {"Schuldbrife", "Policen"}) + Me.tscbboxmodus.Name = "tscbboxmodus" + Me.tscbboxmodus.Size = New System.Drawing.Size(121, 25) + ' + 'ToolStripButton3 + ' + Me.ToolStripButton3.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton3.Image = CType(resources.GetObject("ToolStripButton3.Image"), System.Drawing.Image) + Me.ToolStripButton3.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton3.Name = "ToolStripButton3" + Me.ToolStripButton3.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton3.Text = "Neuer Eintrag" + ' + 'C1Daten + ' + Me.C1Daten.CellTips = C1.Win.C1TrueDBGrid.CellTipEnum.Floating + Me.C1Daten.ContextMenuStrip = Me.ContextMenuStrip1 + Me.C1Daten.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1Daten.FilterBar = True + Me.C1Daten.GroupByCaption = "Drag a column header here to group by that column" + Me.C1Daten.Images.Add(CType(resources.GetObject("C1Daten.Images"), System.Drawing.Image)) + Me.C1Daten.Location = New System.Drawing.Point(0, 25) + Me.C1Daten.Name = "C1Daten" + Me.C1Daten.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1Daten.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1Daten.PreviewInfo.ZoomFactor = 75.0R + Me.C1Daten.PrintInfo.PageSettings = CType(resources.GetObject("C1Daten.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1Daten.PropBag = resources.GetString("C1Daten.PropBag") + Me.C1Daten.Size = New System.Drawing.Size(1073, 406) + Me.C1Daten.TabAction = C1.Win.C1TrueDBGrid.TabActionEnum.ColumnNavigation + Me.C1Daten.TabIndex = 10 + Me.C1Daten.Text = "C1TrueDBGrid1" + Me.C1Daten.VisualStyle = C1.Win.C1TrueDBGrid.VisualStyle.Office2010Silver + ' + 'ContextMenuStrip1 + ' + Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.NeuerEintragToolStripMenuItem, Me.EintragAnzeigenBearbeitenToolStripMenuItem, Me.EintragLöschenToolStripMenuItem}) + Me.ContextMenuStrip1.Name = "ContextMenuStrip1" + Me.ContextMenuStrip1.Size = New System.Drawing.Size(223, 92) + ' + 'NeuerEintragToolStripMenuItem + ' + Me.NeuerEintragToolStripMenuItem.Name = "NeuerEintragToolStripMenuItem" + Me.NeuerEintragToolStripMenuItem.Size = New System.Drawing.Size(222, 22) + Me.NeuerEintragToolStripMenuItem.Text = "&Neuer Eintrag" + ' + 'EintragAnzeigenBearbeitenToolStripMenuItem + ' + Me.EintragAnzeigenBearbeitenToolStripMenuItem.Name = "EintragAnzeigenBearbeitenToolStripMenuItem" + Me.EintragAnzeigenBearbeitenToolStripMenuItem.Size = New System.Drawing.Size(222, 22) + Me.EintragAnzeigenBearbeitenToolStripMenuItem.Text = "Eintrag anzeigen/bearbeiten" + ' + 'EintragLöschenToolStripMenuItem + ' + Me.EintragLöschenToolStripMenuItem.Name = "EintragLöschenToolStripMenuItem" + Me.EintragLöschenToolStripMenuItem.Size = New System.Drawing.Size(222, 22) + Me.EintragLöschenToolStripMenuItem.Text = "Eintrag löschen" + ' + 'frmLogbuch + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(1073, 431) + Me.Controls.Add(Me.C1Daten) + Me.Controls.Add(Me.ToolStrip1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmLogbuch" + Me.Text = "Schuldbriefe / Policen" + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + CType(Me.C1Daten, System.ComponentModel.ISupportInitialize).EndInit() + Me.ContextMenuStrip1.ResumeLayout(False) + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + + Friend WithEvents ToolStrip1 As ToolStrip + Friend WithEvents ToolStripButton1 As ToolStripButton + Friend WithEvents ToolStripLabel1 As ToolStripLabel + Friend WithEvents Tstxtpartnernr As ToolStripTextBox + Friend WithEvents ToolStripSeparator1 As ToolStripSeparator + Friend WithEvents ToolStripLabel3 As ToolStripLabel + Friend WithEvents tscbboxArt As ToolStripComboBox + Friend WithEvents ToolStripSeparator2 As ToolStripSeparator + Friend WithEvents ToolStripLabel2 As ToolStripLabel + Friend WithEvents tscbboxmodus As ToolStripComboBox + Friend WithEvents C1Daten As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents ToolStripButton2 As ToolStripButton + Friend WithEvents ToolStripButton3 As ToolStripButton + Friend WithEvents ContextMenuStrip1 As ContextMenuStrip + Friend WithEvents NeuerEintragToolStripMenuItem As ToolStripMenuItem + Friend WithEvents EintragAnzeigenBearbeitenToolStripMenuItem As ToolStripMenuItem + Friend WithEvents EintragLöschenToolStripMenuItem As ToolStripMenuItem +End Class diff --git a/Logbuch/Logbuch/Logbuch/frmLogbuch.resx b/Logbuch/Logbuch/Logbuch/frmLogbuch.resx new file mode 100644 index 0000000..c95fdc7 --- /dev/null +++ b/Logbuch/Logbuch/Logbuch/frmLogbuch.resx @@ -0,0 +1,380 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAK0SURBVDhPnZLfS1NhGMdfCPoDuummi+i6qwYmlYjb3Obx + 7MzN1dY5Z9tJV86Min5BlvZb07Is1CKHqVQYlVoZaZmlaGQopSLmkuwigoooguii4NNRY7HLeuAD7/PC + ++H9Pu8r/qc+Tw8EP8yO/mzZm8mfrYVqK8/tbD+SS+exOaQkHUclrpfZeRzfyafJHj6O3eXb636u7rem + CjrKZVal21m91kZ6xl/S1lpZaVnH90QPic5DjNT7+ZJ4QttBR6qgvVQm0+rEZpewO1xJrNlO0tbZeNUS + YeSSznBDkE8T3dw8nJMqcNQKpMpF5Nh9SC4FKceNJMm4XDIZVonJZoPhiyGe1gV5P9IxH/XPUSFsJwWJ + 9604TUlulobbGUCR/CiyF9ntIcvhZjweZqhep792I7OD17hXoSwIbJWCsbeNNPcLMisE9hqB87xALl2K + VwniyfOTnetj9JJG/zmd7/eXM9XbRHeVF+GqFjx7U0F8SNA4aK5nCnn+JsKLd+F5yXpPmPz8IJInwPMG + lb6zGj96VjBxr57eGv+C4FFiD/FRQXxE0DQuaJ4UvPwawXFOEMwvZEMghDtfY6guQO+ZII17nLzoOMmT + 2sB8BIvdjNA1tZnWhCBrLsIpgeOsIK9sGboaRdUNfEGDgVo/D06v59YRhWfXyhmsU5NDtGRXCTpnfDjP + CIzALgytBCNchGFEiRgFBEJR+mq83K/20VXpZeDyboYvhFKe0eI0r6xULyZqbCdaWExhtGieAhNtU4yH + 1R66KvK4fdxDT32M0cZIikC0lKxhS3EJxbEdFG/dliRmUlC0nQdVMndOKLQfc3PndIixpgKEruvoWghN + C6Oqc5hrVTN7NYlq9hs26uyLBbhSrpg/UObG0TwmWzcvDPFfKdXT9jccyPg1fSWWGuEfaonJKiGE5Tdo + FcKGVVlc7gAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHxSURBVDhPYxgFGICxpbF5o6ur6wNjY2MuqBiDhYWFkI+3 + 94PO9vYFUCFMkJ+fr1BUUNCVlJD439zM/L+ZsXGAoaGhr5ubmwfQgGgLoFhaSsr/6srKtubqZlmoNghY + PG+x0bIlS79ER0b9t7e1++/u6vbfzMT0X3BwyP+4uASQgf9AYiC5/Ny8/2vXrv24bNkybah2BoaF8xau + q6+t+29na/tfQ139P8g2K0ur/yUlJZ9LS0q/wvi21jb/y0pK/q9cvuL/7h27FoM1L5o717ykuPhPVVnJ + /+DAgP/iYmL/tTQ0wYpNDA13AvEROxvb/04Ojv9NjU3+JyfE/6+tKP9fWlLyZ9miReYMzg726wIMFf/n + e5r8b0iP/G9jpPffxsr6f3dn139zE/OF1hYWa6ZMmvw/LCT0v5m26v8wE6X/1RFu/2szY//b2FiuZTCT + E/+ZZybxv99H43+bt/b/aDOF/5qamjuszK0y9fT0xLS0tCQszCzS9bS1twXoy/5vcFX9PznY4H+dm9p/ + XVHRnwyaKipHOtwU/+9LNfm/KETzv5+BIsiAALD/kICamlpAoLEyWA1IbYer4n9VBfmjDOrq6lKOpvpr + CpyN3uX629/z9vAogOrBADZWVoVp3tYP6kOtPwS7OazT19eXhkoNXcDAAABhb8pBnSSQ0QAAAABJRU5E + rkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAINSURBVDhPY6AVYAyc67K/+XD1/SYg9p3quAQqTiQIZWAO + Wu75Zu6Nuf9nX5/9322S/TmoDJEAaIDnctc3k69M/D/hSt9/p0nm56EyRAKwATZveq+0/O++0gg0wAiP + AfUMTOYLtWx81tnYB0CxZZ+ak88myw9dV8v/d1wp+e88T++2/XxtB591FvYeQOyyzsTeYJGyFVi/cAGn + Se6J5P99V5v+T7ze8H/Szbr/U27V/O++kfe/43rm/9Zr6f87r+f+775e9L/tSsH/hot5/yvPZf8P2Ov6 + ny+OXZlBLJfTogoo0H+9Fqi56v+U2xX/p94p/d9+M+5/283o/y03I/533Ur+33Mz63/79fT/DZdT/1ee + T/4fdtD5P28ImzqDUAaLRcQOwf9ph4T/554U+l94Ruh/wRnB/zXXzP633/H533rH83/5ZZ3/+af5/+cB + cdZx/v9JB/j++27lAhrAoM7A6cQgLRnPsFk2mWGbYhrDNuV0IA3EaQdFf3Y+sP3f/sDqf9gm8Q8gMRgG + qRWPZ9jAZ8EgBA4HIGBEwfYMLOGHmN7UPeb4X/eY67/7ciZQLKCqgWAcABiNiecY3nS8YvgPwj5rGEhP + B7kXBN4s+CT/f/5H+f9hG3lJNyBpr+6bOQ89/oNwwCJ1Eg1gYGCSymXYYdjGcAOExeIZ5kHFSQIsDCoM + 7GDMwMAMEUIHDAwAsbvzUSNPIp4AAAAASUVORK5CYII= + + + + 124, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAADRJREFUKFN1iQEKACAMAv3/p4six3R5IIqHD+v1oIu0Lzy8B0cwQhcpQhSEwrvo + R9qCCWADoKoc5CkvobIAAAAASUVORK5CYII= + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}Style2{}EvenRow{BackColor:White;}Normal{}RecordSelector{AlignImage:Center;}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}OddRow{BackColor:224, 224, 224;}Style3{}Footer{}Style14{}Heading{AlignVert:Center;Border:Raised,,1, 1, 1, 1;ForeColor:ControlText;BackColor:Control;Wrap:True;}Style5{}Editor{}Style10{AlignHorz:Near;}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style16{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style15{}Style13{}Style12{}Style11{}Style4{}Style9{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style1{}Caption{AlignHorz:Center;}Style6{}FilterBar{ForeColor:Black;BackColor:255, 255, 192;}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" FilterBar="True" FilterBorderStyle="Raised" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 1071, 404</ClientRect><BorderSide>0</BorderSide><BorderStyle>Sunken</BorderStyle></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 1071, 404</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + + AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACA + AAYAgAAmAIAAGACAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACA + AAIAgAAyAIAAdgCAALQAgADSAIAAugCAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAACAIAAEgCA + ACoAgABUAIAAmACAAN4AgAD/AIAA/wCAAP8AgAD/AIAA/wCAANYAgAAeAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAEACA + ADwAgAB0AIAApACAANIAgAD6AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgACmAIAAHAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAACACA + ADYAgACKAIAAwACAANwAgAD2AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAPoAgAD4AIAA/wCA + AP8AgAD0AIAAiACAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAIAgAAWAIAALgCA + AFYAgACmAIAA5gCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD6AIAA6ACAANAAgACgAIAAWgCA + ABgAgABcAIAA6gCAAP8AgAD/AIAA+ACAAH4AgAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAASAIAAQACA + AHIAgACsAIAA2gCAAPoAgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD8AIAA6ACAALwAgACCAIAAVACA + ACQAgAAAAAAAAAAAAAAAgAAOAIAAgACAAPAAgAD/AIAA/wCAAPIAgABSAIAAAgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAACAIAAIgCA + AHQAgADCAIAA3gCAAPYAgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA8gCAAL4AgABqAIAAOACA + AB4AgAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAFgCAAKQAgAD/AIAA/wCAAP8AgADSAIAAPACA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACA + AA4AgACGAIAA8ACAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAPoAgADkAIAAzACAAKAAgABOAIAAEgCA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAoAgADAAIAA/ACA + AP8AgAD/AIAAygCAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAIAADgCAAH4AgAD6AIAA/wCAAP8AgAD/AIAA/wCAAP8AgADiAIAAtACAAIQAgABMAIAAHACA + AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAgAA2AIAAzACAAP8AgAD/AIAA/ACAALYAgAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAgAACAIAAYACAAOoAgAD/AIAA/wCAAP8AgAD0AIAAvACAAHAAgAA0AIAAGgCA + AAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAgAAEAIAAUgCAAOQAgAD/AIAA/wCAAPwAgACKAIAACAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAqAIAAzgCAAP8AgAD/AIAA9ACAAKIAgAAYAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAFgAgADyAIAA/wCAAP8AgADyAIAAgACA + AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgABgAIAA+gCAAP8AgAD8AIAAqgCA + ABoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAIAgACMAIAA9gCA + AP8AgAD/AIAA5gCAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACgAIAA/wCA + AP8AgADmAIAAUgCAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAQAIAASACAAG4AgAAiAAAAAAAAAAAAAAAAAAAAAAAA + AAAAgAAaAIAApgCAAPwAgAD/AIAA/wCAAOIAgAAqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAgADSAIAA/wCAAP8AgADOAIAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAgAAAAIAACgCAACAAgAA+AIAAdACAALQAgAD2AIAA/wCAAP8AgADaAIAARgCA + AAQAAAAAAAAAAAAAAAAAAAAAAIAAHACAALAAgAD/AIAA/wCAAP8AgADMAIAALgCAAAIAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAgADgAIAA/wCAAP8AgADGAIAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAIAACACAACwAgABiAIAAkACAAL4AgADuAIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD8AIAAxgCAADQAAAAAAAAAAAAAAAAAAAAAAAAAAACAACwAgADaAIAA/wCAAP8AgAD6AIAArACA + AB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgADaAIAA/wCAAP8AgADIAIAAFAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAIAABACAACoAgAB6AIAAtACAANQAgADuAIAA/ACAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/ACAAMIAgAAOAAAAAAAAAAAAAAAAAAAAAACAAAAAgABWAIAA6ACA + AP8AgAD/AIAA9gCAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAC2AIAA/wCAAP8AgADcAIAAOgCA + AAAAAAAAAAAAAACAAAIAgAAYAIAALgCAAFIAgACgAIAA3gCAAPwAgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgACuAIAAHACAAAAAAAAAAAAAAAAA + AAAAgAAEAIAAYgCAAOgAgAD/AIAA/wCAAP8AgAByAIAACAAAAAAAAAAAAAAAAAAAAAAAgACIAIAA/wCA + AP8AgAD2AIAAogCAAD4AgAAwAIAAUgCAAHoAgACuAIAA2gCAAPoAgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD0AIAAkgCA + ABQAAAAAAAAAAAAAAAAAAAAAAIAADACAAH4AgAD/AIAA/wCAAP8AgADkAIAAWACAAAYAAAAAAAAAAAAA + AAAAgABQAIAA+gCAAP8AgAD/AIAA9gCAAN4AgADWAIAA6ACAAPoAgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA8ACAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAACAABAAgACyAIAA/wCAAP8AgAD8AIAA0gCA + ADQAAAAAAAAAAAAAAAAAgAAkAIAAyACAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAPwAgABkAIAACAAAAAAAAAAAAAAAAAAAAAAAgAAgAIAAtgCA + APoAgAD/AIAA/wCAANYAgAAcAAAAAAAAAAAAgAAIAIAAhACAAPgAgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgADgAIAAUgCAAAQAAAAAAAAAAAAA + AAAAgAAAAIAAOgCAANAAgAD/AIAA/wCAAP8AgACgAIAAGAAAAAAAgAAAAIAALgCAANQAgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD8AIAA0gCA + ADYAAAAAAAAAAAAAAAAAAAAAAIAABACAAEwAgAD6AIAA/wCAAP8AgADyAIAAfgCAAAoAAAAAAAAAAACA + ADwAgADoAIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAN4AgAAmAIAAAAAAAAAAAAAAAAAAAAAAAAAAgABwAIAA8gCAAP8AgAD/AIAA9ACA + AF4AAAAAAAAAAAAAAAAAgABmAIAA5gCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgACwAIAAIgAAAAAAAAAAAAAAAAAAAAAAgAAUAIAAngCA + APoAgAD/AIAA/wCAAJwAAAAAAAAAAAAAAAAAgAAMAIAAfACAAPAAgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD2AIAAlgCAABQAAAAAAAAAAAAA + AAAAgAAAAIAAZACAAPAAgAD/AIAA/wCAAH4AAAAAAAAAAAAAAAAAAAAAAIAABgCAAHoAgAD4AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/ACA + AJQAgAAIAAAAAAAAAAAAAAAAAIAAZgCAAPIAgAD/AIAA/wCAAFQAAAAAAAAAAAAAAAAAAAAAAAAAAACA + AAgAgACeAIAA+ACAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAPgAgABqAIAACAAAAAAAAAAAAIAAZgCAAPIAgAD/AIAA/wCAAFgAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAgAAgAIAArACAAPwAgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgADiAIAAVgCAAAIAAAAAAIAAWgCAAOwAgAD/AIAA/wCA + AHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAHACAAK4AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA4gCAAFAAAAAAAIAALACA + ANIAgAD/AIAA/wCAAJwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAACQAgADMAIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAPIAgADOAIAAwACAAOgAgAD/AIAA/wCAAP8AgAD/AIAA/wCA + ANYAgAAqAIAABgCAAIAAgAD0AIAA4gCAAFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAgABEAIAA1gCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/ACAAOAAgACeAIAAaACAAD4AgAAoAIAAIACAAEYAgADuAIAA/wCA + AP8AgAD/AIAA/wCAAP8AgACwAIAAHgCAABAAgAA8AIAANACAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAgAAAAIAARACAANQAgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/ACAAPAAgADaAIAAxACAAJoAgABWAIAAHgCAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAgABOAIAA5gCAAP8AgAD/AIAA/wCAAP8AgAD8AIAAqgCAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAgCAAFAAgADuAIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/ACAAOYAgAC2AIAAjACAAGQAgAA2AIAAEACAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAgAAUAIAApgCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA+ACAAJQAgAAGAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAQAgAByAIAA9ACA + AP8AgAD/AIAA/wCAAP8AgAD0AIAAkgCAADYAgAAcAIAACACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAgAAEAIAAKACAAGQAgACsAIAA5gCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + APYAgABoAIAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAgAAIAIAAcgCAAO4AgAD/AIAA/wCAAP8AgAD2AIAAhgCAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAgAACAIAAEACAACIAgAA8AIAAaACAAKIAgADkAIAA/ACAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgADqAIAAZACAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAIAAEACAAIQAgAD8AIAA/wCAAP8AgAD/AIAA5gCAAGQAAAAAAAAAAAAA + AAAAgAAGAIAAIgCAAEgAgAB2AIAAnACAAMQAgADuAIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA2ACAAEYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAABAAgACqAIAA/wCAAP8AgAD/AIAA/wCA + AOYAgAB0AIAAXACAAIAAgAC2AIAA0ACAAOIAgAD4AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAL4AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAYAIAApACA + APgAgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AMIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAgAAAAIAAKACAALYAgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + APwAgADeAIAAsACAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAACgAgADeAIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCA + APQAgAC+AIAAiACAAFQAgAAwAIAAGgCAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAA2AIAA0ACAAPwAgAD/AIAA/wCA + AP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/ACAAPAAgADcAIAAygCA + AKgAgABsAIAANgCAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAEAIAATACA + ANoAgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD/AIAA9ACAANYAgACsAIAAiACA + AGQAgAA6AIAAGACAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAIAABgCAAFAAgAD4AIAA/wCAAP8AgAD/AIAA/wCAAP8AgAD8AIAA4ACAAKwAgABsAIAAQgCA + ACwAgAAWAIAABgCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgABaAIAAygCAANAAgAC4AIAAigCAAFYAgAAaAIAAAgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAEAIAAHACAACQAgAAGAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAP///////wAA////x/// + AAD///wD//8AAP//4AH//wAA//4AAP//AAD/8ABw//8AAP+AA/B//wAA/AA/+D//AADgAf/8H/8AAOAP + //4P/wAAwP///wf/AACD////g/8AAIf///+D/wAAD////8H/AAAP//4P4P8AAA//4AfwfwAAD/8AA/g/ + AAAP8AAB/D8AAAeAAAD+HwAAgAAAAP4PAACAAAAAfwcAAIAAAAA/gwAAwAAAAB/DAADgAAAAD+EAAPAA + AAAH4AAA+AAAAAPxAAD8AAAAAfEAAPwAAAAB8QAA/gAAAADxAAD/AAAAAHAAAP+AAAAAMQAA/8AAAfAf + AAD/4AAf+A8AAP/wAf/4BwAA//gP//AHAAD//A//AAMAAP/8D/AAAQAA//4GAAAAAAD//wAAAAAAAP// + gAAAAQAA///AAAAPAAD//+AAAf8AAP//8AAf/wAA///4A///AAD///w///8AAP///////wAA//////// + AAA= + + + \ No newline at end of file diff --git a/Logbuch/Logbuch/Logbuch/frmLogbuch.vb b/Logbuch/Logbuch/Logbuch/frmLogbuch.vb new file mode 100644 index 0000000..d7ac032 --- /dev/null +++ b/Logbuch/Logbuch/Logbuch/frmLogbuch.vb @@ -0,0 +1,218 @@ +Imports System.ComponentModel +Imports C1.Win.C1TrueDBGrid + +Public Class frmLogbuch + Dim spalten As New Utils.Tabellenspalte + + Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click + Me.Close() + End Sub + + Private Sub frmLogbuch_Load(sender As Object, e As EventArgs) Handles MyBase.Load + + Me.tscbboxmodus.Items.Clear() + + If Globals.Userdaten.Rows(0).Item("es_anzeigen") = True Or Globals.Userdaten.Rows(0).Item("es_bearbeiten") = True Then + Me.tscbboxmodus.Items.Add("Schuldbriefe") + End If + If Globals.Userdaten.Rows(0).Item("policen_anzeigen") = True Or Globals.Userdaten.Rows(0).Item("policen_bearbeiten") = True Then + Me.tscbboxmodus.Items.Add("Policen") + End If + If Me.tscbboxmodus.Items.Count < 1 Then + MsgBox("Sie haben keine Berechtigungen für diesen Dialog.", vbExclamation) + + Exit Sub + End If + + Try + Me.tscbboxArt.SelectedIndex = 0 + Me.tscbboxmodus.SelectedIndex = 0 + Refresh_View() + Catch + End Try + + End Sub + + Private Sub Refresh_View() + + Try + Dim bm As Integer = C1Daten.Bookmark + Dim data As New DataTable + Dim db As New clsdbhandling + Dim i As Integer + i = Me.tscbboxmodus.SelectedIndex + If i = 0 Then i = 1 Else i = 0 + db.get_datatable(i, Me.Tstxtpartnernr.Text) + data = db.daten.Tables(0).Copy + For Each r As DataRow In data.Rows + For Each c As DataColumn In data.Columns + If r.Item(c.ColumnName).ToString = "01.01.1900 00:00:00" Then + r.Item(c.ColumnName) = System.DBNull.Value + End If + + + Next + Next + Me.C1Daten.DataSource = Nothing + Me.C1Daten.DataSource = data + Me.C1Daten.DataMember = data.TableName + + If i = 1 Then + spalten.Spaltentitel_aktualisieren(C1Daten, "Logbuch_View", data) + Else + spalten.Spaltentitel_aktualisieren(C1Daten, "Policen_View", data) + + End If + + Set_Filter() + C1Daten.Bookmark = bm + Me.ToolStripButton3.Enabled = True + If Me.tscbboxmodus.Text = "Schuldbriefe" And Globals.Userdaten.Rows(0).Item("ES_Bearbeiten") = False Then + Me.ToolStripButton3.Enabled = False + Me.NeuerEintragToolStripMenuItem.Enabled = False + Me.EintragLöschenToolStripMenuItem.Enabled = False + End If + If Me.tscbboxmodus.Text = "Policen" And Globals.Userdaten.Rows(0).Item("Plicen_Bearbeiten") = False Then + Me.ToolStripButton3.Enabled = False + Me.NeuerEintragToolStripMenuItem.Enabled = False + Me.EintragLöschenToolStripMenuItem.Enabled = False + End If + + Catch + End Try + End Sub + + Sub Set_Filter() + Try + + Select Case Me.tscbboxArt.SelectedIndex + Case 0 + Me.C1Daten.Columns("aktiv").FilterText = True + Case 1 + Me.C1Daten.Columns("aktiv").FilterText = 0 + Case 2 + Me.C1Daten.Columns("aktiv").FilterText = False + + End Select + Catch + End Try + + + End Sub + + Private Sub Tstxtpartnernr_KeyDown(sender As Object, e As KeyEventArgs) Handles Tstxtpartnernr.KeyDown + If e.KeyCode = Keys.Enter Then Refresh_View() + End Sub + + Private Sub C1Daten_DoubleClick(sender As Object, e As EventArgs) Handles C1Daten.DoubleClick + Try + Dim i As Integer + If Me.tscbboxmodus.Text = "Schuldbriefe" Then + Dim f As New frmSchuldbrief + f.SchuldbriefNr = C1Daten.Columns(0).Value + f.ShowDialog() + Else + Dim f As New frmPolice + f.Policenr = C1Daten.Columns(0).Value + f.ShowDialog() + End If + Refresh_View() + + Catch ex As Exception + + End Try + End Sub + + + + Private Sub tscbboxmodus_SelectedIndexChanged(sender As Object, e As EventArgs) Handles tscbboxmodus.SelectedIndexChanged + Refresh_View() + End Sub + + Private Sub ToolStripButton2_Click(sender As Object, e As EventArgs) Handles ToolStripButton2.Click + Dim f As New frmPartnersuche + f.ShowDialog() + If f.PartnerNr > 0 Then + Me.Tstxtpartnernr.Text = f.PartnerNr + Refresh_View() + End If + End Sub + + + + Private Sub tscbboxArt_SelectedIndexChanged(sender As Object, e As EventArgs) Handles tscbboxArt.SelectedIndexChanged + Set_Filter() + End Sub + + Private Sub ToolStripButton3_Click(sender As Object, e As EventArgs) Handles ToolStripButton3.Click + Dim key As Integer + If Me.tscbboxmodus.Text = "Schuldbriefe" Then + Dim f As New frmSchuldbrief + f.SchuldbriefNr = -1 + f.ShowDialog() + key = f.SchuldbriefNr + Else + Dim f As New frmPolice + f.Policenr = -1 + f.ShowDialog() + key = f.Policenr + End If + Refresh_View() + Try + For i As Integer = 0 To Me.C1Daten.Splits(0).Rows.Count - 1 + If C1Daten.Rows(i).Item("nreintrag") = key Then C1Daten.Bookmark = i + Next + Catch ex As Exception + + End Try + + + End Sub + + Private Sub tscbboxmodus_Click(sender As Object, e As EventArgs) Handles tscbboxmodus.Click + + End Sub + + Private Sub tscbboxmodus_Leave(sender As Object, e As EventArgs) Handles tscbboxmodus.Leave + If Me.tscbboxmodus.Text <> "Schuldbriefe" And Me.tscbboxmodus.Text <> "Policen" Then + Me.tscbboxmodus.Select() + Me.tscbboxmodus.SelectedIndex = 0 + End If + End Sub + + Private Sub c1daten_formattext(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FormatTextEventArgs) Handles C1Daten.FormatText + If e.Column.DataType.Name = "DateTime" And e.Value = "01.01.1900 00:00:00" Then e.Value = "" + End Sub + + Private Sub NeuerEintragToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles NeuerEintragToolStripMenuItem.Click + Me.ToolStripButton3_Click(sender, e) + End Sub + + Private Sub EintragAnzeigenBearbeitenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles EintragAnzeigenBearbeitenToolStripMenuItem.Click + Me.C1Daten_DoubleClick(sender, e) + End Sub + + Private Sub EintragLöschenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles EintragLöschenToolStripMenuItem.Click + If MsgBox("Eintrag wirklihc löschen?", vbYesNo + vbQuestion) = vbYes Then + Dim key As Integer = C1Daten.Columns(0).Value + Dim db As New clsdbhandling + If Me.tscbboxmodus.Text = "Schuldbriefe" Then + db.Delete_Entry(1, key) + Else + db.Delete_Entry(2, key) + End If + Refresh_View() + End If + End Sub + + Private Sub ContextMenuStrip1_Opening(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles ContextMenuStrip1.Opening + Me.EintragAnzeigenBearbeitenToolStripMenuItem.Enabled = True + Me.EintragLöschenToolStripMenuItem.Enabled = True + + If Me.C1Daten.Splits(0).Rows.Count < 1 Then + Me.EintragAnzeigenBearbeitenToolStripMenuItem.Enabled = False + Me.EintragLöschenToolStripMenuItem.Enabled = False + + End If + End Sub +End Class \ No newline at end of file diff --git a/Logbuch/Logbuch/Logbuch/frmPolice.Designer.vb b/Logbuch/Logbuch/Logbuch/frmPolice.Designer.vb new file mode 100644 index 0000000..1741f84 --- /dev/null +++ b/Logbuch/Logbuch/Logbuch/frmPolice.Designer.vb @@ -0,0 +1,988 @@ + _ +Partial Class frmPolice + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmPolice)) + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.tsbtnexit = New System.Windows.Forms.ToolStripButton() + Me.tsbtensave = New System.Windows.Forms.ToolStripButton() + Me.tsbtndelete = New System.Windows.Forms.ToolStripButton() + Me.GroupBox3 = New System.Windows.Forms.GroupBox() + Me.Button2 = New System.Windows.Forms.Button() + Me.dtpickerGemahntSchuldbrief2 = New System.Windows.Forms.DateTimePicker() + Me.txtGemahntSchuldbrief2 = New System.Windows.Forms.MaskedTextBox() + Me.dtpickerGemahntSchuldbrief1 = New System.Windows.Forms.DateTimePicker() + Me.txtGemahntSchuldbrief1 = New System.Windows.Forms.MaskedTextBox() + Me.dtpickermahnungSchuldbrief2 = New System.Windows.Forms.DateTimePicker() + Me.txtmahnungSchuldbrief2 = New System.Windows.Forms.MaskedTextBox() + Me.dtpickerMahnungSchuldbrief1 = New System.Windows.Forms.DateTimePicker() + Me.txtMahnungSchuldbrief1 = New System.Windows.Forms.MaskedTextBox() + Me.dtpickerTerminSchuldbrief = New System.Windows.Forms.DateTimePicker() + Me.txtTerminSchuldbrief = New System.Windows.Forms.MaskedTextBox() + Me.dtpickerGemahntEmpfangsschein2 = New System.Windows.Forms.DateTimePicker() + Me.txtGemahntEmpfangsschein2 = New System.Windows.Forms.MaskedTextBox() + Me.dtpickerGemahntEmpfangsschein1 = New System.Windows.Forms.DateTimePicker() + Me.txtGemahntEmpfangsschein1 = New System.Windows.Forms.MaskedTextBox() + Me.dtpickerMahnungEmpfangsschein2 = New System.Windows.Forms.DateTimePicker() + Me.txtMahnungEmpfangsschein2 = New System.Windows.Forms.MaskedTextBox() + Me.dtpickerMahnungEmpfangsschein1 = New System.Windows.Forms.DateTimePicker() + Me.txtMahnungEmpfangsschein1 = New System.Windows.Forms.MaskedTextBox() + Me.dtpickerTerminEmpfangsschein = New System.Windows.Forms.DateTimePicker() + Me.Label18 = New System.Windows.Forms.Label() + Me.txtTerminEmpfangsschein = New System.Windows.Forms.MaskedTextBox() + Me.Label17 = New System.Windows.Forms.Label() + Me.Label14 = New System.Windows.Forms.Label() + Me.Label15 = New System.Windows.Forms.Label() + Me.Label16 = New System.Windows.Forms.Label() + Me.Label13 = New System.Windows.Forms.Label() + Me.Label12 = New System.Windows.Forms.Label() + Me.Label11 = New System.Windows.Forms.Label() + Me.GroupBox2 = New System.Windows.Forms.GroupBox() + Me.Button4 = New System.Windows.Forms.Button() + Me.Button5 = New System.Windows.Forms.Button() + Me.Button3 = New System.Windows.Forms.Button() + Me.cbboxGegenpartei = New System.Windows.Forms.ComboBox() + Me.Label19 = New System.Windows.Forms.Label() + Me.txtbemerkung = New System.Windows.Forms.TextBox() + Me.Label10 = New System.Windows.Forms.Label() + Me.cbboxstandardbemerkung = New System.Windows.Forms.ComboBox() + Me.Label9 = New System.Windows.Forms.Label() + Me.cbboxversgesellschaft = New System.Windows.Forms.ComboBox() + Me.Label8 = New System.Windows.Forms.Label() + Me.GrpStatus = New System.Windows.Forms.GroupBox() + Me.dtPickerEingangSB = New System.Windows.Forms.DateTimePicker() + Me.Label7 = New System.Windows.Forms.Label() + Me.txtEingangSB = New System.Windows.Forms.MaskedTextBox() + Me.cberledigt = New System.Windows.Forms.CheckBox() + Me.cbempfangsscheinerhalten = New System.Windows.Forms.CheckBox() + Me.cbeinlieferung = New System.Windows.Forms.CheckBox() + Me.cbtitelvorhanden = New System.Windows.Forms.CheckBox() + Me.cbneugeschäft = New System.Windows.Forms.CheckBox() + Me.cbdevauslieferung = New System.Windows.Forms.CheckBox() + Me.cbprovauslieferung = New System.Windows.Forms.CheckBox() + Me.cbpfandbrief = New System.Windows.Forms.CheckBox() + Me.cbgrundpfandverschreibung = New System.Windows.Forms.CheckBox() + Me.cbschuldbrief = New System.Windows.Forms.CheckBox() + Me.GroupBox1 = New System.Windows.Forms.GroupBox() + Me.Button1 = New System.Windows.Forms.Button() + Me.txtPolicenNr = New System.Windows.Forms.TextBox() + Me.txtNominal = New System.Windows.Forms.TextBox() + Me.dtPickerDatum = New System.Windows.Forms.DateTimePicker() + Me.txtDatum = New System.Windows.Forms.MaskedTextBox() + Me.Label6 = New System.Windows.Forms.Label() + Me.cbboxSachbearbeiter = New System.Windows.Forms.ComboBox() + Me.txtKurzname = New System.Windows.Forms.TextBox() + Me.txtPartnernr = New System.Windows.Forms.TextBox() + Me.Label5 = New System.Windows.Forms.Label() + Me.cbeuro = New System.Windows.Forms.CheckBox() + Me.Label4 = New System.Windows.Forms.Label() + Me.Label3 = New System.Windows.Forms.Label() + Me.Label2 = New System.Windows.Forms.Label() + Me.Label1 = New System.Windows.Forms.Label() + Me.cbaktiv = New System.Windows.Forms.CheckBox() + Me.ToolStrip1.SuspendLayout() + Me.GroupBox3.SuspendLayout() + Me.GroupBox2.SuspendLayout() + Me.GrpStatus.SuspendLayout() + Me.GroupBox1.SuspendLayout() + Me.SuspendLayout() + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsbtnexit, Me.tsbtensave, Me.tsbtndelete}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 0) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(1013, 25) + Me.ToolStrip1.TabIndex = 6 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'tsbtnexit + ' + Me.tsbtnexit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtnexit.Image = CType(resources.GetObject("tsbtnexit.Image"), System.Drawing.Image) + Me.tsbtnexit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtnexit.Name = "tsbtnexit" + Me.tsbtnexit.Size = New System.Drawing.Size(23, 22) + Me.tsbtnexit.Text = "Schliessen" + ' + 'tsbtensave + ' + Me.tsbtensave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtensave.Image = CType(resources.GetObject("tsbtensave.Image"), System.Drawing.Image) + Me.tsbtensave.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtensave.Name = "tsbtensave" + Me.tsbtensave.Size = New System.Drawing.Size(23, 22) + Me.tsbtensave.Text = "Speichern" + ' + 'tsbtndelete + ' + Me.tsbtndelete.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtndelete.Image = CType(resources.GetObject("tsbtndelete.Image"), System.Drawing.Image) + Me.tsbtndelete.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtndelete.Name = "tsbtndelete" + Me.tsbtndelete.Size = New System.Drawing.Size(23, 22) + Me.tsbtndelete.Text = "Löschen" + ' + 'GroupBox3 + ' + Me.GroupBox3.Controls.Add(Me.Button2) + Me.GroupBox3.Controls.Add(Me.dtpickerGemahntSchuldbrief2) + Me.GroupBox3.Controls.Add(Me.txtGemahntSchuldbrief2) + Me.GroupBox3.Controls.Add(Me.dtpickerGemahntSchuldbrief1) + Me.GroupBox3.Controls.Add(Me.txtGemahntSchuldbrief1) + Me.GroupBox3.Controls.Add(Me.dtpickermahnungSchuldbrief2) + Me.GroupBox3.Controls.Add(Me.txtmahnungSchuldbrief2) + Me.GroupBox3.Controls.Add(Me.dtpickerMahnungSchuldbrief1) + Me.GroupBox3.Controls.Add(Me.txtMahnungSchuldbrief1) + Me.GroupBox3.Controls.Add(Me.dtpickerTerminSchuldbrief) + Me.GroupBox3.Controls.Add(Me.txtTerminSchuldbrief) + Me.GroupBox3.Controls.Add(Me.dtpickerGemahntEmpfangsschein2) + Me.GroupBox3.Controls.Add(Me.txtGemahntEmpfangsschein2) + Me.GroupBox3.Controls.Add(Me.dtpickerGemahntEmpfangsschein1) + Me.GroupBox3.Controls.Add(Me.txtGemahntEmpfangsschein1) + Me.GroupBox3.Controls.Add(Me.dtpickerMahnungEmpfangsschein2) + Me.GroupBox3.Controls.Add(Me.txtMahnungEmpfangsschein2) + Me.GroupBox3.Controls.Add(Me.dtpickerMahnungEmpfangsschein1) + Me.GroupBox3.Controls.Add(Me.txtMahnungEmpfangsschein1) + Me.GroupBox3.Controls.Add(Me.dtpickerTerminEmpfangsschein) + Me.GroupBox3.Controls.Add(Me.Label18) + Me.GroupBox3.Controls.Add(Me.txtTerminEmpfangsschein) + Me.GroupBox3.Controls.Add(Me.Label17) + Me.GroupBox3.Controls.Add(Me.Label14) + Me.GroupBox3.Controls.Add(Me.Label15) + Me.GroupBox3.Controls.Add(Me.Label16) + Me.GroupBox3.Controls.Add(Me.Label13) + Me.GroupBox3.Controls.Add(Me.Label12) + Me.GroupBox3.Controls.Add(Me.Label11) + Me.GroupBox3.Location = New System.Drawing.Point(623, 24) + Me.GroupBox3.Name = "GroupBox3" + Me.GroupBox3.Size = New System.Drawing.Size(383, 249) + Me.GroupBox3.TabIndex = 10 + Me.GroupBox3.TabStop = False + Me.GroupBox3.Text = "Termine" + ' + 'Button2 + ' + Me.Button2.Location = New System.Drawing.Point(21, 212) + Me.Button2.Name = "Button2" + Me.Button2.Size = New System.Drawing.Size(136, 23) + Me.Button2.TabIndex = 11 + Me.Button2.TabStop = False + Me.Button2.Text = "Termindaten initialisieren" + Me.Button2.UseVisualStyleBackColor = True + ' + 'dtpickerGemahntSchuldbrief2 + ' + Me.dtpickerGemahntSchuldbrief2.Location = New System.Drawing.Point(324, 173) + Me.dtpickerGemahntSchuldbrief2.Name = "dtpickerGemahntSchuldbrief2" + Me.dtpickerGemahntSchuldbrief2.Size = New System.Drawing.Size(21, 20) + Me.dtpickerGemahntSchuldbrief2.TabIndex = 47 + Me.dtpickerGemahntSchuldbrief2.TabStop = False + ' + 'txtGemahntSchuldbrief2 + ' + Me.txtGemahntSchuldbrief2.Location = New System.Drawing.Point(261, 173) + Me.txtGemahntSchuldbrief2.Mask = "00/00/0000" + Me.txtGemahntSchuldbrief2.Name = "txtGemahntSchuldbrief2" + Me.txtGemahntSchuldbrief2.Size = New System.Drawing.Size(66, 20) + Me.txtGemahntSchuldbrief2.TabIndex = 9 + Me.txtGemahntSchuldbrief2.ValidatingType = GetType(Date) + ' + 'dtpickerGemahntSchuldbrief1 + ' + Me.dtpickerGemahntSchuldbrief1.Location = New System.Drawing.Point(324, 143) + Me.dtpickerGemahntSchuldbrief1.Name = "dtpickerGemahntSchuldbrief1" + Me.dtpickerGemahntSchuldbrief1.Size = New System.Drawing.Size(21, 20) + Me.dtpickerGemahntSchuldbrief1.TabIndex = 45 + Me.dtpickerGemahntSchuldbrief1.TabStop = False + ' + 'txtGemahntSchuldbrief1 + ' + Me.txtGemahntSchuldbrief1.Location = New System.Drawing.Point(261, 143) + Me.txtGemahntSchuldbrief1.Mask = "00/00/0000" + Me.txtGemahntSchuldbrief1.Name = "txtGemahntSchuldbrief1" + Me.txtGemahntSchuldbrief1.Size = New System.Drawing.Size(66, 20) + Me.txtGemahntSchuldbrief1.TabIndex = 7 + Me.txtGemahntSchuldbrief1.ValidatingType = GetType(Date) + ' + 'dtpickermahnungSchuldbrief2 + ' + Me.dtpickermahnungSchuldbrief2.Location = New System.Drawing.Point(217, 170) + Me.dtpickermahnungSchuldbrief2.Name = "dtpickermahnungSchuldbrief2" + Me.dtpickermahnungSchuldbrief2.Size = New System.Drawing.Size(21, 20) + Me.dtpickermahnungSchuldbrief2.TabIndex = 43 + Me.dtpickermahnungSchuldbrief2.TabStop = False + ' + 'txtmahnungSchuldbrief2 + ' + Me.txtmahnungSchuldbrief2.Location = New System.Drawing.Point(154, 170) + Me.txtmahnungSchuldbrief2.Mask = "00/00/0000" + Me.txtmahnungSchuldbrief2.Name = "txtmahnungSchuldbrief2" + Me.txtmahnungSchuldbrief2.Size = New System.Drawing.Size(66, 20) + Me.txtmahnungSchuldbrief2.TabIndex = 8 + Me.txtmahnungSchuldbrief2.ValidatingType = GetType(Date) + ' + 'dtpickerMahnungSchuldbrief1 + ' + Me.dtpickerMahnungSchuldbrief1.Location = New System.Drawing.Point(217, 146) + Me.dtpickerMahnungSchuldbrief1.Name = "dtpickerMahnungSchuldbrief1" + Me.dtpickerMahnungSchuldbrief1.Size = New System.Drawing.Size(21, 20) + Me.dtpickerMahnungSchuldbrief1.TabIndex = 41 + Me.dtpickerMahnungSchuldbrief1.TabStop = False + ' + 'txtMahnungSchuldbrief1 + ' + Me.txtMahnungSchuldbrief1.Location = New System.Drawing.Point(154, 146) + Me.txtMahnungSchuldbrief1.Mask = "00/00/0000" + Me.txtMahnungSchuldbrief1.Name = "txtMahnungSchuldbrief1" + Me.txtMahnungSchuldbrief1.Size = New System.Drawing.Size(66, 20) + Me.txtMahnungSchuldbrief1.TabIndex = 6 + Me.txtMahnungSchuldbrief1.ValidatingType = GetType(Date) + ' + 'dtpickerTerminSchuldbrief + ' + Me.dtpickerTerminSchuldbrief.Location = New System.Drawing.Point(217, 118) + Me.dtpickerTerminSchuldbrief.Name = "dtpickerTerminSchuldbrief" + Me.dtpickerTerminSchuldbrief.Size = New System.Drawing.Size(21, 20) + Me.dtpickerTerminSchuldbrief.TabIndex = 39 + Me.dtpickerTerminSchuldbrief.TabStop = False + ' + 'txtTerminSchuldbrief + ' + Me.txtTerminSchuldbrief.Location = New System.Drawing.Point(154, 118) + Me.txtTerminSchuldbrief.Mask = "00/00/0000" + Me.txtTerminSchuldbrief.Name = "txtTerminSchuldbrief" + Me.txtTerminSchuldbrief.Size = New System.Drawing.Size(66, 20) + Me.txtTerminSchuldbrief.TabIndex = 5 + Me.txtTerminSchuldbrief.ValidatingType = GetType(Date) + ' + 'dtpickerGemahntEmpfangsschein2 + ' + Me.dtpickerGemahntEmpfangsschein2.Location = New System.Drawing.Point(324, 69) + Me.dtpickerGemahntEmpfangsschein2.Name = "dtpickerGemahntEmpfangsschein2" + Me.dtpickerGemahntEmpfangsschein2.Size = New System.Drawing.Size(21, 20) + Me.dtpickerGemahntEmpfangsschein2.TabIndex = 37 + Me.dtpickerGemahntEmpfangsschein2.TabStop = False + ' + 'txtGemahntEmpfangsschein2 + ' + Me.txtGemahntEmpfangsschein2.Location = New System.Drawing.Point(261, 69) + Me.txtGemahntEmpfangsschein2.Mask = "00/00/0000" + Me.txtGemahntEmpfangsschein2.Name = "txtGemahntEmpfangsschein2" + Me.txtGemahntEmpfangsschein2.Size = New System.Drawing.Size(66, 20) + Me.txtGemahntEmpfangsschein2.TabIndex = 4 + Me.txtGemahntEmpfangsschein2.ValidatingType = GetType(Date) + ' + 'dtpickerGemahntEmpfangsschein1 + ' + Me.dtpickerGemahntEmpfangsschein1.Location = New System.Drawing.Point(324, 46) + Me.dtpickerGemahntEmpfangsschein1.Name = "dtpickerGemahntEmpfangsschein1" + Me.dtpickerGemahntEmpfangsschein1.Size = New System.Drawing.Size(21, 20) + Me.dtpickerGemahntEmpfangsschein1.TabIndex = 35 + Me.dtpickerGemahntEmpfangsschein1.TabStop = False + ' + 'txtGemahntEmpfangsschein1 + ' + Me.txtGemahntEmpfangsschein1.Location = New System.Drawing.Point(261, 46) + Me.txtGemahntEmpfangsschein1.Mask = "00/00/0000" + Me.txtGemahntEmpfangsschein1.Name = "txtGemahntEmpfangsschein1" + Me.txtGemahntEmpfangsschein1.Size = New System.Drawing.Size(66, 20) + Me.txtGemahntEmpfangsschein1.TabIndex = 2 + Me.txtGemahntEmpfangsschein1.ValidatingType = GetType(Date) + ' + 'dtpickerMahnungEmpfangsschein2 + ' + Me.dtpickerMahnungEmpfangsschein2.Location = New System.Drawing.Point(217, 69) + Me.dtpickerMahnungEmpfangsschein2.Name = "dtpickerMahnungEmpfangsschein2" + Me.dtpickerMahnungEmpfangsschein2.Size = New System.Drawing.Size(21, 20) + Me.dtpickerMahnungEmpfangsschein2.TabIndex = 33 + Me.dtpickerMahnungEmpfangsschein2.TabStop = False + ' + 'txtMahnungEmpfangsschein2 + ' + Me.txtMahnungEmpfangsschein2.Location = New System.Drawing.Point(154, 69) + Me.txtMahnungEmpfangsschein2.Mask = "00/00/0000" + Me.txtMahnungEmpfangsschein2.Name = "txtMahnungEmpfangsschein2" + Me.txtMahnungEmpfangsschein2.Size = New System.Drawing.Size(66, 20) + Me.txtMahnungEmpfangsschein2.TabIndex = 3 + Me.txtMahnungEmpfangsschein2.ValidatingType = GetType(Date) + ' + 'dtpickerMahnungEmpfangsschein1 + ' + Me.dtpickerMahnungEmpfangsschein1.Location = New System.Drawing.Point(217, 45) + Me.dtpickerMahnungEmpfangsschein1.Name = "dtpickerMahnungEmpfangsschein1" + Me.dtpickerMahnungEmpfangsschein1.Size = New System.Drawing.Size(21, 20) + Me.dtpickerMahnungEmpfangsschein1.TabIndex = 31 + Me.dtpickerMahnungEmpfangsschein1.TabStop = False + ' + 'txtMahnungEmpfangsschein1 + ' + Me.txtMahnungEmpfangsschein1.Location = New System.Drawing.Point(154, 45) + Me.txtMahnungEmpfangsschein1.Mask = "00/00/0000" + Me.txtMahnungEmpfangsschein1.Name = "txtMahnungEmpfangsschein1" + Me.txtMahnungEmpfangsschein1.Size = New System.Drawing.Size(66, 20) + Me.txtMahnungEmpfangsschein1.TabIndex = 1 + Me.txtMahnungEmpfangsschein1.ValidatingType = GetType(Date) + ' + 'dtpickerTerminEmpfangsschein + ' + Me.dtpickerTerminEmpfangsschein.Location = New System.Drawing.Point(217, 17) + Me.dtpickerTerminEmpfangsschein.Name = "dtpickerTerminEmpfangsschein" + Me.dtpickerTerminEmpfangsschein.Size = New System.Drawing.Size(21, 20) + Me.dtpickerTerminEmpfangsschein.TabIndex = 17 + Me.dtpickerTerminEmpfangsschein.TabStop = False + ' + 'Label18 + ' + Me.Label18.AutoSize = True + Me.Label18.Location = New System.Drawing.Point(260, 126) + Me.Label18.Name = "Label18" + Me.Label18.Size = New System.Drawing.Size(67, 13) + Me.Label18.TabIndex = 29 + Me.Label18.Text = "Gemahnt am" + ' + 'txtTerminEmpfangsschein + ' + Me.txtTerminEmpfangsschein.Location = New System.Drawing.Point(154, 17) + Me.txtTerminEmpfangsschein.Mask = "00/00/0000" + Me.txtTerminEmpfangsschein.Name = "txtTerminEmpfangsschein" + Me.txtTerminEmpfangsschein.Size = New System.Drawing.Size(66, 20) + Me.txtTerminEmpfangsschein.TabIndex = 0 + Me.txtTerminEmpfangsschein.ValidatingType = GetType(Date) + ' + 'Label17 + ' + Me.Label17.AutoSize = True + Me.Label17.Location = New System.Drawing.Point(260, 25) + Me.Label17.Name = "Label17" + Me.Label17.Size = New System.Drawing.Size(67, 13) + Me.Label17.TabIndex = 13 + Me.Label17.Text = "Gemahnt am" + ' + 'Label14 + ' + Me.Label14.AutoSize = True + Me.Label14.Location = New System.Drawing.Point(18, 173) + Me.Label14.Name = "Label14" + Me.Label14.Size = New System.Drawing.Size(61, 13) + Me.Label14.TabIndex = 25 + Me.Label14.Text = "Mahnung 2" + ' + 'Label15 + ' + Me.Label15.AutoSize = True + Me.Label15.Location = New System.Drawing.Point(18, 150) + Me.Label15.Name = "Label15" + Me.Label15.Size = New System.Drawing.Size(61, 13) + Me.Label15.TabIndex = 23 + Me.Label15.Text = "Mahnung 1" + ' + 'Label16 + ' + Me.Label16.AutoSize = True + Me.Label16.Location = New System.Drawing.Point(18, 121) + Me.Label16.Name = "Label16" + Me.Label16.Size = New System.Drawing.Size(95, 13) + Me.Label16.TabIndex = 21 + Me.Label16.Text = "Termin Schuldbrief" + ' + 'Label13 + ' + Me.Label13.AutoSize = True + Me.Label13.Location = New System.Drawing.Point(18, 72) + Me.Label13.Name = "Label13" + Me.Label13.Size = New System.Drawing.Size(61, 13) + Me.Label13.TabIndex = 17 + Me.Label13.Text = "Mahnung 2" + ' + 'Label12 + ' + Me.Label12.AutoSize = True + Me.Label12.Location = New System.Drawing.Point(18, 49) + Me.Label12.Name = "Label12" + Me.Label12.Size = New System.Drawing.Size(61, 13) + Me.Label12.TabIndex = 15 + Me.Label12.Text = "Mahnung 1" + ' + 'Label11 + ' + Me.Label11.AutoSize = True + Me.Label11.Location = New System.Drawing.Point(18, 20) + Me.Label11.Name = "Label11" + Me.Label11.Size = New System.Drawing.Size(120, 13) + Me.Label11.TabIndex = 13 + Me.Label11.Text = "Termin Empfangsschein" + ' + 'GroupBox2 + ' + Me.GroupBox2.Controls.Add(Me.Button4) + Me.GroupBox2.Controls.Add(Me.Button5) + Me.GroupBox2.Controls.Add(Me.Button3) + Me.GroupBox2.Controls.Add(Me.cbboxGegenpartei) + Me.GroupBox2.Controls.Add(Me.Label19) + Me.GroupBox2.Controls.Add(Me.txtbemerkung) + Me.GroupBox2.Controls.Add(Me.Label10) + Me.GroupBox2.Controls.Add(Me.cbboxstandardbemerkung) + Me.GroupBox2.Controls.Add(Me.Label9) + Me.GroupBox2.Controls.Add(Me.cbboxversgesellschaft) + Me.GroupBox2.Controls.Add(Me.Label8) + Me.GroupBox2.Location = New System.Drawing.Point(7, 312) + Me.GroupBox2.Name = "GroupBox2" + Me.GroupBox2.Size = New System.Drawing.Size(610, 181) + Me.GroupBox2.TabIndex = 9 + Me.GroupBox2.TabStop = False + Me.GroupBox2.Text = "Diverses" + ' + 'Button4 + ' + Me.Button4.Location = New System.Drawing.Point(348, 69) + Me.Button4.Name = "Button4" + Me.Button4.Size = New System.Drawing.Size(21, 23) + Me.Button4.TabIndex = 24 + Me.Button4.TabStop = False + Me.Button4.Text = "N" + Me.Button4.UseVisualStyleBackColor = True + ' + 'Button5 + ' + Me.Button5.Location = New System.Drawing.Point(348, 17) + Me.Button5.Name = "Button5" + Me.Button5.Size = New System.Drawing.Size(21, 23) + Me.Button5.TabIndex = 23 + Me.Button5.TabStop = False + Me.Button5.Text = "N" + Me.Button5.UseVisualStyleBackColor = True + ' + 'Button3 + ' + Me.Button3.Location = New System.Drawing.Point(348, 42) + Me.Button3.Name = "Button3" + Me.Button3.Size = New System.Drawing.Size(21, 23) + Me.Button3.TabIndex = 21 + Me.Button3.TabStop = False + Me.Button3.Text = "N" + Me.Button3.UseVisualStyleBackColor = True + ' + 'cbboxGegenpartei + ' + Me.cbboxGegenpartei.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend + Me.cbboxGegenpartei.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems + Me.cbboxGegenpartei.FormattingEnabled = True + Me.cbboxGegenpartei.Location = New System.Drawing.Point(106, 19) + Me.cbboxGegenpartei.Name = "cbboxGegenpartei" + Me.cbboxGegenpartei.Size = New System.Drawing.Size(240, 21) + Me.cbboxGegenpartei.Sorted = True + Me.cbboxGegenpartei.TabIndex = 0 + ' + 'Label19 + ' + Me.Label19.AutoSize = True + Me.Label19.Location = New System.Drawing.Point(16, 20) + Me.Label19.Name = "Label19" + Me.Label19.Size = New System.Drawing.Size(65, 13) + Me.Label19.TabIndex = 19 + Me.Label19.Text = "Gegenpartei" + ' + 'txtbemerkung + ' + Me.txtbemerkung.Location = New System.Drawing.Point(106, 101) + Me.txtbemerkung.Multiline = True + Me.txtbemerkung.Name = "txtbemerkung" + Me.txtbemerkung.Size = New System.Drawing.Size(479, 74) + Me.txtbemerkung.TabIndex = 3 + ' + 'Label10 + ' + Me.Label10.AutoSize = True + Me.Label10.Location = New System.Drawing.Point(16, 104) + Me.Label10.Name = "Label10" + Me.Label10.Size = New System.Drawing.Size(61, 13) + Me.Label10.TabIndex = 17 + Me.Label10.Text = "Bemerkung" + ' + 'cbboxstandardbemerkung + ' + Me.cbboxstandardbemerkung.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend + Me.cbboxstandardbemerkung.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems + Me.cbboxstandardbemerkung.FormattingEnabled = True + Me.cbboxstandardbemerkung.Location = New System.Drawing.Point(106, 71) + Me.cbboxstandardbemerkung.Name = "cbboxstandardbemerkung" + Me.cbboxstandardbemerkung.Size = New System.Drawing.Size(240, 21) + Me.cbboxstandardbemerkung.Sorted = True + Me.cbboxstandardbemerkung.TabIndex = 2 + ' + 'Label9 + ' + Me.Label9.AutoSize = True + Me.Label9.Location = New System.Drawing.Point(16, 72) + Me.Label9.Name = "Label9" + Me.Label9.Size = New System.Drawing.Size(80, 13) + Me.Label9.TabIndex = 15 + Me.Label9.Text = "Std-Bemerkung" + ' + 'cbboxversgesellschaft + ' + Me.cbboxversgesellschaft.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend + Me.cbboxversgesellschaft.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems + Me.cbboxversgesellschaft.FormattingEnabled = True + Me.cbboxversgesellschaft.Location = New System.Drawing.Point(106, 44) + Me.cbboxversgesellschaft.Name = "cbboxversgesellschaft" + Me.cbboxversgesellschaft.Size = New System.Drawing.Size(240, 21) + Me.cbboxversgesellschaft.Sorted = True + Me.cbboxversgesellschaft.TabIndex = 1 + ' + 'Label8 + ' + Me.Label8.AutoSize = True + Me.Label8.Location = New System.Drawing.Point(16, 45) + Me.Label8.Name = "Label8" + Me.Label8.Size = New System.Drawing.Size(92, 13) + Me.Label8.TabIndex = 13 + Me.Label8.Text = "Vers.-Gesellschaft" + ' + 'GrpStatus + ' + Me.GrpStatus.Controls.Add(Me.dtPickerEingangSB) + Me.GrpStatus.Controls.Add(Me.Label7) + Me.GrpStatus.Controls.Add(Me.txtEingangSB) + Me.GrpStatus.Controls.Add(Me.cberledigt) + Me.GrpStatus.Controls.Add(Me.cbempfangsscheinerhalten) + Me.GrpStatus.Controls.Add(Me.cbeinlieferung) + Me.GrpStatus.Controls.Add(Me.cbtitelvorhanden) + Me.GrpStatus.Controls.Add(Me.cbneugeschäft) + Me.GrpStatus.Controls.Add(Me.cbdevauslieferung) + Me.GrpStatus.Controls.Add(Me.cbprovauslieferung) + Me.GrpStatus.Controls.Add(Me.cbpfandbrief) + Me.GrpStatus.Controls.Add(Me.cbgrundpfandverschreibung) + Me.GrpStatus.Controls.Add(Me.cbschuldbrief) + Me.GrpStatus.Location = New System.Drawing.Point(7, 170) + Me.GrpStatus.Name = "GrpStatus" + Me.GrpStatus.Size = New System.Drawing.Size(610, 136) + Me.GrpStatus.TabIndex = 8 + Me.GrpStatus.TabStop = False + Me.GrpStatus.Text = "Status" + ' + 'dtPickerEingangSB + ' + Me.dtPickerEingangSB.Location = New System.Drawing.Point(170, 101) + Me.dtPickerEingangSB.Name = "dtPickerEingangSB" + Me.dtPickerEingangSB.Size = New System.Drawing.Size(21, 20) + Me.dtPickerEingangSB.TabIndex = 17 + Me.dtPickerEingangSB.TabStop = False + ' + 'Label7 + ' + Me.Label7.AutoSize = True + Me.Label7.Location = New System.Drawing.Point(21, 104) + Me.Label7.Name = "Label7" + Me.Label7.Size = New System.Drawing.Size(78, 13) + Me.Label7.TabIndex = 13 + Me.Label7.Text = "Eingang Police" + ' + 'txtEingangSB + ' + Me.txtEingangSB.Location = New System.Drawing.Point(107, 101) + Me.txtEingangSB.Mask = "00/00/0000" + Me.txtEingangSB.Name = "txtEingangSB" + Me.txtEingangSB.Size = New System.Drawing.Size(66, 20) + Me.txtEingangSB.TabIndex = 7 + Me.txtEingangSB.ValidatingType = GetType(Date) + ' + 'cberledigt + ' + Me.cberledigt.AutoSize = True + Me.cberledigt.Location = New System.Drawing.Point(308, 49) + Me.cberledigt.Name = "cberledigt" + Me.cberledigt.Size = New System.Drawing.Size(61, 17) + Me.cberledigt.TabIndex = 6 + Me.cberledigt.Text = "Erledigt" + Me.cberledigt.UseVisualStyleBackColor = True + ' + 'cbempfangsscheinerhalten + ' + Me.cbempfangsscheinerhalten.AutoSize = True + Me.cbempfangsscheinerhalten.Location = New System.Drawing.Point(308, 26) + Me.cbempfangsscheinerhalten.Name = "cbempfangsscheinerhalten" + Me.cbempfangsscheinerhalten.Size = New System.Drawing.Size(145, 17) + Me.cbempfangsscheinerhalten.TabIndex = 5 + Me.cbempfangsscheinerhalten.Text = "Empfangsschein erhalten" + Me.cbempfangsscheinerhalten.UseVisualStyleBackColor = True + ' + 'cbeinlieferung + ' + Me.cbeinlieferung.AutoSize = True + Me.cbeinlieferung.Location = New System.Drawing.Point(169, 49) + Me.cbeinlieferung.Name = "cbeinlieferung" + Me.cbeinlieferung.Size = New System.Drawing.Size(81, 17) + Me.cbeinlieferung.TabIndex = 4 + Me.cbeinlieferung.Text = "Einlieferung" + Me.cbeinlieferung.UseVisualStyleBackColor = True + ' + 'cbtitelvorhanden + ' + Me.cbtitelvorhanden.AutoSize = True + Me.cbtitelvorhanden.Location = New System.Drawing.Point(168, 26) + Me.cbtitelvorhanden.Name = "cbtitelvorhanden" + Me.cbtitelvorhanden.Size = New System.Drawing.Size(100, 17) + Me.cbtitelvorhanden.TabIndex = 3 + Me.cbtitelvorhanden.Text = "Titel vorhanden" + Me.cbtitelvorhanden.UseVisualStyleBackColor = True + ' + 'cbneugeschäft + ' + Me.cbneugeschäft.AutoSize = True + Me.cbneugeschäft.Location = New System.Drawing.Point(24, 72) + Me.cbneugeschäft.Name = "cbneugeschäft" + Me.cbneugeschäft.Size = New System.Drawing.Size(87, 17) + Me.cbneugeschäft.TabIndex = 2 + Me.cbneugeschäft.Text = "Neugeschäft" + Me.cbneugeschäft.UseVisualStyleBackColor = True + Me.cbneugeschäft.Visible = False + ' + 'cbdevauslieferung + ' + Me.cbdevauslieferung.AutoSize = True + Me.cbdevauslieferung.Location = New System.Drawing.Point(24, 49) + Me.cbdevauslieferung.Name = "cbdevauslieferung" + Me.cbdevauslieferung.Size = New System.Drawing.Size(110, 17) + Me.cbdevauslieferung.TabIndex = 1 + Me.cbdevauslieferung.Text = "Dev. Auslieferung" + Me.cbdevauslieferung.UseVisualStyleBackColor = True + ' + 'cbprovauslieferung + ' + Me.cbprovauslieferung.AutoSize = True + Me.cbprovauslieferung.Location = New System.Drawing.Point(23, 26) + Me.cbprovauslieferung.Name = "cbprovauslieferung" + Me.cbprovauslieferung.Size = New System.Drawing.Size(112, 17) + Me.cbprovauslieferung.TabIndex = 0 + Me.cbprovauslieferung.Text = "Prov. Auslieferung" + Me.cbprovauslieferung.UseVisualStyleBackColor = True + ' + 'cbpfandbrief + ' + Me.cbpfandbrief.AutoSize = True + Me.cbpfandbrief.Location = New System.Drawing.Point(443, 109) + Me.cbpfandbrief.Name = "cbpfandbrief" + Me.cbpfandbrief.Size = New System.Drawing.Size(74, 17) + Me.cbpfandbrief.TabIndex = 2 + Me.cbpfandbrief.Text = "Pfandbrief" + Me.cbpfandbrief.UseVisualStyleBackColor = True + Me.cbpfandbrief.Visible = False + ' + 'cbgrundpfandverschreibung + ' + Me.cbgrundpfandverschreibung.AutoSize = True + Me.cbgrundpfandverschreibung.Location = New System.Drawing.Point(443, 86) + Me.cbgrundpfandverschreibung.Name = "cbgrundpfandverschreibung" + Me.cbgrundpfandverschreibung.Size = New System.Drawing.Size(149, 17) + Me.cbgrundpfandverschreibung.TabIndex = 1 + Me.cbgrundpfandverschreibung.Text = "Grundpfandverschreibung" + Me.cbgrundpfandverschreibung.UseVisualStyleBackColor = True + Me.cbgrundpfandverschreibung.Visible = False + ' + 'cbschuldbrief + ' + Me.cbschuldbrief.AutoSize = True + Me.cbschuldbrief.Location = New System.Drawing.Point(442, 63) + Me.cbschuldbrief.Name = "cbschuldbrief" + Me.cbschuldbrief.Size = New System.Drawing.Size(79, 17) + Me.cbschuldbrief.TabIndex = 0 + Me.cbschuldbrief.Text = "Schuldbrief" + Me.cbschuldbrief.UseVisualStyleBackColor = True + Me.cbschuldbrief.Visible = False + ' + 'GroupBox1 + ' + Me.GroupBox1.Controls.Add(Me.Button1) + Me.GroupBox1.Controls.Add(Me.txtPolicenNr) + Me.GroupBox1.Controls.Add(Me.txtNominal) + Me.GroupBox1.Controls.Add(Me.dtPickerDatum) + Me.GroupBox1.Controls.Add(Me.txtDatum) + Me.GroupBox1.Controls.Add(Me.Label6) + Me.GroupBox1.Controls.Add(Me.cbboxSachbearbeiter) + Me.GroupBox1.Controls.Add(Me.txtKurzname) + Me.GroupBox1.Controls.Add(Me.txtPartnernr) + Me.GroupBox1.Controls.Add(Me.Label5) + Me.GroupBox1.Controls.Add(Me.cbeuro) + Me.GroupBox1.Controls.Add(Me.Label4) + Me.GroupBox1.Controls.Add(Me.Label3) + Me.GroupBox1.Controls.Add(Me.Label2) + Me.GroupBox1.Controls.Add(Me.Label1) + Me.GroupBox1.Location = New System.Drawing.Point(7, 24) + Me.GroupBox1.Name = "GroupBox1" + Me.GroupBox1.Size = New System.Drawing.Size(610, 140) + Me.GroupBox1.TabIndex = 7 + Me.GroupBox1.TabStop = False + Me.GroupBox1.Text = "Datum/Partner" + ' + 'Button1 + ' + Me.Button1.Image = CType(resources.GetObject("Button1.Image"), System.Drawing.Image) + Me.Button1.Location = New System.Drawing.Point(199, 43) + Me.Button1.Name = "Button1" + Me.Button1.Size = New System.Drawing.Size(33, 23) + Me.Button1.TabIndex = 11 + Me.Button1.TabStop = False + Me.Button1.UseVisualStyleBackColor = True + ' + 'txtPolicenNr + ' + Me.txtPolicenNr.Location = New System.Drawing.Point(443, 100) + Me.txtPolicenNr.Name = "txtPolicenNr" + Me.txtPolicenNr.Size = New System.Drawing.Size(161, 20) + Me.txtPolicenNr.TabIndex = 5 + ' + 'txtNominal + ' + Me.txtNominal.Location = New System.Drawing.Point(106, 100) + Me.txtNominal.Name = "txtNominal" + Me.txtNominal.Size = New System.Drawing.Size(187, 20) + Me.txtNominal.TabIndex = 3 + Me.txtNominal.TextAlign = System.Windows.Forms.HorizontalAlignment.Right + ' + 'dtPickerDatum + ' + Me.dtPickerDatum.Location = New System.Drawing.Point(170, 18) + Me.dtPickerDatum.Name = "dtPickerDatum" + Me.dtPickerDatum.Size = New System.Drawing.Size(21, 20) + Me.dtPickerDatum.TabIndex = 15 + Me.dtPickerDatum.TabStop = False + ' + 'txtDatum + ' + Me.txtDatum.Location = New System.Drawing.Point(107, 18) + Me.txtDatum.Mask = "00/00/0000" + Me.txtDatum.Name = "txtDatum" + Me.txtDatum.Size = New System.Drawing.Size(66, 20) + Me.txtDatum.TabIndex = 0 + Me.txtDatum.ValidatingType = GetType(Date) + ' + 'Label6 + ' + Me.Label6.AutoSize = True + Me.Label6.Location = New System.Drawing.Point(21, 102) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(45, 13) + Me.Label6.TabIndex = 11 + Me.Label6.Text = "Nominal" + ' + 'cbboxSachbearbeiter + ' + Me.cbboxSachbearbeiter.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend + Me.cbboxSachbearbeiter.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.CustomSource + Me.cbboxSachbearbeiter.FormattingEnabled = True + Me.cbboxSachbearbeiter.Location = New System.Drawing.Point(106, 71) + Me.cbboxSachbearbeiter.Name = "cbboxSachbearbeiter" + Me.cbboxSachbearbeiter.Size = New System.Drawing.Size(187, 21) + Me.cbboxSachbearbeiter.Sorted = True + Me.cbboxSachbearbeiter.TabIndex = 2 + ' + 'txtKurzname + ' + Me.txtKurzname.Location = New System.Drawing.Point(308, 42) + Me.txtKurzname.Name = "txtKurzname" + Me.txtKurzname.ReadOnly = True + Me.txtKurzname.Size = New System.Drawing.Size(296, 20) + Me.txtKurzname.TabIndex = 8 + Me.txtKurzname.TabStop = False + ' + 'txtPartnernr + ' + Me.txtPartnernr.Location = New System.Drawing.Point(106, 45) + Me.txtPartnernr.Name = "txtPartnernr" + Me.txtPartnernr.Size = New System.Drawing.Size(97, 20) + Me.txtPartnernr.TabIndex = 1 + ' + 'Label5 + ' + Me.Label5.AutoSize = True + Me.Label5.Location = New System.Drawing.Point(378, 103) + Me.Label5.Name = "Label5" + Me.Label5.Size = New System.Drawing.Size(59, 13) + Me.Label5.TabIndex = 5 + Me.Label5.Text = "Policen-Nr." + ' + 'cbeuro + ' + Me.cbeuro.AutoSize = True + Me.cbeuro.Location = New System.Drawing.Point(308, 103) + Me.cbeuro.Name = "cbeuro" + Me.cbeuro.Size = New System.Drawing.Size(48, 17) + Me.cbeuro.TabIndex = 4 + Me.cbeuro.Text = "Euro" + Me.cbeuro.UseVisualStyleBackColor = True + ' + 'Label4 + ' + Me.Label4.AutoSize = True + Me.Label4.Location = New System.Drawing.Point(20, 72) + Me.Label4.Name = "Label4" + Me.Label4.Size = New System.Drawing.Size(79, 13) + Me.Label4.TabIndex = 3 + Me.Label4.Text = "Sachbearbeiter" + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Location = New System.Drawing.Point(239, 45) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(54, 13) + Me.Label3.TabIndex = 2 + Me.Label3.Text = "Kurzname" + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Location = New System.Drawing.Point(20, 45) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(41, 13) + Me.Label2.TabIndex = 1 + Me.Label2.Text = "Partner" + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(20, 20) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(38, 13) + Me.Label1.TabIndex = 0 + Me.Label1.Text = "Datum" + ' + 'cbaktiv + ' + Me.cbaktiv.AutoSize = True + Me.cbaktiv.Location = New System.Drawing.Point(947, 470) + Me.cbaktiv.Name = "cbaktiv" + Me.cbaktiv.Size = New System.Drawing.Size(50, 17) + Me.cbaktiv.TabIndex = 19 + Me.cbaktiv.TabStop = False + Me.cbaktiv.Text = "Aktiv" + Me.cbaktiv.UseVisualStyleBackColor = True + ' + 'frmPolice + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(1013, 494) + Me.Controls.Add(Me.cbaktiv) + Me.Controls.Add(Me.GroupBox3) + Me.Controls.Add(Me.GroupBox2) + Me.Controls.Add(Me.GrpStatus) + Me.Controls.Add(Me.GroupBox1) + Me.Controls.Add(Me.ToolStrip1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmPolice" + Me.Text = "Police" + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.GroupBox3.ResumeLayout(False) + Me.GroupBox3.PerformLayout() + Me.GroupBox2.ResumeLayout(False) + Me.GroupBox2.PerformLayout() + Me.GrpStatus.ResumeLayout(False) + Me.GrpStatus.PerformLayout() + Me.GroupBox1.ResumeLayout(False) + Me.GroupBox1.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents ToolStrip1 As ToolStrip + Friend WithEvents tsbtnexit As ToolStripButton + Friend WithEvents tsbtensave As ToolStripButton + Friend WithEvents tsbtndelete As ToolStripButton + Friend WithEvents GroupBox3 As GroupBox + Friend WithEvents dtpickerGemahntSchuldbrief2 As DateTimePicker + Friend WithEvents txtGemahntSchuldbrief2 As MaskedTextBox + Friend WithEvents dtpickerGemahntSchuldbrief1 As DateTimePicker + Friend WithEvents txtGemahntSchuldbrief1 As MaskedTextBox + Friend WithEvents dtpickermahnungSchuldbrief2 As DateTimePicker + Friend WithEvents txtmahnungSchuldbrief2 As MaskedTextBox + Friend WithEvents dtpickerMahnungSchuldbrief1 As DateTimePicker + Friend WithEvents txtMahnungSchuldbrief1 As MaskedTextBox + Friend WithEvents dtpickerTerminSchuldbrief As DateTimePicker + Friend WithEvents txtTerminSchuldbrief As MaskedTextBox + Friend WithEvents dtpickerGemahntEmpfangsschein2 As DateTimePicker + Friend WithEvents txtGemahntEmpfangsschein2 As MaskedTextBox + Friend WithEvents dtpickerGemahntEmpfangsschein1 As DateTimePicker + Friend WithEvents txtGemahntEmpfangsschein1 As MaskedTextBox + Friend WithEvents dtpickerMahnungEmpfangsschein2 As DateTimePicker + Friend WithEvents txtMahnungEmpfangsschein2 As MaskedTextBox + Friend WithEvents dtpickerMahnungEmpfangsschein1 As DateTimePicker + Friend WithEvents txtMahnungEmpfangsschein1 As MaskedTextBox + Friend WithEvents dtpickerTerminEmpfangsschein As DateTimePicker + Friend WithEvents Label18 As Label + Friend WithEvents txtTerminEmpfangsschein As MaskedTextBox + Friend WithEvents Label17 As Label + Friend WithEvents Label14 As Label + Friend WithEvents Label15 As Label + Friend WithEvents Label16 As Label + Friend WithEvents Label13 As Label + Friend WithEvents Label12 As Label + Friend WithEvents Label11 As Label + Friend WithEvents GroupBox2 As GroupBox + Friend WithEvents txtbemerkung As TextBox + Friend WithEvents Label10 As Label + Friend WithEvents cbboxstandardbemerkung As ComboBox + Friend WithEvents Label9 As Label + Friend WithEvents cbboxversgesellschaft As ComboBox + Friend WithEvents Label8 As Label + Friend WithEvents GrpStatus As GroupBox + Friend WithEvents dtPickerEingangSB As DateTimePicker + Friend WithEvents Label7 As Label + Friend WithEvents txtEingangSB As MaskedTextBox + Friend WithEvents cberledigt As CheckBox + Friend WithEvents cbempfangsscheinerhalten As CheckBox + Friend WithEvents cbeinlieferung As CheckBox + Friend WithEvents cbtitelvorhanden As CheckBox + Friend WithEvents cbneugeschäft As CheckBox + Friend WithEvents cbdevauslieferung As CheckBox + Friend WithEvents cbprovauslieferung As CheckBox + Friend WithEvents cbpfandbrief As CheckBox + Friend WithEvents cbgrundpfandverschreibung As CheckBox + Friend WithEvents cbschuldbrief As CheckBox + Friend WithEvents GroupBox1 As GroupBox + Friend WithEvents txtPolicenNr As TextBox + Friend WithEvents txtNominal As TextBox + Friend WithEvents dtPickerDatum As DateTimePicker + Friend WithEvents txtDatum As MaskedTextBox + Friend WithEvents Label6 As Label + Friend WithEvents cbboxSachbearbeiter As ComboBox + Friend WithEvents txtKurzname As TextBox + Friend WithEvents txtPartnernr As TextBox + Friend WithEvents Label5 As Label + Friend WithEvents cbeuro As CheckBox + Friend WithEvents Label4 As Label + Friend WithEvents Label3 As Label + Friend WithEvents Label2 As Label + Friend WithEvents Label1 As Label + Friend WithEvents Button1 As Button + Friend WithEvents Button2 As Button + Friend WithEvents cbaktiv As CheckBox + Friend WithEvents cbboxGegenpartei As ComboBox + Friend WithEvents Label19 As Label + Friend WithEvents Button3 As Button + Friend WithEvents Button4 As Button + Friend WithEvents Button5 As Button +End Class diff --git a/Logbuch/Logbuch/Logbuch/frmPolice.resx b/Logbuch/Logbuch/Logbuch/frmPolice.resx new file mode 100644 index 0000000..9579133 --- /dev/null +++ b/Logbuch/Logbuch/Logbuch/frmPolice.resx @@ -0,0 +1,528 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAK1SURBVDhPnZLfS1NhGMdfCPoDuummi+i6KwcWZYjb3Obx + 7MzN1dY5Z9tJZ86Min5BVvbD8ldqFlqRw1QsikqtjNLMUjQ0lLKQakV2EV0kUQTRRcGno8Zil/bAB97n + hffD+33eV/xPfXkzHJyZmfzVvi+Tv1sLdbU8t6frWC49FXNISbqPS1w7bOdRfBez0318nrrD97dDXD5g + TRV0l8ukrbWzZr2NtRv+kb7eympLBj8SfSR6jjDR7Odr4jFXDzlSBV1lMplWJza7hN3hSmLNdpKeYeN1 + e4SJizrj54LMvrzPjaM5qQJHo0CqWkKO3YfkUpBy3EiSjMsls8EqMd1mMH4hxJOmIJ8muuej/j0qhK1a + kPjUgdOU5GZpuJ0BFMmPInuR3R6yHG5exMOMNusMNW5mZuQKdyuVBYGtSjD1oYW2IUFmpcBeL3CeFchl + y/EqQTx5frJzfUxe1Bg6o/Pj3kpeDbRyv8aLcNUKxt5XEh8VtIyY63eFPH0f4dnH8LxkoydMfn4QyRPg + 6TmVwdMaP/tW8fJuMwP1/gXBw8Re4pOC+ISg9YWgbVrw/FsExxlBML+QTYEQ7nyN0aYAAw1BWvY6edZd + zePGwHwEi92M0PuqiI6EIGsuwimB47Qg7/AKdDWKqhv4ggbDjX766zZy85jC2JVyRprU5BAt2TWCnnc+ + nA0CI7AbQyvFCBdjGFEiRgGBUJTBei/3an30VnkZvrSH8fOhlGe0OM0rK7VLiRo7iBaWUBgtnqfARNsS + 40Gth97KPG6d8NDXHGOyJZIiEO2l69haUkpJbCcl27YniZkUFO+gv0bm9kmFrgo3t+tCTLUWIHRdR9dC + aFoYVZ3DXKua2atJVLPftFlnfyxAZ7li/kCZ68fzmO4oWhjiYinT0w/UHbT8ftMZS42wiFpmkiaEsPwB + PA/CaGePw84AAAAASUVORK5CYII= + + + + + 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 + hKX85jf/D4NcfvGKm+MUAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJASURBVDhPfZNLSxtRFMdn5Suah0oChhiJmlGj8RGfiKIi + gouAEPULuMlSxe+Rrbt8hKEWGfJobNq5k0ZaJ7Vgq90ILW5auiiFLv8955oJiU37hwPDPfd3/ufMvVex + VTk4SF0mEprmcrmrS39JCwbdpZ0dzdjeTlWXHvUhmUw/nJ7i7e4uspGIxRurqZqqsPXp5ATG4iJyo6Np + mWBnCScSMNfXIVZXoatqQ5EafHwMMTcHY2ZGRkZVUwq3zc42LJaXYSwtQQ+HZZEafHQEEYtBTE3VQh8a + 0hSemduuh435eRizs9BDIasUj1u3h4cwydGcnIQZjaJEwblal/zBbdfDggB2+ZhMojQ9LaE3FOWJiUbY + lixCbdfD7ChGRmAMDEAEgzApss1gW7IIbTDIqRgIoOB04iXFK7cboqcHus/3b5jFSbG1ZVnxOF50dkr4 + tccDs7cXZa8XWb///+5Fgiv7+8gTeFEHX/p8eNfXh/f9/cgHAs3nL25sWJW9PeTIuUBRdLlk22WCr/x+ + XNP8N6EQboeHUXx6AgxbBGccDuQ6OnDR1SXdeeYctc3ON4OD+KyquI9E8IX+kajeE8XY3NSu6CLp7e3I + tLUhT0V4dt3rlRs4uO27cBj34+N4oCP9RrfxOx13SVU1pbCwkDpvbYXe0oIsFeGfd97d3TCn7JLa/krH + yuBPunC/VlZQiUYfH9WZw5G2Czx7AtviNZMu2w96SL/X1nAXiz0+JltnTmfqucejNYNtca48NqZd286K + ovwBHtVvxMSvxBEAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAfFJREFUOE9j + GAWoIMDfn7GlqXmjp7vHAwtzcy6oMIOVhaWQj7f3g872jgVQIUxQkJevUFxY2JWUkPjf3Mz8v6mxSYCR + kbGvm5uHh6W5ZbQFUCwtJeV/dWVVW2N9gyxUGwQsWrDQaNmSpV+iI6P+29va/Xd3dftvZmL6Lzg45H9c + XALIwH8gMZBcfm7e/21btn5cumSJNlQ7A8PCBQvX1dfW/beztf2voa7+H2SblaXV/5rqms/1dfVfYXxb + a5v/ZSUl/1cuX/F/985di8GaF8ybb15SXPynqqzkf3BgwH9xMbH/WhqaYMUmRsY7gfiInY3tfycHR5C3 + /icnxP+vrSj/X1pS8mfp4iXmDM4O9usCDBX/53ua/G9Ij/xvY6T338bK+n93ZxfIJQutLa3WTJk0+X9Y + SOh/M23V/2EmSv+rI9z+12bG/rezsV7LYKah+DPPTOJ/v4/G/zZv7f/RZgr/tTQ1dwA1ZgJpMU11DQlL + c4t0PV3dbQH6sv8bXFX/Tw42+F/npvZfV17iJ4O2msqRDjfF//tSTf4vCtH872eg+F9TQyMA7D8koKaq + GhBorAxWA1Lb4ar4X11J/iiDtpaWlKOZ4ZpST6N3uf7297w9PQugejCArbV1Yaa39YPGUJsPwe5O64wM + DaWhUkMXMDAAAKZRy/mtYAswAAAAAElFTkSuQmCC + + + + + AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAACQAABILAAASCwAAAAAAAAAA + AACUmU8AlJhMAKSHAACljwEAicH3AJG7yACB2P8AmrCVAKScPgCanl4AqH0AAI+NLwBwq98AbqC2AFG/ + /wB0gkEAfXYHAHZ5KACLVQAAcHcyAFmUwABakLUARar/AGtvGgBtagwAbGsaAIJLAABhd1gAVYSlAE6I + wwBElP8AZV8AAGBiEgBiXw8AdEEAAFJuaABLb4QAQHi7AD14xABYTQAAUlASAFRMAABiNwAARWJwAEZf + bAA7bbMAS2BZACeG/wB4s+4AgaazA6V6AAW3agAFgsH/BZemdQVq8v8Fj7XGBaSUKAWNqKsFtWMABZpx + AAVqp+gFdopeBTDl/wVrg1wFfG8ABWeHhgWdMAAFe18ABVWOuQVegHcFI87/BWVsHgVoZAcFXXdsBZck + AAVkaCQFV3iFBUyBtAUosv8FYlcABVdfGgVUaFAFiRkABVBnUQVOYlUFOHnPBSSQ/wVWRQAFS08iBUlP + JAV0EwAFQV9wBUtPMgQycuAFB5v/AwKu/wCglSAAn5Ynmp6cO+ORub/hkcHd45LF6eOburLjpqZT46Ok + VOOgnEDjl5xR44CuweN4rMrjb6rV43aVfuOAfRTjfXwa43x3BeN0fjTjYpaw42CVs+Ndl8DjaoFc43Rw + C+NxcBXjc2sB42l2PuNaiqXjWYim41eIq+NlcT/ja2YK42dmE+NoYADjXWxG41B6lONNdpDjTHOM41hd + KuNaVQrjWFQO41lQAeNOXUjjRmmA40VpguBIZW/jU1Ylj1FYMQCiq1wApqQ9sZm+tP+VzfH/mc7w/6LF + vf+xsVX/sa9R/66rSf+mrFv/kb/M/4e/4v+AvOT/haiR/5CMFv+MiRf/i4QK/4GMNv9tpb3/aqfM/2ml + zf91kGv/gnsH/398EP+AeAT/doI//2SZtf9imLn/YZa2/2+AS/94cAT/dXEP/3VsBP9peEf/Woml/1eG + o/9WgZn/Y2oy/2dfBP9kXg3/Y1sD/1hnSf9NdI7/TXON/05yhv9cXiT/YVgEpWFXAgCT0fkAlsrerJfQ + 8/2a1Pv7o8zQ/bS2YP22t2L9tLdj/a+3bP2by9n9kczy/YvH7P2Nt639mZov/ZSYL/2Qkyn9ipdE/XSw + y/1wsdn9b6/X/Xmehf2Hhhb9g4cl/YSEH/18jEn9aqPD/Wiixv1noML9c4th/X16E/16fCP9enga/XCB + UP1flLf9XpCt/VyMqP1ndkf9bGgP/WhpHv1oZRb9XW9Q/VF8nP1RepP9UniL/WBkJ/plXQT9Y18QoGNf + EACWzuwAlc7vrZbR+f+iyMP8pMzP/6LT6v+j0+n/otLn/53S7v+Y0PL/k8vo/4zH6P+IwNb/gr3W/325 + 1v96tdD/dbba/3K02/9ysNL/cK/S/3Kqv/9wqcT/bqjD/26lvv9rp8r/aqXI/2qiwv9poL//apyu/2ic + tf9mmbL/Zpeu/2KXuf9hlLP/X5Gt/16Npv9dh5j/WoWb/1iClv9Wf5P/VH+c/1R8lP9RfJf/VHZ9/2Vf + C/tlXw3/ZV4FoWVeBQCT1P8Ak9P/rZ/GwP+2rUT8pM/a/6HW+v+j1fH/odTy/57T8P+a0O3/lM3s/43I + 6f+Hxer/gcHn/3y94/95uuH/drfc/3S01v9ystb/crHU/3Cw1v9vrtP/bqzQ/22qzv9sp8j/aaLB/2ih + wP9nn7//Zp7A/2Wcvf9kmbr/Y5e4/2KVsv9gkq7/Xo+r/1yMqP9Ziqf/WIai/1aCnv9Uf5r/U32V/1J6 + kf9Re5f/VXmE/2ZhD/tmYA3/XmtFoWBoNgCptXYAob+lrbSsQ/+3rkP8pNDc/6PV9f+k1e7/o9Xv/6DT + 7/+a0e//lc7t/47K6/+Ixuj/gsLk/32+4f96u9//d7nc/3W22v9ztNj/c7LW/3Kx0/9wrtD/b63O/2+s + zv9posL/TniQ/054kP9Nd47/TXaN/0x0iv9Lcon/S3GH/0lwhf9HbYL/R2uA/0Vpff9EZnr/QWR2/0Fh + dP9AX3H/Pl5w/z1bbP8/YHb/V3qE/2lgBftccl//UYCmoVJ/pAC2pSkAtaUsrbapOf+4r0j8ptDZ/6PW + 9v+l1u7/pNXx/6DU8P+c0u7/ls/u/4/L7P+Jx+r/g8Tn/37A5P97veL/eLrf/3a43P90ttr/c7TY/3Ky + 1f9xsNP/cK/R/2+tz/9uqsz/bKbH/2ulxf9qo8P/aaHB/2ifv/9nnbz/Zpu5/2SZt/9ilrT/YJOw/16Q + rP9cjKj/Womk/1iGoP9Wg5z/VYCa/1R+l/9Tf5v/WHqD/11zXvtTgJ//VX6YoVV+lAC1qj0Atak7rbio + M/+2s138pNPq/6XW8/+m1u//pdbx/6HT7/+d0e//l8/u/5DM7f+Kyev/hMXp/4DC5v98vuP/ebzg/3e6 + 3v92t9z/dLba/3Oz1/9ystX/cbDT/3Gw0v9rpsb/UHyU/1B8lP9PepL/TniQ/013j/9Ndo3/THSL/0ty + if9KcIf/SG6D/0drgf9Fan3/RGZ7/0JleP9BYnX/QGBz/z9fcP9BYnb/VoGb/1WBnftVgZz/VYCaoVWB + nwC7pB4AuqUlrbauS/+j0N78o9f3/6bW7/+n1vD/pdXw/6LU8P+e0vD/mM/u/5HM7f+Lyuz/hcfr/4DD + 6P99wOX/er7i/3i74P92ud7/dbfc/3S12f9ztNf/crLV/3Gw0/9vrc//bKjK/2ynyP9qpMX/aaPD/2mh + wf9on77/Z528/2Wbuf9jmLb/YpWy/1+Srv9djqr/W4um/1mHov9XhJ7/VYOb/1aBmv9VgJn/VoGa/1WD + pPtafYT/Z2sqoWVuOACuuoAAtLBWraPM0f+h1/r8ptXu/6fX8f+o1/H/ptbw/6PV7/+f0/D/mdDv/5LN + 7f+Myu3/hsjs/4HF6v9+wuf/e7/l/3m94v93u+D/drne/3W33P90tdn/c7PW/3Oz1/9sqMn/TnqS/096 + kv9OeJD/TXeP/012jv9MdIv/S3OJ/0pxiP9Ib4X/R22C/0ZrgP9EaHz/QmV6/0Fjdv9AYXT/P19y/z1d + b/9BYnX/V4ak/1mAkPtqaRz/b2QCoW9kAACb1v8AndLvrZ/U9P+j1vT8ptfz/6jX8P+p2PL/qNfx/6TV + 8P+g0+//mtHu/5PO7v+Ny+z/h8jr/4LG6/9/w+n/fMHn/3q+5P94vOL/d7vg/3a53v91t9v/dLXZ/3Oz + 1/9zstb/c7PW/3Kx1P9xr9L/cK3Q/2+rzf9uqcr/bafI/2ulxf9pocL/Z56+/2Wbuv9jl7X/YJOx/1+Q + rP9djan/W4qm/1qJo/9ZiKT/WYSa/2lsIfttZgf/bGkSoW1pFACf0ekAntLsrZ/W+f+qzcv8qtLd/6jY + 9f+q2PD/qdfy/6XW8f+h0+//m9Hv/5XO7f+Oy+3/iMjs/4TG6/+Axev/fcPp/3vA5v95vuT/eLzi/3e7 + 4P92ud3/dbfb/3S12f9zs9b/crHU/3Gv0v9wrdD/b6vN/26qy/9sp8n/a6XG/2qjwv9ooMD/Zp28/2Sa + uP9ilrT/YJKv/16Pq/9bjKf/Woml/1mHof9YiKf/XIOM/25pD/tuaQ7/bmgGoW9nBgCc2f8AnNj/rafM + yv+/sUn8rNHX/6na+P+r1+//qtjx/6bW8P+i1PD/nNHu/5bO7f+PzO3/isns/4XH6/+Bxur/fsTq/3vC + 6P96wOb/eb7k/3i84f93uuD/drnd/3a32/91tdn/c7PW/3Kx1f9xr9L/cK3Q/2+szv9uqsv/bafI/2ul + xf9posL/aJ+//2Wbuv9jmLb/YZSy/1+Rrv9cjqn/W4un/1uJpP9Zian/XIWS/29rDvtuaxL/ZHpdoWZ3 + TACxuoEAqcWvrbyvSP/BsEP8rNPe/6rZ9v+s2PD/qtjy/6fW8f+j1PD/ndLv/5fP7v+Rze3/i8rt/4bI + 7P+Cxuv/gMXp/33D6v97wuj/esDm/3m+5P95vOH/d7vh/3O43/9xt93/dLXa/3Sz1v9ysdT/ca/S/3Cu + 0P9vq83/bqnK/2ynx/9qpMX/aKHA/2advP9kmrj/Ypa0/2CSr/9ej6v/XI2p/1uLpv9ai6z/XoWP/3Br + C/thgXj/WY65oVmNtwC/qCgAvqgurb+sOP/BsUn8rtPa/6va9/+t2fD/q9jy/6jX8f+k1fD/ntPw/5jQ + 7v+Sze3/jcrt/4fI7f+Dxuv/gcXq/37E6v98w+r/e8Ho/3vA5f92v+f/drnf/5azw/+Vs8P/crTZ/3G1 + 2/90s9b/crHU/3Gv0v9wrc//b6rM/22oyv9rpcf/aaLC/2efvv9lm7r/Ypi1/2CUsf9fka3/Xo+q/1yN + qP9bjKz/X4eS/2OCd/tbjrD/XIyooVyLpAC9rT0Avas6rcCsNf+/tFP8rdbn/6za9P+t2fH/rNny/6nY + 8P+l1vD/n9Pv/5nQ7/+Tze7/jcvs/4nJ7P+Fx+z/gsbr/3/E6v9+w+n/fMTr/3bC6/+Fudf/tb/E/9zX + 1P/c19T/sr3D/36yzv9utNv/c7PX/3Kx0/9wr9H/cKzO/26qzP9sp8n/aqTE/2igwP9mnbz/ZJm3/2GW + s/9fk6//XpGt/12Pqv9cjaj/XI2q/1yOrftdjaz/XouioV2NqwDBpiIAv6cprb+uQv+u0dP8q9v5/67Z + 7/+v2vL/rdny/6rX8f+m1vD/oNPw/5rQ7v+Uzu7/j8zt/4rJ7P+GyOz/g8bq/4HF6v98xu7/e8Dl/527 + yv/Qzs3/5+bn/+jr7v/o6ev/5eLe/83Kyf+WtMT/cLHV/2+z2f9zsdP/ca7Q/2+szf9tqcv/a6bH/2mi + wv9nn77/ZZu5/2KXtf9glLL/X5Ku/16QrP9dj6v/Xo6p/1yRt/tjh4X/cnIfoXB1KwC4t2gAvK5Era3M + xP+p2//8rtnw/6/a8f+v2vH/rtny/6vY8f+n1vH/odTv/5vR7/+Wzu7/kMvt/4vK7f+IyOv/hMjt/33G + 7/+JvNf/uMLI/+Lg5//o6Oj/5ODT/+Te0v/m5eT/6e31/+jo6P/e2NX/tL7D/4CxzP9ssdj/cbDU/3Ct + z/9uqs3/bKjJ/2qkxP9noMD/ZZy7/2OZt/9hlbP/YJOw/1+Srv9ekKz/XpK0/2KLkvt0chb/d28GoXdu + BACl2f4Ap9PnrajY9f+r2vb8rtrz/7Da8v+w2/L/r9ry/6zZ8P+o1vD/o9Xw/5zS7v+Xz+7/kczt/43L + 7f+Hy/D/hMPm/6G7yf/QztD/5uPh/9m/fv/RqUb/06xP/9OuU//Sq03/2L17/+bm5v/n6en/5+Ti/9HO + zP+atcT/ca7R/22w1P9wrc//banK/2ulxv9posL/Zp69/2Sbuf9il7X/YZWz/2CTsP9ek7L/YI+k/3R1 + G/t3cQv/dnMToXZzFgCo1u8Ap9byraja/f+0zLz8stXb/7Dc9/+y2vH/sNvx/63a8f+p1/H/pNXx/53S + 7/+Yz+3/ks7v/4nL8P+TwNn/usDD/9/b2//n5d//0ahD/9SxXP/j3Mv/5+jp/+bm5P/j3Mv/39Cs/+fn + 6f/m5ub/5+fn/+jo6P/g29j/t7/D/4Cux/9qrdL/bavO/2ynyP9qpMT/Z5+//2Wcu/9jmbb/Ype0/2GU + sf9flLf/Y46a/3ZzEft3cw7/eXIKoXlyBgCm3P8Apdz/rbHLuv/FsUH8s9Xa/7Hd+P+z2/D/sdvy/67Z + 8f+q2PH/pNXw/5/T7/+Y0vP/ksnn/6nAzP/Szs3/5uPh/+nt9P/UsVz/1bVk/+vz///n5+j/5N7R/+jq + 7//p7ff/5ubl/+Tf0//o6/L/5ufn/+bm5v/n6On/5uTi/9DNy/+ZssD/bqnK/2ipzP9spcb/aKHB/2ad + vf9kmrn/Ypi2/2KWs/9glrj/Y5Gg/3h0Dft2dxz/aYp7oWuHaQC7uGsAtMOarcKwQP/Fs0X8tNff/7Ld + 9/+z3PH/stvy/6/a8v+r2PD/ptfy/53U8v+fxdn/v8TH/+Db2P/o5+f/6Orv/+LZw//PoTP/5+bm/+LY + wf/QozX/0aY//9e4bv/h1rz/0ahD/9KoRf/Zvn7/5+nt/+fn5//m5ub/5+fn/+fo6P/g29j/uL/D/4Cq + wv9mpcj/aKPE/2ifvv9lnLv/Y5q4/2OYtP9hmLv/ZZGb/3h2Fftnj5L/X5rIoWCayQDDqisAw6orrcOv + Ov/Gs0X8tdbb/7Pe+f+03PD/s9vx/7Db8v+r2/b/o9Dp/6/By//Rzsz/5uTj/+fo6f/m5eT/6Oz1/9zH + lf/Ur1X/6vD//9OtUP/Vs2D/5+nr/9zHlf/NnCb/17lw/+fq6//SqUb/28WP/+js9f/m5uT/5ubm/+bm + 5v/n6Oj/5uXj/9TQz/+csr//aqHB/2Ogwv9nnr3/ZJu5/2OZt/9imbr/ZZSj/2iQkPtimr//Y5m6oWSY + tQDBrz0Awa47rcWtMf/DuWH8tNvu/7Td9f+02/D/t+D2/7Hd9f+ryNn/v8PF/97a2P/o6On/5+fn/+bm + 5v/m5eT/6e32/9rBhf/WtWf/6vD+/9GnQ//cx5X/6e75/+nu+f/Vs1//1rVn/+vz///g1Lb/0adB/+fn + 6f/m5+f/5+bm/+bm5v/m5ub/5+fn/+jo6P/i3tv/u8DD/36luv9hnb//ZZ6+/2Sbuf9kmrj/Y5q6/2Sa + vPtjm73/ZpanoWSZsgDGqBwAxakircK1Uf+z2eb8st34/7bd8v+/5vz/p8/l/7C/yP/Sz83/5eTj/+jo + 6f/m5ub/5ubm/+bn5//m5uT/6Oz1/9zHlP/UsVv/6/L//9a2af/VsFr/6e77/+jr8v/ezKH/0qlG/+jr + 8//l4dj/0KU9/+Te0P/n6ez/5+bm/+fn5//m5ub/5ubm/+bm5v/n6Oj/5+Xl/9XRz/+arrn/Zpu5/2eh + wf9lm7r/ZJq3/2KfyvttkIX/fHoUoXt8HwC5wosAvrdfrbLU2f+v3fv8ueD0/7zi+P+NtMr/UnqR/8nM + z//u7ez/5ubn/+bm5v/m5ub/5+fn/+fn5//m5uX/6Orv/+HXvf/RqEL/5+ru/+Pe0P/OnSj/3MiX/+rw + /v/k3s//0KQ4/+Xj3f/l49z/0KU8/+Tdzv/n6ez/5+bl/+fn5//m5ub/5+fn/+bm5v/m5ub/5ufn/+fo + 6P/m4d7/aYCP/1CBnP9pocD/ZaHH/2uTj/t+exD/f3oLoYB5CQCs3f8Ardr2rLDc+P+85Pn7qdDl/22W + rv9Tg5//XI2q/9Tb3v/s6un/5ebm/+bn5//n5+f/5+fn/+fn5//n5ub/5+bm/+fp7f/Sqkj/3s2k/+ry + ///h1Lf/0KU9/9OtUf/UsFj/zZwj/+Pdzv/i2sX/0KU7/+bm5f/n5+j/5+fm/+fn5//n5+f/5+fn/+fn + 5//m5ub/5ubm/+bm5v/u7ez/d5Sk/0Rrgf9Qe5b/ZJSl/4J/EfuAew3/f30VoH98FgC44fYAtN/2rLXe + 8/2LtMr8XIql/l2Tsv5qosL/Y5e1/9LZ3P/r6un/5ubn/+fn5//n5+f/5ubm/+fn5//m5+f/5+bl/+jr + 8v/g0rH/0KM3/+Xi2v/q8f//5ubk/9/Qq//dyp3/4djA/+nv+//Vsl3/2Lt0/+nt9v/m5uT/5ubn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5ubm/+bm5//s6un/e5qt/1SDn/9WgZr+TnSI/mdzOvuBfQv9g4AToIR/ + DQCTv9YAoMvjsXSivP9akK75aqTF/m6oyf9rpcf+Zpu6/9Pa3v/r6un/5ubm/+fn5//m5ub/5+fn/+fn + 5//n5ub/5+fn/+fm5f/o7PT/3MeU/9GmPv/f0a//5+ns/+rw/v/q8P//5+jr/9e6c//Rp0P/5uXi/+fo + 6f/n5ub/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+bm5v/s6un/fZ6w/1aIpf5hkaz/XIyp/lB9 + n/hZdWX/a41/pWuHagBkn78BaKLDLGejxb9zsNP/cK3Q/26rzv1uq87/aaHB/tPa3v7r6ej/5ebm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/l5eT/5+z0/9/Ttf/Tr1b/069W/9W1Zv/Us2D/0alH/9W1 + aP/l497/5ujs/+Xm5f/m5ub/5ubm/+bm5v/m5ub/5ebm/+Xm5v/l5ub/5ubm/+Xm5v/r6uj+f6G1/lmO + rf9ilbL9YZSx/2OVsP9kk7O7WIquKFiKrgGExukBgbzdAIS93gF/udp5fLfY+HSz1v9xsdX7a6bH/tre + 4P/y7er+7Ono/+3q6P/t6uj/7ero/+3q6P/t6uj/7ero/+3q6P/t6uj/7enm/+7u8//u7vH/6uDN/+fW + tP/n17b/6+PW/+/w9//u7Oz/7ern/+3r6f/t6un/7uvp/+3r6f/t6+n/7evp/+3r6f/u6+n/7uvp/+3r + 6f707+v/g6a6/lyTtPtonbr/bqC89nGhvXWJssgAc6O/AHChtAB3ttkA5fn/AYnB4ACIwuIAi8PiMoXA + 4Ml8u97/cbDT/4iyyv2Ns8j/jLLH/ouyx/+Lscb/i7DG/4uwxf+KsMX/irDF/4qvxP+KrsP/iq/D/4mu + wf+JrcL/ia3C/4mtwv+JrcL/ia3C/4irvv+Iq77/iKu//4eqvv+Hqr7/h6q9/4epvf+Hqb3/hqm8/4ao + vP+GqLv+hqi6/oWnuv+HqLv9bJ25/22jwv97q8fFgK/KLn6uyQBwo8EA////AWeZtwB0s9UAh7/dAIfA + 3wCOyOcDj8jnAJLK6QSNx+eChsLk/nG12/9rsNb7a7DW/muw1f9rr9T+aq7U/2qt0/9qrdL/aazR/2mr + 0f9pq9D/aKrP/2ipzv9nqc3/ZqjL/2anyv9mpsn/ZabJ/2alyf9lpcj/ZKTI/2Wkx/9ko8b/Y6LF/2Oi + xP9jocT/Y6DD/2Kgwv5in8L/YZ7A/mCdv/tkn8H/d6zK/IS10X+GttIChLTQAIS10ANvosAAeanDAGWX + tAAAAAAAAAAAAIfA4ACMxuUAp9z9AZTM7ACTzewAl8/tOpLN7dKDxvD/fMLo/nvB6P18wef/e8Dm/nvA + 5v56v+X/er7k/3q+4/95veL/ebzh/3m84f94u+D/eLrf/3i63v93ud3/d7nd/3a43P92t9v/drfa/3W2 + 2f91tdn/dbTY/3S01/90s9b+dLPW/nOy1f9ysNP9crDT/ny11v+KvNnOj7/bNoy+2gCHutYAkcTkAYGy + zQB2p8MAAAAAAAAAAAAAAAAAAAAAAAAAAACLxeQAk8vrAJPM6wCa0vADmdDuAJrR7wmm1tCOjsvt/4DF + 6v97wun8fcPq/33D6v98w+n+fMLo/3vC6P97wej/e8Hn/3rA5v96v+b/eb/l/3m+5P95veP/eL3i/3i8 + 4v94u+H/d7vg/3e63/93ut7/drnd/3a43f52t9z/dLbb/3O12vx4t9r/hb7d/5DE4ImSxeIHkcTgAJDD + 3wOGudUAh7jUAIGxzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJPM7ACY0e8AnNL1AZnR + 7wCp2NQAn9PvQ5nQ7tiPz/L/gsXr/IDF6/2Bxuv/gMXr/oDF6/5/xev/f8Tr/37F6/9+xOr/fcTq/33E + 6v98w+r/fMPp/3zC6P97wej/e8Hn/3rA5/96wOb+er/l/nm/5P93veP9eL3j/IPC5P+RyObVl8voPpXK + 5wCSx+UAk9LyAY7B3gCGudUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACX0O4AmtHwAJbP7gCUzv8DodTwAKPV8A+Ou9SXlc7u/4jI7P+Exuv8hcfs/4XH7P+Ex+v+g8br/4PG + 6/+Cxuv/gsXr/4HG6/+Bxev/gMXr/4DF6/9/xev/f8Tq/37E6/5+xOv/fcPq/3vC6vx/xOr/jMrr/5fP + 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 + AAA= + + + \ No newline at end of file diff --git a/Logbuch/Logbuch/Logbuch/frmPolice.vb b/Logbuch/Logbuch/Logbuch/frmPolice.vb new file mode 100644 index 0000000..d28da01 --- /dev/null +++ b/Logbuch/Logbuch/Logbuch/frmPolice.vb @@ -0,0 +1,713 @@ +Imports System.Text.RegularExpressions + +Public Class frmPolice + 'Angepasst 20171126 + Dim m_key As Integer + Property Policenr As Integer + Get + Return m_key + End Get + Set(value As Integer) + m_key = value + End Set + End Property + + Dim data As New DataTable + Dim Sachbearbeiter As New DataTable + Dim Standardbemerkung As New DataTable + Dim Gegenpartei As New DataTable + Dim daten As New DataTable + Dim db As New clsdbhandling + Dim FormReadonly As Boolean = False + Dim FormDataChanged As Boolean = False + Dim madaten As New DataTable + + +#Region "Closing / Check_Changes" + + ''' + ''' Schliessen des Formulars + ''' + ''' + ''' + ''' + Private Sub ClosingForm(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing + + If Check_Changes() = False Then + e.Cancel = True + Else + + Me.Dispose() + End If + End Sub + + ''' + ''' Prüfung, ob Datenänderungen vorgenommen wurden. + ''' + ''' + Private Function Check_Changes(Optional ByVal reload As Boolean = False) As Boolean + If Me.FormReadonly Then Return True + Dim msgres As MsgBoxResult + If Me.FormDataChanged Then + msgres = MsgBox("Die Daten wurden verändert. Wollen Sie dies speichern?", vbYesNoCancel + vbQuestion) + Select Case msgres + Case MsgBoxResult.Yes + Save_Data() + Return True + Case MsgBoxResult.Cancel + Return False + Case MsgBoxResult.No + If reload = True Then + Me.Get_Data() + End If + Me.FormDataChanged = False + Return True + End Select + Else + Return True + End If + End Function + +#End Region + + +#Region "Eventhandler ChangeEreignisse" + ''' + ''' Allg Eventhandler für Chanage-Ereignise festlegen + ''' + ''' + ''' + Private Sub AddChanges(ByVal Container As Control) + Dim l As New List(Of Control) + Me.GetControl(Me, "*", l) + Dim evh As EventHandler = AddressOf ChangesMade + For Each c As Control In l + If TypeOf c Is TextBox Then + Dim ctl As TextBox = c + AddHandler ctl.TextChanged, evh + End If + If TypeOf c Is MaskedTextBox Then + Dim ctl As MaskedTextBox = c + AddHandler ctl.TextChanged, evh + End If + If TypeOf c Is ComboBox Then + Dim ctl As ComboBox = c + AddHandler ctl.SelectedValueChanged, evh + End If + If TypeOf c Is CheckBox Then + Dim ctl As CheckBox = c + AddHandler ctl.CheckedChanged, evh + End If + Next + + End Sub + ''' + ''' Envent-Handler für Change-Ereignisse + ''' + ''' + ''' + ''' + Private Sub ChangesMade(ByVal sender As Object, ByVal e As System.EventArgs) + Me.FormDataChanged = True + Dim objtype As System.Type = sender.GetType + If objtype.Name = "MaskedTextBox" Then + Dim o As MaskedTextBox = sender + If o.Text = "01.01.1900" Then o.Text = " . . " + End If + End Sub + + ''' + ''' Sucht in den Base-Controls sämtliche Controls mit dem Namen in "Key" (Wildcards * möglich) und listet + ''' die gefundnen Controls in der Liste L zur weiteren Bearbeitung + ''' + ''' Base-Contrlo (z.B. aktuelles Formular + ''' Schlüssel welcher gesucht werden soll + ''' Liste der gefundenen Objekte + ''' True wenn eines oder mehr Controls gefunden wurden, false wenn kein Control gefunden wurde. + ''' + ''' + Private Function GetControl(ByVal BaseControl As Control, ByVal Key As String, ByRef L As List(Of Control), Optional ByVal ReturnAtFirstElement As Boolean = False) As Boolean + If L Is Nothing Then L = New List(Of Control) + Dim Gut As Boolean + Dim ReturnFlag As Boolean = False + If Key IsNot Nothing Then Key = Key.ToLower + + If BaseControl.HasChildren = True Then + For Each ctl As Control In BaseControl.Controls + Gut = False + If Key Is Nothing Then + Gut = True + Else + If ctl.Name.Length >= Key.Length Then + Key = Key.ToLower + If Key.StartsWith("*") Then + If Key.Substring(1) = ctl.Name.ToLower.Substring(ctl.Name.Length - (Key.Length - 1), Key.Length - 1) Then Gut = True + ElseIf Key.EndsWith("*") Then + If Key.Substring(0, Key.Length - 1) = ctl.Name.ToLower.Substring(0, Key.Length - 1) Then Gut = True + Else + If Key = ctl.Name.ToLower Then Gut = True + End If + End If + End If + + If Gut = True Then + L.Add(ctl) + If ReturnAtFirstElement = True Then ReturnFlag = True + End If + If ReturnFlag = False Then + Call GetControl(ctl, Key, L) + End If + Next + End If + + If L.Count - 1 > -1 Then + Return True + Else + Return False + End If + End Function + + Private Sub dtPicker_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles _ + dtPickerDatum.Leave, dtPickerEingangSB.Leave, dtpickerGemahntEmpfangsschein2.Leave, dtpickerGemahntSchuldbrief1.Leave, dtpickerGemahntEmpfangsschein1.Leave, dtpickerGemahntSchuldbrief2.Leave, + dtpickerMahnungEmpfangsschein1.Leave, dtpickerMahnungEmpfangsschein2.Leave, dtpickermahnungSchuldbrief2.Leave, dtpickerMahnungSchuldbrief1.Leave, + dtpickerTerminEmpfangsschein.Leave, dtpickerTerminSchuldbrief.Leave, dtPickerEingangSB.Leave + If OnLoad Then Exit Sub + Dim s As String + Dim obj As DateTimePicker = sender + s = obj.Name + 'Check_Datum(Me.Vertragselement.iVertragselementnr.Value, obj.Value, obj.Name) + End Sub + + ''' + ''' Handelt das Change-Ereignis eines Datetimepckers und stellt das ausgewählte Datum in das entsprechende Textfeld + ''' + ''' + ''' + ''' + Private Sub DateTimePicker_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _ + dtPickerDatum.ValueChanged, dtPickerEingangSB.ValueChanged, dtpickerGemahntEmpfangsschein2.ValueChanged, dtpickerGemahntSchuldbrief1.ValueChanged, dtpickerGemahntEmpfangsschein1.ValueChanged, dtpickerGemahntSchuldbrief2.ValueChanged, + dtpickerMahnungEmpfangsschein1.ValueChanged, dtpickerMahnungEmpfangsschein2.ValueChanged, dtpickermahnungSchuldbrief2.ValueChanged, dtpickerMahnungSchuldbrief1.ValueChanged, + dtpickerTerminEmpfangsschein.ValueChanged, dtpickerTerminSchuldbrief.ValueChanged, dtPickerEingangSB.ValueChanged + If OnLoad Then Exit Sub + Dim s As String + Dim obj As DateTimePicker = sender + s = obj.Name + s = "txt" + s.Substring(8, s.Length - 8) + Dim l As New List(Of Control) + Dim txtb As MaskedTextBox + GetControl(Me, s, l) + For Each ctl As Control In l + txtb = CType(ctl, MaskedTextBox) + txtb.Text = obj.Value + Next + + + End Sub + +#End Region + + Dim OnLoad As Boolean = False + Dim Isnew As Boolean = False + Private Sub frmSchuldbrief_Load(sender As Object, e As EventArgs) Handles MyBase.Load + If Me.Policenr = -1 Then + Dim data As New DataTable + data = db.Insert_New_Entry("Policen") + Me.Policenr = data.Rows(0).Item(0) + Me.txtDatum.Text = Now.ToShortDateString + Me.txtPartnernr.Select() + Isnew = True + End If + AddChanges(Me) + Get_Data() + Me.FormDataChanged = False + If Globals.Userdaten.Rows(0).Item("Policen_bearbeiten") = False Then + Me.tsbtensave.Enabled = False + Me.tsbtndelete.Enabled = False + Me.FormReadonly = True + End If + + OnLoad = True + + Me.dtPickerDatum.Value = DateTime.Now.ToShortDateString + Me.dtPickerEingangSB.Value = DateTime.Now.ToShortDateString + Me.dtpickerGemahntEmpfangsschein1.Value = DateTime.Now.ToShortDateString + Me.dtpickerGemahntEmpfangsschein2.Value = DateTime.Now.ToShortDateString + Me.dtpickerGemahntSchuldbrief1.Value = DateTime.Now.ToShortDateString + Me.dtpickerGemahntSchuldbrief2.Value = DateTime.Now.ToShortDateString + Me.dtpickerMahnungEmpfangsschein1.Value = DateTime.Now.ToShortDateString + Me.dtpickerMahnungEmpfangsschein2.Value = DateTime.Now.ToShortDateString + Me.dtpickerMahnungSchuldbrief1.Value = DateTime.Now.ToShortDateString + Me.dtpickermahnungSchuldbrief2.Value = DateTime.Now.ToShortDateString + Me.dtpickerTerminEmpfangsschein.Value = DateTime.Now.ToShortDateString + Me.dtpickerTerminSchuldbrief.Value = DateTime.Now.ToShortDateString + + Me.dtPickerDatum.ResetText() + Me.dtPickerEingangSB.ResetText() + Me.dtpickerGemahntEmpfangsschein1.ResetText() + Me.dtpickerGemahntEmpfangsschein2.ResetText() + Me.dtpickerGemahntSchuldbrief1.ResetText() + Me.dtpickerGemahntSchuldbrief2.ResetText() + Me.dtpickerMahnungEmpfangsschein1.ResetText() + Me.dtpickerMahnungEmpfangsschein2.ResetText() + Me.dtpickerMahnungSchuldbrief1.ResetText() + Me.dtpickermahnungSchuldbrief2.ResetText() + Me.dtpickerTerminEmpfangsschein.ResetText() + Me.dtpickerTerminSchuldbrief.ResetText() + + If Isnew Then Me.txtDatum.Text = Now.ToShortDateString + OnLoad = False + End Sub + + Sub Get_Data() + madaten = db.Fill_Combobox1(cbboxSachbearbeiter, "select nrbenutzer as id, isnull(name+' '+vorname+','+tgnummer,'') as bezeichnung, kurzzeichen, tgnummer from benutzer where aktiv=1 order by name, vorname", False, True) + db.Fill_Combobox(cbboxstandardbemerkung, "select bemerkungsnr as id, isnull(bemerkung,'') as bezeichnung from bemerkungen order by bemerkung", False, True) + db.Fill_Combobox(cbboxGegenpartei, "Select Gegenparteinr as id, isnull(bezeichnung,'') as bezeichnung from gegenpartei order by bezeichnung", False, True) + db.Fill_Combobox(cbboxversgesellschaft, "Select VersgesellschaftId as id, Bezeichnung from versgesellschaften where aktiv=1 order by bezeichnung", False, True) + daten = db.Get_Tabledata("select * from policen where policeid = " & Me.Policenr.ToString, False, True) + Update_DatetimePicker(Me.dtPickerDatum, "datum") + Me.txtPartnernr.Text = Getdata("Partnernr") + Refresh_Kurzname() + + Me.cbboxSachbearbeiter.SelectedValue = Getdata("MitarbeiterNr") + Me.cbboxstandardbemerkung.SelectedValue = Getdata("stdbemerkung") + Me.cbboxGegenpartei.SelectedValue = Getdata("Gegenpartei") + Me.cbboxversgesellschaft.SelectedValue = Getdata("VersgesellschaftId") + Me.txtNominal.Text = Getdata("Nominal") + format_Currency() + Me.cbeuro.Checked = Getdata("euro") = "1" + Me.txtPolicenNr.Text = Getdata("PolicenNummer") + 'Me.cbschuldbrief.Checked = Getdata("schuldbrief") = "1" + 'Me.cbgrundpfandverschreibung.Checked = Getdata("grundpfandverschreibung") = "1" + 'Me.cbpfandbrief.Checked = Getdata("Pfandbrief") = "1" + Me.cbprovauslieferung.Checked = Getdata("provauslieferung") = "1" + Me.cbdevauslieferung.Checked = Getdata("defauslieferung") = "1" + Me.cbneugeschäft.Checked = Getdata("Neugeschaeft") = "1" + Me.cbtitelvorhanden.Checked = Getdata("TitelVorhanden") = "1" + Me.cbeinlieferung.Checked = Getdata("einlieferung") = "1" + Me.cbempfangsscheinerhalten.Checked = Getdata("empfangsschein_erhalten") = "1" + Me.cberledigt.Checked = Getdata("erledigt") = "1+" + Me.cbaktiv.Checked = Getdata("aktiv") = "1" + Update_DatetimePicker(Me.dtpickerTerminEmpfangsschein, "termin") + Update_DatetimePicker(Me.dtpickerTerminSchuldbrief, "termin2") + Update_DatetimePicker(Me.dtpickerMahnungEmpfangsschein1, "faellig1") + Update_DatetimePicker(Me.dtpickerMahnungEmpfangsschein2, "faellig2") + Update_DatetimePicker(Me.dtpickerGemahntEmpfangsschein1, "mahndatum11") + Update_DatetimePicker(Me.dtpickerGemahntEmpfangsschein2, "mahndatum12") + + Update_DatetimePicker(Me.dtpickerMahnungSchuldbrief1, "faellig3") + Update_DatetimePicker(Me.dtpickermahnungSchuldbrief2, "faellig4") + Update_DatetimePicker(Me.dtpickerGemahntSchuldbrief1, "mahndatum21") + Update_DatetimePicker(Me.dtpickerGemahntSchuldbrief2, "mahndatum22") + + Update_DatetimePicker(Me.dtPickerEingangSB, "eingangPolice") + + Me.txtbemerkung.Text = Getdata("Bemerkung") + + End Sub + + Sub Save_Data() + Update_Table("Datum", txtDatum.Text) + Update_Table("Partnernr", txtPartnernr.Text.ToString.Replace(".", "")) + Update_Table("Mitarbeiternr", cbboxSachbearbeiter.SelectedValue) + Update_Table("stdbemerkung", cbboxstandardbemerkung.SelectedValue) + Update_Table("Gegenpartei", cbboxGegenpartei.SelectedValue) + Update_Table("Versgesellschaftid", cbboxversgesellschaft.SelectedValue) + + Dim s As String + s = Me.txtNominal.Text.Replace(My.Settings.Waehrung, "") + s = s.Replace("€", "") + s = Regex.Replace(s, My.Settings.NumRegex, "") + Update_Table("Nominal", s) + Update_Table("Euro", cbeuro.Checked = True) + Update_Table("PolicenNummer", txtPolicenNr.Text) + 'Update_Table("schuldbrief", cbschuldbrief.Checked = True) + 'Update_Table("grundpfandverschreibung", Me.cbgrundpfandverschreibung.Checked = True) + Update_Table("ProvAuslieferung", Me.cbprovauslieferung.Checked = True) + Update_Table("defauslieferung", Me.cbdevauslieferung.Checked = True) + Update_Table("neugeschaeft", Me.cbneugeschäft.Checked = True) + Update_Table("TitelVorhanden", Me.cbtitelvorhanden.Checked = True) + Update_Table("einlieferung", Me.cbeinlieferung.Checked = True) + Update_Table("empfangsschein_erhalten", Me.cbempfangsscheinerhalten.Checked = True) + Update_Table("erledigt", Me.cberledigt.Checked = True) + Update_Table("aktiv", Me.cbaktiv.Checked = True) + + Update_Table("Termin", Me.txtTerminEmpfangsschein.Text) + Update_Table("termin", Me.txtTerminEmpfangsschein.Text) + Update_Table("termin2", Me.txtTerminSchuldbrief.Text) + Update_Table("faellig1", Me.txtMahnungEmpfangsschein1.Text) + Update_Table("faellig2", Me.txtMahnungEmpfangsschein2.Text) + Update_Table("mahndatum11", Me.txtGemahntEmpfangsschein1.Text) + Update_Table("mahndatum12", Me.txtGemahntEmpfangsschein2.Text) + + Update_Table("faellig3", Me.txtMahnungSchuldbrief1.Text) + Update_Table("faellig4", Me.txtmahnungSchuldbrief2.Text) + Update_Table("mahndatum21", Me.txtGemahntSchuldbrief1.Text) + Update_Table("mahndatum22", Me.txtGemahntSchuldbrief2.Text) + + Update_Table("eingangPolice", Me.txtEingangSB.Text) + + Update_Table("Bemerkung", Me.txtbemerkung.Text) + Update_Table("mutationsdatum", Now) + Update_Table("Mutierer", Globals.Userdaten.Rows(0).Item(0)) + db.updatedata("select * from policen where policeid = " & Me.Policenr.ToString, daten, False, True) + Me.FormDataChanged = False + End Sub + + Sub Update_Table(ByVal Tag As String, ByVal Val As Object) + Try + Try + If Val = " . ." Then + Val = "1900-01-01" + End If + ' Val = Val.ToString.Replace(".", "") + 'Val = Trim(Val) + daten.Rows(0).Item(Tag) = Val + Catch + End Try + + daten.Rows(0).Item(Tag) = Val + + Catch + End Try + + + End Sub + Public Sub Update_DatetimePicker(ByRef dtpicker As System.Windows.Forms.DateTimePicker, ByVal field As String) + Try + dtpicker.Value = Getdata(field) + Catch + dtpicker.Value = "01.01.1900" + End Try + + End Sub + Function Getdata(tag As String) As Object + Dim s As Object + s = daten.Rows(0).Item(tag) + + If s Is System.DBNull.Value Then + s = "" + If daten.Columns(0).DataType = GetType(DateTime) Then s = "01.01.1900" + End If + + Return s + End Function + + + + Private Sub tsbtensave_Click(sender As Object, e As EventArgs) Handles tsbtensave.Click + Save_Data() + End Sub + + Private Sub tsbtnexit_Click(sender As Object, e As EventArgs) Handles tsbtnexit.Click + Me.Close() + End Sub + + Private Sub txtNominal_TextChanged(sender As Object, e As EventArgs) Handles txtNominal.Leave + format_Currency() + End Sub + Sub format_Currency() + Dim dec As Decimal + If Decimal.TryParse(txtNominal.Text, System.Globalization.NumberStyles.Currency, Nothing, dec) Then + txtNominal.Text = dec.ToString("C") + If Me.cbeuro.Checked Then Me.txtNominal.Text = Me.txtNominal.Text.Replace(My.Settings.Waehrung, "€") + + End If + Exit Sub + + End Sub + + Private Sub cbeuro_CheckedChanged(sender As Object, e As EventArgs) Handles cbeuro.CheckedChanged + If Me.cbeuro.Checked Then + Me.txtNominal.Text = txtNominal.Text.Replace(My.Settings.Waehrung, "€") + + End If + If Me.cbeuro.Checked = False Then + Me.txtNominal.Text = txtNominal.Text.Replace("€", My.Settings.Waehrung) + End If + End Sub + + Sub Refresh_Kurzname() + Try + data = db.Get_Tabledata("Select bkpar00 from partner where nrpar00=" & txtPartnernr.Text.ToString.Replace(".", ""), False, True) + If data.Rows.Count < 1 And txtPartnernr.Text <> "0" And txtPartnernr.Text <> "" Then + MsgBox("Der eingegebene Partner " + Me.txtPartnernr.Text + " ist nicht vorhanden.", vbExclamation) + Exit Sub + End If + Me.txtKurzname.Text = data.Rows(0).Item(0) + Catch + End Try + Try + Dim s As String = Me.txtPartnernr.Text.Replace(".", "") + s = s.Trim + s = Microsoft.VisualBasic.Left(s, Len(s) - 4) + "." + Microsoft.VisualBasic.Right(s, 4) + Me.txtPartnernr.Text = s + Catch ex As Exception + + End Try + End Sub + + Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click + Dim f As New frmPartnersuche + f.ShowDialog() + + If f.DialogResult = DialogResult.OK Then + Me.txtPartnernr.Text = f.PartnerNr + Refresh_Kurzname() + End If + + End Sub + + Private Sub tsbtndelete_Click(sender As Object, e As EventArgs) Handles tsbtndelete.Click + If MsgBox("Datensatz wirklich löschen?", vbYesNo + vbQuestion) = vbYes Then + Update_Table("mutationsdatum", Now) + Update_Table("Mutierer", Globals.Userdaten.Rows(0).Item(0)) + Update_Table("Aktiv", False) + db.updatedata("select * from logbuch where nreintrag = " & Me.Policenr.ToString, daten, False, True) + Me.FormDataChanged = False + Me.Close() + End If + + End Sub + + Private Sub txtPartnernr_Leave(sender As Object, e As EventArgs) Handles txtPartnernr.Leave + Refresh_Kurzname() + End Sub + + Private Sub cbboxSachbearbeiter_Leave(sender As Object, e As EventArgs) Handles cbboxSachbearbeiter.Leave + If Me.cbboxSachbearbeiter.SelectedValue Is Nothing Then + For Each r As DataRow In madaten.Rows + Try + If UCase(r("Kurzzeichen")) = UCase(Me.cbboxSachbearbeiter.Text) Or UCase(r("Tgnummer")) = UCase(Me.cbboxSachbearbeiter.Text) Then + Me.cbboxSachbearbeiter.SelectedValue = r.Item(0) + End If + Catch + End Try + + Next + End If + For i As Integer = 0 To Me.cbboxSachbearbeiter.Items.Count - 1 + Dim x As ComboboxItem = Me.cbboxSachbearbeiter.Items(i) + If UCase(Me.cbboxSachbearbeiter.Text) = UCase(x.Bezeichnung.ToString) Then Exit Sub + + Next + MsgBox("Eingegebne Sachbearbeiter ist nicht vohrnaden. Bitte korrigieren", vbExclamation) + Me.cbboxSachbearbeiter.SelectAll() + Me.cbboxSachbearbeiter.Select() + End Sub + + Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click + If MsgBox("Alle erfassten Termine löschen?", vbYesNo + vbQuestion) = vbYes Then + Me.txtTerminEmpfangsschein.Text = "" + Me.txtTerminSchuldbrief.Text = "" + Me.txtMahnungSchuldbrief1.Text = "" + Me.txtmahnungSchuldbrief2.Text = "" + Me.txtMahnungEmpfangsschein1.Text = "" + Me.txtMahnungEmpfangsschein2.Text = "" + Me.txtGemahntEmpfangsschein1.Text = "" + Me.txtGemahntEmpfangsschein2.Text = "" + Me.txtGemahntSchuldbrief1.Text = "" + Me.txtGemahntSchuldbrief2.Text = "" + End If + End Sub + + Private Sub cbprovauslieferung_Click(sender As Object, e As EventArgs) Handles cbprovauslieferung.Click + If cbprovauslieferung.Checked And cbdevauslieferung.Checked Then + cbdevauslieferung.Checked = False + End If + 'If cbprovauslieferung.Checked Then + ' cbdevauslieferung.Checked = False + 'Else + ' cbdevauslieferung.Checked = True + 'End If + Update_Datum() + End Sub + Private Sub cbpdevauslieferung_Click(sender As Object, e As EventArgs) Handles cbdevauslieferung.Click + If cbdevauslieferung.Checked And cbprovauslieferung.Checked Then + cbprovauslieferung.Checked = False + End If + 'If cbdevauslieferung.Checked Then + ' cbprovauslieferung.Checked = False + 'Else + ' cbprovauslieferung.Checked = True + 'End If + Update_Datum() + End Sub + + + Private Sub cbschuldbrief_Click(sender As Object, e As EventArgs) Handles cbschuldbrief.Click + If cbschuldbrief.Checked Then + cbgrundpfandverschreibung.Checked = False + Else + cbgrundpfandverschreibung.Checked = True + End If + + End Sub + Private Sub cbgrundpfandverschreibung_Click(sender As Object, e As EventArgs) Handles cbgrundpfandverschreibung.Click + If cbgrundpfandverschreibung.Checked Then + cbschuldbrief.Checked = False + Else + cbschuldbrief.Checked = True + End If + + End Sub + Sub Update_Datum() + If Me.cbprovauslieferung.Checked = True Then + If Me.txtTerminEmpfangsschein.Text = " . ." Then + Me.txtTerminEmpfangsschein.Text = Now.ToShortDateString + Me.txtMahnungEmpfangsschein1.Text = DateAdd(DateInterval.Day, Globals.Applikationsdaten.Rows(0).Item("esmahnfrist1"), Now).ToShortDateString + Me.txtMahnungEmpfangsschein2.Text = DateAdd(DateInterval.Day, Globals.Applikationsdaten.Rows(0).Item("esmahnfrist1") + Globals.Applikationsdaten.Rows(0).Item("esmahnfrist2"), Now).ToShortDateString + End If + If Me.txtTerminSchuldbrief.Text = " . ." Then + Me.txtTerminSchuldbrief.Text = Now.ToShortDateString + Me.txtMahnungSchuldbrief1.Text = DateAdd(DateInterval.Day, Globals.Applikationsdaten.Rows(0).Item("sbmahnfrist1"), Now).ToShortDateString + Me.txtmahnungSchuldbrief2.Text = DateAdd(DateInterval.Day, Globals.Applikationsdaten.Rows(0).Item("sbmahnfrist1") + Globals.Applikationsdaten.Rows(0).Item("sbmahnfrist2"), Now).ToShortDateString + End If + Exit Sub + End If + If Me.cbdevauslieferung.Checked = True Then + If Me.txtTerminEmpfangsschein.Text = " . ." Then + Me.txtTerminEmpfangsschein.Text = Now.ToShortDateString + Me.txtMahnungEmpfangsschein1.Text = DateAdd(DateInterval.Day, Globals.Applikationsdaten.Rows(0).Item("esmahnfrist1"), Now).ToShortDateString + Me.txtMahnungEmpfangsschein2.Text = DateAdd(DateInterval.Day, Globals.Applikationsdaten.Rows(0).Item("esmahnfrist1") + Globals.Applikationsdaten.Rows(0).Item("esmahnfrist2"), Now).ToShortDateString + End If + + End If + 'If Me.cbdevauslieferung.Checked = True Then + ' If Me.txtTerminEmpfangsschein.Text = " . ." Then + ' Me.txtTerminEmpfangsschein.Text = Now.ToShortDateString + ' Me.txtMahnungEmpfangsschein1.Text = DateAdd(DateInterval.Day, Globals.Applikationsdaten.Rows(0).Item("esmahnfrist1"), Now).ToShortDateString + ' Me.txtMahnungEmpfangsschein2.Text = DateAdd(DateInterval.Day, Globals.Applikationsdaten.Rows(0).Item("esmahnfrist1") + Globals.Applikationsdaten.Rows(0).Item("esmahnfrist2"), Now).ToShortDateString + ' End If + + 'End If + + End Sub + + Private Sub cbtitelvorhanden_CheckedChanged(sender As Object, e As EventArgs) Handles cbtitelvorhanden.CheckedChanged + If cbtitelvorhanden.Checked = True Then + Me.txtTerminSchuldbrief.Text = "" + Me.txtMahnungSchuldbrief1.Text = "" + Me.txtmahnungSchuldbrief2.Text = "" + + End If + End Sub + + Private Sub cbempfangsscheinerhalten_CheckedChanged(sender As Object, e As EventArgs) Handles cbempfangsscheinerhalten.CheckedChanged + If cbempfangsscheinerhalten.Checked = True Then + Me.txtTerminEmpfangsschein.Text = "" + Me.txtMahnungEmpfangsschein1.Text = "" + Me.txtMahnungEmpfangsschein2.Text = "" + End If + End Sub + + Private Sub cberledigt_CheckedChanged(sender As Object, e As EventArgs) Handles cberledigt.CheckedChanged + If Me.cberledigt.Checked = True Then + Me.txtEingangSB.Select() + 'If Me.txtEingangSB.Text = " . ." Then Me.txtEingangSB.Text = Now.ToShortDateString + End If + + End Sub + + 'Private Sub cbboxgegenpartei_Leave(sender As Object, e As EventArgs) Handles cbboxGegenpartei.Leave + ' For i As Integer = 0 To Me.cbboxGegenpartei.Items.Count - 1 + ' Dim x As ComboboxItem = Me.cbboxGegenpartei.Items(i) + ' If UCase(Me.cbboxGegenpartei.Text) = UCase(x.Bezeichnung.ToString) Then Exit Sub + + ' Next + ' MsgBox("Eingegebne Gegenpartei ist nicht vorhanden. Bitte korrigieren", vbExclamation) + ' Me.cbboxGegenpartei.SelectAll() + ' Me.cbboxGegenpartei.Select() + 'End Sub + + 'Private Sub cbboxversgesellschaft_Leave(sender As Object, e As EventArgs) Handles cbboxversgesellschaft.Leave + ' For i As Integer = 0 To Me.cbboxversgesellschaft.Items.Count - 1 + ' Dim x As ComboboxItem = Me.cbboxversgesellschaft.Items(i) + ' If UCase(Me.cbboxversgesellschaft.Text) = UCase(x.Bezeichnung.ToString) Then Exit Sub + + ' Next + ' MsgBox("Eingegebne Versicherungsgesellschaft ist nicht vorhanden. Bitte korrigieren", vbExclamation) + ' Me.cbboxversgesellschaft.SelectAll() + ' Me.cbboxversgesellschaft.Select() + 'End Sub + + 'Private Sub cbboxstandardbemerkung_Leave(sender As Object, e As EventArgs) Handles cbboxstandardbemerkung.Leave + ' For i As Integer = 0 To Me.cbboxstandardbemerkung.Items.Count - 1 + ' Dim x As ComboboxItem = Me.cbboxstandardbemerkung.Items(i) + ' If UCase(Me.cbboxstandardbemerkung.Text) = UCase(x.Bezeichnung.ToString) Then Exit Sub + + ' Next + ' MsgBox("Eingegebne Standardbemerkung ist nicht vorhanden. Bitte korrigieren", vbExclamation) + ' Me.cbboxstandardbemerkung.SelectAll() + ' Me.cbboxstandardbemerkung.Select() + 'End Sub + + Private Sub txtPartnernr_TextChanged(sender As Object, e As EventArgs) Handles txtPartnernr.TextChanged + + End Sub + + Private Sub txtPartnernr_KeyDown(sender As Object, e As KeyEventArgs) Handles txtPartnernr.KeyDown + If e.KeyCode = Keys.Enter Then Me.txtPartnernr_Leave(sender, e) + End Sub + + Private Sub cbprovauslieferung_CheckedChanged(sender As Object, e As EventArgs) Handles cbprovauslieferung.CheckedChanged + + End Sub + + Private Sub cbdevauslieferung_CheckedChanged(sender As Object, e As EventArgs) Handles cbdevauslieferung.CheckedChanged + + End Sub + + Private Sub txtEingangSB_KeyDown(sender As Object, e As KeyEventArgs) Handles txtEingangSB.KeyDown + If e.KeyCode = Keys.Enter Then + If Me.txtEingangSB.Text = " . ." Then + Me.txtEingangSB.Text = Now + End If + End If + End Sub + + + + Sub insert_new_Type(ByVal Typ As String) + Dim s As String + Dim cbo As New ComboBox + s = InputBox("Neuer Eintrag eingeben: " + Typ, "Neuer Eintrag erfassen") + If s <> "" Then + db.insert_stammdaten(Typ, s) + Select Case Typ + Case "VersGesellschaft" + db.Fill_Combobox(cbboxversgesellschaft, "Select VersgesellschaftId as id, Bezeichnung from versgesellschaften where aktiv=1 order by bezeichnung", False, True) + cbo = cbboxversgesellschaft + Case "Gegenpartei" + db.Fill_Combobox(cbboxGegenpartei, "Select Gegenparteinr as id, isnull(bezeichnung,'') as bezeichnung from gegenpartei order by bezeichnung", False, True) + cbo = cbboxGegenpartei + Case "StdBemerkung" + db.Fill_Combobox(cbboxstandardbemerkung, "select bemerkungsnr as id, isnull(bemerkung,'') as bezeichnung from bemerkungen order by bemerkung", False, True) + cbo = cbboxstandardbemerkung + End Select + + For i = 0 To cbo.Items.Count - 1 + cbo.SelectedIndex = i + If cbo.Text = s Then + cbo.SelectedIndex = i + Exit For + End If + Next + End If + End Sub + + Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click + insert_new_Type("Gegenpartei") + End Sub + + Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click + insert_new_Type("StdBemerkung") + End Sub + + Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click + insert_new_Type("VersGesellschaft") + End Sub + + Private Sub txtPolicenNr_TextChanged(sender As Object, e As EventArgs) Handles txtPolicenNr.Leave + Me.txtPolicenNr.Text = UCase(txtPolicenNr.Text) + End Sub +End Class \ No newline at end of file diff --git a/Logbuch/Logbuch/Logbuch/frmSchuldbrief.Designer.vb b/Logbuch/Logbuch/Logbuch/frmSchuldbrief.Designer.vb new file mode 100644 index 0000000..faf12f4 --- /dev/null +++ b/Logbuch/Logbuch/Logbuch/frmSchuldbrief.Designer.vb @@ -0,0 +1,1010 @@ + +Partial Class frmSchuldbrief + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmSchuldbrief)) + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.tsbtnexit = New System.Windows.Forms.ToolStripButton() + Me.tsbtensave = New System.Windows.Forms.ToolStripButton() + Me.tsbtndelete = New System.Windows.Forms.ToolStripButton() + Me.GroupBox1 = New System.Windows.Forms.GroupBox() + Me.Button2 = New System.Windows.Forms.Button() + Me.cbboxGrundbuch = New System.Windows.Forms.ComboBox() + Me.lblGrundbuch = New System.Windows.Forms.Label() + Me.txtLSNr = New System.Windows.Forms.TextBox() + Me.Label19 = New System.Windows.Forms.Label() + Me.btnPartner = New System.Windows.Forms.Button() + Me.txtNominal = New System.Windows.Forms.TextBox() + Me.dtPickerDatum = New System.Windows.Forms.DateTimePicker() + Me.cbboxRang = New System.Windows.Forms.ComboBox() + Me.txtDatum = New System.Windows.Forms.MaskedTextBox() + Me.Label6 = New System.Windows.Forms.Label() + Me.cbboxSachbearbeiter = New System.Windows.Forms.ComboBox() + Me.txtKurzname = New System.Windows.Forms.TextBox() + Me.txtPartnernr = New System.Windows.Forms.TextBox() + Me.Label5 = New System.Windows.Forms.Label() + Me.cbeuro = New System.Windows.Forms.CheckBox() + Me.Label4 = New System.Windows.Forms.Label() + Me.Label3 = New System.Windows.Forms.Label() + Me.Label2 = New System.Windows.Forms.Label() + Me.Label1 = New System.Windows.Forms.Label() + Me.GrpStatus = New System.Windows.Forms.GroupBox() + Me.dtPickerEingangSB = New System.Windows.Forms.DateTimePicker() + Me.Label7 = New System.Windows.Forms.Label() + Me.txtEingangSB = New System.Windows.Forms.MaskedTextBox() + Me.cberledigt = New System.Windows.Forms.CheckBox() + Me.cbempfangsscheinerhalten = New System.Windows.Forms.CheckBox() + Me.cbeinlieferung = New System.Windows.Forms.CheckBox() + Me.cbtitelvorhanden = New System.Windows.Forms.CheckBox() + Me.cbneugeschäft = New System.Windows.Forms.CheckBox() + Me.cbdevauslieferung = New System.Windows.Forms.CheckBox() + Me.cbprovauslieferung = New System.Windows.Forms.CheckBox() + Me.cbpfandbrief = New System.Windows.Forms.CheckBox() + Me.cbgrundpfandverschreibung = New System.Windows.Forms.CheckBox() + Me.cbschuldbrief = New System.Windows.Forms.CheckBox() + Me.GroupBox2 = New System.Windows.Forms.GroupBox() + Me.Button4 = New System.Windows.Forms.Button() + Me.Button3 = New System.Windows.Forms.Button() + Me.txtbemerkung = New System.Windows.Forms.TextBox() + Me.Label10 = New System.Windows.Forms.Label() + Me.cbboxstandardbemerkung = New System.Windows.Forms.ComboBox() + Me.Label9 = New System.Windows.Forms.Label() + Me.cbboxgegenpartei = New System.Windows.Forms.ComboBox() + Me.Label8 = New System.Windows.Forms.Label() + Me.GroupBox3 = New System.Windows.Forms.GroupBox() + Me.Button1 = New System.Windows.Forms.Button() + Me.dtpickerGemahntSchuldbrief2 = New System.Windows.Forms.DateTimePicker() + Me.txtGemahntSchuldbrief2 = New System.Windows.Forms.MaskedTextBox() + Me.dtpickerGemahntSchuldbrief1 = New System.Windows.Forms.DateTimePicker() + Me.txtGemahntSchuldbrief1 = New System.Windows.Forms.MaskedTextBox() + Me.dtpickermahnungSchuldbrief2 = New System.Windows.Forms.DateTimePicker() + Me.txtmahnungSchuldbrief2 = New System.Windows.Forms.MaskedTextBox() + Me.dtpickerMahnungSchuldbrief1 = New System.Windows.Forms.DateTimePicker() + Me.txtMahnungSchuldbrief1 = New System.Windows.Forms.MaskedTextBox() + Me.dtpickerTerminSchuldbrief = New System.Windows.Forms.DateTimePicker() + Me.txtTerminSchuldbrief = New System.Windows.Forms.MaskedTextBox() + Me.dtpickerGemahntEmpfangsschein2 = New System.Windows.Forms.DateTimePicker() + Me.txtGemahntEmpfangsschein2 = New System.Windows.Forms.MaskedTextBox() + Me.dtpickerGemahntEmpfangsschein1 = New System.Windows.Forms.DateTimePicker() + Me.txtGemahntEmpfangsschein1 = New System.Windows.Forms.MaskedTextBox() + Me.dtpickerMahnungEmpfangsschein2 = New System.Windows.Forms.DateTimePicker() + Me.txtMahnungEmpfangsschein2 = New System.Windows.Forms.MaskedTextBox() + Me.dtpickerMahnungEmpfangsschein1 = New System.Windows.Forms.DateTimePicker() + Me.txtMahnungEmpfangsschein1 = New System.Windows.Forms.MaskedTextBox() + Me.dtpickerTerminEmpfangsschein = New System.Windows.Forms.DateTimePicker() + Me.Label18 = New System.Windows.Forms.Label() + Me.txtTerminEmpfangsschein = New System.Windows.Forms.MaskedTextBox() + Me.Label17 = New System.Windows.Forms.Label() + Me.Label14 = New System.Windows.Forms.Label() + Me.Label15 = New System.Windows.Forms.Label() + Me.Label16 = New System.Windows.Forms.Label() + Me.Label13 = New System.Windows.Forms.Label() + Me.Label12 = New System.Windows.Forms.Label() + Me.Label11 = New System.Windows.Forms.Label() + Me.cbaktiv = New System.Windows.Forms.CheckBox() + Me.ToolStrip1.SuspendLayout() + Me.GroupBox1.SuspendLayout() + Me.GrpStatus.SuspendLayout() + Me.GroupBox2.SuspendLayout() + Me.GroupBox3.SuspendLayout() + Me.SuspendLayout() + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsbtnexit, Me.tsbtensave, Me.tsbtndelete}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 0) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(1023, 25) + Me.ToolStrip1.TabIndex = 1 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'tsbtnexit + ' + Me.tsbtnexit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtnexit.Image = CType(resources.GetObject("tsbtnexit.Image"), System.Drawing.Image) + Me.tsbtnexit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtnexit.Name = "tsbtnexit" + Me.tsbtnexit.Size = New System.Drawing.Size(23, 22) + Me.tsbtnexit.Text = "Schliessen" + ' + 'tsbtensave + ' + Me.tsbtensave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtensave.Image = CType(resources.GetObject("tsbtensave.Image"), System.Drawing.Image) + Me.tsbtensave.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtensave.Name = "tsbtensave" + Me.tsbtensave.Size = New System.Drawing.Size(23, 22) + Me.tsbtensave.Text = "Speichern" + ' + 'tsbtndelete + ' + Me.tsbtndelete.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtndelete.Image = CType(resources.GetObject("tsbtndelete.Image"), System.Drawing.Image) + Me.tsbtndelete.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtndelete.Name = "tsbtndelete" + Me.tsbtndelete.Size = New System.Drawing.Size(23, 22) + Me.tsbtndelete.Text = "Löschen" + ' + 'GroupBox1 + ' + Me.GroupBox1.Controls.Add(Me.Button2) + Me.GroupBox1.Controls.Add(Me.cbboxGrundbuch) + Me.GroupBox1.Controls.Add(Me.lblGrundbuch) + Me.GroupBox1.Controls.Add(Me.txtLSNr) + Me.GroupBox1.Controls.Add(Me.Label19) + Me.GroupBox1.Controls.Add(Me.btnPartner) + Me.GroupBox1.Controls.Add(Me.txtNominal) + Me.GroupBox1.Controls.Add(Me.dtPickerDatum) + Me.GroupBox1.Controls.Add(Me.cbboxRang) + Me.GroupBox1.Controls.Add(Me.txtDatum) + Me.GroupBox1.Controls.Add(Me.Label6) + Me.GroupBox1.Controls.Add(Me.cbboxSachbearbeiter) + Me.GroupBox1.Controls.Add(Me.txtKurzname) + Me.GroupBox1.Controls.Add(Me.txtPartnernr) + Me.GroupBox1.Controls.Add(Me.Label5) + Me.GroupBox1.Controls.Add(Me.cbeuro) + Me.GroupBox1.Controls.Add(Me.Label4) + Me.GroupBox1.Controls.Add(Me.Label3) + Me.GroupBox1.Controls.Add(Me.Label2) + Me.GroupBox1.Controls.Add(Me.Label1) + Me.GroupBox1.Location = New System.Drawing.Point(12, 28) + Me.GroupBox1.Name = "GroupBox1" + Me.GroupBox1.Size = New System.Drawing.Size(610, 198) + Me.GroupBox1.TabIndex = 2 + Me.GroupBox1.TabStop = False + Me.GroupBox1.Text = "Datum/Partner" + ' + 'Button2 + ' + Me.Button2.Location = New System.Drawing.Point(299, 156) + Me.Button2.Name = "Button2" + Me.Button2.Size = New System.Drawing.Size(21, 23) + Me.Button2.TabIndex = 20 + Me.Button2.TabStop = False + Me.Button2.Text = "N" + Me.Button2.UseVisualStyleBackColor = True + ' + 'cbboxGrundbuch + ' + Me.cbboxGrundbuch.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend + Me.cbboxGrundbuch.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems + Me.cbboxGrundbuch.FormattingEnabled = True + Me.cbboxGrundbuch.Location = New System.Drawing.Point(106, 156) + Me.cbboxGrundbuch.Name = "cbboxGrundbuch" + Me.cbboxGrundbuch.Size = New System.Drawing.Size(187, 21) + Me.cbboxGrundbuch.Sorted = True + Me.cbboxGrundbuch.TabIndex = 7 + ' + 'lblGrundbuch + ' + Me.lblGrundbuch.AutoSize = True + Me.lblGrundbuch.Location = New System.Drawing.Point(24, 156) + Me.lblGrundbuch.Name = "lblGrundbuch" + Me.lblGrundbuch.Size = New System.Drawing.Size(60, 13) + Me.lblGrundbuch.TabIndex = 19 + Me.lblGrundbuch.Text = "Grundbuch" + ' + 'txtLSNr + ' + Me.txtLSNr.Location = New System.Drawing.Point(106, 126) + Me.txtLSNr.Name = "txtLSNr" + Me.txtLSNr.Size = New System.Drawing.Size(187, 20) + Me.txtLSNr.TabIndex = 6 + ' + 'Label19 + ' + Me.Label19.AutoSize = True + Me.Label19.Location = New System.Drawing.Point(22, 129) + Me.Label19.Name = "Label19" + Me.Label19.Size = New System.Drawing.Size(37, 13) + Me.Label19.TabIndex = 18 + Me.Label19.Text = "LS-Nr." + ' + 'btnPartner + ' + Me.btnPartner.Image = CType(resources.GetObject("btnPartner.Image"), System.Drawing.Image) + Me.btnPartner.Location = New System.Drawing.Point(206, 44) + Me.btnPartner.Name = "btnPartner" + Me.btnPartner.Size = New System.Drawing.Size(27, 23) + Me.btnPartner.TabIndex = 17 + Me.btnPartner.TabStop = False + Me.btnPartner.UseVisualStyleBackColor = True + ' + 'txtNominal + ' + Me.txtNominal.Location = New System.Drawing.Point(106, 100) + Me.txtNominal.Name = "txtNominal" + Me.txtNominal.Size = New System.Drawing.Size(187, 20) + Me.txtNominal.TabIndex = 3 + Me.txtNominal.TextAlign = System.Windows.Forms.HorizontalAlignment.Right + ' + 'dtPickerDatum + ' + Me.dtPickerDatum.Location = New System.Drawing.Point(170, 18) + Me.dtPickerDatum.Name = "dtPickerDatum" + Me.dtPickerDatum.Size = New System.Drawing.Size(21, 20) + Me.dtPickerDatum.TabIndex = 15 + Me.dtPickerDatum.TabStop = False + ' + 'cbboxRang + ' + Me.cbboxRang.FormattingEnabled = True + Me.cbboxRang.Items.AddRange(New Object() {"1", "2", "3", "4", "5", "6"}) + Me.cbboxRang.Location = New System.Drawing.Point(417, 100) + Me.cbboxRang.Name = "cbboxRang" + Me.cbboxRang.Size = New System.Drawing.Size(76, 21) + Me.cbboxRang.TabIndex = 5 + ' + 'txtDatum + ' + Me.txtDatum.Location = New System.Drawing.Point(107, 18) + Me.txtDatum.Mask = "00/00/0000" + Me.txtDatum.Name = "txtDatum" + Me.txtDatum.Size = New System.Drawing.Size(66, 20) + Me.txtDatum.TabIndex = 0 + Me.txtDatum.ValidatingType = GetType(Date) + ' + 'Label6 + ' + Me.Label6.AutoSize = True + Me.Label6.Location = New System.Drawing.Point(21, 102) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(45, 13) + Me.Label6.TabIndex = 11 + Me.Label6.Text = "Nominal" + ' + 'cbboxSachbearbeiter + ' + Me.cbboxSachbearbeiter.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend + Me.cbboxSachbearbeiter.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.CustomSource + Me.cbboxSachbearbeiter.FormattingEnabled = True + Me.cbboxSachbearbeiter.Location = New System.Drawing.Point(106, 71) + Me.cbboxSachbearbeiter.Name = "cbboxSachbearbeiter" + Me.cbboxSachbearbeiter.Size = New System.Drawing.Size(187, 21) + Me.cbboxSachbearbeiter.Sorted = True + Me.cbboxSachbearbeiter.TabIndex = 2 + ' + 'txtKurzname + ' + Me.txtKurzname.Location = New System.Drawing.Point(308, 42) + Me.txtKurzname.Name = "txtKurzname" + Me.txtKurzname.ReadOnly = True + Me.txtKurzname.Size = New System.Drawing.Size(296, 20) + Me.txtKurzname.TabIndex = 8 + Me.txtKurzname.TabStop = False + ' + 'txtPartnernr + ' + Me.txtPartnernr.Location = New System.Drawing.Point(106, 45) + Me.txtPartnernr.Name = "txtPartnernr" + Me.txtPartnernr.Size = New System.Drawing.Size(101, 20) + Me.txtPartnernr.TabIndex = 1 + ' + 'Label5 + ' + Me.Label5.AutoSize = True + Me.Label5.Location = New System.Drawing.Point(378, 103) + Me.Label5.Name = "Label5" + Me.Label5.Size = New System.Drawing.Size(33, 13) + Me.Label5.TabIndex = 5 + Me.Label5.Text = "Rang" + ' + 'cbeuro + ' + Me.cbeuro.AutoSize = True + Me.cbeuro.Location = New System.Drawing.Point(308, 102) + Me.cbeuro.Name = "cbeuro" + Me.cbeuro.Size = New System.Drawing.Size(48, 17) + Me.cbeuro.TabIndex = 4 + Me.cbeuro.Text = "Euro" + Me.cbeuro.UseVisualStyleBackColor = True + ' + 'Label4 + ' + Me.Label4.AutoSize = True + Me.Label4.Location = New System.Drawing.Point(20, 72) + Me.Label4.Name = "Label4" + Me.Label4.Size = New System.Drawing.Size(79, 13) + Me.Label4.TabIndex = 3 + Me.Label4.Text = "Sachbearbeiter" + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Location = New System.Drawing.Point(239, 45) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(54, 13) + Me.Label3.TabIndex = 2 + Me.Label3.Text = "Kurzname" + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Location = New System.Drawing.Point(20, 45) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(41, 13) + Me.Label2.TabIndex = 1 + Me.Label2.Text = "Partner" + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(20, 20) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(38, 13) + Me.Label1.TabIndex = 0 + Me.Label1.Text = "Datum" + ' + 'GrpStatus + ' + Me.GrpStatus.Controls.Add(Me.dtPickerEingangSB) + Me.GrpStatus.Controls.Add(Me.Label7) + Me.GrpStatus.Controls.Add(Me.txtEingangSB) + Me.GrpStatus.Controls.Add(Me.cberledigt) + Me.GrpStatus.Controls.Add(Me.cbempfangsscheinerhalten) + Me.GrpStatus.Controls.Add(Me.cbeinlieferung) + Me.GrpStatus.Controls.Add(Me.cbtitelvorhanden) + Me.GrpStatus.Controls.Add(Me.cbneugeschäft) + Me.GrpStatus.Controls.Add(Me.cbdevauslieferung) + Me.GrpStatus.Controls.Add(Me.cbprovauslieferung) + Me.GrpStatus.Controls.Add(Me.cbpfandbrief) + Me.GrpStatus.Controls.Add(Me.cbgrundpfandverschreibung) + Me.GrpStatus.Controls.Add(Me.cbschuldbrief) + Me.GrpStatus.Location = New System.Drawing.Point(12, 232) + Me.GrpStatus.Name = "GrpStatus" + Me.GrpStatus.Size = New System.Drawing.Size(610, 136) + Me.GrpStatus.TabIndex = 3 + Me.GrpStatus.TabStop = False + Me.GrpStatus.Text = "Status" + ' + 'dtPickerEingangSB + ' + Me.dtPickerEingangSB.Location = New System.Drawing.Point(170, 101) + Me.dtPickerEingangSB.Name = "dtPickerEingangSB" + Me.dtPickerEingangSB.Size = New System.Drawing.Size(21, 20) + Me.dtPickerEingangSB.TabIndex = 17 + Me.dtPickerEingangSB.TabStop = False + ' + 'Label7 + ' + Me.Label7.AutoSize = True + Me.Label7.Location = New System.Drawing.Point(21, 104) + Me.Label7.Name = "Label7" + Me.Label7.Size = New System.Drawing.Size(63, 13) + Me.Label7.TabIndex = 13 + Me.Label7.Text = "Eingang SB" + ' + 'txtEingangSB + ' + Me.txtEingangSB.Location = New System.Drawing.Point(107, 101) + Me.txtEingangSB.Mask = "00/00/0000" + Me.txtEingangSB.Name = "txtEingangSB" + Me.txtEingangSB.Size = New System.Drawing.Size(66, 20) + Me.txtEingangSB.TabIndex = 16 + Me.txtEingangSB.ValidatingType = GetType(Date) + ' + 'cberledigt + ' + Me.cberledigt.AutoSize = True + Me.cberledigt.Location = New System.Drawing.Point(459, 43) + Me.cberledigt.Name = "cberledigt" + Me.cberledigt.Size = New System.Drawing.Size(61, 17) + Me.cberledigt.TabIndex = 9 + Me.cberledigt.Text = "Erledigt" + Me.cberledigt.UseVisualStyleBackColor = True + ' + 'cbempfangsscheinerhalten + ' + Me.cbempfangsscheinerhalten.AutoSize = True + Me.cbempfangsscheinerhalten.Location = New System.Drawing.Point(459, 20) + Me.cbempfangsscheinerhalten.Name = "cbempfangsscheinerhalten" + Me.cbempfangsscheinerhalten.Size = New System.Drawing.Size(145, 17) + Me.cbempfangsscheinerhalten.TabIndex = 8 + Me.cbempfangsscheinerhalten.Text = "Empfangsschein erhalten" + Me.cbempfangsscheinerhalten.UseVisualStyleBackColor = True + ' + 'cbeinlieferung + ' + Me.cbeinlieferung.AutoSize = True + Me.cbeinlieferung.Location = New System.Drawing.Point(339, 43) + Me.cbeinlieferung.Name = "cbeinlieferung" + Me.cbeinlieferung.Size = New System.Drawing.Size(81, 17) + Me.cbeinlieferung.TabIndex = 7 + Me.cbeinlieferung.Text = "Einlieferung" + Me.cbeinlieferung.UseVisualStyleBackColor = True + ' + 'cbtitelvorhanden + ' + Me.cbtitelvorhanden.AutoSize = True + Me.cbtitelvorhanden.Location = New System.Drawing.Point(338, 20) + Me.cbtitelvorhanden.Name = "cbtitelvorhanden" + Me.cbtitelvorhanden.Size = New System.Drawing.Size(100, 17) + Me.cbtitelvorhanden.TabIndex = 6 + Me.cbtitelvorhanden.Text = "Titel vorhanden" + Me.cbtitelvorhanden.UseVisualStyleBackColor = True + ' + 'cbneugeschäft + ' + Me.cbneugeschäft.AutoSize = True + Me.cbneugeschäft.Location = New System.Drawing.Point(194, 66) + Me.cbneugeschäft.Name = "cbneugeschäft" + Me.cbneugeschäft.Size = New System.Drawing.Size(87, 17) + Me.cbneugeschäft.TabIndex = 5 + Me.cbneugeschäft.Text = "Neugeschäft" + Me.cbneugeschäft.UseVisualStyleBackColor = True + Me.cbneugeschäft.Visible = False + ' + 'cbdevauslieferung + ' + Me.cbdevauslieferung.AutoSize = True + Me.cbdevauslieferung.Location = New System.Drawing.Point(194, 43) + Me.cbdevauslieferung.Name = "cbdevauslieferung" + Me.cbdevauslieferung.Size = New System.Drawing.Size(110, 17) + Me.cbdevauslieferung.TabIndex = 4 + Me.cbdevauslieferung.Text = "Dev. Auslieferung" + Me.cbdevauslieferung.UseVisualStyleBackColor = True + ' + 'cbprovauslieferung + ' + Me.cbprovauslieferung.AutoSize = True + Me.cbprovauslieferung.Location = New System.Drawing.Point(194, 20) + Me.cbprovauslieferung.Name = "cbprovauslieferung" + Me.cbprovauslieferung.Size = New System.Drawing.Size(112, 17) + Me.cbprovauslieferung.TabIndex = 3 + Me.cbprovauslieferung.Text = "Prov. Auslieferung" + Me.cbprovauslieferung.UseVisualStyleBackColor = True + ' + 'cbpfandbrief + ' + Me.cbpfandbrief.AutoSize = True + Me.cbpfandbrief.Location = New System.Drawing.Point(24, 66) + Me.cbpfandbrief.Name = "cbpfandbrief" + Me.cbpfandbrief.Size = New System.Drawing.Size(74, 17) + Me.cbpfandbrief.TabIndex = 2 + Me.cbpfandbrief.Text = "Pfandbrief" + Me.cbpfandbrief.UseVisualStyleBackColor = True + ' + 'cbgrundpfandverschreibung + ' + Me.cbgrundpfandverschreibung.AutoSize = True + Me.cbgrundpfandverschreibung.Location = New System.Drawing.Point(24, 43) + Me.cbgrundpfandverschreibung.Name = "cbgrundpfandverschreibung" + Me.cbgrundpfandverschreibung.Size = New System.Drawing.Size(149, 17) + Me.cbgrundpfandverschreibung.TabIndex = 1 + Me.cbgrundpfandverschreibung.Text = "Grundpfandverschreibung" + Me.cbgrundpfandverschreibung.UseVisualStyleBackColor = True + ' + 'cbschuldbrief + ' + Me.cbschuldbrief.AutoSize = True + Me.cbschuldbrief.Location = New System.Drawing.Point(23, 20) + Me.cbschuldbrief.Name = "cbschuldbrief" + Me.cbschuldbrief.Size = New System.Drawing.Size(79, 17) + Me.cbschuldbrief.TabIndex = 0 + Me.cbschuldbrief.Text = "Schuldbrief" + Me.cbschuldbrief.UseVisualStyleBackColor = True + ' + 'GroupBox2 + ' + Me.GroupBox2.Controls.Add(Me.Button4) + Me.GroupBox2.Controls.Add(Me.Button3) + Me.GroupBox2.Controls.Add(Me.txtbemerkung) + Me.GroupBox2.Controls.Add(Me.Label10) + Me.GroupBox2.Controls.Add(Me.cbboxstandardbemerkung) + Me.GroupBox2.Controls.Add(Me.Label9) + Me.GroupBox2.Controls.Add(Me.cbboxgegenpartei) + Me.GroupBox2.Controls.Add(Me.Label8) + Me.GroupBox2.Location = New System.Drawing.Point(12, 371) + Me.GroupBox2.Name = "GroupBox2" + Me.GroupBox2.Size = New System.Drawing.Size(610, 159) + Me.GroupBox2.TabIndex = 4 + Me.GroupBox2.TabStop = False + Me.GroupBox2.Text = "Diverses" + ' + 'Button4 + ' + Me.Button4.Location = New System.Drawing.Point(352, 43) + Me.Button4.Name = "Button4" + Me.Button4.Size = New System.Drawing.Size(21, 23) + Me.Button4.TabIndex = 22 + Me.Button4.TabStop = False + Me.Button4.Text = "N" + Me.Button4.UseVisualStyleBackColor = True + ' + 'Button3 + ' + Me.Button3.Location = New System.Drawing.Point(352, 20) + Me.Button3.Name = "Button3" + Me.Button3.Size = New System.Drawing.Size(21, 23) + Me.Button3.TabIndex = 21 + Me.Button3.TabStop = False + Me.Button3.Text = "N" + Me.Button3.UseVisualStyleBackColor = True + ' + 'txtbemerkung + ' + Me.txtbemerkung.Location = New System.Drawing.Point(106, 75) + Me.txtbemerkung.Multiline = True + Me.txtbemerkung.Name = "txtbemerkung" + Me.txtbemerkung.Size = New System.Drawing.Size(479, 74) + Me.txtbemerkung.TabIndex = 3 + ' + 'Label10 + ' + Me.Label10.AutoSize = True + Me.Label10.Location = New System.Drawing.Point(22, 75) + Me.Label10.Name = "Label10" + Me.Label10.Size = New System.Drawing.Size(61, 13) + Me.Label10.TabIndex = 17 + Me.Label10.Text = "Bemerkung" + ' + 'cbboxstandardbemerkung + ' + Me.cbboxstandardbemerkung.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend + Me.cbboxstandardbemerkung.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems + Me.cbboxstandardbemerkung.FormattingEnabled = True + Me.cbboxstandardbemerkung.Location = New System.Drawing.Point(106, 45) + Me.cbboxstandardbemerkung.Name = "cbboxstandardbemerkung" + Me.cbboxstandardbemerkung.Size = New System.Drawing.Size(240, 21) + Me.cbboxstandardbemerkung.Sorted = True + Me.cbboxstandardbemerkung.TabIndex = 2 + ' + 'Label9 + ' + Me.Label9.AutoSize = True + Me.Label9.Location = New System.Drawing.Point(20, 46) + Me.Label9.Name = "Label9" + Me.Label9.Size = New System.Drawing.Size(80, 13) + Me.Label9.TabIndex = 15 + Me.Label9.Text = "Std-Bemerkung" + ' + 'cbboxgegenpartei + ' + Me.cbboxgegenpartei.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend + Me.cbboxgegenpartei.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems + Me.cbboxgegenpartei.FormattingEnabled = True + Me.cbboxgegenpartei.Location = New System.Drawing.Point(106, 19) + Me.cbboxgegenpartei.Name = "cbboxgegenpartei" + Me.cbboxgegenpartei.Size = New System.Drawing.Size(240, 21) + Me.cbboxgegenpartei.Sorted = True + Me.cbboxgegenpartei.TabIndex = 0 + ' + 'Label8 + ' + Me.Label8.AutoSize = True + Me.Label8.Location = New System.Drawing.Point(20, 20) + Me.Label8.Name = "Label8" + Me.Label8.Size = New System.Drawing.Size(65, 13) + Me.Label8.TabIndex = 13 + Me.Label8.Text = "Gegenpartei" + ' + 'GroupBox3 + ' + Me.GroupBox3.Controls.Add(Me.Button1) + Me.GroupBox3.Controls.Add(Me.dtpickerGemahntSchuldbrief2) + Me.GroupBox3.Controls.Add(Me.txtGemahntSchuldbrief2) + Me.GroupBox3.Controls.Add(Me.dtpickerGemahntSchuldbrief1) + Me.GroupBox3.Controls.Add(Me.txtGemahntSchuldbrief1) + Me.GroupBox3.Controls.Add(Me.dtpickermahnungSchuldbrief2) + Me.GroupBox3.Controls.Add(Me.txtmahnungSchuldbrief2) + Me.GroupBox3.Controls.Add(Me.dtpickerMahnungSchuldbrief1) + Me.GroupBox3.Controls.Add(Me.txtMahnungSchuldbrief1) + Me.GroupBox3.Controls.Add(Me.dtpickerTerminSchuldbrief) + Me.GroupBox3.Controls.Add(Me.txtTerminSchuldbrief) + Me.GroupBox3.Controls.Add(Me.dtpickerGemahntEmpfangsschein2) + Me.GroupBox3.Controls.Add(Me.txtGemahntEmpfangsschein2) + Me.GroupBox3.Controls.Add(Me.dtpickerGemahntEmpfangsschein1) + Me.GroupBox3.Controls.Add(Me.txtGemahntEmpfangsschein1) + Me.GroupBox3.Controls.Add(Me.dtpickerMahnungEmpfangsschein2) + Me.GroupBox3.Controls.Add(Me.txtMahnungEmpfangsschein2) + Me.GroupBox3.Controls.Add(Me.dtpickerMahnungEmpfangsschein1) + Me.GroupBox3.Controls.Add(Me.txtMahnungEmpfangsschein1) + Me.GroupBox3.Controls.Add(Me.dtpickerTerminEmpfangsschein) + Me.GroupBox3.Controls.Add(Me.Label18) + Me.GroupBox3.Controls.Add(Me.txtTerminEmpfangsschein) + Me.GroupBox3.Controls.Add(Me.Label17) + Me.GroupBox3.Controls.Add(Me.Label14) + Me.GroupBox3.Controls.Add(Me.Label15) + Me.GroupBox3.Controls.Add(Me.Label16) + Me.GroupBox3.Controls.Add(Me.Label13) + Me.GroupBox3.Controls.Add(Me.Label12) + Me.GroupBox3.Controls.Add(Me.Label11) + Me.GroupBox3.Location = New System.Drawing.Point(628, 28) + Me.GroupBox3.Name = "GroupBox3" + Me.GroupBox3.Size = New System.Drawing.Size(383, 249) + Me.GroupBox3.TabIndex = 5 + Me.GroupBox3.TabStop = False + Me.GroupBox3.Text = "Termine" + ' + 'Button1 + ' + Me.Button1.Location = New System.Drawing.Point(21, 220) + Me.Button1.Name = "Button1" + Me.Button1.Size = New System.Drawing.Size(136, 23) + Me.Button1.TabIndex = 6 + Me.Button1.TabStop = False + Me.Button1.Text = "Termindaten initialisieren" + Me.Button1.UseVisualStyleBackColor = True + ' + 'dtpickerGemahntSchuldbrief2 + ' + Me.dtpickerGemahntSchuldbrief2.Location = New System.Drawing.Point(324, 173) + Me.dtpickerGemahntSchuldbrief2.Name = "dtpickerGemahntSchuldbrief2" + Me.dtpickerGemahntSchuldbrief2.Size = New System.Drawing.Size(21, 20) + Me.dtpickerGemahntSchuldbrief2.TabIndex = 47 + Me.dtpickerGemahntSchuldbrief2.TabStop = False + ' + 'txtGemahntSchuldbrief2 + ' + Me.txtGemahntSchuldbrief2.Location = New System.Drawing.Point(261, 173) + Me.txtGemahntSchuldbrief2.Mask = "00/00/0000" + Me.txtGemahntSchuldbrief2.Name = "txtGemahntSchuldbrief2" + Me.txtGemahntSchuldbrief2.Size = New System.Drawing.Size(66, 20) + Me.txtGemahntSchuldbrief2.TabIndex = 9 + Me.txtGemahntSchuldbrief2.ValidatingType = GetType(Date) + ' + 'dtpickerGemahntSchuldbrief1 + ' + Me.dtpickerGemahntSchuldbrief1.Location = New System.Drawing.Point(324, 143) + Me.dtpickerGemahntSchuldbrief1.Name = "dtpickerGemahntSchuldbrief1" + Me.dtpickerGemahntSchuldbrief1.Size = New System.Drawing.Size(21, 20) + Me.dtpickerGemahntSchuldbrief1.TabIndex = 45 + Me.dtpickerGemahntSchuldbrief1.TabStop = False + ' + 'txtGemahntSchuldbrief1 + ' + Me.txtGemahntSchuldbrief1.Location = New System.Drawing.Point(261, 143) + Me.txtGemahntSchuldbrief1.Mask = "00/00/0000" + Me.txtGemahntSchuldbrief1.Name = "txtGemahntSchuldbrief1" + Me.txtGemahntSchuldbrief1.Size = New System.Drawing.Size(66, 20) + Me.txtGemahntSchuldbrief1.TabIndex = 7 + Me.txtGemahntSchuldbrief1.ValidatingType = GetType(Date) + ' + 'dtpickermahnungSchuldbrief2 + ' + Me.dtpickermahnungSchuldbrief2.Location = New System.Drawing.Point(217, 170) + Me.dtpickermahnungSchuldbrief2.Name = "dtpickermahnungSchuldbrief2" + Me.dtpickermahnungSchuldbrief2.Size = New System.Drawing.Size(21, 20) + Me.dtpickermahnungSchuldbrief2.TabIndex = 43 + Me.dtpickermahnungSchuldbrief2.TabStop = False + ' + 'txtmahnungSchuldbrief2 + ' + Me.txtmahnungSchuldbrief2.Location = New System.Drawing.Point(154, 170) + Me.txtmahnungSchuldbrief2.Mask = "00/00/0000" + Me.txtmahnungSchuldbrief2.Name = "txtmahnungSchuldbrief2" + Me.txtmahnungSchuldbrief2.Size = New System.Drawing.Size(66, 20) + Me.txtmahnungSchuldbrief2.TabIndex = 8 + Me.txtmahnungSchuldbrief2.ValidatingType = GetType(Date) + ' + 'dtpickerMahnungSchuldbrief1 + ' + Me.dtpickerMahnungSchuldbrief1.Location = New System.Drawing.Point(217, 146) + Me.dtpickerMahnungSchuldbrief1.Name = "dtpickerMahnungSchuldbrief1" + Me.dtpickerMahnungSchuldbrief1.Size = New System.Drawing.Size(21, 20) + Me.dtpickerMahnungSchuldbrief1.TabIndex = 41 + Me.dtpickerMahnungSchuldbrief1.TabStop = False + ' + 'txtMahnungSchuldbrief1 + ' + Me.txtMahnungSchuldbrief1.Location = New System.Drawing.Point(154, 146) + Me.txtMahnungSchuldbrief1.Mask = "00/00/0000" + Me.txtMahnungSchuldbrief1.Name = "txtMahnungSchuldbrief1" + Me.txtMahnungSchuldbrief1.Size = New System.Drawing.Size(66, 20) + Me.txtMahnungSchuldbrief1.TabIndex = 6 + Me.txtMahnungSchuldbrief1.ValidatingType = GetType(Date) + ' + 'dtpickerTerminSchuldbrief + ' + Me.dtpickerTerminSchuldbrief.Location = New System.Drawing.Point(217, 118) + Me.dtpickerTerminSchuldbrief.Name = "dtpickerTerminSchuldbrief" + Me.dtpickerTerminSchuldbrief.Size = New System.Drawing.Size(21, 20) + Me.dtpickerTerminSchuldbrief.TabIndex = 39 + Me.dtpickerTerminSchuldbrief.TabStop = False + ' + 'txtTerminSchuldbrief + ' + Me.txtTerminSchuldbrief.Location = New System.Drawing.Point(154, 118) + Me.txtTerminSchuldbrief.Mask = "00/00/0000" + Me.txtTerminSchuldbrief.Name = "txtTerminSchuldbrief" + Me.txtTerminSchuldbrief.Size = New System.Drawing.Size(66, 20) + Me.txtTerminSchuldbrief.TabIndex = 5 + Me.txtTerminSchuldbrief.ValidatingType = GetType(Date) + ' + 'dtpickerGemahntEmpfangsschein2 + ' + Me.dtpickerGemahntEmpfangsschein2.Location = New System.Drawing.Point(324, 69) + Me.dtpickerGemahntEmpfangsschein2.Name = "dtpickerGemahntEmpfangsschein2" + Me.dtpickerGemahntEmpfangsschein2.Size = New System.Drawing.Size(21, 20) + Me.dtpickerGemahntEmpfangsschein2.TabIndex = 37 + Me.dtpickerGemahntEmpfangsschein2.TabStop = False + ' + 'txtGemahntEmpfangsschein2 + ' + Me.txtGemahntEmpfangsschein2.Location = New System.Drawing.Point(261, 69) + Me.txtGemahntEmpfangsschein2.Mask = "00/00/0000" + Me.txtGemahntEmpfangsschein2.Name = "txtGemahntEmpfangsschein2" + Me.txtGemahntEmpfangsschein2.Size = New System.Drawing.Size(66, 20) + Me.txtGemahntEmpfangsschein2.TabIndex = 4 + Me.txtGemahntEmpfangsschein2.ValidatingType = GetType(Date) + ' + 'dtpickerGemahntEmpfangsschein1 + ' + Me.dtpickerGemahntEmpfangsschein1.Location = New System.Drawing.Point(324, 46) + Me.dtpickerGemahntEmpfangsschein1.Name = "dtpickerGemahntEmpfangsschein1" + Me.dtpickerGemahntEmpfangsschein1.Size = New System.Drawing.Size(21, 20) + Me.dtpickerGemahntEmpfangsschein1.TabIndex = 35 + Me.dtpickerGemahntEmpfangsschein1.TabStop = False + ' + 'txtGemahntEmpfangsschein1 + ' + Me.txtGemahntEmpfangsschein1.Location = New System.Drawing.Point(261, 46) + Me.txtGemahntEmpfangsschein1.Mask = "00/00/0000" + Me.txtGemahntEmpfangsschein1.Name = "txtGemahntEmpfangsschein1" + Me.txtGemahntEmpfangsschein1.Size = New System.Drawing.Size(66, 20) + Me.txtGemahntEmpfangsschein1.TabIndex = 2 + Me.txtGemahntEmpfangsschein1.ValidatingType = GetType(Date) + ' + 'dtpickerMahnungEmpfangsschein2 + ' + Me.dtpickerMahnungEmpfangsschein2.Location = New System.Drawing.Point(217, 69) + Me.dtpickerMahnungEmpfangsschein2.Name = "dtpickerMahnungEmpfangsschein2" + Me.dtpickerMahnungEmpfangsschein2.Size = New System.Drawing.Size(21, 20) + Me.dtpickerMahnungEmpfangsschein2.TabIndex = 33 + Me.dtpickerMahnungEmpfangsschein2.TabStop = False + ' + 'txtMahnungEmpfangsschein2 + ' + Me.txtMahnungEmpfangsschein2.Location = New System.Drawing.Point(154, 69) + Me.txtMahnungEmpfangsschein2.Mask = "00/00/0000" + Me.txtMahnungEmpfangsschein2.Name = "txtMahnungEmpfangsschein2" + Me.txtMahnungEmpfangsschein2.Size = New System.Drawing.Size(66, 20) + Me.txtMahnungEmpfangsschein2.TabIndex = 3 + Me.txtMahnungEmpfangsschein2.ValidatingType = GetType(Date) + ' + 'dtpickerMahnungEmpfangsschein1 + ' + Me.dtpickerMahnungEmpfangsschein1.Location = New System.Drawing.Point(217, 45) + Me.dtpickerMahnungEmpfangsschein1.Name = "dtpickerMahnungEmpfangsschein1" + Me.dtpickerMahnungEmpfangsschein1.Size = New System.Drawing.Size(21, 20) + Me.dtpickerMahnungEmpfangsschein1.TabIndex = 31 + Me.dtpickerMahnungEmpfangsschein1.TabStop = False + ' + 'txtMahnungEmpfangsschein1 + ' + Me.txtMahnungEmpfangsschein1.Location = New System.Drawing.Point(154, 45) + Me.txtMahnungEmpfangsschein1.Mask = "00/00/0000" + Me.txtMahnungEmpfangsschein1.Name = "txtMahnungEmpfangsschein1" + Me.txtMahnungEmpfangsschein1.Size = New System.Drawing.Size(66, 20) + Me.txtMahnungEmpfangsschein1.TabIndex = 1 + Me.txtMahnungEmpfangsschein1.ValidatingType = GetType(Date) + ' + 'dtpickerTerminEmpfangsschein + ' + Me.dtpickerTerminEmpfangsschein.Location = New System.Drawing.Point(217, 17) + Me.dtpickerTerminEmpfangsschein.Name = "dtpickerTerminEmpfangsschein" + Me.dtpickerTerminEmpfangsschein.Size = New System.Drawing.Size(21, 20) + Me.dtpickerTerminEmpfangsschein.TabIndex = 17 + Me.dtpickerTerminEmpfangsschein.TabStop = False + ' + 'Label18 + ' + Me.Label18.AutoSize = True + Me.Label18.Location = New System.Drawing.Point(260, 126) + Me.Label18.Name = "Label18" + Me.Label18.Size = New System.Drawing.Size(67, 13) + Me.Label18.TabIndex = 29 + Me.Label18.Text = "Gemahnt am" + ' + 'txtTerminEmpfangsschein + ' + Me.txtTerminEmpfangsschein.Location = New System.Drawing.Point(154, 17) + Me.txtTerminEmpfangsschein.Mask = "00/00/0000" + Me.txtTerminEmpfangsschein.Name = "txtTerminEmpfangsschein" + Me.txtTerminEmpfangsschein.Size = New System.Drawing.Size(66, 20) + Me.txtTerminEmpfangsschein.TabIndex = 0 + Me.txtTerminEmpfangsschein.ValidatingType = GetType(Date) + ' + 'Label17 + ' + Me.Label17.AutoSize = True + Me.Label17.Location = New System.Drawing.Point(260, 25) + Me.Label17.Name = "Label17" + Me.Label17.Size = New System.Drawing.Size(67, 13) + Me.Label17.TabIndex = 13 + Me.Label17.Text = "Gemahnt am" + ' + 'Label14 + ' + Me.Label14.AutoSize = True + Me.Label14.Location = New System.Drawing.Point(18, 173) + Me.Label14.Name = "Label14" + Me.Label14.Size = New System.Drawing.Size(61, 13) + Me.Label14.TabIndex = 25 + Me.Label14.Text = "Mahnung 2" + ' + 'Label15 + ' + Me.Label15.AutoSize = True + Me.Label15.Location = New System.Drawing.Point(18, 150) + Me.Label15.Name = "Label15" + Me.Label15.Size = New System.Drawing.Size(61, 13) + Me.Label15.TabIndex = 23 + Me.Label15.Text = "Mahnung 1" + ' + 'Label16 + ' + Me.Label16.AutoSize = True + Me.Label16.Location = New System.Drawing.Point(18, 121) + Me.Label16.Name = "Label16" + Me.Label16.Size = New System.Drawing.Size(95, 13) + Me.Label16.TabIndex = 21 + Me.Label16.Text = "Termin Schuldbrief" + ' + 'Label13 + ' + Me.Label13.AutoSize = True + Me.Label13.Location = New System.Drawing.Point(18, 72) + Me.Label13.Name = "Label13" + Me.Label13.Size = New System.Drawing.Size(61, 13) + Me.Label13.TabIndex = 17 + Me.Label13.Text = "Mahnung 2" + ' + 'Label12 + ' + Me.Label12.AutoSize = True + Me.Label12.Location = New System.Drawing.Point(18, 49) + Me.Label12.Name = "Label12" + Me.Label12.Size = New System.Drawing.Size(61, 13) + Me.Label12.TabIndex = 15 + Me.Label12.Text = "Mahnung 1" + ' + 'Label11 + ' + Me.Label11.AutoSize = True + Me.Label11.Location = New System.Drawing.Point(18, 20) + Me.Label11.Name = "Label11" + Me.Label11.Size = New System.Drawing.Size(120, 13) + Me.Label11.TabIndex = 13 + Me.Label11.Text = "Termin Empfangsschein" + ' + 'cbaktiv + ' + Me.cbaktiv.AutoSize = True + Me.cbaktiv.Location = New System.Drawing.Point(961, 510) + Me.cbaktiv.Name = "cbaktiv" + Me.cbaktiv.Size = New System.Drawing.Size(50, 17) + Me.cbaktiv.TabIndex = 18 + Me.cbaktiv.TabStop = False + Me.cbaktiv.Text = "Aktiv" + Me.cbaktiv.UseVisualStyleBackColor = True + ' + 'frmSchuldbrief + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(1023, 539) + Me.Controls.Add(Me.cbaktiv) + Me.Controls.Add(Me.GroupBox3) + Me.Controls.Add(Me.GroupBox2) + Me.Controls.Add(Me.GrpStatus) + Me.Controls.Add(Me.GroupBox1) + Me.Controls.Add(Me.ToolStrip1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmSchuldbrief" + Me.Text = "Schuldbrief" + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.GroupBox1.ResumeLayout(False) + Me.GroupBox1.PerformLayout() + Me.GrpStatus.ResumeLayout(False) + Me.GrpStatus.PerformLayout() + Me.GroupBox2.ResumeLayout(False) + Me.GroupBox2.PerformLayout() + Me.GroupBox3.ResumeLayout(False) + Me.GroupBox3.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + + Friend WithEvents ToolStrip1 As ToolStrip + Friend WithEvents tsbtnexit As ToolStripButton + Friend WithEvents tsbtensave As ToolStripButton + Friend WithEvents GroupBox1 As GroupBox + Friend WithEvents cbboxRang As ComboBox + Friend WithEvents Label6 As Label + Friend WithEvents cbboxSachbearbeiter As ComboBox + Friend WithEvents txtKurzname As TextBox + Friend WithEvents txtPartnernr As TextBox + Friend WithEvents Label5 As Label + Friend WithEvents cbeuro As CheckBox + Friend WithEvents Label4 As Label + Friend WithEvents Label3 As Label + Friend WithEvents Label2 As Label + Friend WithEvents Label1 As Label + Friend WithEvents GrpStatus As GroupBox + Friend WithEvents Label7 As Label + Friend WithEvents cberledigt As CheckBox + Friend WithEvents cbempfangsscheinerhalten As CheckBox + Friend WithEvents cbeinlieferung As CheckBox + Friend WithEvents cbtitelvorhanden As CheckBox + Friend WithEvents cbneugeschäft As CheckBox + Friend WithEvents cbdevauslieferung As CheckBox + Friend WithEvents cbprovauslieferung As CheckBox + Friend WithEvents cbpfandbrief As CheckBox + Friend WithEvents cbgrundpfandverschreibung As CheckBox + Friend WithEvents cbschuldbrief As CheckBox + Friend WithEvents GroupBox2 As GroupBox + Friend WithEvents txtbemerkung As TextBox + Friend WithEvents Label10 As Label + Friend WithEvents cbboxstandardbemerkung As ComboBox + Friend WithEvents Label9 As Label + Friend WithEvents cbboxgegenpartei As ComboBox + Friend WithEvents Label8 As Label + Friend WithEvents GroupBox3 As GroupBox + Friend WithEvents Label18 As Label + Friend WithEvents Label17 As Label + Friend WithEvents Label14 As Label + Friend WithEvents Label15 As Label + Friend WithEvents Label16 As Label + Friend WithEvents Label13 As Label + Friend WithEvents Label12 As Label + Friend WithEvents Label11 As Label + Friend WithEvents tsbtndelete As ToolStripButton + Friend WithEvents dtPickerDatum As DateTimePicker + Friend WithEvents txtDatum As MaskedTextBox + Friend WithEvents dtPickerEingangSB As DateTimePicker + Friend WithEvents txtEingangSB As MaskedTextBox + Friend WithEvents dtpickerGemahntSchuldbrief2 As DateTimePicker + Friend WithEvents txtGemahntSchuldbrief2 As MaskedTextBox + Friend WithEvents dtpickerGemahntSchuldbrief1 As DateTimePicker + Friend WithEvents txtGemahntSchuldbrief1 As MaskedTextBox + Friend WithEvents dtpickermahnungSchuldbrief2 As DateTimePicker + Friend WithEvents txtmahnungSchuldbrief2 As MaskedTextBox + Friend WithEvents dtpickerMahnungSchuldbrief1 As DateTimePicker + Friend WithEvents txtMahnungSchuldbrief1 As MaskedTextBox + Friend WithEvents dtpickerTerminSchuldbrief As DateTimePicker + Friend WithEvents txtTerminSchuldbrief As MaskedTextBox + Friend WithEvents dtpickerGemahntEmpfangsschein2 As DateTimePicker + Friend WithEvents txtGemahntEmpfangsschein2 As MaskedTextBox + Friend WithEvents dtpickerGemahntEmpfangsschein1 As DateTimePicker + Friend WithEvents txtGemahntEmpfangsschein1 As MaskedTextBox + Friend WithEvents dtpickerMahnungEmpfangsschein2 As DateTimePicker + Friend WithEvents txtMahnungEmpfangsschein2 As MaskedTextBox + Friend WithEvents dtpickerMahnungEmpfangsschein1 As DateTimePicker + Friend WithEvents txtMahnungEmpfangsschein1 As MaskedTextBox + Friend WithEvents dtpickerTerminEmpfangsschein As DateTimePicker + Friend WithEvents txtTerminEmpfangsschein As MaskedTextBox + Friend WithEvents txtNominal As TextBox + Friend WithEvents btnPartner As Button + Friend WithEvents Button1 As Button + Friend WithEvents cbaktiv As CheckBox + Friend WithEvents txtLSNr As TextBox + Friend WithEvents Label19 As Label + Friend WithEvents cbboxGrundbuch As ComboBox + Friend WithEvents lblGrundbuch As Label + Friend WithEvents Button2 As Button + Friend WithEvents Button3 As Button + Friend WithEvents Button4 As Button +End Class diff --git a/Logbuch/Logbuch/Logbuch/frmSchuldbrief.resx b/Logbuch/Logbuch/Logbuch/frmSchuldbrief.resx new file mode 100644 index 0000000..ed25c44 --- /dev/null +++ b/Logbuch/Logbuch/Logbuch/frmSchuldbrief.resx @@ -0,0 +1,531 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAK2SURBVDhPnZLdS1NhHMcfCPoDuummi+gyunJg0QviNrd5 + PDtzc7Z5ztl20pUzo6I3yFIrS9N8K7Qih6lUFJVaGWXZi6KRoZSFmCuyi+iiiCKILgo+HTUWu7QffOD5 + PfB8eL6/5xH/U1+mh4IzM+O/Ovdm8Hdrvi5X5PR2H86ht2oWKUnPEYkr5XYexXfyebKfTxO3+P5mkIv7 + ramCngqZtDV2Vq+zsWbDP9LXWVllWc+PRD+J3krGWv18TTzm8kFHqqC7TCbD6sRml7A7XEmsWU7S19t4 + 3Rlh7JzO6Okgn1/d5dqh7FSBo1kg1Swi2+5DcilI2W4kScblktlglZjsMBg9G+JJS5CPYz1zUf8eFcJ2 + XJD42IXTlORkaridARTJjyJ7kd0eMh1uXsbDjLTqDDYXMDN8idvVyrzAViOYeN9Gx6Ago1pgbxA4Twnk + sqV4lSCeXD9ZOT7Gz2kMntT5cWc5UwPt3K31Ilx1gqfvqomPCNqGzfXbIp69i/D8Q3hOku8Jk5cXRPIE + eHZa5WGTxs/+Fby63cpAg39e8CCxh/i4ID4maH8p6JgUvPgWwXFSEMwrYmMghDtPY6QlwEBjkLY9Tp73 + HOdxc2AugsVuRuib2kxXQpA5G+GEwNEkyC1fhq5GUXUDX9BgqNnPvfp8rh9WeHqpguEWNTlES1atoPet + D2ejwAjswtBKMcLFGEaUiFFIIBTlYYOXO3U++mq8DJ3fzeiZUMozWpzmlZW6xUSN7USLSiiKFs9RaKJt + inG/zkNfdS43jnrob40x3hZJEYjO0rVsKSmlJLaDkq3bksRMCou3c69W5uYxhe4qNzfrQ0y0FyJ0XUfX + QmhaGFWdxVyrmtmrSVSz31igsy8W4EKFYv5AmatHcpns2jw/xIVSpqfvrzyw8vf0hVhqhAXUEpM0IYTl + DzXbwlLPDlfpAAAAAElFTkSuQmCC + + + + + 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 + QmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJASURBVDhPfZNLSxtRFMdn5Suah0oChhiJmlGj8RGfiKIi + gouAEPULuMlSxe+Rrbt8hKEWGfJobNq5k0ZaJ7Vgq90ILW5auiiFLv8955oJiU37hwPDPfd3/ufMvVex + VTk4SF0mEprmcrmrS39JCwbdpZ0dzdjeTlWXHvUhmUw/nJ7i7e4uspGIxRurqZqqsPXp5ATG4iJyo6Np + mWBnCScSMNfXIVZXoatqQ5EafHwMMTcHY2ZGRkZVUwq3zc42LJaXYSwtQQ+HZZEafHQEEYtBTE3VQh8a + 0hSemduuh435eRizs9BDIasUj1u3h4cwydGcnIQZjaJEwblal/zBbdfDggB2+ZhMojQ9LaE3FOWJiUbY + lixCbdfD7ChGRmAMDEAEgzApss1gW7IIbTDIqRgIoOB04iXFK7cboqcHus/3b5jFSbG1ZVnxOF50dkr4 + tccDs7cXZa8XWb///+5Fgiv7+8gTeFEHX/p8eNfXh/f9/cgHAs3nL25sWJW9PeTIuUBRdLlk22WCr/x+ + XNP8N6EQboeHUXx6AgxbBGccDuQ6OnDR1SXdeeYctc3ON4OD+KyquI9E8IX+kajeE8XY3NSu6CLp7e3I + tLUhT0V4dt3rlRs4uO27cBj34+N4oCP9RrfxOx13SVU1pbCwkDpvbYXe0oIsFeGfd97d3TCn7JLa/krH + yuBPunC/VlZQiUYfH9WZw5G2Czx7AtviNZMu2w96SL/X1nAXiz0+JltnTmfqucejNYNtca48NqZd286K + ovwBHtVvxMSvxBEAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAfFJREFUOE9j + GAWoIMDfn7GlqXmjp7vHAwtzcy6oMIOVhaWQj7f3g872jgVQIUxQkJevUFxY2JWUkPjf3Mz8v6mxSYCR + kbGvm5uHh6W5ZbQFUCwtJeV/dWVVW2N9gyxUGwQsWrDQaNmSpV+iI6P+29va/Xd3dftvZmL6Lzg45H9c + XALIwH8gMZBcfm7e/21btn5cumSJNlQ7A8PCBQvX1dfW/beztf2voa7+H2SblaXV/5rqms/1dfVfYXxb + a5v/ZSUl/1cuX/F/985di8GaF8ybb15SXPynqqzkf3BgwH9xMbH/WhqaYMUmRsY7gfiInY3tfycHR5C3 + /icnxP+vrSj/X1pS8mfp4iXmDM4O9usCDBX/53ua/G9Ij/xvY6T338bK+n93ZxfIJQutLa3WTJk0+X9Y + SOh/M23V/2EmSv+rI9z+12bG/rezsV7LYKah+DPPTOJ/v4/G/zZv7f/RZgr/tTQ1dwA1ZgJpMU11DQlL + c4t0PV3dbQH6sv8bXFX/Tw42+F/npvZfV17iJ4O2msqRDjfF//tSTf4vCtH872eg+F9TQyMA7D8koKaq + GhBorAxWA1Lb4ar4X11J/iiDtpaWlKOZ4ZpST6N3uf7297w9PQugejCArbV1Yaa39YPGUJsPwe5O64wM + DaWhUkMXMDAAAKZRy/mtYAswAAAAAElFTkSuQmCC + + + + 77 + + + + AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAACQAABILAAASCwAAAAAAAAAA + AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////ALKyspaysrL/srKy/7Kysv+ysrL/srKy/7Kysv+ysrL/srKy/7Ky + sv+ysrL/srKy/7Kysv+ysrL/srKy/7Kysv+ysrL/srKy/7Kysv+ysrL/srKy/7Kysv+ysrL/srKy/7Ky + sv+ysrL/srKy/7Kysv+ysrL/srKy/7Kysv+ysrL/srKy/7Kysv+ysrL/srKy/7Kyspb///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////ALKysv+ysrL/7u7u//Dw8P/x8fH/8vLy//Ly + 8v/z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz + 8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Ly8v/y8vL/8fHx//Dw8P/u7u7/srKy/7Ky + sv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ALKysv/u7u7/srKy//Ly + 8v/z8/P/9PT0//X19f/19fX/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 + 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9fX1//X19f/09PT/8/Pz//Ly + 8v+ysrL/7u7u/7Kysv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ALKy + sv/w8PD/8vLy/7Kysv/19fX/9vb2//f39//4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4 + +P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//f3 + 9//29vb/9fX1/7Kysv/y8vL/8PDw/7Kysv////8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////ALKysv/x8fH/8/Pz//X19f+ysrL/+Pj4//n5+f/5+fn/+vr6//r6+v/6+vr/+vr6//r6 + +v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6 + +v/6+vr/+fn5//n5+f/4+Pj/srKy//X19f/z8/P/8fHx/7Kysv////8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////ALKysv/y8vL/9PT0//b29v/4+Pj/srKy//r6+v/7+/v//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz/+/v7//r6+v+ysrL/+Pj4//b29v/09PT/8vLy/7Kysv////8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////ALKysv/y8vL/9fX1//f39//5+fn/+vr6/7Ky + sv/8/Pz//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//Pz8/7Kysv/6+vr/+fn5//f39//19fX/8vLy/7Ky + sv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ALKysv/z8/P/9fX1//j4 + +P/5+fn/+/v7//z8/P+ysrL//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+ + /v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7/srKy//z8/P/7+/v/+fn5//j4 + +P/19fX/8/Pz/7Kysv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ALKy + sv/z8/P/9vb2//j4+P/6+vr//Pz8//39/f/+/v7/srKy//////////////////////////////////// + //////////////////////////////////////////////////////////////////+ysrL//v7+//39 + /f/8/Pz/+vr6//j4+P/29vb/8/Pz/7Kysv////8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////ALKysv/z8/P/9vb2//j4+P/6+vr//Pz8//39/f/+/v7//////7Kysv////////////// + ////////////////////////srKy/7Kysv+ysrL//////////////////////////////////////7Ky + sv///////v7+//39/f/8/Pz/+vr6//j4+P/29vb/8/Pz/7Kysv////8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////ALKysv/z8/P/9vb2//j4+P/6+vr//Pz8//39/f/+/v7///////// + //+ysrL///////////////////////////+ysrL/z8/P//n5+f/Pz8//srKy//////////////////// + ////////srKy/////////////v7+//39/f/8/Pz/+vr6//j4+P/29vb/8/Pz/7Kysv////8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////ALKysv/z8/P/9vb2//j4+P/6+vr//Pz8//39 + /f/+/v7/////////////////srKy/////////////////7Kysv/Q0ND/+vr6//r6+v/6+vr/0NDQ/7Ky + sv////////////////+ysrL//////////////////v7+//39/f/8/Pz/+vr6//j4+P/29vb/8/Pz/7Ky + sv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ALKysv/z8/P/9vb2//j4 + +P/6+vr//Pz8//39/f/+/v7//////////////////////7Kysv//////srKy/9DQ0P/6+vr/+vr6//r6 + +v/6+vr/+vr6/9DQ0P+ysrL//////7Kysv///////////////////////v7+//39/f/8/Pz/+vr6//j4 + +P/29vb/8/Pz/7Kysv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ALKy + sv/z8/P/9vb2//j4+P/6+vr//Pz8//39/f/+/v7///////////////////////////+ysrL/0NDQ//r6 + +v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/Q0ND/srKy/////////////////////////////v7+//39 + /f/8/Pz/+vr6//j4+P/29vb/8/Pz/7Kysv////8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////ALKysv/z8/P/9vb2//j4+P/6+vr//Pz8//39/f/+/v7//////////////////////7Ky + sv/Q0ND/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/0NDQ/7Kysv////////////// + /////////v7+//39/f/8/Pz/+vr6//j4+P/29vb/8/Pz/7Kysv////8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////ALKysv/z8/P/9vb2//j4+P/6+vr//Pz8//39/f/+/v7///////// + ////////srKy/9DQ0P/7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7/9DQ + 0P+ysrL//////////////////v7+//39/f/8/Pz/+vr6//j4+P/29vb/8/Pz/7Kysv////8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////ALKysv/z8/P/9vb2//j4+P/6+vr//Pz8//39 + /f/+/v7///////////+ysrL/0NDQ//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7 + +//7+/v/+/v7//v7+//Q0ND/srKy/////////////v7+//39/f/8/Pz/+vr6//j4+P/29vb/8/Pz/7Ky + sv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ALKysv/z8/P/9vb2//j4 + +P/6+vr//Pz8//39/f/+/v7//////7Kysv/Q0ND//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/0NDQ/7Kysv///////v7+//39/f/8/Pz/+vr6//j4 + +P/29vb/8/Pz/7Kysv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ALKy + sv/z8/P/9vb2//j4+P/6+vr//Pz8//39/f/+/v7/srKy/9DQ0P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8 + /P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8/9DQ0P+ysrL//v7+//39 + /f/8/Pz/+vr6//j4+P/29vb/8/Pz/7Kysv////8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////ALKysv/z8/P/9vb2//j4+P/6+vr//Pz8//39/f+ysrL/0dHR//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/R0dH/srKy//39/f/8/Pz/+vr6//j4+P/29vb/8/Pz/7Kysv////8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////ALKysv/z8/P/9fX1//j4+P/5+fn/+/v7/7Kysv/R0dH//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3/0dHR/7Kysv/7+/v/+fn5//j4+P/19fX/8/Pz/7Kysv////8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////ALKysv/y8vL/9fX1//f39//5+fn/srKy/9HR + 0f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39 + /f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39/9HR0f+ysrL/+fn5//f39//19fX/8vLy/7Ky + sv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ALKysv/y8vL/9PT0//b2 + 9v+ysrL/0dHR//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+ + /v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/R0dH/srKy//b2 + 9v/09PT/8vLy/7Kysv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ALKy + sv/x8fH/8/Pz/7Kysv/R0dH//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+ + /v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+ + /v/+/v7/0dHR/7Kysv/z8/P/8fHx/7Kysv////8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////ALKysv/w8PD/srKy/9HR0f/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+ + /v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+ + /v/+/v7//v7+//7+/v/+/v7//v7+/9HR0f+ysrL/8PDw/7Kysv////8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////ALKysv+ysrL/0tLS//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////S0tL/srKy/7Kysv////8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////ALKysv+ysrL///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////srKy/7Ky + sv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ALKyspaysrL/srKy/7Ky + sv+ysrL/srKy/7Kysv+ysrL/srKy/7Kysv+ysrL/srKy/7Kysv+ysrL/srKy/7Kysv+ysrL/srKy/7Ky + sv+ysrL/srKy/7Kysv+ysrL/srKy/7Kysv+ysrL/srKy/7Kysv+ysrL/srKy/7Kysv+ysrL/srKy/7Ky + sv+ysrL/srKy/7Kyspb///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////8AAP///////wAA//////// + AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAPgA + AAAAPwAA+AAAAAA/AAD4AAAAAD8AAPgAAAAAPwAA+AAAAAA/AAD4AAAAAD8AAPgAAAAAPwAA+AAAAAA/ + AAD4AAAAAD8AAPgAAAAAPwAA+AAAAAA/AAD4AAAAAD8AAPgAAAAAPwAA+AAAAAA/AAD4AAAAAD8AAPgA + AAAAPwAA+AAAAAA/AAD4AAAAAD8AAPgAAAAAPwAA+AAAAAA/AAD4AAAAAD8AAPgAAAAAPwAA+AAAAAA/ + AAD4AAAAAD8AAPgAAAAAPwAA+AAAAAA/AAD4AAAAAD8AAPgAAAAAPwAA////////AAD///////8AAP// + /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA//////// + AAA= + + + \ No newline at end of file diff --git a/Logbuch/Logbuch/Logbuch/frmSchuldbrief.vb b/Logbuch/Logbuch/Logbuch/frmSchuldbrief.vb new file mode 100644 index 0000000..8d93801 --- /dev/null +++ b/Logbuch/Logbuch/Logbuch/frmSchuldbrief.vb @@ -0,0 +1,682 @@ +Imports System.Text.RegularExpressions + +Public Class frmSchuldbrief + Dim m_key As Integer + Property SchuldbriefNr As Integer + Get + Return m_key + End Get + Set(value As Integer) + m_key = value + End Set + End Property + + Dim data As New DataTable + Dim Sachbearbeiter As New DataTable + Dim Standardbemerkung As New DataTable + Dim Gegenpartei As New DataTable + Dim GrundBuch As New DataTable + Dim daten As New DataTable + Dim db As New clsdbhandling + Dim FormReadonly As Boolean = False + Dim FormDataChanged As Boolean = False + Dim Madaten As New DataTable + + +#Region "Closing / Check_Changes" + + ''' + ''' Schliessen des Formulars + ''' + ''' + ''' + ''' + Private Sub ClosingForm(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing + + If Check_Changes() = False Then + e.Cancel = True + Else + + Me.Dispose() + End If + End Sub + + ''' + ''' Prüfung, ob Datenänderungen vorgenommen wurden. + ''' + ''' + Private Function Check_Changes(Optional ByVal reload As Boolean = False) As Boolean + If Me.FormReadonly Then Return True + Dim msgres As MsgBoxResult + If Me.FormDataChanged Then + msgres = MsgBox("Die Daten wurden verändert. Wollen Sie dies speichern?", vbYesNoCancel + vbQuestion) + Select Case msgres + Case MsgBoxResult.Yes + Save_Data() + Return True + Case MsgBoxResult.Cancel + Return False + Case MsgBoxResult.No + If reload = True Then + Me.Get_Data() + End If + Me.FormDataChanged = False + Return True + End Select + Else + Return True + End If + End Function + +#End Region + + +#Region "Eventhandler ChangeEreignisse" + ''' + ''' Allg Eventhandler für Chanage-Ereignise festlegen + ''' + ''' + ''' + Private Sub AddChanges(ByVal Container As Control) + Dim l As New List(Of Control) + Me.GetControl(Me, "*", l) + Dim evh As EventHandler = AddressOf ChangesMade + For Each c As Control In l + If TypeOf c Is TextBox Then + Dim ctl As TextBox = c + AddHandler ctl.TextChanged, evh + End If + If TypeOf c Is MaskedTextBox Then + Dim ctl As MaskedTextBox = c + AddHandler ctl.TextChanged, evh + End If + If TypeOf c Is ComboBox Then + Dim ctl As ComboBox = c + AddHandler ctl.SelectedValueChanged, evh + End If + If TypeOf c Is CheckBox Then + Dim ctl As CheckBox = c + AddHandler ctl.CheckedChanged, evh + End If + Next + + End Sub + ''' + ''' Envent-Handler für Change-Ereignisse + ''' + ''' + ''' + ''' + Private Sub ChangesMade(ByVal sender As Object, ByVal e As System.EventArgs) + Me.FormDataChanged = True + Dim objtype As System.Type = sender.GetType + If objtype.Name = "MaskedTextBox" Then + Dim o As MaskedTextBox = sender + If o.Text = "01.01.1900" Then o.Text = " . . " + End If + End Sub + + ''' + ''' Sucht in den Base-Controls sämtliche Controls mit dem Namen in "Key" (Wildcards * möglich) und listet + ''' die gefundnen Controls in der Liste L zur weiteren Bearbeitung + ''' + ''' Base-Contrlo (z.B. aktuelles Formular + ''' Schlüssel welcher gesucht werden soll + ''' Liste der gefundenen Objekte + ''' True wenn eines oder mehr Controls gefunden wurden, false wenn kein Control gefunden wurde. + ''' + ''' + Private Function GetControl(ByVal BaseControl As Control, ByVal Key As String, ByRef L As List(Of Control), Optional ByVal ReturnAtFirstElement As Boolean = False) As Boolean + If L Is Nothing Then L = New List(Of Control) + Dim Gut As Boolean + Dim ReturnFlag As Boolean = False + If Key IsNot Nothing Then Key = Key.ToLower + + If BaseControl.HasChildren = True Then + For Each ctl As Control In BaseControl.Controls + Gut = False + If Key Is Nothing Then + Gut = True + Else + If ctl.Name.Length >= Key.Length Then + Key = Key.ToLower + If Key.StartsWith("*") Then + If Key.Substring(1) = ctl.Name.ToLower.Substring(ctl.Name.Length - (Key.Length - 1), Key.Length - 1) Then Gut = True + ElseIf Key.EndsWith("*") Then + If Key.Substring(0, Key.Length - 1) = ctl.Name.ToLower.Substring(0, Key.Length - 1) Then Gut = True + Else + If Key = ctl.Name.ToLower Then Gut = True + End If + End If + End If + + If Gut = True Then + L.Add(ctl) + If ReturnAtFirstElement = True Then ReturnFlag = True + End If + If ReturnFlag = False Then + Call GetControl(ctl, Key, L) + End If + Next + End If + + If L.Count - 1 > -1 Then + Return True + Else + Return False + End If + End Function + + + + Private Sub dtPicker_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles _ + dtPickerDatum.Leave, dtPickerEingangSB.Leave, dtpickerGemahntEmpfangsschein2.Leave, dtpickerGemahntSchuldbrief1.Leave, dtpickerGemahntEmpfangsschein1.Leave, dtpickerGemahntSchuldbrief2.Leave, + dtpickerMahnungEmpfangsschein1.Leave, dtpickerMahnungEmpfangsschein2.Leave, dtpickermahnungSchuldbrief2.Leave, dtpickerMahnungSchuldbrief1.Leave, + dtpickerTerminEmpfangsschein.Leave, dtpickerTerminSchuldbrief.Leave, dtPickerEingangSB.Leave + If OnLoad Then Exit Sub + Dim s As String + Dim obj As DateTimePicker = sender + s = obj.Name + 'Check_Datum(Me.Vertragselement.iVertragselementnr.Value, obj.Value, obj.Name) + End Sub + + ''' + ''' Handelt das Change-Ereignis eines Datetimepckers und stellt das ausgewählte Datum in das entsprechende Textfeld + ''' + ''' + ''' + ''' + Private Sub DateTimePicker_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _ + dtPickerDatum.ValueChanged, dtPickerEingangSB.ValueChanged, dtpickerGemahntEmpfangsschein2.ValueChanged, dtpickerGemahntSchuldbrief1.ValueChanged, dtpickerGemahntEmpfangsschein1.ValueChanged, dtpickerGemahntSchuldbrief2.ValueChanged, + dtpickerMahnungEmpfangsschein1.ValueChanged, dtpickerMahnungEmpfangsschein2.ValueChanged, dtpickermahnungSchuldbrief2.ValueChanged, dtpickerMahnungSchuldbrief1.ValueChanged, + dtpickerTerminEmpfangsschein.ValueChanged, dtpickerTerminSchuldbrief.ValueChanged, dtPickerEingangSB.ValueChanged + If OnLoad Then Exit Sub + Dim s As String + Dim obj As DateTimePicker = sender + s = obj.Name + s = "txt" + s.Substring(8, s.Length - 8) + Dim l As New List(Of Control) + Dim txtb As MaskedTextBox + GetControl(Me, s, l) + For Each ctl As Control In l + txtb = CType(ctl, MaskedTextBox) + txtb.Text = obj.Value + Next + + + End Sub + +#End Region + + Dim OnLoad As Boolean = False + Dim Isnew As Boolean = False + + Private Sub frmSchuldbrief_Load(sender As Object, e As EventArgs) Handles MyBase.Load + If Me.SchuldbriefNr = -1 Then + Dim data As New DataTable + data = db.Insert_New_Entry("Logbuch") + Me.SchuldbriefNr = data.Rows(0).Item(0) + Me.txtDatum.Text = Now.ToShortDateString + Me.txtPartnernr.Select() + Isnew = True + + End If + + + AddChanges(Me) + Get_Data() + Me.FormDataChanged = False + If Globals.Userdaten.Rows(0).Item("es_bearbeiten") = False Then + Me.tsbtensave.Enabled = False + Me.tsbtndelete.Enabled = False + Me.FormReadonly = True + End If + OnLoad = True + + Me.dtPickerDatum.Value = DateTime.Now.ToShortDateString + Me.dtPickerEingangSB.Value = DateTime.Now.ToShortDateString + Me.dtpickerGemahntEmpfangsschein1.Value = DateTime.Now.ToShortDateString + Me.dtpickerGemahntEmpfangsschein2.Value = DateTime.Now.ToShortDateString + Me.dtpickerGemahntSchuldbrief1.Value = DateTime.Now.ToShortDateString + Me.dtpickerGemahntSchuldbrief2.Value = DateTime.Now.ToShortDateString + Me.dtpickerMahnungEmpfangsschein1.Value = DateTime.Now.ToShortDateString + Me.dtpickerMahnungEmpfangsschein2.Value = DateTime.Now.ToShortDateString + Me.dtpickerMahnungSchuldbrief1.Value = DateTime.Now.ToShortDateString + Me.dtpickermahnungSchuldbrief2.Value = DateTime.Now.ToShortDateString + Me.dtpickerTerminEmpfangsschein.Value = DateTime.Now.ToShortDateString + Me.dtpickerTerminSchuldbrief.Value = DateTime.Now.ToShortDateString + + Me.dtPickerDatum.ResetText() + Me.dtPickerEingangSB.ResetText() + Me.dtpickerGemahntEmpfangsschein1.ResetText() + Me.dtpickerGemahntEmpfangsschein2.ResetText() + Me.dtpickerGemahntSchuldbrief1.ResetText() + Me.dtpickerGemahntSchuldbrief2.ResetText() + Me.dtpickerMahnungEmpfangsschein1.ResetText() + Me.dtpickerMahnungEmpfangsschein2.ResetText() + Me.dtpickerMahnungSchuldbrief1.ResetText() + Me.dtpickermahnungSchuldbrief2.ResetText() + Me.dtpickerTerminEmpfangsschein.ResetText() + Me.dtpickerTerminSchuldbrief.ResetText() + + If Isnew Then Me.txtDatum.Text = Now.ToShortDateString + OnLoad = False + End Sub + + Sub Get_Data() + + Madaten = db.Fill_Combobox1(cbboxSachbearbeiter, "select nrbenutzer as id, isnull(name+' '+vorname+','+tgnummer,'') as bezeichnung, kurzzeichen, tgnummer from benutzer where aktiv=1 order by name, vorname", False, True) + db.Fill_Combobox(cbboxstandardbemerkung, "select bemerkungsnr as id, isnull(bemerkung,'') as bezeichnung from bemerkungen order by bemerkung", False, True) + db.Fill_Combobox(cbboxgegenpartei, "Select Gegenparteinr as id, isnull(bezeichnung,'') as bezeichnung from gegenpartei order by bezeichnung", False, True) + db.Fill_Combobox(cbboxGrundbuch, "Select GrundbuchNr as id, isnull(grundbuch,'') as bezeichnung from Grundbuch where aktiv=1 order by grundbuch", False, True) + daten = db.Get_Tabledata("select * from logbuch where nreintrag = " & Me.SchuldbriefNr.ToString, False, True) + + Update_DatetimePicker(Me.dtPickerDatum, "datum") + Me.txtPartnernr.Text = Getdata("Partnernr") + Refresh_Kurzname() + + + Me.cbboxSachbearbeiter.SelectedValue = Getdata("Mitarbeiter") + Me.cbboxstandardbemerkung.SelectedValue = Getdata("stdbemerkung") + Me.cbboxgegenpartei.SelectedValue = Getdata("Gegenpartei") + Me.txtNominal.Text = Getdata("Nominal") + format_Currency() + Me.cbeuro.Checked = Getdata("euro") = "1" + Me.cbboxRang.SelectedText = Getdata("rang") + Me.cbschuldbrief.Checked = Getdata("schuldbrief") = "1" + Me.cbgrundpfandverschreibung.Checked = Getdata("grundpfandverschreibung") = "1" + Me.cbpfandbrief.Checked = Getdata("Pfandbrief") = "1" + Me.cbprovauslieferung.Checked = Getdata("provauslieferung") = "1" + Me.cbdevauslieferung.Checked = Getdata("defauslieferung") = "1" + Me.cbneugeschäft.Checked = Getdata("Neugeschaeft") = "1" + Me.cbtitelvorhanden.Checked = Getdata("Titel_Vorhanden") = "1" + Me.cbeinlieferung.Checked = Getdata("einlieferung") = "1" + Me.cbempfangsscheinerhalten.Checked = Getdata("empfangsschein_erhalten") = "1" + Me.cberledigt.Checked = Getdata("erledigt") = "1" + Me.cbaktiv.Checked = Getdata("aktiv") = "1" + Me.txtLSNr.Text = Getdata("lsnr") + Me.cbboxGrundbuch.SelectedValue = Getdata("GrundbuchNr") + Update_DatetimePicker(Me.dtpickerTerminEmpfangsschein, "termin") + Update_DatetimePicker(Me.dtpickerTerminSchuldbrief, "termin2") + Update_DatetimePicker(Me.dtpickerMahnungEmpfangsschein1, "faellig1") + Update_DatetimePicker(Me.dtpickerMahnungEmpfangsschein2, "faellig2") + Update_DatetimePicker(Me.dtpickerGemahntEmpfangsschein1, "mahndatum11") + Update_DatetimePicker(Me.dtpickerGemahntEmpfangsschein2, "mahndatum12") + + Update_DatetimePicker(Me.dtpickerMahnungSchuldbrief1, "faellig3") + Update_DatetimePicker(Me.dtpickermahnungSchuldbrief2, "faellig4") + Update_DatetimePicker(Me.dtpickerGemahntSchuldbrief1, "mahndatum21") + Update_DatetimePicker(Me.dtpickerGemahntSchuldbrief2, "mahndatum22") + + Update_DatetimePicker(Me.dtPickerEingangSB, "eingang_schuldbrief") + + Me.txtbemerkung.Text = Getdata("Bemerkung") + End Sub + Sub Save_Data() + Update_Table("Datum", txtDatum.Text) + Update_Table("Partnernr", txtPartnernr.Text.ToString.Replace(".", "")) + Update_Table("Mitarbeiter", cbboxSachbearbeiter.SelectedValue) + Update_Table("stdbemerkung", cbboxstandardbemerkung.SelectedValue) + Update_Table("Gegenpartei", cbboxgegenpartei.SelectedValue) + Update_Table("GrundbuchNr", cbboxGrundbuch.SelectedValue) + Dim s As String + s = Me.txtNominal.Text.Replace(My.Settings.Waehrung, "") + s = s.Replace("€", "") + ' s = s.Replace(" ", "") + s = Regex.Replace(s, My.Settings.NumRegex, "") + + Update_Table("Nominal", s) + Update_Table("Euro", cbeuro.Checked = True) + Update_Table("Rang", cbboxRang.Text) + Update_Table("schuldbrief", cbschuldbrief.Checked = True) + Update_Table("grundpfandverschreibung", Me.cbgrundpfandverschreibung.Checked = True) + Update_Table("Pfandbrief", cbpfandbrief.Checked = True) + Update_Table("ProvAuslieferung", Me.cbprovauslieferung.Checked = True) + Update_Table("defauslieferung", Me.cbdevauslieferung.Checked = True) + Update_Table("neugeschaeft", Me.cbneugeschäft.Checked = True) + Update_Table("Titel_Vorhanden", Me.cbtitelvorhanden.Checked = True) + Update_Table("einlieferung", Me.cbeinlieferung.Checked = True) + Update_Table("empfangsschein_erhalten", Me.cbempfangsscheinerhalten.Checked = True) + Update_Table("erledigt", Me.cberledigt.Checked = True) + Update_Table("aktiv", Me.cbaktiv.Checked = True) + Update_Table("Termin", txtTerminEmpfangsschein.Text) + Update_Table("termin2", Me.txtTerminSchuldbrief.Text) + Update_Table("faellig1", Me.txtMahnungEmpfangsschein1.Text) + Update_Table("faellig2", Me.txtMahnungEmpfangsschein2.Text) + Update_Table("mahndatum11", Me.txtGemahntEmpfangsschein1.Text) + Update_Table("mahndatum12", Me.txtGemahntEmpfangsschein2.Text) + + Update_Table("faellig3", Me.txtMahnungSchuldbrief1.Text) + Update_Table("faellig4", Me.txtmahnungSchuldbrief2.Text) + Update_Table("mahndatum21", Me.txtGemahntSchuldbrief1.Text) + Update_Table("mahndatum22", Me.txtGemahntSchuldbrief2.Text) + + Update_Table("eingang_schuldbrief", Me.txtEingangSB.Text) + Update_Table("lsnr", Me.txtLSNr.Text) + + Update_Table("Bemerkung", Me.txtbemerkung.Text) + Update_Table("mutationsdatum", Now) + Update_Table("Mutierer", Globals.Userdaten.Rows(0).Item(0)) + db.updatedata("select * from logbuch where nreintrag = " & Me.SchuldbriefNr.ToString, daten, False, True) + Me.FormDataChanged = False + End Sub + + Sub Update_Table(ByVal Tag As String, ByVal Val As Object) + Try + Try + If Val = " . ." Then + Val = "1900-01-01" + End If + ' Val = Val.ToString.Replace(".", "") + 'Val = Trim(Val) + daten.Rows(0).Item(Tag) = Val + Catch + End Try + + daten.Rows(0).Item(Tag) = Val + + Catch + End Try + + End Sub + Public Sub Update_DatetimePicker(ByRef dtpicker As System.Windows.Forms.DateTimePicker, ByVal field As String) + + Try + dtpicker.Value = Getdata(field) + Catch + dtpicker.Value = "01.01.1900" + End Try + + End Sub + Function Getdata(tag As String) As Object + Dim s As Object + s = daten.Rows(0).Item(tag) + + If s Is System.DBNull.Value Then + s = "" + If daten.Columns(0).DataType = GetType(DateTime) Then s = "01.01.1900" + End If + + Return s + End Function + + + + Private Sub tsbtensave_Click(sender As Object, e As EventArgs) Handles tsbtensave.Click + Save_Data() + End Sub + + Private Sub tsbtnexit_Click(sender As Object, e As EventArgs) Handles tsbtnexit.Click + Me.Close() + End Sub + + Private Sub txtNominal_TextChanged(sender As Object, e As EventArgs) Handles txtNominal.Leave + format_Currency() + End Sub + Sub format_Currency() + Dim dec As Decimal + If Decimal.TryParse(txtNominal.Text, System.Globalization.NumberStyles.Currency, Nothing, dec) Then + txtNominal.Text = dec.ToString("C") + If Me.cbeuro.Checked Then Me.txtNominal.Text = Me.txtNominal.Text.Replace(My.Settings.Waehrung, "€") + + End If + Exit Sub + + End Sub + + Private Sub cbeuro_CheckedChanged(sender As Object, e As EventArgs) Handles cbeuro.CheckedChanged + If Me.cbeuro.Checked Then + Me.txtNominal.Text = txtNominal.Text.Replace(My.Settings.Waehrung, "€") + + End If + If Me.cbeuro.Checked = False Then + Me.txtNominal.Text = txtNominal.Text.Replace("€", My.Settings.Waehrung) + End If + End Sub + + Private Sub btnPartner_Click(sender As Object, e As EventArgs) Handles btnPartner.Click + Dim f As New frmPartnersuche + f.ShowDialog + If f.DialogResult = DialogResult.OK Then + Me.txtPartnernr.Text = f.PartnerNr + refresh_Kurzname + End If + End Sub + + Sub Refresh_Kurzname() + Try + + data = db.Get_Tabledata("Select bkpar00 from partner where nrpar00=" & txtPartnernr.Text.ToString.Replace(".", ""), False, True) + If data.Rows.Count < 1 And txtPartnernr.Text <> "0" And txtPartnernr.Text <> "" Then + MsgBox("Der eingegebene Partner " + Me.txtPartnernr.Text + " ist nicht vorhanden.", vbExclamation) + Exit Sub + End If + Me.txtKurzname.Text = data.Rows(0).Item(0) + Try + Dim s As String = Me.txtPartnernr.Text.Replace(".", "") + s = s.Trim + s = Microsoft.VisualBasic.Left(s, Len(s) - 4) + "." + Microsoft.VisualBasic.Right(s, 4) + Me.txtPartnernr.Text = s + Catch ex As Exception + + End Try + + Catch + End Try + End Sub + + Private Sub tsbtndelete_Click(sender As Object, e As EventArgs) Handles tsbtndelete.Click + If MsgBox("Datensatz wirklich löschen?", vbYesNo + vbQuestion) = vbYes Then + Update_Table("mutationsdatum", Now) + Update_Table("Mutierer", Globals.Userdaten.Rows(0).Item(0)) + Update_Table("Aktiv", False) + db.updatedata("select * from logbuch where nreintrag = " & Me.SchuldbriefNr.ToString, daten, False, True) + Me.FormDataChanged = False + Me.Close() + End If + End Sub + + + Private Sub txtPartnernr_Leave(sender As Object, e As EventArgs) Handles txtPartnernr.Leave + Refresh_Kurzname() + End Sub + + Private Sub dtpickerTerminSchuldbrief_DropDown(sender As Object, e As EventArgs) Handles dtpickerTerminSchuldbrief.DropDown + + End Sub + + Private Sub cbboxSachbearbeiter_Leave(sender As Object, e As EventArgs) Handles cbboxSachbearbeiter.Leave + If Me.cbboxSachbearbeiter.SelectedValue Is Nothing Then + For Each r As DataRow In Madaten.Rows + Try + If UCase(r("Kurzzeichen")) = UCase(Me.cbboxSachbearbeiter.Text) Or UCase(r("Tgnummer")) = UCase(Me.cbboxSachbearbeiter.Text) Then + Me.cbboxSachbearbeiter.SelectedValue = r.Item(0) + End If + Catch + End Try + + Next + End If + For i As Integer = 0 To Me.cbboxSachbearbeiter.Items.Count - 1 + Dim x As ComboboxItem = Me.cbboxSachbearbeiter.Items(i) + If UCase(Me.cbboxSachbearbeiter.Text) = UCase(x.Bezeichnung.ToString) Then Exit Sub + + Next + MsgBox("Eingegebne Sachbearbeiter ist nicht vohrnaden. Bitte korrigieren", vbExclamation) + Me.cbboxSachbearbeiter.SelectAll() + Me.cbboxSachbearbeiter.Select() + End Sub + + + Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click + If MsgBox("Alle erfassten Termine löschen?", vbYesNo + vbQuestion) = vbYes Then + Me.txtTerminEmpfangsschein.Text = "" + Me.txtTerminSchuldbrief.Text = "" + Me.txtMahnungSchuldbrief1.Text = "" + Me.txtmahnungSchuldbrief2.Text = "" + Me.txtMahnungEmpfangsschein1.Text = "" + Me.txtMahnungEmpfangsschein2.Text = "" + Me.txtGemahntEmpfangsschein1.Text = "" + Me.txtGemahntEmpfangsschein2.Text = "" + Me.txtGemahntSchuldbrief1.Text = "" + Me.txtGemahntSchuldbrief2.Text = "" + End If + + End Sub + + Private Sub cbprovauslieferung_Click(sender As Object, e As EventArgs) Handles cbprovauslieferung.Click + If cbprovauslieferung.Checked And cbdevauslieferung.Checked Then + cbdevauslieferung.Checked = False + End If + 'If cbprovauslieferung.Checked Then + ' cbdevauslieferung.Checked = False + 'Else + ' cbdevauslieferung.Checked = True + 'End If + Update_Datum() + End Sub + Private Sub cbpdevauslieferung_Click(sender As Object, e As EventArgs) Handles cbdevauslieferung.Click + If cbdevauslieferung.Checked And cbprovauslieferung.Checked Then + cbprovauslieferung.Checked = False + End If + 'If cbdevauslieferung.Checked Then + ' cbprovauslieferung.Checked = False + 'Else + ' cbprovauslieferung.Checked = True + 'End If + Update_Datum() + End Sub + + Private Sub cbschuldbrief_Click(sender As Object, e As EventArgs) Handles cbschuldbrief.Click + If cbschuldbrief.Checked Then + cbgrundpfandverschreibung.Checked = False + Else + cbgrundpfandverschreibung.Checked = True + End If + + End Sub + Private Sub cbgrundpfandverschreibung_Click(sender As Object, e As EventArgs) Handles cbgrundpfandverschreibung.Click + If cbgrundpfandverschreibung.Checked Then + cbschuldbrief.Checked = False + Else + cbschuldbrief.Checked = True + End If + + End Sub + + + Sub Update_Datum() + If Me.cbprovauslieferung.Checked = True Then + If Me.txtTerminEmpfangsschein.Text = " . ." Then + Me.txtTerminEmpfangsschein.Text = Now.ToShortDateString + Me.txtMahnungEmpfangsschein1.Text = DateAdd(DateInterval.Day, Globals.Applikationsdaten.Rows(0).Item("esmahnfrist1"), Now).ToShortDateString + Me.txtMahnungEmpfangsschein2.Text = DateAdd(DateInterval.Day, Globals.Applikationsdaten.Rows(0).Item("esmahnfrist1") + Globals.Applikationsdaten.Rows(0).Item("esmahnfrist2"), Now).ToShortDateString + End If + If Me.txtTerminSchuldbrief.Text = " . ." Then + Me.txtTerminSchuldbrief.Text = Now.ToShortDateString + Me.txtMahnungSchuldbrief1.Text = DateAdd(DateInterval.Day, Globals.Applikationsdaten.Rows(0).Item("sbmahnfrist1"), Now).ToShortDateString + Me.txtmahnungSchuldbrief2.Text = DateAdd(DateInterval.Day, Globals.Applikationsdaten.Rows(0).Item("sbmahnfrist1") + Globals.Applikationsdaten.Rows(0).Item("sbmahnfrist2"), Now).ToShortDateString + End If + Exit Sub + End If + If Me.cbdevauslieferung.Checked = True Then + If Me.txtTerminEmpfangsschein.Text = " . ." Then + Me.txtTerminEmpfangsschein.Text = Now.ToShortDateString + Me.txtMahnungEmpfangsschein1.Text = DateAdd(DateInterval.Day, Globals.Applikationsdaten.Rows(0).Item("esmahnfrist1"), Now).ToShortDateString + Me.txtMahnungEmpfangsschein2.Text = DateAdd(DateInterval.Day, Globals.Applikationsdaten.Rows(0).Item("esmahnfrist1") + Globals.Applikationsdaten.Rows(0).Item("esmahnfrist2"), Now).ToShortDateString + End If + + End If + + End Sub + + + Private Sub cbtitelvorhanden_CheckedChanged(sender As Object, e As EventArgs) Handles cbtitelvorhanden.CheckedChanged + If cbtitelvorhanden.Checked = True Then + Me.txtTerminSchuldbrief.Text = "" + Me.txtMahnungSchuldbrief1.Text = "" + Me.txtmahnungSchuldbrief2.Text = "" + + End If + End Sub + + Private Sub cbempfangsscheinerhalten_CheckedChanged(sender As Object, e As EventArgs) Handles cbempfangsscheinerhalten.CheckedChanged + If cbempfangsscheinerhalten.Checked = True Then + Me.txtTerminEmpfangsschein.Text = "" + Me.txtMahnungEmpfangsschein1.Text = "" + Me.txtMahnungEmpfangsschein2.Text = "" + End If + End Sub + + Private Sub cberledigt_CheckedChanged(sender As Object, e As EventArgs) Handles cberledigt.CheckedChanged + If Me.cberledigt.Checked = True Then + Me.txtEingangSB.Select() + 'If Me.txtEingangSB.Text = " . ." Then Me.txtEingangSB.Text = Now.ToShortDateString + End If + + End Sub + + + + Private Sub txtPartnernr_KeyDown(sender As Object, e As KeyEventArgs) Handles txtPartnernr.KeyDown + If e.KeyCode = Keys.Enter Then txtPartnernr_Leave(sender, e) + End Sub + + Private Sub txtEingangSB_KeyDown(sender As Object, e As KeyEventArgs) Handles txtEingangSB.KeyDown + If e.KeyCode = Keys.Enter Then + If Me.txtEingangSB.Text = " . ." Then + Me.txtEingangSB.Text = Now + End If + End If + End Sub + + + Private Sub txtLSNr_Leave(sender As Object, e As EventArgs) Handles txtLSNr.Leave + Me.txtLSNr.Text = UCase(txtLSNr.Text) + End Sub + + Sub insert_new_Type(ByVal Typ As String) + Dim s As String + Dim cbo As New ComboBox + s = InputBox("Neuer Eintrag eingeben: " + Typ, "Neuer Eintrag erfassen") + If s <> "" Then + db.insert_stammdaten(Typ, s) + Select Case Typ + Case "Grundbuch" + db.Fill_Combobox(cbboxGrundbuch, "Select GrundbuchNr as id, isnull(grundbuch,'') as bezeichnung from Grundbuch where aktiv=1 order by grundbuch", False, True) + cbo = cbboxGrundbuch + Case "Gegenpartei" + db.Fill_Combobox(cbboxgegenpartei, "Select Gegenparteinr as id, isnull(bezeichnung,'') as bezeichnung from gegenpartei order by bezeichnung", False, True) + cbo = cbboxgegenpartei + Case "StdBemerkung" + db.Fill_Combobox(cbboxstandardbemerkung, "select bemerkungsnr as id, isnull(bemerkung,'') as bezeichnung from bemerkungen order by bemerkung", False, True) + cbo = cbboxstandardbemerkung + End Select + + For i = 0 To cbo.Items.Count - 1 + cbo.SelectedIndex = i + If cbo.Text = s Then + cbo.SelectedIndex = i + Exit For + End If + Next + End If + End Sub + + Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click + insert_new_Type("Grundbuch") + End Sub + + Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click + insert_new_Type("Gegenpartei") + End Sub + + Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click + insert_new_Type("StdBemerkung") + End Sub + + Private Sub cbprovauslieferung_CheckedChanged(sender As Object, e As EventArgs) Handles cbprovauslieferung.CheckedChanged + + End Sub +End Class + diff --git a/Logbuch/Logbuch/My Project/Application.Designer.vb b/Logbuch/Logbuch/My Project/Application.Designer.vb new file mode 100644 index 0000000..e5e9474 --- /dev/null +++ b/Logbuch/Logbuch/My Project/Application.Designer.vb @@ -0,0 +1,43 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.42000 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + 'HINWEIS: Diese Datei wird automatisch generiert und darf nicht direkt bearbeitet werden. Wenn Sie Änderungen vornehmen möchten + ' oder in dieser Datei Buildfehler auftreten, wechseln Sie zum Projekt-Designer. + ' (Wechseln Sie dazu zu den Projekteigenschaften, oder doppelklicken Sie auf den Knoten "Mein Projekt" im + ' Projektmappen-Explorer). Nehmen Sie auf der Registerkarte "Anwendung" entsprechende Änderungen vor. + ' + Partial Friend Class MyApplication + + _ + Public Sub New() + MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows) + Me.IsSingleInstance = false + Me.EnableVisualStyles = true + Me.SaveMySettingsOnExit = true + Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses + End Sub + + _ + Protected Overrides Sub OnCreateMainForm() + Me.MainForm = Global.Logbuch.Form1 + End Sub + + _ + Protected Overrides Sub OnCreateSplashScreen() + Me.SplashScreen = Global.Logbuch.frmSplash + End Sub + End Class +End Namespace diff --git a/Logbuch/Logbuch/My Project/Application.myapp b/Logbuch/Logbuch/My Project/Application.myapp new file mode 100644 index 0000000..ed2cbed --- /dev/null +++ b/Logbuch/Logbuch/My Project/Application.myapp @@ -0,0 +1,11 @@ + + + true + Form1 + false + 0 + true + 0 + frmSplash + true + \ No newline at end of file diff --git a/Logbuch/Logbuch/My Project/AssemblyInfo.vb b/Logbuch/Logbuch/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..dc9ed37 --- /dev/null +++ b/Logbuch/Logbuch/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' Allgemeine Informationen über eine Assembly werden über die folgenden +' Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, +' die einer Assembly zugeordnet sind. + +' Werte der Assemblyattribute überprüfen + + + + + + + + + + +'Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird. + + +' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: +' +' Hauptversion +' Nebenversion +' Buildnummer +' Revision +' +' Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden, +' übernehmen, indem Sie "*" eingeben: +' + + + diff --git a/Logbuch/Logbuch/My Project/Resources.Designer.vb b/Logbuch/Logbuch/My Project/Resources.Designer.vb new file mode 100644 index 0000000..ddee2eb --- /dev/null +++ b/Logbuch/Logbuch/My Project/Resources.Designer.vb @@ -0,0 +1,62 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My.Resources + + 'This class was auto-generated by the StronglyTypedResourceBuilder + 'class via a tool like ResGen or Visual Studio. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("Logbuch.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set(ByVal value As Global.System.Globalization.CultureInfo) + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/Logbuch/Logbuch/My Project/Resources.resx b/Logbuch/Logbuch/My Project/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/Logbuch/Logbuch/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Logbuch/Logbuch/My Project/Settings.Designer.vb b/Logbuch/Logbuch/My Project/Settings.Designer.vb new file mode 100644 index 0000000..eb9d694 --- /dev/null +++ b/Logbuch/Logbuch/My Project/Settings.Designer.vb @@ -0,0 +1,97 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.42000 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "Automatische My.Settings-Speicherfunktion" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + + _ + Public Property Waehrung() As String + Get + Return CType(Me("Waehrung"),String) + End Get + Set + Me("Waehrung") = value + End Set + End Property + + _ + Public Property NumRegex() As String + Get + Return CType(Me("NumRegex"),String) + End Get + Set + Me("NumRegex") = value + End Set + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.Logbuch.My.MySettings + Get + Return Global.Logbuch.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/Logbuch/Logbuch/My Project/Settings.settings b/Logbuch/Logbuch/My Project/Settings.settings new file mode 100644 index 0000000..84b76d9 --- /dev/null +++ b/Logbuch/Logbuch/My Project/Settings.settings @@ -0,0 +1,12 @@ + + + + + + CHF + + + [^0-9.] + + + \ No newline at end of file diff --git a/Logbuch/Logbuch/My Project/licenses.licx b/Logbuch/Logbuch/My Project/licenses.licx new file mode 100644 index 0000000..ca71bdd --- /dev/null +++ b/Logbuch/Logbuch/My Project/licenses.licx @@ -0,0 +1,4 @@ +C1.Win.C1Input.C1ComboBox, C1.Win.C1Input.4, Version=4.0.20153.110, Culture=neutral, PublicKeyToken=7e7ff60f0c214f9a +C1.Win.C1Command.C1RadialMenu, C1.Win.C1Command.4, Version=4.0.20153.110, Culture=neutral, PublicKeyToken=e808566f358766d8 +C1.Win.C1TrueDBGrid.C1TrueDBGrid, C1.Win.C1TrueDBGrid.4, Version=4.0.20153.110, Culture=neutral, PublicKeyToken=75ae3fb0e2b1e0da +C1.Win.C1Input.C1Label, C1.Win.C1Input.4, Version=4.0.20153.110, Culture=neutral, PublicKeyToken=7e7ff60f0c214f9a diff --git a/Logbuch/Logbuch/Partner/frmPartnersuche.Designer.vb b/Logbuch/Logbuch/Partner/frmPartnersuche.Designer.vb new file mode 100644 index 0000000..25e4066 --- /dev/null +++ b/Logbuch/Logbuch/Partner/frmPartnersuche.Designer.vb @@ -0,0 +1,240 @@ + _ +Partial Class frmPartnersuche + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmPartnersuche)) + Me.BtnHelp = New System.Windows.Forms.Button() + Me.Label7 = New System.Windows.Forms.Label() + Me.CheckBox1 = New System.Windows.Forms.CheckBox() + Me.BUtton3 = New System.Windows.Forms.Button() + Me.Button2 = New System.Windows.Forms.Button() + Me.Button1 = New System.Windows.Forms.Button() + Me.Label4 = New System.Windows.Forms.Label() + Me.TextBox4 = New System.Windows.Forms.TextBox() + Me.Label3 = New System.Windows.Forms.Label() + Me.TextBox3 = New System.Windows.Forms.TextBox() + Me.Label2 = New System.Windows.Forms.Label() + Me.TextBox2 = New System.Windows.Forms.TextBox() + Me.Label1 = New System.Windows.Forms.Label() + Me.TextBox1 = New System.Windows.Forms.TextBox() + Me.Label6 = New System.Windows.Forms.Label() + Me.PartnerList = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + CType(Me.PartnerList, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'BtnHelp + ' + Me.BtnHelp.Image = CType(resources.GetObject("BtnHelp.Image"), System.Drawing.Image) + Me.BtnHelp.Location = New System.Drawing.Point(10, 332) + Me.BtnHelp.Name = "BtnHelp" + Me.BtnHelp.Size = New System.Drawing.Size(24, 23) + Me.BtnHelp.TabIndex = 82 + Me.BtnHelp.Visible = False + ' + 'Label7 + ' + Me.Label7.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label7.ForeColor = System.Drawing.Color.Red + Me.Label7.Location = New System.Drawing.Point(130, 332) + Me.Label7.Name = "Label7" + Me.Label7.Size = New System.Drawing.Size(344, 32) + Me.Label7.TabIndex = 80 + Me.Label7.Text = "Partner wurde direkt übernommen" + Me.Label7.TextAlign = System.Drawing.ContentAlignment.MiddleCenter + Me.Label7.Visible = False + ' + 'CheckBox1 + ' + Me.CheckBox1.CheckAlign = System.Drawing.ContentAlignment.MiddleRight + Me.CheckBox1.Location = New System.Drawing.Point(562, 52) + Me.CheckBox1.Name = "CheckBox1" + Me.CheckBox1.Size = New System.Drawing.Size(16, 16) + Me.CheckBox1.TabIndex = 77 + Me.CheckBox1.Visible = False + ' + 'BUtton3 + ' + Me.BUtton3.Location = New System.Drawing.Point(8, 331) + Me.BUtton3.Name = "BUtton3" + Me.BUtton3.Size = New System.Drawing.Size(80, 24) + Me.BUtton3.TabIndex = 71 + Me.BUtton3.Text = "Schliessen" + ' + 'Button2 + ' + Me.Button2.Enabled = False + Me.Button2.Location = New System.Drawing.Point(490, 332) + Me.Button2.Name = "Button2" + Me.Button2.Size = New System.Drawing.Size(88, 23) + Me.Button2.TabIndex = 72 + Me.Button2.Text = "Übernehmen" + ' + 'Button1 + ' + Me.Button1.Image = CType(resources.GetObject("Button1.Image"), System.Drawing.Image) + Me.Button1.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.Button1.Location = New System.Drawing.Point(274, 12) + Me.Button1.Name = "Button1" + Me.Button1.Size = New System.Drawing.Size(88, 24) + Me.Button1.TabIndex = 70 + Me.Button1.Text = "&Suchen" + Me.Button1.TextAlign = System.Drawing.ContentAlignment.MiddleRight + ' + 'Label4 + ' + Me.Label4.Location = New System.Drawing.Point(418, 12) + Me.Label4.Name = "Label4" + Me.Label4.Size = New System.Drawing.Size(80, 40) + Me.Label4.TabIndex = 69 + Me.Label4.Text = "Maximale Anzahl Treffer" + ' + 'TextBox4 + ' + Me.TextBox4.Location = New System.Drawing.Point(514, 12) + Me.TextBox4.Name = "TextBox4" + Me.TextBox4.Size = New System.Drawing.Size(64, 20) + Me.TextBox4.TabIndex = 68 + Me.TextBox4.Text = "50" + ' + 'Label3 + ' + Me.Label3.Location = New System.Drawing.Point(10, 60) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(72, 23) + Me.Label3.TabIndex = 67 + Me.Label3.Text = "Freitext" + ' + 'TextBox3 + ' + Me.TextBox3.Location = New System.Drawing.Point(90, 60) + Me.TextBox3.Name = "TextBox3" + Me.TextBox3.Size = New System.Drawing.Size(176, 20) + Me.TextBox3.TabIndex = 66 + ' + 'Label2 + ' + Me.Label2.Location = New System.Drawing.Point(10, 36) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(72, 23) + Me.Label2.TabIndex = 65 + Me.Label2.Text = "Kurzname" + ' + 'TextBox2 + ' + Me.TextBox2.Location = New System.Drawing.Point(90, 36) + Me.TextBox2.Name = "TextBox2" + Me.TextBox2.Size = New System.Drawing.Size(176, 20) + Me.TextBox2.TabIndex = 64 + ' + 'Label1 + ' + Me.Label1.Location = New System.Drawing.Point(10, 12) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(72, 23) + Me.Label1.TabIndex = 63 + Me.Label1.Text = "Partner-Nr." + ' + 'TextBox1 + ' + Me.TextBox1.Location = New System.Drawing.Point(90, 12) + Me.TextBox1.Name = "TextBox1" + Me.TextBox1.Size = New System.Drawing.Size(176, 20) + Me.TextBox1.TabIndex = 62 + ' + 'Label6 + ' + Me.Label6.Location = New System.Drawing.Point(418, 52) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(152, 32) + Me.Label6.TabIndex = 78 + Me.Label6.Text = "Trefferliste immer anzeigen" + Me.Label6.Visible = False + ' + 'PartnerList + ' + Me.PartnerList.AllowUpdate = False + Me.PartnerList.AlternatingRows = True + Me.PartnerList.CellTips = C1.Win.C1TrueDBGrid.CellTipEnum.Floating + Me.PartnerList.FilterBar = True + Me.PartnerList.GroupByCaption = "Drag a column header here to group by that column" + Me.PartnerList.Images.Add(CType(resources.GetObject("PartnerList.Images"), System.Drawing.Image)) + Me.PartnerList.Location = New System.Drawing.Point(8, 87) + Me.PartnerList.Name = "PartnerList" + Me.PartnerList.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.PartnerList.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.PartnerList.PreviewInfo.ZoomFactor = 75.0R + Me.PartnerList.PrintInfo.PageSettings = CType(resources.GetObject("PartnerList.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.PartnerList.PropBag = resources.GetString("PartnerList.PropBag") + Me.PartnerList.Size = New System.Drawing.Size(570, 239) + Me.PartnerList.TabAction = C1.Win.C1TrueDBGrid.TabActionEnum.ColumnNavigation + Me.PartnerList.TabIndex = 83 + Me.PartnerList.Text = "C1TrueDBGrid1" + Me.PartnerList.VisualStyle = C1.Win.C1TrueDBGrid.VisualStyle.Office2010Silver + ' + 'frmPartnersuche + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(592, 370) + Me.Controls.Add(Me.PartnerList) + Me.Controls.Add(Me.BtnHelp) + Me.Controls.Add(Me.Label7) + Me.Controls.Add(Me.CheckBox1) + Me.Controls.Add(Me.BUtton3) + Me.Controls.Add(Me.Button2) + Me.Controls.Add(Me.Button1) + Me.Controls.Add(Me.Label4) + Me.Controls.Add(Me.TextBox4) + Me.Controls.Add(Me.Label3) + Me.Controls.Add(Me.TextBox3) + Me.Controls.Add(Me.Label2) + Me.Controls.Add(Me.TextBox2) + Me.Controls.Add(Me.Label1) + Me.Controls.Add(Me.TextBox1) + Me.Controls.Add(Me.Label6) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmPartnersuche" + Me.Text = "Partner-Suche" + CType(Me.PartnerList, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + + Friend WithEvents BtnHelp As Button + Friend WithEvents Label7 As Label + Friend WithEvents CheckBox1 As CheckBox + Friend WithEvents BUtton3 As Button + Friend WithEvents Button2 As Button + Friend WithEvents Button1 As Button + Friend WithEvents Label4 As Label + Friend WithEvents TextBox4 As TextBox + Friend WithEvents Label3 As Label + Friend WithEvents TextBox3 As TextBox + Friend WithEvents Label2 As Label + Friend WithEvents TextBox2 As TextBox + Friend WithEvents Label1 As Label + Friend WithEvents TextBox1 As TextBox + Friend WithEvents Label6 As Label + Friend WithEvents PartnerList As C1.Win.C1TrueDBGrid.C1TrueDBGrid +End Class diff --git a/Logbuch/Logbuch/Partner/frmPartnersuche.resx b/Logbuch/Logbuch/Partner/frmPartnersuche.resx new file mode 100644 index 0000000..f45d2ad --- /dev/null +++ b/Logbuch/Logbuch/Partner/frmPartnersuche.resx @@ -0,0 +1,463 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAASUlEQVQ4T2OgFfiPAxMF/v/9yI+BQeJQ + jBdg00CSIWCFOTk56AopMoAkF4AARZqRAUWaQQCsGUt4EA0G3gAQoEzz0PcCEYCBAQCfxINLHCrVBwAA + AABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAXElEQVQ4T82PAQrAMAgDfbpP82eOShVX + TdkYjB4cLRoC0nHoooPmBWXmLojmhRzKQTS/oSJijv/U2e2MvHhjYO3LncUmExxQAHS63TCw9vFOETD3 + vWAR8TT3G0QX/nCpA8c1czAAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAADRJREFUKFN1iQEKACAMAv3/p4six3R5IIqHD+v1oIu0Lzy8B0cwQhcpQhSEwrvo + R9qCCWADoKoc5CkvobIAAAAASUVORK5CYII= + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}Style2{}EvenRow{BackColor:White;}Normal{}RecordSelector{AlignImage:Center;}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}OddRow{BackColor:224, 224, 224;}Style3{}Footer{}Style14{}Heading{AlignVert:Center;Border:Raised,,1, 1, 1, 1;Wrap:True;BackColor:Control;ForeColor:ControlText;}Style5{}Editor{}Style10{AlignHorz:Near;}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style16{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style15{}Style13{}Style12{}Style11{}Style4{}Style9{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style1{}Caption{AlignHorz:Center;}Style6{}FilterBar{ForeColor:Black;BackColor:255, 255, 192;}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" AlternatingRowStyle="True" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" FilterBar="True" FilterBorderStyle="Raised" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 568, 237</ClientRect><BorderSide>0</BorderSide><BorderStyle>Sunken</BorderStyle></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 568, 237</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + + AAABAAEAQEAAAAEAIAAoQgAAFgAAACgAAABAAAAAgAAAAAEAIAAAAAAAAEAAABILAAASCwAAAAAAAAAA + AAD///8A////AP///wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAd2pXAHdqVwB3alcAd2pXAHdqVwB3alcAd2pXAHdqVwB3alcAd2pXAHdqVwB3alcAd2pXAHdq + VwB3alcAd2pXAHdqVwB3alcAd2pXAHdqVwB3alcAd2pXAHdqVwB3alcAd2pXAHdqVwB3alcAd2pXAHdq + VwB3alcAd2pXAHdqVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAHdqVwB3alcAd2pXAHdqVwAAAAAHAAAADAAAAA8AAAAVAAAAFwAA + ABwAAAAeAAAAHgAAACEAAAAmAAAAJgAAACYAAAAmAAAAJgAAACYAAAAhAAAAHgAAAB4AAAAcAAAAFwAA + ABUAAAAPAAAADAAAAAd3alcAd2pXAHdqVwB3alcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAANAAAAFwAAAB4AAAAmAAAAJgAA + ACYAAAAmAAAAJhkWEi9LQzdRS0M3UVBHO1lhVkd9YVZHfWFWR31hVkd9YVZHfWFWR31hVkd9XFJEcEtD + N1FLQzdRPjctRQAAACYAAAAmAAAAJgAAACYAAAAmAAAAJgAAAB4AAAAXAAAADQAAAAQAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAFQAAACEAAAAmAAAAJgAA + ACYJCAYpVEo9XmhcTJFwZFK9cmZU1HdqV/d3alf/d2pX/3dqV/93alf/d2pX/3dqV/93alf/d2pX/3dq + V/93alf/d2pX/3dqV/93alf/d2pX/3dqV/93alf/dGhV43JmVNRtYU+sX1VGeD43LUUAAAAmAAAAJgAA + ACYAAAAmAAAAIQAAABUAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAfAAAAJgAA + ACYAAAAmUEc7WWZbS49xZVPEd2pX93dqV/93alf/d2pX/3dqV/93alf/eWxZ/4B1YP+AdWD/gXdi/6Kb + iv+4s6b/uLOm/7izpv+4s6b/uLOm/7izpv+HfWj/gHVg/4B1YP99cV3/d2pX/3dqV/93alf/d2pX/3dq + V/93alf/dWhW6W9jUbZjWEiCQTowRwAAACYAAAAmAAAAJgAAAB8AAAANAAAAAAAAAAAAAAAAAAAAAAAA + AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAABwAA + AB4AAAAmAAAAJlJJPFxwY1K9dmlW8XdqV/93alf/d2pX/3dqV/+Bd2L/jIRt/5SOdv+Xknn/nZh9/5yY + e/+al3n/mpZ5/5mWeP/S0MP/////////////////////////////////oJ2B/5mVeP+alnn/m5d5/5yZ + fP+ZlXr/mJN5/5CJcf+HfWj/fHBc/3dqV/93alf/d2pX/3dqV/90Z1XebWFPq0Q8MUoAAAAmAAAAJgAA + AB4AAAAHAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAA + AAAAAAAAAAAACQAAACQAAAAmVk0/Y3BkUr93alf/d2pX/3dqV/+AdWD/ioJr/5SNdP+blXv/l5N1/5KN + bv+MiGb/h4Jg/4N+Wv+AfFf/gHxX/4F9WP+BfVj/zMm7/////////////////////////////////5OP + cP+BfVj/gHxX/397Vv+BfFf/hH9b/4iDYP+NiWj/lJBx/5mUeP+Yk3j/kYpx/4d9Z/98cV3/d2pX/3dq + V/93alf/b2NRuE1EOFQAAAAmAAAAJAAAAAkAAAAAAAAAAP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wAAAAAAAAAABAAAACQVEw8tbmJQsHdqV/93alf/eW1Z/4qBa/+ZlHn/lpF0/5CL + bf+IhGL/gHxW/356VP9+elX/gHtW/4F8V/+CfVn/gn5a/4N/W/+EgFz/hIBc/9TTxv////////////// + //////////////////+dmX3/hIBc/4N/W/+Cflr/gn1Z/4F8V/+Ae1b/fnpV/315U/9+elP/gn1Z/4mF + ZP+RjG7/lpJ1/5WQdv+GfWf/eGtY/3dqV/93alf/bWFQrQ4MCioAAAAkAAAABAAAAAD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAA4AAAAmbmJRsndqV/95bFn/i4Ns/5eS + d/+Oimr/gXxZ/3t3Uf98d1H/fXlT/396Vf+AfFf/gX1Y/4J+Wv+Df1v/hIBd/4aBXv+Hgl//iINg/4iD + Yf/a2M3/////////////////////////////////p6OK/4iDYP+Hgl//hoFe/4SAXf+Df1v/gn5a/4F9 + WP+AfFf/f3pV/315U/98d1H/enZQ/3t1Uf+Cflv/kIts/5WRdf+If2j/eGxY/3dqV/9vY1G1AAAAJgAA + AA4AAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAKJCAbNHdq + V/95bVn/l5J4/46Jaf9/elb/enVQ/3t3Uf99eFL/fnpU/4B7Vv+BfVj/g35a/4SAXP+GgV7/h4Jf/4iD + Yf+JhGL/ioZj/4uHZP+LiGX/393U/////////////////////////////////7Culv+Lh2T/ioZj/4mE + Yv+Ig2H/h4Jf/4aBXv+EgFz/g35a/4F9WP+Ae1b/fnpU/314Uv97d1H/eXRP/3lzTf+Aelf/jYpq/5WQ + dv96bVr/d2pX/yolHzYAAAAKAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wAAAAAAAAAAAFBHOkN3alf/fnJe/5aSdP96dU//enRP/3x3Uf99eVP/f3tV/4F9WP+Cflr/hIBc/4aB + Xv+Ig2D/iYRi/4qGY/+Lh2X/jIlm/46JZ/+Pimj/kItp/+fm3/////////////////////////////// + //+7uKP/j4po/46JZ/+MiWb/i4dl/4qGY/+JhGL/iINg/4aBXv+EgFz/gn5a/4F9WP9/e1X/fXlT/3x3 + Uf96dE//eHNN/3hzTf+UkHL/fnJe/3dqV/9QRzpDAAAAAAAAAAD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8AAAAAAAAAAAB1aFU3d2pX/391YP+VkXP/enZQ/3x4Uf9+elT/gHtW/4J9 + Wf+Df1v/hoFd/4iDYP+JhGL/i4dk/4yIZf+OiWf/j4tp/5CMav+Rjmv/ko5s/5OPbf/u7un///////// + ////////////////////////x8Wz/5KObP+Rjmv/kIxq/4+Laf+OiWf/jIhl/4uHZP+JhGL/iINg/4aB + Xf+Df1v/gn1Z/4B7Vv9+elT/fHhR/3p2UP94c03/lJBy/390X/93alf/dWhVNwAAAAAAAAAA////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAAAAAAAd2pXPHdqV/+BdmH/lpN1/3x4 + Uv9+elT/gHxX/4J+Wf+EgFz/h4Je/4mEYf+KhmP/jIhl/46KZ/+Qi2n/kYxr/5KPbf+TkG7/lZFw/5aS + cf+XknL/9vbz/////////////////////////////////9HOwP+WknH/lZFw/5OQbv+Sj23/kYxr/5CL + af+Oimf/jIhl/4qGY/+JhGH/h4Je/4SAXP+Cfln/gHxX/356VP98eFL/enZQ/5WRc/+AdmH/d2pX/3dq + VzwAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAHdq + Vzx3alf/gXZi/5iVd/9+elT/gHxX/4J+Wv+EgF3/h4Jf/4mEYv+Lh2T/joln/5CLaf+Rjmv/k49t/5WR + b/+WknH/mJNz/5mVdP+Zlnb/m5d3//39/P/////////////////////////////////b2c3/mZZ2/5mV + dP+Yk3P/lpJx/5WRb/+Tj23/kY5r/5CLaf+OiWf/i4dk/4mEYv+Hgl//hIBd/4J+Wv+AfFf/fnpU/3x4 + Uv+Wk3X/gXZh/3dqV/93alc8AAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8AAAAAAAAAAAB3alctd2pX/390X/+al3r/gHxX/4N+Wv+GgV3/iINg/4qGY/+MiGX/j4po/5GM + av+Sj23/lZBv/5eScf+YlXP/mZZ2/5yXeP+dmHn/npl6/6Oggf////////////////////////////// + ////////5eTb/56Zev+dmHn/nJd4/5mWdv+YlXP/l5Jx/5WQb/+Sj23/kYxq/4+KaP+MiGX/ioZj/4iD + YP+GgV3/g35a/4B8V/9+elT/mZZ3/39zX/93alf/d2pXLQAAAAAAAAAA////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AAAAAAAAAAAAd2pXJ3dqV/9+c17/nJl9/4J+Wv+GgV3/iINg/4qG + Y/+MiGb/j4tp/5GOa/+TkG7/lpJx/5iTc/+blnb/nJh4/52Zev+fm3z/oZ19/6Kef/+uqY////////// + /////////////////////////////+3s5v+inn//oZ19/5+bfP+dmXr/nJh4/5uWdv+Yk3P/lpJx/5OQ + bv+Rjmv/j4tp/4yIZv+KhmP/iINg/4aBXf+Cflr/gHxX/5uYev9+cl7/d2pX/3dqVycAAAAAAAAAAP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAAHdqVxt3alf/fHBc/5+c + f/+EgF3/iINg/4qGY/+MiWb/kItp/5KObP+VkG//l5Jy/5mVdP+cl3j/nZl6/5+cfP+hnX7/o5+A/6Sh + gv+mooP/ubWd///////////////////////////////////////39vP/pqKD/6Shgv+jn4D/oZ1+/5+c + fP+dmXr/nJd4/5mVdP+XknL/lZBv/5KObP+Qi2n/jIlm/4qGY/+Ig2D/hIBd/4J+Wf+dmn3/fHBc/3dq + V/93alcbAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAA + AAB3alcEd2pX/3hrWP+hnoP/iINh/4qGY/+MiGb/kItp/5KObP+VkW//l5Ny/5mWdv+cmHn/npt7/6Gd + fv+jn4D/pKGC/6ejhP+opIf/qaaI/8PBrP///////////////////////////////////////v7+/6uo + i/+opIf/p6OE/6Shgv+jn4D/oZ1+/56be/+cmHn/mZZ2/5eTcv+VkW//ko5s/5CLaf+MiGb/ioZj/4eC + X/+FgV7/oZyB/3hrWP93alf/d2pXBAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AHdqV+F3alf/oZyD/4+Kaf+MiGX/j4tp/5KObP+VkW//l5Ny/5uW + d/+dmXr/n5x8/6Kef/+koYL/p6OE/6ikh/+qp4n/q6iL/62pjP/Myrn///////////////////////// + //////////////////+3s5r/q6iL/6qnif+opIf/p6OE/6Shgv+inn//n5x8/52Zev+blnf/l5Ny/5WR + b/+Sjmz/j4tp/4yIZf+JhGL/jYhm/5+bgf93alf/d2pX4f///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wB3alfEd2pX/56Zgf+VkXH/j4po/5GO + a/+VkG//l5Ny/5uWd/+dmXr/n5x9/6OegP+mooP/qKSG/6mmif+rqIv/rqqO/6+rkP+wrZH/19XH//// + ////////////////////////////////////////wr+q/6+rkP+uqo7/q6iL/6mmif+opIb/pqKD/6Oe + gP+fnH3/nZl6/5uWd/+Xk3L/lZBv/5GOa/+Pimj/i4dk/5OPb/+cl3//d2pX/3dqV8T///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Ad2pXqXdq + V/+alH3/nJd5/5GMav+TkG7/l5Jy/5mWdv+dmXr/n5x9/6OfgP+mooP/qKSH/6qniv+tqYz/r6uQ/7Cu + kv+zr5X/tLCW/+Hf1f///////////////////////////////////////////87Mu/+zr5X/sK6S/6+r + kP+tqYz/qqeK/6ikh/+mooP/o5+A/5+cff+dmXr/mZZ2/5eScv+TkG7/kYxq/46JZ/+YlXb/mZJ7/3dq + V/93alep////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AHdqV353alf/k4t1/6Kegf+Sj23/lpJx/5mVdP+cmHn/n5x8/6OegP+mooP/qKSH/6uo + iv+uqo7/sK2R/7Kvk/+0spf/t7OZ/7i0m//q6OH///////////////////////////////////////// + ///Z18r/t7OZ/7Syl/+yr5P/sK2R/66qjv+rqIr/qKSH/6aig/+jnoD/n5x8/5yYef+ZlXT/lpJx/5KP + bf+Qi2n/n5x+/5KJdP93alf/d2pXfv///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wB3aldOd2pX/4h+av+npYn/lZBv/5iTc/+cl3j/npt7/6Ke + f/+mooP/qKSH/6uoiv+uqo7/sK2R/7Owlf+1spj/uLSb/7m3nf+8uJ//8/Lt//////////////////// + ////////////////////////5OPZ/7m3nf+4tJv/tbKY/7Owlf+wrZH/rqqO/6uoiv+opIf/pqKD/6Ke + f/+em3v/nJd4/5iTc/+VkG//kY5r/6Whhf+HfWn/d2pX/3dqV0v///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Ad2pXG3dqV/99cV7/raqQ/5mU + c/+blnb/nZl6/6Gdfv+koYL/qKSG/6qniv+uqo7/sK2R/7Owlf+1s5j/uLWc/7u4n/+9u6L/v7yk//z8 + +////////////////////////////////////////////+/u6f+9u6L/u7if/7i1nP+1s5j/s7CV/7Ct + kf+uqo7/qqeK/6ikhv+koYL/oZ1+/52Zev+blnb/l5Jx/5WRb/+rp43/fHBd/3dqV/93alcZ////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wB3alfVd2pX/6ikjP+fnH3/nJh4/5+cfP+jn4D/p6OE/6mmif+tqYz/sK2R/7Owlf+1s5j/ubWc/7y4 + n/+/u6P/wL2m/8jGsP/////////////////////////////////////////////////5+Pb/wL2m/7+7 + o/+8uJ//ubWc/7WzmP+zsJX/sK2R/62pjP+ppon/p6OE/6OfgP+fnHz/nJh4/5iVc/+cmXn/pqGK/3dq + V/93alfV////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8Ad2pXmXdqV/+blH//qKWK/52Zev+hnX7/pKGC/6ikh/+rqIv/r6uQ/7Kv + k/+1spj/uLWc/7y4n/+/vKP/wb+n/8PAqf/T0cD///////////////////////////////////////// + /////////////8fErv/Bv6f/v7yj/7y4n/+4tZz/tbKY/7Kvk/+vq5D/q6iL/6ikh/+koYL/oZ1+/52Z + ev+Zlnb/paKG/5qTfv93alf/d2pXmf///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AHdqV1p3alf/iH5q/7GtlP+gnH3/o5+A/6ej + hP+qp4n/rqqO/7Cukv+0spf/uLSb/7u4n/+/u6P/wb+n/8PBqv/Gw63/3t3Q//////////////////// + ///////////////////////////////////U0sH/w8Gq/8G/p/+/u6P/u7if/7i0m/+0spf/sK6S/66q + jv+qp4n/p6OE/6OfgP+fm3z/nZh5/62pkP+IfWn/d2pX/3dqV1r///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wB3alcJd2pX/3hr + WP+yrpf/pqKE/6Shgv+opIf/q6iL/6+rkP+zr5X/t7OZ/7m3nf+9u6L/wL2m/8PAqf/Gw63/ycaw/+no + 3///////////////////////////////////////////////////////4d/S/8bDrf/DwKn/wL2m/727 + ov+5t53/t7OZ/7Ovlf+vq5D/q6iL/6ikh/+koYL/oZ19/6KegP+wrJT/eGtY/3dqV/93alcJ////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AHdqV7F3alf/npaC/7Cskv+mooP/qaaI/62pjP+wrZH/tLCW/7i0m/+8uJ//v7yk/8LA + qP/Fwqv/x8Wv/8vJs//09PD//////////////////////////////////////////////////////+3s + 5P/Hxa//xcKr/8LAqP+/vKT/vLif/7i0m/+0sJb/sK2R/62pjP+ppoj/pqKD/6Kef/+sqI7/nJWB/3dq + V/93alex////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wB3aldXd2pX/4F1Yv+4tJ3/qqaI/6qnif+uqo//sq6T/7Wy + mP+5tZ3/vbmi/8C9pv/Dwar/x8Ou/8rHsv/Oy7b//f39////////////9/f3//T09P/w8PD/8PDw//T0 + 9P/39/f////////////5+fb/ysey/8fDrv/Dwar/wL2m/725ov+5tZ3/tbKY/7Kuk/+uqo//qqeJ/6ej + hP+moYT/tLKZ/4B1Yf93alf/d2pXV////wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AHdqV8B3alf/p6GN/7Kv + lv+rqIr/r6uQ/7Ovlf+3s5n/u7ee/7+7o//Bv6j/xcKr/8nGsP/LybT/19XF//Pz8//m5ub/3Nzc/9nZ + 2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9zc3P/m5ub/8/Pz/9HPvP/JxrD/xcKr/8G/qP+/u6P/u7ee/7ez + mf+zr5X/r6uQ/6uoiv+no4b/r6uR/6ahi/93alf/d2pXwP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wB3aldyd2pX/4R5Zf+8uaP/r6yQ/6+tkP+zsJX/t7Sb/7u4n/+/vKT/wsCo/8bDrf/JxrL/xcKu/8jH + vf/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/8LJ0f/CydH/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/CwLT/wL2q/8bD + rf/CwKj/v7yk/7u4n/+3tJv/s7CV/6+tkP+rqIv/q6iM/7i2nv+DeGX/d2pX/3dqV3X///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AHdqV8N3alf/o5yI/7i2nf+xrpL/tLCW/7i0m/+8uJ//wLyk/8PA + qf/Fwq3/ubaj/66snP/Ly8X/xszT/5yvxP95l7j/WoGu/1V+rP9Vfqz/VX6s/1V+rP9aga7/eZe4/5yv + xP/GzNP/x8a//6ypl/+1sp//wr+o/8C8pP+8uJ//uLSb/7Swlv+wrZH/rKqM/7aymv+inIf/d2pX/3dq + V8P///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wB3aldad2pX/3xwXf+7uKP/t7Sa/7Sw + lv+4tJv/vLif/8C9pP/Cv6j/sK6b/6ypmP+XoaH/eZe4/1V+rP9Vfqz/VX6s/1V+rP9Vfqz/YIi0/2CI + tP9Vfqz/VX6s/1V+rP9Vfqz/VX6s/3mWt/+TnZ7/qKaU/66rlv+/vKP/vLif/7i0m/+0sJb/sK2R/7Kw + lv+5tZ//fHBd/3dqV/93aldd////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AHdq + V6t3alf/i4Fu/8K/qv+4tZz/uLSb/7y4n//AvKT/sK2Y/6Gilv9xjKX/VX6s/1V+rP9ag7D/bZO9/4Ck + yv+MsNT/iq/U/4it0/+IrdP/iq/U/4yw1P+ApMr/bZO9/1qDsP9Vfqz/VX6s/2+LpP+foJP/raqU/7y4 + n/+4tJv/tLCW/7Wyl/++vKX/ioBt/3dqV/93aler////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wB3alcUd2pX2HdqV/+YkHz/xMGs/7u4oP+7uJ//sq+Y/5mdk/9jhaj/VX6s/1iB + rv92m8L/iq/T/4Go0P9ynsv/Y5TF/16Qw/9dkMP/XZDD/16Qw/9jlMX/cp7L/4Go0P+Kr9P/d5zD/1iB + rv9Vfqz/YoSn/5ebkf+uq5T/t7Sb/7e0mv/Bv6j/l457/3dqV/93alfYd2pXFP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AHdqVy13alf/d2pX/56Wg//HxLD/vLih/5aa + kf9Xf6v/VX6s/2WMt/+Lr9P/fabP/2eXx/9ekMP/XZDD/16Qw/9ekMP/XpDE/16QxP9ekMT/XpDD/16Q + w/9ekMP/Z5fH/3ylz/+Lr9P/ZYy3/1V+rP9Xf6v/k5eO/7i0nf/Ewa3/nZSC/3dqV/93alf/d2pXLf// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Ad2pXPHdq + V/93alf/l457/6Spo/9Wfqz/VX6s/26Uvf+JrtP/bpvJ/1+Rw/9fkcT/YJLF/2GSxf9hk8X/YpPG/2KT + xv9ilMb/YpPG/2KTxv9hk8X/YZLF/2CSxf9gksT/bpvJ/4mu0/9ulL3/VX6s/1V+rP+ip6D/lo16/3dq + V/93alf/d2pXPP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wB3alc8d2pX9ndqV/9ffZ//VX6s/2+Vvv+IrdP/apnI/2CSxf9ik8b/Y5TG/2SV + x/9llsj/ZpbI/2eXyP9nl8n/Z5fJ/2eXyf9nl8j/ZpbI/2WWyP9klcf/Y5TG/2KTxv9rmsn/ia7U/3CV + vv9Vfqz/Xn2f/3dqV/93alf2d2pXPP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8AVX6sAHdqVyRhd47rVX6s/2OKtf+Lr9T/bJrJ/2OU + xv9llcf/ZpfI/2iYyf9pmcr/a5rL/2yby/9sm8z/bZzM/22czP9tnMz/bJvM/2yby/9rmsv/aZnK/2iY + yf9ml8j/ZZXH/26cyv+NsNT/ZIu2/1V+rP9hd47rd2pXJFV+rAD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AFV+rABVfqwhVX6s/1Z/ + rf+Iq9D/d6HN/2WVx/9nl8n/aZnK/2yby/9tnMz/b57N/3Gfzv9yoM//c6DP/3Ohz/9zodD/c6HP/3Og + z/9yoM//cZ/O/2+ezf9tnMz/bJvL/2mZyv9nl8n/eKLO/4qs0f9Wf63/VX6s/1V+rCFVfqwA////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wBVfqwAVX6solV+rP9tlLz/iK7U/2qZyf9qmcr/bJvM/2+dzf9xn87/dKHQ/3aj0f93pNL/eaXT/3qm + 0/96ptP/eqbU/3qm0/96ptP/eaXT/3ek0v92o9H/dKHQ/3Gfzv9vnc3/bJvM/22by/+Kr9X/bpS9/1V+ + rP9VfqyiVX6sAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8AVX6sAFV+rN5Vfqz/jrDT/3aizv9sm8v/b53N/3Kgz/91otD/eKTS/3qm + 0/98qNX/fqnW/4Cq1/+Bq9f/gqzY/4Ks2P+CrNj/gavX/4Cq1/9+qdb/fKjV/3qm0/94pNL/daLQ/3Kg + z/9vnc3/eqTQ/4+x1P9Vfqz/VX6s3lV+rAD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AFV+rEJVfqz/ZYy3/4+z2P9vns3/cZ/O/3Si + 0P94pNL/e6fU/36p1v+Bq9f/hK3Z/4av2v+HsNv/iLHc/4my3P+Jstz/ibLc/4ix3P+HsNv/hq/a/4St + 2f+Bq9f/fqnW/3un1P94pNL/dKLQ/3Ohz/+Stdn/Zo23/1V+rP9VfqxF////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wBVfqx+VX6s/3md + xP+KsNb/cqDP/3aj0f96ptP/fqnW/4Ks2P+Fr9r/iLHb/4uz3f+Ntd7/j7bf/5C34P+RuOD/kbjg/5G4 + 4P+Qt+D/j7bf/4213v+Ls93/iLHb/4Wv2v+CrNj/fqnW/3qm0/92o9H/jbLY/3ufxf9Vfqz/VX6sgf// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8AVX6sslV+rP+Iqs//hq3V/3ek0v98p9T/gKvX/4Su2f+Isdz/jLTe/4+33/+SueH/lrzi/5e8 + 5P+YveT/mb7l/5m+5f+ZvuX/mL3k/5a85P+Vu+L/krnh/4+33/+MtN7/iLHc/4Su2f+Aq9f/fKfU/4mw + 2P+KrM//VX6s/1V+rLL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AFV+rM9Vfqz/krPV/4Ss1v99qNX/gqzY/4av2v+Ls93/j7bf/5O5 + 4v+WvOT/mr/l/57B6P+hxOn/o8Xq/6LF6f+hxOn/oMTp/5/D6f+ewuj/nMDn/5m+5f+WvOT/k7ni/4+2 + 3/+Ls93/hq/a/4Ks2P+IsNn/lLTW/1V+rP9VfqzP////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wBVfqzeVX6s/5i42f+Grtj/gqzY/4ew + 2/+MtN7/kbjg/5a84/+bwOX/n8Pn/6TG6v+nyOz/qsvt/63N7v+vzu7/rs7u/6zM7v+nye3/pcjs/6PG + 6/+hxOn/ncLn/5q/5f+WvOP/kbjg/4y03v+HsNv/irLb/5y62/9Vfqz/VX6s3v///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AVX6s0lV+ + rP+Yt9j/jLPb/4ew2/+Ntd7/krnh/5e95P+ewef/o8bq/6fJ7P+rzO7/r8/w/7LR8f+10vL/t9Ty/7jV + 9P+61fP/tdLy/6/P8f+qzO//p8nt/6TH6/+gxOn/nMDn/5e95P+SueH/jbXe/5C23v+cutv/VX6s/1V+ + rNX///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AFV+rL5Vfqz/lLTW/5S43v+MtN7/krnh/5m+5P+fwuf/pcfr/6rL7v+vz/D/tNHy/7fV + 8/+61vX/vdn2/7/a9v/A2/b/wdv3/8Lc9/+/2fb/ttXz/67O8f+qzO//psnt/6LF6v+dwef/mL3k/5K5 + 4f+aveL/l7bX/1V+rP9Vfqy+////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wBVfqyRVX6s/4epzf+fwOP/krng/5m+5P+gw+j/p8jr/6zN + 7v+x0PH/ttTz/7vX9f++2ff/wdz4/8Pd+f/G3/n/x+D6/8jg+f/I4Pn/yOD5/8fe+P+92PX/sNDy/6zN + 8P+oyu3/o8bq/53B5/+XveT/pMTl/4qrzv9Vfqz/VX6skf///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AVX6sVFV+rP9xlr7/qsjn/5m/ + 5P+fwuj/psjr/63N7v+z0vH/uNX0/73Z9v/B3Pj/xN76/8jg+//K4vz/zOP8/83k/f/O5Pz/zuT8/8/k + +//O5Pv/zuP5/8Hb9v+x0fP/rc7w/6jK7f+ixer/ncDn/6/M6v9zl7//VX6s/1V+rFT///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AFV+ + rBJVfqz/WIGu/7HL6P+kxuj/pcfq/6zN7v+z0fH/udb0/77a9//D3fn/x+D7/8ri/P/N5f3/z+b9/9Dn + /v/S6P7/0+j+/9Po/v/U6P3/1Oj8/9Pn/P/S5vr/wtz3/7HR8/+szfD/psnt/6bI6v+yzen/WYGu/1V+ + rP9VfqwS////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wBVfqwAVX6stFV+rP+Orc//tdHt/6zL7f+y0fD/uNXz/77a9v/D3fn/yOH7/8zk + /f/O5v3/0ef+/9Pp///U6///1ez//9bs///X6///2Ov+/9jr/v/Y6v3/1+n8/9Pm+/+/2/b/sNDy/6vM + 7/+10u//ja3P/1V+rP9Vfqy0VX6sAP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8AVX6sAFV+rEtVfqz/XYWx/7zU7f+20vD/t9Tz/77Z + 9f/D3fj/yOH7/8zk/f/Q5v7/0+j//9Pr///V7P//1uz//9ft///Y7f//2e7//9ru///b7f//3Oz+/9vs + /f/a6/z/0OX6/7jV9f+10vL/utPt/12Esf9Vfqz/VX6sS1V+rAD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AFV+rABVfqwAVX6ssVV+ + rP+Hp8r/x931/77Z9f/B3Pf/x+D6/8zk/P/Q5/3/0+n//9Tr///V7P//1uz//9jt///Z7v//2u7//9vv + ///c7///3fD//9/v///e7v7/3u39/93s/P/K4fj/w9z1/4Okyf9Vfqz/VX6ssVV+rABVfqwA////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wBVfqwAVX6sAFV+rCpVfqz8VX6s/6S/3P/N4fj/x9/4/8vi+//Q5v3/0+j+/9Xs///W7P//1+3//9jt + ///Z7v//2+7//9zv///d8P//3vD//9/x///h8f//4fD+/+Hv/v/i7/3/4O37/6G92/9Vfqz/VX6s/FV+ + rCpVfqwAVX6sAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8AVX6sAFV+rABVfqwAVX6sXVV+rP9Zga7/ts3m/9Xn+//Q5vz/0uj+/9br + ///X7f//2O3//9nu///a7v//2+///9vv///d8P//3/D//+Dx///h8v//4/L//+Ty///l8v7/6fP+/8/e + 7v9Zga7/VX6s/1V+rF1VfqwAVX6sAFV+rAD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AFV+rABVfqwAVX6sAFV+rABVfqycVX6s/1Z/ + rf+lv9r/3e39/9rs/v/Y7f//2e3//9ru///b7///3O///9vw///c8P//3vH//+Hx///i8v//5PL//+Xz + ///o9P//7fX//7nO4/9XgK7/VX6s/1V+rJxVfqwAVX6sAFV+rABVfqwA////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wBVfqwAVX6sAFV+ + rABVfqwAVX6sAFV+rJlVfqz/VX6s/4SkyP/Q4vT/4/L//9/w///d8P//3e///93w///c8f//3fH//9/y + ///i8v//5fP//+j1///t9v//3+z3/5Guzf9Vfqz/VX6s/1V+rJlVfqwAVX6sAFV+rABVfqwAVX6sAP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8AVX6sAFV+rABVfqwAVX6sAFV+rABVfqwAVX6sS1V+rN5Vfqz/VX6s/5ay0f/H2+3/5vP+/+f0 + ///n9P//5fT//+b1///o9f//6/b//+v2/v/S4fH/obrW/1V+rP9Vfqz/VX6s3lV+rEtVfqwAVX6sAFV+ + rABVfqwAVX6sAFV+rAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AFV+rABVfqwAVX6sAFV+rABVfqwAVX6sAFV+rABVfqwMVX6sllV+ + rPNVfqz/VX6s/16Gsv+Gpsj/obvX/6zD3f+txN3/pL7Y/4qoyv9ghrL/VX6s/1V+rP9VfqzzVX6sllV+ + rAxVfqwAVX6sAFV+rABVfqwAVX6sAFV+rABVfqwA////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wBVfqwAVX6sAFV+rABVfqwAVX6sAFV+ + rABVfqwAVX6sAFV+rABVfqwhVX6seFV+rL1Vfqz/VX6s/1V+rP9Vfqz/VX6s/1V+rP9Vfqz/VX6s/1V+ + rL1Vfqx4VX6sIVV+rABVfqwAVX6sAFV+rABVfqwAVX6sAFV+rABVfqwAVX6sAP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AVX6sAFV+ + rABVfqwAVX6sAFV+rABVfqwAVX6sAFV+rABVfqwAVX6sAFV+rABVfqwAVX6sDVV+rD9VfqxmVX6sdVV+ + rHVVfqxmVX6sP1V+rA1VfqwAVX6sAFV+rABVfqwAVX6sAFV+rABVfqwAVX6sAFV+rABVfqwAVX6sAFV+ + rAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A//////////////AAAA/////+AAAAAH////AAAAAAD///wAAAAAAD//8AAAAAAAD//gAAAAAA + AH/8AAAAAAAAP/wAAAAAAAA//AAAAAAAAD/+AAAAAAAAf/4AAAAAAAB//gAAAAAAAH/+AAAAAAAAf/4A + AAAAAAB//gAAAAAAAH/+AAAAAAAAf/4AAAAAAAB//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAA + AP//AAAAAAAA//8AAAAAAAD//4AAAAAAAf//gAAAAAAB//+AAAAAAAH//4AAAAAAAf//wAAAAAAD///A + AAAAAAP//+AAAAAAB///4AAAAAAH///wAAAAAA////AAAAAAD///+AAAAAAf///4AAAAAB////wAAAAA + P////gAAAAB/////AAAAAP////+AAAAB/////4AAAAH/////gAAAAf////+AAAAB/////wAAAAD///// + AAAAAP////8AAAAA/////wAAAAD/////AAAAAP////8AAAAA/////wAAAAD/////AAAAAP////8AAAAA + /////wAAAAD/////gAAAAf////+AAAAB/////8AAAAP/////wAAAA//////gAAAH//////AAAA////// + +AAAH//////8AAA///////4AAH///////4AB////////8A////8= + + + \ No newline at end of file diff --git a/Logbuch/Logbuch/Partner/frmPartnersuche.vb b/Logbuch/Logbuch/Partner/frmPartnersuche.vb new file mode 100644 index 0000000..fb2145d --- /dev/null +++ b/Logbuch/Logbuch/Partner/frmPartnersuche.vb @@ -0,0 +1,212 @@ +Public Class frmPartnersuche + +#Region "Deklarationen" + Public Event partner_selected() + Dim spalten As New Utils.Tabellenspalte + Dim m_noclose As Boolean = False + Property NoClose() As Boolean + Get + Return m_noclose + End Get + Set(ByVal Value As Boolean) + m_noclose = Value + End Set + End Property + Dim m_meldung_doppelter_partner As Boolean = False + Property Meldung_Doppelter_Partner() As Boolean + Get + Return m_meldung_doppelter_partner + End Get + Set(ByVal Value As Boolean) + m_meldung_doppelter_partner = Value + End Set + End Property + Dim Partner As DataTable + Dim m_zustelladresse As String + Dim m_anrede As String + + Dim mypartner As New edokadb.clsMyPartner() + + Dim m_partnernr As Long + Property PartnerNr() As Long + Get + Return m_partnernr + End Get + Set(ByVal Value As Long) + m_partnernr = Value + End Set + End Property + + Dim m_PartnerKurzbezeichnung As String + Property PartnerKurzbezeichnnung() As String + Get + Return m_PartnerKurzbezeichnung + End Get + Set(ByVal Value As String) + m_PartnerKurzbezeichnung = Value + End Set + End Property + + Property zustelladresse() As String + Get + Return m_zustelladresse + End Get + Set(ByVal Value As String) + m_zustelladresse = Value + End Set + End Property + + Property Anrede() As String + Get + Return m_anrede + End Get + Set(ByVal Value As String) + m_anrede = Value + End Set + End Property + + Dim m_dokumenterstellen As Boolean = False + Property Dokumenterstellen() As Boolean + Get + Return m_dokumenterstellen + End Get + Set(ByVal Value As Boolean) + m_dokumenterstellen = Value + End Set + End Property + + Dim m_profilnr As Integer + Property profilnr() As Integer + Get + Return m_profilnr + End Get + Set(ByVal Value As Integer) + m_profilnr = Value + End Set + End Property + + Dim m_erfassung As Boolean = False + Property AusPartnererfassung() As Boolean + Get + Return m_erfassung + End Get + Set(ByVal Value As Boolean) + m_erfassung = Value + End Set + End Property + Dim m_retrieval As Boolean + Property NurAbfrage() As Boolean + Get + Return m_retrieval + End Get + Set(ByVal Value As Boolean) + m_retrieval = Value + End Set + End Property + + Dim m_vibeachten As Boolean + Property VIBeachten() As Boolean + Get + Return m_vibeachten + End Get + Set(ByVal Value As Boolean) + m_vibeachten = Value + End Set + End Property + + Dim m_dokumenttypnr As Integer = 0 + Property Dokumenttypnrnr() As Integer + Get + Return m_dokumenttypnr + End Get + Set(ByVal Value As Integer) + m_dokumenttypnr = Value + End Set + End Property + +#End Region + + Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click + Me.PartnerList.DataMember = Nothing + Dim iii As Double + If Me.TextBox1.Text <> "" Then + Try + Dim d As Double + d = Val(Me.TextBox1.Text) + If d = 0 Then + MsgBox("Kein Partner gefunden.", vbExclamation) + Me.TextBox1.Focus() + Exit Sub + End If + Me.Cursor = Cursors.WaitCursor + Partner = mypartner.search_partner(d, Me.TextBox4.Text, 0) + Me.Cursor = Cursors.Default + Catch + MsgBox("Kein Partner gefunden.", Version) + Me.TextBox1.Focus() + Exit Sub + End Try + Else + If Me.TextBox2.Text <> "" Then + Me.Cursor = Cursors.WaitCursor + Partner = mypartner.search_partner(Me.TextBox2.Text, Me.TextBox4.Text, 1) + Me.Cursor = Cursors.Default + Else + If Me.TextBox3.Text <> "" Then + Me.Cursor = Cursors.WaitCursor + Partner = mypartner.search_partner(Me.TextBox3.Text, Me.TextBox4.Text, 2) + Me.Cursor = Cursors.Default + + End If + End If + End If + If Partner.Rows.Count = 0 Then + MsgBox("Kein Partner vorhanden.", vbExclamation) + Else + Me.PartnerList.DataSource = Partner + Me.PartnerList.DataMember = "Partner" + spalten.Spaltentitel_aktualisieren(PartnerList, "Partner", Partner) + Dim i As Long + Dim ii As Long + If Me.PartnerList.Splits(0).Rows.Count = 1 And Me.CheckBox1.Checked <> True Then + If Me.NoClose Then + Me.Label7.Visible = True + End If + End If + End If + If Me.PartnerList.Splits(0).Rows.Count > 0 Then + Me.Button2.Enabled = True + Me.PartnerList.Focus() + Else + Me.Button2.Enabled = False + Me.TextBox1.Focus() + End If + If Me.PartnerList.Splits(0).Rows.Count = 1 Then Button2_Click(sender, e) + End Sub + + Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown, TextBox2.KeyDown, TextBox3.KeyDown + If e.KeyCode = Keys.Enter Then Button1_Click(sender, e) + End Sub + + Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click + Me.DialogResult = DialogResult.OK + Me.PartnerNr = Me.PartnerList.Columns("nrpar00").Value + Me.Close() + End Sub + + Private Sub PartnerList_DockChanged(sender As Object, e As EventArgs) Handles PartnerList.DockChanged + + End Sub + + Private Sub PartnerList_DoubleClick(sender As Object, e As EventArgs) Handles PartnerList.DoubleClick + Try + Button2_Click(sender, e) + Catch ex As Exception + + End Try + End Sub + + Private Sub BUtton3_Click(sender As Object, e As EventArgs) Handles BUtton3.Click + Me.Close() + End Sub +End Class \ No newline at end of file diff --git a/Logbuch/Logbuch/Reports/frmAuswertung.Designer.vb b/Logbuch/Logbuch/Reports/frmAuswertung.Designer.vb new file mode 100644 index 0000000..b4f46ba --- /dev/null +++ b/Logbuch/Logbuch/Reports/frmAuswertung.Designer.vb @@ -0,0 +1,110 @@ + +Partial Class frmAuswertung + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmAuswertung)) + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.tsbtnexit = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator() + Me.tsbtnsave = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton1 = New System.Windows.Forms.ToolStripButton() + Me.btnAufbereiten = New System.Windows.Forms.Button() + Me.ToolStrip1.SuspendLayout() + Me.SuspendLayout() + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsbtnexit, Me.ToolStripSeparator1, Me.tsbtnsave, Me.ToolStripButton1}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 0) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(335, 25) + Me.ToolStrip1.TabIndex = 2 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'tsbtnexit + ' + Me.tsbtnexit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtnexit.Image = CType(resources.GetObject("tsbtnexit.Image"), System.Drawing.Image) + Me.tsbtnexit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtnexit.Name = "tsbtnexit" + Me.tsbtnexit.Size = New System.Drawing.Size(23, 22) + Me.tsbtnexit.Text = "Schliessen" + ' + 'ToolStripSeparator1 + ' + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" + Me.ToolStripSeparator1.Size = New System.Drawing.Size(6, 25) + ' + 'tsbtnsave + ' + Me.tsbtnsave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtnsave.Image = CType(resources.GetObject("tsbtnsave.Image"), System.Drawing.Image) + Me.tsbtnsave.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtnsave.Name = "tsbtnsave" + Me.tsbtnsave.Size = New System.Drawing.Size(23, 22) + Me.tsbtnsave.Text = "Drucken" + Me.tsbtnsave.Visible = False + ' + 'ToolStripButton1 + ' + Me.ToolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton1.Image = CType(resources.GetObject("ToolStripButton1.Image"), System.Drawing.Image) + Me.ToolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton1.Name = "ToolStripButton1" + Me.ToolStripButton1.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton1.Text = "Auswertung-Design" + ' + 'btnAufbereiten + ' + Me.btnAufbereiten.Location = New System.Drawing.Point(12, 28) + Me.btnAufbereiten.Name = "btnAufbereiten" + Me.btnAufbereiten.Size = New System.Drawing.Size(75, 23) + Me.btnAufbereiten.TabIndex = 3 + Me.btnAufbereiten.Text = "Aufbereiten" + Me.btnAufbereiten.UseVisualStyleBackColor = True + ' + 'frmAuswertung + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.AutoScroll = True + Me.ClientSize = New System.Drawing.Size(335, 638) + Me.Controls.Add(Me.btnAufbereiten) + Me.Controls.Add(Me.ToolStrip1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmAuswertung" + Me.Text = "Auswertungen" + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + + Friend WithEvents ToolStrip1 As ToolStrip + Friend WithEvents tsbtnexit As ToolStripButton + Friend WithEvents ToolStripSeparator1 As ToolStripSeparator + Friend WithEvents tsbtnsave As ToolStripButton + Friend WithEvents ToolStripButton1 As ToolStripButton + Friend WithEvents btnAufbereiten As Button +End Class diff --git a/Logbuch/Logbuch/Reports/frmAuswertung.resx b/Logbuch/Logbuch/Reports/frmAuswertung.resx new file mode 100644 index 0000000..a54433d --- /dev/null +++ b/Logbuch/Logbuch/Reports/frmAuswertung.resx @@ -0,0 +1,3778 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAK1SURBVDhPnZLfS1NhGMdfCPoDuummi+i6qwYWaYjb3Obx + 7MzN1eY5Z9tJZ86MirIgK/utaVoaaqHDVEyKSq2MsuyHopGhlIVUK6qLKCiiCKKLgk/HHyx2aQ984H1e + eD+83+d9xf/U11cjwU/vJn937spkfmuuLlTm9vceyqX/yAxSkr7DEhf327kf386X6UE+T13nx+thzu+x + pgr6KmVWrbGzOt3GmnX/SEu3stKSwc/EIIn+A0w0+/mWeMCFfY5UQW+FTKbVic0uYXe4kliznaRl2HjZ + GWGiVWe8JciX57e4fDAnVeBoEEjVi8ix+5BcClKOG0mScblk1lklpjsMxs+GeNgU5ONE32zU+aNC2I4L + Eh+7cJqS3CwNtzOAIvlRZC+y20OWw82zeJixZp3hhgLejfZwo0qZE9iqBVPv2+gYFmRWCez1AudpgVyx + FK8SxJPnJzvXx2SrxnCjzs+by3kx1M6tGi/CVSt49LaK+JigbdRcvyni8dsITz6EZyXrPWHy84NIngCP + W1TundL4NbiC5zeaGar3zwnuJsqJTwriE4L2Z4KOacHT7xEcjYJgfhEbAiHc+RpjTQGGTgZpK3fypO84 + DxoCsxEsdjPCwItiuhKCrJkIJwSOU4K8/cvQ1SiqbuALGow0+Lldt54rhxQe9VQy2qQmh2jJrhH0v/Hh + PCkwAjswtDKMcAmGESViFBIIRblX7+VmrY+Bai8j53YyfiaU8owWp3llpXYxUWMr0aJSiqIlsxSaaBtj + 3Kn1MFCVx9WjHgabY0y2RVIEorNsLZtKyyiNbaN085YkMZPCkq3crpG5dkyh94iba3UhptoLEbquo2sh + NC2Mqs5grlXN7NUkqtlvKNDZHQvQXamYP1Dm0uE8pruK54a4UCr0tD1Ne9P/vOqOpUZYQC0xWSWEsPwF + X0fCgJOjtY0AAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAETSURBVDhPtZLBSsNAFEXzMcVvEPSj1J3ion5C27TB4D/o + xqWCLlpw5aZVghYhkE3SkE0ySSC99j1nTKKvwS68cAgz785JCGP9zOnZObrQte2h0rbsJCiKogXlf76A + Ng37RyORg+MBDk+G3+vmmdYbadifvqH/8CJyMX3njokouFxGcF4DEXe56hKseTicBxg8f4iMFkGHoCp5 + +BewLlFVVS3I8xxRGKJUGW7uZrh9fBK5vp9BpSlWUYgsy2pBkiS82IU4jvnJgnRjpeder4fJxIXv+/A8 + rwXtOc4Vd5pnWGCg4Xjs8i9RSrWg0MwIDPo6fV2opkC6yk2BPlbHGI1ACs1MTx/7nU0pp6KEbduFrulY + 1ifZ/XIlNzeApwAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIXSURBVDhPlY9dSJNhFMffCylqduHIEk2pdyuFRWVeJF1Z + 0AeGKckIIpBGdzaU8KIomKN1ZRdBH2AXo959tpnbu6053crNWN2EoIXkWiOc2t42c5u7aCPff8/guWyb + /eDPeZ5z/uec52G2gp9l+XctLbfp9f+Y6up6/JBhoK+pQUAm+zQjl9fSUmXEhaft87EI3Hfv4wEZMiqR + 4FV9PWZZtpNayvN77lYyPdGGROQZoosCRvezeFRVBZdUeodaSrMZ1XG//OeR4JuxbGKw4j+DyI8kXqsH + vlNLacSY7lw6qETCrSADZFgekyLpbcWqbRticy+bqe3fRLzq7dmZ63mBbE5NnkLcvgtrkx1kkBx//BI1 + tZVmc34wIHgUWJs6S15wmGxuQ9J3ElnvnjC1lEaM3FSlvO346TmG9WklBPKF9bc9WB0/JH621VZTW2kK + C0/igqcVuQ83kJw4gUzwClJkuxg8eIlaypP/8hzpRSfSs/eQedNNtl9EIXh8jJbLMzJyVQLBiezXcWws + TSMXDyAX7tyg5co0Nu5VXO7pQOabG3khDBSituzKx920XJmGpqYLO3ZWY19dnSu19L6BprdGKBQ6oNFo + hrVarY4zmZR6/Ys+s9nc73A4hopyOp39RCqiay6Xq5fn+dM+n09O2xnGbrcfsVgs3aSpz2AwDBiNxiES + h0nUFEXPxdwgkYrjuF6r1XqUYRjmL+noJJa+9k+LAAAAAElFTkSuQmCC + + + + + AAABAAkAAAAAAAEAIADP1AAAlgAAAICAAAABACAAKAgBAGXVAABgYAAAAQAgAKiUAACN3QEASEgAAAEA + IACIVAAANXICAEBAAAABACAAKEIAAL3GAgAwMAAAAQAgAKglAADlCAMAICAAAAEAIACoEAAAjS4DABgY + AAABACAAiAkAADU/AwAQEAAAAQAgAGgEAAC9SAMAiVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABc + cqhmAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAgAElEQVR4nOy9eYxd2X3f+bn72/el9oVV3Jtkt7qlVrsl + WZYsWba8KZHjiQQlA3gmhjFGBkgcwIADBBlMMkiieDIZYDIZYDJIZmTEY49tAZYXKQ1rs5Zu9Uo2m2QV + q1j79l69fb3LmT/ufWsVWySbLTWL70sU33v3nnveefee3/f8zu/8fr8DI4wwwggjjDDCCCOMMMIII4ww + wggjjDDCiYb0425AB3/w0nII+Env70AIloHlv/WBxas/3paNMMLJxY+VAP7o5ZUo8KsgPivgE4jeOdFf + UIjrAlaBZeA6cBVY/pX3Lx78CJs7wggnDj8WAvjyq6sXgN8GPivA70q7GBL6IRLonB8kiRIuKbyGEMvC + fb/8K+9ffO3dbP8II5wU/EgJ4E9fXzsL/I5AfKF78DhBHzzQJ/j3RRLLQIcUrgLXEWL1s+9f3Hrnv2SE + EU4GfiQE8OfX1kMI/jXwawIUwBPeYfGlK9FiaKh/iCTREHAd4U4jgFUBN4HXPvvMgn3/v26EER5dvOsE + 8NXrm88h+JJAzPcfFwPy3ZX6/pcfOUnYtrPpOPaqLMtLsiJ/H88Q+TefWVj/4b90hBEePbxrBPDCjS0F + +KcIfrs76uOJ3nHGvuOE/b1DEqZjO29KsnyVrjFSXBdw9X/73X9nvvClLw7VMsIIjwbeFQL4+q2dBPBl + 4EOiT8IGhbbvyJBgPkok4QixJYRYlSTpLQSvOUIsCyGWf+UDp1cYYYT3OB46AXxreXcS+HPg0qCQef8f + ETA4qSTh2M7rsizd6KxOAFcR3PzM06eqjDDCewAPlQC+u7KfBr4DLDrAcQIv+qWKYSE7/hr3uhNFEnvA + kugaI8WqgOXPvO/UTUYY4UeIh0YAL67l/AjxdeADdxVQBgVtRBLHksRreBqD4zhrpmW90mq0l77w0UsF + RhjhIeOhEcDLG/n/jOBX+0Xw+LnzECWMSOKY9h9LEjkhxG0hnGuOI24KIZYlSb71N55ZeJMRRnhAPBQC + eG2r8AWE+E+DQjPw3zHC5n4YkcRDIYlrAlZwNYebIF4TguVfemr+kBFGeBu8YwK4ulOcAd4UgpB7RAx0 + 4r4XEGJIaAb+G5HEkXb1XXekXXe5bqCc6LhKv4xwvSIdx7nzy+879SojjMBDIIDre6UvCcHnOp8HhX9I + 4PtOjkjix0sSwhFLjuOsOMK5LRxxXVGVV2VJXvmFJ+d2GeGxwTsigBsHlaeBH7y9sHvn7tKpRyTxniOJ + muM4y5ZtX5WEdEtRlSUkln7hytzLjHDi8I4IYClf/XMEnxoeX+5f2B/0uhFJ/ChJwhHOihBiRQixKhzx + mqTI12VJXvr5K7OjAKtHFA9MACuF+qIQ4gYDbr4M9Jjjhcw7NyKJbqETQBINx3FuOra44Tj2bUmWb6qq + ch147dOXZ0cBVu9hPDAB3Ck2/iXwj+BtOhKDHbN7bkQSQ9ecXJIQjtiybWfVEWJZ09TvIlgWiOVPX54d + BVi9B/DABLBebu4D6V6/uXtn6J4fkcSIJHofbcu2rgshbqqKeh03d8N14PrPXZppfPzzvyWNgqzefTwQ + AWxVW5eE4I3h42/XEbrn+8uPSKJbYkQSfe11xK5tO6vADUnmZSHEqm3Zy//2d//3pREpPFw8EAHs1Nq/ + DfxPx3f24zthr+iIJEYk8eAkYVn2NcdxbiuKclOW5VvAawJx82efmBkFWD0AHogA9urm14WbvXcAw51l + 4NOIJO7juhFJHEcS7XZbFA4LzUq5vF8pV95wHPutvf3C115/7c1bwOELX/riiATuEw9EAPtNKw8kjhey + 49m9e3ZEEse0Z0QSdyOJUqnMW9dvsnJ7jdxBDkmSkCQACVVVCAZ8GIa2r6rKm7Ikfb9UqX91fWPv1Re+ + 9MUiI/xQ3DcB5Fr2GLDTPSCOPNbBdyOSGJHE0G+5F5LY2tzh299+kdXVNVfoAfpfJVBkGVVVUBQFWZbQ + VIVg0E8g4FvVNfVP9g8K/2Hlzs7KC1/6Yp0RjsV9E8Bh2/kQ8K3BvnkcBfSfH5FE99yIJIauGXw++cMi + /+Vr3+DGzdtIEkhIIEnIEt7oLyHJEoosI8kSsncMQJZldF3FZ+gYuoZhaJaua18H/sX3f/DWt1740hdb + jDCA+yaAgik+DeJP+48dJ1gw1KlHJHFM+0ck0UG92eJrX/0GL79yFdt2POHvE3pP8DsCLysyiiwhyzKK + IqMoCooiD5zXNRXD0FxCMLRvqqr6D//xr3/+B4zQxX0TQNEUn0PiS90Dwx1i+ETn04gkjvnee7iek08S + G1u7/D9f+iOKxQpAd44veaO+PEQAsif4PeGXURUFRXWJQFUUVNU9L0luWZ+h4fcZjqzI/1GC3/qdX//8 + KFSaB9IAnP8a+L/uVoV03OERSXhnRyQx/JtffvUa/+8ffgXb7ngMS8cTQEfo+wigf+RXlZ49wH3tEYPs + TRcUWcYwNHRd20WIv/vb/83f/iqPOe6bAPJt5zPAH73dxdKREyOS6L2MSKJz3fdfep3f/8Ov4DjumU6/ + cef9dEdvqSP03mdX/ZdR1R4BuCO/SwI9AlBQ+rQESZK6x3VNRVHkf/5nX/3+P36cnYvufxWgaX8MiRfe + tqI+BhiRxPBXjkhCCHjp5av837/3x94R9yEPjPwMqvySN/p3hLk38ruqv+qN/ANagCx1ycK1D8i9umTJ + KyP/saoqn//7n/tMg8cQ900A+w1rEViiy9ZHq5PuUvOIJAYb+LiSxMbWLl/8N/8nltULFBwe/V21X+4b + 9fvUfm/5zxX+3sivqEqPCDySkGWp+ypJEopHABJ0pwWKIn9TluVPPY4kcN8EsFs3FaAO6IOC3if8Q7WP + SOJoiceVJGr1Bv/jv/h3HBZK3eW7DnoWfwbm/d0R3HtV+wW9I/hyT/3vaAH9ar/cZ0OQ5N7SoQQdreC/ + yJL0i48bCaj3e8FYQLO3a+2rEjw93A8laVg43BssBqRQeP97/w2RhOj7JAnRPdFf76AsD5PE0Y4nScOH + 70YSfcfFMb/nyDce9/1D7ZW83+F9EMNlvbb1bkXfO28pbFjIpKEv6ruNvfs13PD+39IVcAmkY0iir7IB + IT9Sh4SQhu53t2zn1wxe/+WvvMBhocRxGF76c1V2ecji3xN+ZUDll1FVtTf/94hDHhL+rnbRRzbutEP6 + aSH498DfObZxJxT3TQAAjiO+Bjw9PPpKQx1oQNA7p0YkMfC9nYOPA0msbe7yrb8+PrOYOyJLXeOfJPfZ + ABRvLt8n+IqqoPWN+KoyZPxT+smjX6uQB0hGIJB6Nogv/Nvf+5PXv/yVb//u42IYvO8pAMB6ufkx4IVh + dV86pjppqNBwJzzmimPU+uEpw2i68ShON/7F//wfeOumu2Viv/rfGYm7I//QMl9nXb9DAJo30quqgqap + PS1A6U0ROlMHSWJgJUHqqBkM9te+5rQdIT7433/uM49F5uQHIoA7xYYCbAJjR7SAIUkckcSIJABuLK/x + z/7Vv++e787BvRvfEU53uW9wqa+n2ncIwBV8TVVQOwQwYBiUkSQZeUj4e7EEbi+T+h6Ga7MQnXa9Bjzz + m//VL534dGYPNAWYi/ntlUL994B/0FHhu5A8lWpI7Qe6Ov0RkhDHXN8tP1RHr9hgHb3qB64ZTTeG2vtj + mm781Te+12vXkPB3l/36Pf68JTxZVvqMf4OGvq7wK33LgIqC5LkEy/2jviy5fWZA+KWusVKWJYToksKT + QojfBP6XI7f7hOGBNACApXx1UYIbICmdmoYrk+42Yh6jCYw0iaHyJ0iTaJkmf+/v/w+0TdNtcpcAhlV/ + 2Vu2GzT2dUb6juqvaSqa5k0FNLW75KeqMrKi9LwFpUHh7yec4fvQO9Y9uAuc/u9+9RdPdI6BB9IAAE4n + Q8s3Dyq/D+Jz0uCw2hMCIQbFZ2AE8cbW7p0faRInVZO4fmMF07Jco9sQ+0jevwEff6m39Ndb6+9Z/d0/ + tecD4J3rGf76hN9T+yW519c6j2e4Lwgh+getMeDvAb975FadIDwwAQDYjvgnksRnEei9LiN1H37v/gpG + JPH4ksRrb7zVK9en/nf6gOTNz7skoMhdq/8ACRzzp/QLv6Kg9Kn9HYOf1Pe9R++A1+ZB4e8c+w1OOAHc + TQO9Z1zbLf1r4B/0V9RRtQY/93+hdKTzH3td38djSWLg2rs8YInRdOO448cXObbk8G8D7mu68Ru/9c/J + 5YvHWP4HffyVvqU+tav2K+i6hqaqXcOfpqnd+b/W5/Tjag90PQh7/aTv3kvSkTnQsFYydOzDv/ErP//t + IwVOCN6RBgBgO84/keDTIJ2F/hFnSCPgGI1gmCSOu26kSTzSmsRB7pD8Yc/xpzsP99531fQ+H325zwNQ + 7QT7qHJ3/b/r8qv0DISKLA8Y/6QBAnC/xzlulD/yS44c+xwwIoC74cpEvPrq5uHfAfEtCfROB+h1CNEn + cD31b0QSQ3X0ig3WMdi87jWPCkksr215be6KYt9zdY/1tICO5b8XwdeZAmiq2hX6Him4LsAdjz/J0wBk + SfbukYTU91zlzug/ZAs48jv6ygCf4gTjblrhfePl9fw/QuJfDlY6yMLdc0dIov+ljyQYOn6EJDieJB7k + uru0Y7j97rXDwkBf2aGRcVjAh0nih1x/tI5Ha7rxpT/4M77859/oK9LxyusL8x2a53fX+TUNQ9fQdRVd + 07pqv66pPSNgX8Rfx8tPlj1y8Ui/870uGQ6tWBwbs3CkzOyv/82fO5E7Gb1jDaCDp2eS/+rFtdwHJPhs + 7+jgKH50JPYODAiZuAtJjDSJget7XzVYR6/YYB2Dzete825rEhvb+xyF98ylDiH01v4VuX/tf9jQ51n/ + +7z+XMOf5/DTdfPtE3gGCfvtcMzo38GHgN+7p0oeMTw0AgBwHOfzQAL4WHek8iSj16eGx7gRSZxkktjb + z3Ut7J3vPyr4Xqx/X9CP6gm5LMs94e+bFsiK4gq/3PP469oS+mT4XoX/h+DSw6jkvYiHSgAfnM+0v317 + 728AX5cQT3Z6itxXRhrsqSOS6P+WE0gSeweHx8z/3fOdsNxuzP9Q1F9nnq/Incw+Su9P7iQF7dkP8Ob+ + R4T/bp5PPwR9GsH8A1XwCOChEgDAhxaypW8u7X4c+DISH5IQXh546O8A7qdeTxmRBCeOJKrVRjfpR++a + /lDcoXx/XaHu8wOQ+1T9bnYfpWss7OT7k+j5++NpHMeK/fAy4L19njyuqpOAh04AAB85PXb4Vze3PylJ + 0n8GfrFzvCvw9Amv5B4fkcQx1z3iJFGqHPWidVfnXEE9NtPvQMqv3p8bDdhLDNJR/7thw51+46kAEt1b + +DAQfTjVvPfwrhAAwE+dnWgAv/TCja3fAemfSqD0OnXvsRzJCjMiiSNteNvr3sMkUan2b8jT5/cv9wcA + Dcbtu6P+YFy/qsjeMbVnJ+jL9Ct5Yb/9S3yD7Ze6v18c97nvXt2FMELHH3708a4RQAcfPzf5z752ffP3 + gY8hsSghLQLzwJNu5+zpj73OOiKJk0ASlu0wUETq/b7+1F+9ub8ykPW3awPoqPyKjOyF/vYSfUhdrz8k + 2XvOnTYeFfJjMaz2990X76jyw6p4VPGuEwDAJy5MLQPLw8e/en3zLIJFCRZBXAAueCQx1ikzIgkeWZJo + m9bg9d45d+R3Pf+6hsCBSMAeGbgjv7cC4H0eSPPlzf+RenV3W9Iv2HfRAo7FUTtA+/iCjz5+JARwN3zy + wtRN4Obw8b98cyMEnJWQnkRivo8knga8TjfcOUck8V4jCVmWvfqk7msvQq/f+t8hAWVAyHtLfr05f/+u + QP3X4i0/SpIMYkjz4O5Cf0+EACc2UeiPlQDuhp+5OF0FXvb+BvCXb24sIpgHsQg8KSGdRWIRwWQf949I + wqurdyU/cpIwDL3/5w5ce/wSYCceoGft7yT37Mz1B4S/u5og9wyAAJKCJLycxhLviBC8zyd2G7H3JAG8 + HX7m4nRnOvG1/uN/cW1Dx3XYuCBJLDq2c9a27adUVT0jS/JQ5xyRxI+CJAyf3jHK99XVNwWQvKr6VwG6 + mXx71v6jxztlle5v6JgBjl/6e3BC8HBw3MGTgEeOAO6GTz0x3aZPa/j4538r8qmf+clfS6cTvwsyiur6 + j2u6jqKp6LqGqml0561HRrARSbxTkgiHwqiqimM7dJf9vNG/t/GH3OcH0L//X99xb/7fP/pLXizBAAFI + Up+g970fxtsRwlAd3v1ZPa6ak4ATQwDHQE0l4xd9Ph/CEQghsK02ltlGOA6OY+MIUDXdzSPnZZnRdB3d + MLxOxqBxa0QSnQbdG0kAsUiYQqncVfd7o3+fE1A3MGhwjq/IXnovqS/UtxMrIPXq6bSzY1/oN/zdlRAG + zilDZDFICAhxxE51UnCSCUCKRCMXFcUVC+EIHMdBALZtI4RLCsIRCNuiVi1Rr1ZRdQPDMFAVFUl1tQRN + 01A0N/rM8PkGhX1EEm9LEpOT4xRKlZ7xb+iv5wTUvxHI0emA6y+g9Orxsv32SKC3/DcwFbgbIQzj7Qnh + +M0MTgBOMgGIYNB/vpPZpSvwQuA4/e8dhCM42Nvi+muvYlkW/mCI7Pgk/mAAWVFxHAd/IIDPH0CSZBRV + Q1YUVNUlBs3Q0XUdRVH61OMRSYDE9MwE128sDczze6N9x5W359I7SAJSb4rQ0RY6o7/nBCS8Vg3cgyFB + H8hFeM/ThO65BpJy9bgiJwEnkgA+/vnfkv7uFz67aBh61HEcJEnqCT2iqw0AOI6D4wjC4Qi6oVMqHiJJ + 0KhXKBfz7O1so6oqswtnQJJoNhokUmlUTcMyLVRNIxiOuEtenRBWTe+6sBp+P4bfBxw3hz75JHHq1Ex3 + OjU4n5cGIgGPWwnotw90pwydsl0bQM+uAK6m172hfQa9e9IKjpkmIMSLf+unnj2x+wOcSAIAlMnpsad0 + XffUftHtGP2aAEJge2QwMTNDOBqlUaui6T4EDge7O5itFpFYlHgywd7OFvn9XWyrjeM4NOt1VE1jdvEs + qqpSr9UwfD4cx0HTDXx+PxRcMXQTWGggSaiqhi/gQ/f5UBSlJ+ycPJJIpZLEY1HKlepA/r/OUl//kt7g + +n7PSUiS3KQfHbfhI/4ESt9vVXqjvYQ0QAhvpxXcbZogHbMUfZJwUglACgX8T0my7Fqg6e1d73g7wDiO + +6oIQa1SIb+3RzAcYXJmBtO2kGWFdHaMhbNnkWUVIUE6O0alVEQ4DvVajWq1guM4+AydUuGQna1NbNvG + NNv4DD/RZJJapUI0kSAQDAO4BkZFxecPgNfRJFl2jZGahqqoqIZGIBj0fsqQsPPokcTlKxf43nd/MKgB + 9Hv7KUPeff0jvdIT+I4m0XmPfIz6z6Bw9xMCSOD0/Zbe3Xg7QvguJxgnlQCEqqpPQ28n2M7D7aj+XS0A + 2C+VefFbf4XjOMycWsTw+b2VAAnHgUg8RjyRIjM2RmYs27UjOI6DIxwcyyYaixIMhygXCjQadRCCeqXE + 3vYWhdw+iqLQbDaRJJlEOsPsqUUc26ZttgnH4u7cFgnJG+lyQqAo7uNRdBVVdVcnDJ8P3TBcIev25fc2 + SVy6fIHXX3sTy7a6wq92I/0GXX/7hb6j6g8s+3WCf2SQpJ6n4XF7DvS3526EIDnHawV97188ttITghNJ + AP/tr/1tv6Iqlz0LEUB3KVCW5YGO4jgO4ViEmVML1KpVAoEgrVaDdrPO9sYGh/kDItEY49MzKIqK2W4z + OTtHLJ7EdhwMnwGyTDyVIpV1QxhaTTcOvtVsUSkd0mg0aNUbFAp5SoUCgYAf4VisrSyxt71FZnwSTTew + TJNQJEo0kcSxbXTDIByNY7ccrFabRqWM42kNsqcCK6pKMBRB9+n4AoFBYX+PkITuMzh7boEbby25G3d2 + fPv7c/t30331BwZJA1l+u0ZCZWgFQDpKAvdKCChDtgJnQCvY/eXnnzqRuQA7OJEEcObM/EVFlvVOdKgQ + gNKbBvTbBADSmSwf+9SnMS0TYTtUKhXaZptkJsvB7g6WZdJqNFhduonjODTqtW4HSqQzVMslNE0nOzHJ + 9KkFVF3DMk2C4QCJVBIhHIQA27Zo1pvdRjXqNRAOyUwGyzTZXl8jf7BLNJ+gXqsSjsTITk7hDwZRNZ3S + YZ5ms0kwHCEQDBIMRRC2zeHB7oAq7ABIEsFQGMPwofkM/H5/1zD34yCJJ65cZOnmEpbZxm5aRCJR5M5q + gXAQjo0kxIDTT2e078QIdLL9SvQEfmDTT+46ih8hhLueGySEE63+wwklAE1TPzicgw4kb97vdU7PcNRu + tdhcu4MsS2QmJtBUnVQmA8D4+AS2Y9NqtSkVC0xMz3Tr3FpfIxyJEQ6H2N1cZ297i5vXXuenf+GX2dve + YnV5CVmSmV04zfzps9TrVWRFIRJLIKsKOPDUs89hWia6qmFZFoV8ju3NdSQk2q0WgWAIZBmf30er0WBj + ZZli4RBZlpmYmWPx7Hn293Yp5HNE4wliiSShaBQFCUmSadWrtGpVl9iEa38AkBUF3fDh8/sJhMNd4ui3 + 3j9skggEgzz7Ex/ga1/5C2zLJBqNUq9WAIFltlFVhWQqhW6kabeaWO0mwvGjSEHQtAE/gs5Uwa2/ZxAc + jvzrnL9freBxUf/hhBKALMvvP+640p3/eeOTEDQaNa6+/CIbayskkxn8oSDTc/PMLpzGcQSNeh1/wE8q + lWZ8YtJbUrQ5feESmq6jqSrTC6dZu3WT/ME+4WiM/e1tSvkcgVAIEJhmkzde+j7NRp14MoVlW6iqxsyp + RbJT0yAJhG2TymQYm5wCBI7tuOq+91cplhC2RaVSplapkMyMYfgNDna2ONjdppA7IJFMMrt4hmq1QjAY + plqtIByH1NgEiiLTqlUx/H4cIWiYFWqlEgfbWziAZZoIIByNulMKw8AX8HsCPKziw4OQxKnTi1y8comd + zS10XccyW7SbDerVCqoiE4mEqZZK7G2v06rX3PueyTC3eAa/34dlmmiGTjQW704J+rWBPlMf4h5I4B60 + ghEBPIqQJOkDw8f6H2xfOQKBIIvnz1OvVWi1mkh1d4TZXr/DtVdfoVQskEpnSKTSTM7Ok5mYcJf7DB/B + UBDHdkjEE2Se/zBIIMsKkViM6fk5fP4g4Xgcs9ni1JkzlIsFatUazVqNSqnEzvoaZ564TCqTZXNtFcu0 + SGazJFJporEErWYTyzYxfEHiyTjxdBLhCGzHRpZkHNvmytPPUKmUMVstDL+fcCRCq1nHMlts3L6F4fMR + jcVYeutNhCM488RlWs0mrVaTeDKNqqoI2yYQCCABdrtNMbePEAKzbeIIB0XV0DQVWVEJhiNE4jHX6cm9 + s/dFEh94/jneeOV1GvU6oVAQx7Zot5vIskwkEsFqt8ARtM029f0ysiwxPjXF/vYmd269xezCImeeuEyt + UsY225iWhd8fIDU2jj8Q8By7HCRZhr5n/QBagS1J0oknAOmHF3m0cD1XSwPHJaMfQM9DEBzHplQsIBy3 + s/v9ftZXVrj26g9QVBWf30+73SKZyhCNx7n6yg+IxuKcvnCZve0N8gf7JNNZYskEhhEgmkwQCoUHVx9s + i3qjQbvVwjRNdjc32Lpzh0QmTTSRZG35FnduL1OrVDh9/gLzZ8+zcvMG67eXOXX2PBefeoZms0GlVERV + NQyfgW74Ccfj7no3wo1xEGC121TLZfZ3d/D5Ayiqwo2rrxMIhBifnmHjzgqFfJ7puVM4QrC/s42m6wRD + YaLxBL5AEN3w0V0+lSSE42DZNlbbxHZszxApoxo6iqriD4QIBoMEwmH6Bv4upB4rYJomN15/nXbbxDD0 + 7jbgiuru/SccB9s2adZrBINBorEYa7dvsXnnNucvPYmq62yu3qaQOyC/v8f0wiJPPPk+GvU6h7kDZEki + FImSHhsnHIuj6XqvEZ3n3nn4Q/2h7/3Vn3vm4uX77H6PHE6iBvD0vRa0bYe9nU3ye3vEkikCoVA3Sm3m + 1ALZiXF0ww8I2q0mDhK2Y1OrVohE4wTDQeq1KocHB9xZvkXbbBOJxJmen+PMhcusryyDBMFQhGgiQXps + HJ8/gD8A6WyWxfMX0A0DRVaYmpljbuE0+f19JmfnMfw+8vt7JLyph2k2uXn1NTZXVwB3wJ2cnuP8lado + NRu0mk3C0ZgrRLpBIpUklcngeO7OqXTG7fWShKqqpDJF/IEg1XIJxzLZzx9gmSbReJxYIkUinabVaFIq + FphdOIPt2NiWRTAURjNC7jKobbsEatvUS0WKB/vUq1WMYABVVWm328TiCULRGP5gAFXTkABFUTl7+TI3 + Xn2VSvEQXTfw+Xw4jo2iyvg87SqZzqBrGoosc/7yU5y5cAlfwE+9WkXTNZLpDKFwhInpGWRFZWttldWl + W7RbTVRV5Yn3vZ9T5y4QT6UB1xnrbtOEYzSEEz/6w8kkgOfupZAkSbRbDZbevMbVV1wnFVVV8QeDZCem + eOrZ54jFk6yv3kY4gng6RSQSczve8x8B3JHC9/yHOX/lKVZu3iC/v0cyncYXCCAhsbW+RrlcxNANJmfn + cWyblZtvUSzkmV04TTzplvUHAkSjMc4+cRnHtsBb347E4rzvg8+hGz5qlSqzp04RiUapVSoU8nkCwQAg + uHH1NQq5HJF4glazQSAU5uzFy8TiCUqlIgCp7Bid5BlziwuufcF2aLVaTM7McrC3y8HuLqqqEonF8QeD + 1CtlEDaVYp7d7S2Kh3misTiqruM4gngySTKdpW2aCMfBMHwkkgmQJYQATZExW00OtjaoVsr4A0F0n8+9 + b34/E7NzlIuH5HZ3KB0esLe9RaNWxef3kc6OEUskiERjKLLk3v9YAonO96YRwuHc5SfRNA1kGU3TGJ+e + pVIqUimVSGXH0HUDRVXdYKUhY2E/CRxjNzjxKwBwMgngyPz/blAUlZmFRRRFYePOKqXCIcXDQ4KhMIqi + sLp8iz2I3NEAACAASURBVL/84z+g1WqSGRtnbGqGU6fPkRobw7EthCThM/xksmHGJqa8KYSKEA5mu81H + fuZnqZaKKKqGLxDAcWxM02RnY53c/j7JVBpJkvGHgpy/9D40XWN9ZRmf30d2agZhu/XEUiniiTjR2DMI + x6bVNqnXqqiqu19eo1ahUi5jmSb7O1vomoYswdrtm7zxg5cwAn6CwRC+gEtuwVDIbZPPh+EPkMxkSGay + LJ674Mbve4bHVHYMs9Wi1WqiGzoBv5/8wT52pYyiqoTCYcqFPIe5AyzbdkdORxCMREmmMwRCIWzLQlUV + suMT3WmB4zjgWLSqRRThkEqnaLeamK0mFU3F5/cRCLr2gb3tDcrFQ2bmF2ikKpRLJcKRMIGA+3v8wQAA + khBkp6bJTk65hlohkL0pWNdAeIyg92Po3GOhAZxEG0Aed3uyH4p2u+XOYzWNRr1Gs9nCNNsYukEkFmNt + ZZmrL79EIZ/DbLeRFYWzFy8RSyQpFQ5pNho4jkMilWJ8ZhYE1CoVwrEY8XgSRVFwhNNdshKOw+Fhns07 + K9QqVQKhII1azVXRsxPcevN13vjBi0zPLTAxN8udW7coHOa48vSzPPXc81QrJay2iayoXTuDbVoIyXV0 + siyLZqOOhISsKuxubrK9voYkSxzmcqiaSjgap1ouueUkCVUzGJ+eZvHcRRzHoXh46M3pg901dteHwabd + bFIuHnpxgBKKqlCvVqmUS5jtNgf7+xRzB/hDYU8tV1i6/iaZ8QnGJqfY393BMAzGp2ZwHPe++P0BFE1z + HZtwELaNrKiomoLdtigWDmg1G8TicXeOn8+hKgrgahw+f4DCYZ5i7gBF04glkqQzY4SjMXzBIIbP11P9 + ++f5fZ+PsQdUgdgnrpw5sUFAHZwoDeB6rrbIPQq/EIKdrU3Wby8TikRIj40Tjcbw+VyffbPdZvbUIuOT + 05jtNq1Wk2q1QigUxrRMJEmiVDhkf3cHVdPw5/LcevMNtjfXee4nP061XCK/v+dGHgqHYChEPJUmkUhz + 5ZkP9kYmLzah2ajTbjVIZbKksxO0Wg2qpTICgc/vI7+3y9rtJdZXV3Achw9+5KNkJqfYWFmh1WoSCocZ + n57B7/dTr9eQkZlfXGTh7Fkcy6LmkZVt2VSKBcrFAsXCIa1mE13T0A2drbVVXv7Ot9ENH1NzpzxfhCD+ + YBBNM6jXKsSTacCL0tNUkqm0a2ewHSrlIrVKGSQZn99PuVgkEgmTHRvHMtts3F5iau4UrUadtZVlVFVh + anYe27E9g1+YaDxGQDfQNJ1QKEQsFfeCgRTsdpvs+CSO49Bq1AGn6z9RKZdo1Ovus2o03FWFeJzZxTNE + orH7GflBkl786UuLJ1744YQRAPeh/rvRfA22N9Y4zOVwbItILE4kGiccczeCWTx3kXQ2i6pp6D6DRDLl + Li8BY+OTWKZJpVJB8UJY8wd7BIIhMhOTrN9eZuPOCrVK2XUaisZYPOda8xVVYW15CYCp+QXiiSRCCM4+ + cRlN6yTSFCyeu0C1VsVn+FyHIcNAVhRazSaRRJLSYYGNO7fZ3nCdkhCC/MEBt29cZ3JuntPnL6H7DRzL + JpZMugFGApKpFI5j02g0sG0bn8+PqihEYnFOn7/YdTEu5PZpNuoEW02K+Ry3b75FIpXGMm3CsShnLl4m + mU7TqjdxEPh8fkKhMLKqIkkQiyWYnJ5F8SIlA34foUgUSZI4DIexbQvHtijk9tlcXcVxbAzDYGxqimg8 + ydTMHIl0ivzBPs1ajWQ2QyyV7CYDwQv1zkxOsXjuAs1GHcPvx2y3qZZKGD6fl8Ph6HLgkTk/A/aAEx0B + 2I/HlgBkWWZm3rW2r99eZn9nm0a9jhAOhVyOQj6HY9ksv6VQLhZQNY1oPMHk7ByhSNQdOXWdeDLp7lij + KDz/sU8ArnYRCoc5de481XKZ3c11LMsikXKNfsvXr/G9b/xVV4WOJZPkD9y8k5quE08kSWayRGNxQkF3 + OdEfCBKNxpmem8cRDqqqUy4V8Qc/TG5nESSIpzMu6dQqWGab3O42b7zyEtFEnKef+zCObbu+CLUquqYz + s3CaZDpNu21Sq1WJJRJkxsZAgGlZzJ8+g23bWJbFzvoaIGg1WxQLeRACRZbI7e2ytXaHaqXsxlVEIhi+ + AJrhGj6DoRCtZotgOEAkdhZZdrWeaCyObdsuUcTjhMNhDvZ2KORy1MolNE3FcWza7Ravv/hdDna2+YmP + fYJKscjm2irTc/PEkyma9QaazyCeTuPz+d37D9iW5baxT/3vei7fxfrfh8fCAAgnzAZwPVf7PvdBAv1w + HIdWs4lj2xQKeRrVOs1mjds3b1AuFjDbbZqNOtNzp4jE4qzdXsI0TSamZzj7xBUmpqep1+vIsoLPZ6Ab + bqx/J+sQeHnyhWDfExrHsQmFo9RrVe4s32J/d5t2s4U/GGR8appwJOp5K9YRjmBiZoZUdgxZVvAHg0Qi + Ma/1HZ8GQbHoquHBUIhatcobL32fzPgEmfEJ1ldus7u1wfbmOpqm88GP/BS6YbB88y1ajSaRWIzxyWmm + FxZpNRtIkozu82HoOiBh2e5SYK1WASQC/gCFwiF7G+vkcvtUikVkRSV/sI8/EOSJ9z1DtVxibWWZQDDk + ei/qOuFYjEg0jqQqGLqBpmnYjkO9WqFeLqMaGv5AkGAoTLvV5PqrL9Nutzh94TLba6vceusqcwtniMTi + LL91lXa7TSjsTuMyYxMEwhFiiUTXWannoHh0zn+Xc+MfvTC/+yD96FHDiSGA67maDhQB/zutq5MspNVq + UTjMu/P9w0MO9naIJ1NousG1V15i5dYNfH4/H/3UzxOOxVh68xqSJBGLu2aIdrtFdnKaVDpNo9HA7/cT + DEf6vOhc2LZNvValWChQyudotVoYPl/Xx2Dt9hKNeo1YIoVtW2iazvs/9BEmpme49urLtFstEqk04Vic + VGaMQCCA7RnZZNl14rEdQbVSplwqkNvdwbIspudOsb2xzkvf+RaNWhXbspieX+DJD3yQl779TWzb5tyl + KyxefILCwQGO7SY6yYyNISuuw07HANn2CLLdbrO/vYnhCxCOxnjr9ZfZWF1F0w0a9RqRWJxYMumO0Ejo + hkEoFCI9MUV2chJJCNrtVjf0V0Zy/Qc8zaFcKFAuHOILBDDbLdZuL3Owu83+zg66YZCdmCQ7Mcn82fOE + I1GXhHsP1n057nPv/dZPnpudeqd96FHBSSKADwDff9j1dox1juNgWSaapiNJEuVigZ3NTWRZYXp+nnK5 + xNadFTchSLvNW1dfp1w45PmPfxJN01m+cR2fP4DP58N2HCLRKMFwxHUpjoRJJFNu8E8fbNumWDikVHA1 + kHqtws7GOoqi8uSzz9FsNvjqn/x/5PZ28QUCRKIx5k+fJZ5MUS2XCEejLJy7iKKoSJKEpuuexiu6v6tR + r5E/OKBRq3bX6n3+IF//6ldAwNPPfQif389f/PEfYJptpucXmFs8Q7Ned8OnQyFi8QSRaJxQNEIwFPKi + sCWEY9NoNml6tobdzU38gQCNep1S4ZBquUSlXEYCzly6zJmLl9i6s8qdWzcIRtx4BMsySaUz+ENhNzw6 + EkVTVZDcsG7LbNOo11hduoXZdo2WoXCEeDpLIBREpi9C0n2gP4wQ/vDDZ2d+5WH3o/cqThIB/Cbwv/64 + 2wHQbDR46+prqKrKqdPnqFTL3Fm6xcbKbXa3twiGQvj8ASqloudqHGB8atqLIVgACcxWm1Qmiz8QOFK3 + rMjoukGtWmV9ZZlCPsdh7oBGrcbY5BSVcpnlG29y+vxFFs5dpJjPYdsWoXAEfzBEOBp1nXm8tXtN0/H5 + /T2V2XGo1xvYjoVhGOT297n6gxdpNRukx8axbZvVJXfKYrXbBMMRMuPjTM8vkJ2YpniYo1wqkspkmZw9 + 1Q3W0TVPcD234larSSmfp9Gok8qOEYvHWbp+jRvX3iAQDFHM58jt7xKLJ1FUjczYOMlsBhkJXzBIOBZH + 13UikajrmuwZaO9ByAcIoXveff8PP3Rm+ncfdp94r+IkEcB/Ar5wL2WFEJhmGwnX2j0cIPQw0JlGSLLc + tS/sbG1SKuSJJVIIIdjf3qRer9HyRsi128ucfeIywVCI9dXb/MTHPonP7+fWtTeoViqMT04xNX8Ky7KQ + ZdlzJHLba9s27VYTRVU52NujcLBPMjuGZZrsbG64cfiWBZJEOBqlUiqxvb5GpVzCHwgwPb9AKjtGKBxx + R1/N9fF3M/i4tmLLNHHdolvk864f/uHBPu1mE93nJzM+gawovPStb7C9scb5y08xPj3D7tYGoXCUp559 + jlqthiSBZdn4/H4i4TCKpnXvm22aNJpN2q0Wub1dyqUizVqVSqVMMp2lVDikXDikbbZRFIVYIskzz3+E + aDzhumO3WoRCIXR/gLTn/XifhPDR509PfeOhdIJHACdpFeCejX+H+RxLb15FCEE4GnMNTuEw4XAEfzDY + G0neAbpup7gjkz8QYG5hEVjs1n/Ks7Kb7TblcoloPEE0FicSj3uedhHy+3u8+dorlIsFmvU6B3u7rC7d + JJFKM7twGtu2SCTTrvNRMglAdmycyemZblumZmZptVqY7RZt0/QEed1dW7dtQMK2LDZXVzAtE8ey0Qw3 + OAjAMHwkM1nimQyGphMIhgiGI8zMLbgbrDgCyzJRFYVao06rXmfm1CnGp+eolopsrK5w8cmnONjbZWtt + ldz+HvncPul0livPPk8wHGZvcwPHsYlEY6TGx0llsqQyWVd4hYNl2diORb1ao1GrUi4VKBeLbk6DQJBq + pcKNN16jeJgnkUozMTNHdnziuAczaPX3PntP3OYx8QDs4ERoANdztQSQv5eyQghWl5f41lf/jEI+R7vd + xufzY/j9XH76/bzvg8+zcWeVg91tovEEiUyGeDyJbhgPTTu4GyzTdNfgFaXrKVetlNnZ3KTdauIPBCnk + D1i5eaOb3KNULBAKR4jG4syfOcdhbp9CPsfE1Ayp8XGCgWA3x6FluuG9mqZjmSb1Wo222XYdgXSDw8M8 + +b1d1ldvoygK9VqNnc11zLbJ7OLpbqLS7MQkub09fH4/41MzqLpGPJHE5w/g2I635Rp0tIWDvV2iiSS1 + aoXD/T12NjfY3d4kEo1z/vJTrK/c4urLL9Go19ENH089+xOcu/IkpXyOWqXC5Nw80ZhrWJUkdwvxzlKf + 5N0vy7bZWlujeJgDBKnsBONTU52H3pex8G0/v/zBU+PPvDtP972Jk0IAnwC+eq/lK+US2+vr7G5tsLay + jGM72LbFMz/xYRbPX+SPv/QfuX3jOpFYnGgiwdziaRbPXUTTdRzHRvMy+Pr9ftcoKMvdOICHTRIDacxx + PRQbjQaWZVIpuUt+jXqdQDBENJ7g5tXXuX3rBrFEguz4JIqqMrtwmkAoxA++/U1q1QrnLz/J7MJpVFXF + ti2EYMAGYLbbmGabSrlMIZejUa+hG4arhTSbCMfh9s238PkDBIJBSsUCp89dIJ5Ksbl2h5n5BS9VWplE + JkM4HOkSWmf61Ww0EEj4fH6219fYWF3mMJ+jVDjkwpWnGJuc5q9f+Cq5/V0+8QufAaBcLFIpFWm1mswu + nGZ6fgFFlmk06qi6TrBjRL13ge9+BhDwfzw7P/brD/UBvsdxUqYA9xQBCHjzZ4WFs+c4c/EJTLPtZt9x + bAyfn3arxZmLT7gOLK0W7VaTaqlErVKmWilTyOewTBNZVpiamycYjlApFpBlmbnFM93RT9U0VPWd395u + yisPit/v7jeAm8sQXM1BURRvV6Mgc4vuJia2ZWG2W4SjMQ4P9tneWONgbxdJkqjXqlTLZfZ2tojE4sye + WkTXDWzHIZXNEo5EiCeTpDLZruA6jkuUrWaTU2fP4TiO6w69s41mGOxtb3Pr2lUkSWL99jLLN9/ifc89 + z9TcKaqlIoFwGJ/hIxByg3k69+rUmTPMLS5imiZWu41uGDiOw7lLV2i1zpKZmOT2jevs72yzs7XBYe6A + cMT11rz++quUiwX8gQDJTJbzl59yU4v57m812MsT9dg4AHVwUjSAPwU+fS9ly8UC119/lWqlQjKTITM+ + QSAYRtc0HOG4wSmqim1ZtFotms0GQgh0TaNSKVM6PCS/v0er2WR8eoZatcIr3/trUpkxPvDhj7K1tkqp + UOiqpumxcZLZLMlUGt3wYXt7DjwMcrhXCOEmIN3b2aF4mEPztjbb3d5kd3ODZGYMn8/Hptf2p5/7EIFQ + kJvXrqJpOgtnz5EenyAUCqMZep+7sgvLsnAcm/zBAYcH+4SiUTZXV8gf7HP24mUcx2Znc6O71XcgGMLw + ubsl5fZ2cBxBKBwhNTZOIpVG17WuVtJBJ4tRqVigUiySGhunWavz+kvfZX93h3q1ii8Q4Lmf/Bhj0zPE + 4okecd67BnDu/bOZE7sR6HE4KQSwD6TvpWylXOLqyy+xfOM6xXweWZEJR6IkM1ks03SdSM6cIxgMIoRA + 040jS3Fmu0277Vqh93d3uLN8i+zEFIFgkFtvXuXwYJ/93W3KxSKTs3Ncevr9ZMYnWLl5g92tTSZnZpk7 + fba7zm0YPnTdQNM1FEUdSHj5sNDbCclxX22bVrNB2zQxDINSscD2+hrlQoHzTz7FnaVbvPTtb+A4gkgs + xsLZ8yRSaQ52d7C9vRIlSSIUiZD0nI/C0Si67tomXEOjO7LWqlXqtSrNZgOz2cIy2yBJbG+sc/Pa69Rr + NdLZMbITk0TjCWzLQlE1ZhcX8QdDOJaNPxDo7trc8WFACBrNBo1anXKxgGVZpDIZ/IFgLwvQsLAfd8z9 + XAKSz8ykH4sgoA4eeQLwIgCX7ueaWrXK7tYm2xtrrs+/4xCJxlhdukkykyUSjXGYO8Cx3WlBdmKCsekZ + HNvGNm2S2Qx+vx+fz98NDgK307eaTZqtJrm9PSqlArrhY2JmlmqlzHde+Brrq7eZPbXI7MIi9WqVg71d + ZEUmEouTzo6RSGcJRSJo3hTCMHxdg9+PAh1bg+uAdEir0aRer7peiJbFjauvUS4WqJRKmGbb9SEIBIgn + U0zOzHHp6WeOaAj9ddumiWmZ2LZD4TDPwc4WjXqdSCyOqqpYlsXq0k0URWVucZFquUKr2cAXCODz+QlG + ovgDAcx2G9uyUTQ3dDkUdrW4exT248p87enp1Ccfzl18dHASbAD3nALMcRwatRqqprFw9lx3Gc62bRzH + 5uylKwjhsLe5SX5/D0VV2d3e5DB/QLvd5mB3hzu3l0hnxxifmubZD3+0a5Dz+QMEgyEMv59AMEgylR5I + PBmJRvnwJ3+WUj6H4QsgKzL7O1sUC4cUD/Pk9/cpFwsc5g5QNY16tUalVCQSizM5M+sa3EIh0tkxNE3D + NNvIsoKu6wMk9E7R0TriiSTxRLJ7XAiBbVkkM1mq5RKFfI5Ws0G9WqVcKqJpuufee1Rz6b8Pqq6jeqNz + MBhkYnIKRwg3Zt8zECYzWXfPRFlGiC1kRXbDfg/ztFpNLMvi9o3rHOZyXlDXAolUilA0RjSeYHxyyrUv + CIGQhncuHkKvzGO1/NfBSSCAezYAlooFXv3ed6hWyqQyWRKpDNnJSXw+H7KsdNeNk6k0i+cvYlomhwcH + CMchmkwQiyeoVSvUa1Us08R2BHeWbpHb3yMaj6MoCo16HU3XOXvpCma7hdluk86Oo+ka2bFxpmZmuwIy + t3iaerVCsVikdJjHMPxYVptKuUQxnyd/sEe9ViW3t0OxcMiZC0/woY9/khvXXmdteQl/MEQ8mSSRyhBP + ustwAIbhpcHi4U0j3OQhGvFEglg8zsT0DMJxME0Ts93Csm00VT129D+uDcJzklJkGaWvnKEbjE9OdcvE + 4wksy8K2LJrNJgD1WhXbsgmFI5imSSKdptlo0GzuIkkwOT3TDe+VBr/07QhhRACPKO4rB0B+f48b194g + GAozPX+KrfU71GtVzHab7MQkqew4mq4TikSIRKIEg0EcR2AYBunMGJNz89SrVRLJFL5AgPHpGYKhEEgS + W2t3uHX9GlOzc0zOzrNy43rXym622+iGj0QqhW4YBIJugpB4Isn07BzTs3OA64bbarU4dfY8zUYdx3bI + H+xxsLvDzPwiqqaR39tjdelW16clOzHBqbPnqVerNBt1Ljz5PqLxJCDQNR3N0FFV7aE4OAFdAyeK4i6H + DtlI7rWOfvRvzCn1lZF1vbtaEAyHEUKQSCbJTkzQbrrEo+sa1UqFVqtFIBDskd/gF/wwQnjsVgDgEbcB + 3G8EoHAc1tdWWV9ewvD5icTi1CplXvrON2k3W1x5/7PIssyd20tdr7xOjoD50+eYnj/VjTG3bRvHtvAH + gl7qL0Fuf49SoUB2fIJgKMTuzha337rO6tItLMsklkjSqNeplkvohkEkGiOWTJLKjpGdmKJSKhEIhZia + mQVcwpK9/HbC6TnY7G5vkdvdoV6vcXhwgOHzEUsmufbKy5hmm+c/9kma9Rr53D7BYNj1lguGCceiXgBN + zyEoGo2hG0bPaPYewd128Hm7c/d1fNAWsHplPHbqvhp4QvCoawCXuFfhF4JKuUQqlWFm7tSAD31ybAyf + z080FiOfO8Dw+XG8xJ4CQaVUotVssL6yzNb6mpskwzSRFXf+aVsWoWiUtJfEo7Ov3eT0LIlkijNPXEaS + JTRVo1qtUDo8pOYl0Fi7vUT+4ACz3WZ3a5NUJksoHGFjZZnlG9cJBEMsnr9IMBym1WoSjSXIjo27STYl + yd3RR7j5AFPZcQCi0SgHe3tdS3yjXvMce4qsryyzvbGOJEmksmNMz58iEAwRice7S6CBQMDdj8/bsPNh + 2hjuFXfVEN7m3JGphifkx5Yf1AYeS/UfHn0CuOf5f71W48Vvf5Pc/h6nz18kEo0jKzLBiBsDoOtu8MvE + 1AwTUzNdo5dpmtTrNfw+P9VqhUqpRG5/l3qtSrvlzklXbt7AHwiQSGe8XX19GD6D0xcvkcmOufX7DCQk + kukMzC902zU9v0ClVCSRzhAMhUlms2iqSu5gj/WVZZJeRODayjLNRoP502fQNJ1AKEQkGic9NkYgGMRs + t8lkx7orBqFIFGfB3YLcskxs26ZSLtNs1N0dkJDc4B1ZZn97i5VbNxCOgz8Q7FrjI7EYY1MzxJMpdE3D + 8Pm6Hn1qXwDPjwIPQggcp/IfUx4hHkv1Hx59AriPFQA3m01+fw+fz0ckHscyTRq1OrvbmwRDYWYXFj3P + NzfjTmZsHF3X0XW9axfIjI1Tq5Rptlo0Gw13S+9whKqXlLJULFA6zKMbPiLRODvra9y49gbp7BjReAJV + VYkn02Qnp5Aliahn5ZdluWf8chye/dBHOXfpSTRdp9loIMkybc8ItrO54XrL2TbnLl9BkmTuLC+hG7qb + sSgex+fzE/Os+K1WC5/PR3Z8gmQqzaX3PeNl+zEw2ybFQp6djXUqpRKO47C/s83B3i6xRIJS4RDbtonE + 4gjHXbrLjI0TicUJhMJksmOomrsbss/vR9U0hON0N/J8t/AwCYHHYAuwu+FRtwHcAM7ea/lKuUS5VERR + VNqtFo16nb3tTVZv3aBerxMKR2jUaxTyOabn5pmcmfMy7rpRghISiXSGzNg4Pr/fy7TjdL36hOPQbDYo + egk8AqEQy2+9yYvf+gaJVJr02Dgbq7epV6uMT8+4sQW2zcWnniESi2H4fFiWRblQIBKPE4vHkSW5a2Nw + bJtWs0mlUqbZaNCoVUmNjVM4OODaqz+gVq0wMTWDrCqEwhEuPvk0b772MtdefZnxySkuPvWMm4vPcSMQ + A8Fg16UWXJtDu9WiUilTLhRQVIVWo0mlXERCYn31NrVqlXAkSj63TyQa48yFJ9wphSwzf/osltlG0wxv + VyWfu92359z0bgdT9eM+bAhtIPZEJtx4t9v0XsQjSwDXc7UorgHwnlApl7Asm3hiMGu4EG5K7lqtRq1a + 4a3XXnXX3+MJcns77vLg5CT729tsrq2iqiof+eTPEY7E2Lhzm2ajzvjUNDMLpzF0A0mW0XW96/Zqmm0K + +TySLOMzDPa2d7h1/SqtZgNFcTcRGZ+aIRgOo+kGq7ducOvNqwRCISZnZlk89wSJTJrt9Tv4/UHGJqfc + wJ2+ZT7LsigVDqlUymiaRqNaQ/f5SCRTfP9bX+fqKy8RCkc4c/ESiqKwvb5GvVZl4dwFYomkm/k3FGZq + dg5ZVmi1W4TDka6a34kDaDUaNLxtyLbX7wDgDwR5+bvfJhKNMTY5xSvf+2vGJqe58syz7lRDktANH8Gw + m9HH72kJCLBtC0VR0TTtXbczvA0hvHgxHXr2Xf3y9zAe5SnAPS//me02V19+iVtvXiOVHSPixc5PzS1g + GDq2bRMMBkkmU8zMncJxXANgPrePpun4AwEO9nZJ3shw89obKIrCYW6fV7//HSrlkhdtF2FrfZXc7i6p + MTexhizLZMYnmZia7gpTJBZn/syZ/5+99+iSKz3z/H7h7w3vfURGOiQy4VEw5atINttOT0/PaGapMwt9 + AB0t9CV0tNAH0NFCC52j0fSoNZzu5tBVkVVkOVTBA4lMpM+MDO/N9Vq8N4MFmiaAYvcArHpWWNyIyAjc + +7yP+RshQGoauGxOvtPpYjIZ02k1yJfnaNaPGfb7uL0ebn/6MR//9Cf4A0HKC4ucOnNOWI87HHg8HpSp + QiqToZJaQlUUPAWPDaKxeOPb3+X0+YsoU6GV3+92CUf7BMPiAd/eWOdwb4dEKoPT5ebxw3sc7O6wuLJK + sbJAPJVCthGPPkk8yAD5YskePmpE4gl8Ph+mZTIejUjncsjBAI1aVSTY6QR/IDjjAdSPjxh0ezgcwrIs + kc4SSyZxu914TkxJXK5ZxfD7qBz+kZbha1v+w8udAJ56AGhZFl6fj9FwwPHRAaFwhGyhiMPhpFWvcbS/ + RyAYJF+eI5nNkUymkWSZZEp4ArhcLkLhCPOLy1y49hrRWIzRcIRh6DO573yxyN7WEemDIwAAIABJREFU + hjComIzpd7uoyhSPx8vymbOsnL1Ar9NiMhqRzOQIRSLE4gkb2w5Op4NEIknirXe5+sbbjEdDnE4XPp8P + VVG49OobDPs9fLKMy+2hVa/jdDrY29qi3Wpw+frrmKZB7eiIxZU1ktksqt2+5AvFmTiJZVlC+x8L07Ro + NxuU5xeR/AH8tpLweDhg88E9ep025YVFlOmU2tEhXp+Ex+vF7XaTSKXF4DIUolgq/9Iv4S8KgNiuhMMR + FFVlPBwCCFjxaMDR3h616iGSJGNZYkDbrFXpttvkiiUKcxVU2+5cliQ8XrGmPDFu/X3ElxLC1zoBvMwt + wN8C//Jpr9dUlerhAc3asRCXjEYxDZPPPnifw/1dYvEEHq+XcFTw//vdDs3aMavnLyMF/DSqR7b2XR6X + 04Ek+38No6/YApj9fo9eu0Wv0+bR/bvIsp9zr1xlZ3ODzYf30DWNZDrDq+/+EcN+j+2NdQLBIK+88TaB + QBBVVXG7nLg9XjweDy63WyAPDQPLMnG7hZWZpuvcv/k5mqayvHqWTz94n/rxEa9/67tMx2Me3b/LwqkV + 0rkC7UYdHBCJxknnC0RjsV87FU3TZDIeMx4LGLLT5cLvD3Cws83e1ia9TpvxaASAw+kgEAyRL81RWRKQ + 6mG/RzgaE1WDLON2e/B4vbZtufDq03SNVqPBsCeqG38gwHg0otNscLS/R6FcRvYHqR7sIckyXq8PORAg + GI5gYTEZjrAsYeMeicUIhsL4fKL1+lW15aeM02vJwNeKAfjleJkTwFMzAFVFodvtzAg8J6CXyXhE7biK + y+XG5/MxHomTyicJHb7JeMzKuQvUDve5+8UNNHvSLUky+VKZU2cF1fXE5y8QDBEMhoSMtUPIcfd7PXRD + JxQO02m12H70kIPdHQKhEGcvX2Xn0UM++fCnxJMpvvMXf0V1f4+Hd2+hqSqhSIRINM6ps+fJ5vMM+v3Z + DX+Cldd1fTaEPDrYx7JMorEER3t7bD68SyKdwe32cOuzj+k0mzgcDjL5AqlsllJlEX8wSHV/j/lTKwLR + Z1liFfil/v9EFXnQ6zEejxj2+rSaNVRFEevPZJrjw322Hj1EmU5Zu3AJh8NBIp2lPL/A9sY69eoRhXKF + 8sLibyQ3qarCdDzG5fYwGg5o1o5nlmyWaeHxeqke7LPx4C6aohJLJinNLxIMhYglkmQKRRLJp7odvhzt + tWQg8bsv+8ONl7IFuN8czfOUDz/A9uYGn/zsJ/YQyo/k9xMMhaksr1BZWGI6maCpCtF4fCb7nUilbB18 + GxYcjbH1aJ2D3S2cDgfddpteu83O5iN2H28gyTKJdIZTZ85jGgaNWlX0/6USfp+wC8/k8qSzOS7bRB6X + S0zrc8UyARt6XN3fwzItlOlUcAyiMTKFArXDfW5+8pGtXxCwbb5PUVlaZjIeMZlMSKUztmqRyfLaGgsr + KxiGjqZqJDIZmtUq92/fRFGmmIbJcNBjNBxw67OPsbDQVJXD3R2SmawQ1HQK9eHS/AIeG/IbDIfJFYos + WaszEhVALJkklkjSOK6SyuTZ294kbduYffLB+2xvrLO4ssZoOMDhdNJpNTF0nXxpjng6jc/rwydJYs4Q + DJK21YdF9WCiThUBnU4kGPT7RGIxvF6hUtTvdkjnC89zK32ty394SRMAz4j/9/p8ROMJakeH7Gxu4PF4 + 8Uk2Hj8e54ff+1vq1SMy+SKpTJZCpSL6f/tkTaUzpNIZ5pdP0W418UmysOuSZSER5vWiKlOx5/d4WF+/ + z90bn+GTZdLZ3OxEPbV2jny5TK/bYTqZEInF8PsD5MtlW0HIw8Vrr7J6/gLT6ZRuu43T6SSWTLK7uUE0 + nsA0DPZ3tpmOx8iBAJZlsn73Nr1O2wbtJAiFI8RSKWTJP8Pqz80vUixXqJxawdD1meDnZDLG4/Hgk/3U + q4cMB33qx1VUZYrT6SKeTDEaDuh1RcKLxOP4fBLhaJREWkh5+yQZWfazduESXLgEQLEyJwRQdJ3zV66R + yRWQ/X5My6R5dMTB7g5OpxNd19jd2mTQ6xJLJJk/dRrLNAU2wuWk3WrOIMvzS8tUFpdEVYKYM0wm41nV + 8hzxtU8AL2ULcL85+l+B/+lprj1B9J3QSVu1Y0xbHKO0sIRp6Pz93/wHDna38dqn0NziMitnzqMoE6YT + IVQpywGyxQKy7BcyYqYlSEC/EoZh0Kgfs3n/Hgc72wRCIVwuF4N+j1NnzoFl8cGPfoDL5eLcK1cZj0bU + jg5IZ/NcfesdZFmeDQW9Pmk2+DqR/VYVlXq1iqpOSecLDHpdPv3gfcajEYauY5om2UIRnySjTCd4vb6Z + M3FlcZlgODyDMp8MOE9+J01TGQ2H7G89pttpE4pE8AdCOB1Ojg/36Pd6jIcDqocHSLLM0uoauUKJRu2Y + frfDK6+/hWkaDPsDSpUKbo8HQxd8iZP/BxBsvl6vNwNnNWvHHOxs4/X5yBVKNBt1XnvnW1QPD/n+f/oP + +INBrr/97gzqrKoKDhxk84WvqpXwZ2vJwD98lTd42eNlrQCeegMwHPQ52tvDK0mk0hmy+cJs+HVyU/7Z + v/l3DHpdhn2h+xcIBvH4PAz6XfrdLt12C7fbjaJMUBWFxw/vkykU7fXaVDxMbjduj4dQKEwmkyOZyjC9 + OsYr+YR19qCP1+Nlb3uTRCpFNJ4gEAxxtL/L4e4O08mEU2fPs3HvDu1mg363S3lhkUvXX6fbaWMYuv3+ + EZbX1jBtZ9xoNEYqncHhEKflCR25bwt6dNtt6sdH9LpdSpUFRsMhH73/Ywa9LpWlU8JB1x+YOeo4HU5W + zp6fPVgnOIPCXBld0+h1uzSOq2iq4O07bGUfl9NJr93mzo1PGA4HvP6t76IpU+q1Koun14jHEwyHQ2Hk + EYkSjsZm/0f5YpmVM+cB0HWNeDqD7A9g6Br+YBBD16ke7NM4PqbdFH4EqWyOQrmCqiokUmlRfTx7fO0r + gJcuAdxvjlzAxae9fjQasvnwPs1aFa9PIpZIEo5G8QeCWJZJobJAIpl6YoBk2ZJZ+WKZ6WRMs9HA1HUC + 4TA7G+uMxyM8Hg+dZpPNB/fotJqMBn1cbvcMvFOszDFVpjRsrYBkKo3D4WAtfJlTa+fw+nziM+bmOHf5 + Ki6Xm0gsRq/dFMYbjTrpfJ5Bv8fNj3/O4d4uAGsXLlGozHP/5udIkszS2llS6Yzw9ZurPLEmMwxDbCVs + B6JwJMJwOMDr8+H2eFFVherBHth+hh6vlwe3b5ItFHG53bjdHgrlCvmSwDG4PR78wRD5UnmG7DMM0QIF + gkE8Hg/14yPKPolILMb6nVscH+wjy35qhwdsPrjHZDyeqQclM1miiQSJZAqfJDEc9JE8fsGXAFbPX2Tp + 9BqapmEaOoOBGA72C8VZ/99pNQlHojxHbK4lA+3neeEfUrx0LcD95ugV4LOnvX40FM672xuPqFcPUVUF + j8dLNJ6g1ahTnl8kUyhgGiaWZeIPBMkUikQiUUGZdf8SpWZZwmBzMpkQDouHqXZ4YPsE7jOdiJt75dxF + dE3jFz/5AY3aMStnz7Nw6rQw4bAsfJKMPxgkEAoRDkeemLhjsxYnkwnBUBhd09jeWKd6uI8ymVCaX2Q8 + HPDe9/+OWCLBhauvokyndNstzl66QiqXYzQYoOs6LreLeCL5BNwXfildZlkWnU6b6WiMy+Om22ryyQfv + 4fF46bZbmIbJa9/6DpXlUxzu7DAaDTANE38gQCojxFOS2SyxeHwmXW7a0GjLsmjbuv5eyceoP2B7Y52j + /V1qh4cEIxHiySRrFy6xev4S9299wd3PP2XlzHnmlk/RqtcJR6Ok0pnZJuJEdt00TUzDYDAYMJ2MCUei + v7Ed+x3xf64lA//9s77oDy1eugqAZ7T/9gcCnFo7S75cmenon1hkHR/s4w8GOdzdZX/7MS638KRPprOU + KgtCCmyqUJpfIByJMre4hCz7CQRDOBwOGywkTitVUdA0DYcDvF4f1cMDcqWy8BawlYSOD/apH1eZTsb4 + JJlCeY50Lk8gGELXNXRdFyutXIFAKAyAw+/nwpVrnL30ipA0dzlpNRo4nE5k2U80keTOjU+ESpGuUd3f + Y3tjndrRIcp0wtlLV1g5d4FOs0G33SIYDhNPpUnYYCd/MChOAYcDpVgSWoXjMd1WA03VyM/NYZkCLt1p + Nmk16jidTiR5nW67ybW33iWdL7C1/gAHDvLlihDwlHwkk2ni8YQg4eQcLJxaoVGvsbOxjtvtIRAKE0sm + cTqdTCdjptOpEDyp1/nkZ++JZHrmPI3aEdPJBEmWSWfzJDJZJMlHNBrF8SvQ7meIr335Dy9nBfB/AP/+ + q76PYXvdq4rC0cE+7WYdLIvqwT4er4/C3Bzbj9a58/lnyH4/Zy+9wvV3vs3Oo3Wm0wmRWFyId3q9eLw+ + 4vHEr51Ulmna4B0BmW02GtQPD+i0hHnmCTvwhJTUbNRJJNPEk0k0TaO8sMj5V67R63UZDwdIfqE76A8E + nwC9NBt1HIhk12m3aVSPONzbodsWJhs+SeIX7/2I/e0tXG43uWKJN779x/R7HY4P9iktLLJ8+owAHNkO + yCeS3DNDEk2l3+vRa7cZjwY0azVGwyErZ87T67b4+U9+BEAkGsXpcpMvlQlHo1iWhd8fIByLE4pEZtXI + r8qinwCoYrE4vV6XjXt3cDpdxJIpHt27zeHuDsNBH5fLRWV5hVg8wamz50mkUjMl4meM62vJwNc+CfzB + VwC/LVwusYf3+nycWjsDnBGuO+ORENuUfKRzBbKFIpPxWDjpuNwYpuirLavF5oN7VA8PKFUWWLt4mer+ + LtPJhEK5gss21AzFIvhlsY47kf4yDEOAjiyLyXTK0N5rZ2w/gW6nRbvREJBYVeHDH36fx+sPCEdjhCNR + SvMLFOcXRILRDeYWFnF7PJimSb5YIl8ssXrhIupUwSdJjEcjLl1/jbnFZbrtFj4bDLW9sc72xiNcbg/Z + Qol7X9xgf2dLPFxnzhGKRJmMx2L4GIkQDIZIJJLgcAhRUofQBWg1BGfCsgS0WFWETXe70aDbaaEqKg6H + g9L8AldefwuXy8WD21+gaxqReBKAgG0zrus6iUSS5LvfAcQaN1co0O122Xp4n4PdbULhCLI/8FU4AhPg + 5le+if4A4qVKADYD8Knpv88aHpv3fxL5QpF0Jiv6WrtPXzt/Cc02wli/cwtVUSgvLCLJMrqmUTs64NG9 + O6iqQiQax+UWjL9gKCwm13PzRGIxIrYMdigC6UyW+cUlDNNEUxV6va5Au8UTOJxOMvmCACtpKv2emMLr + msbOpnh4xYzCQplMCEai+AMBAoEggWAQ07KIxGJcuv66WPWpqhD1cDlxOB2cOnOOZCaHJPvpddp0mk3c + bjeN4yr3b33B/vaW0DwIh8nkC+TLAvrr9flmasCJZIoLVwWhTlUVnE6X8B4cjxgNh7TrNbqdNplcAX8g + wNHBHg9v38KyLJwuF43aMcFQaCbDli2UCEYiArhl+zaWIlFy+YLQNpBlLMvCZSsvPUfcWUsG1K9+x7z8 + 8VK1APebo28DP3qaa09ovi63+3lLxN8Z04mgkEuyjGmaTCdj9ra22H28IfDroTCN2jGDXhdNVfFJEoNe + F38gyKvvfodSZf6pvocynTKZTBiPhkyGQ9xeD6qisrO5juwPUF5colE9ottq4bGVjQKhED6fRLfdYjQc + 4HS6iMbiZEslQqEwoUj0107Qjn2t1yehaxpHezs0jqu0Gg2mkzGS7CdbKFKaX2T70UPufP4p2UKJi9fE + wz/o9bj86htYlonD4Zy1Q25bQ/Fkc6CqCtXDA9SJQqN2RO3oEMMw6HXaJNNZJL+f8XCAYRh4fT58kszK + ufNUFpYYDYeMRkMknw+3bWr6HOpE/9taMvA/PuuL/hDjpaoAeEYJsM8/+pB+t0tpfgFZDhCMhEkkUzYC + TTjLer3e51av+bJ11QnVdXntDAsrKzgd4mSaTiZMlSnKdIKhG9y7eQN1qgjlnBOHm38kToaNkiwTjf1y + d27ougDbuMX7hCNRFGUqCEnjCU6Hk0G/y87mI/Z3hI7B3OIyvV4H0xDoSEmWCYbCSP4ATqeDSCxBrlCa + PagnlN/pZMLY1hU8Efdo1Y+J29BcXdO4+8UNep02leUV9rY2URWFTrOJHPCzuLJGca5iv4dGKBRizpZF + m1taxDRMVGVKo1bDHwwy7PXpdpr02m36dvI0DRPLNLn16Uc8Xn8gbNSjMV5959vPkwC+thJgvxovWwJ4 + agkwXdMY9nvc+fxTHtz+gmA4zNLpM8wtLNOsV+l1OoSjUTL5IpF4nJDN33fas4HnDdevvD7o8RAkPBum + RaIxNF0jGnv26fWXk8XJXv4kvoyIO8HQTyZjUrk8o34fgEA4jKYqNKpVqof7aLa9Wb/bZTwaki0UyRVL + yP4A8VQap8uJMpkSjceJxhNPfK9rb77D6oXLeE/YfqZIZj5JwoGDfrfDwa4YOoajMQzD4KP3f0S7UScS + TzC3uMSFK9eRbK1FWZZZXDkt3rzwy+8xHY9RNY1wJIJhOzilcwU8Hg/+YPB5kYA3nudFf4jxsrUAVSD7 + NNdalsWw3+PB7VsMh328Xh/ZfJHRcMCnH/6UQa9HNJFAloW2f2l+gXajjtPporJ8CrfLxVRRkGX516bu + L1uc7OgdgGlZTEYjej0hWzYeDmkcCy5+MBzGMk0G/R6hcERgD6ZTUpkchqGTLRSZP3Wasd2GZHMFnDZM + 2SdJYvNhWTNZsW6zKdyG02lajQaff/QhjeMqo+GA+eVTXH/7WxzsbHP3i884e+kKZy69Qqtet5WOTWLJ + lCAlORyYhvEEA1K11YaegwPQWEsG0v8EP/NLGS9NBXC/OSrzlA8/iJte9ge48sZbT1hsd9qtWW/pdnsY + DnrI/gCmYbJx/55g/kWibDy8x+7jDfyBIJFoHMnvJ18qUawsitmCy0UwFMLtFiexA2aKs/+c2ndPE1/+ + m1xAMBwmGBY4A8s0ZxwFYOZtqCoK8VQaXdPQdQFGajebuD2P+fSD98kWSpQqC2xvrlMoV1i9cEkkAq8P + r89HPJGcYSSAmfjpaDRk0O0i+WVi8QStep1oPEk0nqB5XGPr0QNq1UOODw9YOr3GxeuvMeh2qVUP8Xi8 + JDMZMoUSMZt49RzxTfn/pXhpEgDPsP7TNY0Hd27y8M5t4skUwVCYQDCIPxQmk8tz+dXXZ6i1L5/sKVvh + 1ukUay5JktneWOfh3VskUmkmoyGSFOD2jY+ZjMdE48KhprSwyHQ8ZjqekMhkhAy47WT7oofD6cT9pb/T + 7fHMZL+yufxsM7G0egbTMtE1jfNXrhO2kZLDvgBW9TodDna2ZnqIkWgcryThDwSE/JklEIKyP0ChPDf7 + fc5dvsLS6TUCwSC9bgeHY3XGkyhW5nG6XOxsbvDw7i2U6RSfJHH1zbdZPX+JVDrzPEngm/L/S/EyJYCn + HgBqmmrr99fYevRQ6OR5veSKJb795/8SQ9f45GfvoygK+XKZZDpLIpUiHInMTvHT5y6wvHqG1QuXaNaO + iSYSWBb4/X4isTiaptHvtpEkiUAwxJ3PP2X38SbFOYFxDwRDBENhipV5wpEo0+kE0xC22i63G0PX7WTz + 4iaJk+TgdrtnvoOmaZLO5MABmqrZ+gQiYajTKbquMRkLgdV+r4NhGDy4fVMMBP1+ipV5UtkcsUQK09CJ + pVKkM7mZc1IilWZpdY0rxlszvcRQKMyZi5dptxoMej0K5Xkk28TkOeKbCuBL8WLVqv9I3G+O3gPeeZpr + TdMU+PhOm/3tx3TbLVRFIRyNceHKderVKv/lP/5f9NptQpEosWSS1XMXKMzNoyoKlmXNXH5D4fCvrRFV + VUGdKjhdTtxuD9OJkN96eOc2g36PcCRis/WcXLh6jcl4zBcf/ZxwNMbK2fMMel36vS6VpWWWV8/aA0IL + h8M5YxU+zYbgRYsT5KOmqWiqimZXBjsb63RaTYKhMIl0GkM36PeEE/LSyhrRRJJuu0U4EkMK+PEHAvj9 + frAbK6fTNRvQWqY5Ewx9jt/HABJryUDv9/7lX9J4Ke4wmwE44CltwEaDAaPRkFA4jE8SLzmhz4qpd4fd + rU363a4wlZyMKczNEwiGaNTEhmA07AuBiqXTjEcDjo8OqSwuky+Xbcy/Qzjbuj0zN95+t8twOMAfCNrc + fZEk7n1xg4e3b1GaXyCeTPHwzi2qh/ucufgKr77zbepHhwz6PUzLpLK0Qmmuwng0wrQsvF4vPt9z7bpf + mDhhV1qmCTCDRQ97XYKRKKN+n/rxkS2QauGTJGS/n363S6tRF9Zr4TDZQpFoIkUkEkHy+58H37G+lgyc + /r1/wZc4XpYW4Jk8AI+PDrnz+ac4cBCKRoglkgSCYSRZyFun0hnOXb46e42mqrjcwiwknc/T73VpHlcF + Vz7g5+Hdmxzt7ZLNF9haF5p+ynRi6+mHKczNUVleIRqN4fV5MQ2TUCg0g+eGwxEuXn+dgD/AVJkSjSeE + dFZWCFwMB302Htxj0OsRDIbxST5uf/YJrXqdYDjM6vlLyH4/x4f7hCMxMoUi0ZhYrcGv4+pftHA4HE/8 + jR6vl3xRwrKdkJTElFQuh6apTCeiVTI0naP+Hod7u6jKlHyxjGlaHOzuCJLQ2fN448+cAL4p/38lXuw7 + 55fx9Ph/yyIYDhNLJIVe39YmLpeTSCxBMBRiNBzM4K+mYdjKtEGCwSA+ScZnT7Dn5hcx7RMLXmf13EXS + uRz1alXw9jtwfHgg4LBeD8lMlkb1iJuffISua5w+d4FssSwkw2xyjdMl0HjxRBIsa6b0E7f58dPJmEJl + gWG/h8fjRdNUxsMB49GAh7dvcvvGJ1SWTrF6/gKjwQAcDpZW12by24auCxRgIIAkyf/k9lxfJb48fHUH + g7+Rzru8tka/22Ew6CPJfqaTMYNuD6/kw/+NBNjvJf7gEoDD6SSTyxNLJDh97gLN2jGDfk+49KgqHIsW + 4fjwgGa9htPhwCf7Kc8vkEhl6LQaOJ0uCpUKoZAQAy3NVWbvH4pEWVg5Leix7RaGbiD5/YRCIR7duzvT + qBv0ekwn6zMWm8fjIRKLky2WSKYyyMEAhm4LaiYSLK2uAaKCCZ14EI6GGIaBJEmAcNLJl8p4PF4e3b8r + zDvzRerVI+pHRzTrx7g9Hs5cfIXCnLA1U6cKciBAJBLF4/W+sAnht0XYRvydhFW0vsp85JsE8CvxUtwN + 95uje8Da01w76HXp93uEwxF8sjxT+QXQdZ3peMx4MmZ/6/FM577Tasxsudfv3aFxXCWeTHH5tTdYWFml + dniAw+EQppuyX8BzJQl/4MlTS1WU2UPrcDiYTsYc7+9Tr1XptduYpmnLdLtRlSnNet22FisTTyZxuz1k + iyUK5TnGwwEOh3NGUHI4HCjTKR6vF8PQ2dncnPENqvu7HB8esL/9GF3XufbWO+iaxqcf/ozxcIBPkikv + LHHp1ddpHldRVYV4KkNproLT5ZppCZ7o6/+BxgQIrSUDxn/rP+RFihe+ArjfHAV5Bgbg/s42H//sPVwu + F4FgiIVTK8SSqRnLLxyOEA5HOHPxMj6fj+l0Qq/bxSfJuN0uIrE4j+7ftfXziyjTKceHB+i6hlwXFNdB + v8fquQuk8wWatapQrU0Iayuvz0cgEMDj8RJPJMkXy2iaymQ0Zjqd4HK7he798TG6rjPsu5lOxjy8cwvT + NAmEQnTbQd7//t/RbbeIp9LEkylyhTLJbJaJTUASFGYR4UiEhVOnGV69jqooxOJxjo+OKM5VGPR7DPt9 + dE1j1B/w4Y9/gKJMufbmOwSCQe59cQNlOiEcjTG3tIzHI2TFXW43sp1A3W73DIX3EseNbx7+X48XPgEg + yv+nwuFaponH40OZTmg3GqRzeY4PA+w+3mRv6zGBUIgzFy/PBDsyhRKyX3D1TUPHH4lw/so1Vs9fFDtw + txvLBgtZljVzsAGQbUebva0tRsM+ir0+DEeEy6/X6yMQCpHJFUlms0Si0RnUNhZPkC+UOHPxMpZlMh6P + qR8dAlBZWqbXE56nynTK/vYWBztb9LtdjvZ32N/ZJpXNceHadXRNwzRE0vD7/cQTyRk0t7K4xPzSMspU + EJEADNPi4rVX0TSNYmWByWTM5sP7jAYDipV5TMOg1WzQbjZwu91E4wmS6QyJVIZEJoPP60XVNHy2W89L + Bo/+pvz/DfGyJICnC4eDhZUVwrF/T6/TIRSJYJoGe483adZrZPIFAqEQBzvbHB8dUq8eYZoCzSbJMuev + vko4GkWZTvB4fajKFFn2k8pkZ4CdVCaDZZqEozFURSEYDrH18AH7O9uEIhE8Hi+1owM0TQOgur+Hpmmc + OnMW2R+gWTvm9PmLxBIJRqMhmqYSDIRYPS90Tg3DIJ3J8Sf/6r9jNBzQabUYD/uEo3Fa9Rput5tgKMSg + 06NRO0KZToWFlk8iHInhdDkZDQcYho7H7SGWShGNJfB4BXX21Xe+LXj4TieqqvBHf/nXjAY9guEoymTC + cCCIQ91Wi363w7Dfm8l5b208ZH97i4XlFRZOr2HZJqrzy6dmffnJe7vsquEFim82AL8h/qASwHg4pNtt + E45ESaYzgJg2Z/NFzl6+IibjQDyVYa7dwrIsIVo527NbbN6/y/72FpqmoakCPJTJF+h3uxTm5mba9NPp + FFmWKZTmyGTzXNHUGY++1+uKWcNwyHg05M6NT2g1GiRSUK8eiblCtcovfvwDGrUq88srVJZOzdR6yotL + SJJELJ4gnc1hmSYOp5O5xSVWL1wU/HrdwCv7mI7G6LrwDdR1lU6tOZtjSJJMZWmZaCI5o/56vT7koGhR + PF4fxbm5J/bpCysrTMdjer0ek9FotkrVNE18n+EATdc4Ptjj7hc3iCdThGMxGtUjJpMx49GQYDBMeXGJ + eCKJokzBsvB4ff+tZwzfVAC/IV6GBPDUEODjo0N+8vdPCIbaAAAgAElEQVT/GZfbzdLpNfz+AJLfj8vl + xuVyE4yEicZiFEplCqXy7HWCfSa4AbI/gE+S6HU6DPo93G431YN9Dna3hXmIzzcTAilV5jn7yjU8Xo/Y + BsgyXq9QyDk5/UzTZG5pGcMwkCWJdK5AJpen3+/hDwbxjwRe4Ghvl7tffEY4FhcOPf0+qWwOfzBIeXEJ + B4KfEIsn8fokXH6XaClsEs8J0KbZqOP2eOi0WgRDIRKpDP1eh16nzeaDe/aD72VgU4TL8wukc3ncbi+x + VBLLsnC7PeTyBZwu1xNQ5eBf/BWDXpdoLEav16PXaZOzZxz9bofjwwOqB/tEEwmC4TC9TodH924zHY/F + NmV+gfK8kC9TFSEA+quD1H+iOF5LBvb+OT7oZYsXOgHcb44KPAMDUPLLpDICUALQatZxOpzsbm3SbbeI + xhPMLSzhtddq5YVF4okkhmkhSRIej4dsvkCuUJxJZ+NwMBz0adaOGQ0GDId9WvU67WYDwzDpthrc/fwG + teohpcoCXp8wAinMzZHJFzFMA78/MPMdDNka9slUmj/+q3+NpqjgcNBq1IkmhE9lv9dlPBrRbbeYTMZE + 40n2Hm+w83iDdC4v7LxlP/FUingiSfXoEGUymf3tORtgcxKqqtDtdGhUjzBNg16ng67rDPrCG/Dx+kNh + yJFMsftYWKflbDGQfLlCKptDmU4IhcKUKvNiIxKNkUylkGS/aIVsj8NiRfgvxNNpttcfcrCzTa/TRlVV + dF0nFImytf6Aw70dLr/6JplCgfFohKYqmKaQTovFE6LKsXEYLqfzq2Iavin/f0u80AmAZzj9LcsiXyzz + 5//m36EqCgD9fg9NVfEHg9SODoU9WKvJzuYGFhbN2vGsb01mskxGIyRZpjA3T3l+AZ8koWkq8USSTC4v + oKz2Om4w6CNJEpZpcrS/j6pMSaTSKIrC1qOHbG+uk8pkGfR7FMoV5haWCNu+etX9PXRdI1soEYpEiUSj + lOcXKM8vAAKZqEynjG3ascftRpmOGQ2HOJ0u+r0uvW4Hnyyj6zrv/f33qB0dcO7yVVYvXMLldjEeCBvv + ZDZDNBYnncmSzmRnVt2qMmVkW333ux3Gw6GA3IbCuFwuet0OR/u7TCZj2o0aX3z8C5ZXz5AtFNndeszS + 6hnmFhYZ9LrigY8Lg48TPANAMBCisrxCv9ul06yTLZbw26y/EwejnY11akdHNGpCk+D8lWssra7R74i/ + yeV2E47FSaXTyP7AbID7jPFN+f9b4kVPAE/d/yvTKcdHB/gkmVQ6g9PlmtFai3MVdF1DUzXarSaZQnHG + CzjY2SaeTOH1enl07w7HhwdEYnH+9F/9Ww52t9jb2sQn+1lePcPCymmGgwEul4tYPI7T6cLhdPCdP/9L + VFXBJ8moisLK2XPsbDzC6/MxHo2IxGJClMO0aNaq3PrsY9qNOl6fxPLqGS5ef43DnW0hnJkvkM7licbj + M81+h9PJuctXmV9awcLCgYPxeETINidJptMo0wmKMuVwd5tWo872xiMisRjzS6cEx386YW5xiXy5Qr/b + FbORQgGv1/cEb//MxctCn6/XpV2v4/F6aTfrRGIxJL+f/d1tHt65STQex+V0Uj3cxx8I4vV5CcfiyH4x + X1CUCT6fmGNkc3kczrOzz3jru3/KeDQkkUwLHIJhYFkmmqYRCAYZdHvc+MWHwrUICEeiXHv7XUrzizNV + 4meMbxLAb4kXGgj0LAzA4+oh7//Df6FerRKz3XDmFpcoLQhIr6pM8QdCBIPBmeyXqiozjrllWtRrx2ze + v8t0MubsK9e4/8UNbnz0IcFQmIvXXiVXKPPxz36CpqmkMqIzkSSZ+VOnKZTnZo44brcbh01sMXR99m+A + dqvJ9vrDmdvu3NIyhbl5/uFv/m9qR4dEYnGKc/Ocu3KVTrNJIp2m3+3OhDsctiR3MBiaDdSU6ZTRaDgz + +GzX66KliMdRplO2H61TP65y/e130XWdj3/6EyzLorK4zNzSMqlsDsu0xO7f78ftdtsOykLl56QdEm69 + LXrtFvF0GnWqUDs6mJmvnmAGxuMR2xvrTCcCX1CeXyCVyeMPBYTWfzzxhJ6irutoqsJ4PCYYDDGdTHi8 + /oB2o06v20HXNS5df4NsPv8EKvApwwCia8nA8Flf+HWIFzYB2AzALvBUU6J+t8OD27e48/mnArQj+zlz + SUgI3r/1BZPRiEQ6QzKdoVCeJ5nNiqTg9yMHgjNsvmkYWFh4vT5ajTr16hEej1f0warCvc8/Y9Droqoq + 3XaLQa+Hx+vh3OWrJDNZ9rY2xSovmyeZzZFMpdB0HUPXhXaAXWIDM4deVVV4/PAB3XYLTdOIRGMks1kO + d3ZwuVzc+OhDYvEEF6+9zo1f/Ayvz8er736HUX+AaRqU5ufxen3iIfR6n1i/TScTRsMBo+GQWDzO4d4e + D+/cZDIeA8z0CrY3HzHodW01XwgEQ3YlkiCdLxCxVYS/zEo8EQydTqcAmIaOoigc7Gzx4PZNhv0eiXSW + ZDqD1+ej02xiGDqr5y8iBwJMxxNCUaHxL8v+mboy/JIroNmzg5Pv9Rzl//21ZODM777s6xkvcgK4CHzx + tNef9LatZgPL1vGXJJndxxvc+fxTvF6hgqsoCtl8gUgszs1PPiKVybJ05iz1o0P6nc7MsNInCRVeSZJ/ + zXBzMhrNlH4Pd3Y42N2mWJknFI7w6N5dth49ZDQccOn66yydXuPBnZvsbT3m3OUrnL96XfT3w6EADPl8 + tu6AcMw58Qc07B37YNCnurdLKBrF6XTy2Yc/IxqLs3B6jfU7N2k1Gpy7fAVd1znc3Raee4kUxfkFotHY + r9GILVOU2ooipMZlWUbXDXY2HtJuNoXR6XCAoetoqkooEqFUWSBfrrC3tYmFADvNLYndfzQWw+v1ibmL + bYumqgqj4QjD0JFlP4auMR6P2dl8hNPhJJ5K027WGfR6M1GUUDiCJPtpN+vCjMTtJpFKk8zmCIUjeDwe + PB7P86wR//e1ZOB/eNYXfV3iRZ4BPL0CsK7bHvVdEvaw6GS3P7e4TCZfIBgSK7PRSAzSNE2lMFchlcki + STL16hGHe7vcu/U5pmESjkaZW1xm5dwF9rc2hVRWMEQ4FieTzc2swHOFEuevXJtBjbPFMstrZ2jWa5QX + l0TikWxZ70SCfrfLrU9+wf7ONiBOusWVVc6+chVlOsXQdCKJOJLPh8frI5FMkUqlZ21EIpWeUWs1VSWV + 7eAPhGg1jmk1GwLG7HSSymRJZ/MUK/OMh0OGgz5nLr0iEowDksn0E6ahMds4ZDwaoWsag0GPbquF0+nE + J8m43C5URaFWPcTpdOF2e6ge7HH5tTcB+OCH38ft9nDuyjVyhSKyXeI7XU78gYDAU+TymKaJoevEEgkG + gz7aVEVRJjNhlYOdbY72d9FUjcrSMsGdLSTZTyKdYXn1DLLf/6z30TcbgH8kXuQE8NQbgMl4xK1PPuLh + nZv4ZD9er9d2+S1w8dprRKIxDg/2cDqcRONxZNuqK/3dPwXErv7t7/4p7XaLzXt3adZrghwUDqOMBU5/ + PBoSDEUoLywyGY14/FBYXS+tniGWSM5O8kg0OtPvP/EHjP3Jn6EqqtC963XJFoq4PV6G/R6tRh3TFPLX + H/74vzLodUmkMkwmY2LxBOevXieRTNPrdnC5XaQzuZkyzsqZXw7WytMF1i5cYufxJlvrD5ADQbL5Av5g + kOrBHuPhiJ2NR2xvPqLbbpLJFZD8fkzDpDS/QGGuIuy+nC6CwSCZbJ5CaW62JTFNk0QqTatRR1M05KAf + CwtZlqkdVdnZfIRlWXglH4Nuh2a9RrfdIhAMMX/qNP5gEI/XQygUwR8IkEilidnQZWCWfBKZ7MyYNJ5K + 0Wu3mYxHeG2x0eeIbzQA/5F4kVuA2wghkN8Zk/GY/Z1t9rcfs7P5iOlkjKZpzC0s8e6f/QsOd3d47x++ + N+vNc8USCyurJJIpTMvE6XQJVR+Xa1Z6e+zSWdM0qocHDPs9LNMkEo9jmiaffvA+24/WCUUiROMJnE4X + kViMs5ev4nK7ONjeRvb7ydqAI0PXicZiyP4Auq6DPbAbDAZINkLu3hc3GA2H6LrOwc4WgWCIi9de4+hg + lxsffkAkHrf9ASPkiiWCoSg+WcIfDCLLfnySNKM9nzAITdOk027Neunq3i5H+7sc7u3idAq24fzyCoFQ + iOODfQzDwO324HK7SWdzZIpFkqkMpqFjWRbBcGT20J58zng0ZOvRuu0JGMQ0Dfa3t2g3G4QiUfzBAM3j + YybjEeWFJTL5Ai63h8WV09SPq9QO98kUSuTs7cyX42SweeJD+IwxRAwAvyEB/ZZ4IROAzQDs8pQkIF3T + wJbo6na76LqGqkyRJJloPMHmg/vc+vQj4TKjafgkidVzF4jE4jPnGYBkOkO2WALE8Cxgl66/GoZh0Kgf + s7PxiNFggD8QYDQc4vX5SGfz3L/1Ofdufk5l6RS5QpGtjXXGoyGXX32Di1evMxwKyrDH6yGeSOL1+p6w + zjrBGTgcDvx+PzubG2w9WsflctFpNXF7PCRSafq9ruAteLzIfj/lhSVOn7uAZZr0el0hJyZJeGz/wJOT + XJlOqFWrwsTE7RbIx3abdrOOpqoc7u7QrNeIxoVOgdvj4ZOfvsfpcxeYP3Wa3ccbRKIx5k+toCgKXo9H + AJwsC+yko9kCJYahM56MqR0IV+RQOMJ4PLKHsXP88Ht/K4ROFk9x+dXX8fokJpMRhq4TT6XJ5AozncTn + 4Bb8eC0Z+M6zvujrFC9qC/D0DEDL4mBvh6O9XSHTXSgSCoVxxxOYprDmXlw5Tb5cRrXdfyfDMaFoBFVR + 0DWNrqJQrx6JlZ3DyYPbX1CvHvHmH/0Jklyj3+vMPi8QDBOORUkm02RzBXRdx+VyzTQHh/0e3U5LUHiL + ZcbjIc16bQYfrh4esrP5iIOdLZwuF6+/+0ckMxmO9ncFUi4cJVcsEY3GUBQFl9vN8uoZFk+vYhqmGNCZ + wiar3+nS7TRpN5tMx+MZaWd7Y4MPfvx9gqEwC6dOo2kqkWgMfyiE7A8wGY9IZ3O43e4ZcSeeSFJZWsYw + dJbPnGM8GuJ0iP69cXxMOBojlc3RrB3zxUc/5+wrVwhGIty98SmS38/qhcso4zGj4YBQNEYimSJgr1wF + ajCDaRo4na4Z/8LldrF0eg2P3bJNxmPazQb7O9uYhk62UGLzwT0MXefCtdfI28n5GeKb8v93xIuaAJ56 + AGjoOqPBgN3Hm9y+8Qlut1DeCYUjBEIh3G438yuniSeSyLKfSCT6RClZnl9AVRT6/d6s/Dw62CUQChFN + JNjd3BCqPsMB7WaDaCzO3MISqxcv4XZ7ONjZxulyUppfJBgMIfn9XHtTQBdOnHiWVlbpdrtEo1FUTcPQ + NSa2cIgcCFCvHvHg1k2O9neJJZJceeNtatVDdh9vUpqbZ+X8xdlOPhKNzsg7mVweENWKYQgugsvlIhAO + sXrugjAscTho1moMez3C0RhHB3vsbKyTLZTQNI1kOs2ZS1dIJFNMbeKOLMnEYnFx4jocRGJxCuUysl9U + Oi6Xi4wNN/b6JEwbEn24u8vj9fuAgApXFpeIJVOU5xcIhSMzAZZoPD4b5p2/co21C5dwud1oqspoNKI4 + N49lga6LasTh8RCyjUyeMb4ZAP6OeFETwFMjAF1uN5XFZbxeib3tTRo10Wu6XC4GvS7j8cgGsbgYDfq4 + PR5iiST5ckVYeus6ks9HNBqbwUzf+eM/n9FbQ6Ewc0vL9Dsdqof7ACRTGVxuN+t3b/PpB+8j+wP0ba/B + E5KNx+MhnsoQSyYJhcLkiyWcDgc4HCSSKeaXVwALSZJpNhtcuPYauVJZsPUCQepHR6KqicXZ39rk1qcf + ky0UuXj9dUzDYNjvMZmMCQSDlOeXCIbDaKqKapmks7nZaTkZj5lbWp6BkgQiUkVVprTqx3g8HpTJlL3t + x+xtPWY46GOaJvFkikAoRCAYZG5hCX8giGEYBEKhmRW4YRi88Z3vousGLqeDQCiC7PdzuLdDs1YDYDQc + krRBUz/83v9Lv9vl3T/5FzQ8NQ53t1lYWSWeSNLrdZEkmVAoRCz+S9/ExdOrAM/r8PxNAvgd8aLOAA6Y + WUQ+W0wnE0ajIaZp0mu3mU7GqDY+fzQciN7UMMRNHQyyv/0Yh8NJoTzHwsoqqYwACLlcojf+crVw4ijs + dDoxdJ2DvR2q+3u43G6CoTCDXo/tjXVajRqGLh6WQrlCOCoIQOPRCKfLSaFUIZ5OC2872f9rgpiGLczR + a7WJJOIM+32++OhDCnMVssUSe483qdnMO8nv5/Vv/RFut4ftzXWwLFt7sEy+WMKwPfVOVH2Ebr/GdDql + 227NXIcbNfFA1qpHdFpNJEmmdnRAPJXm2pvv0m7W2dl8RCSWIJ3LIcv+mdaAy+V6AoDUatTptttIfhl/ + IEQ4EmHY7/PZz3+Gw+ng1JlzbK8/5NH9uyytniEcibD54D6mJcw/86U5ktnsb7Uxf8o4XEsGir/7sq93 + vHAJ4H5zlAWqX+U9TmC3pmliWRbKdEqzUcMyTTqtpoDY2u63tz79hMO9HfyBIN/9y7/GJ8tsbzwUrURU + CGzoui5QcbEE0+kEySfhs8vtL9+cpil69FazQbsuBmo+SWI6ndCsHXOwu42masQSSQB8Ph+vvPEWqUyW + R3fvYJiG7ZMXnzHicDjAslBsjwGnw0mr2aDbblM/OsBCnJJ7jzf5+Xs/QjmRDDtzjsuvvcnPf/wD3G43 + Z20Lro6tg+CTJBLJ1JO/mWUxHo8ZDHpoqsb+1ibReIJYMsWNn/+M3ccbBMPiYU5lsiTSmVmldAJmypXK + JGxugaooYmNgD2hN26TU6RTfoWXbgU9skNDh3g716hGhcIRCeY58eY7ltXNEbBDUM8b/s5YM/Nvnvom+ + JvEiJoC/Bv7mn+r9TdNE17VZSdlq1KkdHeLx+CjNz9NuNcWAzulEVRTu3/qC8XDIO3/y5wDsbG4QCIVm + a7ZAIGjbVIt1XMLWHzzBAAAoikK322bQ6aEoE8ajIQc72/gkmatvvcOw3+eH//k/zfbmsUSCytIpwtEY + 4+GQSCzO/PKp2cN0AgSyvvRAddot6tUq49GAyWhEOBrD4/Xx3j98D6/Px/W33sXt8fKD/+8/YhgmlaVl + FldWbRuvIaFwhGgiSSQWm3kbnnwGCLHV0WiEaZrsbz8mGAyhqiqdVpNBv8d4OMDldgtG4vmLbG9usPXw + PpF4fPZbx9MZ/IEAXo+HgG3HDgKdqKoqnU6LjXt3sSyLQDAkYMi53BO8h2eI/3ktGfhfvsq98nWIF3EG + 8PQSYM8RTqfziX4ykUrPTiyAfFHso03TZDwa2usnN/PLp+h2OnRaTaoH+zRqx8JwNBBkZN/8suynUJ4j + EouTn6tg6DqqqpJKZ8jmCmRzoqvRdZ0zF1/B4/HYLsVurr75Np1Wk26rNZvm72xusL2xPhuSDXodcDgI + BiNIAT/BUBiP242qqbhdLuYWFp9Q3TEMg1yhgKbrBAJB6sdVsoUSuq4RicVn3on16tFMzzBXLFFZPkU6 + l2fQ7THod8nki2QLBUKRKJZlkcnlRTuh60IpaDSk3WiiaQqFcgWHw0G31aR+fMR0OqFRO6bdbJDO5nG5 + nKLEtxmbfvs39PkksrkCmUzu96Ua9A0D8CniRawAfgR8+2muVRUFVVHwSsLq+5/CmltT1ZlAqGEYTCcT + Dvd26babxOICSFTd30VVFbGKMwyqB/usnr+IJMsc7u3yxnf+GJfbLZiG0wm5QoliZR7F1i2IfwkR92Xm + Xa16RK/dJpnNomkatYMDDBuQ43Q6CYbDjIZDjg8PGA36yP4ApfkForEkoViEUCiCx+vB7fbMbLeU6XQ2 + FxiNhrTrDVqNYzqtJoqiCPfeUhkcDn7x3o+oHR1y4ep1CuUKtaMDovEE569cZzwWWgKWJdCAwVB49tsL + 9qXCZDJmOplwfLBHv9djOh4z6PdIZXMMej363Q4gWIiJVIZrb75NIBRmd2sTXdMJRSJIsrARf8YwEBLg + k9/PXfCHGy9UAnhWBuD25gYPbn1u23QX8cmScI11ufC4Pf+syrUCaSf0Bjbv3yOWTOGTZDrNOivnLnJ8 + sMf7//XvmNrwYX8wyP7WYxLpDOX5RSzLIpJIEApHiNiqQV8WvzgxPDV0HU3X0DQNXdM42NkSTMJOm2BI + 2JRpqobL6cQwTTxeD5FIDNMy8Xi8JDJZErYHwZehtZZpoulCZdjtdtPrdQUycdCnsnSKTqvJxz99j6tv + vk0ynaV2JIxVet0O2XyBC9dew+P1Uj86xOFwCDnzRBKfrb4EImFrqlBAGo2GDPs9Oo0GvV6HSCTGmUuv + MBoNee/vvzdjEs4tLj5h4/aUcXMtGbj0Vf9Pvw7xorUAKzzlw29ZFv1Om40H9+z99ADTFFz8xnFVKASV + yhTKFaSAH4fDSSwexyfJMwut32dyODHwKPgD5IvlmTmIYSzjcXuwLJPX3vkO/z977xUrSZrl9/3CZWZk + pPfm5vW3bnnT1X5menp6x+yAKxqRAoUFJEHgAyFQEgVC4Au1hEiReltJAEXwhSAIiStIpMjFksvd0Y7r + 6WlvynS5W1XX+/TeZ0To4YvMvlVd1VNVbYfTB8jKrIzIjIi8cc537P8/HA7wB0KCDFNR6fd63L11g1az + IeCwYjFmF5epFgu0mg1SU9NEEwncbjFUpHu9mKYpUH81F+FIhLljx7FME13XUVSNcrHA/s4WBzvbqJpG + 8fCAUv4QgJmFY3h9BoqskMxMUcwLDsT01DSay0UoHEGSZYLBEC85sxIgynmpqWmSqTS1WpXhsE+30xGo + waZJv9fj9vWrXL8keAZ8/gAXX/wmC8snqDnVmMz0DIFgCFmSMHw+EskU1sLSZCx67AWdPHdhwuYUT2We + 5M/xtfv/iPJV8wD+GvBPH2Vf27Zp1Grsbm0wGg7xGn4a9eqEqrtSLOA1fISjMcrFPIqqcvbis7jcYm4+ + HI2LJJ7fRygcRfd6hWstSZ8Lcu24DXcs45Hi4WBAtVSk1+3S7bQJhiMY/gC3rl5ia32NWDxBIp1Bc7mY + WTyG5nJx+a036HW7nDz3FFOzsyiqwshhLHZ79IkimaZJu9mgXqtRq5QEs5DmclqIe0iSxNbaXZHANESH + 4NLJ0wTDUQ53t8lOzxKOx8V5hcL3TA+Ow6GO03Ph9Rqsrtxkc/UujVqFZqPBxRe+QTyd4fUf/4hGrcYP + /8pfpd/p0mrUBYPSaMTc8nFS6SzD4YBBv49HF/TgnzKU+y9Pxox//mm+4DdFvmoewCMnAM3RCLfHw8lz + FyY3yzjGXTxxika1RqfdpHC47xBdaILMs1bDHwxSK5fZWl/FMk3mlpa58PyLEwQafyBIMjuFz+f/GMDG + k8oYgmwsvkAAH6K7bQziOZ4HGA7F5ODc0jKyojLsi7hd93op5fNsrt6hVq0gSdBq1WnW66J8Fgwxt7Q8 + 6bILBEMYfj++QJCp6ZkJGemg32M0GtHtdpldPIZlWpRL+QlPwtbaHVaufUiv18Neucnu1gYXnn2B7Nwc + rXoDw+93GJBE1UOWZWzL4tS5C5w4e57RUMxiuHWd4WDIwvGTmKMR/kCQw90dCvt7HOzu0KjVBDBIu8PN + q5doNRtiijOTZfn0WUJHKgiPKV97AI8oXzUP4DJw/lH2Pdzf4+p776C5NDHaqnuJxBOEQqF7VvBBv0+9 + XsMcjSZZ7VA0ymg44u7N69y+/iHReJznv/1bfPDW69y5eQ2v4eO5b71MdnqWOzev4fbopLJTKIqKy+Mh + nkziNXyTzr7Pk3DTtixMy8KyxJReq1Fnd2uThtM5J8sy+zvb7O9sTToJdzfX6bTbPPvNb+PyuLl78wZe + w8fs4jHiqRTGAwybbduCaciyyB/s02m18Hh11u+s0KzVOX72PMN+j8LhAYqqojmQ3h7di2mOqBQLom04 + FCaaTBFyWonHgzzja2m1mk7ysUCr0SA3v0C72eTy22+IqkG3SygS5cXvfJfU1PQ9XYGPKHUg+vUE4KPJ + V8YA3Cy1daDJIw4BbW+s88sf/ym7W5t4dB23x8P5Z54nHEuQ39+l2+mQSKVIZLKEI1F0ryGm1eAeA7G5 + dldwBgSC3Lp6ie2NdQLBICfOPUW72eDd13+B6eDdtVtNwCY7M8epcxfRfV4a1Sout4dwLIbP55/c7J9n + 8nEcTgh0nwGdTod+r4dh+CgV8uxtb9Ko1Tj/3PPcuX6NK+++jaIq+IMhlo6fJBSNUswfoiiqg3gk4Q8E + iSZT6LqO1/BNzn+cb5AlmUajTqfdotvqMBz2Mc0REhK7W5vcuXGNjjNklMpOEY7GsCxLhC4LS3gNQec9 + xmIYX8cYb6BZr9FqtWjWaqLUmM1i+HxP4gH8+GTM+P5n+HP/By1fJQPwbeDVR91/0O9TLhW59aFADfMa + PjK5GTburHDp7TdxuV0EwwJ8cnZxiUg8webqHTJTM2RyOdrtNpIsEXZaWcdi2RaKIqbkOu02lXKJeqUs + btBmg621VbqdDheeewFV01j58CqNeg3D5+PMU8+QyGQ42Nmm026Tm1sgNzuLqmqCcFNRnmSm/YlkPCJd + KZeoFAr0e1163S7RRJLhoM/Ktas0G4L9Z+iwGhk+kTPJzc1z/PS5CcrRWMaNR5ZpYtkWo6FgJCrm8+T3 + dhj0+wTCYVRVxTIt1m7fwu3RmT+2TLNeF1iNXi8e3YvPYW8ejwwriqA8O1pOfEL5hydjxv/wqX683yD5 + KuUAHnkC0LYsLIdk81u/9YMJyq9pCq9PNwyCoQiWZdLtdAgEQwx6fQr7++i6F5fHzeW336RaLhGOxvAa + BoYz9JNIpqhVqxiGD8MnHrmZWXFc26aYP6RwsE8slRK02qbJ+p3b1ColZEWm02px68Mr7G5t8r3/yEDV + NDburFAqHOLxePEFAiQzWcFHnx8AACAASURBVGbmF7AsG0kCt7MKy7LypMCXH5OxoUkkU8QTSSzLwjJN + JFlmNBwSjsWpV6tUy0UG/T6dVsvxcMQA0YMSoeM+i3GScbw6+wNB5haXPsrFWBb9fp9IPIHmdiFLoqvS + 7oocTbPRoNNqMRwNWb99i3qthiTB7MIxIvE4wXCUYDhMPJl6Ek/q6/j/MeSrZAAeGQKs1Wry4fvvUsrn + icTjGD4/utdLMBIlnkwJhT1CVAkCNswfCuHz+RmZI6bnF3B7dHY21uh2OsRTKTGO2mjw1qs/RXO5iMTi + ZGdmyc7MUSkUUBSVqdkZwpHoxOhkpqY5ce4pQSASidLtdrAsi5PnGxw7dYZyXiALFw73nSm8PmcuPoPu + Nbj63tsoiko8lRIGzZlSNHzGkyLgPFDGCcixMqmqSkrPkspkJ5Ri/X6fnsMi7Ha5J+3Gj3OMyWtZxqPr + 5GbnAGE4Q5EIw4EYhe45DVAtxxDIssBT0A2DalkgLQ8H2Qn0+mPK1xOAjyFfJQPwyBWA0WhEp93iYG9b + hACShCIrLJ06zSs//B3yB3tc++A9XG4P6ewU8XSGaDx+Dx9gNBan1+2ys7HBYNATPetuD91Om0xumma9 + Lsp2ts3e1gaX3nqDZr3G7OIxQpEoiqoST6aZWVjE5/MxGAwYDod4DR+nzj81UQhd19F9v0272aLTatCo + idZazeWi1WwwGo1o1GsUDvZIZkSisdtts357ZdIL7/EYBMIhfP4Aqqricrs/s8SjoijghCb3TyV+ViJJ + ksD0c7mxbRs/gG0TicZIZ7P0en0sy8TtctNsNhgM+hOGoseUjZMxo/jZX8F/uPKVyAE87gTgaDik1+1S + rZTZXL0j2k47HabnFzh++ixv/OzHvP/mLwVIpctFLJnm3DPPEghHGPb6yKqK2+MmEBQeAYhkl+IQe4yG + otMOW7Spttstbl+7ysr1D5ElmUAoRK/bIRyLs7B8koOdLdZu3yI9lSM1laNcEECfJ85eYGpm9h5PZFzq + M02TSrlEv9ul4YBoivJjlg/ff5frl94nFIlimiN8/iCZ6WmskXDh/cEghs9PLJkikUpPiE8URZ2AgIyT + a59nheIrKP/PyZjxn37ZJ/HrJF8VD+CR3X/LsqjXqgxHQ+LJ1KS+bR9psjn11NNE4wnarSaddlvwBKga + tVKJWqVMq9mk22mTnZ4hmc0JNt56nePnzhMOR514XPT/qw5m3tMvfot5B5xCVTVazYagwOr12NvepN/r + 4XJ7yO/tcePKB3TabXSvwaDfp3i4T71WQ/d6OXn+KQKBIO12G4/bjd/vZ2p6ZkJ3ZY5GXHj+RY6fOc9w + MKBeLaMo4s9ULuZpVCsc7u2gaS5Onn+KWCLJztYGa7duTkg8NJeG4WTyXS4Bdvol0nJ/kfJ1/P+Y8lUx + AI+cABwOBmzevcPa7VvohkEkFicUieL1Cfgv3TAEln4iKQg2TJPRaIQsy/R7XdqdNs1qnXIpTyAYwnT6 + ASzTZOHEKS69/Qb5g31Mc8SgPyCRSpOeyjG3dIx4IkWjXkdVZGLzi5Pz8f65v4Db48HrNahWyqSnclTL + JWYWlmg3G7QaDe7cuIbXMJieX+Bwd4eNu7dp1Kok01lOP/0M9UqVdrNBLJkilc2iJbUJwKYgPbEYDoa0 + 2y3K+UOGwyHp3DSyLNOoVMjv7zIY9Om0W9SrVYKhEIFQmEatOiEolRUZwx8gkUzjezKIra+6fB3/P6Z8 + VQzAI3sAiqIQjsfxHeyxs7nBnRvX8Og60bgAp9BcLpZPnxHufn+AqqmEIzH8wSAutxt/MEQqnWWJkw61 + VYdveX6I2+3B5/fTbojYv1TIT9iD/cEgtVqNa5fe5+bVy0TjCY6fOUcgHMYyRfJKlmQsS8BxJVNpLMft + N0cjstMzTM3Oi4RfMk2n1UJVVQaDgRilLRR48+c/oXh4wMlzTzG7uEQxf0goEmHh+EncbjfmSEwB+v1+ + ItHYPUm6Y6fOkJrKIckyzXrdafTRkGWFrfU1SvkDVldu0WrUmV8+wbPfeplSqUC1VGQ4GExwFI2AH93j + nYB5fp6t0Z+DDIArX/ZJ/LrJlx4gOhOAZSD4q/Y9Ku1Wi2LhcFLj9ni9HOxsY1mWoAPf2xPItooi0HGX + llE1TbT6BoPEkmmisRge3TuJk4+2FHfabWrVMiDhNXzYtsX1S++zdvvWZG6+1+2yv7NNr9vB7fEIWPHs + FMFIFM3lxrYsPLouFNbJ6FuWNckx9LqdyfXcuHKJWrlEziEeefeXr3L6wtPMHz/J7uY61VKJWqVEKBLj + 6W++hO71Us4XUDRlwhUwTrKNpdftUsgf0Gk2BUV3uUQykyE9PcP+1ha7m+uUCnn6vR6ReJxWo0F2epZT + Tz0tKiLNOoY/QCgSRdM0QWX2ZK25X4R8cDJmPP1ln8Svm3wVPIBlHkP5y8UCg8EAn9/PVG6GWccVBzh9 + XlBflUtFPB4B+Jnf3xOoN+0Wg16Pq++/w3AwIJmd4uXf/h1cbhfVUgmvz4cvEHQouQSefjY3c8+xn/3m + tzlz8aNiRb0qMPWKh4fUaxVajQYlLU+pkKdRq1EuCnrtTG4Gf0Cg7EwvLBGJxug1G8iKgsej43K7eel7 + vz1R3lq1Sjo3QyAUEkCcPj/tZsMJZ4Z0Wy1uX7/KlXfeRpYl/MEQJ89dYOHEKXbWVtENg0QmSzQWZ2Zu + AfgIdUdx8ho+w09qKkcpf0itIkBIGrUaqqrSa3d4741fcLC7TTSexOV2EY7GSE9No2oabreO12/cQ+r5 + FUg2fu3+P4F8FQzAI5f/Bv0+N65cYuXaVQLBELFEkumFJTSXC1XT0L1efD4/8URS5ACAbrczIcHs9cSA + yuHeLj6/n0AoRH5vl621VUGgoWkc7u/S63Z5/tuCT6JSzJPMTolWYsDrNdANL7IzXjy7sMRoNKJeq4p6 + tjmi2WxwuLuDoqpYpkmtUuL29Q9JpDNMzc2zdnuF917/BeZoOCG/SE/P4PP7hcIbBnMOki8IwJBBv0ej + UUeWFXRdp9NpM39smU67JfoLBgN2N9b5yb//I8LRGC9+57v0e12uvf8eAMlslsXjJ5FHI+rdDh7dSzqT + JZ2dEkChgwFnnn4Ww/AxGg2ZXz5OIiVoyHY219E0F4XDfVGjHwq8AV8gwIlzF5hdWOLwYI9aqYw/FERz + uZFlGa/Xi8slEIrGpCefo3ydAHwC+SoYgEeO/0E0sTQbdWqVMoNBH8sWQJ+VYpFYMsXC8onJfHkyO/UR + tp1lCcPw3R+IjL3LJRpWPDqReALbtqmWimyu3cXt0Z0wYofN1bus3V4RiDtOh6EkSxg+P/5gkFQ2RzAU + JhyJYjmdiNF4gtzM3EfMOO02hYN9dMMgFktQL1ewbZtut8Pm6l3y+3u0Wg2GgyH5/V2Onz7H7LHlyQCQ + 7vAdjiHFAM5efIZT559iOBgwHPSRFZVatcyLL/8WXp+fRCbLxu0Vrr7/DprmYjDoUy4UONzbpdWs4zV8 + gkA0nSWdE0M3brebXq+Lrnt5/qXvAKJsWa9VURWFZrNJq9GgXilTKRVxud14dC+j0YjVmzdYv7NCPJmi + 3Wox6PdIT03jCwQIhCLEkskJU9HnFEZ8bQCeQL50v+1mqf0+j1gFsG2bVrNBfm8P07IIhsMM+n2uX3qP + /Z1tlk6cwh8MsXLtKsNBn0Qmy6AnMuPZmVmWTgoyTcsyURSV4XBIMBjE8H+UER/0+yiqgqa5JjH+6spN + AQEWjQnIr51tJFkWJBw+P4qicOzUGYaDAd1uh1Pnn8LlNLXIsoxh+O5Bxhk3//S6XWrlEsPBgEA4wtqt + GxQO9zn79HPYtsXB7g6KoqJ7vbg9OuFYHMs06XVE/77mchNPpfH5A3i93o8l61qNBtVqBduyUFSVciHP + 9rrgTmg1GmgujWg8yeLxE5O5hk6nzYmz58k6BmwMdAof5UjGWADYNobfj23brN+5TTF/ALbN9vqaMBqa + hmWa5ObmkSWZXq+H7hVJxkAozNzSMTy6l2a9huRgNY75Ch9TKidjxmPjhn0tX7IBeNwJwIdJo1ZFkmUM + n59up0P+YJ9eRyDYtptNKqUCiVSGYDgiSCsKeSynPCiYekWCLjszhz8o0hGqqgkX1u1mNBwyGg0d9poh + tWqFfq/LoNenmD9gZ2ON2cVjmKZJo1bjuW9/h8PdHd557efYts3y6bPEEklqlTLhaJxkVvDdHZ26A2f0 + 1xR0Zt1Om1q1KoxKp43lNBDtbK6zfuc2vW6HYFiEIC6Ph2AojOEP4PHq6LoXWVHxeATF+Hi+wDRNRsMh + nU6HdqtBv9sDIBAOUykWeee1n9Ftt53R3z5X3nubb7zyPVJT07QbdVoOr0IskWR2cQmP7qXX7Tgw4wIm + fTDo0+926XQ6VIoFRqMhmuameLhPrSryJMPhgJmFJZ771ss06jXef+M1LMsmlkySnZmbzF48hvzoZMz4 + 4ae5h35T5csOAS7yKZUfuIfA0/D5mFtYFBj0jkINBn1UVcMcjUQXoK7TqFVpNRoMBgNBGtJssn77FqPR + aEKTffrCReaXT9DrddE0DY/uRdd1MlO5yWo4v7zM8plzaJqL4XAg6LuCIUqHh3h0HVlWwLZZuXaVnc0N + kpkMnusCsCMSjxNPpomn0wz6fSRZfFbTXPiDoo4/zgPYts1oNCSWShNPpWm3WoLvz+enlD9ge2ONerWK + 20lidtotXG4P0/MLpHMzE2zATqeNpqpMTc/e8xtGY3GiiQSj0RC/P8jW2l1arSZzy8c52NmmUiyytXaX + aqXMzPwius/H4e4OOxsCQj0ci7F8+izxZApVcxEIahPqsjE/42g0pN1u0+108BoGbo+HUVkgIPe6Haql + Itn7zusR5Wv3/wnly/YA/hbw+1/0cccz7r1Oh+FoRK1cpuXMujcbdUr5PF3HFfboXt569SfIssL0/OKE + 4DKTy+EPhLBtiKWSH0OuHQ2HdDvtiQIXDg6oVcuMRiOBwNvtYts26dw0oXCU1ZUbNGpVpmbniSdTuHVd + KJOqUsznkWSZeCKJR9c/dj2C+KRArVzCHI0o5g852N1BliXC0RitZhNFUfAHgxzs7hAMRQjHRC/B9MIi + hi9Ap90iGosLujQnhzKWTrtFqyX6FZqNGj5/gEA4wuW332T9zsqEjOSl7/+Q5NQUt65cwjQtnn9ZgDuP + RkOwBW7i/dyM45Jru93CMk0isdiT5Ah+eDJm/OhxP/S1fPkewGMlAD+r3vbxZNz4RjvKkAOiu6/VaqIq + CuVyiUhM0HiFo1H2tjbZ295ke2ONSCxGtVxibuk433zle3h9vsn5qZqGLxCc/N/wByb8fP1el+Fw6HD7 + BRgO+kRKcbrO6njgVBCC4Qibq3f46R//EYqq8fSL3yQ3v8BoNKJVq+HxGiQzGYGpn8neM+wkeg0GE8LN + bqdDtVhgNBShTH5vl67Th9BuNdnf2Wb59FncbjftVou5Y8tEojHMkYnL4yYaiwsQT4cFGcD/vR9w4fkX + aDWatBp1srOzDPsDysUiqqoyGg65e/M61VKRcqmIORrx3Esvk8xMUSkW6Xbb+HxBIok40Vj804CofM0C + /ITyZXsA68Dco+xbKhYmFOD+YHDSo69pTsLI4ab/rEpN45V7NBxOym8ej5tmo8Hu5saEGKTdahGORjn/ + zPP3wGw/iXQ7bSzLptcT3kEoFGb97h0uv/MGvU6H7MwcXsNgf2eb4uEBubkFwtEorYYgPV06eRrN5aJR + reIPhYglEvespuMmpHFmv91s4vJ4WF+5KeC9s1Pcvv4h3U6HF15+BUmSaTXquHUdXTcwAoFJXmQ4HE6G + rY4y94xGI2rVioBP0zS21lcpF/Ic7u1imibnn32BWrXM+2+8RqvZxOVyk5ud47lvv0IskcBrPPZE4urJ + mLH0qX7432D50gzA404A3rx6mV/++EfY2ISjMQxfgOVTZwmEQ/R7AuQyEApNaK0+78aUbqeNqmqTWv9R + DP/PUmzLotvt0Ol0JlN/hf19mvUasWSKSqnI+p0VhoMB3/ytH7C5eocr775FPJVmdvGYoC0PBMS0oKpN + qLk0l3tCOT4Y9MEWWf69nS0AguEIhf19Ws0GvW5HAIE4jUv5/T32drYYDYcCAmwqRyItEpsuj1uwJysi + 93G0MjHmamzUa+xurlPMH1ItlfAFgmKwKZ6YAJo+hvyfJ2PGf/7Z/eK/WfJlhgCP3ABk2zbBSITc3LwA + qazXMUcjOu0mO5trrFy7KjjrM1kC4TDTc4uEolEatRrBcJhgMDSB5P60q/RYxo1BwJMQVz6ySLKM1/A5 + 7ciCwDOZymBjo6oa7VaT+eUT9Hs9orE41XKR6XlBNFIqHGL4/VRKBW5f/xDLsiYswX6nkSocjZPJ5fAa + PgaDPtNzC5PrCYUjzuh1BySJwWBAr9ul2aijOgbPo3vpttvsO8SewXCEuWPLjIYjVE1UOsbdgoJmTSEc + iRKORCcNSOMZjicMAb52/z+FfJkewD8A/s7jfGbQ71MqFpAVUTOWJJlrH7zL2u1bgk1X07Btm+z0LKPR + kOuX3uf0hadJZLOs3riOaZqCbNIfwuMVlFMeXbQMq6qK7JTLvgJtrU8s41Jfr9vFtEzcbg/1WpWd9TVq + 1QqVYmECCy5JErFEktz8Al7Dz876KprbTTSeEMNFiC5EgF6vh6ZpqJrGoN+n1+1gWjZut4vhYEir1WD9 + 9gqBYAh/KMTu5obwjBQFRVUJhMJiJLtSotNpY1s2yUyWSDyBPxBA01wTj+Qx5bmTMePrKsATypdpAP4M + +N6j7Nvrdtnf3cYyLULRKG6HUFOSZAfK2sSjexkOhwwGA1RF0E8f7GyTzk0zGgy58t7bFPOH9J2S3rhr + MBJPsrl6m2AoQjAcIRAKiTFh05zkGX7dZZJ87PfFTES/R6veoN1s4PK48QVCdFpNbn14hVqlTDIj4LgG + gwEXnn2eve1t3n39VVLZKc5cfJZwJIptW2LMWpIx/P7JcUBUJeq1Kr1el0G3z2DQQ5ZlivlDblz+gFaz + 4YCFHkdRFYKhMKmp6XtwBR9RukDoZMwYfOY/2m+I/FqEAJVyifdff41ysYCiqnh00eyyePIUZy48Tbfb + YX93G4/uJRSO4NF1hwxj1mneGRAIh8nv77J2ewVzNCIci6F7DSrFPHduXMMyRWfh0onT6IaXuzdvoGoa + c0vHMPyCpNIwfPgCAqpKzOjb4vUYbvwr6jlIkoTqrN5j2K8xSOg4cdrvdQnH4oJRyeenVa8RiniQFZXd + zXXW76xQr1bxOO58fl9MW8ZTaVKZKTTNje7zEgpFcHncJFLpj/0ec90uc0vL1Col0eLs81EtFbEtG7fn + ifI2175W/k8nX4oBuFlqP9YEoM/nY+nkKbzbfna31mnWa1RKovd/OBzy7i9/wZV338Lw+4klUkzNzjG7 + dAzD8GE72PRjGvD5YyfQXILyW5IkqpUyPn+QbreNx6MTisYo7O9RLZcoFfLs72zh84tTnVlYZH75BNVS + kUqpSDyZIhAO02m2UV0aqUwGjy6SWF9VYzAW2RnQGcs4z5CZygGiFDqGSDtx/gLRRGIymdhpCVovCQlz + NGJ/Z5vCwR6SJLNw/ASKopKZniESjbG5epdet0N2do5INEZudm4CFgqImQkHFvwJ5C0+Py/W/tW7/PrL + l+UBPFb9PxAKc+G5Fzn79HOUS0WGgz7D4ZBwOIrqeATxVNqB3zqg7wy0WLZFo1abZKMzuRmiiSTNZp3h + YEg8kSQSjX2sDyAWTxCOxdm4e1vMwbs91KoVAsEQ1VKRN3/+E+qVCifOXUBRFVZv3UTVNL79/R+SyGTp + 97qT+nk4HP21DCOO9uNnczNksjlMhw9g2B+Qm1/Asi0kJNqtFm63W3APulwU9vfJzs5SKhb42Z/8WwoH + +5x/9gVmF5eQZJlOu4WENCELlSTwOtiMjyOmab79WV7zffJlW/CxAZL4HI3Rl2UAHhkCrN1ssrpyk9Fw + SDSZJBAKE4kIMg/TQe19/tuvcPGFb9Ltdmg1Gli2RTgcoVatYlu2wAGsVpxZgRZX33sXVVV58ZXv0Wm1 + 6HbbyJKMrMiEIjFC4TCZqRzZ6ZlJZrrfE3Fso17jxNnzKIpCIpWhcLgvQEI7oqlm8+5tDnZ32F5fJRyN + 8crv/AUGvT6l/CGDQZ9oLEkml6PX72HbNh6HkEOS5a90KCHJMuoRPoBx3A+iVJmZyk14GZKZKWKxBJVy + ifnlE4QiAue/3WpOCF0Nn59mvUa71cLw+3np+7/N496OvW73El++osLno6DSQ17/Knmsc/nKewCtVpNr + DhKPPxBkfvk4qUyW4WCAZdtipDWTFVNzutdJUImOwUAoTCKVptvtMuj38Hq9NBoN4smUiOVVhb3tTYeo + skqtUmZqdo7lU2eZWz5Oq9HgcHebUCTK9NyCyAP4/Lzw7Vcm7azT8wucOn+Rbq9DKBShXBJ5il5HoAar + qsbdtets3L1NrVxmdnEJy7a48u6bDPoDlk6cJDe/wHAwwOP1EonEJj0Fvy4ViTEPwFjGeYZ4MsUrP/wd + RqPhpMGp0xaw65rLJSoJponPqQI8phSfmU2uA49ag/08XfqjfySbz2/VfpTvfNAN89DPfeF3lzMBWAMe + 6S8+GPS5+t473L15Hc3lJpnJMhoNuXX1Mt1Oh1MXLuL1Ghzs7RKJxYgnU/T7fVRVJTM9SyKZmozuwkcT + d6qmYZom1UqZbqdDOX9IqZDH7fGQm5tHUTXe+cXPWLl2lezMLMdPnwWgXq3i8rgxDD/hWJxIPC44AVUV + yxbowxLQ7/eRFRlZkikVC1SKBWqVMj5/AI/X4LU/+xP6vS6nHBSjlWtXOXn+KY6dOkOjVqPbbgm+P7+f + 6bl5/E4vg21ZXxi92Gct4z6GsecmKMEHuNyue/oqHvG7/uRU3PeXHrSJj9/Xn1YpP83nHnQun/exH/aZ + j73/hXsAtm2flyTpkc29pmo89fw3OH3hIoqqoigqjXodXfeiqCrZmVnK+TzF/CGD/oC97W0atSqddguA + dqNJMb8/SXi5dV1MnEkSusdDOBIlEo0JaG7bFn8xSaLX7XL26efI5KZxe3SBwVcsUCkVqFUqmKZJLJEk + kc6gewUoRq/bwecPkJmZxe8PICsqXq+XVEaw8IxlMOjj0f+ymLwLhtjf2pyU3rqdDuu3b3K4v0elVGRq + ZhbDH2Dtzgpbq3dRNZcYm52eJZFK02w2HJJPD7rXO1Gyz5u1+ElEctiUx6GEQHF6PMUfy2DQ/4BHX/0f + Jp+3Mj5o/4f9UR723Y+z/9G8wYP2k+5/7wu/Q64Xmn8T+N/uoZJ6yI3a63a5fvl9Bv0+uflFdK8XRVFw + u92iN99xO8cAFZY5otvr0e/1aNVrhGNxmrU6G6sr1Mplup02o9GITG6a/Z1tguEIqewUsiyjGwYej05q + ahq/34+sKIL33onLLcsSU3FjgE3H1RdAF10O93Yd6CwNfzBEr9sllZ3ixVe+R6/bYWd9DZfLTSgaIxAO + EwyFJiCeY+LQ8TWPG3bKxQLhaIxQNMqVd97m1tXLmOYIr+HjwvMv4vP7ufT2myQzWU5ffIZwOEqpkJ+Q + h0Rj8V+bMOJxJX948Oe/c3rx50feOrrKP+pq/0n73L96f5LCPekxnmT/X7W637/dfshrAPvL8AC+6Tzf + g8L7IIPQ7/XY2Vhn4+4dCocHAnbLaeltt1r4AwFy84uEozFURXDpxZ0JPNuyxAhtMkUyk6ZSKdNpNiee + Qb1Wo91ssLZyk3pVeAxew8fzL7+CR/eyv70lcgXBELrXiz8YxB8I4vMHSGenJuc6nrqrVavUKxWGwz61 + SoX9nS2i8QS67uXW1cu8+/ovANA0F8lMhqUTp5FkiW67zcziMWIOLJmqqiTTGZLpzORaAYLfD3H64tPU + y2X6vR6JTIb83h6DwQBzZCJLMjeufMC7v3wV3WuwdOo0qcwUnXaLQb+PLxDEFwhi+Hx4DWPiQR39vX+d + 5A//4P+4woM92EdVuM9SoT+t0n7aYx41Vp9kCO43jF/8X/7qQa0gQXx86Id5ApIkCVTfgz0qBYGuOxwO + 6XU65A/22Fy9K3D+UmkURaHdbpHO5phZWGTQ7+PxGoSjUTSXi1A48rGbfDyv32q1aNUbVMtFLNsikc6y + efc2b/78J8SSSVKZKQ73d9E0F3NLyyiKILI8dvosgWBwkrwyTRO32y2Uyrbp9XqCWUjTyB/ss72+SrNe + p3IEKXjt9i1q1QrPv/QyHt1LvVbF49ExfAF0n5eAY8zGMb+iqvdM97VbLZrNOm63juEzuHX1CivXr+I1 + fMQSScrFAht379CoVUUPfjRGOjfNwvIJPLpXQHgBmdwM8WQScyRyI/eXLb9qBsI0zdUzycDziBv66E39 + sJX/Yds/abV82Hcc/f+DjvckxuBRP/Moq/vRZ/sT3ge+4BDg8l4lJcHB/covif/c8x4ImqwxrdXYIFiW + SbvVolap0G7WabcEb1+1XCKVzTkc9hahSFTs02oSikS5+OK38AUCVAoCpirq9ADcPzlo2zaH+3vsrK/h + CwTQDR9bq3fYXL07gdQ2TZP5Y8sEQmF0r0F+XyALh6MxMrlpUrlpIpEozWYTTVXxBQITEJJ+rwe27XTY + bQiKstk5aqUyh/s7SA4b0BgyrJg/4HBvD8syCYbCzCwsEghFCEYi+Hx+ZEUWRsjpdRhDilmWSa1apVIo + UCocUq9WAfD5/eTmFyjs7/HmzwUL8rlnnkNVVfZ3trnw3IsO4YkpugUtC6/hIxAMfpp5/c9UGvX6//uN + 5Zn/VlZU2RwNAbDM0ZMo9q/a71GV9UGr8ZMe82Hf+Siv71f4Bz2ObvtiDcAHO6VvSvBLJOmBSn/UIJiW + xY3LH3C4v0smN43u9TmdfglnEEjsOxqNqJSKYpW0be7euiEQb1Np9rY2WL11k7u3bvCDv/iXsUyT9974 + uITCOgAAIABJREFUJc16jbmlZZ75xku0mgKjLpmZwuvzYVkWhuFz4LzkCZZesXAoav2ShKKoyLKEoqqY + oxEfvvcOt29co9fpkMrmeOE736VZr/LOaz8nEIowf2yZ7OwcwVAEWZLQDS+DXh+Xxz1Z0S3LYjgYCMy+ + bofRcEi/12Xz7h1WV24yHAxIT+WIJVOi18ESNXfD58eje7GxBVR6Ko3fL0qcqio8B9u2Mc0RtiWeVVWj + XCpy68PLKLJCdnqW1ZWb3LjyAX/xd/8LysU8zXqdw70det0us4vHOPfs84yGQ+rVqoAEDwUJBILoXuOj + UM4Juz5v+fkbl976t3/yk3+5c+3dq8N+z7RtyxoN+sNOo9ou7a21jhiDTzIKD3r/SQ3C43gDjxOjf9I+ + n7Ti3/+wHvAegP2FGoD3tgq/LUnSn8LHV//7DUKv1+W911/jA4fld5ywO376HL1eh2qphEf3ksxOEY3H + MXz+SdJOkgS5p21ZtFpNNu7cJje/SLNe491fvoppjkimsxw/d55Lb77O+p0VPLpXrNKjEfFkiuNnz5HO + zTAcCJy/cCT6QJyBMbhGt9N2CEb8JFNprr7/Drc+vMKg3ycci3P6wkX6TlhQLZeoV6ucunARt8dDo1Yl + NZXDHwiIDkK3ezJjMBwOaDWbjEYjPG43tg2lQp6D3W2q5RKSJNOoVRyAEj+52Xk0twtd9+IPBKnXqgRC + IeKpDC63m2AoPFnJx0zFkiRRKhaoVypMzcyyvb5OtVJkZ2OddqvJzPwiuflF3vjpn00SncFwhG999wdE + 4gnye7tIssTi8ZOTvIJlWsiKjKpqn/m49P/yj/45u3si2am6PT1Z02qyohRMc3Rz2O/eqh3urh7cvrpn + jobDYb87aNeLnWal2D/yFY+q6L/KODwspHhcQ/CrjMCDVvqHvb5f8S0+wQh8oQbgnY3DvyLBvzqq8A97 + xrZpNpsOVPYBbo+HaDyBR9e58u7b7G5uEIpGCYXDROJJZhePMRoNaTUaTM8v4PP5abdb6LqO7jUmcXS7 + 2RRIQk6ra8GByK5Xy5QLBZr1GjubG4SjUc5efJb1Oysc7u3iD4aIxuOcuvA0/W6PYl7g/C8un8DwB0TC + zhkOQpImOYZOt4Nt2RiGQb1ex3TGlLudDuefeYEPP3iHw70dvvHK99FcLvZ3tshOzxJLpuh1u2guF4Fg + 6GOw3yMHUmzQ71OvVSkX8siygixL1CoVJEmiXCyQ398jEotjWSaa5uL42XOCZLTVZHZpGU3TGI0EsIfL + oTPDoRbv97piDFjVsCyTu7ducrC7TaNWQ1EVLr7wLbqdFq/92Y+IJpK8/MM/R35XQI112i3cbg/zyycm + JC2mMx78afoYhsMh//3f/p+xLAtZUZE1TTyrqjBmioLqcqN6dEtWlLyNvWvZ1s6o31ttFPfX19599Vaz + eNDu91rDfqc9Gg56pvPVD1tZecD/P41Cf5Kx+SQP4GGG5mGr/dHno4bgnscXWgWwLMv1qxT/qAHwGgbn + nn5W/N9Z1VutJq1mk/ljy3gNH51Oe0KUeffmDVqNOl7Dy9rKTVauXUXVNCKxBG6Ph0Q6zcLyCbrdDtVK + GY/HQyQSJZFMTc6x1+2ytb6GORLsu4bPj6pp7GysozqThTtba1x++01CkSjhaIydzQ12tzYwRyP8wRD+ + QJDs7JzjNXgmYBeBUFiEGP4AsizjDwRotepkZ2ZJ56bZ3dygcLCP26PT7XS4efUy3U4bt9tNbn6BZDpL + LJnC5XbTajZJptP4A0Ex5LS0PLmGMfdgpVyi1+kwGo3Y297AGgmsgBtXLmGZAo134+5t3B4PF5//Jqrb + hWVaeH3GhMsgEAwBIEsSTz3/IuboWfr9PuZoiNfwUamUOXPxGZFoRaJWKXO4v8ve1hZen0EgFOJgZ5uV + a1ewLJtgOEx2epa5Y8cxfMZjA4Bu7xxgSxKyMw5uWxYWQ7AtbEVBtm1M4aXJisudVjQt7XLpz3i8foKJ + LLMXvgGSVLQtc280HG73WrVbrUphq7Cxsnnp3/3BjmWZn6Rs9793vzws6fawfT/pez9p+/2u/FFll5zn + Bx37Y+9/oR7A63d2fhdJ+oOxksufYAD2Nje5cfUDMYIbDOHxeARSbipN8AgM+NE6d7lYwLZtDMPHwe4O + O5vr7GysUzjcx2sYJDNZzlx8lv3tLQ52d/AHAsRTaXLzi6KS0GwSicc/RoTxUbbdg8/n5/Bgn92NNfzB + EOncNNc/eI9rl96j1+0yGg7xB4M899J3cHs83L5+jWQ6g+EPIMkSqWyOVCY7geI6qgCDQZ9GvY4sy/S6 + XdZu3SB/sO8g/MqCWmxmFpfbw9X33+Hi899AkmVKhUPiyRShSAxZUdBcrnvmJWRZFkk928IcjdhaW0NW + FHTD4Oq7b+P1GcwfO05+b49+v4dtWeheAdtt+AP0Om1arSYAgWCISCJBMBjG5XYjj8M2JwHZabdot1uU + Dg/RXG6iiQSbd29z/dIH1GsV+r2eyL988yVSmakHohx/kvzs1bf4o3/3E6epSEaSJWRZQVIUZEVF0TRk + VRMewdgzUFUUVRPbNJezj9guyTKSLBLN5nCw8cEf/4u/9d6/+WcbfNzFf9Sw4P7Xj2tMHuV4n7TqP+hh + 8pBw4As1AK+tbP15JOmPHqb0Rw3CzSuXeP/NXzpw3WJU1wj4efHl77J8+ixX33uHWqVELJUmEk0Qicfx + BwLCIDhXZ45GVMol9re3MHw+NJebQDjM7WtX2V5fxRyNiMQTzB87zs7GOrc+vEw4GiM7M4fPL5Jr6dw0 + qXQG0zTpdjtomguPrk9yDbZlUS6XaNRq9DptyoU8mstFdnaetVs3uHbpfQyfTyD0mCbnnnmOqdk5djc3 + aNRqpLNT+ENhdMMgEo3h9ngmcbkkSXQ7bXY2N7FMk1A0iqwodFpN1lZuEYnHKezvc+vaFQetx4UsywRD + Yc49+wL9bodGvUYkFscXCOL1+fB6vWiaC83lmhCQuBzykGKxwHDQp9vuYDqdjbIic+PKZXY21pBlmez0 + LNFEgnA0RqfdJhKNMT2/gGnZuDQNt67fQ10OTAxDo16nUa1MrtXwBx67svDP/vm/4uq120iyhCQJl1+4 + /mNFV4WSjxVe1VA08d5HocLYYChHDID4Phu7s3317f/pj3//b//EtqxPir2PPh/dR3rIvg/6nvvff5Rj + Wfftc3+sP1b2+5/vDwUsvmgD8PMb669IkvTT+5V/3CJ69L1et0u9UuFwb4f8/h6WNULTXJy5+Bwew8sf + /9//gsO9XQyfn2AkwvzSMnPHTmDZFpY5wuP1onsNAgGBIDyOnyUH226M2a9qGrIkseGsUuViHr9DzjHo + 9zj79LP4/AEuvf0GlmVx4ux54epWK4SjMY6fOYvbo08SXUeThK1Gg1qtQr/bI7+/y6DfZ2p2nl63w7uv + /4JWoyGIPNxuUpksIYdbwO3RJ9cVjcXRNO1j2fUxnl6tVqF0eMju5ga1Slkk+sIRIvE4e1tbNGqCh7BS + KuELBDh28jTZ2Tn6nS71aoUT58RkY6vZvIfG3LYshk4oUcwfUMofCqTicIzRaEC71WTj7h1S2SlSmRyF + wz00lwvd60X3+giEQsiKMsEVUBRlYnzGeZIn6S/4+//gH1Gp1e9Tfmf1V0VOQNFcwgvQBGjrxCNQx/kC + ZWIERIlZntyDSDKSbVn7dz78/X/99/+rf83jreCP6wE8ymd/ldt/1ACYD3ht8nAj8MUagJ9eW11GklYm + Ss+DlV+ShIJ5PB48Xu+kLCghOum63S6bd1YoF/P0ul163S6xRJJUdopapUzNGfBxezzMHzuOqmkc7u4Q + CIWYP34SLBskQTQqywqqqgo47XpdVBe8OpZl0qzV8AWC7Gys8darPxWx9vIJ1u+ssLV2l2Rmih/+x//J + ZKy13+2Szs0wt7jEYDCYlAo1VcN0avsgEIUP9vYwhyPKxUO6nQ7+YJBGvUalWKTX7TIY9Emk0rzwne/i + DwRYufYhnXZLlCsNA5fbg8fjngCQjKsV4+Rmt9Om2Wwy6PcoHh6wvbaGjU1udh6PrvPBW68jSTLPfOMl + Vldu0mo2eO6l7yArMs1ajdRUDp/PP2lwGuMtjsuivU6HarWM4QtgmiN2NtYmkOOjocgP1KplNu7cZjAY + oOtephcWJqQkwVCYaDzxWPdPo9ni7/6P/6uzaouVW3aUf+zmy9r42fEAFKH8H4UGirPiO8qvyMDYAIB0 + ZLwgv37zH//L3/tr/5fz38eNz8e6NY7LH7TyP8wbeNAq/zDFP7rqH1X+o4r/UAPwhSYBTdM8PKrwDzIC + 49dX33mTXq8nYs54wqGS0gGJUCTM8tnzyIBp287ND7YNgXCEWDJFuVhAQsLl9rC9scrt69dYPnUGfXuL + 3a1N2q0mg76IwbPT0+QWlojF4ngNA9M00VSVdFag44QjUXLzi5PeAH8gSDKdxeP1omoalVKJrbW7HO7t + cvrCRaLxONc+eI9SIY+qqiwcP8H03CI7m+u43TqpqSzzS8cAWOIkALZt0+t26LTb1CoVysU8hs9PIBCk + 0aiztnKTVrOJORrRqFXRNBehaBTD52d7Y51MLofL5QFJEi56JEpc9yJJElPTs5x56pkJv2Cv23UmDQP4 + g8HJqLRt29y9fo297U2Wz5zD6zXY3ljHskzRUp3NEQyF8BoGht8viEGd6crg+YvY2Az7A3r9HqZponu9 + 9Dod6tUqhs+Hx6NTLuZpt5poSy6i8Y/fI58kG5t7YoWWhLsuyyIxLCsfPRTHKIzJXxRVmYQGkiIfWfmF + 9+DcdCDJ4h60wZaEvqYWT/2Nv/R3/vf+H/7D//oP7zuVT8rcH9027lR82PYHPcPHcw9HlV0+8vpowu/o + vg8LIT52vl94j+ePLq8cSJB6qPI7z5fffoOdjXXqlbIDjW0QjsZpNerMLC6RzuaQFRlJFuy5ht+Ppoma + s4QwDLYlMO+KBwfUKmUSmSy9dpu97U3q1Qr721sCrmpmjtNPPY2ue7lx5RLVUpH55RPMLC6hKDKyoqJ7 + dDy6PukGPAre0ajXKRzsU6+USeWm8Xg8fPj+u+xsrjMcDDhx9jwAr/3ZnxKJJ7j4wjfQNI1Gvc7iiVPE + E0mGg4HTZKR8DB3Xtm2qlTKtRgNFVZwZgD667qXdavLWqz/F6/PTbbeRJImnv/Etlk6dplmtMxz2kWUF + 3WcQCIZRFRmPLgzX+BjNeg3NJYBWN9dWqZQKhCNxGvUqN69eonB4QLfdJp5Kix6JM+dYPn2WzdW73Ll5 + jZn5ReaWjtHr9XC73ZMJv6NswpZpMhwOaDTqAtw1HH5sEpB//6c/5yc/e9NRYtlR9HuTfB89RLJPOer+ + j5GfjyT+hEGRhS9si3OeaIyYrLRuvf6nv/f//eO/98aRU7HuO7VPivfH+z8ooXj/Zx+kuA8q6z3I7b9/ + xb/f9Tfv+xx80R4AgGWaN3EMwCcZgaUTZ4inMzQqFTrtFjaC0qvTbtFq1LlTr1MqHCJLMoqmkcpkSU/l + 6HQ6mKMhqey0KGc5wztpB+baisZIZqdExr1apd/r4nbrhOMx8nu7VMtF6lWxAtuWSamQp16rIiHhDwZJ + ZrIkM1MYfv/kXAP+AIvHT0yuZTQc8txL3+HsM88x6Pfw6F7ye7ssnjhJICimAFeuXaVRrxEKR2g1Guxu + rlOrlLEsi8UTJ1k8ftLB4e84rbihCUR3NjczcbWbzQaBYIhOp03Zof5KZXIMen1WV65TKhRo1Kp4dH2S + uDv3zLNMzc5TPDxEQiKWSiGbJrZtOdchrqXX7ZKbmxdgqiu3BLx3MITXAfzYXl/l+gfvEwyF2d7Y4NoH + 7xKJx1k6cZp6tYI5GuELBAlFIvj8AXSvIfgNnF6Dx5Wt7f1JvC4wDY+s9qridD8Kd1/VxoZBwJJLznbJ + MR7iexSQnUXaUfx7tFREyPKpl374dw/uXPvrH/7432w7mx6l6++oIss8WOnHhmH83oOMwXi7jFDi+7ff + k9Xnwcm+o9uPnsMXbwBM07wmSdIrH2v/vc8guA0vSa9OMp3Fsm0kYDgaMbu4jGWO2N/dnsB0VUoFDna2 + MS2L/e1NDna2CUdjTC8scvHFb1Ep5AXyjD+I1+9HVYRbmM5O3ZN/yM7MEYxEReJKUTDNEbrPh2tvj3q1 + QqMmVspOu4Vl2dSrFZr1GvFkmtTUFKqqCfSg2TlUVcUwfIRCYVRNIxyJMrd0TKxesoTuNYRrnc5QLZaQ + ZIlWs0GrUSeVnWJva4vL77zJwe4OutdLJjfDhedfFDiH1SrhaIxUJkssniB2JJYet+P2ul3kp5+lWipS + K5cZDAbUKmUGgz7DgeDse+/115AkiURagJnGkgLfQJZl3B6dYChEPJEknkyxePzUhAxkPJ9x6sJFguEI + M4tLNOs1kWDt9alXK9y6epnC4T7myMQfCjG/tCxIW+YXP0YQ+ihiWTY7Owei7KcIQFNFkT9SfkV4ZuOH + Mn5o6pEQwEkayio4IYTtuP7AR5UdABts8Q82qvvl/+y/+b3Vd1/9G516ZTT+qe87xUdJ7D1s29HtR137 + h33+fkV/UNb/fsPwIGPxxQOCWJb1OvA3P+YB8HEjMFbOCZiH243HmVQzAkGWTp3Ftkzq5TKKpuELBEik + 0ng8Ov1+j0gswaDXZ29nm06zgS8QpN/rCaVNZ5hfOk6jXsO2TKKpFJqqISuKmCLUXEhAIpVh6cQper0e + nUYT1eOm3+lQr1UY9Ht02i067Ra3rl6hXqty/pnniCaTfPDGaxPMgXAkSjKbI5HOoGkaw+GQxRMnJ9cV + DIWZmpkR0GLdDtFYnEa9RjgawzRNQWXerNNtt7n8zptsra9y9uIzaG4XB9tblAsFAqEw04uL+P1BzNEQ + zeUinc0xNT0rqMUdjkPbtvH5/Ozv7jB/bBnTtOi0mrRbDTweD6V8nk6rKWjAdJ3s9AzHz5zD7dGpVsqY + oxG6EwpFYnESqbS4BsdDMS0b2TESpUKe7fVViocHFA72GQ4GxJJpgaD0mAagUCwzGA4dBZYnqMaKqqAq + 6mT11zSh7Kr2kRGQVQVZVRzDpYIskJpEvk+edD5KSNiShO1YAMcDwAYMX2Dhd//eP/nr//S/+6v/xDml + X2UAjq7e9zsX9793/3c9KMR4UK3/UZJ9D/MAgC/BAJgj8xfSkVVXkh+i/A9670iYMI5hJclFIjs12T41 + t0A0mcIcjPD6fSBJzMwv0u/3wbbZuLtCrVohlkzRbjfZuLtCtVRCcwnF1HWvwKhzuTF8PqKJFKnsFIFg + iGAwNFkl0lM55o8dx7JsRsMBpUKebltM9lmmRbfToVYpU69UWL+zQiqbIzc7x8HuDpqm8cy3Xp50Fhp+ + QboZiyeQnRkAw+cnnc3R73VpOkCnhtegXjuOPxgiN7cAwK0Pr7C7tUkilRGtx502pXweSZIIRaIkUmli + qRTxRJKgQ3giSRIz8wtMz84hyTLlYgEQK2D9/2/vy4PkuM77fu+9PufYOfbGXlgABECACwIgCFAiJUVE + LJu2IkdyFMmCHdmlKrpcluVygnJKcaUUp+wyS6Zc1hHJUSKx4jKhWFYsRvLJGBXJlhIyJCEeAg/cx2Lv + nd3Za3aufvnjvdfT09M9M7vAHpDmq5rtnu6embcz/ft9x/u+783NITs3i8z0NBYXsijkC9B1A5PjY/j+ + 2WfBHQexRAJL2Szakil09vTCsm23CMnSGHRNRyIl4h6z00cwn8kgEotBNwxEo7F1Lc92/fqoG/BjssUb + YwyatAB0jUHTpQWgV/bd3ADGQJlemUFQBMCV+V/BK6/S/jIWAILe4b3vf/cvfPx7//tPv3BeDivMl/ce + 8xMBUA3+sHiC9/VhoK9HAP7kn+0RBASAb3z3hVcJISMuCXgBDwCUNEUCQeeJZHMR4RVTA97zmZkZlPKr + SHf3gBKRujp67QquX7oA3TBFyfDMDHLLS2CaJoOLBvoGh5Bq78B8JoPu3l70DA6hmBftyXVdRzQaEwVI + EJV9Kh9+KZtFNpOBZdtwHAcXzr+KaLwN+0cOY252Ggvzc4jI6sNYPAE7GkFueQWOUwbThFWTTovW4ooc + yqWS29Pw2qWLmJudFsVQTMP1yxdw68Z1zM/OwuEOkqk0+gZ3Yve+A5iZGseVC28i3dmF/SOHEY2JVOrB + nbuqCnbEjEQOudyKW0sxOzONqxfehOM4yExP49aNayAyw7C9swuJdFoUAFGKWFsbYvE29A3uRCKVqul2 + vJ5l3v/8G3+NF8/9UPj8ss+CpuvQDF0kQRkiuUkzTLkVAUCVg0A13Z02dO8jT/CvCr2SAOSwq/ZzSwtX + nvzoT3yimHdrCLwSZuaHReWDpvSCgNzsI0jr++MG3jFsTVdgp1w+Qwj5/ar5f+8+v31CUJpOvB93iSHV + 3l71mvaubsQTSQzt2QfbtkE1DavLy1jNLWNZLoDx+ivnMDF6E0zTMHr9KuxIBFYmg/MvvYDrVy6ho6sb + e+49KPPrCXr7BxFPJhCxu9DV3Sv8cjmmvp3DQntRcSOLWIAoBc7lhNVw8Y0fYvzmTWiGjh0DQ+jt64cV + iSCZ7oAVsWGaFkzLhq5pGNq1G7v37Xe/2+F77sHqyorbAYlzDlsSzNVLorBJ03VMj4/h/116C4vZLN73 + 87+ImYlxQVwryzAtG70Dg+jo7BIrEhfyaO/oFCZ+qYTFxUWsLC9idSWH2alJRGIxrCwvYW5W5GDcunFN + muc62pJJvP7KDzB+84acOhTJSGtNAb41Lqr/KPNof01YAJqmQdc06LouH5rbjEVMA+qVhCEZg1GBP0Ch + Qfn+XGr9ICsA0NqSuz7wm7/z6J898W/P+oYYZub7LQCvbx9kGXgJIYwISp5jpYBr/Z8TVhuw+UFAACg7 + 5W8RQn/fm/xTQwJeQDu+Y7SOu9DAQgg6rxkGEobhHjNSKcRTKXTI5axVs81Eewdi8QTau3sAuTZeuVQC + 5xxT42N449WXwRjDwPBu5POrSKZE9LunX8xIlIoFxNqSgmgorZpJUA045uYyIJQg1d4B3TDR09ePYrGA + zNQULr35OiihsCMRFAoFt0fAjoEhxBJtiMbaYMipr/7BncLnlcQHiBWNd+29F5GYsFYW5ueQTHeIdGbZ + g3D02hXohon7HzyB/GoOF374GhazWbQlk+jtH8TA8C4kUynE43E4jiMDm2KNxlKphFwuh6WFLIrFIrpl + CnV2LoOpiTFY2QiS7e0YOXpsTfdLoVDA1PSsG/TTNPVQwBfgN3QNhqFBM8QsANMZdM0AYVSuBEUBSqT/ + TwXYpc8vjUUX7H5LwEsOB4+/64O6af2DxwoIMvOB6ii/AqHX9AkK0AUl9ZR8Wz/w/VN8/vf0j8vd3xIX + AADOPPuPz4OQ4xXA09rCoDBC8B+rRwgB+0EkUO+YuiE0lcIKyCahyyjm8zAsC7mlRYzdvIFyuYRCPo/Z + qUkYpgnHKWP/yGFk5+dw5a03EGtLYGjXHlcbdvX0YmEhi+WFBSTT7WhraxO/nCziASEo5PNimm9yAqu5 + HJaXFjE5PobM9JQokY5EkF9dRaq9A3Mz01hdzWFH/yBMy0K6UyxEQkBAKHV79gNAbmXFzU6cn5/D3MwM + psZvgXOOgeFdWJifx/fPPovpyQlwx8Hu/Qfw8Mn3IJuZxeW33sDwPftw4P4jWF5ecsFhW3bVoiEqZXl5 + ecldcFVNZzYrl6/exFee+nolyq/r0A0dhmnCkKa/YRowZFq1bujQNFEbUfH/5dSfrLPghIign2vekxqN + rywBeEhAkel3vvHffueZLz1xTg7RD3r4jvtN/CDA+zV80H7Q88Acf8/DP74qK2DLFgctO86XCXC8AnTH + B/5Kbn1DEnB8IN8gQlDpyOp8NBYD4nEQANF4HJ29OwAA+fwq8jLbrlwqIp5MiVLhtgTK5RKy83OYm51B + uqMTpmXj+e+exeU338Cufftx8MgxRGIxsfBJuYxEMolEKg3TNCtNUTlHPp/H0kIWoLTS7JRzzM1MwzAM + LGTnMfrKVfT09WMxO4fXXnoBnT2iHHpqfAztnV0Y3rsfxWIBjGlo7+hEZ1c39h446P5Gqvno/MwsMjNi + pqEtmcSNyxcxNTGOwV27cePqFdy4fBFzszPIzM5g5569GHngQQCiFoISgmRHB1KyOlEBaC1ya3QcTEX9 + GRMa32P2G4Z86BoMXaRea4buBgE1pub+GQgDuErQI6giAUG8YnzKBagCvmf/8DsePfnMl554WQ7RCzaG + YBLwugd+vz8I4CUEa/6goF8Q8MPiEVWyZQTgiQN0Bmv+O0wIQa9pQBJVJNCIJDxjMAwThmkhzh333ODu + Pejq60e5VBJaPbcKOxYFd8rQDROWbWMxm8Wt61exsryMm1cvAwDuufegqP/PZtHe3YOde+4Ry6Cv5tHV + 2yuyBmU/AwJg332HUCoVkVvJYXJs1C0FVqv3TE9O4Pl//A7uO3IMkXgcU2O33MzARCoNW3YMLhWLopdC + ewc6u3pA6Yj7fx8+/jYM3bMXHR1dWFjIIt3ZhWJJ9B9gjGF5YRHnX34Rl958HY7jIBZvw5ETb8OeA/ch + lW6vqRZsJKO3JkAp9Zj+ggQE4JkLfMPQYbpBQU8AkGmgmjD9OYgbA/A67X7Ag/Mal8BLDj39g8eT7Z3W + /Ox0AdVgcxCc+OPXyEE+vh/8XhJoFvxALfhDZcsI4KM/82juqb88+1kC/G4YkKq3TjXQAai8cKAOMWwU + IQQd842PEHmTcQ6mG4jpRuVcWlzvlMs49sg7cd/RYyiVSiAcWMjOwY5EhElrGLhx5TImb42CE8AwDJx7 + 7vuYk9p2aPcedPbugC5LgU3LErMS8Rj2HhwBkZ/ROzgEEILc8hIsO4Ku3l5ouiGThlaQnxcWBaUiwHbt + 8kUsL4nuSb39g+jq2YFUh1i2LBKJYOeuPQCAWJvItCwWRJpvNBoV3YTyOcR1vtnAAAAUOUlEQVTibZid + mcLK8rLon1guras92PjYVCXgJx96Feg11wowpf8vVoCuzP9TNfUnfhgoC6DK5A/x+YPJwTAe+4XHD33t + s7/3km+4CvxBYPQC36/1g8DvtwqCYgT1tD4CnlfJlhEAADiO81kC/EagFYBGhEBACL89QlDn15CLcLuE + EPR/mKYFy7IBImrROnt7sQfilysVi+gdGMJCZhaxZAqFXA7pzi5QKkp4p8bHwAHMTExgdnpS5MYzCsOw + 0NHdg46uLiTS7Uh3dEDXDcTjbejs7gWjFKVyCfG2NpRKoluxCOQVkc1kkFtZwdzsLNqSSeSWlzE2eh2j + 165gLjOLPfceQE/fAJayC4inErCtiGjZ1t4BEBF0PHj4KA4ePipjAHl3Vae1EsDCwhKWVlZg6LogAV2B + X0T7TUOHaRgS/IaIDei6TAmupAoL/x+AJ/oPQqpBXmcGwHsN5LGDxx46AuCcb8hBvrd/ii8osOfX+mGa + 3+/vez+zocnvly0lgI+97yeW/uszf/cpEPLFUJCHbQPPOb5zNPj6O0gIQSTQLEkEEYPjO6ZpGhKpNBLJ + lIi2l0p4KJ1GqVBAfjUPw5Blr/L6bGYWy4uLWCjNYXL8FkzLQkdXNw4/9Hb07hALmlBpmTCmISqX5a6Y + whzdPb3o2zmM1VzO7VeQX13F2PVr0A0DlmVjenwM05MTMG6JQJsdjSISjWN1ZRnLS4vQVA5DVxfi8QQM + prndg9YiN2+Oy8QfKjS/prkmvynBbkrNr+IAuinIgslyb8ZEMNUlH6Ky/ZRGr/X3ayyAgKBgV8+OQfnV + KVFeBUGteR7k5xfR2Ox35HP1HncE+Eq2lAAAwHGcL4OQxwlwGKgPlA0jBP8xJyC+UCcXYTMIAYTIRpgM + 0WgMJFo99ni8DcP7DyC3tIRCoYD8iugG5JTLYLqoS1C5EURqPkJUCixkCaz4bNOOiD4DCrCcA4kkUuk0 + yqUSCCFYWlxELJFAsSDalxMCFPI5XL98EVcuvoVivoCuHTvE2ol2RNZm3INUOr2m+2NsfLIy5ef6+zoM + Q2wtU4HfgKVrMEwDuqF5LA7ipg8TZfZLzArkeBJ+AgAfTg5Ae0e7lwC8gb2gSL8CfBDw/c8bJff46wSU + rAn8wDYggMc/8Fj5P/+Pv/5lDrwIQhiRk7LElz0WuF0zMayTEAi5I8lJ9c4HgT/sGPeNk8r3N3QDZipd + 83ruAbua+675LgOIwJtFCc5FKzFZI2GaFlLtHW4/AEBM+SXbOzG0+x4sLy0i3dGFYjGPxayoQTCMNS8B + jonJKan9qSfyz2Dqwvc3XTdAg2npbk6ArjF3fUei5v6V5ndJoHZ6LzwOUOse6MyK9Q/vtkevXl72DDnI + zw8y773AX4vJH6bx1wx+YBsQAAD8ys/99Mtf+vO//CQh5NP+m3tTCME9t4ZcBMd3fiMJIeT/U8dqCCFg + 7OBcZCR6ruWerfsZdSyDqmo5yCItSkWlnbwuEo2if3DIvbZYLKBYKIJS4nYvalY455ianIUu5/9V0o+y + AExTaH5T12GahpsIpOtipoDJph9uWrj6f9X7iw+pArbqAlgJCtYnh96BoYgkAH+Qzh/cU2D3gz7M7Ffv + Ac9zd9ie/XUBX8m2IAAA+NUPvvcPvvj1bz8CQt5HeGWZ7kBCQAMiCNtuEiEAuL1chA0khDV/Zx4iCCME + AIH7YrFT3V0/ca0yNZMB5w40JjS6G/nXpCugCQvA0DWYGoNpVNwEJpN/KBHpw3LQEMU/XrNfghqoMffr + koM83t27w0Z4Mo8f8EEk0GyUHwHb25ZtQwAAwDn/MDj/Gw68yzVZUSGCKkJYi2UQtm1oKawxF2GjCKHZ + YyH/D/edWxchKIA3IgT53o3IwSv+50pmpjIy758Krc5E1Z9h6DIYqAvAG0xofsZgaExcS1X2H5H+vxiX + EFoT5Rdj85NBeCxAkQOjjKM2N9+v5YuoBr+XIFSQr9H0Hjz7XkPmtmRbEcCvfeh9uS/89//5swCe5Zwf + D9IoQB1CQO3NWxfk/uvvNCF4j60jF2HTCSHgfw76ThsSgs+NqEcIQaLOzWYyYJSIkl/GXNNelxaArlWs + AJ0xsZX7bp9A0KrvWqDHmwLsDwQimBxCzmWmJxdQrfX9Gj/M9K9XyhsE+iC//7ZlWxEAAHz8wz+b/fzX + nnkMwFnO+WHvTePewPUIIcAyCHUnmtjWJ4bw5KSNIITAY2skgaBjd4wQ/O/pPef/vULIwSsL2QW3+Ef3 + TAEq7W8YwuxXGYG6JiwATaNuAJD6vhelP7n4U23qA1WaXjytJgd/4DAzPbWEamAXUEsAQdF/L/C5Zxuk + 9TdMth0BAMCv//w/z3zuzDffAeApzvm/cG8OCW6xW00IQaAPswzWQwTNEQLBRicnbQYh+HMRQgkh4H9p + 2lVQv0MdayGXy8sKwEoasK7cAE1E/3VNkzMEzHUTNGkBMPXdUzFTUtvyS2l0XxswkIqpX2X2V1sApXIp + d/6VcxkEA95vAYRp/rBsvg3R+H7ZlgQAAJ/4yPuXAHzwc2e++Tjn/DMAYoDPfPQQgpre8hPCRlkGYUDY + bEIIPBZAAptKCHW2QVOQVTMOHkIoFUtV6b9M1gPouuz6wxh0TYJfY9AohcYINErA3Ok/4n6/nKvvwevX + exQKqi2DRuSwsrQyCgFwpfXrmfx+8CutD9xGLv/tyrYlACWf+Mj7v/y5M9/8FoB/DeBxAAlvRZmfEBSo + EQL+qmPw3Yie7YYRwm0mJ204IfiOBRGDEzDOeus8hhFBDSH4rAFCILIA3UxAWiEESqFpMjvQJQnqtghj + RLyGqDfikB2AAaC69FfcO2p6s3lyWMzOX4AAfz3NXy/K30jzb7hsewIAgE985P0TAH7rq3/1D3/slIv/ + oZBf/SmnXE46TlkHKj9QkHCPSVpDCJ7zYYRQcwP7rqnZbjIhqM8lwG23Uqt3bSNLwf9drYcQ/N+lrutY + patuF2B38Q9GwbQKMbh9AimFRikYJaC0Mk7iIUzu/iEA8YBd/bio7gwkXhRMDlfeeuNF1E/u8Wf2NUrs + 2VTwA3cJASh5+sy3rgP4GETNNdu/dzA+ONBzIB6P/RSAI5w7g9xxuh2nnAh7j1BC8OzXHPNslSXhbnEb + hKC2QYTgnqN1gVf12s3MVgz5/9Sx9RKC1zLQdQ0EYlxMzumrcbpdgeWDynbhotkPdbMjvQ9AQpjAJQHF + BZX7Q+4QDypdWFbIweHc+coXP/89VGt/P/jD0nnrZfRtqpDGl9wdcvLUaR2iFJMCIO965P7dyWTyYULJ + UXAcBZxBcJ7g3DFcl0GK93ngfoD2X7NlgGDANG8pqHMb1DlpgwnBP+ZmchGee+4cxkbHEY3YiMUisC0T + kYiFWCSKaNRCJGIhYluwTMPNDVB1A5SSGhJwhQejzdX51ZvK+YpJgPn5+Vf2dLd/DMHgb0QCSvt7P2ZL + COCusgDqydmnnyxWP8drAF47eeo0AaDIgQ0NdMd2DvWOJFOJ9xCQQwDfxTnvApwEUB1TqOs+BGUrblFy + UtOEsA2Sk0IthIDxRiN2BcAQVYwUPs3u+c25Zxx1hQRrPqJ8fOJe5nlvDuKxHK5cvHgW9ZN31iJbAn7g + R4gAwuTs009yiECNkmUAkwD+/uSp0xSAAfE90BPH7h1It6dOaJr2EKPkAQD9nDsJAphAE+6DZ3vbRIBg + ADVDCOq1Da2CTWql1sgaIEBgLkIimfB8phf44r1ct4ID4FyQA4d4oPr/aFqaIAfHcfL//rf+zbcRDniC + 6rcJfsstBL53EC3xyclTpxlEnIEAwK6dvRge6j0ei8d/mhAyQgh2gfMdgNNGPHdYkPtQz40IdScabEOB + FHhsDYSgjnkJod75ZohhnYRACMFqvoDvnP0+ohEL0YgNyzIRi9qIRiKIRm1EbQuWZbgNQQxduABUThkq + N6Ay1gDVvg65ce3atw/tGf6PCDb5g5p4Op5tmLXQcgG2i5x9+kn144nnAE6eOv09AP9HHuJnn37SOXnq + NHnowQN729riDxmm8Qhj5DAlpI8QnuKOY/mtgHquwu1MQda3FO7OVmogBIauIRqNSOebgFBShZiy/P4c + EZSDwwHuAJxycPm8ykkgFee+lgOaIwfOefFzn/mDP4V0KVELXH9gj8l96jlGfPtbZgm0LIA7IDLOoL5L + FYg03n7ivhOpdOqkprERSjBMKOkjnLcBnG6EZdAcIQRZCk0Sgv/8JrRSu/DGJcxlsrBtE9GIBduyEI1E + EIlasC0TtmVWWwAqC1BNG9aMu/K7VZND4G71EQJcePPNbx6/794/RPN9/RoFBIEtmP9X0iKADRbpTlDA + 9QvZyMFd/Z2d7Sds23rE0LXDhGAHpSQN7kQ2ghAaugk155pspQZgvYQQRAJB5xeyS3jrzUuwLQsR24Rt + W4jYtksAEcuCYeqyEEh3qwdVJiCTjUDdcbrfLeC9/Zshh2KxuPgz737Xv3rh+efmUUsAYcAPSwUOq/jb + VGm5ABssfncCAM4CF06eOn0ZwBlIdwIATp46HX3kbYceSCTb3q1r2iHKyB5KMCCtBhbqIiBYm66fELZP + K7VYPALTND0IEecdDjgOh+Nw8DJHmXFQuQSb+GyZx0cdERR0YyHyC+MAAXcPELgfAEKq0Uikof71M09/ + 4YXnn8tB4EYRupfcvaKGrDS9sgz9bcO3NBDYsgDuAjl56rS9f+/gQFdX+/2JRPxRw9BHCDBACVIAjzck + BP92vcSwVkIIshTWkZw0OTGNucyCMPltE7Zlw7ZNmJYhXQC9siCI5rUAKBgh1RZAHUuAeE4QzwEC4PXz + 55995wP3fx7V3Xq8TTv95cDe/ABvhaDXCgjKBtxUaRHAXSonT53WANgA7GNH9h/o6u54m2mZhxgl+wnB + AAUSINA2lBDcc+tLTmqWEEqlMq5fveVG/G3Lgh2xYJoGLEMXrcF0Q7QMV70AKAOT7y3einrIUX2LxN33 + A77ylGB2ZvrSoyeO/fbE+Ngqqv13vwsQVA9QQHWxUL3mH5suLQK4y8UXgFRbDUBkoL87vXu471AilThp + aNpBQjBACDoJeFtdQvBvN4kQAITmIsxOz6FQKAnQWyYs04RlmRL8agpQZgKq2gFC5MyFJz7hHRcqIA8j + h6WlxYkPvfexf/eDF1/Iohr4/hV9gkqCvQQQlCbcsgBasjFy8tRpIpOg/McjAKLHju7f193Vedy0zUOM + khFGyCDAE5QSHbgNiyGEENRrA0mgCUIolxzMzMzBNE2xkIqhw7INsTioromSYCYWA9HcZqBS8ysrwDsu + +MCvznusguXFhbFf/aVf/N3v/P2zU6ju7x9kATQCv78ZSFAgcNOlRQAtASDiDADMjvZk5NDInkOpVPKf + MkoPgWCYEnRTSmJEosPvp99xQgg6RgiWllbhOA4MQyUAyTbghg6NMRg6A2OaWyVIiOxcDAK5HKCr613w + +1wABYi52ZlLv/yhDzzx6rmX5lGbwx/UBDTM9/fXCtRrBrLp0iKAloSKLLAyIZJZ6DsfPrwj3ZF+u87Y + cULJUUrIACFIMEoMP/jXTgyNW6kBwMpKCbq7DJhWWTJME23BRCcgVksAqjGwVPXEt+8lh/Ov/uBvH//I + v/yT6cmJVVRH8oP8/0YBQH+PwG3j/wMtAmjJGkTGGwBx3+jyocXjEe3BBw4cSaVSP0kpvY9SDFNKehgh + cSJTntZLCEA1CTgc4FwsBqoZqgmoJpcCE41CBPgpaAgBuFrfG/QjQLFQWDjz1H/5o09/6rfPoRb49bS/ + v/d/vRbg9Zp/brq0CKAld1Rk4pOyHLQHjuzv6dvRc1w39Yc1Sg8TSvoZJQnGqFXfTQgnBBAdmi4WAtXk + 6r+aSgCSMwCUCLNfLQlWWRawAvoKwQBjozf/7yc//vjnX37h+Syqg3NhBOBv6R2UBVj0natn+rcIoCU/ + uuIhBgaAFFZX8NhPvuPBRDr1HkbpCKV0l8ZIH2MsRqmM2YcSAwU1ojDMCgGoJcAr/n9lCpCCBhIACDCf + yZx/5mt/8tX/9Onfe1UO1QtOP/jr5QD404H91oGXPLyfA7RcgJb8GArpGtxLk139Wm4pSxdmxpCdGSd2 + LGH8sw9/dGjffSMn0u3tD9vR6EFD1/s0jSUoJbYiAsp0mNEEiFw3QDQBke3AmNL6ijC8vr4gk8Xs/Gv/ + 69t/8dRnPvVJZe57Qe8nAD8J+N0ARQSlgOONzP5WJmBLfixFxuUBVNJkKUQOg8Y0Qwe4Tig1KGU6CNF1 + w7Le+8EPHzhw/9EH0h2de6nGuGFGeSKZ3mNF7V7DMBLUne8nbldgpfVLhcL06PUrf/W3f/H1v/mzr/7x + dVSDz6+Zw7R/WDDQTwxhLcC2vADIKy0CaMlWiTegSD1bBkECaqv7njNKGSOUqiIrUKZRSindf+ho7MQ/ + eXRg38FD+5Ppjv5oPN7HKNNmJsdeevF7333uK3/0xEUEm93+opx62j+IELxtvv2VfttS8ytpEUBLtlKI + 76GsANWQRfPtq3PeAhxCGVO1PwQAHKccBK4wfzsoGBcUBASCSSGMLIJIBdhG4Ada1YAt2XpRYCCogIf4 + zqvjXlehAvhy2Xt9PaXmJ4GgbZg1EBQYDLumHvi3ldJtEUBLtlK8gPASgT9C7gW/shSAajCFAUsRi/9z + 4TvuBarfT28W5EFaPuyzt4W0CKAl20H8wThvgNBLAH6XYb3aNIwA1LYemIOm75oB/raUbWWOtOTHVohv + Sz3bMNCHaX9lVYSZ22u1BvzPg0AeRiTbXloE0JKtFj9YvVv/fhD4g5774wr+/SAJAn3YfiOz/q4AP9Ai + gJZsLwnT7vUA3yjo1ywJrAXUjYjkrpEWAbRkO0mYNeC/Jug1QefXAsZG1zZLAHeVtAigJdtZwghgI6bT + mgH1jwzwlfx/4LG3C7wFmUsAAAAASUVORK5CYIIoAAAAgAAAAAABAAABACAAAAAAAAAIAQAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAACAAAA + AgAAAAIAAAACAAAAAwAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAEAAAABAAAAAQAAAAEAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAQAAAQMCAgIEBAMEBgUEBQQEAwYCAgEGBAMDBwUFBAcFBQQHBQUEBwUFBAYFBQQHBQQE + BgMDAgYBAQEGAwICBQAAAAUAAAAEAAAAAwAAAAMAAAACAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACklIAIoJSADGxkWBgcHBgkAAAALAAAA + DQAAAA4AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAOAAAADgAAAA0AAAAMAAAACwAAAAoAAAAJAAAA + BwAAAAUAAAAEAAAAAwAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAABuZlkBYVtPBEA8NQcAAAALAAAAEAAAABQAAAAYAAAAGgAAABoAAAAbAAAAHAAAABwAAAAcAAAA + GwAAABsAAAAaAAAAGQAAABgAAAAWAAAAFAAAABIAAAAPAAAADAAAAAoAAAAIAAAABgAAAAQAAAACAAAA + AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIqCcwJ9dmgFAAAACgAAABEAAAAZAAAA + IAAAACUCAgEpBAMCKxMRDjFLRj1MY11Ra2JbUGceHBg0AAAAKgAAACoAAAApAAAAJwAAACUAAAAiAAAA + HgAAABwAAAAYAAAAFQAAABEAAAANAAAACQAAAAYAAAAEAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAACmnYoBgHdoBSkmIQgfHBcWVU5ETWJbUH5oYlWUo5qIusG1n9nRwqni39G2++LVu//k173/5tnA + /+XZwPm+tJ+8WFNKbAAAADoAAAA4AAAANQAAADIAAAAvAAAAKwAAACcAAAAiAAAAHQAAABcAAAASAAAA + DQAAAAgAAAAEAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAACpm4YCl4VvCLKlkCOpmoRcmIZvfaOWgZK8spzOv7Wg8cG4o/7CuaX/w7qm + /8W8p//Ivaj/1cau/9zPtv/h1Lz/5dnC/+jcxf/q3sj/6+DL/+zhzP/s4s3/zMOx0UI/OWkAAABFAAAA + QgAAAD8AAAA8AAAANwAAADEAAAArAAAAJAAAABwAAAAVAAAADgAAAAgAAAAEAAAAAgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAuq+bAZaFbgailH4Pua6ZQKmbhXKaiXOHtquWs7yynOO+tJ/7v7ah + /8C3o//BuKT/wrml/8O6pv/FvKf/xr2o/8i+qf/Jv6v/ysCs/8u8p//Vx7D/3dC6/+TYw//o3sr/7OLO + /+7k0f/v5tP/8OfU//Dn1f/x6Nb/7+jW+46Kf6EGBQVRAAAATAAAAEgAAABEAAAAPgAAADcAAAAwAAAA + JwAAAB0AAAAUAAAADAAAAAYAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAloRuB6+jjiu5rplbloVvf6iahZi6r5rRu7Gc + 8ryznv69tJ//vrWh/7+2ov/At6P/wbik/8K5pf/Eu6b/xbyn/8e9qP/Ivqn/ysCr/8vBrP/Mwq3/zcOu + /8/FsP/IvKf/ybql/9XItP/f1MD/5tzJ/+zj0f/w59b/8urY//Pr2v/07Nv/9O3c//Xu3f/17t7/9u/f + /724rcgRERBYAAAATwAAAEsAAABGAAAAQAAAADgAAAAuAAAAJAAAABkAAAAPAAAACQAAAAQAAAABAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKaZgwSfkHoWtqqVSbiumXGbi3WLsqeS + uLmumua5sJv7urGd/7uynv+8s5//vbSg/761of+/tqL/wLej/8G4pP/DuqX/xLum/8W8p//Hvaj/yL6q + /8rAq//Lwaz/zMKt/83Dr//PxbD/0Max/9HIsv/TyrP/08mz/72umv/Huab/1cm2/+DXxf/p4dD/7+jY + //Ps3f/17+D/9/Hh//fx4v/38uP/+PPk//jz5f/59Ob/+fTn/8C9ssgGBgZRAAAASwAAAEcAAABBAAAA + OQAAADAAAAAmAAAAGwAAABEAAAAJAAAABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALWrlgEAAAAApZeCAq+kjy+2q5ZfpZiC + fKich561q5bWt62Z9Leumv+4r5v/ubCc/7qxnf+7sp7/vLOf/720oP++taH/v7ai/8C3o//BuKT/w7ql + /8S7pv/GvKf/x72p/8i+qv/KwKv/y8Gs/8zCrf/Nw6//z8Ww/9DGsf/RyLL/08q0/9TLtf/VzLb/1s23 + /9jPuf/Kvqn/uKiV/8e6qP/Wy7n/49rK/+zl1v/y7N7/9vHj//jz5v/69ef/+vbo//r26f/79+r/+/fq + //v36//8+Oz//Pjs/5uYkaIAAABHAAAAQQAAADwAAAA1AAAALAAAACMAAAAZAAAAEAAAAAkAAAAEAAAA + AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtKqWAbSrlgKfkHsTs6iT + ULWrlnScjXeLsKWQvbWqluq1rJf8tayY/7atmf+3rpr/uK+b/7mwnP+6sZ3/u7Ke/7yzn/+9tKD/vrWh + /7+2ov/At6P/wrmk/8O6pf/Eu6b/xryn/8e9qf/Jv6r/ysCr/8vBrP/Mwq7/zsSv/8/FsP/Qx7H/0ciy + /9PKtP/Uy7X/1cy2/9fOt//Yz7n/2dC6/9rRu//c07z/3dS9/7iqlv+3qJb/x7qp/9jOvf/l3c7/7+nb + //Xw4v/59Of/+/fr//z47P/8+e3//fnt//357v/9+u7//fru//767//++u///fru+0NCP14AAAA5AAAA + MwAAACwAAAAlAAAAHQAAABQAAAANAAAABwAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxqJMDsqmU + A7ClkDK0qpVjs6qVe6ugi6GyqJPZs6mV9rOqlv+0q5f/tayX/7WsmP+2rZn/t66a/7ivm/+5sJz/urGd + /7uynv+8s5//vbSg/761of+/tqL/wbij/8K5pP/DuqX/xbum/8a8qP/Hvqn/yb+q/8rAq//Lwaz/zcOu + /87Er//PxrD/0Mex/9LJs//TyrT/1Mu1/9XMtv/Xzrf/2M+5/9nQuv/a0bv/3NO8/93Uvv/e1b//39bA + /+DXwf/g18D/qJeE/7eolv/IvKv/2dDA/+bf0v/w697/9/Lm//v36//9+e7//vrv//777//++/D//vvw + ///78P///PD///zw///88P///PD/0c/FwAAAADMAAAArAAAAJAAAAB0AAAAWAAAAEAAAAAoAAAAFAAAA + AgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArqSQ + AZF/aQSilYAWsaaRUZOBa3ecjniNsKWQvrKok+2xqJT9saiU/7Kplf+zqpb/tKuX/7Wsl/+2rZj/tq2Z + /7eumv+4r5v/ubCc/7qxnf+7sp7/vLOf/720oP++taH/wLei/8G4o//CuaT/w7ql/8W7p//GvKj/yL6p + /8m/qv/KwKv/y8Gt/83Drv/OxK//z8aw/9DHsf/SybP/08q0/9TLtf/Wzbb/1864/9jPuf/Z0Lr/2tG7 + /9zTvP/d1L7/3tW//9/WwP/h2MH/4tnC/+Paw//k28X/5dzG/9fMtv+lk4D/tqeW/8e7q//Z0MD/5+DS + //Hr3v/49Oj/+/js//367v///PD///zw///88P///PD///zw///77///++////vv//777//++u79QD88 + SwAAACkAAAAgAAAAGQAAABIAAAAMAAAACAAAAAQAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAACgk30DmIlzCK+kkDOyqJNokoFrgK2ijqSxp5LZsKeT+LCnk/+wp5P/saiU/7GolP+yqZX/s6qW + /7Srl/+1rJj/tq2Y/7eumf+3rpr/uK+b/7mwnP+6sZ3/u7Ke/7yzn/++taD/v7ah/8C3ov/BuKP/wrmk + /8O6pv/Fu6f/xryo/8i+qf/Jv6r/ysCs/8zCrf/Nw67/zsSv/8/GsP/Rx7L/0smz/9PKtP/Uy7X/1s23 + /9fOuP/Yz7n/2dC6/9vSu//c073/3dS+/97Vv//f1sD/4djB/+LZwv/j2sT/5NvF/+Xcxv/m3cj/6N/J + /+ngyv/q4cv/z8Ks/6ORff+0ppP/xbmo/9jOvv/m39H/8Ovd//j05//7+Ov//fru///77//+++///vru + //767v/++u3//vnt//357P/9+ev//fjr//346v+KiICRAAAALQAAACMAAAAbAAAAEwAAAA0AAAAIAAAA + BAAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwp5IGtKqVZ7SqleKvppL9r6aS/6+mkv+wp5P/sKeT + /7GolP+yqZT/sqmV/7Oqlv+0q5f/tayY/7atmf+3rpn/uK+a/7mwm/+5sJz/urGd/7uynv+8s5//vrWg + /7+2of/At6L/wbij/8K5pf/Duqb/xbun/8a9qP/Ivqn/yb+q/8rArP/Mwq3/zcOu/87Fr//QxrH/0cey + /9LJs//TyrT/1cy1/9bNt//Xzrj/2M+5/9rRuv/b0rz/3NO9/93Uvv/e1b//4NfA/+HYwf/i2cP/49rE + /+Tbxf/l3Mb/597I/+jfyf/p4Mr/6uHL/+vizP/s483/7eTO/+7lz//Lvaj/oI56/7Ghj//DtqT/1cu6 + /+PbzP/u59n/9vHj//r16P/8+Or//fjr//346//8+Or//Pfp//z36P/89+j/+/bn//v15v/69eX/+vTk + /97ZyswAAAA1AAAAKwAAACIAAAAZAAAAEgAAAAwAAAAIAAAABAAAAAIAAAABAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsKeT + La+mktWvppL/sKeT/7Cnk/+xqJT/sqmU/7Kplf+zqpb/tKuX/7WsmP+2rZn/t66Z/7ivmv+5sJv/urGc + /7uynf+8s57/vbSf/761oP+/tqH/wLei/8G4o//CuaX/w7qm/8W8p//Gvaj/yL6p/8m/qv/Lwaz/zMKt + /83Drv/Oxa//0Max/9HIsv/SybP/08q0/9XMtv/Wzbf/1864/9jPuf/a0br/29K8/9zTvf/d1L7/39a/ + /+DXwP/h2ML/4tnD/+PaxP/k28b/5t3H/+feyP/o38n/6eDK/+rhy//r4sz/7OPN/+3kzv/u5c//7+bQ + /+/m0P/w59H/8ejS/8y+qf+cinX/rJyI/72vnf/QxLP/3dTE/+ni0f/y69z/9vDh//nz5P/69OX/+vXl + //r05P/68+P/+fLi//ny4f/48d//+PDe//fv3f/379z/8urW8wAAAEAAAAA3AAAALQAAACQAAAAbAAAA + EwAAAA0AAAAIAAAABQAAAAMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALGolDqwp5PzsaiU/7Kplf+yqZX/s6qW/7Srl/+1rJj/tq2Z + /7eumv+4r5r/ubCb/7qxnP+7sp3/vLOe/720n/++taD/v7ah/8C3o//BuKT/wrml/8S7pv/FvKf/xr2o + /8i+qf/Jv6v/y8Gs/8zCrf/Nw67/zsWw/9DGsf/RyLL/0smz/9TLtf/VzLb/1s23/9fOuP/Z0Ln/2tG7 + /9vSvP/c073/3tW+/9/Wv//g18D/4djC/+LZw//j2sT/5dzG/+bdx//n3sj/6N/J/+ngyv/q4cv/6+LM + /+zjzf/t5M7/7uXP/+/m0P/v5tH/8OfR//Ho0v/y6dP/8unT//Pq1P/069X/1cmz/5eDbv+mlYD/tqeT + /8i6p//XzLn/49nH/+3l0//y69j/9e3b//bv3f/379z/9+/b//bu2v/27dn/9ezY//Xr1v/06tX/9OrU + //Pp0v/y6NH/HhwaUgAAAEIAAAA5AAAAMAAAACYAAAAeAAAAFgAAABAAAAALAAAABgAAAAQAAAACAAAA + AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC1rJgus6qV + 77Oqlv+0q5f/tayY/7atmf+3rpr/uK+b/7mwnP+6sZ3/u7Ke/7yzn/+9tKD/vrWh/7+2ov/At6P/wbik + /8K5pf/Eu6b/xbyn/8e9qP/Ivqr/ysCr/8vBrP/Mwq3/zcOu/8/FsP/QxrH/0ciy/9LJs//Uy7X/1cy2 + /9bNt//Yz7j/2dC6/9rRu//b0rz/3NO9/97Vvv/f1r//4NfB/+HYwv/i2cP/49rE/+Xcxv/m3cf/597I + /+jfyf/p4Mr/6uHL/+vizP/s483/7eTO/+7lz//v5tD/8OfR//Dn0f/x6NL/8unT//Lp0//z6tT/9OvV + //Tr1f/069X/9ezW//Xs1v/n3MX/kn5n/6CNd/+vnon/wLGc/9DCrf/c0bz/59zH/+3jz//x59L/8unT + //Pp0//z6NL/8ufR//Lnz//x5s7/8OXM//Dky//v48n/7uLH/+7hxv8uLCZgAAAASwAAAEQAAAA8AAAA + MwAAACoAAAAhAAAAGQAAABMAAAANAAAACAAAAAUAAAADAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAubCcDLWsmNu2rZn/t66a/7ivm/+5sJz/urGd/7uynv+8s5//vbSg + /761of+/tqL/wLej/8G4pP/DuqX/xLum/8W8p//Hvan/yL6q/8rAq//Lwaz/zMKt/83Dr//PxbD/0Max + /9HIsv/TyrP/1Mu1/9XMtv/Wzbf/2M+4/9nQuv/a0bv/29K8/93Uvf/e1b7/39bA/+DXwf/h2ML/4tnD + /+TbxP/l3Mb/5t3H/+feyP/o38n/6eDK/+rhzP/r4sz/7OPN/+3kzv/u5c//7+bQ//Dn0f/w59H/8ejS + //Ho0v/v5tD/7uXP/97Wwv/Xz7z/0sq4/+HYxP/17Nb/9ezW//Xs1v/17Nb/9ezW//Tr1f+UgGj/mYVu + /6eVff+3p5D/x7eg/9XHrv/g0rr/59rC/+vfxv/u4cj/7uHH/+7ix//u4cb/7eDE/+zfwv/s3cD/69y/ + /+rbvf/p2rv/6dm6/xkXFFwAAABQAAAASwAAAEQAAAA9AAAANQAAAC0AAAAkAAAAHAAAABUAAAAPAAAA + CgAAAAcAAAAEAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC6sJyOubCc + /7qxnf+7sp7/vLOf/720oP++taH/v7ai/8C3o//CuaT/w7ql/8S7pv/GvKf/x72p/8m/qv/KwKv/y8Gs + /8zCrv/OxK//z8Ww/9DHsf/RyLL/08q0/9TLtf/VzLb/1s23/9jPuf/Z0Lr/2tG7/9vSvP/d1L3/3tW/ + /9/WwP/g18H/4djC/+Paw//k28T/5NvF/+HZwv/b0r7/3tXA/8e/rf+spZb/nJaJ/6Cbjf/j28X/7uXP + /+/m0P/w59H/8OfR/+7l0P/l3Mf/6N/K/9zUwP/Qybb/xL2r/7mzo//Buqn/npmM/5uVif/DvKv/4dnF + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW/6eUff+SfWX/n4tz/66bg/++rJL/y7qg/9fHrP/f0LT/5NW4 + /+fZu//p2rz/6dq7/+nZuf/o2Lj/59e2/+bWtP/m1bP/5dSx/+TTr//dy6nxAAAAVQAAAFIAAABPAAAA + SgAAAEUAAAA+AAAANwAAAC8AAAAnAAAAHwAAABcAAAARAAAADAAAAAgAAAAFAAAAAwAAAAEAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAvrWgIbyzn/m9tKD/vrWh/7+2ov/BuKP/wrmk/8O6pf/Eu6b/xryo + /8e9qf/Jv6r/ysCr/8vBrP/Nw67/zsSv/8/FsP/Qx7H/0smz/9PKtP/Uy7X/1cy2/9fOt//Yz7n/2dC6 + /9rRu//c07z/3dS9/97Vv//f1sD/4NfB/+LZwv/j2sP/4NjB/9nRvP/VzLn/yMCu/763pf+oopP/pqCS + /4F9cv+2sJ//tK6e/7exoP/Gv63/3dXB/+beyP/a0r7/4NjE/8vEsf/Cu6r/vren/4aBd/+Yk4b/u7Wk + /8W+rf/j2sb/6eHM/+vizf/u5tD/08y5/7u1pP/c1MD/9OvV//Xs1v/17Nb/9ezW//Xs1v/17Nb/va2W + /412Xf+Xgmj/pZF2/7Oghf/BrpH/zrud/9fFpv/dzKv/4c+u/+PRr//k0q//5NKu/+PQrP/iz6r/4c6p + /+HNp//gzKX/38uk/7upiM4AAABTAAAAUQAAAE8AAABMAAAASAAAAEQAAAA+AAAANwAAADAAAAApAAAA + IQAAABoAAAATAAAADgAAAAkAAAAGAAAABAAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/tqKVwbij + /8K5pP/DuqX/xbun/8a8qP/Ivqn/yb+q/8rAq//Lwaz/zcOu/87Er//PxrD/0Mex/9LJs//TyrT/1Mu1 + /9bNtv/Xzrj/2M+5/9nQuv/a0bv/3NO8/93Uvv/e1b//39bA/+HYwf/f1sD/1865/9fPuv++t6X/tK6d + /721pP+4saD/f3tw/7ixoP+jnY//xr+t/8vEsv/i2cT/3NO//+DYw//Xz7z/vrin/6yml/+0rp//ko2B + /6Kcj//Fvq3/0cq3/9/Xw//s487/6+LN/+DYw//Wz7z/2dG9/7q0o//Auaj/ioZ7/7uzo/+po5X/o52Q + /93Vwf/z6tT/9ezW//Xs1v/17Nb/9ezW//Xs1v/UxrD/h29W/5F6YP+dh2v/qpV4/7eihP/Er5D/zrqY + /9bBnv/axqH/3cmi/97Jov/eyqL/3smg/93Hnv/cxp3/3MWb/9vDmf/awpj/aV5KmQAAAFAAAABPAAAA + TQAAAEwAAABJAAAARgAAAEIAAAA+AAAAOAAAADEAAAAqAAAAIwAAABsAAAAVAAAADwAAAAoAAAAHAAAA + BAAAAAMAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAx76pCsW7p/HGvKj/yL6p/8m/qv/KwKv/y8Gt/83Drv/OxK//z8aw + /9DHsf/SybP/08q0/9TLtf/Wzbf/1864/9jPuf/Z0Lr/29K7/9zTvf/d1L7/3dS+/9XMt//SyrX/1cy3 + /8e/rP+popP/oZqM/5SOgf+RjID/saqa/7Wvnv/Evav/29K+/+ffyf/f18L/2dG9/8W+rf/Ty7j/s62d + /6OdkP+Lhnv/qKKU/763pv+8taX/0Mi2/+bdyP/p4Mv/49vG/9fPvP/Xz7z/u7Sk/5SPg//Gv63/h4J4 + /5aRhf/a0r7/y8Oy/+3kzv/m3sn/5dzH/+jfyv/g18P/t7Gg/9zUwP/17Nb/9ezW//Xs1v/17Nb/9ezW + /+ziy/+Da1H/i3NY/5V+Yf+himz/rpd3/7ulgv/Fr4r/zreQ/9O8lP/Wv5b/2cCW/9nAlf/ZwJX/2L+T + /9i+kf/XvZD/1ryO/9K4i/cgHBVaAAAATAAAAEwAAABKAAAASQAAAEgAAABGAAAAQwAAAEEAAAA8AAAA + NwAAADEAAAArAAAAJAAAAB4AAAAXAAAAEQAAAAwAAAAIAAAABQAAAAMAAAABAAAAAQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKwaxSysCs + /8zCrf/Nw67/zsSv/8/GsP/Rx7L/0smz/9PKtP/Uy7X/1s23/9fOuP/Yz7n/2tG6/9rRu//b0rz/0Miz + /9vSvP/IwK3/qaKT/66nl/+ZlIb/kYx//6iilP+sppf/zMSx/6+pmf/Rybf/2NC8/+DYwv/Ty7j/0cm3 + /7awoP/KwrD/s62d/7y1pf+1rp//mpSH/763p//Z0b7/5NvH/+zjzv/a0r//3tXC/764p/+dmIr/raaY + /763pv+JhXr/vLWl/8jBr//c1MD/2NC9/+ffyf/v59H/4NjE/8rDsf+ppJX/o52Q/6mklf+emYv/vren + /+jfyv/QyLb/5dzI//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW/495YP+FbFH/j3ZZ/5mBYv+ljWz/spl1 + /7ykff/FrIP/zLKH/9G2iv/TuIv/1LmK/9S5if/UuIj/07eH/9K2hv/StYT/iXdWrQAAAEkAAABJAAAA + SAAAAEcAAABGAAAARQAAAEQAAABCAAAAQAAAAD0AAAA6AAAANgAAADAAAAArAAAAJQAAAB4AAAAZAAAA + EgAAAA0AAAAJAAAABgAAAAMAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7Fr5nQxrH/0ciy/9LJs//TyrT/1cy1/9bNt//Xzrj/2M+5 + /9bNt//QyLP/0sq1/7myoP+zrJv/wrqo/6uklf+Lhnr/s6yc/6Gbjf+qpJT/trCf/8a/rf/a0r3/3dXA + /9vSvv/Fvqz/sKqa/5uViP/QyLX/jYl9/4mFev+5sqH/vLWk/+XdyP/m3cj/6N/L/+ffyv/Xz7z/sqyc + /8S9rP+TjoL/xb6s/5WQhP+wqZr/vbam/8C5qf/b07//6eDL/+ngy//UzLn/vren/7q0pP+rpZb/mZOH + /9LLuP/PyLX/vLal/8O8q//a0r//597J/+rhzP/Xz7z/qaSV/7u0pP/o38r/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/qJR8/4FoTf+Ib1P/k3la/52EYv+pj2r/tJpy/72id//EqXz/yq5+/82xgP/PsoD/z7J/ + /9Cyf//PsX3/zrB8/8WoduobFxBQAAAARQAAAEUAAABEAAAAQwAAAEIAAABBAAAAQAAAAD8AAAA+AAAA + PAAAADoAAAA3AAAAMwAAAC8AAAAqAAAAJQAAAB8AAAAZAAAAFAAAAA8AAAAKAAAABgAAAAQAAAACAAAA + AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA08q0 + 0tXMtv/Wzbf/1864/9jPuf/PxrH/vbWj/7myoP+popP/kox//4N+c/+fmYv/j4p+/6ullf/Xz7r/1My4 + /97VwP/b0r3/1867/9vTvv+noZL/uLKh/5mUh/+Ig3j/rKWW/7awn/+0rZ7/08y5/+bdyf/m3cj/5d3I + /8vEsv/NxrT/pqCS/8zEsv+alYj/nJeK/8a/rf+oopT/1My5/97Wwv/o38v/4trG/9DItv/Ty7n/zMWz + /5uWif+Uj4P/opyO/7awoP+up5n/ycGw/+Laxf/o4Mv/4NjE/8O8q//Xz73/29O//66nmf+wqZr/t7Gh + /6Kcj/+po5T/0sq4/+7l0P/069X/9ezW//Xs1v/17Nb/9ezW//Xs1v/BsJn/fWRJ/4RqTv+MclT/lnxa + /6KHYf+skWj/tZlt/72hcv/DpnX/yKl2/8urd//LrHb/zKx2/8urdf/KqnT9SD0pcAAAAEEAAABAAAAA + QAAAAD8AAAA/AAAAPgAAAD0AAAA8AAAAOwAAADoAAAA5AAAANwAAADYAAAAzAAAAMAAAAC0AAAAoAAAA + JAAAAB4AAAAZAAAAEwAAAA4AAAAJAAAABgAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANnPugPZ0Ln52tG7/9vSvP/c073/3tW+/5GMf/+Lhnr/pJ2P + /7Krmv/Uy7j/1865/9/Xwf/Y0Lv/ycGu/8W+q/+oopL/tK2d/4uGe/+Qi3//1My4/721pf/Xz7v/4NjD + /9/Wwv/e1sL/ysOx/9XNuv+clon/y8Sx/5mUh/+gm47/rqiZ/7ixof/UzLr/6+PN/+vjzv/j2sb/2NG9 + /+7lz/+0rp7/uLGh/7Otnv+hnI7/nJeK/7Grm//i2sX/3dXB/+Xcx//q4s3/29O//9HKt//Rybf/q6WW + /762pv+Lh3v/mJOG/8jBsP/q4cz/0cq4/+rizP/p4Mv/4trG/8S9rP/IwbD/wLqo/+nhzP/17Nb/9ezW + //Xs1v/17Nb/9ezW/9vOt/97YUf/f2ZK/4dtT/+QdVT/mn5Z/6SIX/+ukWX/t5lp/72fbP/Do27/xqZv + /8inb//Jp3D/yKdv/3ZjQpAAAAA9AAAAPAAAADsAAAA6AAAAOgAAADkAAAA5AAAANwAAADcAAAA2AAAA + NQAAADQAAAAzAAAAMgAAADEAAAAvAAAALAAAACkAAAAlAAAAIQAAABwAAAAXAAAAEQAAAAwAAAAHAAAA + BAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3dS+ + Gt7Vvv/f1sD/4NfB/+HYwv/i2cP/08q2/8C5p/+4saD/2M+6/4mFef+BfHL/s6yd/7Sunv+zrZ3/1s67 + /8/Htf/m3sj/4NjD/+bdyP/Gv63/pqCS/6iilP+/uaj/gHxy/6iilP+Pin7/2tO//9HKt//o4Mv/6+PO + /+DYxP/QyLb/29O//6SekP+WkYX/q6aX/6Kcjv+vqZr/6+PO/9fPvP/l3Mj/6uLM/+HZxP/Du6v/ycKw + /8jBr/+ppJX/ioZ6/7+4p/+jnZD/zMWz/8rDsf/f18P/6+LN/+Tcx//Wzrv/3dXB/8G7qv/OxrT/trCg + /7u1pP/HwK7/rKaX/723pv/a0r//7+bR//Xs1v/17Nb/9ezW//Xs1v/17Nb/8ujS/3xkSv99Y0j/gmhL + /4pvT/+UeFT/noJZ/6eKXv+xkmL/uJlm/76eaf/Comr/xKRs/8akbP5+aUWVAAAAOAAAADcAAAA2AAAA + NQAAADUAAAA0AAAAMwAAADMAAAAxAAAAMQAAADAAAAAvAAAALgAAAC4AAAAtAAAALAAAACoAAAAoAAAA + JgAAACQAAAAhAAAAHAAAABgAAAASAAAADQAAAAkAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADi2cMq49rD/+TbxP/l3Mb/5t3H/+feyf+jnI7/hoJ3 + /5aQhP/Z0b3/ycGv/9bOuv/l3Mf/5t3I/9HJtv+emIv/pJ6Q/7y1pP+Lhnv/uLGh/6yll/++t6f/1c26 + /+rhzP/k3Mf/6eDL/9fPvP/Xz7z/nZiL/4+LgP+9t6b/jol+/5mUh//Syrf/y8Sy/9vTv//o38r/6eDL + /9vTwP+vqZr/qqSW/8a/rf+po5T/n5mM/6Kcj/+wqpv/2tK//9XOu//k28f/4trG/+LZxf/HwK//1c26 + /763p/++t6f/t7Cg/5CMgP+0rp7/0Mm2/+Lax//s487/6eHL/93Vwf/f18P/raeY/6Sfkf/k3Mf/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/k31k/3phRv9+ZUj/hWpL/45zUP+Ye1X/oYNZ/6qMXv+0lGP/u5tn + /8Cgaf/Comr2bFo7ewAAADEAAAAwAAAALwAAAC4AAAAtAAAALQAAACwAAAAsAAAAKwAAACoAAAApAAAA + KAAAACgAAAAnAAAAJwAAACYAAAAlAAAAJAAAACMAAAAhAAAAIAAAAB0AAAAaAAAAFgAAABEAAAAMAAAA + CAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AObdxyvn3sn/6N/K/+ngy//q4cz/6+LN/+feyf/JwbD/zcWz/7ixof+Uj4P/pqCS/7y1pP+3sKD/vLal + /722pv/Syrj/6N/L/+rizf/k28f/08u4/7Cpmv+7tKT/nZiL/4yHfP/Evaz/l5KF/9vTv//IwbD/1c26 + /+ngy//k3Mf/6ODL/8/Itf/Kw7H/npmM/8W+rP+nopT/vLWl/7Grm//Uzbr/6eHM/+beyf/l3cj/1s+8 + /9LKuP/Auaj/p6GT/5qViP+vqZr/raeY/7Grm//f18P/5NvH/+zkzv/r4s3/4dnF/8C5qP/LxLL/sKqb + /8C6qP+rpZb/kIyA/9HJt/+8taX/zse1/+7m0P/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v+tm4P/d15E + /31jR/+DaEr/i29O/5h7VfidgVfdl3xUu29bPpZeTTR2SDwoTxgUDTAAAAAnAAAAJwAAACYAAAAlAAAA + JQAAACQAAAAkAAAAIwAAACIAAAAiAAAAIQAAACEAAAAgAAAAIAAAAB8AAAAeAAAAHQAAAB0AAAAcAAAA + GwAAABoAAAAZAAAAFwAAABQAAAARAAAADgAAAAsAAAAHAAAABAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6uHLIevizf/s487/7eTO/+7lz//v5tD/zcaz + /4yIfP+sppf/2NG9/9HJt//f18L/6ODL/9bOu//e1sL/pZ+S/8fArv9/e3H/t7Cg/6Kcj/+rpZb/tK2e + /+HZxP/m3sn/4trG/+Tbxv/m3sn/0sq3/5yXiv/Buan/mJOH/5CLf//MxLL/zse1/87GtP/g2MT/6+PN + /+jgy//k3Mf/vren/7Sunv/Auaj/oZyO/6Kcj/+alYj/xL2s/9XNuv/Vzbr/5d3I/+/m0f/a0r7/18+9 + /66omf/OxrT/npmM/5aRhf/Evav/mZSH/8G7qf/g2MT/5NzI//Hp0//x6NL/9OvV//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW/9DCqfBxWkCrZVE5ll5MNXY7MCFFGhUPLQ8MCSYAAAAgAAAA + HwAAAB8AAAAeAAAAHgAAAB0AAAAdAAAAHAAAABsAAAAbAAAAGwAAABoAAAAaAAAAGQAAABgAAAAYAAAA + GAAAABcAAAAXAAAAFgAAABUAAAAVAAAAFQAAABQAAAAUAAAAEgAAABEAAAAQAAAADwAAAA0AAAAKAAAA + BwAAAAUAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAADs480G7+bQ+fDn0f/x6NL/8ejS//Lp0//x6NL/3tbC/9rSvv/HwK//npiL/5WQhP+JhHn/pqGT + /7Otnf+5s6P/5d3I/9zUwf/m3sn/49rG/9XNuv/Rybb/lpGF/6Odj/+NiH3/mpWI/8zEsv/Vzbr/wbqq + /+DYxP/r4s3/6uHM/8/Itf+8tqb/vbWl/7Sunv+8taX/ubKi/8nCsf+/uKj/vbem/9zUwf/q4cz/59/K + /+XcyP/DvKv/xr+t/5SPg/+Ig3j/ta+f/6mjlP+qpJX/xb6t/+Laxf/n3sn/6ODK//Tr1f/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/8OfR + 4QMCAhYCAQEXAAAAFwAAABYAAAAWAAAAFgAAABUAAAAVAAAAFQAAABQAAAAUAAAAEwAAABMAAAATAAAA + EgAAABIAAAARAAAAEQAAABEAAAAQAAAAEAAAABAAAAAQAAAADwAAAA8AAAAOAAAADgAAAA4AAAANAAAA + DQAAAAwAAAALAAAACwAAAAoAAAAJAAAACAAAAAYAAAAEAAAAAwAAAAIAAAABAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADy6dPG8+rU//Pq1P/069X/9OvV + /+7l0P+blon/vbem/8fArv/KwrH/5t3I/+ffyv/m3sn/4dnF/9HJt/+qpJb/pJ6R/4qFev+WkYX/l5KG + /9LKt//QyLb/4djE/+rizP/i2sX/1c26/9DJt/+po5X/m5aJ/5WRhP/Sy7j/ko2B/6ullv/Wz7v/29O/ + //Dn0v/q4cz/1s67/97Wwv+vqZr/lI6D/7u1pP+Mh3z/zsa0/6Kcj//PyLX/1M26/97Wwv/q4s3/8+rU + //Tr1f/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/VlNLIQAAAA4AAAANAAAADQAAAA0AAAANAAAA + DQAAAA0AAAAMAAAADAAAAAsAAAALAAAACwAAAAsAAAALAAAACgAAAAoAAAAJAAAACQAAAAkAAAAJAAAA + CAAAAAgAAAAIAAAACAAAAAgAAAAIAAAABwAAAAcAAAAHAAAABwAAAAYAAAAGAAAABQAAAAUAAAAEAAAA + AwAAAAIAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAPTr1Y717Nb/9ezW//Xs1v/17Nb/9ezW/+Laxv+9t6b/ysOx/5OOgv+4saH/mJOG + /6agkv+yrJz/18+8/9TMuv/e1sP/6uHM/+bdyP/Syrj/2dG+/8e/rv+Uj4P/ta+f/5OOgv+gmo3/yMGv + /8vEsv/a0r7/597J/+vizf/X0L3/29O//6agkv+7taT/n5qN/8S8q/+ZlIf/wbqp/87HtP/NxrT/6uLN + /+vizP/y6dP/9OvV//Tr1f/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Tr1f/z6tT/8ejS/+7l0P/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v+jnI1RTEc/Bz05MgcrJyEGFxQQBwsJBgYIBwQGBgUDBgkHBQYLCQUGBwUDBgQDAgYCAQEGAQAA + BQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAMAAAADAAAA + AwAAAAMAAAADAAAAAwAAAAIAAAACAAAAAgAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8+rUV/Xs1v/17Nb/9ezW + //Xs1v/17Nb/wruq/5aRhf/HwK7/z8e1/+HZxP/n3sn/49vG/+jfy//MxLL/xL2s/7Cqm/+5s6P/raaY + /5eShv+9tqb/49vG/9fQvf/s48//2tK//9nRvv/Cu6r/wbqp/7mzov+OiX7/zse0/5qViP/Fvaz/ta+f + /9jRvv/k3Mf/8unT//Tr1f/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Tr1f/v5tH/6uLM/+3kz//Cu6r/ycGw + /62nmP+sppj/pZ+R//Pq1P/17Nb/9ezW//Xs1v/17Nb/9ezW/+DXw4SdlocDf3lsA1dTSQMoJSADCAcF + AwMCAQIBAQACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAABAAAA + AQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD069Uh9ezW//Xs1v/17Nb/9ezW//Xs1v/w6NL/z8i2/6mklf+0rZ7/zMSz + /3x4bv+SjoL/zse0/8nCsP/Xz7z/5dzH/+ngy//k28f/2tO//97Wwv+alYj/m5aJ/6ehk/+2r5//npmM + /62nmP++t6b/59/J/+XdyP/z6tT/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Pq1P/s5M7/1c67 + /9XNuv+3saH/vbal/5qVif+zrZ3/3dXB/5iShv/KwrH/18+8/9zUwf/q4cz/8+rU//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9OvVubCpmQGUj4IBbmpgATg1MAEICAcBAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17Nbq9ezW + //Xs1v/17Nb/9ezW/+vizf+po5T/sqyc/8jBsP/o38v/4NjD/+rhzP/Z0b7/39fD/6qklv+FgXb/rKeY + /6qllv+inI//z8i1/8G6qf/e1sL/6eDL//Tr1f/z6tX/9OvV//Tr1f/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/069X/8OfS + /+feyf/Y0L3/3NTA/8W+rf+rpZb/ubKj/87Gtf9/fHH/ysKw/764p//Syrj/4tnF/+3kz//l3cj/3tXC + /9TNuv+emYz/qqSV/7KsnP/j28b/9ezW//Xs1v/17Nb/9ezW//Xs1v/17NbvzMWyAQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1rT17Nb/9ezW//Xs1v/17Nb/9OvV/9XOu/+qpJX/w7yr + /5SPg/+RjIH/sqyc/7mzov/Vzrr/yMGw/9zTwP/p4Mv/8ejT//Pq1P/069X/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9OvV + //Pq1P/y6tT/6eHM/+feyf/HwK7/t7Gh/8rDsP+Yk4b/iYV6/5SPg//Auaj/0cq3/9XNuv/p4cz/7uXR + /+jfyv/a0r7/tK6e/8W+rf+yrJz/wLmo/7u1pP/Hv67/2tG+/9HKt//UzLn/5dzI//Ho0v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/w59EpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezW + ffXs1v/17Nb/9ezW//Xs1v/17Nb/t7Gh/6+qmv/Px7X/5d3I/+XcyP/y6dT/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/069X/7uXQ/+3lz//g2MT/ysOx/8/Htf/z6tT/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Lp0//s5M7/7uXQ/83GtP+5s6L/ta6f/6Gbjv+hnI7/sKma/6qklv+7taT/49rG + /+Pbxv/n38r/4dnF/9jRvf/LxLL/qaSV/8vDsf+2sKD/wLmo/8nBsP+wqpr/ycKw/+Paxv/m3sn/7OPO + /9bPvP/Buqr/08y5/5GNgf+OiX3/39bC//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Tr1V8AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NZH9ezW//Xs1v/17Nb/9ezW//Xs1v/069X/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/069X/7+bR/+XdyP/Wzrz/xL2s/763p/+knpD/lZCE + /46Kfv+knpD/sqyc//Ho0//17Nb/7+bR/+zkz//Z0b7/ycKw/7iyov/OxrT/mpWI/6+pmv/QyLX/u7Wl + /7qzo//k3Mf/3dXC/+3kz//g2MP/1My5/7u1pf+7taT/sKqb/5iTh/+dmIv/w7yr/7+4p//TzLn/6uLN + /+zkz//i2sX/2NG9/9PLuP+gmoz/raeY/7Otnf+5sqL/wLmo/6+pmv/g2MT/29O//+LZxf/n38n/8+rU + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezWlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + APXs1hH17Nb+9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Do0v/w6NL/6N/K/9rSvv/JwrH/1c27 + /7Cqm/+VkIT/npmM/52Yi/+uqJj/v7io/+Pbxv/j28b/597J/9/Xw//Buqn/x8Cu/9LKt/+ln5H/mpSI + /6Cbjf+0rZ7/x8Cv/+Tbx//m3sn/7uXQ/+jfyv/d1cH/2NC9/6qklv+VkIT/s6yd/6ull/+3sKH/urSk + /9zUwP/r4s3/5dzH/+Paxv/l3Mj/yMGv/7q0o/+blon/xr+t/6ehk/+dmIr/2NG9/763p//Z0b7/6+LN + /9/Xw//c1MD/yMGw/7KrnP/b07//vLWl/6Cbjf/k3Mf/9ezW//Xs1v/17Nb/9ezW//Xs1v/17NbNAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1tj17Nb/9ezW//Xs1v/17Nb/8+rU + /7Sunv+ln5H/qKOU/42Jff+up5n/raeY/7ixof/X0Lz/5NzH/+XdyP/m3cn/4NjD/7u1pP/b07//oZuO + /42Jff+VkIT/mpWI/7ixov/Z0b7/39fD/+vizf/l3cj/39fD/+feyv+vqZn/npiL/7Cpmv+inY//xsCt + /8jAr//b07//3dXC/9nRvv/l3Mj/6eHM/9TMuv/b07//oJqN/7Wvn/+JhXn/hYF3/7exof/IwbD/wruq + /+Xcx//p4cv/6eDL/9nRvv/Gv67/7eTO/62nmP+dmIv/jYl9/6mjlP/Cu6r/z8i1/+bdyf/w59L/7+bR + //Pq1P/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1vr17NYJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA9ezWovXs1v/17Nb/9ezW//Xs1v/z6tT/uLKi/8K7qv/h2MT/5t3I/+jgy//PyLb/t7Cg + /8W+rf+FgXb/tK6e/763p/+/uKf/uLKi/97Vwf/a0r//5NzH/+bdyP/m3cj/zMSy/7awoP++t6b/l5KF + /5KOgf+blon/3NS//7Sunv/LxLL/6N/K/+jfyv/m3cj/39bC/7mzov/Iwa//m5aJ/4B8c/+9tqb/mZSH + /9rTv//Lw7L/4NjE/+vizf/m3sn/1My5/7y1pf/QyLb/lI+D/4+Kf/+po5X/rKWX/7mzo//p4Mv/4trG + /+ffyf/s5M7/8+rU//Tr1f/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1jwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NZs9ezW//Xs1v/17Nb/9ezW + //Xs1v/q4cz/ta+f/5SPg/+dmIv/paCS/6ullv+yrJz/18+9/9TNuv/p4cz/6ODL/+rhzP/Vzbv/sqyd + /722pf/Fvqz/i4d7/722pv+vqZn/vbam/9vUwP/j28b/6N/L/9/Wwv/j28b/urSk/8a/rv+Lhnv/saqb + /52Xi//Ryrf/ubOj/9LLuP/l3Mj/49vG/+ffyf/c1MD/2NC9/6Sfkf+Mh3z/vLal/7iyof+blon/raiY + /9LKuP/d1cH/5d3I/+/n0f/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezWcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAPXs1jX17Nb/9ezW//Xs1v/17Nb/9ezW/97Vwv+8taX/1s+8/+Laxv/o38r/1s67 + /8rCsf/Vzbv/u7Sk/6+pmv+1rp//s62e/8S9rP+8taX/0sq4/+ffyv/g2MP/5NzH/8jBr/+8taX/qaOV + /6OdkP+6s6T/kYyA/9fQvP+7tKT/18+8/9vSv//i2sb/4NfD/9XNuv/NxrT/sKqb/7y1pf/d1cH/o52P + /763pv/Ox7X/y8Sz/9rSv//n38r/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17NaqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWBvXs1vf17Nb/9ezW + //Xs1v/17Nb/7+bQ/7awoP+JhXr/mJKG/9LLuP+FgXb/pJ+R/93Vwf/h2MT/59/K/93Uwf/l3cj/1M26 + /763p//Qybb/iYV6/5aRhf+oopT/08u5/722pv/Syrf/2NC9/+nhzP/b08D/1s67/8rCsP+oopT/l5KG + /763pv+JhXr/pJ6Q/8S9rP/PyLX/4tnF//Tr1f/w59L/9OvV//Tr1f/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/069X/8+rU + /+3lz//s487/5d3I/+/n0f/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1uEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWxvXs1v/17Nb/9ezW//Xs1v/w6NL/yMCv/9LKuP/h2MT/2dG+ + /93Uwf/c08D/xb6t/9HJtv+alIj/h4J4/6ullv/DvKv/wLmo/+DYxP/e1sL/3dXC/+XdyP/Evaz/vrin + /7u1pP+qpJX/s6yd/4J+c/+alYj/ysOx/8a/rv/UzLn/7uXQ//Pq1f/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Tr1f/y6dT/8ejT/+Paxv/Qybb/v7in/8a/rv/069X/9ezW//Xs1v/17Nb/9ezW + //Xs1v/069X/9OvV/+rhzP/n38r/0sq4/8jBr//Gv63/j4p+/5WQg/+yq5z/4NfD//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1hgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NaQ9ezW + //Xs1v/17Nb/9ezW//Xs1v/JwbD/i4d7/62nmP+knpD/l5KG/8K8qv/Xz7z/5NzI/+ffyf/g2MT/3dTB + /8O8q//b07//pqCS/5SPg/+BfXP/wLmo/6Kcj//Buqn/2dG+/9bOu//w6NL/8ejT//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9OvV//Pq1P/t5M//6eDL/9nRvf/Uzbr/r6iZ/5qViP+/uKj/nJeK + /5eShv+qpJb/zca0//Pq1P/y6dP/7uXQ/+DYxP/Wz7z/xb6t/46Jfv+noZP/raeY/722pf/MxbP/2dG+ + /+beyf/l3cj/3tbC/97Vwv/u5tD/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezWTwAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1lr17Nb/9ezW//Xs1v/17Nb/9ezW/9bOu//Vzbr/5t3I + /+vjzv/c1MH/urOj/66omf+oopT/oZuO/4R/df+9tqX/kIt//9DItv/Lw7L/3dTB/+ffyv/z6tX/9OvV + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9OvV//Pq1P/i2sb/29PA/+DYw/+7tKT/nZeK + /7KsnP+WkYT/sqyc/7qzpP/Ox7T/1My5/+nhzP/q4sz/4NfE/8zFs//Fvq3/q6WW/5iThv/HwK7/vrem + /87HtP/c1MD/0Mi3/93Vwf/q4cz/4NjE/97Wwv/DvKv/mJOH/8jArv+JhHr/jId8/9zUwP/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17NaHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezW + I/Xs1v/17Nb/9ezW//Xs1v/17Nb/4trG/5yXiv+zrJ3/mpWI/4iDef+po5X/u7Sk/9PLuP/e1sL/6uHM + //Pq1P/069X/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Tr1f/z6tT/8urU/+HZxP/Z0b3/v7in + /7Grm/+hm47/wrup/5+ZjP+5sqL/18+8/9nRvv/Rybf/6ODK/+TcyP/p4Mv/zMWz/7iyov+ZlYj/rKaX + /6+pmv+clon/s62d/9fPvP/Wzrz/59/K/+Tcx//q4cz/z8e1/7exof/JwrD/gn5z/5mUh//Cu6r/vLWk + /9nRvv/QyLb/59/K/+vizf/j28b/1s67/+7l0P/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1r0AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezW6/Xs1v/17Nb/9ezW//Xs1v/q4cz/ycKw + /+Laxf/q4sz/8OfS//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/8unT//Tr1f/n3sn/2tK/ + /9fPvP/Fvq3/pJ6Q/7myov/Auaj/s62d/56ZjP+8tqX/y8Sy/97Wwv/q4cz/59/K/9/Xw//Z0b3/ysOx + /8nCsP+jnpD/iIR5/7Osnf/Cu6r/0Mm2/9fPvP/k3Mf/6+PN/9rRvv/Gv67/0Mi2/7Otnf+Yk4f/n5mM + /8S9rP++uKf/ubKi/+feyf/b07//5dzH/9/Xw//MxLP/xLyr/7Wunv+emYz/y8Sy/83Fs/+xqpv/49vG + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW8vXs1gIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAD17Na19ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/y6tT/9ezW + /+Pbxv/o38r/3dXB/9DJtv+Zk4f/zMWz/52Xi/+TjoL/op2P/66nmP/Ty7n/6ODL/+jfyv/j28b/18+8 + /8K7qv/g2MP/k46C/4qFe/+wqpv/pqCS/9nRvv/b07//6N/K/+zjzv/e1sL/1c27/9zUwP+xq5v/08u4 + /4N/df+tp5j/lI+D/5uViP/Iwa//4dnF/9zUwP/n38r/29O//9jQvf/Cu6r/qqSW/+Tbx/+uqJn/pZ+R + /6Kdj/++uKf/29PA/+XcyP/o38r/0Mm3/9zUwP/w6NL/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + LQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1n717Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/7eTP/+Tbxv/Vzbr/rqmZ/5iThv+zrJ3/gn50/6+omf/Syrf/0Mm3/9nSvv/p4Mv/6+LN + /+ngy//Uzbr/2NC9/6+pmv+Zk4f/sKqb/5uWif+clon/tq+f/+Tcx//Wzrv/49rG/+LZxf/k3Mf/yMGv + /9LKt/+emYz/sKqb/6Kcjv+Hgnj/x7+u/7u0pP/k28f/49rG/+LZxP/r4s3/29O//7exof+hm47/urSj + /5OPg/+Uj4P/s62e/8jBr//Wzrz/6uHM/+HZxf/t5M//3NPA/9jQvf+0rp7/wLmo/5GMgP+Pin//wbuq + /+/m0f/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17NZjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA9ezWSPXs1v/17Nb/9ezW//Xs1v/17Nb/49vH/56Yi/+KhXr/nZeL/6+pmv/Kw7H/0Mm2 + /+jgy//p4Mv/6ODL/9vUwP/Xz7z/v7io/5iThv+jnZD/zse0/5eShf/MxbP/zse1/9jQvf/n38r/59/K + /+Pbxv/Auaj/2tK+/56Yi/+zrJ3/h4N4/7Cqm/+yrJz/4NfD/9fPvP/h2cX/7uXP/+rhzP/Vzbv/yMGv + /8W+rP+TjoL/hIB2/7Ksnf/LxLL/u7Sk/8/Itv/i2sb/7OPP/+LZxf/m3sn/wruq/8W+rP+JhXr/jId8 + /8jBr//Ryrf/wbmp/9nRvv/p4cz/6uLM/+Tcx//e1sL/ycKw//Ho0v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1pkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NYT9ezW/vXs1v/17Nb/9ezW + //Xs1v/q4cz/1s67/+Paxf/l3cj/5t7J/7Wvn/+noZP/yMGv/7Otnf+sppf/yMGv/7+4p//c1MH/2NG9 + /+Laxf/c1cH/z8i1/87GtP+9tqb/l5KF/5uWif+Qi3//ysKw/62nl//i2sb/2NG9/+XdyP/m3cj/49vH + /8a/rf+2sKD/ubKi/5+ajP+uqJn/597K/7ewoP/TzLn/4NjD/+Laxf/e1cH/5t3I/9rSvv/DvKv/q6WW + /8a/rf+emIv/rKWX/8bArv+/uaj/4dnF/9zUwP/q4cz/6eHM/9HKt//Px7X/4NjE/5OOgv+ooZT/raeY + /6ull//Gv63/7eTO//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW0QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD17Nbb9ezW//Xs1v/17Nb/9ezW/+7m0P+gm43/fXlv/4+Kf//d1cH/o56Q + /8O8q//p4Mv/7eXP/+bdyf/DvKv/zsa1/8G6qf+emIv/xL2r/4qGe/+ln5H/u7Sk/+Tbx//Xz7z/5d3I + /+XdyP/e1sL/wbqp/7avoP+7tKT/k46C/4qGe//Iwa//pJ+R/8O8q//a0r//597J/+rizf/NxrT/0sq3 + /9DJtv+/t6f/lZCE/4qFev+hm47/wbqp/7y2pf/NxbT/6eDL/+jgy//g2MT/3dXB/+Paxv+WkYT/urOj + /5qViP+rpZb/saub/9LKuP/o38r/39fD/+rhzP/f18P/3dXB/9TNuv/n3sr/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb89ezWDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1qT17Nb/9ezW + //Xs1v/17Nb/9OvV/+HZxf/f18P/6+LN/8a/rv/DvKv/w7yr/7ewoP/Fvqz/nZeK/5yXiv+6tKP/29PA + /9jRvf/n3sn/49vG/8rDsf/X0Lz/rKWX/6CajP+2r5//lpGE/8fArv+jnY//t7Cg/+Tbxv/j28b/6uLN + /+DXw//h2cX/wruq/8jBr/+yrJ3/op2P/5CLf/+9t6b/2NC9/9vTv//l3cj/6uHM/+zkzv/Sy7j/ubKi + /6Wfkf+yrJ3/urOj/5yXiv/Fvq3/5t7J/8K7qv/n3sn/5t3I/+vjzv/d1cH/2NC9/8O8q/+5sqL/wrqq + /5aRhf+alIj/wruq/+Paxv/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17NY/AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWbfXs1v/17Nb/9ezW//Xs1v/17Nb/wLqp/356cP+kn5H/v7in + /7KrnP/Vzbr/6N/K/+rizf/p4Mv/ycKw/9LLuP+blYj/zsa0/5SPg/+SjoL/lpGF/9LKuP/HwK//29O/ + /+nhzP/o4Mv/3tbC/8a/rv/c1MD/l5KG/5+ZjP/Fvqz/sauc/8G5qf+9tqb/4trG/+TcyP/n3sn/4dnE + /9bOu//Fvq3/urOj/6Gbjv+IhHn/v7in/7Osnf+3sKD/ysKx/+LZxf/s487/4dnE/+XdyP/OxrT/ycKw + /722pv+AfHL/nZeK/7myov/HwK//4NjE/+ffyf/q4cz/7eTP/9LKuP+/uKj/5NzH//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1ncAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NY39ezW + //Xs1v/17Nb/9ezW//Xs1v/p4Mv/6N/K/+rhzP/b07//v7mo/5+ajP+Xkob/mJKG/6Cbjf+Uj4P/1My6 + /7u0pP/h2MT/49rG/+beyf/Z0b7/wrur/7avn/+VkYT/nJeK/8fArv+2r5//m5aJ/9TMuf/Syrj/4NjE + /+ngy//r4s3/zcW0/8W+rf/Qybb/t7Gg/4qFev+9t6b/pJ6Q/8rCsf/Ryrf/5dzI/+Laxf/l3cj/2tK/ + /8O8q/+uqJn/ta+f/5aRhf+blon/zMSy/87GtP/e1sL/6uHM/+bdyP/g18P/29PA/9TMuf/Evav/ubKi + /4iDeP/Auaj/nZeK/52Xiv/c1MD/9OvV//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezWrgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1gb17Nb59ezW//Xs1v/17Nb/9ezW/+Pbxv+Mh3z/rqiZ + /6yll/+knpH/zMWz/9nSvv/r4s3/7eTP/9/Xw//HwK//vbem/5uVif+Pi3//jYl9/7+4p/+vqZn/w7yr + /93Vwf/g2MP/6eDL/+rizf/X0Lz/vrem/6iilP+gm43/mZSI/764pv+1r5//zMWz/+Paxv/r4s3/5NzH + /97Wwv/Px7X/2NC9/7Otnv+loJL/ioV6/6qklv+7tKT/ta+f/87GtP/l3cj/5t3J/+jfyv/Uzbr/3NTA + /7qzo/+ZlIj/xr+t/4N/df+ZlIf/1My6/8fAr//o4Mv/4trF/+3kz//z6tT/8+rU//Tr1f/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17NbkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + APXs1sn17Nb/9ezW//Xs1v/17Nb/8ejT/+Laxf/h2cT/29TA/7y1pf/JwrD/qqSW/6Cbjv+3sKD/vren + /7Cqm//Gv67/0su4/9/Xwv/p4Mv/2tK//8C6qf+8taX/pqCS/5eShv+1r5//urSk/8zFs/+1r5//19C9 + /9/Xwv/m3sn/29O//9rSvv/DvKv/zcWz/7myo//Cu6r/sKqb/5eShf/Buqn/18+8/+LZxf/o4Mr/3NTA + /+DXw/+9tqb/opyO/7ewof+0rZ7/jYh9/7KsnP/HwK7/0su4/87GtP/r483/7eTP//Lp0//17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17NYcAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWkvXs1v/17Nb/9ezW//Xs1v/069X/o52Q + /4B8cv+wqpv/qKKU/87Htf/b07//4NjD/+beyf/NxrT/08u4/9PLuf++t6b/kYyA/8a/rf+oopT/raeX + /763pv/NxbT/5NvG/+ngy//k3Mf/zMSy/7q0o/+jnZD/2dK+/4mFev+Mh3z/vbal/7y1pP/m3sn/5t7J + /+rhzP/q4cz/1c67/7iyov/KwrH/ko6C/8zEsv+NiH3/saub/7Otnf+5sqL/1c26/+vizf/s487/9OvV + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1lQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAD17NZc9ezW//Xs1v/17Nb/9ezW//Xs1v/p4cz/59/K/9jQvf/Ty7j/wbqp/6Cajf+OiX7/sauc + /5SPg/+7taT/49vG/+HZxf/q4cz/59/K/+beyf/i2sb/saub/8O8qv+ZlIj/jYh9/7KrnP+0rp7/ta6f + /9TMuv/q4cz/5t7J/+ngy//MxbP/1My6/6ullv/Kw7H/lpGF/6Sfkf+9t6b/p6GT/9bOu//Y0L3/6uHM + //Lp0//y6dP/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/069X/9OvV//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + igAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1iX17Nb/9ezW//Xs1v/17Nb/9ezW + /+Pbx/+Yk4b/lI+D/6+pmv/Auaj/4dnF/+Xcx//v5tD/5t7J/9fQvP/NxrP/urOk/7Wun/+NiX3/mpWI + /9nRvf+5s6P/3NTA/+DYxP/k28f/4djE/9LLuf/Wzrv/npmM/9DJtv+VkIP/qqSV/6Gbjv+6s6P/z8e1 + /+jgy//p4Mv/7OTO//Tr1f/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/8+rU//Ho0v/p4Mv/4trF/9XNu/+qpJX/urSj + /7qzo//u5dD/9ezW//Xs1v/17Nb/9ezW//Xs1v/17NbBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAPXs1u317Nb/9ezW//Xs1v/17Nb/8ejS/+Laxf/PyLb/y8Ox/+LZxf+QjID/jId8 + /8K6qv+5sqL/ubOi/9vSv//Vzbr/6uLM/+XdyP/q4s3/xr+u/6+pmv+wqpr/u7Wl/4SAdv+jnZD/k46C + /9nQvf/Kw7H/6ODL/+zjzf/w59L/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/069X/8ejS/+vjzf/Y0Lz/xb6t + /9HKt/+zrZ3/yMCv/7ixof/Gv63/0cq3/8G7qv/Ryrf/597J//Pq1P/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1vT17NYDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWt/Xs1v/17Nb/9ezW + //Xs1v/x6NL/n5qM/4qFev+fmoz/5d3I/8rCsf/e1sL/7eTP/+7l0P/UzLr/opyO/7Cqmv+5sqL/kIt/ + /764p/+knpD/vrem/9XNu//u5dD/7eTP//Lp0//y6dT/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Tr1f/x6NL/59/K + /9jRvf/UzLn/ubKi/8nBr/+4sqL/wruq/7mzov+knpD/xr+u/93Vwf/n38r/6+PO/9rSv//MxbP/zse0 + /5OOgv+gm43/6N/K//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1jAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD17NaB9ezW//Xs1v/17Nb/9ezW//Xs1v/v5tH/0cm3/9nRvv+2sKD/n5mM + /62nmP+3saH/wLmo/7exoP++t6b/08u5/+ngy//r487/8unU//Tr1f/069X/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/069X/9OvV + //Dn0v/k3Mf/1M26/8jAr//Auan/sKqb/6Cajf+blon/tK6e/8K7qv/Gv67/6eHL/+zjzv/k3Mf/5NzH + /8zEsv+inI7/x8Gv/5yXiv/HwK7/r6iZ/6eik//c1MD/y8Sz/+DYxP/t5c//9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezWZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1kr17Nb/9ezW + //Xs1v/17Nb/9ezW/8a/rv+NiHz/saqb/9bOvP/Kw7H/5NzH//Ho0//069X/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Lp0//y6dT/7OPO/+Tcx/+/uKf/7OPO//Xs1v/17Nb/9ezW//Xs1v/17Nb/9OvV + //Tr1f/x6NL/8ejT/+nhy//g2MP/1868/6SekP+noZP/tK6e/6Odj/+rpZb/sKqa/9XNuv/k3Mf/4trG + /+jgyv/q4cz/wbqp/8nCsf+cl4r/yMGv/5aRhf+nopP/yMCv/6+pmv/c1MD/597K/+Laxv/j2sb/0Mm3 + /722pf/p4Mv/p6GT/6iilP/y6dP/9ezW//Xs1v/17Nb/9ezW//Xs1v/17NaeAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWFPXs1v717Nb/9ezW//Xs1v/17Nb/8unT//Pq1P/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/069X/8ejT//Pq1P/t5M7/3NTA/8zEs//X0Lz/m5aJ/5iShv+RjID/mZSH + /7Grm//r483/9ezW//Pq1P/r483/6eDL/97Wwv+zrZ3/rKaX/6ehk/+2r5//vLWl/8O8q//X0L3/z8e1 + /9LKuP/l3Mj/6eHL/97Wwv/Ty7j/qqSV/7Otnf+BfXP/hoF3/7+4p/+vqZr/w7yq/9bPvP/t5M//6eDL + /97Wwv/Wzrv/6+PN/6+pmv+VkIT/jYl9/6ull/+3saD/xL2s/+rizf/o38r/7OPO//Pq1f/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1tUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezW + 3PXs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/8unT/+beyf/Sy7j/v7io/8W+rf+JhHn/y8Sy + /7GrnP+2r6D/sqyc/9fPvP/UzLr/39bD/+ffyv/n38r/0cm3/8G7qv++t6b/kY2B/5OOg/+emYv/0cq3 + /6Wgkf/Fvq3/49vG/+Tbx//s487/4NfD/7+5qP/Vzbr/kYyA/4WBdv+2r6D/l5KF/9TMuf+7tKT/4NjE + /+DXw//l3cj/3dXB/8nBsP/Vzbv/mZOH/5WQhP+sppj/o56Q/7q0o//t5M//2dG+/+LZxf/k28f/6+LN + /9TMuv/PyLX/mpWI/46Kfv/Fvaz/8enT//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW/PXs1g8AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17Nam9ezW//Xs1v/17Nb/9ezW//Xs1v/j28f/ta6e + /6Cbjv+emIv/qqSW/5qViP+sppf/zMWz/8/Htf/o4Mv/6eHL/+3kzv/X0L3/vbem/9HKt/+xq5z/ko6C + /7Sunv+fmYz/tK6e/9jQvf/Z0b7/5NzI/+rhzP/h2cX/xL2s/8vEsv+Qi4D/rqeZ/6iilP/Evav/pqCS + /9jQvf/Y0L3/3tfD/+zjzv/h2MT/2tK+/6yml/+VkIT/zcaz/6ehk/+VkIT/pZ+R/9fQvP/OxrT/4NjD + /+ffyv/l3Mj/18+8/6Gcjv+jnY//4NjD/6Gbjv/HwK7/squb/9bOvP/Px7X/5dzI/+zjzv/r4s3/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezWQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + APXs1m/17Nb/9ezW//Xs1v/17Nb/9ezW/8nCsP+yq5z/zse1/9jQvf/n38r/39fD/9fPvP/a0r//vLWl + /7+4qP+hm47/wbqp/7OsnP+qpJX/0cm3/+jfyv/i2sX/6uLM/8rDsf/PyLX/pZ+R/722pf+oo5X/l5KG + /8/Itf+rppf/2NC9/8zEsv/l3Mj/5dzI/+DYw//TzLn/uLGh/9TMuf/JwbD/qaOV/7Wun//LxLL/v7io + /8/Itf/n3sr/6uLN/9zUwP/a0r//yMCv/8a/rv+dmIv/w7yr/62omf+/uaj/ubKi/9vSv//t5M//6N/L + /+Paxv/n3sr/tK6f/8K7qv+fmoz/qaOV/7Cqm//17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17NZ7AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWOfXs1v/17Nb/9ezW//Xs1v/17Nb/6eHM + /7ixof+WkYX/ta+f/7u1pP99eW//p6GT/9rRvv/X0Lz/5NvH/+Pbx//p4cz/1c26/87Htf/Ox7T/h4J4 + /5iShv+tppj/vLWl/7Wvn/+/uKj/2NC9/+jgy//g2MT/5dzI/8nBsP+vqJr/sKqa/66omf+Lhnv/pJ+R + /764p//Kw7H/5NvH/+jgy//s487/4tnF/9bOu/+ln5H/kYyA/7Stnv+inI//l5KG/6+pmv/Ty7n/1c26 + /+Laxf/s5M//4trG/8zEs//NxrT/rKaX/7KsnP+alYj/vram/+HZxf+rpZb/39fD/+Tcx//p4Mv/7eTP + //Pq1f/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1rEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAD17NYI9ezW+fXs1v/17Nb/9ezW//Xs1v/o38r/trCg/8jBr//a0r7/4dnE/9/Yw//k3Mf/ycKw + /9TNuf+XkYX/hIB1/7myov+vqZr/trCg/93Uwf/Xz7z/5dzI/+vizf/Kw7H/1s67/7KsnP/Gvq3/nZeK + /3x4bv+po5X/vLWl/8O8q//UzLn/7uXP/+bdyP/p4cz/1My5/9LKt/+fmoz/gn5z/7GrnP+wqZr/ycKw + /8K7qv/a0r7/5t3J/+zjzv/i2sX/0cq3/9jQvf+3saH/qaOV/7y1pP/Gv67/l5KG/9jQvf/PyLX/49vG + /+jgy//r4s3/2tK//9LKuP/EvKv/jId8/6SekP+0rp7/6uHM//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + 6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NbL9ezW//Xs1v/17Nb/9ezW + //Pq1P+8taX/l5KF/763pv+Oin7/mJOH/8W+rf/JwrH/4dnE/9vSv//k3Mf/3dXB/9bOu//a07//sKma + /5WQhP+JhXr/u7Sj/5eShf/Evaz/ycGw/9bOu//s487/59/K/+feyv/Evaz/0Mm2/87HtP+cl4r/uLKi + /6mjlf+/uKf/1s67/9XNuv/i2cX/7+bQ/9/Ww//h2cT/sqyc/6yml/+/uaj/k46C/4+Kf/+kn5H/0cq3 + /9vTwP/l3cj/7OPO/+beyf/g2MT/w7yr/6Cajf+6s6P/qaOV/8a+rf/DvKr/08u5/+Laxf/d1cH/49vG + //Dn0v/069X/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9OvVIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAPXs1pT17Nb/9ezW//Xs1v/17Nb/8+rU/7+4qP/NxbP/49vG/+vjzf/j28b/xr6t + /7u1pP+9t6b/m5aJ/5iThv+ln5H/j4p//87GtP/Evaz/1c26/+Paxv/q4s3/08u5/7+4p//Gv67/1My5 + /5eRhf+Khnv/ycGv/5mUiP/MxbP/4trF/+Laxf/i2sb/4NjE/+jgy/+3sKD/sqyd/6iilP+hnI//pJ6Q + /8G6qf+5sqL/1My6/+vizf/s487/6N/K/9XNuv/CvKr/v7mo/5yXiv/Fvq3/urOj/8jBr//Qybb/wrur + /9bOvP/q4cz/7+fR//Tr1f/069X/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/069X/9OvV + //Tr1f/z6tRXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWXfXs1v/17Nb/9ezW + //Xs1v/17Nb/2NG9/6+pmv+5s6L/ko2B/4+Kfv+dl4r/vbam/8zFs//Y0b3/5d3I/+beyf/Z0b3/x8Cv + /66omf+4saH/l5KG/52Yi/+blYn/vLWk/83Fs//o4Mv/5NvH/+Laxf/l3cj/zMWz/7y1pf+uqJn/ycKw + /5aRhf+6s6P/3NTA/8K7qv/TzLn/5d3I/+XdyP/q4cz/0sq4/7+4p/+moJL/rqia/6mjlf+blYj/qaOV + /8zFs//Rybb/3dXC/+7l0P/y6dP/9OvV//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9OvV//Tr1f/069X/8+rU//Pq1P/z6tT/8unU//Lp044AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD17NYn9ezW//Xs1v/17Nb/9ezW//Xs1v/Z0b7/ycGw/+DXxP/f18L/5d3J + /9zUwP/Qybb/vbem/9HJt/+noZP/lpGF/6agkv+zrZ3/w7ur/9bPu//k3Mf/5d3I/9/Xwv/Ty7n/rKaX + /7u0pP/Vzbr/m5aJ/6iilP+rppb/ycGw/9nRvv/q4cz/5NvH/+jfyv/a0r//0Mm3/8zFsv+Uj4P/ko2B + /7Otnv+2sKD/w7yr/8vDsv/m3cn/8OfS//Lp0//17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Tr1f/069X/9OvV//Pq1P/z6tT/8+rU//Lp1P/y6dP/8unT + //Ho0v/x6NL/8ejSxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1gH17Nbu9ezW + //Xs1v/17Nb/9ezW/+/m0f+cl4r/n5mM/52Yi/+Zk4f/s6yd/8O8q//Evaz/5NvH/+LZxf/q4cz/3dXC + /8zEsv+uqJn/zsa0/5WQhP+RjID/m5WJ/6ull//Qybb/4trF/+rhzP/m3sn/3dXB/9PMuf/Xz7z/lpGF + /5GMgf+oopT/rqiZ/8rDsf/Syrj/49rG/+XdyP/l3Mf/8OfS//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/069X/9OvV//Tr1f/z6tT/8+rU + //Lp0//t5c//6+PN/+Tcx//s487/8ejS//Ho0v/w59H/8OfR/+/m0f/v5tD27+bQBQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1rn17Nb/9ezW//Xs1v/17Nb/7+fR/8W+rf/Y0L3/6uHM + /+ffyv/a0r//urOj/6SekP+2sKD/fnpw/8K7qv/Buqn/y8Sy/87Htf/n3sn/6ODL/+ffyv/d1MH/2dG+ + /7Otnf+ln5H/sauc/42Iff+Yk4b/q6WW/9/Xw//Evaz/2tK//+zjzv/w59L/9OvV//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Pq1P/o38r/1s67/8W+rf/HwK7/8+rU//Xs1v/069X/9OvV + //Tr1f/z6tT/8ejT//Pq1P/q4cz/5t7J/9PMuf/IwK//xr6t/5CLf/+TjoL/raaY/9nRvf/v5tH/7+bQ + /+/m0P/u5c//7uXP/+3kz//t5M40AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezW + g/Xs1v/17Nb/9ezW//Xs1v/17Nb/3dXB/52Yi/+Lh3v/l5KF/7Osnf+7tKT/y8Oy/+Laxf/k28f/7OPO + /9rSv//g2MT/wLmo/5eShv+4sqH/uLKh/46Jfv/DvKv/trCf/8vEsv/k3Mf/7OPO//Pq1P/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Tr1f/y6dT/7ubQ/+vjzf/d1cH/2NG9/7Sun/+dl4r/wLmo + /5uWif+TjoL/pJ+Q/8fAr//y6dP/8ejT/+7lz//j2sX/18+9/8jArv+RjYH/qKOU/6ymmP+4sqH/x7+t + /9LKt//g2MP/39bC/9zTv//a0r7/6ODK/+7lz//t5M//7eTO/+zjzv/s483/7OPN/+vizGsAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NZM9ezW//Xs1v/17Nb/9ezW//Xs1v/c1MD/0cq3 + /+Tcx//q4cz/4dnF/7+4qP+3saH/zca0/6ymmP+yrJ3/sKqa/8O8q//Kw7H/y8Oy/9/Xw//x6NP/8unT + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Pq1f/z6tT/5dzI/9/Xw//j2sb/wruq + /5+ZjP+zrZ7/l5KF/7GqnP+1r5//y8Wy/9DItv/p4cz/7eTP/+HZxf/Qybb/yMGv/6qklf+Xkob/xL2r + /7mzov/Iwa//1867/8vEsv/Wzrr/5t3I/97Vwf/b07//xL2s/5uWiP/DvKr/h4J3/4N/dP/Syrf/7OPN + /+zjzf/r4sz/6+LM/+rhy//q4cv/6eDKoQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + APXs1hX17Nb/9ezW//Xs1v/17Nb/9ezW/+ffyv+alYj/enZt/5uWif/Lw7H/kYyB/7y2pf/l3Mj/597J + /+3kz//z6tT/8+rU//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/z6tX/8+rU//Tr1f/l3cj/3NTA + /8W+rf+2sKD/pJ6Q/8K6qv+fmYz/ta+f/9XNuv/Z0b7/zse1/+rhzP/k3Mf/6uHM/8/Itv+9t6b/mpWI + /6ullv+rppf/lpGF/62nl//QyLb/0Mi2/+HZxP/j2sX/5t3H/87HtP+4saD/yMCu/4N+dP+RjH//vLWk + /6+pmv/RyLb/xLyr/9zUwP/k28f/39bB/9DItf/j2sX/6uHL/+ngyv/p4Mr/6N/J/+jfyf/n3sjYAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1t717Nb/9ezW//Xs1v/17Nb/7+bR + /9DJt//d1cH/6uHM//Tr1f/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Tr1f/069X/6N/K + /93Vwf/b07//ycKw/6eik/+5s6P/v7in/7avn/+alIj/ubKi/8jBr//a0r//6eHL/+jgy//h2MT/3NTB + /8vEs//JwrD/o52P/4SAdf+vqZr/u7Sj/8jBr//QyLb/49rF/+rgzP/a0r7/xr+t/83Fs/+2r5//lpGE + /5qUh/+5sqH/tK2c/6qjk//a0b3/z8e0/9jQvP/a0b3/yMCu/8G5qP+wqZn/mZSH/7+4pv/DvKr/o52P + /9TMuP/o38n/597I/+bdyP/m3cf/5dzH/+Xcxv7k28YSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA9ezWqPXs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/069X/8urU + //Tr1f/l3cj/6N/K/+DYxP/Sy7j/nJeK/83GtP+dl4r/kIt//56ZjP+po5X/z8e1/+ffyv/p4Mv/5t3I + /9vTwP/Gv67/4trF/5eShf+Hg3j/rKWX/5+ajf/UzLn/1Mu5/+Laxf/o38n/3tbC/9bPu//b07//s6yb + /9DItf+Df3T/pqCR/46IfP+Pin3/uLGg/9TMt//NxbH/3dO9/9TKtv/Rx7T/vbWj/6Wdjv/VzLf/qKGS + /5yWiP+VkIP/sKmZ/8zEsf/Yz7r/3dS//8nCr//Rybb/4trE/+Xcx//l3Mb/5NvF/+TbxP/j2sT/49rD + /+LZw0cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NZx9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Lp0//p4cz/2tK//7Sunv+blon/tK2e/4F9c/+oo5T/0Mm2/8vDsv/UzLr/5t3J + /+ngy//t5M//18+8/9rSvv+yrJ3/m5aJ/6+pmv+ZlIj/lI+D/62nmP/f18P/z8e1/9zTwP/j2cT/5NvG + /83Fs//Tyrf/op2O/66omP+inI3/gX1y/7u0o/+uqJj/1s65/9fOuv/a0bz/4dfC/9LJtf+2rp3/opuL + /7Gol/+QiXz/i4R3/6Obi/+zqpj/v7aj/9TKtP/QxrL/2dC6/87Fsf/Kwq7/raaW/7iwn/+KhXn/hH90 + /7Gqmv/d1L//49rE/+Paw//i2cP/4djC/+HYwf/g18H/4NfAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAPXs1jr17Nb/9ezW//Xs1v/17Nb/9ezW/+bdyf+inI7/hoJ3/5uVif+oopT/xb6t + /8rDsv/l3cj/5dzI/+nhzP/g2MT/2dG+/8O8qv+blon/oZyO/83Gs/+RjID/xr6t/8a+rf/Syrf/5dzH + /+feyf/k28b/xb6s/9rRvP+jno//saqb/4mEef+qo5T/qKKS/9bNuf/MxLH/0cm1/+LZw//d1L7/zMOw + /8K6p/+8s6D/k4x+/4J8cP+lnIz/u7Gf/6mgj/+2rJr/xbql/9DEr//HvKb/yr+q/7Knlf+yqJb/hHxv + /4F7bv+yqZj/wLek/6yllf/Hv6v/1cy3/9TMt//Px7P/0sq1/8jArv/f1sD/4NfB/+DXwP/f1sD/3tW/ + /97Vv//d1L62AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9OvVCfXs1vr17Nb/9ezW + //Xs1v/17Nb/6uLM/9PMuf/h2cX/5d3I/+nhzP+9tqb/raeY/8vEsv+0rp//qqSV/8W+rP+4sqL/2tG+ + /9PLuf/e1sL/3tXB/9TMuf/Qybb/wrqp/5iShv+fmYv/jYh8/8S8qv+knY//18+7/83Esf/Xzrr/29K9 + /9fPuv/EvKr/ta2c/7Wsm/+blIb/pJyN/9XLtf+on4//wLaj/8e9qf/HvKj/xLml/8e8pv/AtaD/r6SR + /5eNff+roI3/jYNz/5WLef+lmYb/opeE/7mtmP+3rJj/xbml/87Crf/DuaX/x76q/7Ormv+vqJj/p6GR + /355b/+cloj/tq+e/9nQu//e1b7/3dS+/93Uvf/c073/29K8/9vSvOsAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWzfXs1v/17Nb/9ezW//Xs1v/w59H/pqGT/356cP+MiHz/3NTA + /52Xi/+9tqb/5dzI/+nhy//k28b/ycGw/9LKt//Gvq3/opyO/8O7qf+Lh3v/nZeJ/7Ksm//b0b3/y8Ox + /9rRvP/Z0Lv/2M+6/7+3pf+zqpr/t6+d/5CKfP+HgXT/uK+d/5ePgP+upZT/xLqm/8vAq//Nwqz/ua6a + /7qum/+5rpr/qJ2L/4h/cP98cmX/in9v/6CUgv+ZjXv/opWB/7Olj/+0pY//s6WP/7mqk/+/sJj/r6GL + /5GGdf96cGP/mI9//52UhP++taH/w7un/9HHs//Wzbj/1Mu2/7+4pf+9taP/1s24/9vSvP/b0rv/2tG7 + /9rRuv/Z0Lr/2M+5/9jPuSQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NaW9ezW + //Xs1v/17Nb/9ezW//Pq1P/e1sL/3NS//+jfyv/Mw7L/xb2s/8W+rP+6s6L/w7uq/52Xiv+WkYT/s6yc + /9TLuP/PxrP/3dS//9zTvv/Gvqv/z8ez/6qjk/+ak4b/sKmX/4+Ie/+5sJ7/k4t+/6Kaiv/Lwaz/yL6p + /87Drf/Hu6f/xrql/62ikP+xpZP/nJKB/5CGdv9+dGX/mY58/62gjP+sn4r/sqSO/7Wmkf+1ppD/uamR + /8Cvl//EtJr/x7id/9PCpv/dza//3s2v/7Wljf+ml4L/rqCK/7OlkP+4rJf/xbmk/6ujkf+9tKH/l5GC + /4R+c/+qpJT/fXhu/5iShf/Qx7L/2M+5/9jPuf/Yz7j/1864/9bNt//Wzbf/1sy2WwAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPLp02D069X/9OvV//Tr1f/z6tT/8+rU/8S9q/9+em//n5qM + /7qzov+noZL/zMSy/+DXwv/f1sH/4djC/8a9q//NxLD/mZOF/8W8qf+Si37/i4R4/4qDd//AtqP/s6qZ + /8e9qf/SxrH/z8Su/8i8qP+1qpf/w7ei/5GHeP+Qhnf/qZ6L/5qPff+glIL/m499/7OlkP+ypI7/tqiS + /7eokf/BsZj/yLie/8m6n//OvqP/2sqt/9/Qsv/g0LL/4NGz/+DRs//g0bT/4dK0/+HStf+tnIT/mIZw + /4l5Zf+PgW7/jYBv/3BnWv+dlIL/opmJ/7uzn//FvKn/xLyp/9bNuP/Xzrj/1864/9fOuP/Wzbf/1s23 + /9XMtv/Uy7X/1Mu1/9PKtP/TyrSSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7uTO + KvLp0//y6dP/8ejS//Hn0f/w5tD/4tjE/9/Xwv/l28b/2M+7/8C4pv+fmIn/lY+B/5OMfv+ak4X/iYJ2 + /8K6pv+mnY3/yL2p/8vBq//Rxa//xrqm/7KolP+onYz/jYR0/4+Fdv+qn4v/nZKA/4R5af+rnor/ppmF + /66gjP+7rZb/v7CY/8a3nv/NvqP/z8Cl/9fHq//g0LP/4NGz/+DRtP/h0rT/4dK1/+HTtv/i07b/4tO3 + /+LUt//i1Lj/49W4/+PVuf/j1br/wLCW/3toVP+Oe2X/jXxn/5eHcv+tnoj/tKeR/8O2of/MwKr/0Maw + /9TKtP/Wzbb/1s23/9bNt//VzLb/1Mu1/9TLtf/TyrT/08q0/9LJs//RyLL/0ciy/9DHsckAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADf070E7uTO8O7kzv/t483/6+HL/+rgyv/c0r3/jIV4 + /6Wdjv+gmIr/l4+B/7uyn//Duab/08ey/9TJs//Jvqn/uK2a/62jkP+TiXn/iH9w/4R6a/+iloX/kod2 + /6GUgv+uoIz/tKaQ/8Cxmv/Gtp7/zL2j/8/Apf/Vxar/3s+y/+HStP/h0rX/4dO2/+LTtv/i07f/4tS3 + /+LUuP/j1bj/49W5/+PVuv/k1rr/5Na7/+TXu//l17z/5di8/+XYvf/l2L7/5tm+/+TXvf+RfGT/inVe + /5B8ZP+YhG3/opB5/6ychv+3qZP/wbWf/8m9p//PxK7/0ciy/9PJs//Uy7X/08q0/9LJs//SybP/0ciy + /9HIsv/Qx7H/z8ax/8/GsP/OxK//zsSv+c7ErwcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AOLWvwLm3MW/5tzF/+XaxP/k2cL/4tfA/9zRuv/Mwaz/z8Ou/8q/qv+xp5X/uK2Z/52Tgv+Vi3v/oZaE + /6GVg/+YjHv/pZiF/6qdif+4qpT/wLGa/82+pf/Rwqj/1sar/9rLsP/h07b/4tO2/+LTt//i1Lf/4tS4 + /+PVuP/j1bn/49W6/+TWuv/k1rv/5Ne7/+XXvP/l2Lz/5di9/+XYvv/m2b7/5tm//+bav//n2sD/59vB + /+fbwf/o28L/6NzC/+jcw//p3cT/xLSc/4BpUv+Eblf/inVe/5N+Z/+di3T/qJiC/7Slj/++spv/xrql + /8vAq//Pxa//0cex/9HIsv/RyLL/0Mex/8/GsP/PxbD/zsSv/87Er//Nw67/zMKt/8zCrf/Lwaz/y8Gs + OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL6ul43c0br/28+4/9nNtv/XyrP/1Mew + /5qQf/94b2H/mo9+/5GGdf+sn4z/sqSP/7ytmP/Gt5//0MGo/9XGq//Zya//4NG1/+LUt//i1Lj/49W4 + /+PVuf/j1br/5Na6/+TWu//k17v/5de8/+XYvP/l2L3/5di+/+bZvv/m2b//5tq//+fawP/n28H/59vB + /+jbwv/o3ML/6NzD/+ndxP/p3cX/6d7G/+nexv/q3sf/6t/I/+rfyP/r4Mn/6+DJ/+vhyv+hjnb/fGVN + /4FpUv+HcVn/j3pj/5qHcP+llH7/saKM/7uvmf/Dt6L/yb2o/8zCrf/Ow67/z8Ww/87Er//Nw6//zcOu + /8zCrf/Mwq3/y8Gs/8rArP/KwKv/yb+q/8m/qv/Iv6puAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAn4t0YtDCq//Ov6n/y72m/8i6o//Ku6T/xbef/82+pf/Uxaz/2cqw/97PtP/j1bj/49W5 + /+PVuv/k1rr/5Na7/+TXu//l17z/5di8/+XYvf/l2L7/5tm+/+bZv//m2r//59rA/+fbwf/n28H/6NvC + /+jcwv/o3MP/6d3E/+ndxf/p3sb/6d7G/+rex//q38j/6t/I/+vgyf/r4Mn/6+HK/+zhy//s4sv/7OLM + /+3izP/t483/7ePO/+7kzv/u5M//7uXP/4VuV/96Ykr/fmZP/4RtVv+Md2D/loNt/6GRev+unoj/uKuW + /8C0n//Gu6X/yb6q/8vArP/Mwq3/zMKt/8vBrP/KwKz/ysCr/8m/qv/Jv6r/yL6p/8e9qf/Hvaj/xryn + /8W8p6QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4dS6DuHUuTe5qI6A1MWs/9jJr//dzrT/4tS5 + /+TWuv/k1rv/5Ne7/+XXvP/l2Lz/5di9/+XYvv/m2b7/5tm//+bav//n2sD/59vB/+fbwf/o28L/6NzC + /+jcw//p3cT/6d3F/+nexv/p3sb/6t7H/+rfyP/q38j/6+DJ/+vgyf/r4cr/7OHL/+ziy//s4sz/7eLM + /+3jzf/t487/7uTO/+7kz//u5c//7uXQ/+/l0f/v5tH/7+bS//Dn0v/w59P/8OfU//Ho1P/t5ND/dl5G + /3hfR/98ZE3/gWtT/4l0XP+TgGn/no12/6mahP+1p5L/vLGb/8K3ov/HvKf/yb6p/8m/q//Jv6r/yL6q + /8i+qf/Hvan/x72o/8a8p//Fu6f/xLum/8O6pv/DuqX/wrmlzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAObZvwPl2L0l5di+S+XYvnLj1bqZ5Na6 + wOTWu+jk17v/5de8/+XYvP/l2L3/5di+/+bZvv/m2b//5tq//+fawP/n28H/59vB/+jbwv/o3ML/6NzD + /+ndxP/p3cX/6d7G/+nexv/q3sf/6t/I/+rfyP/r4Mn/6+DJ/+vhyv/s4cv/7OLL/+zizP/t4sz/7ePN + /+3jzv/u5M7/7uTP/+7lz//u5dD/7+XR/+/m0f/v5tL/8OfS//Dn0//w59T/8ejU//Ho1f/x6dX/8enW + //Lq1//y6tf/8urY//Pr2P/z69n/8+zZ/+bdyv91XET/d15H/3tjS/+AaFH/h3Fa/5B8Zf+biXL/pZaA + /7Cjjf+4rJf/vrOe/8K4pP/FvKf/xryo/8e9qP/GvKf/xbun/8S7pv/Duqb/w7ql/8K5pf/CuaT/wbij + /8C3o//At6LkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA59rCCebZvzzm2cBf5di9 + ieTXu67l17zW5di8+eXYvf/l2L7/5tm+/+bZv//m2r//59rA/+fbwf/n28H/6NvC/+jcwv/o3MP/6d3E + /+ndxf/p3sb/6d7G/+rex//q38j/6t/I/+vgyf/r4Mn/6+HK/+zhy//s4sv/7OLM/+3izP/t483/7ePO + /+7kzv/u5M//7uXP/+7l0P/v5dH/7+bR/+/m0v/w59L/8OfT//Dn1P/x6NT/8ejV//Hp1f/x6db/8urX + //Lq1//y6tj/8+vY//Pr2f/z7Nn/8+za//Ts2//07dv/9O3c//Xu3P/17t3/9e7d//Xv3v/2797/5t3L + /3VcRP92Xkb/eWFK/31mT/+Eblf/jXli/5aEbf+hkHr/rJ2I/7Snkv+6r5r/v7Wg/8G4o//DuaT/w7qm + /8O6pf/CuaX/wbik/8G4o//At6P/wLei/7+2ov+/tqH/vrWh/761oO4AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAOjcwy7m2b7d5tm//+bav//n2sD/59vB/+fbwf/o28L/6NzC/+jcw//p3cT/6d3F + /+nexv/p3sb/6t7H/+rfyP/q38j/6+DJ/+vgyf/r4cr/7OHL/+ziy//s4sz/7eLM/+3jzf/t487/7uTO + /+7kz//u5c//7uXQ/+/l0f/v5tH/7+bS//Dn0v/w59P/8OfU//Ho1P/x6NX/8enV//Hp1v/y6tf/8urX + //Lq2P/z69j/8+vZ//Ps2f/z7Nr/9Ozb//Tt2//07dz/9e7c//Xu3f/17t3/9e/e//bv3v/279//9vDg + //bw4P/38OH/9/Hh//fx4v/38uL/+PLj//jy4//s5dT/dVxE/3VdRf94YEj/fGRN/4FrU/+JdF3/kn9o + /5yLdf+ml4H/r6KN/7aqlf+7sZz/vrWg/7+2ov/At6L/wLej/8C3ov+/tqL/v7ah/761of++taD/vbSg + /720n/+8s5//vLOe6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADp3cU86NzD8OndxP/p3cX/6d7G + /+nexv/q3sf/6t/I/+rfyP/r4Mn/6+DJ/+vhyv/s4cv/7OLL/+zizP/t4sz/7ePN/+3jzv/u5M7/7uTP + /+7lz//u5dD/7+XR/+/m0f/v5tL/8OfS//Dn0//w59T/8ejU//Ho1f/x6dX/8enW//Lq1//y6tf/8urY + //Pr2P/z69n/8+zZ//Ps2v/07Nv/9O3b//Tt3P/17tz/9e7d//Xu3f/1797/9u/e//bv3//28OD/9vDg + //fw4f/38eH/9/Hi//fy4v/48uP/+PLj//jz5P/48+T/+fPl//n05f/59OX/+fTm//r05v/69ef/+vXn + //jz5f91XUX/dVxE/3deRv96Y0v/f2hQ/4ZwWf+NemP/l4Vv/6GRe/+qnIb/saWQ/7esl/+6sJv/vLOf + /720oP++taD/vrWg/720oP+8s5//vLOf/7uynv+7sp7/urGd/7qxnf+5sJzaAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA7ePNLOvgye7r4Mn/6+HK/+zhy//s4sv/7OLM/+3izP/t483/7ePO/+7kzv/u5M//7uXP + /+7l0P/v5dH/7+bR/+/m0v/w59L/8OfT//Dn1P/x6NT/8ejV//Hp1f/x6db/8urX//Lq1//y6tj/8+vY + //Pr2f/z7Nn/8+za//Ts2//07dv/9O3c//Xu3P/17t3/9e7d//Xv3v/2797/9u/f//bw4P/28OD/9/Dh + //fx4f/38eL/9/Li//jy4//48uP/+PPk//jz5P/58+X/+fTl//n05f/59Ob/+vTm//r15//69ef/+vXo + //v26P/79uj/+/bp//v36f/79+r//Pfq//z36v/8+Ov//Pjr/4RtV/91XET/dl1F/3lhSf98ZU3/gmxV + /4p1Xv+Sf2n/nIx1/6WWgP+sn4r/s6eS/7esl/+5r5v/u7Gd/7uynv+7sp7/u7Ke/7qxnf+6sZ3/ubCc + /7mwnP+4r5v/uK+b/7ivmrcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO/m0g3t487b7uTO/+7kz//u5c//7uXQ + /+/l0f/v5tH/7+bS//Dn0v/w59P/8OfU//Ho1P/x6NX/8enV//Hp1v/y6tf/8urX//Lq2P/z69j/8+vZ + //Ps2f/z7Nr/9Ozb//Tt2//07dz/9e7c//Xu3f/17t3/9e/e//bv3v/279//9vDg//bw4P/38OH/9/Hh + //fx4v/38uL/+PLj//jy4//48+T/+PPk//nz5f/59OX/+fTl//n05v/69Ob/+vXn//r15//69ej/+/bo + //v26P/79un/+/fp//v36v/89+r//Pfq//z46//8+Ov//Pjr//347P/9+ez//fns//357f/9+e3//frt + //767v/++u7/nIl0/3VcRP92XUX/eF9H/3pjS/9/aVH/hXBZ/416Y/+WhW//n496/6aYg/+toYv/sqeS + /7asl/+3rpr/ua+b/7ivm/+5sJz/uK+b/7ivm/+3rpr/t66a/7eumf+2rZn/tq2ZfgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA8OfSnPDn0//w59T/8ejU//Ho1f/x6dX/8enW//Lq1//y6tf/8urY//Pr2P/z69n/8+zZ + //Ps2v/07Nv/9O3b//Tt3P/17tz/9e7d//Xu3f/1797/9u/e//bv3//28OD/9vDg//fw4f/38eH/9/Hi + //fy4v/48uP/+PLj//jz5P/48+T/+fPl//n05f/59OX/+fTm//r05v/69ef/+vXn//r16P/79uj/+/bo + //v26f/79+n/+/fq//z36v/89+r//Pjr//z46//8+Ov//fjs//357P/9+ez//fnt//357f/9+u3//vru + //767v/++u7//vru//777//+++////vv///77///++///vvv//777/+5qpj/dFtD/3VcRP92XUb/eWFJ + /3xlTv+CbFX/iXRd/5B+Z/+ZiHL/oJF8/6iahf+toYz/sqeS/7Sqlf+2rJj/tq2Z/7atmf+3rpn/tq2Z + /7atmP+1rJj/tayY/7Srl/+1rJg0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPr2TLy6tj98+vY//Pr2f/z7Nn/8+za + //Ts2//07dv/9O3c//Xu3P/17t3/9e7d//Xv3v/2797/9u/f//bw4P/28OD/9/Dh//fx4f/38eL/9/Li + //jy4//48uP/+PPk//jz5P/58+X/+fTl//n05f/59Ob/+vTm//r15//69ef/+vXo//v26P/79uj/+/bp + //v36f/79+r//Pfq//z36v/8+Ov//Pjr//z46//9+Oz//fns//357P/9+e3//fnt//367f/++u7//vru + //767v/++u7//vvv//777///++////vv///77//+++///vvv//767v/++u7//vru//767v/9+u3//fnt + //357f/9+ez//fns/97Vxv91XET/dFtD/3VcRf93X0f/emNL/35oUP+Eb1j/i3hh/5OBav+ainT/opR+ + /6ibhv+tooz/sKaR/7KolP+zqpX/tKuX/7Srl/+0q5f/tKuX/7Oqlv+zqpb/s6qW0gAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA9e7cq/Xu3f/17t3/9e/e//bv3v/279//9vDg//bw4P/38OH/9/Hh//fx4v/38uL/+PLj + //jy4//48+T/+PPk//nz5f/59OX/+fTl//n05v/69Ob/+vXn//r15//69ej/+/bo//v26P/79un/+/fp + //v36v/89+r//Pfq//z46//8+Ov//Pjr//347P/9+ez//fns//357f/9+e3//frt//767v/++u7//vru + //767v/+++///vvv///77///++////vv//777//+++///vru//767v/++u7//vru//367f/9+e3//fnt + //357P/9+ez//fjs//z46//8+Ov//Pjr//z36v/89+r/+/fq//v36f/79un/+vXn/4FpU/90W0P/dVxE + /3ZeRv94YEj/e2RM/4BqUv+GcVr/jXpj/5SCbP+bjHb/opR+/6ebhv+soYv/rqSP/7Cmkv+xqJP/sqiU + /7Kplf+yqJT/sqmV/7Kplf+yqZRYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPfx4RH38eH59/Hi//fy4v/48uP/+PLj + //jz5P/48+T/+fPl//n05f/59OX/+fTm//r05v/69ef/+vXn//r16P/79uj/+/bo//v26f/79+n/+/fq + //z36v/89+r//Pjr//z46//8+Ov//fjs//357P/9+ez//fnt//357f/9+u3//vru//767v/++u7//vru + //777//+++////vv///77///++///vvv//777//++u7//vru//767v/++u7//frt//357f/9+e3//fns + //357P/9+Oz//Pjr//z46//8+Ov//Pfq//z36v/79+r/+/fp//v26f/79uj/+/bo//r16P/69ef/+vXn + //r05v/59Ob/+fTl//n05f/58+X/t6iU/3RbQ/91XET/dVxE/3dfR/95YUr/fWZO/4JsVf+IdF3/jntl + /5WEbv+cjXf/oZN+/6aahf+qnon/rKGN/66kkP+vppH/sKaS/7Cnk/+wp5P/sKeTvgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA+fPlVPn05f/59Ob/+vTm//r15//69ef/+vXo//v26P/79uj/+/bp//v36f/79+r//Pfq + //z36v/8+Ov//Pjr//z46//9+Oz//fns//357P/9+e3//fnt//367f/++u7//vru//767v/++u7//vvv + //777///++////vv///77//+++///vvv//767v/++u7//vru//767v/9+u3//fnt//357f/9+ez//fns + //347P/8+Ov//Pjr//z46//89+r//Pfq//v36v/79+n/+/bp//v26P/79uj/+vXo//r15//69ef/+vTm + //n05v/59OX/+fTl//nz5f/48+T/+PPk//jy4//48uP/9/Li//fx4v/38eH/9/Dh//bw4P/w6dj/gWpT + /3RbQ/91XET/dl1F/3dfR/96Y0v/fmhQ/4NuVv+JdV7/j31m/5WEbv+ajHb/oJN9/6SYg/+onIf/qp+L + /6uhjf+to4//rqSQ/6+lkeevppIdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD79uiH+/fp//v36v/89+r//Pfq + //z46//8+Ov//Pjr//347P/9+ez//fns//357f/9+e3//frt//767v/++u7//vru//767v/+++///vvv + ///77///++////vv//777//+++///vru//767v/++u7//vru//367f/9+e3//fnt//357P/9+ez//fjs + //z46//8+Ov//Pjr//z36v/89+r/+/fq//v36f/79un/+/bo//v26P/69ej/+vXn//r15//69Ob/+fTm + //n05f/59OX/+fPl//jz5P/48+T/+PLj//jy4//38uL/9/Hi//fx4f/38OH/9vDg//bw4P/279//9u/e + //Xv3v/17t3/9e7d//Xu3P/07dz/9O3b//Ts2//Pwq7/dVxE/3VcRP91XET/dl5G/3hgSf97ZEz/f2lR + /4NuV/+JdV//jnxm/5SDbf+ai3X/n5F8/6KWgf+lmoX/qJ2J/6mfiv+roo7vrqWQMwAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAP357KT9+ez//fnt//357f/9+u3//vru//767v/++u7//vru//777//+++////vv + ///77///++///vvv//777//++u7//vru//767v/++u7//frt//357f/9+e3//fns//357P/9+Oz//Pjr + //z46//8+Ov//Pfq//z36v/79+r/+/fp//v26f/79uj/+/bo//r16P/69ef/+vXn//r05v/59Ob/+fTl + //n05f/58+X/+PPk//jz5P/48uP/+PLj//fy4v/38eL/9/Hh//fw4f/28OD/9vDg//bv3//2797/9e/e + //Xu3f/17t3/9e7c//Tt3P/07dv/9Ozb//Ps2v/z7Nn/8+vZ//Pr2P/y6tj/8urX//Lq1//x6db/8enV + //Ho1f+6qpX/dVxE/3VcRP91XUX/d15H/3lhSv98ZU3/f2lS/4RvWP+JdV//jnxm/5SDbf+ZinT/nY96 + /6CUf/+kmIP/qZ6K4KuhjS4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/vvvrv777///++////vv + ///77//+++///vvv//767v/++u7//vru//767v/9+u3//fnt//357f/9+ez//fns//347P/8+Ov//Pjr + //z46//89+r//Pfq//v36v/79+n/+/bp//v26P/79uj/+vXo//r15//69ef/+vTm//n05v/59OX/+fTl + //nz5f/48+T/+PPk//jy4//48uP/9/Li//fx4v/38eH/9/Dh//bw4P/28OD/9u/f//bv3v/1797/9e7d + //Xu3f/17tz/9O3c//Tt2//07Nv/8+za//Ps2f/z69n/8+vY//Lq2P/y6tf/8urX//Hp1v/x6dX/8ejV + //Ho1P/w59T/8OfT//Dn0v/v5tL/7+bR/+/l0f/u5dD/7uXP/+7kz/+/r5n/eGFJ/3ZdRf93Xkb/eGBJ + /3pjS/99Zk//gGpT/4VwWf+Jd2D/j31n/5SEbv+YiHP/npB7/qWZhKWlmoURAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD++u6h/vru//367f/9+e3//fnt//357P/9+ez//fjs//z46//8+Ov//Pjr + //z36v/89+r/+/fq//v36f/79un/+/bo//v26P/69ej/+vXn//r15//69Ob/+fTm//n05f/59OX/+fPl + //jz5P/48+T/+PLj//jy4//38uL/9/Hi//fx4f/38OH/9vDg//bw4P/279//9u/e//Xv3v/17t3/9e7d + //Xu3P/07dz/9O3b//Ts2//z7Nr/8+zZ//Pr2f/z69j/8urY//Lq1//y6tf/8enW//Hp1f/x6NX/8ejU + //Dn1P/w59P/8OfS/+/m0v/v5tH/7+XR/+7l0P/u5c//7uTP/+7kzv/t487/7ePN/+3izP/s4sz/7OLL + /+zhy//r4cr/6+DJ/+vgyf/XyrP/mYRs/3dfSP95YUn/emNM/3xlTv9/alL/gm1W/4VxWv+KeGH/koFr + /puMd7+fkn0/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPz46oH8+Ov//Pfq + //z36v/79+r/+/fp//v26f/79uj/+/bo//r16P/69ef/+vXn//r05v/59Ob/+fTl//n05f/58+X/+PPk + //jz5P/48uP/+PLj//fy4v/38eL/9/Hh//fw4f/28OD/9vDg//bv3//2797/9e/e//Xu3f/17t3/9e7c + //Tt3P/07dv/9Ozb//Ps2v/z7Nn/8+vZ//Pr2P/y6tj/8urX//Lq1//x6db/8enV//Ho1f/x6NT/8OfU + //Dn0//w59L/7+bS/+/m0f/v5dH/7uXQ/+7lz//u5M//7uTO/+3jzv/t483/7eLM/+zizP/s4sv/7OHL + /+vhyv/r4Mn/6+DJ/+rfyP/q38j/6t7H/+nexv/p3sb/6d3F/+ndxP/o3MP/6NzC/+jbwv/n28H/zb6l + /6CMdP+CbFT/fmhQ/4BqU/+JdV/5jnxm0Ip3YYuUhG4ujXtlAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA+vXnTvr15//69ef/+vTm//n05v/59OX/+fTl//nz5f/48+T/+PPk + //jy4//48uP/9/Li//fx4v/38eH/9/Dh//bw4P/28OD/9u/f//bv3v/1797/9e7d//Xu3f/17tz/9O3c + //Tt2//07Nv/8+za//Ps2f/z69n/8+vY//Lq2P/y6tf/8urX//Hp1v/x6dX/8ejV//Ho1P/w59T/8OfT + //Dn0v/v5tL/7+bR/+/l0f/u5dD/7uXP/+7kz//u5M7/7ePO/+3jzf/t4sz/7OLM/+ziy//s4cv/6+HK + /+vgyf/r4Mn/6t/I/+rfyP/q3sf/6d7G/+nexv/p3cX/6d3E/+jcw//o3ML/6NvC/+fbwf/n28H/59rA + /+bav//m2b//5tm+/+XYvv/l2L3/5di8/+XXvP/k17v/5Na7/+LUuf7TxKnWybqgibajiSiJdF0DAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD48+QL+PLj + +fjy4//38uL/9/Hi//fx4f/38OH/9vDg//bw4P/279//9u/e//Xv3v/17t3/9e7d//Xu3P/07dz/9O3b + //Ts2//z7Nr/8+zZ//Pr2f/z69j/8urY//Lq1//y6tf/8enW//Hp1f/x6NX/8ejU//Dn1P/w59P/8OfS + /+/m0v/v5tH/7+XR/+7l0P/u5c//7uTP/+7kzv/t487/7ePN/+3izP/s4sz/7OLL/+zhy//r4cr/6+DJ + /+vgyf/q38j/6t/I/+rex//p3sb/6d7G/+ndxf/p3cT/6NzD/+jcwv/o28L/59vB/+fbwf/n2sD/5tq/ + /+bZv//m2b7/5di+/+XYvf/l2Lz/5de8/+TXu//k1rv/5Na6/+PVuv/j1bn/4tS48+HTt8ri1Lej28yx + e8+/pFnKup8ttKKJCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2796q9e/e//Xu3f/17t3/9e7c//Tt3P/07dv/9Ozb + //Ps2v/z7Nn/8+vZ//Pr2P/y6tj/8urX//Lq1//x6db/8enV//Ho1f/x6NT/8OfU//Dn0//w59L/7+bS + /+/m0f/v5dH/7uXQ/+7lz//u5M//7uTO/+3jzv/t483/7eLM/+zizP/s4sv/7OHL/+vhyv/r4Mn/6+DJ + /+rfyP/q38j/6t7H/+nexv/p3sb/6d3F/+ndxP/o3MP/6NzC/+jbwv/n28H/59vB/+fawP/m2r//5tm/ + /+bZvv/l2L7/5di9/+XYvP/l17z/5Ne7/+TWu//k1rr/49W6/+PVuf/j1bj/4tS4/+LUt/zh0rXd4NC0 + t+LUuI3j1Llp49S5QePVuhgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + APTs2zrz69n/8+vY//Lq2P/y6tf/8urX//Hp1v/x6dX/8ejV//Ho1P/w59T/8OfT//Dn0v/v5tL/7+bR + /+/l0f/u5dD/7uXP/+7kz//u5M7/7ePO/+3jzf/t4sz/7OLM/+ziy//s4cv/6+HK/+vgyf/r4Mn/6t/I + /+rfyP/q3sf/6d7G/+nexv/p3cX/6d3E/+jcw//o3ML/6NvC/+fbwf/n28H/59rA/+bav//m2b//5tm+ + /+XYvv/l2L3/5di8/+XXvP/k17v/5Na7/+TWuv/j1br/49W5/+PVuP/i1Lj/4tS3/+LTt//i07b/4dK1 + 8N/Ps8fh0bSi49S5d+HTuFXh07cq5Na7BgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPDn1K3w59P/8OfS/+/m0v/v5tH/7+XR + /+7l0P/u5c//7uTP/+7kzv/t487/7ePN/+3izP/s4sz/7OLL/+zhy//r4cr/6+DJ/+vgyf/q38j/6t/I + /+rex//p3sb/6d7G/+ndxf/p3cT/6NzD/+jcwv/o28L/59vB/+fbwf/n2sD/5tq//+bZv//m2b7/5di+ + /+XYvf/l2Lz/5de8/+TXu//k1rv/5Na6/+PVuv/j1bn/49W4/+LUuP/i1Lf/4tO3/+LTtv/h07b/4dK1 + /+HStPvg0bTY4NGzseHStYvh07dk39G1QOHTtxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA8OfTF+3jzunt483/7eLM/+zizP/s4sv/7OHL/+vhyv/r4Mn/6+DJ/+rfyP/q38j/6t7H + /+nexv/p3sb/6d3F/+ndxP/o3MP/6NzC/+jbwv/n28H/59vB/+fawP/m2r//5tm//+bZvv/l2L7/5di9 + /+XYvP/l17z/5Ne7/+TWu//k1rr/49W6/+PVuf/j1bj/4tS4/+LUt//i07f/4tO2/+HTtv/h0rX/4dK0 + /+DRtP/g0bP/4NCz7N7PscPezrCe4tO3dOLTtk/h07Yn4tS4BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6+DKOerfyPbq3sf/6d7G + /+nexv/p3cX/6d3E/+jcw//o3ML/6NvC/+fbwf/n28H/59rA/+bav//m2b//5tm+/+XYvv/l2L3/5di8 + /+XXvP/k17v/5Na7/+TWuv/j1br/49W5/+PVuP/i1Lj/4tS3/+LTt//i07b/4dO2/+HStf/h0rT/4NG0 + /+DRs//g0bP/4NCy/9/Qsvnfz7HW38+xreDQs4nh0rVe4NG0O9zMrxEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA6NzEP+fbwfDn2sD/5tq//+bZv//m2b7/5di+/+XYvf/l2Lz/5de8 + /+TXu//k1rv/5Na6/+PVuv/j1bn/49W4/+LUuP/i1Lf/4tO3/+LTtv/h07b/4dK1/+HStP/g0bT/4NGz + /+DRs//g0LL/39Cy/9/Psf/fz7H/3s6v6d7Nr8DdzK6Z4NCzc+DRs0vg0bMk4dK1AwAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6NvD + IeTWu8Tk1rr/49W6/+PVuf/j1bj/4tS4/+LUt//i07f/4tO2/+HTtv/h0rX/4dK0/+DRtP/g0bP/4NGz + /+DQsv/f0LL/38+x/9/Psf/ez7D/3s6w/97Nrvjcy63X3c2uqd7OsIXfz7Jc4NCyN+DRtA4AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5di+A+LUuG/h0rTn4NG0/+DRs//g0bP/4NCy + /9/Qsv/fz7H/38+x/97PsP/ezrD/3s6v/97Nr//dza7/3c2u5N3Mrb3dzK2V38+xcN/PsUbfz7AjAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAOLUuArf0LJp3s2vx93Nrv/dza7/3cyt/93MrfTczKzQ3Musp93NroHezrBa3s6v + M9/PsQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3s6v + Fd7Orz/eza4fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/////////////gAAf/////////////////wAAAP/////// + /////////4AAAB////////////////8AAAAH////////////////AAAAAf///////////////gAAAAD/ + /////////////8AAAAAA/////////////+AAAAAAAP////////////wAAAAAAAB///////////4AAAAA + AAAAf/////////6AAAAAAAAAAH////////+AAAAAAAAAAAB////////gAAAAAAAAAAAAf//////wAAAA + AAAAAAAAAP/////8AAAAAAAAAAAAAAB/////8AAAAAAAAAAAAAAAP////+AAAAAAAAAAAAAAAB/////A + AAAAAAAAAAAAAAAH////gAAAAAAAAAAAAAAAAf///wAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAA + f//+AAAAAAAAAAAAAAAAAB///gAAAAAAAAAAAAAAAAAH//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAA + AAAAAAH//AAAAAAAAAAAAAAAAAAA//wAAAAAAAAAAAAAAAAAAP/4AAAAAAAAAAAAAAAAAAD/+AAAAAAA + AAAAAAAAAAAA//gAAAAAAAAAAAAAAAAAAP/4AAAAAAAAAAAAAAAAAAD/+AAAAAAAAAAAAAAAAAAA//gA + AAAAAAAAAAAAAAAAAP/8AAAAAAAAAAAAAAAAAAH//AAAAAAAAAAAAAAAAAAH//wAAAAAAAAAAAAAAAAA + P//8AAAAAAAAAAAAAB///////gAAAAAAAAAAAH////////4AAAAAAAAAAAB////////+AAAAAAAAAAAA + f////////gAAAAAAAAAAAH////////4AAAAAAAAAAAB/////////AAAAAAAAAAAAP////////wAAAAAA + AAAAAD////////8AAAAAAAAAAAA/////////AAAAAAAAAAAAP////////wAAAAAAAAAAAD////////+A + AAAAAAAAAAAf////////gAAAAAAAAAAAH////////4AAAAAAAAAAAB////////+AAAAAAAAAAAAf//// + ////wAAAAAAAAAAAD////////8AAAAAAAAAAAA/////////AAAAAAAAAAAAP////////wAAAAAAAAAAA + D////////8AAAAAAAAAAAA/////////gAAAAAAAAAAAH////////4AAAAAAAAAAAB////////+AAAAAA + AAAAAAf////////gAAAAAAAAAAAH////////4AAAAAAAAAAAB/////////AAAAAAAAAAAAP////////w + AAAAAAAAAAAD////////8AAAAAAAAAAAA/////////AAAAAAAAAAAAP////////4AAAAAAAAAAAB//// + ////+AAAAAAAAAAAAf////////gAAAAAAAAAAAH////////4AAAAAAAAAAAB////////+AAAAAAAAAAA + Af////////wAAAAAAAAAAAD////////8AAAAAAAAAAAA/////////AAAAAAAAAAAAP////////wAAAAA + AAAAAAD////////8AAAAAAAAAAAA/////////gAAAAAAAAAAAH////////4AAAAAAAAAAAB////////+ + AAAAAAAAAAAAf////////gAAAAAAAAAAAH////////4AAAAAAAAAAAA/////////AAAAAAAAAAAAP/// + /////wAAAAAAAAAAAD////////8AAAAAAAAAAAA/////////AAAAAAAAAAAAP////////4AAAAAAAAAA + AB////////+AAAAAAAAAAAAf////////gAAAAAAAAAAAH////////4AAAAAAAAAAAB////////+AAAAA + AAAAAAAf////////wAAAAAAAAAAAD////////8AAAAAAAAAAAA/////////AAAAAAAAAAAAP//////// + wAAAAAAAAAAAD////////8AAAAAAAAAAAAf////////AAAAAAAAAAAAH////////4AAAAAAAAAAAB/// + /////+AAAAAAAAAAAAf///////+AAAAAAAAAAAAH///////AAAAAAAAAAAAAB//////wAAAAAAAAAAAA + AAf/////4AAAAAAAAAAAAAAH/////8AAAAAAAAAAAAAAB/////+AAAAAAAAAAAAAAAf/////AAAAAAAA + AAAAAAAH/////wAAAAAAAAAAAAAAB/////4AAAAAAAAAAAAAAA/////+AAAAAAAAAAAAAAAP/////AAA + AAAAAAAAAAAAH/////wAAAAAAAAAAAAAAB/////8AAAAAAAAAAAAAAA//////AAAAAAAAAAAAAAAf/// + //wAAAAAAAAAAAAAAP/////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAH//////wAAAAAAAAAAAAA + P//////8AAAAAAAAAAAAA////////gAAAAAAAAAAAf////////4AAAAAAAAAAH//////////AAAAAAAA + AD///////////wAAAAAAAA////////////+AAAAAAAf/////////////wAAAAAH//////////////+AA + AAD////////////////wAAB//////////////////AAf//////////////////+P//////////////// + ////////////////////////////////////////////KAAAAGAAAADAAAAAAQAgAAAAAACAlAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAACAAAAAwICAQMCAgIDAgICAwICAgMCAgIDAQEB + AwAAAAIAAAACAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQDgwBEA4NBAcHBgYEBAMIAAAA + CgEBAAoBAQELAQEBCgEBAQoBAQEKAAAACgAAAAkBAQAIAAAABwAAAAUAAAAEAAAAAgAAAAIAAAABAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AGBaTgFPSkAEDw4NCQAAAA8AAAAUAAAAFwAAABgAAAAZAAAAGQAAABkAAAAZAAAAFwAAABYAAAAUAAAA + EgAAAA8AAAAMAAAACQAAAAcAAAAEAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIuDcwMyLyoIAQAAEQIBAR0RDw0tLSokSTcyK1VcVkptgXlp + jHt0ZoU2My1RBgYFLwAAACsAAAApAAAAJQAAACEAAAAcAAAAGAAAABIAAAAMAAAACAAAAAQAAAACAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsKOOAbmtmAuhknwenZB8LJCGdWNqZFiCmpGA + q6mgjti0q5foy76n9NrMs/ni1bz+5tnB/ujcxP/l2sP2wLelzExJQnAFBQVBAAAAOwAAADYAAAAxAAAA + KwAAACMAAAAaAAAAEgAAAAoAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ6OeAWyp5EcsKSOT6aYg2q4rZibq52I + vbqwm9a/taH0wbij/sO6pf7Fu6f+x72o/si+qv7Jvqn+08Su/t7Ru/7l28X+6uDL/u3jz/7u5dL+7+bT + /u7l0/ujnZG3FRQTVwAAAEkAAABEAAAAPQAAADQAAAApAAAAHQAAABEAAAAIAAAAAwAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArJ+KBbarliGrnok7raCLWrOnkomkloGnua6a + 1Lyynve9tKD/v7ah/8C3o/7CuaT/w7ql/sW8p//Hvan/yb+q/svBrP/Mwq3/zsSv/s7Fr//Ft6L/08Wx + /uHWwv/q4c//8OfW/vPr2v/07dz/9O7d/vXv3//27+D/1tHE4CQkImQAAABNAAAARwAAAD8AAAAzAAAA + JgAAABcAAAAMAAAABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwpZAFtauXFamchyOxppFMraGMdqmch5e3rZjFs6iU + 37ivmu+6sZ37vLOe/720oP6/tqH/wLej/8K5pP7Duqb/xbyn/8e9qf7Jv6r/y8Gs/szDrf/OxK//0Max + /tHIsv/TyrT/1cy2/sm9qP/Asp7/08e0/uPayv/u59f/9O7f/vfx4//48+X/+fPm/vn15//69ej/+vbp + /s3Kv9UWFhRWAAAARQAAAD0AAAAzAAAAJwAAABgAAAANAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0qpYBqJuGC7OplEGqnYhfr6SPhrWrlrKtoo3JtayX + 6retmf24r5r+ubCb/rqxnf68s57+vbSg/r+2of7At6L+wrmk/sO6pv7FvKf+x72p/sm/qv7Lwaz+zMOu + /s7Er/7QxrH+0ciy/tPKtP7VzLb+1s23/tjPuf7a0bv+29K8/rqrl/6/sZ/+1Mq5/uff0P7y7N7++PPl + /vv26v78+Oz+/Pjs/v357f79+e3+/fru/v367/6bmZKkAAAAPAAAADMAAAAqAAAAHwAAABQAAAAKAAAA + BAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ+RfAKsoYwSsaeTNLGnk0ayqJN5s6mVma6jj8CzqZXvs6qW + /rSrl/62rZj/t66a/7ivm/65sJz/u7Kd/7yzn/69tKD/v7ah/8C3o/7CuaX/xLum/8a8p/7Hvqn/ysCr + /8vBrP7Nw67/z8Ww/9DHsf7SybP/1Mu1/9XMtv7Xzrj/2M+5/trRu//c073/3dS+/t/WwP/h2MH/39a/ + /qqahv+/sqD/1sy8/uji1P/07+P/+vbq/v367v/+++///vvv/v778P//+/D//vvv/v/88P/28+fyNDMw + TwAAACkAAAAfAAAAFwAAAA4AAAAHAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAqJyHAa6kkA+jloEfp5uHNaufimmekHuGr6WRs6meidmvpZHosqiU + +LKplf6zqpb/tKuX/ratmP+3rpr/uK+b/7mwnP67sp7/vLOf/720oP6/tqL/wbij/8K5pP7Eu6b/xryo + /8i+qf7KwKv/y8Gs/83Drv7PxbD/0Mex/9LJs/7Uy7X/1cy2/9fOuP7Z0Lr/2tG7/9zTvf7e1b7/39bA + /uHYwf/i2cP/5NvF/uXcxv/n3sj/2M23/qeWg/+9sJ//1cu7/uji1P/08OP/+/fr/v367v//++///vvv + /v777//+++7//vru/v767f/9+ez+jouEkgAAACgAAAAdAAAAFAAAAAsAAAAGAAAAAgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK+mkhCyp5J/pJeCwK+mkt6wp5P3sKeT + /rGok/+xqJT/sqmV/rOqlv+0q5f/tq2Y/reumv+4r5v/ubCc/ruynf+8s5//vrWg/7+2ov7BuKP/wrml + /8S7pv7GvKj/yL6p/8m/q/7Lwa3/zcOu/8/FsP7Qx7H/0smz/9TLtP7VzLb/1864/9nQuv7a0bv/3NO9 + /97Vvv7f1sD/4djB/+LZw/7k28X/5dzH/ufeyP/o38r/6eDL/uvizP/s483/08ey/qSSf/+6rJr/0se3 + /uXez//y7d//+fXo/vz46//9+ez//fjr/vz46v/89+n//Pbo/vv25//79eX/2dTG0AAAADEAAAAlAAAA + GQAAABAAAAAJAAAABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsKeT + Rq+mkuewp5P+saiT/rKplf6zqpX+tKuW/rWsmP62rZn+t66a/rivm/66sZz+u7Ke/r20n/6+taD+v7ai + /sG4o/7DuqX+xLum/sa9qP7Ivqr+ysCr/szCrf7Nw67+z8aw/tHHsv7SybP+1Mu1/tbNt/7Xzrj+2dC6 + /tvSu/7c073+3tW//uDXwP7h2ML+49rE/uTbxf7m3cf+597J/ungyv7q4cv+6+LM/uzjzv7u5c/+7+bQ + /vDn0f7x6NL+1sq0/p6Md/6zpJH+y76s/t7VxP7s5dX+9e7e/vjy4v758+P++fPi/vny4f748d/+9/De + /vfv3P727tv+8+rW+AQEBEEAAAA0AAAAKAAAABwAAAASAAAACgAAAAYAAAADAAAAAQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAACzqpZMsqmV8LOqlv+0q5f/tayY/ratmf+3rpr/uK+b/rqxnf+7sp7/vLOf + /r61of/At6L/wbij/sO6pf/Fu6f/xr2o/si+qv/KwKv/zMKt/83Erv7PxrD/0cey/9LJs/7Uy7X/1s23 + /9jPuP7Z0Lr/29K8/9zTvf7e1b//4NfA/+HYwv7j2sT/5NvF/+bdx/7n3sj/6eDK/+rhy/7r4s3/7eTO + /+7lz/7v5tD/8OfR/vHo0v/y6dP/8+rU/vTr1f/069X/49jC/peDbv+rmoX/wbKe/tbKtv/l28j/7+bS + /vPq1//17Nj/9ezX/vTr1f/z6dP/8ujS/vLn0P/x5s3/8OTM/h4cGVUAAABCAAAANwAAACsAAAAfAAAA + FgAAAA0AAAAHAAAABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALivmim1rJjptq2Z/reumv64r5v+urGc + /ruynv69tJ/+vrWg/r+2ov7BuKP+w7ql/sW7p/7Gvaj+yL6q/srAq/7Mwq3+zcSv/s/GsP7RyLL+08mz + /tTLtf7Wzbf+2M+4/tnQuv7b0rz+3dS9/t7Vv/7g18D+4djC/uPaxP7k28X+5t3H/ufeyP7p4Mr+6uHL + /uvizP7t5M7+7uXP/u/m0P7w59H+8OfR/u/m0P7q4cz+3tbC/trSv/7v59H+9OvV/vTr1f7069X+8unT + /pSAaP6ijnf+tqWO/su8pf7cz7f+59vD/uzhyf7v48r+7+PJ/u7ix/7t4MX+7N/D/uvdwf7r3L7+6tu8 + /hYVEloAAABMAAAARAAAADoAAAAvAAAAJAAAABkAAAAQAAAACgAAAAUAAAACAAAAAQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvrSg + AbqxnL26sZ3/vLOe/r20oP++taH/wLei/sK5pP/DuqX/xbun/se9qP/Jv6r/ysCs/szCrf/OxK//z8aw + /tHIsv/TyrT/1cy1/tbNt//Yz7n/2tG7/9vSvP7d1L7/39a//+DXwf7i2cL/49rE/9/Xwf7b073/x7+t + /83Fsv6tp5f/npiK/7ixof7s483/7uXQ/+vjzf7n38r/0Mm2/9PMuP7Gv63/ycKw/8S9rP7DvKv/r6ma + /tHKt//v5tD/9OvV/vXs1v/17Nb/9OvV/qSQef+Xgmr/qpZ9/r6skv/QvqP/3Myw/uPUtv/n2Ln/6Ni5 + /ufYt//n1rX/5dSy/uXTsP/k0q7/28mm8AAAAFQAAABQAAAASwAAAEQAAAA8AAAAMQAAACcAAAAdAAAA + FAAAAAwAAAAHAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAwLaiRL61of3At6P/wrmk/sO6pv/FvKf/x72p/sm/qv/Lwaz/zMKt + /s7Er//QxrH/0ciy/tPKtP/VzLb/1s23/tjPuf/a0bv/29K8/t3Uvv/f1r//3dW//93Uvv7Tyrb/1My3 + /8K6qP61rp7/qaOT/66nmP67tKT/rqeY/9PLuP7Syrf/zcWz/8nCsP6+uKb/wLqo/8K7qv7NxbP/v7io + /8W+rf7a0r7/29O//9TMuv7Buqn/uLKi/qGcjv/m3sn/9OvV/vXs1v/17Nb/9OvV/rinkP+PeF7/n4lu + /rGdgP/Cr5D/0b2d/trHpf/fzKj/4c6o/uHNqP/gzKX/38qj/t7Jof/dx57/pJR2xwAAAFEAAABPAAAA + TAAAAEgAAABDAAAAPAAAADMAAAAqAAAAIAAAABYAAAAPAAAACQAAAAQAAAACAAAAAQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADHvqkBxLumrcW8p/7Hvan+yb+q + /svBrP7Mwq3+zsSv/tDGsf7RyLL+08q0/tXMtv7Wzbf+2M+5/trRuv7b0rz+3NO9/tXMt/7Wzbj+0ci0 + /rmyoP6noJH+o52O/rmyof6vqZn+zMSy/tTMuP7Syrf+ysKw/tTMuf65s6L+pZ+R/rOtnf66s6P+u7Sk + /tXNuv7Wzrv+18+8/tnRvf64sqL+yMGv/paRhf7Auaj+wruq/tzTwP7Syrf+4tnF/tfPvP7QyLb+9OvV + /vTr1f7069X+9OvV/s7Aqf6Hb1X+lX1h/qWOcP62oH/+xa+L/tC5lP7Wv5f+2cKY/trCl/7ZwZb+2L+U + /ti+kf7WvI/9V006iQAAAE0AAABLAAAASgAAAEgAAABEAAAAQQAAADoAAAAzAAAAKwAAACEAAAAZAAAA + EQAAAAoAAAAGAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAADMw64Zy8Gs7s3Drv7OxbD/0Mex/tLJs//Uy7T/1cy2/tfOuP/Yz7n/1864/tbNuP/Kwa7/ysKu + /rGqmv+kno//nZeK/qSej/+5sqL/z8e0/r+4pv/QyLX/z8e0/7y1pP65sqL/xr+t/7+4p/7Kw7H/sqyd + /8vDsf7a0r7/4NjD/8O8q/7Evaz/npmL/7u0pP6wqpv/wruq/9PLuP7Xz7z/08u4/+ffyv7Gv67/qqSW + /66omf60rp7/xr+t/t7Wwv/c08D/8+rV/vXs1v/17Nb/9OvV/uLWwP+GblT/i3NW/pqBYv+qkW7/uaB6 + /sSrgv/Nsob/0baJ/tO3iP/Tt4f/0raF/tG1g/+ymW/ZDQsITgAAAEgAAABGAAAARQAAAEQAAABCAAAA + QAAAADwAAAA4AAAAMgAAACsAAAAjAAAAGwAAABIAAAAMAAAABwAAAAMAAAABAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADSybNJ0smz/9PKtP7VzLb/1cy2/tDHsv/Lw67/urKg + /qihkv+qpJT/mJOF/sG5p/+4saD/w7up/snBr//Iwa7/y8Sx/ry1pP+0rZ7/sqyc/qCbjf+5sqL/x8Cu + /8S9q/7UzLn/08u4/9nQvf63sKD/w7yr/5iTh/6+t6f/xr+u/8fAr/7Wz7z/2NC9/8fAr/69tqX/vbam + /6SekP66s6P/vbam/9/Xw/7Wz7z/3dXB/9XNuv7Gv67/uLGh/pqUiP/Px7X/8+rU/vXs1v/17Nb/9OvV + /vHo0f+MdVz/hGtP/pF3WP+ghWL/rpNr/rqfc//Ep3j/yqx7/s2ve//Nr3r/za55/sepdfZANiVxAAAA + QwAAAEIAAABBAAAAQAAAAD8AAAA+AAAAPAAAADoAAAA3AAAANAAAAC8AAAApAAAAIgAAABoAAAATAAAA + DQAAAAcAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYz7l42dC5 + /trRu/7c073+rqeW/pSOgf6knY7+vrel/sW9qv7Syrb+y8Ow/sS9qv7Cu6n+o52O/qqklf7Cuqn+wLmo + /snCr/7Rybb+zse0/tDItf69tqb+ubKi/rWun/6ln5H+wryr/uDXw/7UzLn+2tK+/uHZxP7Gv67+wbqq + /qqklv6inY/+1My5/sa/rv7Ty7n+29O//tHJt/7Px7X+xL2s/piThv6tp5n+39fD/snCsP7Z0b7+3NTA + /srCsf7Qybb+5NzI/vTr1f7069X+9OvV/vTr1f6gjHP+f2ZK/olvUP6We1j+o4hf/rGUZ/67nWz+wqNv + /sencf7JqHH+yahw/m1bPZECAgE/AAAAPAAAADsAAAA6AAAAOgAAADgAAAA3AAAANgAAADUAAAAzAAAA + MQAAAC4AAAAqAAAAJgAAAB8AAAAYAAAAEQAAAAoAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAADe1b+V4NfA/+HYwv7j2sP/y8Ow/qehkv+8taT/o52P/piThv/Gvq3/wbqo + /tDItf/Y0Lz/zMWy/tTMuf+ln5H/q6WW/r22pv+sp5j/q6WW/tvTv//Syrj/4djE/8S9rP7Gv67/sKqa + /6agkv64saH/vrem/+Laxv7b07//3dXB/8W+rP6yrJ3/xL2s/6ijlP6zrZ3/vren/9DJtv7b07//3tbC + /87Htf7DvKv/wbuq/8zEsv7Fvq3/0Mm2/r63pv/Ox7T/6eHM/vXs1v/17Nb/9OvV/vXs1v+7qpL/e2JH + /oNpS/+Oc1H/m39X/qiKXv+0lWP/vJxn/sKiav/Domv5dWFAlAAAADYAAAA1AAAANAAAADMAAAAyAAAA + MQAAADAAAAAvAAAALgAAAC0AAAAsAAAAKgAAACgAAAAmAAAAJAAAAB8AAAAaAAAAEwAAAAwAAAAHAAAA + AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADk28Wg5t3H/+feyf7p4Mr/0cm2 + /rqzo//MxbL/wruq/szFsv/Evav/vrin/pqViP/Bu6n/vLal/tXNuv/NxrT/0su4/sO8q//IwK//r6ma + /sS9rP+emIz/yMGv/8O8q/7UzLn/29O//8/Htf7Lw7H/wruq/5yWif7Cu6r/yMGv/8rDsf7Syrf/2dG+ + /8zEsv7Iwa//u7Sk/7Sunv7LxLL/0cm3/9PLuP7HwK//2dG+/9LKuP7UzLn/rqiZ/sO8q/+cl4r/2tK+ + /vXs1v/17Nb/9OvV/vXs1v/Ux7D/eF9F/n5kSP+HbEz/lHhT/aCDWfWjh1rooIVY0ZJ5UK1OQSpsBAMC + LgAAACsAAAAqAAAAKQAAACgAAAAnAAAAJgAAACUAAAAkAAAAJAAAACMAAAAiAAAAIQAAAB8AAAAeAAAA + HAAAABkAAAAVAAAAEAAAAAsAAAAGAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAADq4cuZ6+LM/uzjzv7u5c/+2tK+/paRhf7Buqj+vLWl/tLKt/7Xz7z+3dXB/r63p/62r6D+urSk + /q6omf6po5X+x8Cv/s7GtP7Xz7z+29O//tDItv65s6P+ubKi/q6nmP7OxrT+xL2s/s7Htf7d1cH+4NjE + /sS9rP7MxLP+uLKi/qqklv6yq5z+xb+t/sO9q/7Z0b7+19C8/tTMuf7Lw7L+ubKi/rWvn/6qpJb+s62d + /s3GtP7i2sb+4NjE/vHo0v7z6tT+9OvV/vTr1f7069X+9OvV/vTr1f7p38j8fWZMymtWPKxcSjOFPjIj + Yi8mGkcWEQwtBAMCIwAAACAAAAAfAAAAHgAAAB4AAAAdAAAAHAAAABwAAAAbAAAAGgAAABkAAAAZAAAA + GAAAABcAAAAWAAAAFgAAABUAAAAUAAAAEwAAABEAAAAOAAAACwAAAAcAAAAEAAAAAgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADu5c948OfR//Ho0v7y6dP/8OfR/sjBr//IwK//paCS + /qKcj/+wqpv/wbqp/szEsv/Z0b7/0Mi2/sW+rf/Gv63/pZ+R/qmjlP+tp5j/zMWz/tXNuv/NxrT/2NC9 + /9jQvf6wqpv/urOj/763pv7Fvaz/0cq3/8nCsP7MxbP/3dXB/9bOu/7Cu6r/vrin/5mUh/6po5X/wLmo + /8O8q/7Z0b7/6uLM/+3kz/7069X/9ezW//Tr1f717Nb/9OvV/vXs1v/17Nb/9OvV/vXs1v/17Nb/9OvV + /vXs1v/069X5SUY/RQEAABUAAAAVAAAAFAAAABQAAAAUAAAAEwAAABIAAAASAAAAEQAAABEAAAAQAAAA + EAAAAA8AAAAPAAAADgAAAA4AAAAOAAAADQAAAAwAAAAMAAAADAAAAAsAAAAKAAAACgAAAAkAAAAHAAAA + BgAAAAQAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADx6NI/9OvV + /vTr1f7069X/8unU/srCsf/Vzrr/xb6t/tDJtv/Buqn/vrem/sK6qv+vqZv/urSj/sfArv/Ty7n/3dTB + /svEsv/Bu6r/q6WW/ru0pP+moJL/ubKi/9rTv/7Lw7L/0cq3/9DJtv7Vzbr/r6ma/8S9q/6emYz/xL2s + /8O8qv7d1MH/49vH/+3kz/7x6NL/9OvV//Tr1f717Nb/9ezW//Tr1f717Nb/9ezW//Tr1f717Nb/9OvV + /vXs1v/069X/9OvV/vPq1P/17Nb/9OvV/vXs1v/17Nb/lpGDahIRDwoNDAoJBgUECQICAQkBAQEJBAMC + CQYFAwgDAwIIAQEBCAAAAAgAAAAHAAAABwAAAAcAAAAHAAAABgAAAAYAAAAGAAAABgAAAAUAAAAFAAAA + BQAAAAUAAAAEAAAABAAAAAMAAAADAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAADy6dMZ9OvV7/Tr1f7069X+9OvV/rixof6qpJX+u7Wl/tLKt/7Xz7z+3dXB + /tLKuP7PyLb+wbqp/rOsnf6oopT+1c26/sa/rf7Xz73+z8e1/sfArv7Qybf+q6aX/snCsP6up5n+sqyc + /svEsv7f18P+5t3J/u7l0P7069X+9OvV/vTr1f7069X+9OvV/vTr1f7069X+9OvV/vTr1f7069X+9OvV + /vTr1f7069X+9OvV/vPq1f7v5tH+7eXP/tDItv7LxLL+urOk/sS9rP7069X+9OvV/vTr1f7069X+4tnE + m5aPgANqZVkDMi4nAwoIBgMFBAIDAgIBAwEAAAMAAAADAAAAAwAAAAIAAAACAAAAAgAAAAIAAAACAAAA + AgAAAAIAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD069UG9ezVyvTr1f717Nb/9OvV + /uTbx/+sppf/rKaX/sK8q/+cl4r/zse1/tPLuP/UzLn/2dG9/s3Fs//Px7X/p6GT/qehk//Evaz/tK2e + /r23pv/g2MT/6eHL//Pq1P717Nb/9ezW//Tr1f717Nb/9ezW//Tr1f717Nb/9ezW//Tr1f717Nb/9ezW + //Tr1f717Nb/9OvV//Pq1P7r487/6N/K/9jQvf7Evaz/ta+f/7avoP61r5//2tK+/ravoP/Xz7z/1s67 + /uHZxf/z6tT/9OvV/vXs1v/17Nb/9OvV0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA9OvVm/Tr1f717Nb/9OvV/urizP/Iwa//0su4/r23pv/Cu6r/wruq/sjBr/+knpD/vren + /tDItv/d1cH/5t7J/u/n0f/z6tT/9OvV/vTr1f/17Nb/9ezW//Tr1f717Nb/9ezW//Tr1f717Nb/9ezW + //Tr1f7069X/9OvV//Ho0/7u5c//4dnF/9/Wwv6+t6b/raeY/8a/rv6xqpv/yMGv/9XOu/7OxrT/08u5 + /9vTv/7Syrj/zca0/sjBsP+4saH/qqSW/s3Gs//x6dP/9OvV/vXs1v/17Nb/9OvV+9zTwA0AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9OvVZfTr1f7069X+9OvV/uzjzv6kn5H+vbem + /s7GtP7Z0b7+7OPO/vLp0/7069X+9OvV/vTr1f7069X+9OvV/u/m0f7s487+18+8/t7Wwv7069X+9OvV + /vTr1f7069X+9OvV/vTr1f7w59L+7+bQ/tHKt/7Kw7H+tq+f/q2nmP67tKT+qaOU/tTMuf7NxrP+0sq4 + /tXNuv7JwrD+zse0/sO8q/7Kw7H+q6aX/sW+rf7Vzbr+49vG/tXOu/7Wzrv+tK6f/rKsnP7u5dD+9OvV + /vTr1f7069X+9OvV/vTr1T8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezW + LfTr1f717Nb/9OvV/vXs1v/069X/9OvV/vXs1v/17Nb/9OvV/vLp0//t5M//3NTB/szFs/+7tKT/sqyd + /qqklf+rpZf/sqyd/srDsf/v5tD/49rG/9XNu/6/uKf/tK6e/8jBr/6wqpv/1My5/8W+rf7Xz7z/1My6 + /93Vwf7IwK//tK6f/722pv6yrJ3/sqyd/8vEsv7Ty7j/2tK+/+HZxP7Fvqz/zca0/5uWif7Gv63/v7in + /snCsP/NxrP/4NfD/tbOu//g2MT/9OvV/vXs1v/17Nb/9OvV/vTr1XgAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWBPTr1fL17Nb/9OvV/vXs1v/r4s3/18+8/sjBsP/JwbD/t7Cg + /rOtnv/MxbP/ubKi/sa/rv/NxrP/2NC9/sa/rv+/uaj/sqyc/rGrnP/DvKv/zsa0/8O8q/7Qybb/0su4 + /9HJtv7IwK//0Mm3/8e/rv7Gv63/qaOV/8vDsv7UzLr/2tK//9PLuP7JwrD/rqiZ/8jBr/6noZP/ubOi + /9bOu/7JwrD/2dG+/97Wwv7LxLL/sqyd/rewof+vqZr/zse0/tDJtv/Z0b7/9OvV/vXs1v/17Nb/9OvV + /vXs1q0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPTr1cH17Nb/9OvV + /vXs1v/Uzbr/q6WW/s3GtP/Xz7z/0Mi2/sS9q/+5sqL/ubOj/sW+rf+4saH/zcWz/sjBr//Ox7T/18+8 + /szFs//JwrD/tK6e/6Wfkf7Evaz/s62d/764p/7Vzrr/4dnE/9vTv/7Iwa//vbam/6OdkP6zrJ3/ysOx + /7iyov7Ty7n/0Mm3/9HJt/7KwrH/uLKi/6mjlf60rp7/s6yd/+Tcx/7QyLb/1s+7/ujgy//y6dP/9OvV + /vXs1v/17Nb/9OvV/vXs1v/17Nb/9OvV/vXs1tj17NYMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAPTr1Yj069X+9OvV/vTr1f7v5tH+t7Gh/qKcj/6rpZf+vren/sjAr/7X0L3+29PA + /tbOu/7Vzrv+rqiZ/sK7qv6yrJz+wruq/r22pv7Ryrf+2dG+/tXNuv7UzLn+ubKi/ry1pf6moJL+t7Ch + /tXOuv7Iwa/+39bC/tzUwP7Ty7j+zca0/qOdkP6noZP+y8Sy/rWun/7Kw7H+5NvH/urizf7z6tT+9OvV + /vTr1f7069X+9OvV/vTr1f7069X+9OvV/vTr1f7069X+9OvV/vTr1f7069X+9OvV/vTr1fn069UjAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPTr1VP17Nb+9OvV/vXs1v/x6NP/0cq3 + /r+4p//Y0L3/qqSW/q6omv/Kw7H/xL2s/s7GtP/c1MD/1My6/tnRvv+1r5//vbam/rawoP+xq5z/q6WW + /9DJtv7Ryrf/2NC9/8vEsv7PyLX/saqb/7Grm/6zrZ7/wLmo/+DYxP7Xz7z/5d3I/+rizf7v5tH/9OvV + //Tr1f717Nb/9ezW//Tr1f717Nb/9ezW//Tr1f717Nb/9OvV/vXs1v/169X/9OvV/vPq1P/y6dP/8urU + /vXs1v/17Nb/9OvV/vXs1v/17NZUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + APTr1Sj17Nbz9OvV/vXs1v/z6tT/xr6t/rqzo//Vzbr/zse1/tnRvv/Qybb/u7Sk/puWif/Evaz/sqyd + /tPLuP/JwrH/18+8/snBsP/Syrj/u7Sk/7Otnf6VkIT/v7io/7awoP7Syrj/39fD/+rhzP7y6dP/9ezV + //Tr1f717Nb/9ezW//Tr1f7z6tT/6uHM/9fPvP7NxbP/7eTP//Tr1f717Nb/9ezW//Tr1f7069X/7uXQ + /uffyv/Xz7z/0cm2/qKcj/+0rp7/2dG9/vXs1v/17Nb/9OvV/vXs1v/17NaKAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPTr1Qb069Xd9OvV/vTr1f7069X+0cq3/pmUh/7Auan+raeY + /tDJtv7Vzbr+3NTA/s3Fs/64saL+ysOx/qWfkf6ZlIf+wbqp/rmyov7b08D+3dXB/vHo0/7z6tX+9OvV + /vTr1f7069X+9OvV/vPq1f7x6NL+5dzI/tnRvv7Ryrf+w7yr/qiilP61rp/+uLKi/rCqm/7HwK7+5NzI + /uDYxP7b07/+z8e1/rqzo/6gmo3+u7Wk/s3GtP7Y0L3+3NTA/tvTv/7Evaz+39fD/vTr1f7069X+9OvV + /vTr1f7069XCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17Nau9OvV + /vXs1v/17Nb/6ODL/szFs//NxbP/qqSW/pqVif+rpZf/ta6e/sK7qv/Syrj/4tnF/uvizf/w59H/9OvV + /vXs1v/17Nb/9OvV//Pq1P7t5M//5d3I/9jQvf7UzLn/wbqp/7+4qP7Sy7j/pqCT/8nCsP7NxrP/1c27 + /9HJt/7MxLL/ycKw/7Otnf62sKD/tq+f/8C5qP7b07//3NTA/9zUwP7Hv67/vrin/r+4qP/Kw7H/p6GT + /s3GtP+5s6P/29PA/vPq1P/17Nb/9OvV/vXs1v/17Nbn9OvVEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD17NZ49OvV/vXs1v/17Nb/6eDL/ru1pf/Vzrr/2dG+/uzjzv/y6dP/9OvV + /vXs1v/17Nb/9OvV/vPq1P/w59L/4tnF/tzTwP/HwK//wLmo/87HtP6moJL/tK6e/7+4p/7TzLn/3NTB + /97Wwv7Y0L3/08y4/6ynmP6vqZr/vLWk/8C6qf7Iwa//3dXB/87Htf7Ox7X/ysKx/7Sunv60rZ7/wruq + /7u0pP7NxrT/zcWz/tnRvf/NxrT/yMGv/rawoP/e1sL/s62d/ujgy//17Nb/9OvV/vXs1v/17Nb59OvV + NQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD069VA9OvV/vTr1f7069X+9OvV + /vTr1f7069X+9OvV/vHo0v7o38r+5d3I/sjAr/7c1MD+ycKw/q6omf7Auaj+q6WX/rixov7Lw7H+29O/ + /trSvv7Fvq3+uLGh/tDItf6ZlIf+uLKi/sO8q/7d1cH+3dTB/t7Wwv6/uKj+y8Ox/rKsnP63sKD+s62d + /qyml/6/uKf+2dG9/tjQvf7Lw7H+xb6t/rewof7Gv67+zMWz/rWvn/7Buqn+18+8/t3Uwf7Evav+ycKw + /vDn0v7069X+9OvV/vTr1f7069X+9OvVaQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAD17NYZ9OvV8PXs1v/17Nb/9OvV/ungy//DvKv/ubKi/rWun/+moJL/v7io/rmzo//f18P/39fD + /tjQvf/Iwa//1s67/qymmP+5s6P/qaOV/8nCsP7HwK//0Mi1/+DXw/7JwrD/ubKi/7qzo/7Bu6n/s6yd + /8a/rv7DvKv/1s67/9bOu/7Sy7j/saub/83Fs/6zrZ7/pZ+R/8fArv7Buqn/0su4/9jQvf7NxbP/sKqb + /tvTv/+4saH/wLmo/svDsf+/uKf/2NC9/unhzP/069X/9OvV/vXs1v/17Nb/9OvVngAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NYH9OvVzfXs1v/17Nb/9OvV/tzUwf/Gv67/1My5 + /tjRvf++t6b/zcWz/r63pv/Gv63/vLal/svEsv/Fvq3/2tK+/svEsv/UzLn/sKqb/6agkv7Auqj/raeY + /9fPvP7HwK//1c66/9bOu/7Iwa//yMCv/7Ksnf7Z0b7/wLmo/8vDsv7Syrj/x8Cu/9zUwP7Uzbr/vren + /8S9rP6+t6f/v7mo/8C6qf7KwrH/0sq4/uLaxv/TzLn/4NjE/qull/+/t6f/sKqb/sfAr//z6tT/9OvV + /vXs1v/17Nb/9OvV1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9OvV + nPTr1f7069X+9OvV/uPbxv6dl4r+o56Q/tTNuv6+t6b+3NTA/uLZxf6/uKf+ubOj/rmzo/63sKD+r6ma + /rq0o/7Wzrv+1My5/tbOuv7a07/+s62d/rewoP6rpZb+o56Q/svDsf7Cu6r+18+9/t3Vwf7Gv67+vbam + /sW+rf64saH+op2P/r22pv7Iwa/+zMSy/uHZxf7Ryrf+z8i1/s7GtP6qpJX+ta+f/r63pv7LxLL+49rG + /trSvv7Wzrv+xL2s/svEsv7v5tH+9OvV/vTr1f7069X+9OvV/fTr1RAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA9OvVZvXs1v/17Nb/9OvV/vHo0v+/uKf/v7in/q6omf+wqpv/ycKw + /tPMuf/Fvq3/0su4/tDJt//Ryrf/uLKh/qahk/+6tKT/qqSW/8S9q/7Ryrf/zca0/9fPvP7IwK//18+8 + /722pv68taX/xb6t/8jAr/7Dvav/18+8/9rSvv7Xz7z/ubKi/8vEsf6oopT/o52Q/8fAr/7LxLL/2tK+ + /+DXw/7Y0L3/ubKi/sS9rP+7taT/ycKw/s3Fs//Rybf/xb6t/tjQvf/x6NL/9OvV/vXs1v/17Nb/9OvV + /vXs1kQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9OvVMfXs1v/17Nb/9OvV + /vLp0//PyLb/2NC9/tbPu//Auan/rKaX/rGrnP+emYz/wruq/rGrm//Vzbr/0cq3/s3GtP/OxrT/sKqb + /7ixof7NxrP/nZiL/8zFs/6/uKf/3NTA/97Wwv7NxbP/18+8/7iyof62r6D/raeY/722pv7Qybb/ycKw + /93Vwf7Syrj/wbuq/7q0pP6xq5z/wLmo/8nCsP7Z0b3/0Mm2/tDItv/d1cH/zse0/r+5qP+vqZr/rqeZ + /qehk//q4c3/9OvV/vXs1v/17Nb/9OvV/vXs1noAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA9OvVA/Tr1fP069X+9OvV/vTr1f6/uKf+t7Gh/rqzo/7Fvq3+08y5/tvTv/7c1MD+u7Sk + /rCqm/6jnpD+oJuN/sa/rf7HwK7+1c26/tHJtv7Z0b7+1c26/rStnv6moJL+rqia/szEsv7HwK7+4NfD + /t7Wwv7Z0b3+ubOj/sfArv6xq5z+o52P/r23pv7IwK/+y8Sy/uHYxP7QyLb+ysOx/s7HtP6oopT+w7yr + /pyWiv7MxLL+08y5/urizP7p4cz+8+rU/vTr1f7069X+9OvV/vTr1f7069X+9OvV/vTr1bIAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1sL17Nb/9OvV/vXs1v/g2MT/qqSV + /rCqm/+wq5v/t7Gh/r22pv/Y0Lz/0su4/tnRvv/JwrD/0Mm2/q+pmv+noZP/pqCS/763pv7Ryrf/3NTA + /83GtP7Xz7z/wruq/62nmP6zrJ3/y8Sy/8zEsv7Y0L3/ysKx/9LKuP7Ty7j/19C8/66nmP61r5//mJOG + /8C5qf6/uKf/1c26/+TcyP7p4Mz/8OfR/vPq1P/069X/9OvV/vXs1v/17Nb/9OvV/vXs1v/17Nb/9OvV + /vXs1v/17Nb/9OvV/vXs1tv17NYOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + APXs1oz17Nb/9OvV/vXs1v/p4Mv/z8i2/tPMuf/OxrT/urOj/qiilP+vqZv/rqia/tfPvP/Vzbr/29PA + /t/Xw//MxbP/ysOx/6ull/6uqJn/ta6f/7Cqm/7PyLb/18+8/9bOu/7Rybf/xL2s/83Fs/6loJL/v7mo + /6agkv7LxLL/2NC9/9/Ww/7r487/7+bR//Pq1P717Nb/9ezW//Tr1f717Nb/9OvV/vXs1v/17Nb/9OvV + /vXs1v/17Nb/9OvV/vXs1v/069X/9OvV/vXs1v/17Nb/9OvV/vXs1vr17NYlAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPTr1VT069X+9OvV/vTr1f7x6NL+trCg/q+pmv7Evav+1s+8 + /tbPu/7e1sL+ysOx/sG6qf7Fvq3+p6GT/rq0pP7PyLb+1M26/tLLuP7Syrf+vbam/se/rv63saH+ta6f + /r22pv64saH+2NC9/uvjzf7s5M7+8+rU/vTr1f7069X+9OvV/vTr1f7069X+9OvV/vTr1f7069X+9OvV + /vTr1f7069X+9OvV/vTr1f7z6tT+6+PN/uTcx/7X0Lz+0Mi2/qijlP69tqX+5d3I/vTr1f7069X+9OvV + /vTr1f7069VZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1in17Nbz9OvV + /vXs1v/069X/ysOx/pqViP/DvKr/qqSV/rSunv/b07//18+8/s/Itf/Z0b7/vbam/srCsf+blon/r6ma + /8rDsf7Fvaz/ycGw/+rhzP7r487/8+rU//Tr1f717Nb/9ezW//Tr1f717Nb/9ezW//Tr1f717Nb/9ezW + //Tr1f717Nb/9OvW//Pq1P7v59H/6uHM/+LZxf7a0r7/0sq3/rKrnP+up5n/vbem/tXNuv/Z0b3/3tbC + /tTNuv/Fvq3/6eDL/vXs1v/17Nb/9OvV/vXs1v/17NaOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAPXs1gj17Nbf9OvV/vXs1v/069X/49rG/snCsP/Sy7j/tK2e/sW+rP+/uKf/v7mo + /q+pmv/Syrj/1M26/ujgy//s487/9OvV//Tr1f717Nb/9ezW//Tr1f717Nb/9ezW//Tr1f717Nb/9ezW + //Tr1f717Nb/9ezW//Tr1f7z6tT/6uHM/9nRvv7Syrj/w7yr/6+omv64sqH/urOj/8S9rP7d1cH/3tbC + /t/Xwv++t6b/ycKw/rWvn//Fvq3/p6KT/srDsf+7taX/5t3J/vXs1v/17Nb/9OvV/vXs1v/17NbFAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD069Wv9OvV/vTr1f7069X+2dG+ + /qqklv7Ty7n+1s67/uvizf7z6tT+9OvV/vTr1f7069X+9OvV/vTr1f7s487+4dnF/tXNuv7Auqn+3NTA + /vTr1f7069X+9OvV/vLp0/7s487+5NzH/uPbxv7Wz7v+0cm3/qOdkP63saH+uLGh/ry1pf7LxLH+3NTA + /s7Htf7Vzbr+vrem/rqzo/68tqX+saub/sS9q/7Evaz+08y5/tTNuv7Ox7T+xb6t/r+4p/7Vzbr+s62e + /vLp1P7069X+9OvV/vTr1f7069Xp9OvVFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAD17NZ59OvV/vXs1v/17Nb/9OvV/vTr1f/17Nb/9OvV/vDn0f/n3sr/5NvH/srCsf/a0r//wbqp + /rixof+3sKH/rqeZ/7mzov7MxbP/3tbC/9rSv/7DvKv/vbam/8C5qP6blon/urSj/87GtP7a0r7/3NTB + /9nSvv68tqX/yMGv/7y2pf6po5X/ubKi/6milP7Fvq3/08y5/9XNuv7Hv67/yMGv/rOtnf/Wzrv/wbqp + /rOtnf/Evaz/1s67/tnRvv/Cu6r/1s67/vPq1P/17Nb/9OvV/vXs1v/17Nb69OvVOQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NZE9OvV/vXs1v/17Nb/9OvV/uHYxP+7tKT/s62d + /rCqm/+hnI7/v7in/ru0pP/h2cX/4dnE/tXNuv/Ox7X/ysOx/7GrnP6vqZr/q6WW/8rDsf7Gv67/18+8 + /9zUwP7Px7X/sqyd/7avn/7HwK7/p6GT/8/Htf69tqb/29O//9fPvP7LxLL/sKqb/9HJt/6ppJX/pJ6Q + /8vEsv7Auaj/1s67/tvTv//Iwa//tK2e/t3Vwf+5s6L/u7Sj/sjAr//Auqn/3tbC/u7l0P/17Nb/9OvV + /vXs1v/17Nb/9OvVagAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD069UZ9OvV + 8fTr1f7069X+9OvV/s3Fs/7Evaz+1My5/tXNuv7Buqn+0sq4/ru0pP7Evaz+wruq/sG6qf7IwK/+18+8 + /tHJt/7Syrj+urSk/qGbjv7Evqz+raeY/tHKt/7Iwa/+0cm2/tXNuv7KwrH+yMGv/ravoP7f1sP+u7Sk + /sjBr/7MxbP+x8Cv/t7Wwv7Qybb+xb6t/r+4p/68taX+xLyr/sS9rP7Evaz+1c26/t/Xw/7Vzbr+3tbC + /q2nmP67tKT+squc/s7GtP7069X+9OvV/vTr1f7069X+9OvVowAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD17NYH9OvVzfXs1v/17Nb/9OvV/tXNuv+cl4r/tK2e/srDsf/Cu6r/3tbC + /t3Vwf+4sqL/x8Cu/q+pmv/Buqn/qqSV/7+4qP7Y0L3/08u4/83Fs/7Vzrv/q6WW/8C6qf6loJL/rqeZ + /8a/rv7Fvq3/2NC9/9rTv/7Auaj/xr+u/8G6qf6vqZr/pJ6R/8a/rf7Fvq3/zcaz/97Wwv7Ox7X/1M26 + /r63p/+2r6D/sKqa/sG6qf/QyLb/49vG/tXOu//QyLb/ysKx/tTMuf/z6tT/9OvV/vXs1v/17Nb/9OvV + 2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9OvVoPTr1f7069X+9OvV + /uvizf60rp7+xL2s/qCajf62sKD+xb6t/tPLuf7HwK7+1c26/tnRvv7Kw7H+sauc/qyml/6sppf+uLGh + /riyov7Z0b7+0Mi2/tjQvf7OxrT+2dK+/rq0o/6zrZ7+wbmp/svDsv7Buqn+3NTA/tnRvv7Ty7j+vbal + /sS9rP6knpD+pZ+R/s/Htf7Kw7H+39fD/t/Xw/7Xzrz+uLGh/sfArv6/uKf+xr+t/s/Htf7Kw7H+y8Sy + /uXdyP7069X+9OvV/vTr1f7069X+9OvV/fTr1RIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA9OvVZ/Xs1v/17Nb/9OvV/uzjzv/JwrD/29O//tPMuf/Auaj/sauc/rewoP+blon/vLWl + /rWvn//Px7X/1My5/8/Itf7NxbP/tK2e/8a/rf7Cu6r/npmM/8nBsP6/uKj/29O//9rSvv7PyLX/3tXC + /62nmP68taX/r6ma/7mzo/7Px7X/zcWz/+DXw/7Vzbr/xr+u/7u0pP6xq5z/x8Cu/srDsf/Y0Lz/0Mm3 + /uHZxf/u5dD/9OvV/vTr1f/17Nb/9OvV/vXs1v/17Nb/9OvV/vTr1f/069X/8+rU/vPq1EkAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9OvVMvXs1v/17Nb/9OvV/vLp0/+xq5z/wLmo + /rWvn//IwbD/08y5/tnRvv/Vzbr/u7Wk/q+pmv+moJL/sauc/7+5qP7JwrD/1s67/9DItv7c1MD/xb6t + /7u0pP6tp5j/tK2e/9DJtv7MxLL/4trF/9nRvv7Rybf/vbem/8W+rf6yrJz/p6GT/8W+rf7IwbD/1M26 + /+feyv7t5M//8unT/vTr1f/17Nb/9OvV/vXs1v/17Nb/9OvV/vXs1v/069X/9OvV/vTr1f/069X/8+rU + /vPq1P/y6dP/8unT/vHo0n8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9OvV + BfTr1fX069X+9OvV/vTr1f7Ryrf+sKmb/qmjlf64saH+urOj/sC5qP7Z0b7+1c26/tbOu/7Cu6r+08y5 + /qWgkv6noZP+qqSW/sa/rf7Wzrv+3NTA/tHKt/7d1cH+ta+f/q+pmv6uqJn+y8Ox/s3FtP7Vzbr+zMWy + /uTcyP7u5tD+8unU/vTr1f7069X+9OvV/vTr1f7069X+9OvV/vTr1f7069X+9OvV/vTr1f7069X+9OvV + /vPq1P7z6tT+7+fR/uzjzv7p4cv+8ejS/vHo0v7w59H+8OfR/u/m0LQAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1sP17Nb/9OvV/vXs1v/g2MT/0Mi2/tfPvP/Ox7T/ta+f + /q2nmP+kn5D/wLmp/s/Htf/Uzbr/29O//+Pbxv7KwrH/zcWz/6ahk/6zrJ3/qKOU/6+pmv7Vzbr/08y5 + /+Tbx/7w59H/9OvV//Tr1f717Nb/9ezW//Tr1f7069X/7+fR/+ngy/7f18P/wruq/7Sun/7a07//9OvV + /vTr1f/z6tT/7ubQ/uPbxv/j2sb/18+7/snCsP/Gv63/qaOV/qmjlP/Lw7H/7uXQ/u/m0P/u5c//7uXP + /u3kzt7t5M4PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1o317Nb/9OvV + /vXs1v/p4cz/raeY/rawoP/HwK//1My6/tjQvf/X0Lz/zsa0/riyov/Evaz/oZuO/8jBr/7Iwa//3NTB + /+HZxP7s5M7/8unT//Tr1f717Nb/9ezW//Tr1f7z6tT/7+bR/+/m0P7Vzbv/0cm3/8G6qf6xq5z/trCg + /62nmP7NxbT/xb6t/87HtP7Uzbr/zMWz/tPLuP/Fvqz/xb2s/qCajf/Buqn/zsa0/tvTv//Ty7j/1c25 + /q+pmf+/uKf/6uHM/uzjzv/s483/6+LM/urhzPvq4csoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAPTr1Vf069X+9OvV/vTr1f7x6NL+u7Sk/peShv7Lw7L+mJOH/ru1pP7Y0L3+3NTA + /uffyv7w59L+9OvV/vTr1f7069X+9OvV/vTr1f7z6tT+9OvV/ufeyf7c1MH+xr+u/rq0pP7DvKv+s62d + /tfPvP66s6P+18+8/tXOu/7Z0b7+ysOx/rOtnv66tKP+q6WW/rKsnf7Auan+zMSy/tzTv/7a0r7+x8Ct + /sa+rf6blYj+v7in/ru0o/65sqL+yMGv/szEsv7OxrP+4djD/urhy/7p4Mr+6N/K/ujfyf7n3shbAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1ir17Nb09OvV/vXs1v/069X/3tbC + /uXcyP/x6NL/9OvV/vXs1v/17Nb/9OvV/vXs1v/069X/6eHM/+vjzv7KwrD/xr+u/7exof6wqpv/x8Cu + /722pf7Auan/zcWz/9PLuP7X0L3/zMWz/9HKt/7Iwa//ubOi/6OekP7Evav/zsaz/9LKt/7Wzbr/x8Cu + /7Gqm/7Fvav/npiL/q2ml//Iv63/uLGf/tPLt//QyLX/x7+t/rKrnP+2r57/pqGS/s3Fsv+5sqL/0cm1 + /ufeyP/m3cj/5t3H/uXcxv/k28WTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + APXs1gn17Nbf9OvV/vXs1v/17Nb/9OvV/vXs1f/z6tT/7eXP/tvTv//Ryrf/urOj/snBr//DvKv/rqia + /8zFs/7Cu6v/x8Cv/9LKuP7QyLb/0Mm2/7Wun/6oo5T/zse0/6Gcjv66s6P/y8Ox/9/Wwv7Xz7v/0Mi1 + /7avn/6tppf/p6GS/8O7qf6vqJj/wrqo/8G5p/7Kwq7/yL+s/rKrmv+qoZL/q6OT/qyjk//PxrL/vLSi + /sC4pv/NxbH/zMSx/q6nmP+moJH/1s25/uTbxf/j2sT/49rD/uLZwv/h2MLJAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD069Wz9OvV/vTr1f7069X+7OPO/rGrm/6moJL+rqiZ + /rawoP7Fvq3+z8i1/uDYxP7Z0b7+1c26/q+pmv7Kw7H+pqGT/sG6qf63saD+z8i1/tfOu/7QyLb+2NC8 + /rWvn/63sKD+q6SV/rOsm/7Fvav+v7em/tLJtv7Kwq/+ysGt/sG5pv6elof+qqKR/rasm/6mnY3+tqyZ + /sC1of7AtaH+vLKe/rSrmP6QiXv+s6qY/rSsm/68tKL+w7uo/r+4pv7Jwa7+z8az/uDXwf7g18H+39bA + /t/Wv/7e1b/q3dS+FgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD069V79OvV + /vXs1v/17Nb/7uXP/s3GtP/KwrH/39fD/qijlf+5s6L/xL2s/sK7qf/Fvq3/2tK+/9LKt/7UzLn/vrem + /8W+rP6qo5X/qqSV/6yllv6+tqX/zsay/8rCr/7Kwa7/y8Ov/66mlv6wqJf/p5+P/7uxn/7CuKT/wLai + /8S5pf60qZf/taqW/7KnlP6Zj37/qJyJ/p2Rf/+ekoD/q5+L/raqlf+xpZP/v7Og/revnP+5sJ7/ta2c + /qyllf+fmIr/vbWj/tvSvP/d1L7/3NO9/tvSvP/b0rv72tG7PQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD069VF9OvV/vXs1v/17Nb/8unT/rSunv+yq5z/18+8/sjArv/Z0b3/2NC9 + /raun/+knY//v7en/66nmP7Fvqv/vbWk/9HJtf7EvKr/y8Ku/7+2pP6ooZH/mJCC/7KpmP6mno3/v7Wi + /7yxnv7Dt6P/u7Cc/6eciv6TiXn/qZ2L/6CUgv6YjHr/oZSB/6+hjP6voYv/t6iR/sGxmP/JuZ//wbGY + /qaYg/+UiHf/pZqI/rqvnP/FvKf/v7aj/revnv+jnY7/l5GE/tLJtP/Z0Lr/2dC6/tjPuf/Xzrj/1864 + bwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADy6NIb9OvV8/Tr1f7069X+8+rU + /sC5qP6gmoz+ubKi/qqjlP7Px7T+0sm2/s/Gs/7Lwq/+tKyc/sa9qv6hmov+k4x//rmwnv6ropH+xbqn + /sC2ov69sp/+v7Sf/qGXhv6uo5D+pJiG/qKWhP6kmIX+qZuI/qyfiv60pY/+w7Sb/sa3nf7Lu6H+08On + /tfHqv7ezrH+4NCz/uDRs/7QwKX+oI54/pGCbv6dj3v+gnhp/qWciv6knIv+uLCe/revnf7Kwq7+zMSw + /tbNt/7Wzbf+1s22/tXMtv7Uy7X+08q0pQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAADq4MoI7+XPz/Ho0v/w5tD/7+XP/tzTvv/Tyrb/ycCu/q2llf+Wj4L/opqL/qScjP+1rJr/tKqY + /8K3pP69s5//vLGd/6Wbif6Vi3r/lot7/7Cjj/6XjHr/qZyI/7Cijf7Aspr/x7ie/86+pP7TxKj/2Mmt + /+DRtP7h0bX/4dK1/+HTtv7i07f/4tS4/+PUuP7j1bn/49W6/t/Rtv+Ugmv/indh/pF/av+klX//s6WQ + /sS4ov/Owq3/08mz/tXMtv/Wzbb/1cy2/tTLtf/TyrT/0smz/tHIsv/Rx7L/0Max3gAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6N3Ho+rgyf/o3sj/5tzG/s7EsP+xqJf/vbSh + /rqwnf/AtqL/u7Cc/ruwnP+jmIb/m5B//5SJeP6ZjXv/sqWQ/7apk/7Cs5z/zL2k/9LDqP7Zya7/3c6y + /9/QtP7i07f/4tS3/+PUuP7j1bn/49W6/+TWuv7k1rv/5de8/+XXvf7l2L7/5tm+/+bZv/7n2sD/59rB + /sOymv+GcFj/jHdf/peDbP+llH3/s6SO/sG1n//Kv6n/z8Wv/tLIsv/SybP/0ciy/tHHsv/QxrH/z8Ww + /s7Er//Nw67/zMKt/czDrRYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzb+o + cd7Tu/7c0Ln+2c22/tDErf6SiHn+nZKB/paLe/6mmYb+r6GN/r6wmf7Ju6L+0MGn/tjJr/7czbL+4NG1 + /uLUuP7j1bn+49W6/uTWuv7k1rv+5Ne8/uXXvf7l2L3+5tm+/ubZv/7m2sD+59rB/ufbwf7o3ML+6NzD + /ujdxP7p3cX+6d7G/urex/7q38j+69/J/pyIcf5/aFD+hnBY/pF9Zv6gjnj+r6CK/r2xm/7Gu6b+zMGs + /s7Er/7PxbD+zsSv/s3Drv7Mwq7+zMKt/svBrP7KwKv+yb+q/sm/qksAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAArZuDQ82/qP/Ov6j/zr+o/tDBqf/OwKf/18mv/t3Os//h07j/49W6 + /uTWu//k1rv/5de8/+XXvf7m2L7/5tm//+bZv/7n2sD/59rB/+jbwv7o28P/6NzE/+ndxP7p3cb/6t7G + /+rex/7r38j/6+DJ/+vgyv7s4cv/7OHM/+3izP7t4s3/7ePO/+7kz/7u5ND/7uXQ/n9oUP97Y0z/gmtU + /o14Yf+biXP/qpuF/rmsl//Ct6L/yL2o/svAq//Lwa3/y8Gs/srAq//Jv6r/yL6q/se9qf/Gvaj/xbyn + /sW7p4EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA5tm/B+bZwBTl2L4n5Na8SuPVu3Pj1bqa28yxx+DSuP/i1Lr/5Na7 + /uXYvf/l2L7/5ti+/ubZv//n2sD/59rB/ufbwv/o3MP/6NzD/+ncxP7p3cX/6d7G/+rex/7q38j/6+DJ + /+vgyv7s4cv/7OLM/+zizP7t483/7ePO/+7jz/7u5M//7uXQ/+/l0f7v5tL/8OfT//Dn0/7x6NT/8ejV + //Hp1v7y6df/6+LP/nZdRf95YUn/f2hR/op1Xf+XhG7/pZV//rSnkf+9sp3/xLmk/se9qP/Ivqn/x72p + /sa9qP/FvKf/xLum/sO6pv/CuaX/wrmk/sG4pKMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOfawQ7m2cA65tm/YOXXvYjl2L2v5Ne8zuXXvejl2L395tm+ + /ubZv/7m2sD+59rA/ufbwf7o3ML+6NzD/undxP7p3cX+6d7G/urex/7q38j+69/J/uvgyv7r4cv+7OHL + /uzizP7t4s3+7ePO/u3kzv7u5M/+7uXQ/u/l0f7v5tL+8ObT/vDn0/7w6NT+8ejV/vHp1v7y6db+8urX + /vLq2P7z69n+8+vZ/vPs2v707Nv+9O3c/vXt3P717t3+6uHP/nVcRP54YEj+fWZO/oZwWf6Sf2j+n495 + /q6giv64rJf+v7Sf/sK5pP7DuqX+w7ql/sK5pf7CuaT+wbij/sC3ov6/tqL+vrWh/r61obEAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6NzDRebZv+zn2sD/59rB + /+jbwv7o28P/6NzD/undxP/p3cb/6t7G/urex//r38j/6+DJ/uvgyv/s4cv/7OHM/u3izf/t4s3/7ePO + /u7kz//u5ND/7+XQ/u/l0f/v5tL/8ObT//Dn0/7x6NT/8ejV//Hp1v7y6df/8urX//Lq2P7z69n/8+va + //Ts2v707dv/9O3c//Xu3f717t3/9e/e//bv3/728N//9vDg//fw4f738eH/9/Li//jy4/748uP/8era + /nVcRP92Xkb/e2NL/oJsVP+MeGL/mYhx/qeYgv+xpZD/ua6Z/r60n/+/tqL/wLei/r+2ov+/tqH/vrWg + /r20oP+9tJ//vLOe/ryznq4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAADr4MpL6d7G8Orfx//q38j/6+DJ/+vgyv7s4cv/7OHM/uzizP/t483/7ePO/u7kz//u5M//7uXQ + /u/m0f/v5tL/8ObT/vDn1P/x6NT/8ejV/vHp1v/y6df/8urX/vLr2P/z69n/8+za//Ts2v707dv/9O3c + //Xt3f717t3/9e/e//bv3/728N//9/Dg//fw4f738eH/+PHi//jy4/748uP/+fPk//nz5P759OX/+fTm + //r15v769ef/+vXo//v26P779un/+/bo/npiSv91XUX/eWFJ/n9oUP+Ic1z/k4Bq/qCQev+rnYj/s6iT + /rmvmv+8sp3/vLOf/ryzn/+8s57/u7Ke/rqxnf+6sZz/ubCc/rmwm5cAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO/l0Snt483o7ePO/u7kzv7u5M/+7uXQ/u/l0f7v5tL+7+bS + /vDn0/7w6NT+8ejV/vHp1v7y6db+8urX/vLq2P7z69n+8+vZ/vTs2v707Nv+9O3c/vXt3P717t3+9e7e + /vbv3/7279/+9/Dg/vfw4f738eH++PHi/vjy4/748uP++fPk/vnz5P759OX++vTm/vr05v769ef++/Xn + /vv26P779uj++/bp/vz36f789+r+/Pjq/vz46/79+Ov+/fns/v357P79+e3+/frt/o55Y/51XET+d15H + /ntkTP6DbVb+jHli/pmIcv6klX/+raCL/rOplP63rZn+ubCb/rmwnP65sJv+uK+b/reumv63rpr+tq2Z + /reumWcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8urYA/Dn1Mbx6NT/8ejV + /vHp1v/y6df/8urX//Lq2P7z69n/8+va/vTs2v/07dv/9O3c/vXu3f/17t3/9e/e/vbv3//28N//9vDg + /vfx4f/38eH/9/Li/vjy4//48uP/+PPk/vnz5f/59OX/+fTm//r15v769ef/+vbn//r26P779un/+/fp + //v36v789+r//Pjr//z46/78+Oz//fjs//357f79+e3//fnt//767v7++u7//vru//767v7+++///vvv + //767v7+++///vru/q2cif90XET/dl1F/nlhSf9+aFD/hnJa/pF/aP+bi3X/pZeC/q2hjP+yqJP/tauW + /rWsmP+2rZn/tq2Z/rWsmP+1rJj/tKuX+7WsmB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA9OzbU/Ts2v707dv/9O3c/vXu3f/17t3/9e/e//bv3/728N//9/Dg/vfx4f/38eH/+PHi + /vjy4//48uP/+PPk/vnz5f/59OX/+fTl/vr15//69ef/+vXn/vv26P/79un/+/fp/vv36v/89+r//Pjr + //z46/79+Oz//fns//357P79+e3//frt//767v7++u7//vru//777/7++u///vru//777/7+++///vru + //767v7++u7//fnt//357f79+ez//fjs//z46/78+Ov//Pfq/tLHtv91XET/dVxE/ndfR/97ZEz/gWtU + /op2X/+Tgmv/nY54/qaZhP+soYz/sKWR/rKolP+zqZX/s6qW/rOqlv+yqZX/sqmVsQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD38eED9/Dgt/fw4f738eH++PHi/vjy4/748uP++fPk + /vnz5P759OX++vTm/vr05v769ef++/Xn/vv26P779uj++/bp/vz36v789+r+/Pjq/vz46/79+Ov+/fns + /v357P79+e3+/frt/v767v7++u7+/vvu/v767v7++u7+/vvv/v767/7++u7+/vru/v767v79+e7+/fnt + /v357f79+ez+/Pjs/vz46/78+Ov+/Pfq/vv36v779+n++/bp/vv26P769uj++vXn/vr15v759Ob++fTl + /vHq2/6Fblf+dFtD/nVdRf54YEj+fGZO/oRvV/6MeGL+lINu/p2Pef6kl4P+qp6K/q2ijv6vpZH+sKeS + /rCnk/6wp5PysaiUMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD59OUY+fTm + 7vr15v/69ef/+vXn/vr26P/79un/+/fp//v36v789+r//Pfr/vz46//8+Oz//fjs/v357f/9+e3//fnt + /v767v/++u7//vru/v767//+++///vrv/v767v/+++///vru/v767v/++u3//frt//357f79+ez//fns + //346/78+Ov//Pjq//z36v789+n/+/bp//v26P779uj/+vXn//r15/769Ob/+vTl//nz5f758+T/+fPk + //jy4/748uL/+PHi//fx4f738OD/9vDg/vbv3//Ft6P/dVxE/nVcRP92Xkb/eWFK/n5oUP+FcFn/jHpj + /pSEbv+cjnj/opWA/qebhv+qn4v/rKKO/q2kj/qvpZFpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD79uky/Pjq/vz46//9+Oz//fns/v357f/9+e3//frt//767v7++u7//vru + /v777//++u///vru/v777//+++///vru/v767v/++u7//fnt/v357f/9+ez//fjs/vz46//8+Ov//Pfq + /vz36v/79+n/+/bp//v26P779uj/+vXn//r15v769Ob/+fTm//nz5f758+T/+PPk//jy4/748uL/9/Hi + //fx4f738OD/9vDg//bv3/72797/9e7e//Xu3f717dz/9O3b//Ts2/7z7Nr/8+vZ/vPr2P/v5tT/o5B6 + /nRcRP91XUX/d19H/npjTP9/aVH/hXBa/ox6Y/+Ug23/m4x3/qCTfv+kmIT/qJ2J+ayijneto48DAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8+OxB/vvu/v767/7++u7+/vvv + /v777/7++u7+/vru/v767v79+e7+/fnt/v357f79+ez+/Pjs/vz46/78+Ov+/Pfq/vv36v779+n++/bp + /vv26P769uj++vXn/vr15/759Ob++fTl/vn05f748+T++PPk/vjy4/748uL+9/Hi/vfx4f738OD+9vDg + /vbv3/72797+9e7e/vXu3f707dz+9O3c/vTs2/7z7Nr+8+vZ/vLr2P7y6tj+8unX/vHp1v7x6NX+8ejV + /vDn1P7w59P+7+bS/u/m0v7v5dH+6t/L/qCMdf52XUX+dl5G/nlhSf58ZU3+gGpT/oZyW/6Ne2X+lIRu + /pmLdf6hlYDkppuGVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAD8+Os1/frt/v357f/9+ez//fns/v346//8+Ov//Pjq//z36v789+n/+/bp/vv26P/79uj/+vXn + /vr15//69Ob/+vTl/vnz5f/58+T/+fLk/vjy4//48uL/+PHi/vfx4f/38OD/9vDg/vbv3//2797/9e7d + //Xu3f717dz/9O3b//Ts2v7z7Nr/8+vZ//Pr2P7y6tj/8urX//Hp1v7x6NX/8ejV//Dn1P7w59P/8ObS + /+/m0f7v5dH/7uXQ/+7kz/7t487/7ePO/+zizf7s4sz/7OHL/uvhyv/r4Mn/6t/I/unex//EtJz/jXdf + /nlhSv97ZE3/fmhR/oNuV/+Jdl/+koFr3ZeIcn+ekXwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD69ugb+/bp8/v26P/79uj/+vXn/vr15//69Ob/+fTm + //nz5f758+T/+PPj/vjy4//48uL/9/Hi/vfx4f/38OD/9vDg/vbv3//2797/9e7e/vXu3f/17dz/9O3b + /vTs2//z7Nr/8+vZ/vPr2P/y6tj/8urX//Hp1v7x6dX/8ejV//Dn1P7w59P/8ObS/+/l0v7v5dH/7uXQ + /+7kz/7u487/7ePO/+3izf7s4sz/7OHL/+vgyv7r4Mn/6+DJ/+reyP7q3sf/6d7G/+ndxf7p3cT/6NzD + /ujbwv/n28H/59rA/ubawP/m2b//4dO5/se2nP+smoH4oI510ZF+ZoiNemRFkH5oEQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD58+UF+PPj + x/jy4/748uL+9/Hi/vfx4f738OD+9vDg/vbv3/72797+9e7e/vXu3f707dz+9O3b/vTs2/7z7Nr+8+vZ + /vPr2f7y6tj+8unX/vHp1v7x6NX+8ejV/vDn1P7w59P+7+bS/u/m0v7v5dH+7uTQ/u7kz/7t487+7ePN + /u3izf7s4sz+7OHL/uvgyv7r4Mr+69/J/urfx/7q3sf+6d3G/undxf7o3MT+6NzD/ujbwv7n28H+59rA + /ubZv/7m2b/+5ti+/uXYvf7l17z+5Ne8/uTWu/7k1br+49W5+OLUuNLh07eq1cWrh8+/pFy0o4k7q5h/ + IaKPdwUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA9e/ecPXu3f/17dz/9O3b/vTs2v/z7Nr/8+vZ//Pr2P7y6tj/8urX + /vLp1v/x6NX/8ejU/vDn1P/w59P/7+bS/u/m0f/v5dH/7uTQ/u7kz//t487/7ePN/u3izf/s4sz/7OHL + /uvhyv/r4Mn/6t/I/+rfyP7q3sf/6d7G/+ndxf7o3MT/6NzD/+fbwv7n28H/59rA/+bZwP7m2b//5di+ + /+XYvf7l17z/5Ne8/+TWu/7k1rr/49W5/+PUuP7i07fy4dO22OLUuLvh0reX4tS5b+PVukrk1rog49a8 + AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8+zaD/Hp1ufx6dX/8ejV + /vDn1P/w59P/8ObS/+/l0v7v5dH/7uTQ/u7kz//u487/7ePN/u3izf/s4sz/7OHL/uvhyv/r4Mn/6t/J + /urfyP/q3sf/6d3G/undxf/p3cT/6NzD/ujbwv/n28H/59rB/+bZwP7m2b//5tm+/+XYvf7l17z/5Ne8 + /+TWu/7k1rr/49W5/+PUuf7i1Lj/4tS3/uLTtvPh0rbn4dK2z+DRtKjh07eB4dK3W+PUuDPk1rsZ49a7 + DOTWuwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAO/m0l7t48767ePN/u3izf7s4sz+7OHL/uvgyv7r4Mr+69/J/urfx/7q3sf+6d3G + /undxf7o3MT+6NzD/ujbwv7n28H+59rA/ubZwP7m2b/+5ti+/uXYvf7l17z+5Ne8/uTWu/7k1br+49W5 + /uPUuf7i1Lj+4tO3/uHTtv7h0rb+4dK1/uDRtP3g0LPh38+xu+HStpHh0rVs4dO2ReLUuCji1LgPAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADq38iD6d7G/Ondxf/o3MT/6NzD + /+fbwv7n28H/59rA/ubawP/m2b//5di+/uXYvf/l17z/5Ne7/uTWu//k1rr/49W5/uPUuP/i1Lj/4tO3 + /uLTtv/h0rX/4dK1/uHRtP/g0bP/39Cy+t/QsuHfz7HH4NGzpuDQsnzh0rVW4dK1Md/PswkAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAADq38gF59vCcuXYvfPl17z/5Ne8/+TWu/7k1rr/49W5/uPVuf/i1Lj/4tO3/uLTtv/h0rb/4dK1 + /uDRtP/g0bP/4NCz/t/Qsv/fz7H5386w697OsNvfzrC238+xkN/Qsmnfz7JB4NG1IOHStRHh0rUEAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOTXvDri07bC4dK1/uDRtP7g0bP+4NCz + /t/Qsv7fz7H+3s6w/t7OsP7ezq/+3c2u793Nrsfeza+i3s6wet/PsVPf0LI038+yGeDRtAIAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAADj1boB4NG0P97Or6DdzK3X3cys0t3NrrLdzK2N3c2uZd7OsD3ezrAYAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADfz7EL3s6xCQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/////////8AA/////////////4AAD/ + ///////////wAAA////////////wAAAf//////////8AAAAP/////////+AAAAAP////////8AAAAAAH + ///////4AAAAAAAH//////4AAAAAAAAH/////wAAAAAAAAAP////gAAAAAAAAAAP///+AAAAAAAAAAAH + ///8AAAAAAAAAAAB///4AAAAAAAAAAAA///wAAAAAAAAAAAAP//gAAAAAAAAAAAAH//gAAAAAAAAAAAA + B//AAAAAAAAAAAAAA//AAAAAAAAAAAAAAf/AAAAAAAAAAAAAAP/AAAAAAAAAAAAAAP/AAAAAAAAAAAAA + AP/AAAAAAAAAAAAAAP/AAAAAAAAAAAAAAP/AAAAAAAAAAAAAAP/AAAAAAAAAAAAAA//AAAAAAAAAAAAA + D//AAAAAAAAAP//////gAAAAAAAAH//////gAAAAAAAAH//////gAAAAAAAAH//////gAAAAAAAAH/// + ///wAAAAAAAAD//////wAAAAAAAAD//////wAAAAAAAAD//////wAAAAAAAAD//////wAAAAAAAAD/// + ///4AAAAAAAAB//////4AAAAAAAAB//////4AAAAAAAAB//////4AAAAAAAAB//////4AAAAAAAAB/// + ///8AAAAAAAAA//////8AAAAAAAAA//////8AAAAAAAAA//////8AAAAAAAAA//////+AAAAAAAAAf// + ///+AAAAAAAAAf/////+AAAAAAAAAf/////+AAAAAAAAAf/////+AAAAAAAAAf//////AAAAAAAAAP// + ////AAAAAAAAAP//////AAAAAAAAAP//////AAAAAAAAAP//////AAAAAAAAAP//////gAAAAAAAAH// + ////gAAAAAAAAH//////gAAAAAAAAH//////gAAAAAAAAH//////wAAAAAAAAD//////wAAAAAAAAD// + ////wAAAAAAAAD//////wAAAAAAAAD//////wAAAAAAAAD//////4AAAAAAAAB//////4AAAAAAAAB// + ////4AAAAAAAAB//////4AAAAAAAAB//////4AAAAAAAAB//////8AAAAAAAAA//////8AAAAAAAAA// + ////8AAAAAAAAA/////8AAAAAAAAAA////+AAAAAAAAAAA////8AAAAAAAAAAA////4AAAAAAAAAAA// + //wAAAAAAAAAAA////gAAAAAAAAAAA////gAAAAAAAAAAB////AAAAAAAAAAAB////AAAAAAAAAAAD// + //AAAAAAAAAAAD////AAAAAAAAAAAP////AAAAAAAAAAAf////AAAAAAAAAAB/////AAAAAAAAAAH/// + //gAAAAAAAAP//////gAAAAAAAH///////wAAAAAAf////////4AAAAA//////////4AAAAf//////// + //+AAA/////////////AD//////////////5/////////////////////////////ygAAABIAAAAkAAA + AAEAIAAAAAAAYFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQIBAQEDAQEBBAMCAgQDAgIEAwIC + BAICAQQAAAADAAAAAgAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAA2MisBJyQfBAUFBAoBAQAOAAAAEAAAABEAAAARAAAAEQAAABAAAAAPAAAA + DQAAAAoAAAAHAAAABAAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAB+d2kDExEPCwEBABgREA4sJSIeQj86MlZiW1BzQz84WAsKCS4AAAAnAAAAJAAAAB4AAAAZAAAA + EgAAAAwAAAAGAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALeslwiomoQVsaWPPaWZhF2VjHuPkYl5 + r6+mk928sp7v1cev+OHVvP7n28P/6d3H/dHItN9iXlaEBgUFQwAAADoAAAAzAAAAKgAAAB4AAAASAAAA + CAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AK6ijAyvo44usaWQTKueiHq3rZibsaWQxbyyneTAt6L8wrml/8W7pv7Hvan/ycCr/8zCrf7KvKf/2c23 + /ubcyP/u5NL+8ejW//Lq2P7y69r+s66ixxQUElkAAABJAAAAPwAAADEAAAAgAAAADwAAAAUAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAs6iUCq6jjRmzqJQ/qp6IY7asl4+uoo2wuK+a3LiumvK8s5/8vrWh + /8C3o//DuaX/xbun/8e+qf/KwKv/zMKt/87Fr//Rx7L/08q0/83Crf/EtqL/29G//+zk1P/07d7/9/Hj + //jz5P/59Ob/+fXn/8K/tc8MDAtRAAAAQgAAADUAAAAkAAAAEgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsaeTCLOplDGsoYxPsqeS + fa6jjp6zqZXIs6mV47eumvu5sJv/u7Kd/r20n/++taH+wLej/8O6pf/FvKf+x76p/8rAq/7Mwq3/zsWw + /tHHsv/TyrT+1cy2/9fOuP7a0br/3NO9/8Cznv7DtqT/3tbG/vDq3f/59Of+/Pjs//z57f79+e7//fru + //767/6Ih4CYAAAANgAAACkAAAAcAAAADgAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAACsoYwKo5aBH6yijT+hk35osKaRkLGok7KyqZTfs6qW97Srl/22rZn+t66a/7mwnP+7sp7/vbSf + /7+2of/BuKP/w7ql/8a8p//Ivqn/ysCs/83Drv/PxbD/0ciy/9PKtP/Wzbf/2M+5/9rRu//c073/3tW/ + /+HYwf/j2sP/5NvF/7Ghjv/CtaX/4NjJ//Pt4f/7+Oz//vvv//777///++///vvv//777//x7eLtFhUU + OAAAAB8AAAATAAAACQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK+mkQmsoYxrqZ6Jn62ijsyupI/ksaiU + +7KplP+zqpb/tKuX/7atmf+4r5r/ubCc/7uynv+9tJ//v7ah/8G4o//DuqX/xryn/8i+qv/KwKz/zcOu + /8/FsP/RyLL/1Mq0/9bNt//Yz7n/2tG7/9zTvf/f1r//4djB/+Paw//l3Mb/597I/+jfyv/q4cz/6uHL + /6aVgf+/saD/3dTF//Hr3v/69un//fns//357P/9+Ov//Pjq//z36P/79ub+WlhSbwAAACUAAAAWAAAA + CwAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAsqmVLLCnk9qxqJP/sqmV/rOqlv+1rJf+tq2Z/7ivmv+6sZz+u7Ke + /720oP6/tqL/wbik/sS6pv/GvKj+yL+q/8vBrP/Nw67+z8aw/9LIs/7Uy7X/1s23/tjPuf/a0bv+3dS9 + /9/Wv//h2ML+49rE/+Xcxv7n3sj/6eDK/uvizP/s483+7uXP/+/m0P7x6NL/8OfR/6GPef62ppP/1Mi3 + /unh0P/07t3++PLh//ny4f748d//9+/d//bu2v717Nj/gHtwnwAAADgAAAAoAAAAGQAAAA0AAAAGAAAA + AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAC3rpkgs6qW4LWsl/+2rZn/uK+b/7qxnP+7sp7/vbSg/7+2ov/BuKT/xLqm/8a9qP/Jv6r/y8Gs + /83Erv/PxrH/0smz/9TLtf/Wzbf/2dC5/9vSu//d1L7/39bA/+HYwv/j2sT/5dzG/+feyP/p4Mr/6+LM + /+zjzv/u5c//7+bQ//Dn0f/w59H/8OfR//Tr1f/069X/9OvV/6eUfv+qmIL/xrii/97Svf/s4cz/8efR + //Ln0f/x5s7/8OTL/+/jyf/u4cb/jYV0rwAAAEkAAAA8AAAALQAAAB4AAAARAAAACQAAAAMAAAABAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC5sJy5urGd + /7yznv6+taD/wLei/sK5pP/Eu6b+xr2o/8m/qv/Lwaz+zcSv/9DGsf7SybP/1Mu1/tbNt//Z0Ln+29K8 + /93Uvv/f1sD+4djC/+DXwf7a0rz/0cm1/sC5qP+xq5v+29O+/+7lz//r483+4tnF/9jQvP7Sy7j/z8e1 + /svEsv+3saH+29PA//Tr1f717Nb/9ezW/7aljf6ciG//tqSL/s++pP/f0LT+59i7/+nau/7o2bn/59e2 + /+bVs/7l07D/cGdWogAAAFEAAABJAAAAPgAAADEAAAAjAAAAFgAAAAwAAAAFAAAAAgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMG4o0HAt6L+wrmk/8S7pv/Hvaj/yb+q + /8vCrf/OxK//0Mex/9LJs//Uy7X/1864/9nQuv/b0rz/3NO9/9zTvf/Vzbj/zcWx/8nBrv+4saD/urOi + /7myov/Cuqn/wbqp/8nBr/+/uKf/wLmo/8O8q//NxrT/0cm3/8C5qP/Ryrf/0cm3/722pv+6s6P/zcaz + //Tr1f/17Nb/9ezW/8q7pP+QeV//ppF1/72pi//RvZz/28ik/9/Lpf/gy6X/3smh/93Hn//bxJv9PDYr + eAAAAE8AAABLAAAARgAAAD4AAAAzAAAAJgAAABkAAAAPAAAABwAAAAMAAAABAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMi+qqXJv6v+zMKt/87Er/7Qx7H/0smz/tXMtv/Xzrj+2M+5 + /9jPuf/MxLD+xb2q/7Wunf7Buqf/ta6e/rOsnP+7tKP+xr+t/83Fsv/OxrP+vbam/7+4p/7Buqn/v7in + /szFsv+9t6b+zsa0/8C5qP/LxLH+vrin/8S9rP7MxLL/xL2s/sW+rf/Wzrv+x8Cu/+3kz/717Nb/9ezW + /9/Uvf6Hb1X/l39i/q2WdP/BqYT+zraN/9W7kP7WvI//1ruN/9S5i/60nXTbBgUETQAAAEkAAABIAAAA + RQAAAEEAAAA7AAAAMgAAACgAAAAcAAAAEgAAAAoAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA0ciyCtHHsuTTyrT/1cu2/9HJs//NxLD/ubGf/7Wunf+yq5v/u7Oi/7qzof+7tKP/ubKh + /7+4p//Auaj/s6yc/7y1pP+8taT/wLmo/8zFsv/Ty7j/y8Sy/6+omf++t6b/x8Cv/8W+rf/Evaz/xb6t + /8fArv+3sKD/v7in/9XNuv/LxLL/ycKw/8/Htf+9tqb/vLWl//Ho0v/17Nb/9ezW//Dm0P+JcVf/jHNV + /5+FYv+yl2//waV4/8qtff/OsH3/zrB8/8qsePpANyZ0AAAAQwAAAEIAAABBAAAAPwAAAD0AAAA6AAAA + NgAAAC8AAAAnAAAAHQAAABMAAAALAAAABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2dC6 + IdrRuvzc07z+z8ez/6egkf62r57/uLGg/se/rf/Cu6n+vbal/7iyof/Cu6n+v7in/8W+rP6/uKf/xb6s + /r63pv/Auaj+wbqp/8W+rf/Syrj+xL2r/9vTv/7Gv63/xr+u/ravn//Vzbr+w7yq/8zEsv/JwrD+ycKw + /7awoP7IwK//08y5/tLKuP/Lw7L+v7io/93Vwf717Nb/9ezW//Tr1f6bhWz/g2lM/pJ3Vf+kiF/+tZdo + /8Chbf7Gpm//yKdv/m1bPJUBAQA9AAAAOgAAADkAAAA4AAAANgAAADUAAAAzAAAAMQAAAC4AAAApAAAA + IwAAABoAAAARAAAACAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4djCNePaw//k28X/3dTA + /5+ZjP/Auaf/rqiZ/8/HtP/HwK7/u7Sk/7y1pf/Evav/sqyc/8vDsv/Iwa//zcaz/7awoP/DvKv/s62d + /8S9rP/Evaz/0Mi2/7+4qP/Ox7T/wbqp/66omf/Gv67/wLqp/83Fs//PyLX/0sq4/8a/rv+6tKP/zcW0 + /9bOu//Ty7j/v7in/9bPvP/17Nb/9ezW//Xs1v+0oor/fWNH/4htTf+ZfVb/qoxe/7iYZfm3mGTpaFc5 + igEBADIAAAAvAAAALgAAAC0AAAAsAAAAKgAAACkAAAAoAAAAJgAAACUAAAAiAAAAHwAAABkAAAARAAAA + CQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6N/JNOrhzP/s483/6+LN/62nmP/Buqn/u7Sk + /8/Htf/Ox7X/wbqq/8C5qP+7tKT/tK6e/8jAr//NxrP/0Mm2/722pv+9tqb/zsa0/8nBsP/LxLL/08u5 + /8K8qv/Px7X/v7in/7mzo//DvKv/xb6s/87GtP/Kw7H/0cm2/8C5qf+yq5z/yMGv/9LLuP/Syrf/5dzI + /+7m0P/17Nb/9ezW//Xs1v/Qwqv4cVpAyWlUO6lTQy6EQDUkXyIcE0AQDgkqAAAAIQAAACAAAAAfAAAA + HgAAAB0AAAAcAAAAGwAAABoAAAAZAAAAGAAAABcAAAAWAAAAEwAAABAAAAAMAAAABgAAAAIAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA7eTOG/Ho0vby6dP+8+rU/8vDsv7Fvqz/squc/rmzo//HwK/+y8Sy + /8G7qv+5s6P+vrem/7ewof68taX/1s67/sC5qP/QyLb+u7Sk/7y1pf/Kw7H+z8i1/83GtP7Auan/ysOx + /sfAr/++t6b+rKaX/8vEsv/Syrj+6ODL/+7m0P7069X/9OvV/vXs1v/069X+9ezW//Tr1f717Nb/9ezW + //Tr1f7o4MvnEA8OFgAAABMAAAASAAAAEgAAABEAAAAQAAAAEAAAAA8AAAAPAAAADgAAAA0AAAANAAAA + DAAAAAwAAAALAAAACwAAAAoAAAAJAAAACAAAAAcAAAAFAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA8ejSBPTr1db069X/9ezW/9DItv+5s6L/uLKi/8C5qP/NxbP/zsa0/83GtP/Auaj/zcaz + /7mzov++t6f/xb2s/8jBr//NxrP/w7yr/7u0pP/Auaj/zMWz/8zFs//Ox7X/5dzI/+/m0f/z6tT/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9OvW//Tr1f/z6tT/7eTP/+LZxf/l3cj/9ezW//Xs1v/069X5f3pt + KkM/NwYZFhIGBgUDBgQDAgUFBAIFAgEBBQAAAAUAAAAEAAAABAAAAAQAAAAEAAAAAwAAAAMAAAADAAAA + AwAAAAMAAAACAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + APTr1aP069X+9ezW/+Pbx/62r5//0Mi2/qynmP/QyLb+ysKx/8vEsv/Iwa/+ysOx/7Wvn/7Evaz/t7Gh + /snCsP/X0Lz+6N/L/+/m0f/z6tT+9OvV//Tr1f717Nb/9OvV/vXs1v/069X+9ezW//Tr1f/z6tT+7OPO + /+Laxv7Qybb/xL2s/sC5qf/Rybf+vrem/8W+rP7c1MH/9ezW//Tr1f717Nb/0cm2V4qFeAE3NTABAQEB + AQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPTr1W317Nb/9ezW + /+3kz/+6s6P/wruq/7q0o//Lw7H/xLys/8fAr//a0r7/6ODL/+/m0f/069X/9OvV//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Tr1f/x6NP/7OTO/+LZxf/QyLb/w7yr/66omv/LxLL/xr+t/9bOu//NxrT/xL2s + /8zFs//Px7X/z8i1/7mzov/Y0Lz/9OvV//Xs1v/17Nb/7OTOjQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1jf069X+9ezW//Ho0/7UzLn/6eDL + /vDn0f/069X+9ezW//Pq1P/r4s3+3dXC/8zEsv67tKT/t7Gh/vDn0v/y6dT+6uLN/9vUwP/Xz7z+zcaz + /8W+rf7Dvav/w7yr/snBsP/Evaz+y8Sy/7+4p//Evaz+xr+u/9PMuf7Ty7n/v7in/s3Gs//NxbP+vLWl + /8K8qv7JwrD/8+rU//Tr1f717Nb/9OvVw/Tr1QEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1gf17Nb49ezW//Xs1v/p4Mz/3dXB/9DJtv/Fvq3/y8Sy + /7y1pP+8taX/v7in/8nCsP/CvKr/vLal/8vDsf/Evaz/wbqp/8a/rf/Px7X/0sq4/9DJtv/Gv63/vbal + /8e/rv/HwK//0cm3/7u1pP/NxbP/vLal/8nCsP+/uKf/0cm3/8vEsv++t6f/wryr/87HtP/JwrD/6eDM + //Xs1v/17Nb/9ezW7/Xs1gwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD069XJ9ezW//Tr1f7Syrj/wruq/snBsP+9tqb+vren/7qzo//Qybb+ysOx + /8/Itf7Evav/xb6s/r+4p/+5sqL+v7mo/8jBr//Fvqz+y8Ox/9LLuP7DvKv/sKqb/sO8q//NxrP+w7yr + /8vEsv+7tKT+xL2r/7Ksnf7Cu6r/18+8/tzUwP/g2MT+7+fR//Tr1f717Nb/9ezW//Tr1f717Nb/9OvV + /vXs1jMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAD17NaS9ezW//Xs1v/m3cn/s62e/8a/rv/Fvq3/08u5/8vDsv/HwK7/xb6t/8S9rP/DvKv/z8e1 + /8O7q//DvKv/vrem/8W+rf/Cu6r/xb6t/83Fs//Fvqz/3NTA/8W9rP/Kw7H/vbam/+HZxf/j28b/8OfR + //Pq1P/069X/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1moAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NZc9ezW + //Xs1v/v5tD/tK2e/8nBsP+/uKf/0cq3/8rDsf+zrZ3/wruq/8zFs/+8taX/zse0/8jBsP/Gv67/rKaX + /7+4p/+0rp7/z8i1/9XNu//n3sr/8unT//Tr1f/069X/9OvV/+7l0P/c1MH/4dnF//Xs1v/17Nb/9ezW + //Tr1f/v5tH/5NzI/9rSvv+3sKH/zcWz//Tr1f/17Nb/9ezW//Xs1qAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD069Uo9ezW+/Tr1f7z6tT/uLGh + /sW+rf+6tKT+yMGv/83Fs//Cu6r+t7Gh/7u0pP6wqpr/zse1/tzUwP/m3sn+8+rU//Xs1v/069X+8+rU + /+zjzv7j28f/0su4/sa/rf/Evaz+sauc/8fAr/+7tKT+zca0/9PMuf7UzLn/z8e1/q+pmv/Hv67+1s67 + /83Fs/7LxLL/w7yr//Lq1P717Nb/9OvV/vXs1tf069UBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NYJ9ezW5fXs1v/17Nb/x8Cu/8G6qf+0rZ7/xL6s + /9jQvf/o38r/7+bR//Tr1f/069X/8+rU/+zjzv/g2MT/1s+8/8C5qP+5sqL/zMWy/8jBr//Xz7z/y8Sy + /8W+rf/Evaz/t7Gh/8jAr/+/uKf/z8e1/8rDsf/QyLb/vLWl/8K7qv+/uaj/y8Sy/8vDsv/Syrj/zMWz + /+Pbx//17Nb/9ezW//Xs1vT17NYaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWt/Tr1f717Nb/8+rU/vTr1f/069X+7+bQ/+jgy//Wzrv+3NTA + /8S9rP7Evaz/tK6e/ru0pP/LxLL+zse0/8C5qP/NxrP+t7Gh/8W+rP7Ty7n/08u4/r22pv/JwrD+zMSy + /7u0pP+uqJn+ycKw/8O8q/7Fvq3/ycKw/s3FtP/PyLX+tK6e/8W+rf7MxLL/xr+u/+nhzP717Nb/9OvV + /vXs1v7069VHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA9ezWgfXs1v/17Nb/8OfR/722pv+3sKH/vbam/8W+rf/Gv67/1s67/9DJt//Auaj/wruq + /8W+rf+9tqb/ysOx/8S9rP/Qybb/wbqp/7exof/LxLL/wbqp/8/Htf/OxrT/zca0/6+pmv/NxrT/uLGi + /8fAr//Gv63/z8e1/8a/rf+1rp//1My6/8nCsP/NxrT/ycGw/9vTv//069X/9ezW//Xs1v/17NZ9AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezW + SvTr1f717Nb/8ejS/ru0pP/DvKv+t7Cg/8a/rv/NxbP+yMCv/8/Htf7LxLL/sqyd/sfArv+8taX+vrem + /8a/rf/QyLb+u7Sk/8a/rf62sKD/xLyr/tTMuf/QyLb+0Mi1/7avn//Gv63+ubKi/8rDsf7IwbD/1M26 + /sW9rP/Fvq3+w72r/9nRvv68tqX/x8Cv/9TMuf7z6tT/9OvV/vXs1v/069W0AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWFvXs1vz17Nb/9OvV + /8jBr//HwK//trCg/8vDsf/NxbP/ubOj/8rCsf/LxLL/t7Gh/8W+rf+9tqX/v7io/8K7qv/IwbD/zcWz + /8vEsv/HwK7/ysOx/723pv/LxLL/0cm3/8O8q//NxrP/s6yd/8S9rP/Dvav/2tK+/8zFs//Cu6r/y8Sy + /8/Htf/QyLX/u7Sk/8rDsf/x6NL/9ezW//Xs1v/17Nbm9ezWBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWA/Tr1dn17Nb/9OvV/tPMuf/NxbP+uLKi + /7Cqm/+9t6b+vren/7+4qP7HwK7/xb6t/ry1pf+yrJ3+0sq3/7myov/MxbP+xb6t/9HJt/7Cu6r/1My5 + /ru1pP/DvKv+ycKw/8C5qP/MxbP+vrin/763pv69t6b/1My6/tPLuf/Iwa/+w7yr/8nCsP6/uKf/xL2s + /7awoP7v5tD/9OvV/vXs1v/069X+9ezWIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1qX17Nb/9ezW/9zUwP/Fvq3/wLmo/8jBr//Fvq3/x8Cu + /7mzo/+6tKT/zMWz/8G7qv+/uKf/wLqp/9DItv+5s6P/xL2r/8nCsP/MxbP/1My5/9DItv+zrJ3/xr+u + /8a/rf/JwrD/v7in/8jBr/+5s6L/xL2s/8S9rP/Xz7z/29PA/+/m0f/069X/9OvV//Tr1f/17Nb/9ezW + //Xs1v/17Nb/9ezWWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAPXs1nD17Nb/9ezW/+jfy/++uKf/x8Cu/8K7q/+7tKT/sKqb/9bOu//JwrD/08u5 + /8jBr//Gv63/t7Gh/8C5qP+1r5//08u5/8G6qf/LxLL/0Mi2/7u0pP/Auaj/v7io/8vEsv/Ox7X/3dXB + /+nhzP/y6dP/9OvV//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/069X/9OvV//Xs1v/17Nb/9ezW + kQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + APTr1Tn17Nb99OvV/vLp0/++t6b+vbem/8nCsP/LxLL+zca0/8nBsP7Kw7H/t7Gh/srDsf/NxrP+wbqp + /7myov/Evaz+zMSy/8S9rP7NxbP/5t7J/u7m0P/069X+9ezW//Xs1v/069X+9ezW//Tr1f717Nb/9OvV + /vTr1f/x6NL+597K/+DYxP7Z0b7/1My5/7exof7Kw7H/8unU/vXs1v/069X+9ezWyAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1hH17Nbv9ezW + //Tr1f/Fvqz/urOj/8jAr//NxrT/0sq4/6+pmv/Fvq3/xL2s/8G6qf/Y0b3/5t3J/+vizf/z6tT/9OvV + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Tr1f/x6NP/7OTO/9rTv//MxLL/wruq/9LKt//Ty7n/vLal + /87GtP/Ty7j/wruq/8e/rv+1rp//8ejS//Xs1v/17Nb/9ezW7fXs1hEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NbK9OvV/vXs1v/QyLb+vbam + /8S9rP/d1cH+6+PO//Lp0/717Nb/8+rV/u/n0f/l3Mj+18+8/9rSv//069X+9ezW//Pq1P7u5c//59/K + /uDYxP/UzLn+u7Sk/8K8qv+5sqL+ycKw/8C5qP7Ryrf/w7yr/sjBr/+4sqL+xr+u/7+4qP7HwK//zMWz + /8nCsP7UzLn/29PA/vXs1v/069X+9ezW/vTr1TgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NaU9ezW//Xs1v/069X/8+rU//Dn0v/i2cX/1c26 + /722pv/Ty7n/vbem/8rCsf+9tqb/xb6t/8vEsv/IwK//tK6f/8rCsf+zrZ3/ycKw/9jQvf/Ox7X/vbam + /7+4qP/Cu6r/ubOi/7y1pf/HwK//ysOx/7qzo//Buqn/xb6t/9LLuP/Buqn/zsa0/83Gs/+3saH/5d3I + //Xs1v/17Nb/9ezW//Xs1m4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD17NZe9OvV/vXs1v/x6NL+tq+g/7avoP/Fvq3+y8Sy/8zEsv7NxrT/zMWz + /rixov/HwK7+ysOx/8C5qP/Gv67+xL2s/83Gs/7Buqn/ubOj/s3Fs//Fvq3+18+8/83GtP/MxLL+s62d + /8zEsv7Auaj/y8Sy/snBsP/LxLL+xr+u/7KsnP7Z0b7/0Mi2/8zEsv7IwK//ysOx/vPq1P/069X+9ezW + //Tr1aUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAD17NYn9ezW/vXs1v/069X/vbam/7ewof+9t6b/x8Cu/9TMuf/Auan/y8Sy/8fArv+xq5v/xr+u + /8S9rP/Evaz/xr+t/8W+rf+zrZ7/xL2s/7exof/LxLL/zsa0/8nCsP/MxLL/sKma/8K7qv+8taX/zca0 + /8vEsv/Z0b7/u7Wl/8C5qP/Buqn/1s67/8nCsP/Kw7H/0cm3//Dn0v/17Nb/9ezW//Xs1twAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NYJ9OvV + 5/Xs1v/069X+ycGw/763p/+0rp7+z8i1/9DJtv7Auqn/v7io/sa/rv+uqJn+xb6t/7+4p//IwbD+yMGv + /8nCsP7DvKv/yMGv/sa/rf/OxrT+yMGv/8zEsv/Kw7H+ubOj/8rDsf62sKD/xr+t/szFsv/Z0b7+z8i2 + /7ixof7Fvqz/z8e1/9bOu/7TzLn/4NfE/vPq1P/069X+9ezW//Tr1f3z6tQUAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWuPXs1v/17Nb/3dXB + /8nBsP+0rp7/r6ma/8G6qf/Cu6v/xb6t/8O8q//Gv63/trCg/7Wun//NxbP/x8Cu/8zEsv/DvKv/z8e1 + /7+4p//Wzrv/vbem/8W+rf/Ox7X/wbqq/8fAr/+9tqb/wbqp/8a/rv/e1sL/6uLM/+/n0f/z6tT/9OvV + //Tr1f/17Nb/9OvV//Tr1f/069X/8+rU//Pq1P/y6dNLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9OvVg/Xs1v/069X+5t7J/7myov+4sqL+w7yr + /8S9rP7Px7X/yMCv/sC5qf/MxbP+ta6e/7ewoP/Fvq3+19C8/8O8q/7Px7X/t7Gh/r+5qP/QyLb+0sq4 + /764p//Z0b7+49vG/+7m0P7069X/9OvV/vXs1v/069X+9ezW//Tr1f7069X/9OvV//Tr1f7z6tT/7+bR + /uzjzv/x6NP+8ejS//Dn0f7w59GBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWTPXs1v717Nb/7+fR/8jBr//Evaz/wLmo/7ewoP+0rp7/08y5 + /9LKuP/JwrD/0cq3/8S9rP+vqZr/wbqp/7y1pf/e1sL/39fD//Dn0v/069X/9OvV//Pq1P/w59L/6eDL + /9XOu//OxrT/s62e/9PMuf/z6tX/7+bR/+bdyf/QyLb/z8e1/87HtP/LxLL/sKqa/8vEsv/u5c//7uXP + /+3kzv/s4865AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA9ezWHfXs1vf17Nb/9OvV/8rDsf++uKf/xr+t/7qzo//JwrH/ycKw/9LKuP/PyLb/6eDL + /+7l0P/y6dT/9OvV//Pq1P/w59H/5dzI/97Wwv/NxrT/zMWz/8C6qf/Auan/ysOx/8G6qf/PyLX/vbem + /763p/+/uKf/0Mm2/9LKt/+/uKf/ysKw/8e/rf+1rp7/vrem/7q0o//p4cv/6+LM/+rhy//p4Mrk6N/K + CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + APXs1t3069X+9OvV/9PMuf/MxbP+6eHM/+/m0f7069X/9OvV/vTr1f/t5dD+4dnF/9HJt//DvKv+x8Cu + /8rDsf69tqX/wruq/s7GtP/PyLX+08u5/8nCsP+4sqH+wruq/763pv7KwrD/ubKh/svDsP+4saH+v7im + /7Osm/7EvKr/wLmn/7uzo/7Auaf/wbqp/sW9q//Xzrr+597I/+bdx/7l3Mb85NvFKQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1qj17Nb/9ezW + //Tr1f/v5tH/5t7J/87GtP/Fvqz/tK2e/9HJtv/Evaz/zse0/8S9rP/Iwa//wLmo/7q0pP+1r5//ycKw + /722pv/KwrD/08u4/8G6qf+xqpr/ubKh/8K6qP+6s6H/wLim/7qyof+8tKL/qaGQ/7Oqmf+8s6H/wbim + /762pP/Cuqj/u7Oi/6iik//b0r3/49rE/+LZw//h2ML/4NfBXgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPTr1XH069X+9ezW/+3kz/+1r5/+wLqp + /8jAr/7Qybb/y8Ox/sjBr//JwrD+vLWl/8S9q//MxbL+v7in/8C5qP69taX/xr6s/r22pP+6s6L+xLyq + /7y0o//NxLD+vbWi/7yyoP6knIz/vLKf/q2jkf+zqJX+sKSR/66jkP6pn43/qZ+O/8K5pf7AuKX/wbqn + /qullf/Du6j+39a//97Vv/7d1L7/3NO9lQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPTq1Dv17Nb/9ezW//Lq1P+zrZ3/wLmo/722pf/QyLX/0Mi1 + /7avn//Cuqn/xLyq/7Cqmv/Hv63/wrqo/8C4pv+yqpn/ta2b/6efjv+4rpz/sqiW/7qwnP+soY//raKP + /6mei/+Xi3r/pZiF/6WXg/+0pY//wLGZ/8Gymf+nmYX/mY59/7CmlP/At6P/ubGf/7Osm/+xqpn/2dC6 + /9rRuv/Z0Ln/2M+4zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAPHn0RL069Xx8+rU//Pp0/++t6X+wrqp/7iwoP7Hv6z/xr6r/rmxoP+uppb+t6+d + /6aejv+7sp/+tKuZ/7uxnf6qoI7/raKP/qqfjP+onIn+qJyI/7Kkjv+5q5T+xbad/8y9o/7Swqf/2Mis + /t7Osf/g0bT+2cmt/52Mdf6QgW3/l4p4/6WaiP60q5n/urKg/s3EsP/RyLP+1s23/9XMtv7Uy7X/08q0 + 9tPJswwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AObbxALs4svL7uTO/+vhy//Lwq//u7Kg/6efj/+so5P/urCd/7ium/+wppP/pZqJ/6mdiv+dkX//o5aD + /7qslf+/sZn/y7yj/9PEqf/Yya3/39C0/+HStv/i1Lf/49S4/+PVuf/k1rr/5Na7/+XXvP/l2L3/rJqC + /4x3YP+aiHL/rp+I/8G0nv/Nwqz/0smz/9TLtf/TyrT/0smz/9HIsv/QxrH/z8Ww/s7ErzwAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADXyrOb39S9 + /9zQuf/Ivaj+o5iH/6KYhv6pnIr/rqGN/r2vmf/Etp7+0MKo/9jJr//ez7T+4dK3/+PVuf7k1rr/5Na7 + /uXXvP/l2L3+5tm+/+bZv//n2sD+59vC/+jcw/7o3MT/6d3F/urexv/l2cL+hG1V/4VvWP6VgWr/qJiC + /7uvmf7Ivaj/zsSu/s/GsP/Oxa/+zcOu/8zCrf7Lwaz/ysCr/8nAq3EAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODTugi7qpJ90cKq/9PErP/Uxa3/18mv + /97Qtf/j1br/5Na7/+XXvP/l2L3/5tm+/+bZwP/n2sH/59vC/+jcw//p3cT/6d3F/+rex//q38j/6+DJ + /+vgyv/s4cv/7OLM/+3jzf/u48//7uTQ/+/l0f/Ux7L/eWFJ/4BpUv+Pe2P/opF7/7aok//Ct6L/yb6q + /8vBrP/KwKv/yb+q/8i+qf/Gvaj/xbyn/8S7pqUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA59rB + A+fawQrm2b8r5di+UeXYvnnl172g5Ne8x+XXvOXl2L335tm+/+bZv//n2sD/59vC/+jcw//p3MT/6d3F + /+rex//q38j/6+DJ/+vgyv/s4cv/7OLM/+3jzf/u487/7uTP/+/l0P/v5tL/8ObT//Dn1P/x6NX/8enW + //Lp1//y6tj/8+vZ//Ps2v/Mv6z/dl5G/31mTv+KdV7/nIpz/6+hi/+8sJv/w7mk/8a8p//FvKf/xLum + /8O6pf/CuaT/wbij/8C3osAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADo3MNN5tm+1ubZv/jn2sH+59vC + /+jcw/7o3MT/6d3F/urex//q38j+6+DJ/+vgyv/s4cv+7OLM/+3jzf7t487/7uTP/u/l0f/v5tL+8ObT + //Dn1P/x6NX+8enW//Lp1/7y6tj/8+vZ/vPs2v/07Nv+9O3c//Xu3f/17t7+9u/f//bw4P738OD/9/Hh + /vjy4v/RxbP+dV1F/3piS/6Eb1f/lIFq/6aXgf60qJP/vbKe/sC2ov/At6P+v7ai/761of69tKD/vbSf + /7yznsMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOzhy1Hq38j26+DJ/+vgyv/s4cv/7OLM/+3jzf/u487/7uTQ + /+/l0f/v5tL/8ObT//Dn1P/x6NX/8enW//Lp1//y6tj/8+vZ//Ps2v/07Nv/9O3c//Xu3f/17t7/9u/f + //bw3//38OD/9/Hh//jy4v/48uP/+fPk//nz5f/59OX/+vXm//r15//79uj/+/bo//v36f/f1sf/dV1F + /3hgSP9/aVH/jHhh/52Mdv+rnon/tquW/7qxnP+8s57/u7Ke/7uynf+6sZz/ubCc/7ivm6wAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA8OfUJu/l0e7v5tL+8ObT//Dn1P/x6NX+8enW//Lp1/7y6tj/8+vZ/vPs2v/07Nv+9O3c + //Xu3f/17t7+9u/f//bw3/738OD/9/Hh/vjy4v/48uP++PPk//nz5f/59OX++vXm//r15/779uj/+/bo + /vv36f/89+r+/Pjr//z46//9+Oz+/fns//357f7++u7//vru/v767v/18eT+eWBJ/3ZdRf57ZEz/hG9Y + /5OBav6hknz/raGM/rSqlf+3rZn+t66a/7eumv62rZn/tq2Y/7WsmHIAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17t0B8+vZ + rPPs2v/07Nv/9O3c//Xu3f/17t7/9u/f//bw4P/38OH/9/Hh//jy4v/48uP/+fPk//nz5f/69Ob/+vXm + //r15//79uj/+/bp//z36f/89+r//Pjr//346//9+ez//fnt//367f/++u3//vru//767v/++u7//vvv + //767v/++u7//vru//357f/9+e3//fns//347P/8+Ov/lIBq/3VcRP94YEj/fmhQ/4p1X/+WhW//o5WA + /6yhjP+xp5L/s6qV/7Oqlv+zqpb/s6qW9LOqlh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD38eId9/Hh+Pjy4v/48uP++PPk + //nz5f/59OX++vXm//r15/769uj/+/bo/vv36f/89+r+/Pjq//z46//9+Oz+/fns//357f7++u7//vru + /v767v/++u7+/vru//767v/++u7+/vru//367f79+e3//fns/v347P/8+Ov+/Pjq//z36v/79un++/bo + //r15/769ef/+vTm/vn05f/58+T+xrmm/3RbQ/52XUX/eWJK/4FsVP6MeWL/mIhy/qKUf/+pnon+raOP + /6+mkf6wppL/sKeThQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD69edX+/bp//z36f/89+r//Pjr//346//9+ez//fns + //367f/++u7//vru//767v/++u7//vvv//767v/++u7//vru//357f/9+e3//fns//z47P/8+Ov//Pfq + //v36v/79un/+/bo//r15//69ef/+fTm//n05f/58+T/+PPk//jy4//38eL/9/Hh//bw4P/279//9u/e + //Xu3f/17dz/8OnX/5SAaf91XET/d15H/3tkTf+DbVb/jHpj/5aHcf+fkn3/ppqF/6mfiv+to4+tr6WR + CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD9+exv/vru/v767v/+++7+/vru//767v/++u7+/vru//367f79+e3//fns + /v347P/8+Ov+/Pjq//z36v/79un++/bo//v15/769ef/+vTm/vn05f/58+T++PPk//jy4//48eL+9/Hh + //fw4P7279//9u/e/vXu3f/17dz+9O3b//Ts2v/z69n+8+vY//Lq1/7y6db/8ejV/vHo1P/w59P+7+bS + /+TZxP6NeGD/dl1F/3hgSf59Zk//hG9Y/o17ZP+WhnD+npB7+6aahpGpn4oIAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAD8+Otj/fns//z47P/8+Ov//Pfq//v36v/79un/+/bo//r15//69ef/+fTm//n05f/58+T/+PPk + //jy4//38eL/9/Hh//bw4P/279//9u/e//Xu3f/17dz/9O3b//Ts2v/z69n/8+vY//Lq1//y6db/8ejV + //Ho1P/w59P/8ObS/+/l0f/u5dD/7uTP/+3jzv/t4s3/7OLM/+zhy//r4Mn/69/I/+rex//m2sL/tqSM + /4dxWf98Zk7/gmxV/ol2X+mQf2mlm414MQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD69eY0+vTm + /vn05f/58+T/+fPk//jy4//48eL/9/Hh//fw4P/279//9u/e//Xu3f/17dz/9O3b//Ts2//z69n/8+vZ + //Lq1//y6db/8ejV//Ho1P/w59P/8ObS/+/m0f/u5dD/7uTP/+3jzv/t4s3/7OLM/+zhy//r4Mr/69/I + /+rfx//p3sb/6d3F/+jcxP/o3MP/59vB/+fawP/m2b//5ti+/+XYvf7l17z649W68N3Os8q8rJKfrJmA + UY98ZBEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD38eEG9u/e2vXu3f/17dz+9O3b + //Ts2v/z69n+8+vY//Lq1/7y6db/8ejV/vHo1P/w59P+7+bS/+/l0f/u5dD+7uTP/+3jzv7t4s3/7OLM + /uzhy//r4Mn+6t/I/+rfx//p3sb+6d3F/+jcw/7o28L/59vB/ufawP/m2b/+5ti+/+XYvf/k17z+5Na7 + /+PVuv7i1Ljy4tS41+LTuLbj1bmO49W6aOPVukHe0LUd0sKoAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8urXaPHo1P7w59P/8ObS/+/m0f/u5dD/7uTP + /+3jzv/t483/7OLM/+zhy//r4Mr/69/I/+rfx//p3sb/6d3F/+jcxP/o3MP/59vB/+fawP/m2b//5ti+ + /+XYvf/k17z/5Na7/+PVuv/j1bn/4tS4/uLTt/fi07br4dK1xuLTt6Dh0rZ54tS4U+LUuSvj1rsR49a6 + BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA8OfTBOzhzLHr4Mn+6t/I/+rfx//p3sb+6d3F/+jcxP7o28L/59rB + /ufawP/m2b/+5ti+/+XYvf/k17z+5Na7/+PVuv7j1bn/4tS4/uLTt//h0rb+4dK1/+DRtPPg0bPU4NG0 + sd/Psovg0bVk4dK2PeLTtx3i1LgDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAOvfyQ3n2sGp5ti+/eXYvf/k17z/5Na7/+PVuv/j1bn/4tS4/+LTt//h0rb/4dK1 + /+DRtP/g0LP+38+y9d/Psebfz7HE39Cynd/Psnbg0bRP4NG0J+HTtg3h0rYDAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAADn2sEC49W5X+HRtNrg0LP+39Cy/9/Psf7ezrD/3s6v9N7NrtPezrCv3s6vh9/PsWHfz7I639Cy + HeDQswQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AOHStgXfz7FC3c2ubd7Or0vezrAl38+xB9/PsQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAD///////wAP/8AAAD///////gAB/8AAAD///////gAA/8AAAD//////4AAAf8AAAD/////4AAA + Af8AAAD////wAAAAAf8AAAD///wAAAAAAf8AAAD//gAAAAAAAf8AAAD/4AAAAAAAAP8AAAD/wAAAAAAA + AH8AAAD/gAAAAAAAAB8AAAD/gAAAAAAAAA8AAAD/AAAAAAAAAAMAAAD/AAAAAAAAAAEAAAD+AAAAAAAA + AAAAAAD+AAAAAAAAAAAAAAD+AAAAAAAAAAAAAAD+AAAAAAAAAAAAAAD+AAAAAAAAAAAAAAD+AAAAAAAA + AAMAAAD/AAAAAAAB//8AAAD/AAAAAAA///8AAAD/AAAAAAAf//8AAAD/AAAAAAAf//8AAAD/gAAAAAAf + //8AAAD/gAAAAAAf//8AAAD/gAAAAAAf//8AAAD/gAAAAAAP//8AAAD/gAAAAAAP//8AAAD/wAAAAAAP + //8AAAD/wAAAAAAP//8AAAD/wAAAAAAP//8AAAD/wAAAAAAH//8AAAD/wAAAAAAH//8AAAD/4AAAAAAH + //8AAAD/4AAAAAAH//8AAAD/4AAAAAAH//8AAAD/4AAAAAAD//8AAAD/8AAAAAAD//8AAAD/8AAAAAAD + //8AAAD/8AAAAAAD//8AAAD/8AAAAAAD//8AAAD/8AAAAAAB//8AAAD/+AAAAAAB//8AAAD/+AAAAAAB + //8AAAD/+AAAAAAB//8AAAD/+AAAAAAA//8AAAD//AAAAAAA//8AAAD//AAAAAAA//8AAAD//AAAAAAA + //8AAAD//AAAAAAA//8AAAD//AAAAAAAf/8AAAD//AAAAAAAf/8AAAD//gAAAAAAf/8AAAD//AAAAAAA + f/8AAAD+AAAAAAAAf/8AAAD8AAAAAAAAf/8AAAD4AAAAAAAAf/8AAADwAAAAAAAAf/8AAADgAAAAAAAA + f/8AAADgAAAAAAAA//8AAADgAAAAAAAA//8AAADgAAAAAAAB//8AAADgAAAAAAAH//8AAADgAAAAAAAf + //8AAADgAAAAAAH///8AAADwAAAAAH////8AAADwAAAAP/////8AAAD4AAAP//////8AAAD8AAf///// + //8AAAD/Af////////8AAAD///////////8AAAAoAAAAQAAAAIAAAAABACAAAAAAAABCAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAgIC + AwEBAQQCAgEFAgICBQICAgQCAgEEAQEAAwAAAAMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAABJQzoCIR4aBgEBAQ4AAAATAAAAFQAAABUAAAAVAAAAFAAAABIAAAAQAAAADAAAAAgAAAAFAAAA + AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAbGVZBR0aFyAyLylSWlRKeHJqXI6dlIGtk4p6pUVBOl8AAAAwAAAA + KwAAACUAAAAdAAAAFAAAAAsAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAKmbhgW1qZQssaWPTq6hjHq2q5afsKOOw8G3ou/Eu6b+x72p/8/Bq//f07z/6N3I + /+zizf/u5ND/u7SmzSUkIV4AAABDAAAAOgAAAC0AAAAdAAAADQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ALGmkQGvpI4XsKSPP7etmGeuoo2LsaaRtresmNm9tKD7wLei/8K5pP/Fu6f/x76p/8rAq//Nw67/z8aw + /8m+qf/Owa3/49rH/+/o1//07d3/9e/f//bw4f/p5NbxNjUycAAAAEkAAAA8AAAAKgAAABUAAAAGAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACuo44Fs6mU + Ma2hjVKxppF6tKqVo6+kj8a4rpryubCc/7uynv++taD/wLei/8K5pf/Fu6f/yL6p/8rArP/Nw67/z8ax + /9LJs//VzLX/1864/9rRuv+8rpr/z8Oy/+nh0v/28OL/+vbp//v36//8+Oz//Pnt/+Th1ucQEA9IAAAA + NAAAACQAAAASAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAClmYQBq6CLGaOWgUGxp5JrsaeT + jLOqlbexp5PetKuX/Latmf+4r5v/urGc/7yznv++taD/wLej/8O5pf/FvKf/yL6p/8vBrP/Nw67/0Max + /9LJs//VzLb/1864/9rRu//c073/39a//+HYwv/f1r//rp6M/9DFtf/r5dj/+fXp//767//+++///vvw + ///77//+++//hIJ7jgAAACYAAAAXAAAACwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwppIbp5uGe7CmkqannIfIsaiT + 87GolP+zqpb/tKuX/7atmf+4r5v/urGd/7yzn/++taH/wLej/8O6pf/FvKf/yL6q/8vBrP/NxK//0Max + /9PJs//VzLb/2M+4/9rRu//d1L3/39bA/+HYwv/k28T/5t3H/+jfyf/q4cv/3NG7/6qZhv/NwrH/6uPV + //n05//9+ez//fns//346//8+Or//Pfo/9jTxtYAAAAsAAAAGgAAAA0AAAAEAAAAAQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxqJRWsKeT + 9LGolP+zqpb/tKuX/7atmf+4r5v/urGd/7yzn/++taH/wbij/8O6pf/GvKj/yb+q/8vBrP/OxK//0Mex + /9PKtP/VzLb/2M+5/9rRu//d1L3/39bA/+LZwv/k28X/5t3H/+jfyf/q4cz/7OPN/+7lz//w59H/8ejS + /+HWwP+hj3v/w7Wi/+DXxf/y69r/9/Hg//jx4P/48N7/9+7b//Xt2f/z6tX8BwcGQwAAAC4AAAAdAAAA + DwAAAAYAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAC2rZlFtayX+7atmf+4r5v/urGd/7yzn/++taH/wbij/8O6pv/GvKj/yb+q/8vCrf/OxK//0cey + /9PKtP/Wzbb/2M+5/9vSu//d1L7/39bA/+LZw//k28X/5t3H/+jfyv/q4cz/7OPN/+7lz//v5tH/7+bQ + /+bdyf/m3cn/9OvV//Tr1f/x59H/mIRt/7OjjP/SxK7/5tvE/+/kzf/w5c3/7+PK/+7ix//t4MT/693A + /xIQDlUAAABEAAAANAAAACMAAAAUAAAACQAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAC/taEIu7Kd4b20n/+/tqH/wbij/8S6pv/Gvaj/yb+q/8zCrf/Oxa//0cey + /9PKtP/Wzbf/2M+5/9vSvP/d1L7/4NfA/97Vv//Y0Lv/y8Sw/7myof/DvKr/saub/9LKt//m3cj/29O/ + /8W+rf/Gv63/z8e1/9PMuf++uKf/z8e1//Tr1f/17Nb/9ezW/6GNdf+jjnX/v62S/9fGqf/i0rP/5ta1 + /+bVs//k0q//49Cs/9fEoe8AAABSAAAATQAAAEQAAAA3AAAAKAAAABkAAAANAAAABQAAAAIAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxLumZMS7pv/Hvaj/ycCr/8zCrf/OxbD/0ciy + /9TKtf/Wzbf/2dC5/9vSvP/Xzrn/1s24/8K7qP+3sJ//v7im/8S8qv+/uKf/vrem/8a/rf+7tKP/x8Cu + /763pv/Fvq3/yMGv/9DJtv/MxbP/ta6f/87GtP/HwK7/zMSy/8a/rf/u5dD/9ezW//Xs1v+yoIj/k3xh + /6yWeP/Er43/1L6Z/9rEnP/bxJv/2sKY/9nAlf+NfWC6AAAATgAAAEsAAABHAAAAQQAAADcAAAAqAAAA + HQAAABAAAAAIAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM3DrrrPxbD/0ciy + /9TLtf/VzLb/1Mu2/8i/rP/JwK3/urOh/6+omP+xqpr/vLWk/8a+rP+zrJz/xb6s/7mzov/Iwa//z8i1 + /8O8q//DvKv/ysKw/7+4qP+2sKD/y8Sy/8C6qf/HwK7/wbqp/9zUwP+9tqX/w7yr/8fArv/HwK7/7eXP + //Xs1v/17Nb/yLmi/4duUv+bg2L/s5p0/8Sqf//Ps4X/0bWF/9G0g//OsX/5KSMZYwAAAEYAAABEAAAA + QgAAAEAAAAA7AAAANAAAACoAAAAeAAAAEwAAAAoAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAADXzrjy2dC6/8W9qv+popP/sKmZ/7avnv+3sJ//xr+s/763pf/Fvqz/vbal/7ixof/Cu6r/vrem + /8zEsv+/uaj/wLmo/8/Htf/HwK//x8Cv/8zFs/+8taX/zcWz/7y1pf/HwK7/xr+t/8zFs/+xq5z/2dG+ + /8a/rv/JwrD/wruq/+Pbxv/17Nb/9ezW/+HVv/9/ZUr/jnRU/6OHYP+2mWv/w6Rx/8mpc//KqXL/YlI4 + jgAAAD4AAAA9AAAAOwAAADoAAAA4AAAANgAAADMAAAAuAAAAJgAAAB0AAAASAAAACAAAAAIAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAADf1sAR4djB/+PaxP/Qx7T/pZ+Q/8G5qP+8taT/x8Cu/7mzov/DvKv/xL2r + /7iyov/Dvav/vbem/8jBr//Iwa//tq+g/8fArv/Buqn/xb6t/8fArv/PyLX/ubKi/8fArv+7taT/ycKw + /83Fs//Ryrf/wLmo/8nBsP/Vzbr/0su4/723pv/Uzbr/9ezW//Xs1v/069X/gWlP/4RpS/+WelT/qYte + /7maZv/Comr8bFo7jwAAADMAAAAyAAAAMAAAAC8AAAAtAAAALAAAACoAAAApAAAAJgAAACMAAAAdAAAA + FAAAAAoAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA597IE+rhy//s483/5NvG/7Otnf+9tqb/ysOx + /8rCsf+/uKf/wruq/8G6qf/Auaj/vLal/8nCsP/Evaz/xb6t/8rDsf/NxrT/y8Sy/8zFsv++t6f/zMWz + /763p//Kw7H/v7in/8nCsP/Fvq3/z8i1/8nCsP+5s6P/zca0/8fAr//d1cL/6eHM//Xs1v/17Nb/9ezW + /5mFbOZxWkDCXkw1mlFCLXczKhxSGBQNLwAAACIAAAAhAAAAIAAAAB8AAAAdAAAAHAAAABsAAAAaAAAA + GQAAABgAAAAWAAAAEgAAAA4AAAAHAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO3kzgHx6NLv8unT + //Ho0v/Evaz/vbem/7u0pP/Iwa//xr+u/7y1pf+5sqP/wruq/7+4p//HwK7/xL2s/7+4p//HwK7/v7in + /8/Htf/Qybb/wruq/8W+rf/JwrD/vrin/7Otnv/Px7X/1s67/+zkzv/x6NP/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v+Pin2GAAAAEgAAABEAAAARAAAAEAAAABAAAAAPAAAADwAAAA4AAAANAAAA + DAAAAAwAAAALAAAACwAAAAoAAAAJAAAACAAAAAcAAAAFAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA9OvVufXs1v/17Nb/vren/7y2pf/Gv63/ycGw/8/Htf/MxbP/v7in/9DItv/DvKv/ubOj + /8a/rf/Cu6r/ysOx/7+4p//Gv63/0Mm2/97Wwv/o4Mv/8ejT//Tr1f/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/z6tT/8OfS/93Vwf/PyLb/3tbC//Xs1v/17Nb/29O/tWlkWQUwLCYEBwYEBAQDAgQEAwIEAQEA + BAAAAAQAAAADAAAAAwAAAAMAAAADAAAAAgAAAAIAAAACAAAAAgAAAAEAAAABAAAAAQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPTr1YL17Nb/9ezW/9XNuv+2sKD/xL2s/8nCsP/Kw7H/wLmo + /8K8qv/Cu6r/wruq/8/Htf/Vzbr/7eXP//Tr1f/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/8+rV + /+rhzP/j2sb/08u4/8S9rP/Fvq3/w7yr/9nRvf/Fvaz/v7in/9zUwP/17Nb/9ezW//Tr1ekAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD069VM9ezW//Xs1v/d1cL/u7Sk + /7y1pf/Uzbr/4tnF/+vjzv/z6tT/9OvV//Ho0v/l3Mj/6+LN//Xs1v/17Nb/9ezW//Tr1f/x6NL/3NTA + /8/Htf/Iwa//ubKi/8rCsP+5s6P/zca0/8zFs//Ty7n/wruq/8jBsP/TzLn/zsa0/8K7qv/Qybb/9ezW + //Xs1v/17Nb/7+fRIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezW + FvXs1v717Nb/9OvV//Xs1v/y6tT/6+LN/+LZxv/Kw7H/vrem/7y1pf/Auaj/vren/8vDsf/Xz7z/wLmo + /7+4p//MxbP/1c26/8rDsf/Auaj/y8Ox/8C5qf/MxbP/v7io/8zEsv/Fvq3/z8e1/8jBr/+5sqL/zca0 + /8S+rP/Syrf/ycKw//Dn0v/17Nb/9ezW//Tr1VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD17Nbe9ezW//Tr1f+1rp//v7in/8W9rP/DvKr/wbqp/9HJtv/LxLL/u7Sk + /764p//Fvaz/yMGv/7y2pf/JwrD/wLmo/83GtP/Ox7T/xr+u/8O8q//IwbD/wLmo/7ixof/Evaz/w7yr + /8K7qv/Buqn/2dG+/7+5qP/Uzbr/59/K//Lp0//069X/9ezW//Xs1v/17NaPAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWp/Xs1v/17Nb/zse0/7q0pP/DvKv/ysOx + /8rDsf/Ox7X/wruq/8/Htf/DvKv/vLWl/8O8q//Evaz/zMSy/8G6qf/Evaz/y8Sy/8nBsP/Sy7j/0Mm2 + /7Wvn//UzLn/zMWz/+bdyf/v59H/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + xgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1nH17Nb/9ezW + /9fPvP+1rp//w7yr/8jBsP/MxbP/vbam/8W+rf/Gv63/wLmp/8W9rP/Evav/vren/8G6qf+2sKD/ysOx + /9TMuv/m3sn/8+rU//Tr1f/069X/7+bR/97Wwv/p4Mv/9ezW//Xs1v/069X/8unT/+ngy//d1cH/v7io + /9nRvv/17Nb/9ezW//Xs1vf17NYGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAD17NY69ezW//Xs1v/i2sX/vLal/8G6qf/Auan/xb6t/7+4qP+/uaj/uLKi/8fArv/Ty7n/5t7J + //Pq1P/17Nb/9OvV/+/n0f/p4Mv/0Mi2/8fAr//Gv67/urSk/8zEsv+7tKT/zMWz/9DItv/Rybb/wLmo + /8a/rv/Syrf/xr+u/8W+rP/NxbP/9ezW//Xs1v/17Nb/9ezWNQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWCfXs1vr17Nb/7eTP/763p/+/uKj/08y5/+beyf/y6dP/9OvV + //Tr1f/r4s3/4dnF/9HJt//Syrf/vLal/7+4p//MxbP/0sq3/8/Itf++t6f/ysOx/764p//Lw7H/u7Wl + /8zEs//Buqn/z8e1/8jBr/+2sKD/ysOx/8jBr//Px7X/zca0/+7m0P/17Nb/9ezW//Xs1mwAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NbM9ezW//Xs1v/17Nb/7ubQ + /9vTwP/MxbP/v7in/9TMuf/KwrH/wbqp/7+4qP/Buqn/xr6t/7u0pP/LxLL/wLmo/8vDsv/NxbP/x8Cu + /8C5qP/JwbD/vbam/722pv/Auaj/xL2s/7+4p//Cu6r/18+8/8S9rP/JwrD/x8Cv/7+4qP/y6dP/9ezW + //Xs1v/17NajAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezW + lvXs1v/17Nb/0Mm2/7u1pP/Fvq3/ysOx/8zFsv/Ox7T/w7yr/8zFsv/Auaj/vrin/764p//Gv63/zMWz + /8G6qf/DvKv/ycKw/8fArv/Xz7z/0Mi2/7avn//PyLX/vren/8zFs//Ox7X/ysOx/7ewof/Vzbr/0sq4 + /8S8q//Hv67/29PA//Xs1v/17Nb/9ezW2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAPXs1l/17Nb/9ezW/9nRvv+1r5//wryq/8nCsP/NxrT/urOj/8W9rP/Gv63/wLmp + /8G6qf/Fvq3/wruq/8O8q/+7tKT/y8Sy/8rCsf/JwrD/u7Sk/9DJtv+7taT/yMGv/7qzo//Px7X/yMCv + /8jBr//Iwa//ycKw/9XNuv/Rybf/u7Sk/9jQvf/17Nb/9ezW//Xs1v717NYTAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NYp9ezW//Xs1v/k3Mj/vbam/8O8qv+9tqb/w7yr + /8G6qf/Buqn/vLWl/8G6qf+7taT/zca0/722pv/Gv67/y8Sy/8rDsf/NxrP/w7yr/8a/rf/Gv67/vLWl + /8zFs/+8taX/xr+u/8vEsv/Rybb/w7yr/8S9rP/QyLb/xL2s/8fArv/HwK7/9OvV//Xs1v/17Nb/9ezW + SQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWAfXs1vD17Nb/7+bR + /7+4p/+6s6P/xr+u/8zEsv/Fvq3/vLWl/7myov/Cu6r/wLmp/8W+rf/Syrj/vLam/7+5qP/Kw7H/0Mi2 + /9PLuP+9tqb/ycKw/763p//Iwa//uLKi/83GtP+/uKf/zMSy/8a/rf+/uKj/4dnF/+3kz//y6dT/9OvV + //Xs1v/17Nb/9ezW//Xs1oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAD17Na79ezW//Tr1f+9tqb/wLqp/8K7qv/Buqn/vLWl/9XOuv/Kw7H/x8Cu/7+5qP+9tqX/xb6t + /7mzo//NxbP/v7io/8jBr//MxbL/yMGv/8C5qP/Iwa//yMGw/9XOuv/q4c3/8unT//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/069X/9ezW//Xs1v/17Na3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWhPXs1v/17Nb/1My5/7exof/Fvqz/yMGv/8zEsv/OxrT/xL2s + /8nCsP+9tqb/wbqp/7qzpP/Gvq3/zse0/8zEsv/c1MH/7ubQ//Lp1P/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/069X/8ejT/+HZxf/b07//1s67/9PMuf+9t6b/4NjE//Xs1v/17Nb/9ezW7QAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1k717Nb/9ezW/93Vwf+1rp//wbqp + /8zEsv/Ox7X/uLKi/8fArv/Syrj/39fD//Ho0v/z6tT/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9OvV + /+/m0f/h2cX/1s68/8W+rP/JwbD/zMWy/9LLuP/DvKv/w7yr/83GtP+/uKf/wruq/9XOuv/17Nb/9ezW + //Xs1v/17NYlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NYX9ezW + /vXs1v/o4Mv/ycKw/+Laxv/w59H/9OvV//Pq1P/s5M7/49vG/8a/rf++t6f/0sq3//Tr1f/v5tH/3tbC + /87GtP/Ty7j/1My6/7u0pP/JwrD/w7yr/8W+rf+0rp7/xr+t/8C5qP/NxbP/ycGw/8nCsP+7tKT/xb6t + /9XNuv/JwbD/9OvV//Xs1v/17Nb/9ezWXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAPXs1uD17Nb/9ezW/+DYxP/JwrD/v7io/7+4qP/Du6v/z8i1/8fAr//NxrT/xb6t + /7mzo//Auaj/wLmo/8fArv/Buqn/ycKw/8K7qv/Fvq3/wbqp/8nCsP+3sKH/zse0/7ixof/Fvqz/wruq + /8a/rv/DvKr/0cq3/87GtP/EvKz/ycGw//Ho0//17Nb/9ezW//Xs1pMAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17Nap9ezW//Xs1v/HwK7/vLal/8C5qP/MxbP/zca0 + /8vEsv/Auaj/w7yr/8S9rP/DvKr/vren/8K7qv/Kw7H/wbqp/8C6qf/Fvq3/zse1/9HKt//OxrT/sauc + /8rCsf+/uKf/zca0/8zEsv/GwK7/w7yr/8jBr//a0r7/wLmo/8W+rf/h2cX/9ezW//Xs1v/17NbKAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWc/Xs1v/17Nb/08y5 + /723pv+6s6P/z8e1/8rCsP+/uaj/xb6t/763p//Fvqz/v7in/8W+rf+7tKT/xL2s/83GtP/Kw7H/ycKw + /8fArv/Buqn/zsa0/763p//JwrD/urOj/8/Htf/NxrT/ycGw/8O7qv/MxLL/08u5/9PLuP+8taX/4NjE + //Xs1v/17Nb/9ezW+fPq1AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + APXs1jz17Nb/9ezW/+DYxP/Gv63/u7Wl/7ewoP+/uKj/wruq/7+4p/+/uaj/wLqp/7qzo//UzLn/urOj + /8W+rP/Gv63/ycKw/9fQvP+/uaj/xb6t/8jBr/+8tqX/zMSy/8C5qP/IwK//y8Sy/9rSv//f18P/6uLN + //Pq1P/069X/9ezW//Tr1f/069X/9OvV//Pq1P/y6dM5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD17NYK9ezW+vXs1v/s5M7/ubKi/764p//Iwa//zsa0/8K7qv/Auqn/xb6t + /7y1pf++t6f/xr+t/9DItv/Buqn/xL2s/8K7qv/Px7X/1My6/7y1pf/TzLn/3tbC//Dn0f/069X/9ezW + //Xs1v/17Nb/9ezW//Tr1f/069X/9OvV//Lp0//t5c//8ejS//Ho0v/w59L/8OfRcAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1s717Nb/8+rU/8a+rf+9tqb/wLmp + /8K7qv/Evaz/0cq3/8O8q//QyLb/wruq/7awoP/Dvav/ysOx/+Pbxv/s487/8+rU//Tr1f/y6dT/7OTO + /93Vwv/Rybf/u7Sk/763pv/z6tT/7uXQ/+LZxf/HwK//zcaz/83Fs//Fvqz/vbal/+jfyv/u5c//7eTO + /+zjzacAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NaY9ezW + //Xs1v/LxLL/ubKi/7+4p//JwrD/zMWz/9bOu//g18T/7ubQ//Tr1f/069X/9OvV/+vizf/Z0b7/08u5 + /8a/rf/Uzbr/wrur/8W+rf/DvKv/v7io/8S9rP/Fvqz/vbal/9HKtv/Jwq//u7Sj/8S8q//IwK7/wLin + /7Otnf/c1L//6uHM/+ngy//o38reAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA9ezWYfXs1v/17Nb/6uLN/+zjzv/069X/9OvV//Ho0v/s487/1s67/9HKt/+5s6P/urOj + /9LKuP/Evaz/ysOx/7iyov/Fvq3/1My5/83Gs/+6s6P/xL2r/8G6qf++t6b/trCf/7u0o//Buaf/u7Oh + /8nArf++tqX/s6yc/7u0o//Kwq//ysOw/+bdx//l3Mb/5NvF/uPaxBYAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1ir17Nb/9ezW//Ho0v/Dvav/wbqq/7ixof/Auaj/0Mm2 + /8/Htf/DvKv/yMGw/8a/rf/Auaj/vrem/8vDsf/Auaj/vrem/8e/rf+7tKP/uLGg/762pP+/t6T/uLCe + /7uyoP+zqpj/raOS/7SrmP+yqZf/t66c/8G5pv/AuKb/rKaW/8rCr//h2ML/4djB/9/WwP/e1b9NAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADz6tQC9ezW8fXs1v/x6NL/trCg + /87GtP+xq5z/08y5/8e/rv/Kw7H/xb6s/7awn//IwK7/t7Cf/8C5p/+7s6L/u7Oh/7y0ov+vp5b/uK6c + /8C2ov+3rJn/sKWT/6SZiP+qnov/ppqH/6KWgv+woo3/rKCM/6mejf+5sJ3/vrWj/7Ssm/+zrJv/2tG7 + /9zTvP/a0bv/2tG6gwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + APTr1b3069X/8+rU/7+4p//DvKr/v7in/8/HtP+3r5//u7Oi/8G4pv+uppb/u7Kg/7mwnv+4rpz/q6GQ + /62jkf+2q5f/q6CN/62gjP+fkn//tKaQ/72ulv/JuaD/zr6j/9PDp//czbD/tqWM/5uMeP+ajnz/rKKQ + /7Wtm/+yq5r/saqZ/9XMtv/Xzrj/1cy2/9TLtboAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAADr4cuH7+bQ/+3kzv/Kwa//wLim/6yklP+vp5b/sKeV/7Oql/+roY//r6SR + /6OYhv+flIL/s6aR/7Klj//Cs5v/z8Cm/9XGq//by7D/4dK1/+LTt//i1Lj/49W5/+TWuv/k1rv/xrac + /4l1X/+XhnD/saKM/8a6pP/Rx7H/1cu1/9TLtf/TyrT/0smz/9DHsf/PxrDwz8WwAQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2c21U+HVv//d0rv/xrql/6ugjv+pnov/qJyJ + /7aplP+6rZb/ybui/9TGrP/bzLH/4dK2/+PVuf/k1rr/5Na7/+XXvP/l2L7/5tm//+fawP/n28H/6NzD + /+jcxP/p3cX/6t7H/5iEbP+Fb1j/loNs/6ydh//AtJ//zMGs/8/GsP/PxrD/zsSv/83Drv/Lwa3/ysCr + /8nAqykAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4NO6A8a2nUbSxKz/1Mat + /9bHrv/azLL/4NK3/+TWu//l17z/5di+/+bZv//n2sD/59vB/+jcw//o3MT/6d3F/+rex//q38j/6+DJ + /+zhy//s4sz/7ePN/+3jzv/u5M//7+XR/+7l0f97Y0v/gGlR/497ZP+mlX//uq6Y/8a7pv/KwKv/ysCr + /8m/qv/Hvqn/xryo/8W7p//Eu6ZcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOfawRHm2cA65ti+YeXYvYjl2L6u5de8 + 1eXYvvnm2b//59rA/+fbwf/o3MP/6NzE/+ndxf/q3sf/6t/I/+vgyf/s4cv/7OLM/+3jzf/t487/7uTP + /+/l0f/v5tL/8OfT//Ho1P/x6NX/8unX//Lq2P/z69n/8+za//Ts2//t5dP/dl1F/3xlTf+KdV7/no12 + /7Klj/++tJ//xLql/8S7pv/DuqX/wrmk/8G4o//At6L/v7aidAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOndxVbn28H26NzD + /+jcxP/p3cX/6t7H/+rfyP/r4Mn/7OHL/+zizP/t483/7ePO/+7kz//v5dH/7+bS//Dn0//x6NT/8ejV + //Lp1//y6tj/8+vZ//Ps2v/07Nv/9e3c//Xu3f/2797/9vDf//fw4P/38eH/+PLi//jy4//58+T/9fDh + /3VcRP95YUn/g25W/5SCbP+omYT/tquW/72zn/+/tqH/vrWh/720oP+8s5//u7Ke/7uynnEAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AO7kz0Xs4sz67ePN/+3jzv/u5M//7+XR/+/m0v/w59P/8ejU//Ho1f/y6df/8urY//Pr2f/z7Nr/9Ozb + //Xt3P/17t3/9u/e//bw3//38OD/9/Hh//jy4v/48uP/+fPk//n05f/69Ob/+vXn//r26P/79un/+/fp + //z36v/8+Ov//fjs//357P+Ca1T/d15H/35nT/+Ld2D/nY13/6ygiv+2q5f/ubCc/7qxnP+5sJz/uK+b + /7eumv+3rppNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAPPr2Qzx6NXl8unX//Lq2P/z69n/8+za//Ts2//17dz/9e7d//bv3v/28N//9/Dg + //fx4f/48uL/+PLj//nz5P/59OX/+vTm//r15//69uj/+/bp//v36f/89+r//Pjr//347P/9+ez//fnt + //767v/++u7//vru//767v/++u7//vru//767v/++u7/oI15/3VcRP96Ykr/g25W/5KAaf+hknz/raGM + /7OplP+1rJf/tayY/7Srl/+0q5fztayYDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD28N9t9vDf//fw4P/38eH/+PLi//jy4//58+T/+fTl + //r05v/69ef/+vbo//v26f/79+n//Pfq//z46//9+Oz//fns//357f/++u7//vru//767v/++u7//vru + //767v/++u7//vru//357f/9+ez//fjs//z46//89+r/+/fp//v26f/69uj/+vXn/8u+rP90W0P/dl5G + /3xlTv+Hc1z/lINt/6GTfv+qn4r/r6WQ/7Gnk/+xp5P/saiUhQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+vXntvr26P/79un/+/fp + //z36v/8+Ov//fjs//357P/9+e3//vru//767v/++u7//vru//767v/++u7//vru//767v/9+e3//fns + //347P/8+Ov//Pfq//v36f/79un/+vbo//r15//69Ob/+fTl//nz5P/48uP/+PLi//fx4f/38OD/9vDf + //bv3v/07Nv/jnli/3VcRP94YEj/f2hR/4l1Xv+UhG7/n5F8/6abhv+qoIz/raSQwq+mkgcAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AP767tT++u7//vru//767v/++u7//vru//767v/++u7//fnt//357P/9+Oz//Pjr//z36v/79+n/+/bp + //r26P/69ef/+vTm//n05f/58+T/+PLj//jy4v/38eH/9/Dg//bw3//2797/9e7d//Xt3P/07Nv/8+za + //Pr2f/y6tj/8unX//Ho1f/x6NT/8OfT/+LXwv+Iclr/dl5G/3piS/+AalP/iXZf/5SEbv+dj3n+ppqG + paqgiwsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD9+ezI/fjs//z46//89+r/+/fp//v26f/69uj/+vXn//r05v/59OX/+fPk + //jy4//48uL/9/Hh//fw4P/28N//9u/e//Xu3f/17dz/9Ozb//Ps2v/z69n/8urY//Lp1//x6NX/8ejU + //Dn0//v5tL/7+XR/+7kz//t487/7ePN/+zizP/s4cv/6+DJ/+rfyP/q3sf/5NjA/7Gfhv+Fb1f/fmhR + /4d0XfKPfWetmIlzQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+fTllPnz5P/48uP/+PLi//fx4f/38OD/9vDf + //bv3v/17t3/9e3c//Ts2//z7Nr/8+vZ//Lq2P/y6df/8ejV//Ho1P/w59P/7+bS/+/l0f/u5M//7ePO + /+3jzf/s4sz/7OHL/+vgyf/q38j/6t7H/+ndxf/o3MT/6NzD/+fbwf/n2sD/5tm//+XYvv/l17z/5Na7 + /OPVutvdzrO00cGnjbWjiliZhm0KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXu3jn07Nv/8+za + //Pr2f/y6tj/8unX//Ho1f/x6NT/8OfT/+/m0v/v5dH/7uTP/+3jzv/t483/7OLM/+zhy//r4Mn/6t/I + /+rex//p3cX/6NzE/+jcw//n28H/59rA/+bZv//l2L7/5de8/+TWu//k1rr/49W5/+LTt+3i1LjF4tS4 + n+PVuXjj1blR49a7KuTWuwYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA7+bSq+7kz//t487/7ePN/+zizP/s4cv/6+DJ/+rfyP/q3sf/6d3F/+jcxP/o3MP/59vB + /+fawP/m2b//5di+/+XXvP/k1rv/5Na6/+PVuf/i1Lj/4tO3/+HStfrg0bTY4dO2sOHStoni07di4tS4 + POLTtxUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO3izQ7p3cXJ6NzD/+fbwf/n2sD/5tm//+XYvv/l17z/5Na7 + /+TWuv/j1bn/4tS4/+LTt//h0rb/4dG0/+DRs//f0LLp39CywuDQs5vg0bR04NG0TeHStibg0bUEAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6NzDCOTWu43i07f54dK2 + /+HRtP/g0bP/4NCy/9/Psf/ezrD43s6v1N/PsK3fz7GG38+xYN/Qsjjg0bMRAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA4dK1Hd7OsHfdza6X3s6vcd7Nr0rezrAj39CyAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAP//////gB////////8AA////////wAA///////AAAD/////4AAAAP////gAAAAA + ///8AAAAAAD//8AAAAAAAH//gAAAAAAAP/8AAAAAAAAP/gAAAAAAAAf+AAAAAAAAA/4AAAAAAAAA/gAA + AAAAAAD8AAAAAAAAAPwAAAAAAAAA/AAAAAAAAAD+AAAAAAAAA/4AAAAAD////gAAAAAH///+AAAAAAf/ + //8AAAAAB////wAAAAAH////AAAAAAP///8AAAAAA////wAAAAAD////gAAAAAP///+AAAAAA////4AA + AAAB////gAAAAAH///+AAAAAAf///8AAAAAB////wAAAAAH////AAAAAAP///8AAAAAA////4AAAAAD/ + ///gAAAAAP///+AAAAAAf///4AAAAAB////gAAAAAH////AAAAAAf///8AAAAAB////wAAAAAD////AA + AAAAP///8AAAAAA////4AAAAAD////gAAAAAH///+AAAAAAf///wAAAAAB///AAAAAAAH//4AAAAAAAf + //AAAAAAAB//4AAAAAAAH//gAAAAAAA//+AAAAAAAD//4AAAAAAAf//gAAAAAAH//+AAAAAAB///4AAA + AAD////wAAAAf/////AAAB//////+AAP///////+A///////////////////KAAAADAAAABgAAAAAQAg + AAAAAACAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGBQQDAQEBBgEBAQcCAQEHAQEBBgAAAAUAAAAEAAAA + AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFtVSwQEBAMRDw4MKCQiHT0/OzNRDw4M + LAAAACAAAAAaAAAAEgAAAAoAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvoo0Bs6iSGrOokkGzp5JosKSPj6CYhrm0q5jgx7ul + 9uDTvP3p3sj+4dfD8Hl0a5kFBQREAAAANwAAACYAAAATAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAALGmkgGxppEOsaeSMLOok1ezqJR9s6mUpLWqlcu9tJ/ywbij/8S7pv/Ivqn/y8Kt + /8/FsP/PxK//y72q/+fezP/z7N3/9vDh//jy4/+xraPGBQUFTAAAADkAAAAfAAAACAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AKiciAWwppEesqmURLKolGyxppKSsaeSuLWrl965r5v5u7Ke/r61of/BuKT+xbun/si/qv/Mwq3+z8aw + /tLJtP/Wzbf+2dC6/t3Uvf/Iu6b+yr6t/+3n2f769ur+/fnu//367v7+++/+cXBqiAAAACkAAAAWAAAA + BgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvpZEEq5+L + UKyijYGtoo6nrKKNzbCmku+0q5f9tq2Z/rmwnP+7sp7+vrWh/sK4pP/Fu6f+yL+q/szCrf/PxrD+08m0 + /tbNt//Z0Lr+3dS9/uDXwf/j2sT+5t3H/ungyv+9r5r+yLyr/+3n2f77+Ov+/vrt//357P79+Or+2NPH + 2AAAACcAAAASAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ALSrlxOxqJTHsqmV/7Srl/+3rpn/ubCc/7yzn/+/tqH/wrmk/8a8p//Jv6r/zMOu/9DHsf/TyrT/1864 + /9rRu//d1L7/4NfB/+TbxP/m3cf/6eDK/+zjzf/u5c//8OfR//Lp0/+8rJf/uquY/+HYxv/07Nv/9+/d + //bu2v/17Nf/8unS/QgIB0MAAAApAAAAFAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAALivm7O5sJz+vLOf/r+2ov/CuaT+xryo/8nAq/7Nw67+0Mex/tTKtf/Xzrj+2tG7 + /t7Vvv/f1sD+2dC7/tDItf/Iwa/+6+LM/uvizP/g2MP+3NTA/tjQvf/Ox7X+8unT/vXs1v/IuaL+ppN7 + /829pP7l17z+693B/+rcvv7p2bn+5dSz+wUFBFIAAABDAAAAMAAAABsAAAAMAAAAAwAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAxLqmPMO5pf7Gvaj+ysCr/s3Erv/Qx7L+1Mu1/9fOuP7Yz7n+1865 + /se/rP/Fvqv+yMGu/sfArf+9tqX+squc/sS9rP/JwrD+y8Ox/sjBr/+5sqL+zsa0/tHJt//Evaz+6N/K + /vXs1v/cz7n+knth/7SegP7Qu5j+3Meg/93Hnv7bxJr+rJl30wAAAE4AAABKAAAAQQAAADIAAAAgAAAA + EAAAAAYAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAz8WwlNHIsv/SybP/y8Ou/8C5pv/Cuqf/xLyp + /7qzof+yrJv/vLWk/7qzo//Fvqz/ycKw/8a/rf+2sKD/z8i1/8nCsP++t6f/u7Sk/8K7qv/Vzrv/ycKw + /7+5qP+9t6b/5NzH//Xs1v/v5c//iXBV/52EY/+5n3b/y6+A/9Czgf/OsH78QDcndwAAAEQAAABCAAAA + PwAAADkAAAAwAAAAIgAAABMAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAA29K8wt/Wv/+tppb+sKqa + /r22pf/IwK7+wrup/7myov68taX+vrem/s7Htf/Evaz+t7Gh/sS9rP/Xz7z+0Mi2/rGrnP/Cu6r+yMCv + /tPLuP/Cu6r+xL2s/s3Fs//NxrP+29PA/vXs1v/069X+lX9m/4xxUf6miV/+u5xq/8Wlbf1rWTuWAAAA + OQAAADcAAAA1AAAAMgAAADAAAAAtAAAAJgAAABwAAAAPAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAA6N/J + zurhzP+/uKf/w7yq/87HtP+9tqb/u7Wl/764p//Lw7H/ysOx/7u0pP+8tqX/0Mm2/9HKt//Auqn/w7yr + /763p//LxLL/zcWz/8jAr//Evaz/v7mo/9XOu//Qybb/19C9//Xs1v/17Nb/rZuC8XNcQcxoVTqnV0gw + gjguHlYBAAAlAAAAIwAAACIAAAAgAAAAHgAAABwAAAAbAAAAGAAAABQAAAALAAAAAwAAAAAAAAAAAAAA + AAAAAAAAAAAA8ejSrfPq1P/d1cH+wruq/rmyov/DvKv+xb6s/8nCsP69tqb+ubOj/sG6qf/Rybf+wbuq + /srDsf/DvKv+w7yr/s7GtP/Kw7H+08y5/uHZxf/w59L+9OvV/vXs1v/069X+9OvV/vTr1f/069X+squb + qggHBg8CAgEPAQEADgICAQ0AAAANAAAADAAAAAsAAAAKAAAACgAAAAkAAAAIAAAABwAAAAYAAAADAAAA + AQAAAAAAAAAAAAAAAAAAAAAAAAAA9OvVdvXs1v/h2cX+r6ma/sK7qv/UzLn+z8i1/723pv66s6P+x8Cv + /s3GtP/Uzbr+0sq4/uXcyP/v5tH+9OvV/vXs1v/069X+9OvV/vLp0//q4s3+2NG+/tPMuf/Ty7n+zMWz + /uPbx//069X+8OfR24+JewIkIR0CAQEBAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9OvVQPXs1v/w59H+v7in/srCsf/a0r/+08u4 + /+XdyP7u5dD+6+LN/u/m0f/069X+9OvV/vPr1f/q4s3+2tK//tLKt//PyLX+wruq/sW+rf/MxLP+xr+t + /tLKt//UzLn+u7Sk/tjQvf/069X+9ezW/uLaxRMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWDPXs1vv17Nb/6+LN + /9/Ww//UzLr/1My5/8a/rv+/uKf/tK6e/8vEsv/Sy7j/xb6t/8S9rP/MxbP/x7+u/9HJt//HwK//t7Ch + /8O8q//Sy7j/zca0/8K7qv+8tqX/ysOx/9jQvf/17Nb/9ezW//Tr1UkAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + APXs1tL069X+ycKw/ry2pf/Gv67+ycKw/8rDsf7Buqn+xr+u/snCsP/Cu6r+wbqp/r23pv/Syrj+y8Sy + /sG6qf+9tqb+xr6t/sa/rv/MxLP+1My5/uffyv/q4cz+9OvV/vXs1v/069X+9ezW//Tr1YAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAPXs1pv069X+39fD/snCsP/Auaj+xr+u/8K7qv7NxbP+xb6s/sC5qf+6tKP+v7io + /snBsP/Lw7H+1s67/ujfy//u5dD+8OfR/uPbx//z6tT+9OvV/vTr1f/w59H+5NzH/s7Htf/t5M/+9ezW + //Tr1bcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1mT17Nb/6eDL/722pf+wqpv/xL2s/8a/rv/Px7X/z8i2 + /9/Xw//t5c//7+bQ/+XdyP/a0r//1My5/9DJtv/Fvaz/wLqp/7iyov/Px7X/2NC9/7+4qP/Bu6r/ycKw + /8nCsP/p4Mv/9ezW//Xs1ur17NYEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1i7069X+8unT/t7Wwv/q4s3+7eTP + /+Pbxv7Y0L3+z8i1/snCsP/Qybb+tq+g/r+4p//NxrT+2dG+/r64p/++t6f+xL2r/sK7qv/LxLL+wbqp + /sG6qf/KwrH+y8Sy/s3GtP/Vzbr+9ezW//Tr1f3069UnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1gj069Xu9OvV + /tTMuf/Gv67+vLWl/8fArv7PyLb+z8i1/sG6qf+yrJ3+wbqp/tLKuP/HwK/+wbqp/sW+rf/NxrT+x8Cu + /szFs/+7taT+xL2s/szEsv/QyLb+y8Ox/r22pv/Ox7X+9OvV//Tr1f7069VcAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAD17NbA9ezW/8zFs/+5s6P/xb6t/87Htf/Fvq3/vLWl/7y2pf/Gv63/y8Sy/8C5qP/Auan/x7+u + /8zEsv/NxbP/urSk/763p//Gv63/0cq3/8zEsv+8taX/zcWz/9PMuf/LxLL/8unU//Xs1v/17NaUAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD069WK9OvV/t3Vwf/Iwa/+wbqp/8G6qv63saH+urSj/srDsf/DvKv+xr+t + /rmzo//NxrT+08u4/snCsP+7tKT+u7Wk/s3Fs//Kw7H+w7yr/sa/rv/Auaj+0su4/tHJt//Px7X+8unT + //Tr1f7069XKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD069VT9OvV/u3kz/+/uaj+vLWl/7u0pP7MxbP+0su4 + /sC5qf+2sKD+xL2s/snCsP/HwK7+xb6s/sW+rf/Auaj+08u5/svEsv/Px7X+39fD/u7l0P/z6tT+9OvV + /vXs1v/069X+9OvV//Tr1f7069X09ezWDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NYf9ezW/PPq1f+yrJ3/wruq + /9HJt//MxbP/wbqp/7y1pf/Iwa//x8Cu/9XNuv/Wzrv/3tbC//Dn0v/069X/9ezW//Xs1v/069X/8ejS + /+nhzP/b07//0su4/9rSv//Lw7L/1My5//Xs1v/17Nb/9ezWOgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD069UC9OvV + 4/Tr1f/MxLP+zMSz/9jQvf7Wzrv+5NvH/u3kz//o38r+4dnF/vXs1v/069X+7uXQ/ungy//Xz7z+08u5 + /szFs//HwK7+wbqp/sa/rf/MxbP+yMGv/sfArv+9tqb+ysOx//Tr1f7069X+9ezWcAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA9OvVr/Xs1v/v59H+1s67/8rDsf7Kw7H+18+8/sS9rP+5sqL+wbqp/svEsv/MxbP+tq+g + /snCsP/LxLL+x8Cu/sK7qv+5sqL+ubOj/srCsP/LxLL+xb2s/sO8q//MxbP+zsa0//Pq1P7069X+9ezW + pwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWePXs1v/j2sb/urOj/8nBsP/Syrj/wbqp/763p//Evaz/zsa0 + /8K7qv+6tKT/u7Sk/8vDsf/MxbP/yMGv/8G6qf/Evaz/ysOx/8rDsf/Hv67/wLmo/9HKt//Rybf/wruq + /+Laxv/17Nb/9ezW3gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9OvVQfXs1v/w59L+x8Cu/7q0o/7Auaj+vbam + /srDsf/Auaj+ubKi/sa/rv/Evav+0Mm2/sa/rf/Gvq3+wruq/s3GtP/LxLL+ubKi/sG6qf/UzLn+zsa0 + /tXNu//f18P+4NfD//Ho0v7069X+9OvV/vPq1BYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9OvVDfXs1vz069X+vbal + /7ixof7KwrH+z8i2/ru0pP+6tKT+vLWl/tLKuP/LxLL+vbam/r64p//Vzbr+zMSy/tPLuP/Vzbr+4dnF + /u/m0f/069X+9OvV/vTr1f/069X+8+rU/+/m0f7y6dP+8ejS//Dn0U0AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + APXs1tP17Nb/0cq3/8jBsP/EvKv/wruq/8jBr//KwrH/z8e1/8nCsP/PyLb/5NzI/+/m0P/y6dP/5NvH + /9fPvP/Px7X/zcWz/8zFs//i2sX/29O//8rCsf/Sy7j/xr+t/7iyof/t5M7/7eTO/+vizYQAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAPXs1p3069X+39fD/87GtP7PyLb+59/K/vDn0v/v5tH+3tbC/tTMuf/Y0Lz+zMSy + /srDsf/Kw7H+xL2s/sa+rf/HwK7+wLmo/rqzo/+9tqX+yMCu/sG6qP+9tqX+uLGg/8jBrv7h2MP+597J + /+bdx7sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1mf17Nb/8urU/8/Itv/LxLL/yMGv/9HKt//Auaj/v7in + /8e/rv/Lw7H/yMCu/7KsnP/Cuqn/y8Ow/8C4p/+9tqT/rqaW/7qxn/+8s6D/tKuZ/7Cnlv+5sZ//xr6r + /7ewn//a0bz/4tnC/+DXwezf1sAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPTq1DD069X+8unT/7+4p/7KwrD+zMSy + /rixof/Gvq3+xb2s/sG5qP+4sJ/+s6ub/ruzof+9tKH+tayZ/q6kkv+zqJX+qJ2K/qqeiv+vooz+taeR + /qiciP+1q5j+vLSh/6mikv7AuKb+29K8/9nQuv7Yz7krAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO7kzgny6dPw8ejS + /8S8qv62r57+tq6e/r20ov+8s6D+rKKR/qeejf+zqJX+r6OQ/rCjj/+2qZP+vrCZ/si6oP/TxKn+2Mmu + /t7Qs//h0rX+pJJ6/pmJdf+onIn+v7ai/8vCrv7TyrT+1Mu1/9PKtP7RyLJgAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAADf1L3E4da//7ium/+roI7/tKiU/7mtmP+2qZP/wrSd/8/BqP/Zy7D/39G2/+PVuf/k1rv/5de9 + /+bZvv/n2sD/59vC/+jcxP/MvaX/hm9Y/5uJcv+4qpX/y8Cr/9DHsf/PxrD/zsSv/8zCrf/LwayXAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAADl2L4G5Ne9HOHUukPNvqXC2Mqx/9rMs/7g0rj+5de9/ubZv//n2sD+59vC/ujcxP/p3cX+6t7H + /uvgyf/s4cv+7OLM/u3jzv/u5M/+7+XR/vDm0/+0o43+fWZO/pJ/aP+voYv+w7ij/8m/qv7Ivqr+x72o + /8W7p/7DuqXIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAADn28JQ5tnApubawM3n2sDt59vC/ujcxP/p3cX+6t7H/+vgyf7s4cr+7OLM/u3jzv/u5M/+7+XR + /vDm0//w6NT+8enW/vLq1//z69n+8+za/vTt3P/17t3+9u/e/vfw4P+xoYz+eWJK/op1Xv+jlH7+uK2Y + /8G3o/7BuKT+wLei/761of69tKDXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAO3jzVfs4cr77OLM/+3jzv/u5M//7+XR//Dm0//w6NT/8enW//Lq1//z69n/9Oza + //Tt3P/17t3/9u/e//bw4P/38eH/+PLj//jz5P/59OX/+vTm//r15//79uj/+/fp//z46v/As6H/d15G + /4FrU/+WhG7/rJ+J/7iumf+7sZ3/urGd/7mwm/+4r5q/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA9OzbFfLq1/Dz69n+9Oza/vTt3P/17t3+9u/f/vbw4P/38eH++PLj + //nz5P759OX++vTm/vr15//79uj+/Pfp/vz46//8+Ov+/fns/v357f/9+u3+/vru/v767v/++u7+/frt + /v357f/e1cb+dVxE/npjS/+JdF3+nIx3/6yhjP6zqZX+tKuX/7Srl/60q5ZyAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+PLjcPjz5P/59OX++vTm/vr15//79uj++/fp + /vz46v/8+Ov+/fns//357f79+e3+/vru/v767v/++u7+/frt/v357f/9+ez+/Pjr/vz36v/79+n++/bo + /vr15//69Ob++fPl/vjz4//27+D+jXdg/nZeRv9+Z1D+jHlj/52OeP6onIj+raOP/6+mktWxqJQMAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/PjrnP357f/9+u7//vru + //767v/++u7//fnt//357f/9+ez//Pjr//z36v/79+n/+/bo//r15//69Ob/+fPl//jz5P/48uL/9/Hh + //bw4P/2797/9e7d//Tt2//z7Nr/8+vY//Lq1//x6NX/28+6/4BpUf94YEj/gGpT/416ZP+ai3b/pZmF + zKuhjR4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/Pfq + kPz36v/79+n++/bo/vr15//59Ob++fPl/vjz4//48uL+9/Hh//bw3/72797+9e7d/vTt2//z7Nr+8+vY + /vLp1//x6NX+8OfU/u/m0v/v5dD+7uTP/u3jzf/s4sz+6+DK/uvfyP/q3sf+6d3F/t7RuP+rmID+kX1l + 8ot3YLKTgm1bnZB7BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA9/HiT/bw4P/2797+9e7d/vTt2//z7Nr+8+vY/vLq1//x6NX+8OfU/+/m0v7v5dH+7uTP + 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 + //767v/++u3/1dLG2AAAACEAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0q5dltKuX + /Leumv+7sp7/wLei/8W7p//KwKv/z8aw/9TLtf/Z0Lr/3tW//+PaxP/n3sj/6+LM/+vizP/u5c//7uTO + /6ybhv/i2MT/9OvW//Pp0//w5cz+BgYFQgAAACAAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAw7ql + G8G3o/fFvKf/ysGs/9DGsf/Vy7b/1c23/8vDr//QyLT/zcWy/8G6qP++t6b/0cq3/8/Itf/Gv63/ycKw + /97Wwv/17Nb/oo51/8KukP/eyqf/4Mul/8i0kOoAAABOAAAAQQAAACgAAAAQAAAAAwAAAAAAAAAAAAAA + AAAAAADSybNr0Mex/8G5pv/Cuqf/wrqo/7ixof+/uKf/wLmo/8C5qP/Kw7H/yMGv/7+5qP/Evaz/xr+u + /8nCsP/Gv67/1s67//Xs1v+smH//oIZj/8OneP/Nr3v/Vkk0igAAAEEAAAA9AAAANgAAACcAAAATAAAA + BAAAAAAAAAAAAAAAAOTbxYjg2MP/tq+f/8a+rf+/uKj/v7in/8K7qv/Gv67/xb6s/8fAr//Iwa//wruq + /8O8q//NxbP/w7yr/8/Htf/Wzrv/9ezW/8Gxmfh6YkXWeWRDslFELHcAAAApAAAAJwAAACQAAAAhAAAA + HQAAABQAAAAGAAAAAAAAAAAAAAAA8ejSavPq1P+/uKf/xL2s/8fAr//Cu6r/wbqp/8K8q//Evav/zca0 + /9PMuf/b08D/29O//+vizf/069X/8+rU/+XdyP/v5tH/1c26ziYkIAsDAgEKAQEACQAAAAkAAAAIAAAA + BwAAAAYAAAAFAAAAAwAAAAEAAAAAAAAAAAAAAAD069Uz9ezW/8nBsP/HwK//1s67/9vTwP/a0r7/6ODL + //Tr1f/z6tX/5dzI/9rTv//Y0L3/1My5/8fAr//OxrT/xb6t/+XdyP/069X5vLWkCAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1gX17Nb25NzI/9jQvf/MxLL/xb6t + /763pv/LxLL/wbqp/8zEsv/Iwa//xb6t/8G6qf/Gv63/xr+u/8jBr//Uzbr/6N/K//Xs1v/069U6AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1sXk28f/vbem + /8rDsf/Fvaz/xr+t/8K7qv/Evaz/wbqp/9TMuf/i2sb/29PA/97Wwv/z6tT/9OvV/+zjzv/g2MT/9ezW + //Xs1nEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezW + j+7l0P+/uKf/0Mi2/9nRvv/Xz7z/29O//93Vwv/c1MD/1s+8/8W+rf/Evaz/xL2s/8zEsv/Buqn/y8Ox + /8vEsv/z6tT/9ezWqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAD17NZY9ezW/9zUwP/OxrT/y8Sy/8a/rv+/uaj/wbqp/8a/rf/JwrD/ycKw/8O8q//DvKr/x8Cv + /8a/rv/NxrP/xL2s/+7lz//17NbeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAPXs1iL17Nb/zMWz/8O8q//Cu6v/wruq/7+4qP/Evaz/xL2r/8vEsv/DvKv/w7yr + /8K8qv/Kw7H/ycKw/8zFs//Gv63/4trG//Xs1v717NYXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1urY0L3/wbqp/8O8q//Fvq3/wruq/8a/rv/Auqn/yMGv + /8nCsP/Dvav/yMCv/9rSv//f18P/4trG//Lp0//069X/9ezW//Xs1k0AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWtObeyf+8tqX/y8Sy/8S9rP/OxrT/2NC9 + /9/Xw//k3Mj/8urU//Pq1P/o4Mv/3tXC/+HZxf/Rybb/zca0/83GtP/17Nb/9ezWhAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NZ98enT/9XNu//Z0b3/3NTB + /8/Itv/Evav/2dG+/83Gs//NxbP/wryr/8K7qv/Auaj/xb6s/8e/rv/Iwa//ysOx//Pq1f/17Na7AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1kf17Nb/xb6t + /8W+rf/Iwa//wruq/8K8qv/Auaj/x8Cu/8a/rv/KwrH/w7yr/8O8q//NxrT/xb6t/9DJtv/Fvq3/6+LN + //Xs1vDz6tQCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezW + EfXs1v3Ty7j/vren/8S9rP/Buqn/vbam/8nCsP/Evaz/zMWz/8W+rf/NxrT/3NTA/9/Xw//o4Mv/8enT + //Tr1f/y6dP/8unT//Dn0ioAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA9ezW2d7Wwv+9tqb/x8Cu/9LLuP/d1cH/2NG9/9zUwf/e1sL/39fD/9XNuv/Evaz/zMWz + /9vSv//Fvqz/xr+t/83Fs//s483/6uHLYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD17Nai8ejS/9nRvv/Xz7z/2NC9/8W+rf/Fvaz/xr6t/7+4p//Jwa//vbal + /762pP+4sJ//t66d/7yzof+8tKP/w7up/+PaxP/h2MKYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPq1Gzz6tT/wbqp/8W9rP/Buaj/urOi/720o/+3r53/tq2b + /7Clk/+yppP/tqqU/7yul/+5qpP/opaD/7atm/+yq5r/2M+5/9fOuM8AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA49fANufcxv+/taL/q6GP/7Wqlv++sZz/wLOc + /8u9pf/WyK7/39G2/+TWu//l2L7/59rA/5uHcP+jknz/yb2o/9LIs//QxrH/zcSu+8vCrAoAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADm2L4S5di+OuXYvWHcz7WQ3dC3/+DTuv/m2cD/6NzD + /+ndxf/q38j/7OHK/+3izf/u5M//7+bS//Do1P/w59T/e2NM/5eFbv+8sJv/x72o/8W8p//DuaX/wrik + NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7OHLZerfyPzs4cr/7eLN/+7kz//v5tL/8OjU + //Lp1v/z69n/9Ozb//Xu3f/279//9/Hh//jy4//59OX/+vXn//r15/96Ykr/iHRc/6qch/+7sZ3/vLOe + /7qxnP+5sJwvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXu3h707Nv49e7d//bv3//38eH/+PLj + //n05f/69ef/+/bo//z36v/8+Ov//fns//357f/9+e3//fnt//357P/8+Oz//Pjq/5WBa/98ZU3/k4Js + /6ufiv+yqZX/s6mV3bSrlwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+/bpYvz46//9+ez//fnt + //357f/9+e3//fns//z47P/8+Or/+/bp//r15//59Ob/+fPk//jy4v/38OD/9e/e//Tt3P/z7Nr/1cm1 + /3tjS/+AalP/lIRu/6WZhOito481AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD79uhX+vXn + //n05v/58+T/+PLi//fw4P/1797/9O3c//Ps2v/y6tj/8ejV//Dn0//v5dH/7ePO/+zizP/r4Mn/6t7H + /+jcxP/n28L+1cet46KPdriQfWZqmYp0EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + APXu3Q7x6dbq8OfT/+/l0f/t487/7OLM/+vgyf/q3sf/6NzE/+fbwv/m2b//5de9/+PVuvTj1bnN49W5 + p+LUuIDi1LlZ49S5MuPVuQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAOrexzjl2L3h5Na6/+LUuP/h0rb94NG03+DRs7ng0bOR4NCza+DRtETg0bQd4NC0 + AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOHStQfezq9D3s2vLt7OrwkAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + + + \ No newline at end of file diff --git a/Logbuch/Logbuch/Reports/frmAuswertung.vb b/Logbuch/Logbuch/Reports/frmAuswertung.vb new file mode 100644 index 0000000..6a283c5 --- /dev/null +++ b/Logbuch/Logbuch/Reports/frmAuswertung.vb @@ -0,0 +1,245 @@ +Public Class frmAuswertung + Dim db As New clsdbhandling + Dim ReportNr As Integer + Dim Titel As String + Sub New(Reportnr As Integer, ByVal Titel As String) + + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + Me.ReportNr = Reportnr + Me.Titel = Titel + Me.Text = Titel + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + + End Sub + + Private Sub frmAuswertung_Load(sender As Object, e As EventArgs) Handles MyBase.Load + If Globals.Userdaten.Rows(0).Item("Systemadministrator") = True Then Me.ToolStripButton1.Visible = True Else Me.ToolStripButton1.Visible = False + Dim x As Integer = 70 + Dim y As Integer = 10 + Dim sp1_width As Integer = 120 + Dim sp2_width As Integer = 180 + Dim basobjname As Integer = 1 + Dim objname As Integer + Dim repparams As New DataTable + repparams = db.Get_Tabledata("View_Reportparameter where reportnr=" + Me.ReportNr.ToString + " order by reihenfolge") + For Each r As DataRow In repparams.Rows + objname = basobjname * 100 + Dim l As New Label + l.Text = r.Item("Parameter") + l.Name = objname.ToString + l.Left = y + l.Top = x + Me.Controls.Add(l) + + objname = objname + 1 + Dim ob1 As New Button + ob1.Width = 20 + ob1.Name = objname.ToString + ob1.Left = y + sp1_width - 20 + ob1.Top = x + Me.Controls.Add(ob1) + AddHandler ob1.Click, AddressOf btnCode_Click + objname = objname + 1 + + + + Select Case r.Item("Feldtyp").ToString.Substring(0, 1) + Case "1", "3", "6", "7", "2" + Dim ob As New ComboBox + ob.Width = 159 + ob.Name = objname.ToString + ob.Top = x + ob.Left = y + sp1_width + + Me.Controls.Add(ob) + AddHandler ob.Enter, AddressOf ComboBox_Click + AddHandler ob.SelectedIndexChanged, AddressOf ComboBox_ValueChanged + If r.Item("Feldtyp").ToString.Substring(0, 1) <> 7 Then AddHandler ob.KeyPress, AddressOf Combobox_Keypress + + Dim l1 As New Label + l1.Text = ob.Name + l1.Left = y + sp1_width + l1.Top = x + Me.Controls.Add(l1) + Case "22" + Dim ob As New TextBox + ob.Name = objname.ToString + ob.Width = 150 + ob.Top = x + ob.Left = y + sp1_width + Me.Controls.Add(ob) + End Select + + + objname = objname + 1 + Dim obj2 As New TextBox + obj2.Top = x + obj2.Name = objname + obj2.Text = r.Item("Datenherkunft").ToString + obj2.Left = y + sp1_width + 200 + obj2.Visible = False + Me.Controls.Add(obj2) + + objname = objname + 1 + Dim obj3 As New TextBox + obj3.Top = x + obj3.Name = objname + obj3.Text = r.Item("Feldtyp").ToString + obj3.Left = y + sp1_width + 300 + obj3.Visible = False + Me.Controls.Add(obj3) + + objname = objname + 1 + Dim obj4 As New TextBox + obj4.Top = x + obj4.Name = objname + obj4.Text = "" + obj4.Left = y + sp1_width + 300 + obj4.Visible = False + Me.Controls.Add(obj4) + x = x + 25 + + + basobjname = basobjname + 1 + + Next + + + End Sub + + Private Sub btnCode_Click(sender As Object, e As EventArgs) + + Dim buttonId As New Button + Try + Dim i As Integer = sender.name + i = i + 1 + Dim o As Object = CType(Controls(i.ToString), Control) + o.text = "" + Catch ex As Exception + + End Try + End Sub + + Private Sub Combobox_Keypress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) + e.Handled = True + End Sub + + Private Sub ComboBox_ValueChanged(sender As Object, e As EventArgs) + + + End Sub + + + Private Sub ComboBox_Click(sender As Object, e As EventArgs) + Try + Dim i As Integer = sender.name + i = i + 2 + Dim o As Object = CType(Controls(i.ToString), Control) + Select Case o.text.ToString.Substring(0, 1) + Case "1" + i = i -1 + Dim o1 As Object = CType(Controls(i.ToString), Control) + db.Fill_Combobox(sender, o1.text, False, True) + + Case "2" ' Partnersuche + Dim f As New frmPartnersuche + f.ShowDialog() + If f.PartnerNr > 0 Then + sender.text = f.PartnerNr + End If + Case "3" + i = i - 1 + Dim o1 As Object = CType(Controls(i.ToString), Control) + If o1.text = "1;Ja;0;Nein" Then + sender.items.clear + sender.items.add("Ja") + sender.items.add("Nein") + Exit Sub + End If + Case "6" + Dim f As New frmKalender + f.ShowDialog() + If f.DialogResult = DialogResult.OK Then + 'Text aktualisieren + + sender.text = f.MaskedTextBox1.Text + End If + + End Select + + + + Catch + End Try + + + + End Sub + + Private Sub tsbtnsave_Click(sender As Object, e As EventArgs) Handles tsbtnsave.Click + Get_Reportdata() + Dim rpt As New frmCRReporting + rpt.MdiParent = Me.MdiParent + rpt.Print_Report(Me.ReportNr, reportdata) + rpt.Show() + Me.btnAufbereiten.Focus() + + End Sub + + Dim reportdata As New DataTable + Sub Get_Reportdata() + Dim Policen As Boolean = False + reportdata.Rows.Clear() + reportdata.Columns.Clear() + Dim ParamCollection = New List(Of ParamItem) + Dim baseobject As Integer = 0 + Dim i As Integer + Try + While vbOK + baseobject = baseobject + 100 + i = baseobject + Dim param As String = CType(Controls(i.ToString), Control).Text + If param = "PolicenNr" Then Policen = True + i = baseobject + 2 + Dim value As String = CType(Controls(i.ToString), Control).Text + i = i + 2 + Dim Paramtype As String = CType(Controls(i.ToString), Control).Text + If Paramtype.Substring(0, 1) = "1" Then + If value <> "" Then + i = i - 2 + Dim cb As ComboBox = CType(Controls(i.ToString), ComboBox) + Dim x As ComboboxItem = cb.SelectedValue + value = x.ID + End If + End If + + If value = "Ja" Then value = 1 + If value = "Nein" Then value = 0 + + ParamCollection.Add(New ParamItem(param, value)) + End While + Catch + End Try + If Not Policen Then + reportdata = db.Get_Tabledata("SP_Auswertung", ParamCollection, True, False) + Else + reportdata = db.Get_Tabledata("SP_Auswertung_Policen", ParamCollection, True, False) + + End If + End Sub + + Private Sub tsbtnexit_Click(sender As Object, e As EventArgs) Handles tsbtnexit.Click + Me.Close() + End Sub + + Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click + Get_Reportdata() + Dim rpt As New frmCRReporting + rpt.Design_Report(Me.ReportNr, reportdata) + End Sub + + Private Sub btnAufbereiten_Click(sender As Object, e As EventArgs) Handles btnAufbereiten.Click + tsbtnsave_Click(sender, e) + End Sub +End Class \ No newline at end of file diff --git a/Logbuch/Logbuch/Reports/frmCRReporting.Designer.vb b/Logbuch/Logbuch/Reports/frmCRReporting.Designer.vb new file mode 100644 index 0000000..b0e17a3 --- /dev/null +++ b/Logbuch/Logbuch/Reports/frmCRReporting.Designer.vb @@ -0,0 +1,126 @@ + _ +Partial Class frmCRReporting + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmCRReporting)) + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip() + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.BeendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton() + Me.PreviewControl1 = New FastReport.Preview.PreviewControl() + Me.MenuStrip1.SuspendLayout() + Me.ToolStrip1.SuspendLayout() + Me.SuspendLayout() + ' + 'MenuStrip1 + ' + Me.MenuStrip1.AllowMerge = False + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(1029, 24) + Me.MenuStrip1.TabIndex = 5 + Me.MenuStrip1.Text = "MenuStrip1" + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BeendenToolStripMenuItem}) + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(46, 20) + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'BeendenToolStripMenuItem + ' + Me.BeendenToolStripMenuItem.Name = "BeendenToolStripMenuItem" + Me.BeendenToolStripMenuItem.Size = New System.Drawing.Size(152, 22) + Me.BeendenToolStripMenuItem.Text = "&Schliessen" + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(1029, 25) + Me.ToolStrip1.TabIndex = 6 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "Fenster schliessen" + Me.TSBtnQuit.ToolTipText = "Fenster schliessen" + ' + 'PreviewControl1 + ' + Me.PreviewControl1.BackColor = System.Drawing.SystemColors.AppWorkspace + Me.PreviewControl1.Buttons = CType((((((((((FastReport.PreviewButtons.Print Or FastReport.PreviewButtons.Save) _ + Or FastReport.PreviewButtons.Find) _ + Or FastReport.PreviewButtons.Zoom) _ + Or FastReport.PreviewButtons.Outline) _ + Or FastReport.PreviewButtons.PageSetup) _ + Or FastReport.PreviewButtons.Edit) _ + Or FastReport.PreviewButtons.Watermark) _ + Or FastReport.PreviewButtons.Navigator) _ + Or FastReport.PreviewButtons.Close), FastReport.PreviewButtons) + Me.PreviewControl1.Dock = System.Windows.Forms.DockStyle.Fill + Me.PreviewControl1.Font = New System.Drawing.Font("Tahoma", 8.0!) + Me.PreviewControl1.Location = New System.Drawing.Point(0, 49) + Me.PreviewControl1.Name = "PreviewControl1" + Me.PreviewControl1.PageOffset = New System.Drawing.Point(10, 10) + Me.PreviewControl1.RightToLeft = System.Windows.Forms.RightToLeft.No + Me.PreviewControl1.Size = New System.Drawing.Size(1029, 563) + Me.PreviewControl1.TabIndex = 7 + Me.PreviewControl1.UIStyle = FastReport.Utils.UIStyle.Office2007Silver + ' + 'frmCRReporting + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(1029, 612) + Me.Controls.Add(Me.PreviewControl1) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmCRReporting" + Me.Text = "Auswertung" + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + + Friend WithEvents MenuStrip1 As MenuStrip + Friend WithEvents DateiToolStripMenuItem As ToolStripMenuItem + Friend WithEvents BeendenToolStripMenuItem As ToolStripMenuItem + Friend WithEvents ToolStrip1 As ToolStrip + Friend WithEvents TSBtnQuit As ToolStripButton + Friend WithEvents PreviewControl1 As FastReport.Preview.PreviewControl +End Class diff --git a/Logbuch/Logbuch/Reports/frmCRReporting.resx b/Logbuch/Logbuch/Reports/frmCRReporting.resx new file mode 100644 index 0000000..dbdccfa --- /dev/null +++ b/Logbuch/Logbuch/Reports/frmCRReporting.resx @@ -0,0 +1,3746 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 439, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACkSURBVDhPlZALDsMwCEM5OkfLzbIaMGH5dJkligL2a1o5 + qP9RW3VVXYpzqLV2D+CZQVU/Y27uIg4OQQAJXz+hDsyEDtVQ7dib+1GH1fpUDljD6OF5HgjvKgHvN+iC + A0O1EvB+A8ghPvgqB4j9xPlHhidVB2lwwICfbkBxMAFGqHbszb1RGhywhtGxN/dGXAbgGD4CqACMMGZR + VwrA/Rtn/QiKfADckGXYsnwKqAAAAABJRU5ErkJggg== + + + + + AAABAAkAAAAAAAEAIADP1AAAlgAAAICAAAABACAAKAgBAGXVAABgYAAAAQAgAKiUAACN3QEASEgAAAEA + IACIVAAANXICAEBAAAABACAAKEIAAL3GAgAwMAAAAQAgAKglAADlCAMAICAAAAEAIACoEAAAjS4DABgY + AAABACAAiAkAADU/AwAQEAAAAQAgAGgEAAC9SAMAiVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABc + cqhmAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAgAElEQVR4nOy9eYxd2X3f+bn72/el9oVV3Jtkt7qlVrsl + WZYsWba8KZHjiQQlA3gmhjFGBkgcwIADBBlMMkiieDIZYDIZYDJIZmTEY49tAZYXKQ1rs5Zu9Uo2m2QV + q1j79l69fb3LmT/ufWsVWySbLTWL70sU33v3nnveefee3/f8zu/8fr8DI4wwwggjjDDCCCOMMMIII4ww + wggjjDDCiYb0425AB3/w0nII+Env70AIloHlv/WBxas/3paNMMLJxY+VAP7o5ZUo8KsgPivgE4jeOdFf + UIjrAlaBZeA6cBVY/pX3Lx78CJs7wggnDj8WAvjyq6sXgN8GPivA70q7GBL6IRLonB8kiRIuKbyGEMvC + fb/8K+9ffO3dbP8II5wU/EgJ4E9fXzsL/I5AfKF78DhBHzzQJ/j3RRLLQIcUrgLXEWL1s+9f3Hrnv2SE + EU4GfiQE8OfX1kMI/jXwawIUwBPeYfGlK9FiaKh/iCTREHAd4U4jgFUBN4HXPvvMgn3/v26EER5dvOsE + 8NXrm88h+JJAzPcfFwPy3ZX6/pcfOUnYtrPpOPaqLMtLsiJ/H88Q+TefWVj/4b90hBEePbxrBPDCjS0F + +KcIfrs76uOJ3nHGvuOE/b1DEqZjO29KsnyVrjFSXBdw9X/73X9nvvClLw7VMsIIjwbeFQL4+q2dBPBl + 4EOiT8IGhbbvyJBgPkok4QixJYRYlSTpLQSvOUIsCyGWf+UDp1cYYYT3OB46AXxreXcS+HPg0qCQef8f + ETA4qSTh2M7rsizd6KxOAFcR3PzM06eqjDDCewAPlQC+u7KfBr4DLDrAcQIv+qWKYSE7/hr3uhNFEnvA + kugaI8WqgOXPvO/UTUYY4UeIh0YAL67l/AjxdeADdxVQBgVtRBLHksRreBqD4zhrpmW90mq0l77w0UsF + RhjhIeOhEcDLG/n/jOBX+0Xw+LnzECWMSOKY9h9LEjkhxG0hnGuOI24KIZYlSb71N55ZeJMRRnhAPBQC + eG2r8AWE+E+DQjPw3zHC5n4YkcRDIYlrAlZwNYebIF4TguVfemr+kBFGeBu8YwK4ulOcAd4UgpB7RAx0 + 4r4XEGJIaAb+G5HEkXb1XXekXXe5bqCc6LhKv4xwvSIdx7nzy+879SojjMBDIIDre6UvCcHnOp8HhX9I + 4PtOjkjix0sSwhFLjuOsOMK5LRxxXVGVV2VJXvmFJ+d2GeGxwTsigBsHlaeBH7y9sHvn7tKpRyTxniOJ + muM4y5ZtX5WEdEtRlSUkln7hytzLjHDi8I4IYClf/XMEnxoeX+5f2B/0uhFJ/ChJwhHOihBiRQixKhzx + mqTI12VJXvr5K7OjAKtHFA9MACuF+qIQ4gYDbr4M9Jjjhcw7NyKJbqETQBINx3FuOra44Tj2bUmWb6qq + ch147dOXZ0cBVu9hPDAB3Ck2/iXwj+BtOhKDHbN7bkQSQ9ecXJIQjtiybWfVEWJZ09TvIlgWiOVPX54d + BVi9B/DABLBebu4D6V6/uXtn6J4fkcSIJHofbcu2rgshbqqKeh03d8N14PrPXZppfPzzvyWNgqzefTwQ + AWxVW5eE4I3h42/XEbrn+8uPSKJbYkQSfe11xK5tO6vADUnmZSHEqm3Zy//2d//3pREpPFw8EAHs1Nq/ + DfxPx3f24zthr+iIJEYk8eAkYVn2NcdxbiuKclOW5VvAawJx82efmBkFWD0AHogA9urm14WbvXcAw51l + 4NOIJO7juhFJHEcS7XZbFA4LzUq5vF8pV95wHPutvf3C115/7c1bwOELX/riiATuEw9EAPtNKw8kjhey + 49m9e3ZEEse0Z0QSdyOJUqnMW9dvsnJ7jdxBDkmSkCQACVVVCAZ8GIa2r6rKm7Ikfb9UqX91fWPv1Re+ + 9MUiI/xQ3DcB5Fr2GLDTPSCOPNbBdyOSGJHE0G+5F5LY2tzh299+kdXVNVfoAfpfJVBkGVVVUBQFWZbQ + VIVg0E8g4FvVNfVP9g8K/2Hlzs7KC1/6Yp0RjsV9E8Bh2/kQ8K3BvnkcBfSfH5FE99yIJIauGXw++cMi + /+Vr3+DGzdtIEkhIIEnIEt7oLyHJEoosI8kSsncMQJZldF3FZ+gYuoZhaJaua18H/sX3f/DWt1740hdb + jDCA+yaAgik+DeJP+48dJ1gw1KlHJHFM+0ck0UG92eJrX/0GL79yFdt2POHvE3pP8DsCLysyiiwhyzKK + IqMoCooiD5zXNRXD0FxCMLRvqqr6D//xr3/+B4zQxX0TQNEUn0PiS90Dwx1i+ETn04gkjvnee7iek08S + G1u7/D9f+iOKxQpAd44veaO+PEQAsif4PeGXURUFRXWJQFUUVNU9L0luWZ+h4fcZjqzI/1GC3/qdX//8 + KFSaB9IAnP8a+L/uVoV03OERSXhnRyQx/JtffvUa/+8ffgXb7ngMS8cTQEfo+wigf+RXlZ49wH3tEYPs + TRcUWcYwNHRd20WIv/vb/83f/iqPOe6bAPJt5zPAH73dxdKREyOS6L2MSKJz3fdfep3f/8Ov4DjumU6/ + cef9dEdvqSP03mdX/ZdR1R4BuCO/SwI9AlBQ+rQESZK6x3VNRVHkf/5nX/3+P36cnYvufxWgaX8MiRfe + tqI+BhiRxPBXjkhCCHjp5av837/3x94R9yEPjPwMqvySN/p3hLk38ruqv+qN/ANagCx1ycK1D8i9umTJ + KyP/saoqn//7n/tMg8cQ900A+w1rEViiy9ZHq5PuUvOIJAYb+LiSxMbWLl/8N/8nltULFBwe/V21X+4b + 9fvUfm/5zxX+3sivqEqPCDySkGWp+ypJEopHABJ0pwWKIn9TluVPPY4kcN8EsFs3FaAO6IOC3if8Q7WP + SOJoiceVJGr1Bv/jv/h3HBZK3eW7DnoWfwbm/d0R3HtV+wW9I/hyT/3vaAH9ar/cZ0OQ5N7SoQQdreC/ + yJL0i48bCaj3e8FYQLO3a+2rEjw93A8laVg43BssBqRQeP97/w2RhOj7JAnRPdFf76AsD5PE0Y4nScOH + 70YSfcfFMb/nyDce9/1D7ZW83+F9EMNlvbb1bkXfO28pbFjIpKEv6ruNvfs13PD+39IVcAmkY0iir7IB + IT9Sh4SQhu53t2zn1wxe/+WvvMBhocRxGF76c1V2ecji3xN+ZUDll1FVtTf/94hDHhL+rnbRRzbutEP6 + aSH498DfObZxJxT3TQAAjiO+Bjw9PPpKQx1oQNA7p0YkMfC9nYOPA0msbe7yrb8+PrOYOyJLXeOfJPfZ + ABRvLt8n+IqqoPWN+KoyZPxT+smjX6uQB0hGIJB6Nogv/Nvf+5PXv/yVb//u42IYvO8pAMB6ufkx4IVh + dV86pjppqNBwJzzmimPU+uEpw2i68ShON/7F//wfeOumu2Viv/rfGYm7I//QMl9nXb9DAJo30quqgqap + PS1A6U0ROlMHSWJgJUHqqBkM9te+5rQdIT7433/uM49F5uQHIoA7xYYCbAJjR7SAIUkckcSIJABuLK/x + z/7Vv++e787BvRvfEU53uW9wqa+n2ncIwBV8TVVQOwQwYBiUkSQZeUj4e7EEbi+T+h6Ga7MQnXa9Bjzz + m//VL534dGYPNAWYi/ntlUL994B/0FHhu5A8lWpI7Qe6Ov0RkhDHXN8tP1RHr9hgHb3qB64ZTTeG2vtj + mm781Te+12vXkPB3l/36Pf68JTxZVvqMf4OGvq7wK33LgIqC5LkEy/2jviy5fWZA+KWusVKWJYToksKT + QojfBP6XI7f7hOGBNACApXx1UYIbICmdmoYrk+42Yh6jCYw0iaHyJ0iTaJkmf+/v/w+0TdNtcpcAhlV/ + 2Vu2GzT2dUb6juqvaSqa5k0FNLW75KeqMrKi9LwFpUHh7yec4fvQO9Y9uAuc/u9+9RdPdI6BB9IAAE4n + Q8s3Dyq/D+Jz0uCw2hMCIQbFZ2AE8cbW7p0faRInVZO4fmMF07Jco9sQ+0jevwEff6m39Ndb6+9Z/d0/ + tecD4J3rGf76hN9T+yW519c6j2e4Lwgh+getMeDvAb975FadIDwwAQDYjvgnksRnEei9LiN1H37v/gpG + JPH4ksRrb7zVK9en/nf6gOTNz7skoMhdq/8ACRzzp/QLv6Kg9Kn9HYOf1Pe9R++A1+ZB4e8c+w1OOAHc + TQO9Z1zbLf1r4B/0V9RRtQY/93+hdKTzH3td38djSWLg2rs8YInRdOO448cXObbk8G8D7mu68Ru/9c/J + 5YvHWP4HffyVvqU+tav2K+i6hqaqXcOfpqnd+b/W5/Tjag90PQh7/aTv3kvSkTnQsFYydOzDv/ErP//t + IwVOCN6RBgBgO84/keDTIJ2F/hFnSCPgGI1gmCSOu26kSTzSmsRB7pD8Yc/xpzsP99531fQ+H325zwNQ + 7QT7qHJ3/b/r8qv0DISKLA8Y/6QBAnC/xzlulD/yS44c+xwwIoC74cpEvPrq5uHfAfEtCfROB+h1CNEn + cD31b0QSQ3X0ig3WMdi87jWPCkksr215be6KYt9zdY/1tICO5b8XwdeZAmiq2hX6Him4LsAdjz/J0wBk + SfbukYTU91zlzug/ZAs48jv6ygCf4gTjblrhfePl9fw/QuJfDlY6yMLdc0dIov+ljyQYOn6EJDieJB7k + uru0Y7j97rXDwkBf2aGRcVjAh0nih1x/tI5Ha7rxpT/4M77859/oK9LxyusL8x2a53fX+TUNQ9fQdRVd + 07pqv66pPSNgX8Rfx8tPlj1y8Ui/870uGQ6tWBwbs3CkzOyv/82fO5E7Gb1jDaCDp2eS/+rFtdwHJPhs + 7+jgKH50JPYODAiZuAtJjDSJget7XzVYR6/YYB2Dzete825rEhvb+xyF98ylDiH01v4VuX/tf9jQ51n/ + +7z+XMOf5/DTdfPtE3gGCfvtcMzo38GHgN+7p0oeMTw0AgBwHOfzQAL4WHek8iSj16eGx7gRSZxkktjb + z3Ut7J3vPyr4Xqx/X9CP6gm5LMs94e+bFsiK4gq/3PP469oS+mT4XoX/h+DSw6jkvYiHSgAfnM+0v317 + 728AX5cQT3Z6itxXRhrsqSOS6P+WE0gSeweHx8z/3fOdsNxuzP9Q1F9nnq/Incw+Su9P7iQF7dkP8Ob+ + R4T/bp5PPwR9GsH8A1XwCOChEgDAhxaypW8u7X4c+DISH5IQXh546O8A7qdeTxmRBCeOJKrVRjfpR++a + /lDcoXx/XaHu8wOQ+1T9bnYfpWss7OT7k+j5++NpHMeK/fAy4L19njyuqpOAh04AAB85PXb4Vze3PylJ + 0n8GfrFzvCvw9Amv5B4fkcQx1z3iJFGqHPWidVfnXEE9NtPvQMqv3p8bDdhLDNJR/7thw51+46kAEt1b + +DAQfTjVvPfwrhAAwE+dnWgAv/TCja3fAemfSqD0OnXvsRzJCjMiiSNteNvr3sMkUan2b8jT5/cv9wcA + Dcbtu6P+YFy/qsjeMbVnJ+jL9Ct5Yb/9S3yD7Ze6v18c97nvXt2FMELHH3708a4RQAcfPzf5z752ffP3 + gY8hsSghLQLzwJNu5+zpj73OOiKJk0ASlu0wUETq/b7+1F+9ub8ykPW3awPoqPyKjOyF/vYSfUhdrz8k + 2XvOnTYeFfJjMaz2990X76jyw6p4VPGuEwDAJy5MLQPLw8e/en3zLIJFCRZBXAAueCQx1ikzIgkeWZJo + m9bg9d45d+R3Pf+6hsCBSMAeGbgjv7cC4H0eSPPlzf+RenV3W9Iv2HfRAo7FUTtA+/iCjz5+JARwN3zy + wtRN4Obw8b98cyMEnJWQnkRivo8knga8TjfcOUck8V4jCVmWvfqk7msvQq/f+t8hAWVAyHtLfr05f/+u + QP3X4i0/SpIMYkjz4O5Cf0+EACc2UeiPlQDuhp+5OF0FXvb+BvCXb24sIpgHsQg8KSGdRWIRwWQf949I + wqurdyU/cpIwDL3/5w5ce/wSYCceoGft7yT37Mz1B4S/u5og9wyAAJKCJLycxhLviBC8zyd2G7H3JAG8 + HX7m4nRnOvG1/uN/cW1Dx3XYuCBJLDq2c9a27adUVT0jS/JQ5xyRxI+CJAyf3jHK99XVNwWQvKr6VwG6 + mXx71v6jxztlle5v6JgBjl/6e3BC8HBw3MGTgEeOAO6GTz0x3aZPa/j4538r8qmf+clfS6cTvwsyiur6 + j2u6jqKp6LqGqml0561HRrARSbxTkgiHwqiqimM7dJf9vNG/t/GH3OcH0L//X99xb/7fP/pLXizBAAFI + Up+g970fxtsRwlAd3v1ZPa6ak4ATQwDHQE0l4xd9Ph/CEQghsK02ltlGOA6OY+MIUDXdzSPnZZnRdB3d + MLxOxqBxa0QSnQbdG0kAsUiYQqncVfd7o3+fE1A3MGhwjq/IXnovqS/UtxMrIPXq6bSzY1/oN/zdlRAG + zilDZDFICAhxxE51UnCSCUCKRCMXFcUVC+EIHMdBALZtI4RLCsIRCNuiVi1Rr1ZRdQPDMFAVFUl1tQRN + 01A0N/rM8PkGhX1EEm9LEpOT4xRKlZ7xb+iv5wTUvxHI0emA6y+g9Orxsv32SKC3/DcwFbgbIQzj7Qnh + +M0MTgBOMgGIYNB/vpPZpSvwQuA4/e8dhCM42Nvi+muvYlkW/mCI7Pgk/mAAWVFxHAd/IIDPH0CSZBRV + Q1YUVNUlBs3Q0XUdRVH61OMRSYDE9MwE128sDczze6N9x5W359I7SAJSb4rQ0RY6o7/nBCS8Vg3cgyFB + H8hFeM/ThO65BpJy9bgiJwEnkgA+/vnfkv7uFz67aBh61HEcJEnqCT2iqw0AOI6D4wjC4Qi6oVMqHiJJ + 0KhXKBfz7O1so6oqswtnQJJoNhokUmlUTcMyLVRNIxiOuEtenRBWTe+6sBp+P4bfBxw3hz75JHHq1Ex3 + OjU4n5cGIgGPWwnotw90pwydsl0bQM+uAK6m172hfQa9e9IKjpkmIMSLf+unnj2x+wOcSAIAlMnpsad0 + XffUftHtGP2aAEJge2QwMTNDOBqlUaui6T4EDge7O5itFpFYlHgywd7OFvn9XWyrjeM4NOt1VE1jdvEs + qqpSr9UwfD4cx0HTDXx+PxRcMXQTWGggSaiqhi/gQ/f5UBSlJ+ycPJJIpZLEY1HKlepA/r/OUl//kt7g + +n7PSUiS3KQfHbfhI/4ESt9vVXqjvYQ0QAhvpxXcbZogHbMUfZJwUglACgX8T0my7Fqg6e1d73g7wDiO + +6oIQa1SIb+3RzAcYXJmBtO2kGWFdHaMhbNnkWUVIUE6O0alVEQ4DvVajWq1guM4+AydUuGQna1NbNvG + NNv4DD/RZJJapUI0kSAQDAO4BkZFxecPgNfRJFl2jZGahqqoqIZGIBj0fsqQsPPokcTlKxf43nd/MKgB + 9Hv7KUPeff0jvdIT+I4m0XmPfIz6z6Bw9xMCSOD0/Zbe3Xg7QvguJxgnlQCEqqpPQ28n2M7D7aj+XS0A + 2C+VefFbf4XjOMycWsTw+b2VAAnHgUg8RjyRIjM2RmYs27UjOI6DIxwcyyYaixIMhygXCjQadRCCeqXE + 3vYWhdw+iqLQbDaRJJlEOsPsqUUc26ZttgnH4u7cFgnJG+lyQqAo7uNRdBVVdVcnDJ8P3TBcIev25fc2 + SVy6fIHXX3sTy7a6wq92I/0GXX/7hb6j6g8s+3WCf2SQpJ6n4XF7DvS3526EIDnHawV97188ttITghNJ + AP/tr/1tv6Iqlz0LEUB3KVCW5YGO4jgO4ViEmVML1KpVAoEgrVaDdrPO9sYGh/kDItEY49MzKIqK2W4z + OTtHLJ7EdhwMnwGyTDyVIpV1QxhaTTcOvtVsUSkd0mg0aNUbFAp5SoUCgYAf4VisrSyxt71FZnwSTTew + TJNQJEo0kcSxbXTDIByNY7ccrFabRqWM42kNsqcCK6pKMBRB9+n4AoFBYX+PkITuMzh7boEbby25G3d2 + fPv7c/t30331BwZJA1l+u0ZCZWgFQDpKAvdKCChDtgJnQCvY/eXnnzqRuQA7OJEEcObM/EVFlvVOdKgQ + gNKbBvTbBADSmSwf+9SnMS0TYTtUKhXaZptkJsvB7g6WZdJqNFhduonjODTqtW4HSqQzVMslNE0nOzHJ + 9KkFVF3DMk2C4QCJVBIhHIQA27Zo1pvdRjXqNRAOyUwGyzTZXl8jf7BLNJ+gXqsSjsTITk7hDwZRNZ3S + YZ5ms0kwHCEQDBIMRRC2zeHB7oAq7ABIEsFQGMPwofkM/H5/1zD34yCJJ65cZOnmEpbZxm5aRCJR5M5q + gXAQjo0kxIDTT2e078QIdLL9SvQEfmDTT+46ih8hhLueGySEE63+wwklAE1TPzicgw4kb97vdU7PcNRu + tdhcu4MsS2QmJtBUnVQmA8D4+AS2Y9NqtSkVC0xMz3Tr3FpfIxyJEQ6H2N1cZ297i5vXXuenf+GX2dve + YnV5CVmSmV04zfzps9TrVWRFIRJLIKsKOPDUs89hWia6qmFZFoV8ju3NdSQk2q0WgWAIZBmf30er0WBj + ZZli4RBZlpmYmWPx7Hn293Yp5HNE4wliiSShaBQFCUmSadWrtGpVl9iEa38AkBUF3fDh8/sJhMNd4ui3 + 3j9skggEgzz7Ex/ga1/5C2zLJBqNUq9WAIFltlFVhWQqhW6kabeaWO0mwvGjSEHQtAE/gs5Uwa2/ZxAc + jvzrnL9freBxUf/hhBKALMvvP+640p3/eeOTEDQaNa6+/CIbayskkxn8oSDTc/PMLpzGcQSNeh1/wE8q + lWZ8YtJbUrQ5feESmq6jqSrTC6dZu3WT/ME+4WiM/e1tSvkcgVAIEJhmkzde+j7NRp14MoVlW6iqxsyp + RbJT0yAJhG2TymQYm5wCBI7tuOq+91cplhC2RaVSplapkMyMYfgNDna2ONjdppA7IJFMMrt4hmq1QjAY + plqtIByH1NgEiiLTqlUx/H4cIWiYFWqlEgfbWziAZZoIIByNulMKw8AX8HsCPKziw4OQxKnTi1y8comd + zS10XccyW7SbDerVCqoiE4mEqZZK7G2v06rX3PueyTC3eAa/34dlmmiGTjQW704J+rWBPlMf4h5I4B60 + ghEBPIqQJOkDw8f6H2xfOQKBIIvnz1OvVWi1mkh1d4TZXr/DtVdfoVQskEpnSKTSTM7Ok5mYcJf7DB/B + UBDHdkjEE2Se/zBIIMsKkViM6fk5fP4g4Xgcs9ni1JkzlIsFatUazVqNSqnEzvoaZ564TCqTZXNtFcu0 + SGazJFJporEErWYTyzYxfEHiyTjxdBLhCGzHRpZkHNvmytPPUKmUMVstDL+fcCRCq1nHMlts3L6F4fMR + jcVYeutNhCM488RlWs0mrVaTeDKNqqoI2yYQCCABdrtNMbePEAKzbeIIB0XV0DQVWVEJhiNE4jHX6cm9 + s/dFEh94/jneeOV1GvU6oVAQx7Zot5vIskwkEsFqt8ARtM029f0ysiwxPjXF/vYmd269xezCImeeuEyt + UsY225iWhd8fIDU2jj8Q8By7HCRZhr5n/QBagS1J0oknAOmHF3m0cD1XSwPHJaMfQM9DEBzHplQsIBy3 + s/v9ftZXVrj26g9QVBWf30+73SKZyhCNx7n6yg+IxuKcvnCZve0N8gf7JNNZYskEhhEgmkwQCoUHVx9s + i3qjQbvVwjRNdjc32Lpzh0QmTTSRZG35FnduL1OrVDh9/gLzZ8+zcvMG67eXOXX2PBefeoZms0GlVERV + NQyfgW74Ccfj7no3wo1xEGC121TLZfZ3d/D5Ayiqwo2rrxMIhBifnmHjzgqFfJ7puVM4QrC/s42m6wRD + YaLxBL5AEN3w0V0+lSSE42DZNlbbxHZszxApoxo6iqriD4QIBoMEwmH6Bv4upB4rYJomN15/nXbbxDD0 + 7jbgiuru/SccB9s2adZrBINBorEYa7dvsXnnNucvPYmq62yu3qaQOyC/v8f0wiJPPPk+GvU6h7kDZEki + FImSHhsnHIuj6XqvEZ3n3nn4Q/2h7/3Vn3vm4uX77H6PHE6iBvD0vRa0bYe9nU3ye3vEkikCoVA3Sm3m + 1ALZiXF0ww8I2q0mDhK2Y1OrVohE4wTDQeq1KocHB9xZvkXbbBOJxJmen+PMhcusryyDBMFQhGgiQXps + HJ8/gD8A6WyWxfMX0A0DRVaYmpljbuE0+f19JmfnMfw+8vt7JLyph2k2uXn1NTZXVwB3wJ2cnuP8lado + NRu0mk3C0ZgrRLpBIpUklcngeO7OqXTG7fWShKqqpDJF/IEg1XIJxzLZzx9gmSbReJxYIkUinabVaFIq + FphdOIPt2NiWRTAURjNC7jKobbsEatvUS0WKB/vUq1WMYABVVWm328TiCULRGP5gAFXTkABFUTl7+TI3 + Xn2VSvEQXTfw+Xw4jo2iyvg87SqZzqBrGoosc/7yU5y5cAlfwE+9WkXTNZLpDKFwhInpGWRFZWttldWl + W7RbTVRV5Yn3vZ9T5y4QT6UB1xnrbtOEYzSEEz/6w8kkgOfupZAkSbRbDZbevMbVV1wnFVVV8QeDZCem + eOrZ54jFk6yv3kY4gng6RSQSczve8x8B3JHC9/yHOX/lKVZu3iC/v0cyncYXCCAhsbW+RrlcxNANJmfn + cWyblZtvUSzkmV04TTzplvUHAkSjMc4+cRnHtsBb347E4rzvg8+hGz5qlSqzp04RiUapVSoU8nkCwQAg + uHH1NQq5HJF4glazQSAU5uzFy8TiCUqlIgCp7Bid5BlziwuufcF2aLVaTM7McrC3y8HuLqqqEonF8QeD + 1CtlEDaVYp7d7S2Kh3misTiqruM4gngySTKdpW2aCMfBMHwkkgmQJYQATZExW00OtjaoVsr4A0F0n8+9 + b34/E7NzlIuH5HZ3KB0esLe9RaNWxef3kc6OEUskiERjKLLk3v9YAonO96YRwuHc5SfRNA1kGU3TGJ+e + pVIqUimVSGXH0HUDRVXdYKUhY2E/CRxjNzjxKwBwMgngyPz/blAUlZmFRRRFYePOKqXCIcXDQ4KhMIqi + sLp8iz2I3NEAACAASURBVL/84z+g1WqSGRtnbGqGU6fPkRobw7EthCThM/xksmHGJqa8KYSKEA5mu81H + fuZnqZaKKKqGLxDAcWxM02RnY53c/j7JVBpJkvGHgpy/9D40XWN9ZRmf30d2agZhu/XEUiniiTjR2DMI + x6bVNqnXqqiqu19eo1ahUi5jmSb7O1vomoYswdrtm7zxg5cwAn6CwRC+gEtuwVDIbZPPh+EPkMxkSGay + LJ674Mbve4bHVHYMs9Wi1WqiGzoBv5/8wT52pYyiqoTCYcqFPIe5AyzbdkdORxCMREmmMwRCIWzLQlUV + suMT3WmB4zjgWLSqRRThkEqnaLeamK0mFU3F5/cRCLr2gb3tDcrFQ2bmF2ikKpRLJcKRMIGA+3v8wQAA + khBkp6bJTk65hlohkL0pWNdAeIyg92Po3GOhAZxEG0Aed3uyH4p2u+XOYzWNRr1Gs9nCNNsYukEkFmNt + ZZmrL79EIZ/DbLeRFYWzFy8RSyQpFQ5pNho4jkMilWJ8ZhYE1CoVwrEY8XgSRVFwhNNdshKOw+Fhns07 + K9QqVQKhII1azVXRsxPcevN13vjBi0zPLTAxN8udW7coHOa48vSzPPXc81QrJay2iayoXTuDbVoIyXV0 + siyLZqOOhISsKuxubrK9voYkSxzmcqiaSjgap1ouueUkCVUzGJ+eZvHcRRzHoXh46M3pg901dteHwabd + bFIuHnpxgBKKqlCvVqmUS5jtNgf7+xRzB/hDYU8tV1i6/iaZ8QnGJqfY393BMAzGp2ZwHPe++P0BFE1z + HZtwELaNrKiomoLdtigWDmg1G8TicXeOn8+hKgrgahw+f4DCYZ5i7gBF04glkqQzY4SjMXzBIIbP11P9 + ++f5fZ+PsQdUgdgnrpw5sUFAHZwoDeB6rrbIPQq/EIKdrU3Wby8TikRIj40Tjcbw+VyffbPdZvbUIuOT + 05jtNq1Wk2q1QigUxrRMJEmiVDhkf3cHVdPw5/LcevMNtjfXee4nP061XCK/v+dGHgqHYChEPJUmkUhz + 5ZkP9kYmLzah2ajTbjVIZbKksxO0Wg2qpTICgc/vI7+3y9rtJdZXV3Achw9+5KNkJqfYWFmh1WoSCocZ + n57B7/dTr9eQkZlfXGTh7Fkcy6LmkZVt2VSKBcrFAsXCIa1mE13T0A2drbVVXv7Ot9ENH1NzpzxfhCD+ + YBBNM6jXKsSTacCL0tNUkqm0a2ewHSrlIrVKGSQZn99PuVgkEgmTHRvHMtts3F5iau4UrUadtZVlVFVh + anYe27E9g1+YaDxGQDfQNJ1QKEQsFfeCgRTsdpvs+CSO49Bq1AGn6z9RKZdo1Ovus2o03FWFeJzZxTNE + orH7GflBkl786UuLJ1744YQRAPeh/rvRfA22N9Y4zOVwbItILE4kGiccczeCWTx3kXQ2i6pp6D6DRDLl + Li8BY+OTWKZJpVJB8UJY8wd7BIIhMhOTrN9eZuPOCrVK2XUaisZYPOda8xVVYW15CYCp+QXiiSRCCM4+ + cRlN6yTSFCyeu0C1VsVn+FyHIcNAVhRazSaRRJLSYYGNO7fZ3nCdkhCC/MEBt29cZ3JuntPnL6H7DRzL + JpZMugFGApKpFI5j02g0sG0bn8+PqihEYnFOn7/YdTEu5PZpNuoEW02K+Ry3b75FIpXGMm3CsShnLl4m + mU7TqjdxEPh8fkKhMLKqIkkQiyWYnJ5F8SIlA34foUgUSZI4DIexbQvHtijk9tlcXcVxbAzDYGxqimg8 + ydTMHIl0ivzBPs1ajWQ2QyyV7CYDwQv1zkxOsXjuAs1GHcPvx2y3qZZKGD6fl8Ph6HLgkTk/A/aAEx0B + 2I/HlgBkWWZm3rW2r99eZn9nm0a9jhAOhVyOQj6HY9ksv6VQLhZQNY1oPMHk7ByhSNQdOXWdeDLp7lij + KDz/sU8ArnYRCoc5de481XKZ3c11LMsikXKNfsvXr/G9b/xVV4WOJZPkD9y8k5quE08kSWayRGNxQkF3 + OdEfCBKNxpmem8cRDqqqUy4V8Qc/TG5nESSIpzMu6dQqWGab3O42b7zyEtFEnKef+zCObbu+CLUquqYz + s3CaZDpNu21Sq1WJJRJkxsZAgGlZzJ8+g23bWJbFzvoaIGg1WxQLeRACRZbI7e2ytXaHaqXsxlVEIhi+ + AJrhGj6DoRCtZotgOEAkdhZZdrWeaCyObdsuUcTjhMNhDvZ2KORy1MolNE3FcWza7Ravv/hdDna2+YmP + fYJKscjm2irTc/PEkyma9QaazyCeTuPz+d37D9iW5baxT/3vei7fxfrfh8fCAAgnzAZwPVf7PvdBAv1w + HIdWs4lj2xQKeRrVOs1mjds3b1AuFjDbbZqNOtNzp4jE4qzdXsI0TSamZzj7xBUmpqep1+vIsoLPZ6Ab + bqx/J+sQeHnyhWDfExrHsQmFo9RrVe4s32J/d5t2s4U/GGR8appwJOp5K9YRjmBiZoZUdgxZVvAHg0Qi + Ma/1HZ8GQbHoquHBUIhatcobL32fzPgEmfEJ1ldus7u1wfbmOpqm88GP/BS6YbB88y1ajSaRWIzxyWmm + FxZpNRtIkozu82HoOiBh2e5SYK1WASQC/gCFwiF7G+vkcvtUikVkRSV/sI8/EOSJ9z1DtVxibWWZQDDk + ei/qOuFYjEg0jqQqGLqBpmnYjkO9WqFeLqMaGv5AkGAoTLvV5PqrL9Nutzh94TLba6vceusqcwtniMTi + LL91lXa7TSjsTuMyYxMEwhFiiUTXWannoHh0zn+Xc+MfvTC/+yD96FHDiSGA67maDhQB/zutq5MspNVq + UTjMu/P9w0MO9naIJ1NousG1V15i5dYNfH4/H/3UzxOOxVh68xqSJBGLu2aIdrtFdnKaVDpNo9HA7/cT + DEf6vOhc2LZNvValWChQyudotVoYPl/Xx2Dt9hKNeo1YIoVtW2iazvs/9BEmpme49urLtFstEqk04Vic + VGaMQCCA7RnZZNl14rEdQbVSplwqkNvdwbIspudOsb2xzkvf+RaNWhXbspieX+DJD3yQl779TWzb5tyl + KyxefILCwQGO7SY6yYyNISuuw07HANn2CLLdbrO/vYnhCxCOxnjr9ZfZWF1F0w0a9RqRWJxYMumO0Ejo + hkEoFCI9MUV2chJJCNrtVjf0V0Zy/Qc8zaFcKFAuHOILBDDbLdZuL3Owu83+zg66YZCdmCQ7Mcn82fOE + I1GXhHsP1n057nPv/dZPnpudeqd96FHBSSKADwDff9j1dox1juNgWSaapiNJEuVigZ3NTWRZYXp+nnK5 + xNadFTchSLvNW1dfp1w45PmPfxJN01m+cR2fP4DP58N2HCLRKMFwxHUpjoRJJFNu8E8fbNumWDikVHA1 + kHqtws7GOoqi8uSzz9FsNvjqn/x/5PZ28QUCRKIx5k+fJZ5MUS2XCEejLJy7iKKoSJKEpuuexiu6v6tR + r5E/OKBRq3bX6n3+IF//6ldAwNPPfQif389f/PEfYJptpucXmFs8Q7Ned8OnQyFi8QSRaJxQNEIwFPKi + sCWEY9NoNml6tobdzU38gQCNep1S4ZBquUSlXEYCzly6zJmLl9i6s8qdWzcIRtx4BMsySaUz+ENhNzw6 + EkVTVZDcsG7LbNOo11hduoXZdo2WoXCEeDpLIBREpi9C0n2gP4wQ/vDDZ2d+5WH3o/cqThIB/Cbwv/64 + 2wHQbDR46+prqKrKqdPnqFTL3Fm6xcbKbXa3twiGQvj8ASqloudqHGB8atqLIVgACcxWm1Qmiz8QOFK3 + rMjoukGtWmV9ZZlCPsdh7oBGrcbY5BSVcpnlG29y+vxFFs5dpJjPYdsWoXAEfzBEOBp1nXm8tXtN0/H5 + /T2V2XGo1xvYjoVhGOT297n6gxdpNRukx8axbZvVJXfKYrXbBMMRMuPjTM8vkJ2YpniYo1wqkspkmZw9 + 1Q3W0TVPcD234larSSmfp9Gok8qOEYvHWbp+jRvX3iAQDFHM58jt7xKLJ1FUjczYOMlsBhkJXzBIOBZH + 13UikajrmuwZaO9ByAcIoXveff8PP3Rm+ncfdp94r+IkEcB/Ar5wL2WFEJhmGwnX2j0cIPQw0JlGSLLc + tS/sbG1SKuSJJVIIIdjf3qRer9HyRsi128ucfeIywVCI9dXb/MTHPonP7+fWtTeoViqMT04xNX8Ky7KQ + ZdlzJHLba9s27VYTRVU52NujcLBPMjuGZZrsbG64cfiWBZJEOBqlUiqxvb5GpVzCHwgwPb9AKjtGKBxx + R1/N9fF3M/i4tmLLNHHdolvk864f/uHBPu1mE93nJzM+gawovPStb7C9scb5y08xPj3D7tYGoXCUp559 + jlqthiSBZdn4/H4i4TCKpnXvm22aNJpN2q0Wub1dyqUizVqVSqVMMp2lVDikXDikbbZRFIVYIskzz3+E + aDzhumO3WoRCIXR/gLTn/XifhPDR509PfeOhdIJHACdpFeCejX+H+RxLb15FCEE4GnMNTuEw4XAEfzDY + G0neAbpup7gjkz8QYG5hEVjs1n/Ks7Kb7TblcoloPEE0FicSj3uedhHy+3u8+dorlIsFmvU6B3u7rC7d + JJFKM7twGtu2SCTTrvNRMglAdmycyemZblumZmZptVqY7RZt0/QEed1dW7dtQMK2LDZXVzAtE8ey0Qw3 + OAjAMHwkM1nimQyGphMIhgiGI8zMLbgbrDgCyzJRFYVao06rXmfm1CnGp+eolopsrK5w8cmnONjbZWtt + ldz+HvncPul0livPPk8wHGZvcwPHsYlEY6TGx0llsqQyWVd4hYNl2diORb1ao1GrUi4VKBeLbk6DQJBq + pcKNN16jeJgnkUozMTNHdnziuAczaPX3PntP3OYx8QDs4ERoANdztQSQv5eyQghWl5f41lf/jEI+R7vd + xufzY/j9XH76/bzvg8+zcWeVg91tovEEiUyGeDyJbhgPTTu4GyzTdNfgFaXrKVetlNnZ3KTdauIPBCnk + D1i5eaOb3KNULBAKR4jG4syfOcdhbp9CPsfE1Ayp8XGCgWA3x6FluuG9mqZjmSb1Wo222XYdgXSDw8M8 + +b1d1ldvoygK9VqNnc11zLbJ7OLpbqLS7MQkub09fH4/41MzqLpGPJHE5w/g2I635Rp0tIWDvV2iiSS1 + aoXD/T12NjfY3d4kEo1z/vJTrK/c4urLL9Go19ENH089+xOcu/IkpXyOWqXC5Nw80ZhrWJUkdwvxzlKf + 5N0vy7bZWlujeJgDBKnsBONTU52H3pex8G0/v/zBU+PPvDtP972Jk0IAnwC+eq/lK+US2+vr7G5tsLay + jGM72LbFMz/xYRbPX+SPv/QfuX3jOpFYnGgiwdziaRbPXUTTdRzHRvMy+Pr9ftcoKMvdOICHTRIDacxx + PRQbjQaWZVIpuUt+jXqdQDBENJ7g5tXXuX3rBrFEguz4JIqqMrtwmkAoxA++/U1q1QrnLz/J7MJpVFXF + ti2EYMAGYLbbmGabSrlMIZejUa+hG4arhTSbCMfh9s238PkDBIJBSsUCp89dIJ5Ksbl2h5n5BS9VWplE + JkM4HOkSWmf61Ww0EEj4fH6219fYWF3mMJ+jVDjkwpWnGJuc5q9f+Cq5/V0+8QufAaBcLFIpFWm1mswu + nGZ6fgFFlmk06qi6TrBjRL13ge9+BhDwfzw7P/brD/UBvsdxUqYA9xQBCHjzZ4WFs+c4c/EJTLPtZt9x + bAyfn3arxZmLT7gOLK0W7VaTaqlErVKmWilTyOewTBNZVpiamycYjlApFpBlmbnFM93RT9U0VPWd395u + yisPit/v7jeAm8sQXM1BURRvV6Mgc4vuJia2ZWG2W4SjMQ4P9tneWONgbxdJkqjXqlTLZfZ2tojE4sye + WkTXDWzHIZXNEo5EiCeTpDLZruA6jkuUrWaTU2fP4TiO6w69s41mGOxtb3Pr2lUkSWL99jLLN9/ifc89 + z9TcKaqlIoFwGJ/hIxByg3k69+rUmTPMLS5imiZWu41uGDiOw7lLV2i1zpKZmOT2jevs72yzs7XBYe6A + cMT11rz++quUiwX8gQDJTJbzl59yU4v57m812MsT9dg4AHVwUjSAPwU+fS9ly8UC119/lWqlQjKTITM+ + QSAYRtc0HOG4wSmqim1ZtFotms0GQgh0TaNSKVM6PCS/v0er2WR8eoZatcIr3/trUpkxPvDhj7K1tkqp + UOiqpumxcZLZLMlUGt3wYXt7DjwMcrhXCOEmIN3b2aF4mEPztjbb3d5kd3ODZGYMn8/Hptf2p5/7EIFQ + kJvXrqJpOgtnz5EenyAUCqMZep+7sgvLsnAcm/zBAYcH+4SiUTZXV8gf7HP24mUcx2Znc6O71XcgGMLw + ubsl5fZ2cBxBKBwhNTZOIpVG17WuVtJBJ4tRqVigUiySGhunWavz+kvfZX93h3q1ii8Q4Lmf/Bhj0zPE + 4okecd67BnDu/bOZE7sR6HE4KQSwD6TvpWylXOLqyy+xfOM6xXweWZEJR6IkM1ks03SdSM6cIxgMIoRA + 040jS3Fmu0277Vqh93d3uLN8i+zEFIFgkFtvXuXwYJ/93W3KxSKTs3Ncevr9ZMYnWLl5g92tTSZnZpk7 + fba7zm0YPnTdQNM1FEUdSHj5sNDbCclxX22bVrNB2zQxDINSscD2+hrlQoHzTz7FnaVbvPTtb+A4gkgs + xsLZ8yRSaQ52d7C9vRIlSSIUiZD0nI/C0Si67tomXEOjO7LWqlXqtSrNZgOz2cIy2yBJbG+sc/Pa69Rr + NdLZMbITk0TjCWzLQlE1ZhcX8QdDOJaNPxDo7trc8WFACBrNBo1anXKxgGVZpDIZ/IFgLwvQsLAfd8z9 + XAKSz8ykH4sgoA4eeQLwIgCX7ueaWrXK7tYm2xtrrs+/4xCJxlhdukkykyUSjXGYO8Cx3WlBdmKCsekZ + HNvGNm2S2Qx+vx+fz98NDgK307eaTZqtJrm9PSqlArrhY2JmlmqlzHde+Brrq7eZPbXI7MIi9WqVg71d + ZEUmEouTzo6RSGcJRSJo3hTCMHxdg9+PAh1bg+uAdEir0aRer7peiJbFjauvUS4WqJRKmGbb9SEIBIgn + U0zOzHHp6WeOaAj9ddumiWmZ2LZD4TDPwc4WjXqdSCyOqqpYlsXq0k0URWVucZFquUKr2cAXCODz+QlG + ovgDAcx2G9uyUTQ3dDkUdrW4exT248p87enp1Ccfzl18dHASbAD3nALMcRwatRqqprFw9lx3Gc62bRzH + 5uylKwjhsLe5SX5/D0VV2d3e5DB/QLvd5mB3hzu3l0hnxxifmubZD3+0a5Dz+QMEgyEMv59AMEgylR5I + PBmJRvnwJ3+WUj6H4QsgKzL7O1sUC4cUD/Pk9/cpFwsc5g5QNY16tUalVCQSizM5M+sa3EIh0tkxNE3D + NNvIsoKu6wMk9E7R0TriiSTxRLJ7XAiBbVkkM1mq5RKFfI5Ws0G9WqVcKqJpuufee1Rz6b8Pqq6jeqNz + MBhkYnIKRwg3Zt8zECYzWXfPRFlGiC1kRXbDfg/ztFpNLMvi9o3rHOZyXlDXAolUilA0RjSeYHxyyrUv + CIGQhncuHkKvzGO1/NfBSSCAezYAlooFXv3ed6hWyqQyWRKpDNnJSXw+H7KsdNeNk6k0i+cvYlomhwcH + CMchmkwQiyeoVSvUa1Us08R2BHeWbpHb3yMaj6MoCo16HU3XOXvpCma7hdluk86Oo+ka2bFxpmZmuwIy + t3iaerVCsVikdJjHMPxYVptKuUQxnyd/sEe9ViW3t0OxcMiZC0/woY9/khvXXmdteQl/MEQ8mSSRyhBP + ustwAIbhpcHi4U0j3OQhGvFEglg8zsT0DMJxME0Ts93Csm00VT129D+uDcJzklJkGaWvnKEbjE9OdcvE + 4wksy8K2LJrNJgD1WhXbsgmFI5imSSKdptlo0GzuIkkwOT3TDe+VBr/07QhhRACPKO4rB0B+f48b194g + GAozPX+KrfU71GtVzHab7MQkqew4mq4TikSIRKIEg0EcR2AYBunMGJNz89SrVRLJFL5AgPHpGYKhEEgS + W2t3uHX9GlOzc0zOzrNy43rXym622+iGj0QqhW4YBIJugpB4Isn07BzTs3OA64bbarU4dfY8zUYdx3bI + H+xxsLvDzPwiqqaR39tjdelW16clOzHBqbPnqVerNBt1Ljz5PqLxJCDQNR3N0FFV7aE4OAFdAyeK4i6H + DtlI7rWOfvRvzCn1lZF1vbtaEAyHEUKQSCbJTkzQbrrEo+sa1UqFVqtFIBDskd/gF/wwQnjsVgDgEbcB + 3G8EoHAc1tdWWV9ewvD5icTi1CplXvrON2k3W1x5/7PIssyd20tdr7xOjoD50+eYnj/VjTG3bRvHtvAH + gl7qL0Fuf49SoUB2fIJgKMTuzha337rO6tItLMsklkjSqNeplkvohkEkGiOWTJLKjpGdmKJSKhEIhZia + mQVcwpK9/HbC6TnY7G5vkdvdoV6vcXhwgOHzEUsmufbKy5hmm+c/9kma9Rr53D7BYNj1lguGCceiXgBN + zyEoGo2hG0bPaPYewd128Hm7c/d1fNAWsHplPHbqvhp4QvCoawCXuFfhF4JKuUQqlWFm7tSAD31ybAyf + z080FiOfO8Dw+XG8xJ4CQaVUotVssL6yzNb6mpskwzSRFXf+aVsWoWiUtJfEo7Ov3eT0LIlkijNPXEaS + JTRVo1qtUDo8pOYl0Fi7vUT+4ACz3WZ3a5NUJksoHGFjZZnlG9cJBEMsnr9IMBym1WoSjSXIjo27STYl + yd3RR7j5AFPZcQCi0SgHe3tdS3yjXvMce4qsryyzvbGOJEmksmNMz58iEAwRice7S6CBQMDdj8/bsPNh + 2hjuFXfVEN7m3JGphifkx5Yf1AYeS/UfHn0CuOf5f71W48Vvf5Pc/h6nz18kEo0jKzLBiBsDoOtu8MvE + 1AwTUzNdo5dpmtTrNfw+P9VqhUqpRG5/l3qtSrvlzklXbt7AHwiQSGe8XX19GD6D0xcvkcmOufX7DCQk + kukMzC902zU9v0ClVCSRzhAMhUlms2iqSu5gj/WVZZJeRODayjLNRoP502fQNJ1AKEQkGic9NkYgGMRs + t8lkx7orBqFIFGfB3YLcskxs26ZSLtNs1N0dkJDc4B1ZZn97i5VbNxCOgz8Q7FrjI7EYY1MzxJMpdE3D + 8Pm6Hn1qXwDPjwIPQggcp/IfUx4hHkv1Hx59AriPFQA3m01+fw+fz0ckHscyTRq1OrvbmwRDYWYXFj3P + NzfjTmZsHF3X0XW9axfIjI1Tq5Rptlo0Gw13S+9whKqXlLJULFA6zKMbPiLRODvra9y49gbp7BjReAJV + VYkn02Qnp5Aliahn5ZdluWf8chye/dBHOXfpSTRdp9loIMkybc8ItrO54XrL2TbnLl9BkmTuLC+hG7qb + sSgex+fzE/Os+K1WC5/PR3Z8gmQqzaX3PeNl+zEw2ybFQp6djXUqpRKO47C/s83B3i6xRIJS4RDbtonE + 4gjHXbrLjI0TicUJhMJksmOomrsbss/vR9U0hON0N/J8t/AwCYHHYAuwu+FRtwHcAM7ea/lKuUS5VERR + VNqtFo16nb3tTVZv3aBerxMKR2jUaxTyOabn5pmcmfMy7rpRghISiXSGzNg4Pr/fy7TjdL36hOPQbDYo + egk8AqEQy2+9yYvf+gaJVJr02Dgbq7epV6uMT8+4sQW2zcWnniESi2H4fFiWRblQIBKPE4vHkSW5a2Nw + bJtWs0mlUqbZaNCoVUmNjVM4OODaqz+gVq0wMTWDrCqEwhEuPvk0b772MtdefZnxySkuPvWMm4vPcSMQ + A8Fg16UWXJtDu9WiUilTLhRQVIVWo0mlXERCYn31NrVqlXAkSj63TyQa48yFJ9wphSwzf/osltlG0wxv + VyWfu92359z0bgdT9eM+bAhtIPZEJtx4t9v0XsQjSwDXc7UorgHwnlApl7Asm3hiMGu4EG5K7lqtRq1a + 4a3XXnXX3+MJcns77vLg5CT729tsrq2iqiof+eTPEY7E2Lhzm2ajzvjUNDMLpzF0A0mW0XW96/Zqmm0K + +TySLOMzDPa2d7h1/SqtZgNFcTcRGZ+aIRgOo+kGq7ducOvNqwRCISZnZlk89wSJTJrt9Tv4/UHGJqfc + wJ2+ZT7LsigVDqlUymiaRqNaQ/f5SCRTfP9bX+fqKy8RCkc4c/ESiqKwvb5GvVZl4dwFYomkm/k3FGZq + dg5ZVmi1W4TDka6a34kDaDUaNLxtyLbX7wDgDwR5+bvfJhKNMTY5xSvf+2vGJqe58syz7lRDktANH8Gw + m9HH72kJCLBtC0VR0TTtXbczvA0hvHgxHXr2Xf3y9zAe5SnAPS//me02V19+iVtvXiOVHSPixc5PzS1g + GDq2bRMMBkkmU8zMncJxXANgPrePpun4AwEO9nZJ3shw89obKIrCYW6fV7//HSrlkhdtF2FrfZXc7i6p + MTexhizLZMYnmZia7gpTJBZn/syZ/5+99+iSKz3z/H7h7w3vfURGOiQy4VEw5atINttOT0/PaGapMwt9 + AB0t9CV0tNAH0NFCC52j0fSoNZzu5tBVkVVkOVTBA4lMpM+MDO/N9Vq8N4MFmiaAYvcArHpWWNyIyAjc + +7yP+RshQGoauGxOvtPpYjIZ02k1yJfnaNaPGfb7uL0ebn/6MR//9Cf4A0HKC4ucOnNOWI87HHg8HpSp + QiqToZJaQlUUPAWPDaKxeOPb3+X0+YsoU6GV3+92CUf7BMPiAd/eWOdwb4dEKoPT5ebxw3sc7O6wuLJK + sbJAPJVCthGPPkk8yAD5YskePmpE4gl8Ph+mZTIejUjncsjBAI1aVSTY6QR/IDjjAdSPjxh0ezgcwrIs + kc4SSyZxu914TkxJXK5ZxfD7qBz+kZbha1v+w8udAJ56AGhZFl6fj9FwwPHRAaFwhGyhiMPhpFWvcbS/ + RyAYJF+eI5nNkUymkWSZZEp4ArhcLkLhCPOLy1y49hrRWIzRcIRh6DO573yxyN7WEemDIwAAIABJREFU + hjComIzpd7uoyhSPx8vymbOsnL1Ar9NiMhqRzOQIRSLE4gkb2w5Op4NEIknirXe5+sbbjEdDnE4XPp8P + VVG49OobDPs9fLKMy+2hVa/jdDrY29qi3Wpw+frrmKZB7eiIxZU1ktksqt2+5AvFmTiJZVlC+x8L07Ro + NxuU5xeR/AH8tpLweDhg88E9ep025YVFlOmU2tEhXp+Ex+vF7XaTSKXF4DIUolgq/9Iv4S8KgNiuhMMR + FFVlPBwCCFjxaMDR3h616iGSJGNZYkDbrFXpttvkiiUKcxVU2+5cliQ8XrGmPDFu/X3ElxLC1zoBvMwt + wN8C//Jpr9dUlerhAc3asRCXjEYxDZPPPnifw/1dYvEEHq+XcFTw//vdDs3aMavnLyMF/DSqR7b2XR6X + 04Ek+38No6/YApj9fo9eu0Wv0+bR/bvIsp9zr1xlZ3ODzYf30DWNZDrDq+/+EcN+j+2NdQLBIK+88TaB + QBBVVXG7nLg9XjweDy63WyAPDQPLMnG7hZWZpuvcv/k5mqayvHqWTz94n/rxEa9/67tMx2Me3b/LwqkV + 0rkC7UYdHBCJxknnC0RjsV87FU3TZDIeMx4LGLLT5cLvD3Cws83e1ia9TpvxaASAw+kgEAyRL81RWRKQ + 6mG/RzgaE1WDLON2e/B4vbZtufDq03SNVqPBsCeqG38gwHg0otNscLS/R6FcRvYHqR7sIckyXq8PORAg + GI5gYTEZjrAsYeMeicUIhsL4fKL1+lW15aeM02vJwNeKAfjleJkTwFMzAFVFodvtzAg8J6CXyXhE7biK + y+XG5/MxHomTyicJHb7JeMzKuQvUDve5+8UNNHvSLUky+VKZU2cF1fXE5y8QDBEMhoSMtUPIcfd7PXRD + JxQO02m12H70kIPdHQKhEGcvX2Xn0UM++fCnxJMpvvMXf0V1f4+Hd2+hqSqhSIRINM6ps+fJ5vMM+v3Z + DX+Cldd1fTaEPDrYx7JMorEER3t7bD68SyKdwe32cOuzj+k0mzgcDjL5AqlsllJlEX8wSHV/j/lTKwLR + Z1liFfil/v9EFXnQ6zEejxj2+rSaNVRFEevPZJrjw322Hj1EmU5Zu3AJh8NBIp2lPL/A9sY69eoRhXKF + 8sLibyQ3qarCdDzG5fYwGg5o1o5nlmyWaeHxeqke7LPx4C6aohJLJinNLxIMhYglkmQKRRLJp7odvhzt + tWQg8bsv+8ONl7IFuN8czfOUDz/A9uYGn/zsJ/YQyo/k9xMMhaksr1BZWGI6maCpCtF4fCb7nUilbB18 + GxYcjbH1aJ2D3S2cDgfddpteu83O5iN2H28gyTKJdIZTZ85jGgaNWlX0/6USfp+wC8/k8qSzOS7bRB6X + S0zrc8UyARt6XN3fwzItlOlUcAyiMTKFArXDfW5+8pGtXxCwbb5PUVlaZjIeMZlMSKUztmqRyfLaGgsr + KxiGjqZqJDIZmtUq92/fRFGmmIbJcNBjNBxw67OPsbDQVJXD3R2SmawQ1HQK9eHS/AIeG/IbDIfJFYos + WaszEhVALJkklkjSOK6SyuTZ294kbduYffLB+2xvrLO4ssZoOMDhdNJpNTF0nXxpjng6jc/rwydJYs4Q + DJK21YdF9WCiThUBnU4kGPT7RGIxvF6hUtTvdkjnC89zK32ty394SRMAz4j/9/p8ROMJakeH7Gxu4PF4 + 8Uk2Hj8e54ff+1vq1SMy+SKpTJZCpSL6f/tkTaUzpNIZ5pdP0W418UmysOuSZSER5vWiKlOx5/d4WF+/ + z90bn+GTZdLZ3OxEPbV2jny5TK/bYTqZEInF8PsD5MtlW0HIw8Vrr7J6/gLT6ZRuu43T6SSWTLK7uUE0 + nsA0DPZ3tpmOx8iBAJZlsn73Nr1O2wbtJAiFI8RSKWTJP8Pqz80vUixXqJxawdD1meDnZDLG4/Hgk/3U + q4cMB33qx1VUZYrT6SKeTDEaDuh1RcKLxOP4fBLhaJREWkh5+yQZWfazduESXLgEQLEyJwRQdJ3zV66R + yRWQ/X5My6R5dMTB7g5OpxNd19jd2mTQ6xJLJJk/dRrLNAU2wuWk3WrOIMvzS8tUFpdEVYKYM0wm41nV + 8hzxtU8AL2ULcL85+l+B/+lprj1B9J3QSVu1Y0xbHKO0sIRp6Pz93/wHDna38dqn0NziMitnzqMoE6YT + IVQpywGyxQKy7BcyYqYlSEC/EoZh0Kgfs3n/Hgc72wRCIVwuF4N+j1NnzoFl8cGPfoDL5eLcK1cZj0bU + jg5IZ/NcfesdZFmeDQW9Pmk2+DqR/VYVlXq1iqpOSecLDHpdPv3gfcajEYauY5om2UIRnySjTCd4vb6Z + M3FlcZlgODyDMp8MOE9+J01TGQ2H7G89pttpE4pE8AdCOB1Ojg/36Pd6jIcDqocHSLLM0uoauUKJRu2Y + frfDK6+/hWkaDPsDSpUKbo8HQxd8iZP/BxBsvl6vNwNnNWvHHOxs4/X5yBVKNBt1XnvnW1QPD/n+f/oP + +INBrr/97gzqrKoKDhxk84WvqpXwZ2vJwD98lTd42eNlrQCeegMwHPQ52tvDK0mk0hmy+cJs+HVyU/7Z + v/l3DHpdhn2h+xcIBvH4PAz6XfrdLt12C7fbjaJMUBWFxw/vkykU7fXaVDxMbjduj4dQKEwmkyOZyjC9 + OsYr+YR19qCP1+Nlb3uTRCpFNJ4gEAxxtL/L4e4O08mEU2fPs3HvDu1mg363S3lhkUvXX6fbaWMYuv3+ + EZbX1jBtZ9xoNEYqncHhEKflCR25bwt6dNtt6sdH9LpdSpUFRsMhH73/Ywa9LpWlU8JB1x+YOeo4HU5W + zp6fPVgnOIPCXBld0+h1uzSOq2iq4O07bGUfl9NJr93mzo1PGA4HvP6t76IpU+q1Koun14jHEwyHQ2Hk + EYkSjsZm/0f5YpmVM+cB0HWNeDqD7A9g6Br+YBBD16ke7NM4PqbdFH4EqWyOQrmCqiokUmlRfTx7fO0r + gJcuAdxvjlzAxae9fjQasvnwPs1aFa9PIpZIEo5G8QeCWJZJobJAIpl6YoBk2ZJZ+WKZ6WRMs9HA1HUC + 4TA7G+uMxyM8Hg+dZpPNB/fotJqMBn1cbvcMvFOszDFVpjRsrYBkKo3D4WAtfJlTa+fw+nziM+bmOHf5 + Ki6Xm0gsRq/dFMYbjTrpfJ5Bv8fNj3/O4d4uAGsXLlGozHP/5udIkszS2llS6Yzw9ZurPLEmMwxDbCVs + B6JwJMJwOMDr8+H2eFFVherBHth+hh6vlwe3b5ItFHG53bjdHgrlCvmSwDG4PR78wRD5UnmG7DMM0QIF + gkE8Hg/14yPKPolILMb6nVscH+wjy35qhwdsPrjHZDyeqQclM1miiQSJZAqfJDEc9JE8fsGXAFbPX2Tp + 9BqapmEaOoOBGA72C8VZ/99pNQlHojxHbK4lA+3neeEfUrx0LcD95ugV4LOnvX40FM672xuPqFcPUVUF + j8dLNJ6g1ahTnl8kUyhgGiaWZeIPBMkUikQiUUGZdf8SpWZZwmBzMpkQDouHqXZ4YPsE7jOdiJt75dxF + dE3jFz/5AY3aMStnz7Nw6rQw4bAsfJKMPxgkEAoRDkeemLhjsxYnkwnBUBhd09jeWKd6uI8ymVCaX2Q8 + HPDe9/+OWCLBhauvokyndNstzl66QiqXYzQYoOs6LreLeCL5BNwXfildZlkWnU6b6WiMy+Om22ryyQfv + 4fF46bZbmIbJa9/6DpXlUxzu7DAaDTANE38gQCojxFOS2SyxeHwmXW7a0GjLsmjbuv5eyceoP2B7Y52j + /V1qh4cEIxHiySRrFy6xev4S9299wd3PP2XlzHnmlk/RqtcJR6Ok0pnZJuJEdt00TUzDYDAYMJ2MCUei + v7Ed+x3xf64lA//9s77oDy1eugqAZ7T/9gcCnFo7S75cmenon1hkHR/s4w8GOdzdZX/7MS638KRPprOU + KgtCCmyqUJpfIByJMre4hCz7CQRDOBwOGywkTitVUdA0DYcDvF4f1cMDcqWy8BawlYSOD/apH1eZTsb4 + JJlCeY50Lk8gGELXNXRdFyutXIFAKAyAw+/nwpVrnL30ipA0dzlpNRo4nE5k2U80keTOjU+ESpGuUd3f + Y3tjndrRIcp0wtlLV1g5d4FOs0G33SIYDhNPpUnYYCd/MChOAYcDpVgSWoXjMd1WA03VyM/NYZkCLt1p + Nmk16jidTiR5nW67ybW33iWdL7C1/gAHDvLlihDwlHwkk2ni8YQg4eQcLJxaoVGvsbOxjtvtIRAKE0sm + cTqdTCdjptOpEDyp1/nkZ++JZHrmPI3aEdPJBEmWSWfzJDJZJMlHNBrF8SvQ7meIr335Dy9nBfB/AP/+ + q76PYXvdq4rC0cE+7WYdLIvqwT4er4/C3Bzbj9a58/lnyH4/Zy+9wvV3vs3Oo3Wm0wmRWFyId3q9eLw+ + 4vHEr51Ulmna4B0BmW02GtQPD+i0hHnmCTvwhJTUbNRJJNPEk0k0TaO8sMj5V67R63UZDwdIfqE76A8E + nwC9NBt1HIhk12m3aVSPONzbodsWJhs+SeIX7/2I/e0tXG43uWKJN779x/R7HY4P9iktLLJ8+owAHNkO + yCeS3DNDEk2l3+vRa7cZjwY0azVGwyErZ87T67b4+U9+BEAkGsXpcpMvlQlHo1iWhd8fIByLE4pEZtXI + r8qinwCoYrE4vV6XjXt3cDpdxJIpHt27zeHuDsNBH5fLRWV5hVg8wamz50mkUjMl4meM62vJwNc+CfzB + VwC/LVwusYf3+nycWjsDnBGuO+ORENuUfKRzBbKFIpPxWDjpuNwYpuirLavF5oN7VA8PKFUWWLt4mer+ + LtPJhEK5gss21AzFIvhlsY47kf4yDEOAjiyLyXTK0N5rZ2w/gW6nRbvREJBYVeHDH36fx+sPCEdjhCNR + SvMLFOcXRILRDeYWFnF7PJimSb5YIl8ssXrhIupUwSdJjEcjLl1/jbnFZbrtFj4bDLW9sc72xiNcbg/Z + Qol7X9xgf2dLPFxnzhGKRJmMx2L4GIkQDIZIJJLgcAhRUofQBWg1BGfCsgS0WFWETXe70aDbaaEqKg6H + g9L8AldefwuXy8WD21+gaxqReBKAgG0zrus6iUSS5LvfAcQaN1co0O122Xp4n4PdbULhCLI/8FU4AhPg + 5le+if4A4qVKADYD8Knpv88aHpv3fxL5QpF0Jiv6WrtPXzt/Cc02wli/cwtVUSgvLCLJMrqmUTs64NG9 + O6iqQiQax+UWjL9gKCwm13PzRGIxIrYMdigC6UyW+cUlDNNEUxV6va5Au8UTOJxOMvmCACtpKv2emMLr + msbOpnh4xYzCQplMCEai+AMBAoEggWAQ07KIxGJcuv66WPWpqhD1cDlxOB2cOnOOZCaHJPvpddp0mk3c + bjeN4yr3b33B/vaW0DwIh8nkC+TLAvrr9flmasCJZIoLVwWhTlUVnE6X8B4cjxgNh7TrNbqdNplcAX8g + wNHBHg9v38KyLJwuF43aMcFQaCbDli2UCEYiArhl+zaWIlFy+YLQNpBlLMvCZSsvPUfcWUsG1K9+x7z8 + 8VK1APebo28DP3qaa09ovi63+3lLxN8Z04mgkEuyjGmaTCdj9ra22H28IfDroTCN2jGDXhdNVfFJEoNe + F38gyKvvfodSZf6pvocynTKZTBiPhkyGQ9xeD6qisrO5juwPUF5colE9ottq4bGVjQKhED6fRLfdYjQc + 4HS6iMbiZEslQqEwoUj0107Qjn2t1yehaxpHezs0jqu0Gg2mkzGS7CdbKFKaX2T70UPufP4p2UKJi9fE + wz/o9bj86htYlonD4Zy1Q25bQ/Fkc6CqCtXDA9SJQqN2RO3oEMMw6HXaJNNZJL+f8XCAYRh4fT58kszK + ufNUFpYYDYeMRkMknw+3bWr6HOpE/9taMvA/PuuL/hDjpaoAeEYJsM8/+pB+t0tpfgFZDhCMhEkkUzYC + TTjLer3e51av+bJ11QnVdXntDAsrKzgd4mSaTiZMlSnKdIKhG9y7eQN1qgjlnBOHm38kToaNkiwTjf1y + d27ougDbuMX7hCNRFGUqCEnjCU6Hk0G/y87mI/Z3hI7B3OIyvV4H0xDoSEmWCYbCSP4ATqeDSCxBrlCa + PagnlN/pZMLY1hU8Efdo1Y+J29BcXdO4+8UNep02leUV9rY2URWFTrOJHPCzuLJGca5iv4dGKBRizpZF + m1taxDRMVGVKo1bDHwwy7PXpdpr02m36dvI0DRPLNLn16Uc8Xn8gbNSjMV5959vPkwC+thJgvxovWwJ4 + agkwXdMY9nvc+fxTHtz+gmA4zNLpM8wtLNOsV+l1OoSjUTL5IpF4nJDN33fas4HnDdevvD7o8RAkPBum + RaIxNF0jGnv26fWXk8XJXv4kvoyIO8HQTyZjUrk8o34fgEA4jKYqNKpVqof7aLa9Wb/bZTwaki0UyRVL + yP4A8VQap8uJMpkSjceJxhNPfK9rb77D6oXLeE/YfqZIZj5JwoGDfrfDwa4YOoajMQzD4KP3f0S7UScS + TzC3uMSFK9eRbK1FWZZZXDkt3rzwy+8xHY9RNY1wJIJhOzilcwU8Hg/+YPB5kYA3nudFf4jxsrUAVSD7 + NNdalsWw3+PB7VsMh328Xh/ZfJHRcMCnH/6UQa9HNJFAloW2f2l+gXajjtPporJ8CrfLxVRRkGX516bu + L1uc7OgdgGlZTEYjej0hWzYeDmkcCy5+MBzGMk0G/R6hcERgD6ZTUpkchqGTLRSZP3Wasd2GZHMFnDZM + 2SdJYvNhWTNZsW6zKdyG02lajQaff/QhjeMqo+GA+eVTXH/7WxzsbHP3i884e+kKZy69Qqtet5WOTWLJ + lCAlORyYhvEEA1K11YaegwPQWEsG0v8EP/NLGS9NBXC/OSrzlA8/iJte9ge48sZbT1hsd9qtWW/pdnsY + DnrI/gCmYbJx/55g/kWibDy8x+7jDfyBIJFoHMnvJ18qUawsitmCy0UwFMLtFiexA2aKs/+c2ndPE1/+ + m1xAMBwmGBY4A8s0ZxwFYOZtqCoK8VQaXdPQdQFGajebuD2P+fSD98kWSpQqC2xvrlMoV1i9cEkkAq8P + r89HPJGcYSSAmfjpaDRk0O0i+WVi8QStep1oPEk0nqB5XGPr0QNq1UOODw9YOr3GxeuvMeh2qVUP8Xi8 + JDMZMoUSMZt49RzxTfn/pXhpEgDPsP7TNY0Hd27y8M5t4skUwVCYQDCIPxQmk8tz+dXXZ6i1L5/sKVvh + 1ukUay5JktneWOfh3VskUmkmoyGSFOD2jY+ZjMdE48KhprSwyHQ8ZjqekMhkhAy47WT7oofD6cT9pb/T + 7fHMZL+yufxsM7G0egbTMtE1jfNXrhO2kZLDvgBW9TodDna2ZnqIkWgcryThDwSE/JklEIKyP0ChPDf7 + fc5dvsLS6TUCwSC9bgeHY3XGkyhW5nG6XOxsbvDw7i2U6RSfJHH1zbdZPX+JVDrzPEngm/L/S/EyJYCn + HgBqmmrr99fYevRQ6OR5veSKJb795/8SQ9f45GfvoygK+XKZZDpLIpUiHInMTvHT5y6wvHqG1QuXaNaO + iSYSWBb4/X4isTiaptHvtpEkiUAwxJ3PP2X38SbFOYFxDwRDBENhipV5wpEo0+kE0xC22i63G0PX7WTz + 4iaJk+TgdrtnvoOmaZLO5MABmqrZ+gQiYajTKbquMRkLgdV+r4NhGDy4fVMMBP1+ipV5UtkcsUQK09CJ + pVKkM7mZc1IilWZpdY0rxlszvcRQKMyZi5dptxoMej0K5Xkk28TkOeKbCuBL8WLVqv9I3G+O3gPeeZpr + TdMU+PhOm/3tx3TbLVRFIRyNceHKderVKv/lP/5f9NptQpEosWSS1XMXKMzNoyoKlmXNXH5D4fCvrRFV + VUGdKjhdTtxuD9OJkN96eOc2g36PcCRis/WcXLh6jcl4zBcf/ZxwNMbK2fMMel36vS6VpWWWV8/aA0IL + h8M5YxU+zYbgRYsT5KOmqWiqimZXBjsb63RaTYKhMIl0GkM36PeEE/LSyhrRRJJuu0U4EkMK+PEHAvj9 + frAbK6fTNRvQWqY5Ewx9jt/HABJryUDv9/7lX9J4Ke4wmwE44CltwEaDAaPRkFA4jE8SLzmhz4qpd4fd + rU363a4wlZyMKczNEwiGaNTEhmA07AuBiqXTjEcDjo8OqSwuky+Xbcy/Qzjbuj0zN95+t8twOMAfCNrc + fZEk7n1xg4e3b1GaXyCeTPHwzi2qh/ucufgKr77zbepHhwz6PUzLpLK0Qmmuwng0wrQsvF4vPt9z7bpf + mDhhV1qmCTCDRQ97XYKRKKN+n/rxkS2QauGTJGS/n363S6tRF9Zr4TDZQpFoIkUkEkHy+58H37G+lgyc + /r1/wZc4XpYW4Jk8AI+PDrnz+ac4cBCKRoglkgSCYSRZyFun0hnOXb46e42mqrjcwiwknc/T73VpHlcF + Vz7g5+Hdmxzt7ZLNF9haF5p+ynRi6+mHKczNUVleIRqN4fV5MQ2TUCg0g+eGwxEuXn+dgD/AVJkSjSeE + dFZWCFwMB302Htxj0OsRDIbxST5uf/YJrXqdYDjM6vlLyH4/x4f7hCMxMoUi0ZhYrcGv4+pftHA4HE/8 + jR6vl3xRwrKdkJTElFQuh6apTCeiVTI0naP+Hod7u6jKlHyxjGlaHOzuCJLQ2fN448+cAL4p/38lXuw7 + 55fx9Ph/yyIYDhNLJIVe39YmLpeTSCxBMBRiNBzM4K+mYdjKtEGCwSA+ScZnT7Dn5hcx7RMLXmf13EXS + uRz1alXw9jtwfHgg4LBeD8lMlkb1iJuffISua5w+d4FssSwkw2xyjdMl0HjxRBIsa6b0E7f58dPJmEJl + gWG/h8fjRdNUxsMB49GAh7dvcvvGJ1SWTrF6/gKjwQAcDpZW12by24auCxRgIIAkyf/k9lxfJb48fHUH + g7+Rzru8tka/22Ew6CPJfqaTMYNuD6/kw/+NBNjvJf7gEoDD6SSTyxNLJDh97gLN2jGDfk+49KgqHIsW + 4fjwgGa9htPhwCf7Kc8vkEhl6LQaOJ0uCpUKoZAQAy3NVWbvH4pEWVg5Leix7RaGbiD5/YRCIR7duzvT + qBv0ekwn6zMWm8fjIRKLky2WSKYyyMEAhm4LaiYSLK2uAaKCCZ14EI6GGIaBJEmAcNLJl8p4PF4e3b8r + zDvzRerVI+pHRzTrx7g9Hs5cfIXCnLA1U6cKciBAJBLF4/W+sAnht0XYRvydhFW0vsp85JsE8CvxUtwN + 95uje8Da01w76HXp93uEwxF8sjxT+QXQdZ3peMx4MmZ/6/FM577Tasxsudfv3aFxXCWeTHH5tTdYWFml + dniAw+EQppuyX8BzJQl/4MlTS1WU2UPrcDiYTsYc7+9Tr1XptduYpmnLdLtRlSnNet22FisTTyZxuz1k + iyUK5TnGwwEOh3NGUHI4HCjTKR6vF8PQ2dncnPENqvu7HB8esL/9GF3XufbWO+iaxqcf/ozxcIBPkikv + LHHp1ddpHldRVYV4KkNproLT5ZppCZ7o6/+BxgQIrSUDxn/rP+RFihe+ArjfHAV5Bgbg/s42H//sPVwu + F4FgiIVTK8SSqRnLLxyOEA5HOHPxMj6fj+l0Qq/bxSfJuN0uIrE4j+7ftfXziyjTKceHB+i6hlwXFNdB + v8fquQuk8wWatapQrU0Iayuvz0cgEMDj8RJPJMkXy2iaymQ0Zjqd4HK7he798TG6rjPsu5lOxjy8cwvT + NAmEQnTbQd7//t/RbbeIp9LEkylyhTLJbJaJTUASFGYR4UiEhVOnGV69jqooxOJxjo+OKM5VGPR7DPt9 + dE1j1B/w4Y9/gKJMufbmOwSCQe59cQNlOiEcjTG3tIzHI2TFXW43sp1A3W73DIX3EseNbx7+X48XPgEg + yv+nwuFaponH40OZTmg3GqRzeY4PA+w+3mRv6zGBUIgzFy/PBDsyhRKyX3D1TUPHH4lw/so1Vs9fFDtw + txvLBgtZljVzsAGQbUebva0tRsM+ir0+DEeEy6/X6yMQCpHJFUlms0Si0RnUNhZPkC+UOHPxMpZlMh6P + qR8dAlBZWqbXE56nynTK/vYWBztb9LtdjvZ32N/ZJpXNceHadXRNwzRE0vD7/cQTyRk0t7K4xPzSMspU + EJEADNPi4rVX0TSNYmWByWTM5sP7jAYDipV5TMOg1WzQbjZwu91E4wmS6QyJVIZEJoPP60XVNHy2W89L + Bo/+pvz/DfGyJICnC4eDhZUVwrF/T6/TIRSJYJoGe483adZrZPIFAqEQBzvbHB8dUq8eYZoCzSbJMuev + vko4GkWZTvB4fajKFFn2k8pkZ4CdVCaDZZqEozFURSEYDrH18AH7O9uEIhE8Hi+1owM0TQOgur+Hpmmc + OnMW2R+gWTvm9PmLxBIJRqMhmqYSDIRYPS90Tg3DIJ3J8Sf/6r9jNBzQabUYD/uEo3Fa9Rput5tgKMSg + 06NRO0KZToWFlk8iHInhdDkZDQcYho7H7SGWShGNJfB4BXX21Xe+LXj4TieqqvBHf/nXjAY9guEoymTC + cCCIQ91Wi363w7Dfm8l5b208ZH97i4XlFRZOr2HZJqrzy6dmffnJe7vsquEFim82AL8h/qASwHg4pNtt + E45ESaYzgJg2Z/NFzl6+IibjQDyVYa7dwrIsIVo527NbbN6/y/72FpqmoakCPJTJF+h3uxTm5mba9NPp + FFmWKZTmyGTzXNHUGY++1+uKWcNwyHg05M6NT2g1GiRSUK8eiblCtcovfvwDGrUq88srVJZOzdR6yotL + SJJELJ4gnc1hmSYOp5O5xSVWL1wU/HrdwCv7mI7G6LrwDdR1lU6tOZtjSJJMZWmZaCI5o/56vT7koGhR + PF4fxbm5J/bpCysrTMdjer0ek9FotkrVNE18n+EATdc4Ptjj7hc3iCdThGMxGtUjJpMx49GQYDBMeXGJ + eCKJokzBsvB4ff+tZwzfVAC/IV6GBPDUEODjo0N+8vdPCIbaAAAgAElEQVT/GZfbzdLpNfz+AJLfj8vl + xuVyE4yEicZiFEplCqXy7HWCfSa4AbI/gE+S6HU6DPo93G431YN9Dna3hXmIzzcTAilV5jn7yjU8Xo/Y + BsgyXq9QyDk5/UzTZG5pGcMwkCWJdK5AJpen3+/hDwbxjwRe4Ghvl7tffEY4FhcOPf0+qWwOfzBIeXEJ + B4KfEIsn8fokXH6XaClsEs8J0KbZqOP2eOi0WgRDIRKpDP1eh16nzeaDe/aD72VgU4TL8wukc3ncbi+x + VBLLsnC7PeTyBZwu1xNQ5eBf/BWDXpdoLEav16PXaZOzZxz9bofjwwOqB/tEEwmC4TC9TodH924zHY/F + NmV+gfK8kC9TFSEA+quD1H+iOF5LBvb+OT7oZYsXOgHcb44KPAMDUPLLpDICUALQatZxOpzsbm3SbbeI + xhPMLSzhtddq5YVF4okkhmkhSRIej4dsvkCuUJxJZ+NwMBz0adaOGQ0GDId9WvU67WYDwzDpthrc/fwG + teohpcoCXp8wAinMzZHJFzFMA78/MPMdDNka9slUmj/+q3+NpqjgcNBq1IkmhE9lv9dlPBrRbbeYTMZE + 40n2Hm+w83iDdC4v7LxlP/FUingiSfXoEGUymf3tORtgcxKqqtDtdGhUjzBNg16ng67rDPrCG/Dx+kNh + yJFMsftYWKflbDGQfLlCKptDmU4IhcKUKvNiIxKNkUylkGS/aIVsj8NiRfgvxNNpttcfcrCzTa/TRlVV + dF0nFImytf6Aw70dLr/6JplCgfFohKYqmKaQTovFE6LKsXEYLqfzq2Iavin/f0u80AmAZzj9LcsiXyzz + 5//m36EqCgD9fg9NVfEHg9SODoU9WKvJzuYGFhbN2vGsb01mskxGIyRZpjA3T3l+AZ8koWkq8USSTC4v + oKz2Om4w6CNJEpZpcrS/j6pMSaTSKIrC1qOHbG+uk8pkGfR7FMoV5haWCNu+etX9PXRdI1soEYpEiUSj + lOcXKM8vAAKZqEynjG3ascftRpmOGQ2HOJ0u+r0uvW4Hnyyj6zrv/f33qB0dcO7yVVYvXMLldjEeCBvv + ZDZDNBYnncmSzmRnVt2qMmVkW333ux3Gw6GA3IbCuFwuet0OR/u7TCZj2o0aX3z8C5ZXz5AtFNndeszS + 6hnmFhYZ9LrigY8Lg48TPANAMBCisrxCv9ul06yTLZbw26y/EwejnY11akdHNGpCk+D8lWssra7R74i/ + yeV2E47FSaXTyP7AbID7jPFN+f9b4kVPAE/d/yvTKcdHB/gkmVQ6g9PlmtFai3MVdF1DUzXarSaZQnHG + CzjY2SaeTOH1enl07w7HhwdEYnH+9F/9Ww52t9jb2sQn+1lePcPCymmGgwEul4tYPI7T6cLhdPCdP/9L + VFXBJ8moisLK2XPsbDzC6/MxHo2IxGJClMO0aNaq3PrsY9qNOl6fxPLqGS5ef43DnW0hnJkvkM7licbj + M81+h9PJuctXmV9awcLCgYPxeETINidJptMo0wmKMuVwd5tWo872xiMisRjzS6cEx386YW5xiXy5Qr/b + FbORQgGv1/cEb//MxctCn6/XpV2v4/F6aTfrRGIxJL+f/d1tHt65STQex+V0Uj3cxx8I4vV5CcfiyH4x + X1CUCT6fmGNkc3kczrOzz3jru3/KeDQkkUwLHIJhYFkmmqYRCAYZdHvc+MWHwrUICEeiXHv7XUrzizNV + 4meMbxLAb4kXGgj0LAzA4+oh7//Df6FerRKz3XDmFpcoLQhIr6pM8QdCBIPBmeyXqiozjrllWtRrx2ze + v8t0MubsK9e4/8UNbnz0IcFQmIvXXiVXKPPxz36CpqmkMqIzkSSZ+VOnKZTnZo44brcbh01sMXR99m+A + dqvJ9vrDmdvu3NIyhbl5/uFv/m9qR4dEYnGKc/Ocu3KVTrNJIp2m3+3OhDsctiR3MBiaDdSU6ZTRaDgz + +GzX66KliMdRplO2H61TP65y/e130XWdj3/6EyzLorK4zNzSMqlsDsu0xO7f78ftdtsOykLl56QdEm69 + LXrtFvF0GnWqUDs6mJmvnmAGxuMR2xvrTCcCX1CeXyCVyeMPBYTWfzzxhJ6irutoqsJ4PCYYDDGdTHi8 + /oB2o06v20HXNS5df4NsPv8EKvApwwCia8nA8Flf+HWIFzYB2AzALvBUU6J+t8OD27e48/mnArQj+zlz + SUgI3r/1BZPRiEQ6QzKdoVCeJ5nNiqTg9yMHgjNsvmkYWFh4vT5ajTr16hEej1f0warCvc8/Y9Droqoq + 3XaLQa+Hx+vh3OWrJDNZ9rY2xSovmyeZzZFMpdB0HUPXhXaAXWIDM4deVVV4/PAB3XYLTdOIRGMks1kO + d3ZwuVzc+OhDYvEEF6+9zo1f/Ayvz8er736HUX+AaRqU5ufxen3iIfR6n1i/TScTRsMBo+GQWDzO4d4e + D+/cZDIeA8z0CrY3HzHodW01XwgEQ3YlkiCdLxCxVYS/zEo8EQydTqcAmIaOoigc7Gzx4PZNhv0eiXSW + ZDqD1+ej02xiGDqr5y8iBwJMxxNCUaHxL8v+mboy/JIroNmzg5Pv9Rzl//21ZODM777s6xkvcgK4CHzx + tNef9LatZgPL1vGXJJndxxvc+fxTvF6hgqsoCtl8gUgszs1PPiKVybJ05iz1o0P6nc7MsNInCRVeSZJ/ + zXBzMhrNlH4Pd3Y42N2mWJknFI7w6N5dth49ZDQccOn66yydXuPBnZvsbT3m3OUrnL96XfT3w6EADPl8 + tu6AcMw58Qc07B37YNCnurdLKBrF6XTy2Yc/IxqLs3B6jfU7N2k1Gpy7fAVd1znc3Raee4kUxfkFotHY + r9GILVOU2ooipMZlWUbXDXY2HtJuNoXR6XCAoetoqkooEqFUWSBfrrC3tYmFADvNLYndfzQWw+v1ibmL + bYumqgqj4QjD0JFlP4auMR6P2dl8hNPhJJ5K027WGfR6M1GUUDiCJPtpN+vCjMTtJpFKk8zmCIUjeDwe + PB7P86wR//e1ZOB/eNYXfV3iRZ4BPL0CsK7bHvVdEvaw6GS3P7e4TCZfIBgSK7PRSAzSNE2lMFchlcki + STL16hGHe7vcu/U5pmESjkaZW1xm5dwF9rc2hVRWMEQ4FieTzc2swHOFEuevXJtBjbPFMstrZ2jWa5QX + l0TikWxZ70SCfrfLrU9+wf7ONiBOusWVVc6+chVlOsXQdCKJOJLPh8frI5FMkUqlZ21EIpWeUWs1VSWV + 7eAPhGg1jmk1GwLG7HSSymRJZ/MUK/OMh0OGgz5nLr0iEowDksn0E6ahMds4ZDwaoWsag0GPbquF0+nE + J8m43C5URaFWPcTpdOF2e6ge7HH5tTcB+OCH38ft9nDuyjVyhSKyXeI7XU78gYDAU+TymKaJoevEEgkG + gz7aVEVRJjNhlYOdbY72d9FUjcrSMsGdLSTZTyKdYXn1DLLf/6z30TcbgH8kXuQE8NQbgMl4xK1PPuLh + nZv4ZD9er9d2+S1w8dprRKIxDg/2cDqcRONxZNuqK/3dPwXErv7t7/4p7XaLzXt3adZrghwUDqOMBU5/ + PBoSDEUoLywyGY14/FBYXS+tniGWSM5O8kg0OtPvP/EHjP3Jn6EqqtC963XJFoq4PV6G/R6tRh3TFPLX + H/74vzLodUmkMkwmY2LxBOevXieRTNPrdnC5XaQzuZkyzsqZXw7WytMF1i5cYufxJlvrD5ADQbL5Av5g + kOrBHuPhiJ2NR2xvPqLbbpLJFZD8fkzDpDS/QGGuIuy+nC6CwSCZbJ5CaW62JTFNk0QqTatRR1M05KAf + CwtZlqkdVdnZfIRlWXglH4Nuh2a9RrfdIhAMMX/qNP5gEI/XQygUwR8IkEilidnQZWCWfBKZ7MyYNJ5K + 0Wu3mYxHeG2x0eeIbzQA/5F4kVuA2wghkN8Zk/GY/Z1t9rcfs7P5iOlkjKZpzC0s8e6f/QsOd3d47x++ + N+vNc8USCyurJJIpTMvE6XQJVR+Xa1Z6e+zSWdM0qocHDPs9LNMkEo9jmiaffvA+24/WCUUiROMJnE4X + kViMs5ev4nK7ONjeRvb7ydqAI0PXicZiyP4Auq6DPbAbDAZINkLu3hc3GA2H6LrOwc4WgWCIi9de4+hg + lxsffkAkHrf9ASPkiiWCoSg+WcIfDCLLfnySNKM9nzAITdOk027Neunq3i5H+7sc7u3idAq24fzyCoFQ + iOODfQzDwO324HK7SWdzZIpFkqkMpqFjWRbBcGT20J58zng0ZOvRuu0JGMQ0Dfa3t2g3G4QiUfzBAM3j + YybjEeWFJTL5Ai63h8WV09SPq9QO98kUSuTs7cyX42SweeJD+IwxRAwAvyEB/ZZ4IROAzQDs8pQkIF3T + wJbo6na76LqGqkyRJJloPMHmg/vc+vQj4TKjafgkidVzF4jE4jPnGYBkOkO2WALE8Cxgl66/GoZh0Kgf + s7PxiNFggD8QYDQc4vX5SGfz3L/1Ofdufk5l6RS5QpGtjXXGoyGXX32Di1evMxwKyrDH6yGeSOL1+p6w + zjrBGTgcDvx+PzubG2w9WsflctFpNXF7PCRSafq9ruAteLzIfj/lhSVOn7uAZZr0el0hJyZJeGz/wJOT + XJlOqFWrwsTE7RbIx3abdrOOpqoc7u7QrNeIxoVOgdvj4ZOfvsfpcxeYP3Wa3ccbRKIx5k+toCgKXo9H + AJwsC+yko9kCJYahM56MqR0IV+RQOMJ4PLKHsXP88Ht/K4ROFk9x+dXX8fokJpMRhq4TT6XJ5AozncTn + 4Bb8eC0Z+M6zvujrFC9qC/D0DEDL4mBvh6O9XSHTXSgSCoVxxxOYprDmXlw5Tb5cRrXdfyfDMaFoBFVR + 0DWNrqJQrx6JlZ3DyYPbX1CvHvHmH/0Jklyj3+vMPi8QDBOORUkm02RzBXRdx+VyzTQHh/0e3U5LUHiL + ZcbjIc16bQYfrh4esrP5iIOdLZwuF6+/+0ckMxmO9ncFUi4cJVcsEY3GUBQFl9vN8uoZFk+vYhqmGNCZ + wiar3+nS7TRpN5tMx+MZaWd7Y4MPfvx9gqEwC6dOo2kqkWgMfyiE7A8wGY9IZ3O43e4ZcSeeSFJZWsYw + dJbPnGM8GuJ0iP69cXxMOBojlc3RrB3zxUc/5+wrVwhGIty98SmS38/qhcso4zGj4YBQNEYimSJgr1wF + ajCDaRo4na4Z/8LldrF0eg2P3bJNxmPazQb7O9uYhk62UGLzwT0MXefCtdfI28n5GeKb8v93xIuaAJ56 + AGjoOqPBgN3Hm9y+8Qlut1DeCYUjBEIh3G438yuniSeSyLKfSCT6RClZnl9AVRT6/d6s/Dw62CUQChFN + JNjd3BCqPsMB7WaDaCzO3MISqxcv4XZ7ONjZxulyUppfJBgMIfn9XHtTQBdOnHiWVlbpdrtEo1FUTcPQ + NSa2cIgcCFCvHvHg1k2O9neJJZJceeNtatVDdh9vUpqbZ+X8xdlOPhKNzsg7mVweENWKYQgugsvlIhAO + sXrugjAscTho1moMez3C0RhHB3vsbKyTLZTQNI1kOs2ZS1dIJFNMbeKOLMnEYnFx4jocRGJxCuUysl9U + Oi6Xi4wNN/b6JEwbEn24u8vj9fuAgApXFpeIJVOU5xcIhSMzAZZoPD4b5p2/co21C5dwud1oqspoNKI4 + N49lga6LasTh8RCyjUyeMb4ZAP6OeFETwFMjAF1uN5XFZbxeib3tTRo10Wu6XC4GvS7j8cgGsbgYDfq4 + PR5iiST5ckVYeus6ks9HNBqbwUzf+eM/n9FbQ6Ewc0vL9Dsdqof7ACRTGVxuN+t3b/PpB+8j+wP0ba/B + E5KNx+MhnsoQSyYJhcLkiyWcDgc4HCSSKeaXVwALSZJpNhtcuPYauVJZsPUCQepHR6KqicXZ39rk1qcf + ky0UuXj9dUzDYNjvMZmMCQSDlOeXCIbDaKqKapmks7nZaTkZj5lbWp6BkgQiUkVVprTqx3g8HpTJlL3t + x+xtPWY46GOaJvFkikAoRCAYZG5hCX8giGEYBEKhmRW4YRi88Z3vousGLqeDQCiC7PdzuLdDs1YDYDQc + krRBUz/83v9Lv9vl3T/5FzQ8NQ53t1lYWSWeSNLrdZEkmVAoRCz+S9/ExdOrAM/r8PxNAvgd8aLOAA6Y + WUQ+W0wnE0ajIaZp0mu3mU7GqDY+fzQciN7UMMRNHQyyv/0Yh8NJoTzHwsoqqYwACLlcojf+crVw4ijs + dDoxdJ2DvR2q+3u43G6CoTCDXo/tjXVajRqGLh6WQrlCOCoIQOPRCKfLSaFUIZ5OC2872f9rgpiGLczR + a7WJJOIM+32++OhDCnMVssUSe483qdnMO8nv5/Vv/RFut4ftzXWwLFt7sEy+WMKwPfVOVH2Ebr/GdDql + 227NXIcbNfFA1qpHdFpNJEmmdnRAPJXm2pvv0m7W2dl8RCSWIJ3LIcv+mdaAy+V6AoDUatTptttIfhl/ + IEQ4EmHY7/PZz3+Gw+ng1JlzbK8/5NH9uyytniEcibD54D6mJcw/86U5ktnsb7Uxf8o4XEsGir/7sq93 + vHAJ4H5zlAWqX+U9TmC3pmliWRbKdEqzUcMyTTqtpoDY2u63tz79hMO9HfyBIN/9y7/GJ8tsbzwUrURU + CGzoui5QcbEE0+kEySfhs8vtL9+cpil69FazQbsuBmo+SWI6ndCsHXOwu42masQSSQB8Ph+vvPEWqUyW + R3fvYJiG7ZMXnzHicDjAslBsjwGnw0mr2aDbblM/OsBCnJJ7jzf5+Xs/QjmRDDtzjsuvvcnPf/wD3G43 + Z20Lro6tg+CTJBLJ1JO/mWUxHo8ZDHpoqsb+1ibReIJYMsWNn/+M3ccbBMPiYU5lsiTSmVmldAJmypXK + JGxugaooYmNgD2hN26TU6RTfoWXbgU9skNDh3g716hGhcIRCeY58eY7ltXNEbBDUM8b/s5YM/Nvnvom+ + JvEiJoC/Bv7mn+r9TdNE17VZSdlq1KkdHeLx+CjNz9NuNcWAzulEVRTu3/qC8XDIO3/y5wDsbG4QCIVm + a7ZAIGjbVIt1XMLWHzzBAAAoikK322bQ6aEoE8ajIQc72/gkmatvvcOw3+eH//k/zfbmsUSCytIpwtEY + 4+GQSCzO/PKp2cN0AgSyvvRAddot6tUq49GAyWhEOBrD4/Xx3j98D6/Px/W33sXt8fKD/+8/YhgmlaVl + FldWbRuvIaFwhGgiSSQWm3kbnnwGCLHV0WiEaZrsbz8mGAyhqiqdVpNBv8d4OMDldgtG4vmLbG9usPXw + PpF4fPZbx9MZ/IEAXo+HgG3HDgKdqKoqnU6LjXt3sSyLQDAkYMi53BO8h2eI/3ktGfhfvsq98nWIF3EG + 8PQSYM8RTqfziX4ykUrPTiyAfFHso03TZDwa2usnN/PLp+h2OnRaTaoH+zRqx8JwNBBkZN/8suynUJ4j + EouTn6tg6DqqqpJKZ8jmCmRzoqvRdZ0zF1/B4/HYLsVurr75Np1Wk26rNZvm72xusL2xPhuSDXodcDgI + BiNIAT/BUBiP242qqbhdLuYWFp9Q3TEMg1yhgKbrBAJB6sdVsoUSuq4RicVn3on16tFMzzBXLFFZPkU6 + l2fQ7THod8nki2QLBUKRKJZlkcnlRTuh60IpaDSk3WiiaQqFcgWHw0G31aR+fMR0OqFRO6bdbJDO5nG5 + nKLEtxmbfvs39PkksrkCmUzu96Ua9A0D8CniRawAfgR8+2muVRUFVVHwSsLq+5/CmltT1ZlAqGEYTCcT + Dvd26babxOICSFTd30VVFbGKMwyqB/usnr+IJMsc7u3yxnf+GJfbLZiG0wm5QoliZR7F1i2IfwkR92Xm + Xa16RK/dJpnNomkatYMDDBuQ43Q6CYbDjIZDjg8PGA36yP4ApfkForEkoViEUCiCx+vB7fbMbLeU6XQ2 + FxiNhrTrDVqNYzqtJoqiCPfeUhkcDn7x3o+oHR1y4ep1CuUKtaMDovEE569cZzwWWgKWJdCAwVB49tsL + 9qXCZDJmOplwfLBHv9djOh4z6PdIZXMMej363Q4gWIiJVIZrb75NIBRmd2sTXdMJRSJIsrARf8YwEBLg + k9/PXfCHGy9UAnhWBuD25gYPbn1u23QX8cmScI11ufC4Pf+syrUCaSf0Bjbv3yOWTOGTZDrNOivnLnJ8 + sMf7//XvmNrwYX8wyP7WYxLpDOX5RSzLIpJIEApHiNiqQV8WvzgxPDV0HU3X0DQNXdM42NkSTMJOm2BI + 2JRpqobL6cQwTTxeD5FIDNMy8Xi8JDJZErYHwZehtZZpoulCZdjtdtPrdQUycdCnsnSKTqvJxz99j6tv + vk0ynaV2JIxVet0O2XyBC9dew+P1Uj86xOFwCDnzRBKfrb4EImFrqlBAGo2GDPs9Oo0GvV6HSCTGmUuv + MBoNee/vvzdjEs4tLj5h4/aUcXMtGbj0Vf9Pvw7xorUAKzzlw29ZFv1Om40H9+z99ADTFFz8xnFVKASV + yhTKFaSAH4fDSSwexyfJMwut32dyODHwKPgD5IvlmTmIYSzjcXuwLJPX3vkO/z977xUrSZrl9/3CZWZk + pPfm5vW3bnnT1X5menp6x+yAKxqRAoUFJEHgAyFQEgVC4Au1hEiReltJAEXwhSAIiStIpMjFksvd0Y7r + 6WlvynS5W1XX+/TeZ0To4YvMvlVd1VNVbYfTB8jKrIzIjIi8cc537P8/HA7wB0KCDFNR6fd63L11g1az + IeCwYjFmF5epFgu0mg1SU9NEEwncbjFUpHu9mKYpUH81F+FIhLljx7FME13XUVSNcrHA/s4WBzvbqJpG + 8fCAUv4QgJmFY3h9BoqskMxMUcwLDsT01DSay0UoHEGSZYLBEC85sxIgynmpqWmSqTS1WpXhsE+30xGo + waZJv9fj9vWrXL8keAZ8/gAXX/wmC8snqDnVmMz0DIFgCFmSMHw+EskU1sLSZCx67AWdPHdhwuYUT2We + 5M/xtfv/iPJV8wD+GvBPH2Vf27Zp1Grsbm0wGg7xGn4a9eqEqrtSLOA1fISjMcrFPIqqcvbis7jcYm4+ + HI2LJJ7fRygcRfd6hWstSZ8Lcu24DXcs45Hi4WBAtVSk1+3S7bQJhiMY/gC3rl5ia32NWDxBIp1Bc7mY + WTyG5nJx+a036HW7nDz3FFOzsyiqwshhLHZ79IkimaZJu9mgXqtRq5QEs5DmclqIe0iSxNbaXZHANESH + 4NLJ0wTDUQ53t8lOzxKOx8V5hcL3TA+Ow6GO03Ph9Rqsrtxkc/UujVqFZqPBxRe+QTyd4fUf/4hGrcYP + /8pfpd/p0mrUBYPSaMTc8nFS6SzD4YBBv49HF/TgnzKU+y9Pxox//mm+4DdFvmoewCMnAM3RCLfHw8lz + FyY3yzjGXTxxika1RqfdpHC47xBdaILMs1bDHwxSK5fZWl/FMk3mlpa58PyLEwQafyBIMjuFz+f/GMDG + k8oYgmwsvkAAH6K7bQziOZ4HGA7F5ODc0jKyojLsi7hd93op5fNsrt6hVq0gSdBq1WnW66J8Fgwxt7Q8 + 6bILBEMYfj++QJCp6ZkJGemg32M0GtHtdpldPIZlWpRL+QlPwtbaHVaufUiv18Neucnu1gYXnn2B7Nwc + rXoDw+93GJBE1UOWZWzL4tS5C5w4e57RUMxiuHWd4WDIwvGTmKMR/kCQw90dCvt7HOzu0KjVBDBIu8PN + q5doNRtiijOTZfn0WUJHKgiPKV97AI8oXzUP4DJw/lH2Pdzf4+p776C5NDHaqnuJxBOEQqF7VvBBv0+9 + XsMcjSZZ7VA0ymg44u7N69y+/iHReJznv/1bfPDW69y5eQ2v4eO5b71MdnqWOzev4fbopLJTKIqKy+Mh + nkziNXyTzr7Pk3DTtixMy8KyxJReq1Fnd2uThtM5J8sy+zvb7O9sTToJdzfX6bTbPPvNb+PyuLl78wZe + w8fs4jHiqRTGAwybbduCaciyyB/s02m18Hh11u+s0KzVOX72PMN+j8LhAYqqojmQ3h7di2mOqBQLom04 + FCaaTBFyWonHgzzja2m1mk7ysUCr0SA3v0C72eTy22+IqkG3SygS5cXvfJfU1PQ9XYGPKHUg+vUE4KPJ + V8YA3Cy1daDJIw4BbW+s88sf/ym7W5t4dB23x8P5Z54nHEuQ39+l2+mQSKVIZLKEI1F0ryGm1eAeA7G5 + dldwBgSC3Lp6ie2NdQLBICfOPUW72eDd13+B6eDdtVtNwCY7M8epcxfRfV4a1Sout4dwLIbP55/c7J9n + 8nEcTgh0nwGdTod+r4dh+CgV8uxtb9Ko1Tj/3PPcuX6NK+++jaIq+IMhlo6fJBSNUswfoiiqg3gk4Q8E + iSZT6LqO1/BNzn+cb5AlmUajTqfdotvqMBz2Mc0REhK7W5vcuXGNjjNklMpOEY7GsCxLhC4LS3gNQec9 + xmIYX8cYb6BZr9FqtWjWaqLUmM1i+HxP4gH8+GTM+P5n+HP/By1fJQPwbeDVR91/0O9TLhW59aFADfMa + PjK5GTburHDp7TdxuV0EwwJ8cnZxiUg8webqHTJTM2RyOdrtNpIsEXZaWcdi2RaKIqbkOu02lXKJeqUs + btBmg621VbqdDheeewFV01j58CqNeg3D5+PMU8+QyGQ42Nmm026Tm1sgNzuLqmqCcFNRnmSm/YlkPCJd + KZeoFAr0e1163S7RRJLhoM/Ktas0G4L9Z+iwGhk+kTPJzc1z/PS5CcrRWMaNR5ZpYtkWo6FgJCrm8+T3 + dhj0+wTCYVRVxTIt1m7fwu3RmT+2TLNeF1iNXi8e3YvPYW8ejwwriqA8O1pOfEL5hydjxv/wqX683yD5 + KuUAHnkC0LYsLIdk81u/9YMJyq9pCq9PNwyCoQiWZdLtdAgEQwx6fQr7++i6F5fHzeW336RaLhGOxvAa + BoYz9JNIpqhVqxiGD8MnHrmZWXFc26aYP6RwsE8slRK02qbJ+p3b1ColZEWm02px68Mr7G5t8r3/yEDV + NDburFAqHOLxePEFAiQzWcFHnx8AACAASURBVGbmF7AsG0kCt7MKy7LypMCXH5OxoUkkU8QTSSzLwjJN + JFlmNBwSjsWpV6tUy0UG/T6dVsvxcMQA0YMSoeM+i3GScbw6+wNB5haXPsrFWBb9fp9IPIHmdiFLoqvS + 7oocTbPRoNNqMRwNWb99i3qthiTB7MIxIvE4wXCUYDhMPJl6Ek/q6/j/MeSrZAAeGQKs1Wry4fvvUsrn + icTjGD4/utdLMBIlnkwJhT1CVAkCNswfCuHz+RmZI6bnF3B7dHY21uh2OsRTKTGO2mjw1qs/RXO5iMTi + ZGdmyc7MUSkUUBSVqdkZwpHoxOhkpqY5ce4pQSASidLtdrAsi5PnGxw7dYZyXiALFw73nSm8PmcuPoPu + Nbj63tsoiko8lRIGzZlSNHzGkyLgPFDGCcixMqmqSkrPkspkJ5Ri/X6fnsMi7Ha5J+3Gj3OMyWtZxqPr + 5GbnAGE4Q5EIw4EYhe45DVAtxxDIssBT0A2DalkgLQ8H2Qn0+mPK1xOAjyFfJQPwyBWA0WhEp93iYG9b + hACShCIrLJ06zSs//B3yB3tc++A9XG4P6ewU8XSGaDx+Dx9gNBan1+2ys7HBYNATPetuD91Om0xumma9 + Lsp2ts3e1gaX3nqDZr3G7OIxQpEoiqoST6aZWVjE5/MxGAwYDod4DR+nzj81UQhd19F9v0272aLTatCo + idZazeWi1WwwGo1o1GsUDvZIZkSisdtts357ZdIL7/EYBMIhfP4Aqqricrs/s8SjoijghCb3TyV+ViJJ + ksD0c7mxbRs/gG0TicZIZ7P0en0sy8TtctNsNhgM+hOGoseUjZMxo/jZX8F/uPKVyAE87gTgaDik1+1S + rZTZXL0j2k47HabnFzh++ixv/OzHvP/mLwVIpctFLJnm3DPPEghHGPb6yKqK2+MmEBQeAYhkl+IQe4yG + otMOW7Spttstbl+7ysr1D5ElmUAoRK/bIRyLs7B8koOdLdZu3yI9lSM1laNcEECfJ85eYGpm9h5PZFzq + M02TSrlEv9ul4YBoivJjlg/ff5frl94nFIlimiN8/iCZ6WmskXDh/cEghs9PLJkikUpPiE8URZ2AgIyT + a59nheIrKP/PyZjxn37ZJ/HrJF8VD+CR3X/LsqjXqgxHQ+LJ1KS+bR9psjn11NNE4wnarSaddlvwBKga + tVKJWqVMq9mk22mTnZ4hmc0JNt56nePnzhMOR514XPT/qw5m3tMvfot5B5xCVTVazYagwOr12NvepN/r + 4XJ7yO/tcePKB3TabXSvwaDfp3i4T71WQ/d6OXn+KQKBIO12G4/bjd/vZ2p6ZkJ3ZY5GXHj+RY6fOc9w + MKBeLaMo4s9ULuZpVCsc7u2gaS5Onn+KWCLJztYGa7duTkg8NJeG4WTyXS4Bdvol0nJ/kfJ1/P+Y8lUx + AI+cABwOBmzevcPa7VvohkEkFicUieL1Cfgv3TAEln4iKQg2TJPRaIQsy/R7XdqdNs1qnXIpTyAYwnT6 + ASzTZOHEKS69/Qb5g31Mc8SgPyCRSpOeyjG3dIx4IkWjXkdVZGLzi5Pz8f65v4Db48HrNahWyqSnclTL + JWYWlmg3G7QaDe7cuIbXMJieX+Bwd4eNu7dp1Kok01lOP/0M9UqVdrNBLJkilc2iJbUJwKYgPbEYDoa0 + 2y3K+UOGwyHp3DSyLNOoVMjv7zIY9Om0W9SrVYKhEIFQmEatOiEolRUZwx8gkUzjezKIra+6fB3/P6Z8 + VQzAI3sAiqIQjsfxHeyxs7nBnRvX8Og60bgAp9BcLpZPnxHufn+AqqmEIzH8wSAutxt/MEQqnWWJkw61 + VYdveX6I2+3B5/fTbojYv1TIT9iD/cEgtVqNa5fe5+bVy0TjCY6fOUcgHMYyRfJKlmQsS8BxJVNpLMft + N0cjstMzTM3Oi4RfMk2n1UJVVQaDgRilLRR48+c/oXh4wMlzTzG7uEQxf0goEmHh+EncbjfmSEwB+v1+ + ItHYPUm6Y6fOkJrKIckyzXrdafTRkGWFrfU1SvkDVldu0WrUmV8+wbPfeplSqUC1VGQ4GExwFI2AH93j + nYB5fp6t0Z+DDIArX/ZJ/LrJlx4gOhOAZSD4q/Y9Ku1Wi2LhcFLj9ni9HOxsY1mWoAPf2xPItooi0HGX + llE1TbT6BoPEkmmisRge3TuJk4+2FHfabWrVMiDhNXzYtsX1S++zdvvWZG6+1+2yv7NNr9vB7fEIWPHs + FMFIFM3lxrYsPLouFNbJ6FuWNckx9LqdyfXcuHKJWrlEziEeefeXr3L6wtPMHz/J7uY61VKJWqVEKBLj + 6W++hO71Us4XUDRlwhUwTrKNpdftUsgf0Gk2BUV3uUQykyE9PcP+1ha7m+uUCnn6vR6ReJxWo0F2epZT + Tz0tKiLNOoY/QCgSRdM0QWX2ZK25X4R8cDJmPP1ln8Svm3wVPIBlHkP5y8UCg8EAn9/PVG6GWccVBzh9 + XlBflUtFPB4B+Jnf3xOoN+0Wg16Pq++/w3AwIJmd4uXf/h1cbhfVUgmvz4cvEHQouQSefjY3c8+xn/3m + tzlz8aNiRb0qMPWKh4fUaxVajQYlLU+pkKdRq1EuCnrtTG4Gf0Cg7EwvLBGJxug1G8iKgsej43K7eel7 + vz1R3lq1Sjo3QyAUEkCcPj/tZsMJZ4Z0Wy1uX7/KlXfeRpYl/MEQJ89dYOHEKXbWVtENg0QmSzQWZ2Zu + AfgIdUdx8ho+w09qKkcpf0itIkBIGrUaqqrSa3d4741fcLC7TTSexOV2EY7GSE9No2oabreO12/cQ+r5 + FUg2fu3+P4F8FQzAI5f/Bv0+N65cYuXaVQLBELFEkumFJTSXC1XT0L1efD4/8URS5ACAbrczIcHs9cSA + yuHeLj6/n0AoRH5vl621VUGgoWkc7u/S63Z5/tuCT6JSzJPMTolWYsDrNdANL7IzXjy7sMRoNKJeq4p6 + tjmi2WxwuLuDoqpYpkmtUuL29Q9JpDNMzc2zdnuF917/BeZoOCG/SE/P4PP7hcIbBnMOki8IwJBBv0ej + UUeWFXRdp9NpM39smU67JfoLBgN2N9b5yb//I8LRGC9+57v0e12uvf8eAMlslsXjJ5FHI+rdDh7dSzqT + JZ2dEkChgwFnnn4Ww/AxGg2ZXz5OIiVoyHY219E0F4XDfVGjHwq8AV8gwIlzF5hdWOLwYI9aqYw/FERz + uZFlGa/Xi8slEIrGpCefo3ydAHwC+SoYgEeO/0E0sTQbdWqVMoNBH8sWQJ+VYpFYMsXC8onJfHkyO/UR + tp1lCcPw3R+IjL3LJRpWPDqReALbtqmWimyu3cXt0Z0wYofN1bus3V4RiDtOh6EkSxg+P/5gkFQ2RzAU + JhyJYjmdiNF4gtzM3EfMOO02hYN9dMMgFktQL1ewbZtut8Pm6l3y+3u0Wg2GgyH5/V2Onz7H7LHlyQCQ + 7vAdjiHFAM5efIZT559iOBgwHPSRFZVatcyLL/8WXp+fRCbLxu0Vrr7/DprmYjDoUy4UONzbpdWs4zV8 + gkA0nSWdE0M3brebXq+Lrnt5/qXvAKJsWa9VURWFZrNJq9GgXilTKRVxud14dC+j0YjVmzdYv7NCPJmi + 3Wox6PdIT03jCwQIhCLEkskJU9HnFEZ8bQCeQL50v+1mqf0+j1gFsG2bVrNBfm8P07IIhsMM+n2uX3qP + /Z1tlk6cwh8MsXLtKsNBn0Qmy6AnMuPZmVmWTgoyTcsyURSV4XBIMBjE8H+UER/0+yiqgqa5JjH+6spN + AQEWjQnIr51tJFkWJBw+P4qicOzUGYaDAd1uh1Pnn8LlNLXIsoxh+O5Bxhk3//S6XWrlEsPBgEA4wtqt + GxQO9zn79HPYtsXB7g6KoqJ7vbg9OuFYHMs06XVE/77mchNPpfH5A3i93o8l61qNBtVqBduyUFSVciHP + 9rrgTmg1GmgujWg8yeLxE5O5hk6nzYmz58k6BmwMdAof5UjGWADYNobfj23brN+5TTF/ALbN9vqaMBqa + hmWa5ObmkSWZXq+H7hVJxkAozNzSMTy6l2a9huRgNY75Ch9TKidjxmPjhn0tX7IBeNwJwIdJo1ZFkmUM + n59up0P+YJ9eRyDYtptNKqUCiVSGYDgiSCsKeSynPCiYekWCLjszhz8o0hGqqgkX1u1mNBwyGg0d9poh + tWqFfq/LoNenmD9gZ2ON2cVjmKZJo1bjuW9/h8PdHd557efYts3y6bPEEklqlTLhaJxkVvDdHZ26A2f0 + 1xR0Zt1Om1q1KoxKp43lNBDtbK6zfuc2vW6HYFiEIC6Ph2AojOEP4PHq6LoXWVHxeATF+Hi+wDRNRsMh + nU6HdqtBv9sDIBAOUykWeee1n9Ftt53R3z5X3nubb7zyPVJT07QbdVoOr0IskWR2cQmP7qXX7Tgw4wIm + fTDo0+926XQ6VIoFRqMhmuameLhPrSryJMPhgJmFJZ771ss06jXef+M1LMsmlkySnZmbzF48hvzoZMz4 + 4ae5h35T5csOAS7yKZUfuIfA0/D5mFtYFBj0jkINBn1UVcMcjUQXoK7TqFVpNRoMBgNBGtJssn77FqPR + aEKTffrCReaXT9DrddE0DY/uRdd1MlO5yWo4v7zM8plzaJqL4XAg6LuCIUqHh3h0HVlWwLZZuXaVnc0N + kpkMnusCsCMSjxNPpomn0wz6fSRZfFbTXPiDoo4/zgPYts1oNCSWShNPpWm3WoLvz+enlD9ge2ONerWK + 20lidtotXG4P0/MLpHMzE2zATqeNpqpMTc/e8xtGY3GiiQSj0RC/P8jW2l1arSZzy8c52NmmUiyytXaX + aqXMzPwius/H4e4OOxsCQj0ci7F8+izxZApVcxEIahPqsjE/42g0pN1u0+108BoGbo+HUVkgIPe6Haql + Itn7zusR5Wv3/wnly/YA/hbw+1/0cccz7r1Oh+FoRK1cpuXMujcbdUr5PF3HFfboXt569SfIssL0/OKE + 4DKTy+EPhLBtiKWSH0OuHQ2HdDvtiQIXDg6oVcuMRiOBwNvtYts26dw0oXCU1ZUbNGpVpmbniSdTuHVd + KJOqUsznkWSZeCKJR9c/dj2C+KRArVzCHI0o5g852N1BliXC0RitZhNFUfAHgxzs7hAMRQjHRC/B9MIi + hi9Ap90iGosLujQnhzKWTrtFqyX6FZqNGj5/gEA4wuW332T9zsqEjOSl7/+Q5NQUt65cwjQtnn9ZgDuP + RkOwBW7i/dyM45Jru93CMk0isdiT5Ah+eDJm/OhxP/S1fPkewGMlAD+r3vbxZNz4RjvKkAOiu6/VaqIq + CuVyiUhM0HiFo1H2tjbZ295ke2ONSCxGtVxibuk433zle3h9vsn5qZqGLxCc/N/wByb8fP1el+Fw6HD7 + BRgO+kRKcbrO6njgVBCC4Qibq3f46R//EYqq8fSL3yQ3v8BoNKJVq+HxGiQzGYGpn8neM+wkeg0GE8LN + bqdDtVhgNBShTH5vl67Th9BuNdnf2Wb59FncbjftVou5Y8tEojHMkYnL4yYaiwsQT4cFGcD/vR9w4fkX + aDWatBp1srOzDPsDysUiqqoyGg65e/M61VKRcqmIORrx3Esvk8xMUSkW6Xbb+HxBIok40Vj804CofM0C + /ITyZXsA68Dco+xbKhYmFOD+YHDSo69pTsLI4ab/rEpN45V7NBxOym8ej5tmo8Hu5saEGKTdahGORjn/ + zPP3wGw/iXQ7bSzLptcT3kEoFGb97h0uv/MGvU6H7MwcXsNgf2eb4uEBubkFwtEorYYgPV06eRrN5aJR + reIPhYglEvespuMmpHFmv91s4vJ4WF+5KeC9s1Pcvv4h3U6HF15+BUmSaTXquHUdXTcwAoFJXmQ4HE6G + rY4y94xGI2rVioBP0zS21lcpF/Ic7u1imibnn32BWrXM+2+8RqvZxOVyk5ud47lvv0IskcBrPPZE4urJ + mLH0qX7432D50gzA404A3rx6mV/++EfY2ISjMQxfgOVTZwmEQ/R7AuQyEApNaK0+78aUbqeNqmqTWv9R + DP/PUmzLotvt0Ol0JlN/hf19mvUasWSKSqnI+p0VhoMB3/ytH7C5eocr775FPJVmdvGYoC0PBMS0oKpN + qLk0l3tCOT4Y9MEWWf69nS0AguEIhf19Ws0GvW5HAIE4jUv5/T32drYYDYcCAmwqRyItEpsuj1uwJysi + 93G0MjHmamzUa+xurlPMH1ItlfAFgmKwKZ6YAJo+hvyfJ2PGf/7Z/eK/WfJlhgCP3ABk2zbBSITc3LwA + qazXMUcjOu0mO5trrFy7KjjrM1kC4TDTc4uEolEatRrBcJhgMDSB5P60q/RYxo1BwJMQVz6ySLKM1/A5 + 7ciCwDOZymBjo6oa7VaT+eUT9Hs9orE41XKR6XlBNFIqHGL4/VRKBW5f/xDLsiYswX6nkSocjZPJ5fAa + PgaDPtNzC5PrCYUjzuh1BySJwWBAr9ul2aijOgbPo3vpttvsO8SewXCEuWPLjIYjVE1UOsbdgoJmTSEc + iRKORCcNSOMZjicMAb52/z+FfJkewD8A/s7jfGbQ71MqFpAVUTOWJJlrH7zL2u1bgk1X07Btm+z0LKPR + kOuX3uf0hadJZLOs3riOaZqCbNIfwuMVlFMeXbQMq6qK7JTLvgJtrU8s41Jfr9vFtEzcbg/1WpWd9TVq + 1QqVYmECCy5JErFEktz8Al7Dz876KprbTTSeEMNFiC5EgF6vh6ZpqJrGoN+n1+1gWjZut4vhYEir1WD9 + 9gqBYAh/KMTu5obwjBQFRVUJhMJiJLtSotNpY1s2yUyWSDyBPxBA01wTj+Qx5bmTMePrKsATypdpAP4M + +N6j7Nvrdtnf3cYyLULRKG6HUFOSZAfK2sSjexkOhwwGA1RF0E8f7GyTzk0zGgy58t7bFPOH9J2S3rhr + MBJPsrl6m2AoQjAcIRAKiTFh05zkGX7dZZJ87PfFTES/R6veoN1s4PK48QVCdFpNbn14hVqlTDIj4LgG + gwEXnn2eve1t3n39VVLZKc5cfJZwJIptW2LMWpIx/P7JcUBUJeq1Kr1el0G3z2DQQ5ZlivlDblz+gFaz + 4YCFHkdRFYKhMKmp6XtwBR9RukDoZMwYfOY/2m+I/FqEAJVyifdff41ysYCiqnh00eyyePIUZy48Tbfb + YX93G4/uJRSO4NF1hwxj1mneGRAIh8nv77J2ewVzNCIci6F7DSrFPHduXMMyRWfh0onT6IaXuzdvoGoa + c0vHMPyCpNIwfPgCAqpKzOjb4vUYbvwr6jlIkoTqrN5j2K8xSOg4cdrvdQnH4oJRyeenVa8RiniQFZXd + zXXW76xQr1bxOO58fl9MW8ZTaVKZKTTNje7zEgpFcHncJFLpj/0ec90uc0vL1Col0eLs81EtFbEtG7fn + ifI2175W/k8nX4oBuFlqP9YEoM/nY+nkKbzbfna31mnWa1RKovd/OBzy7i9/wZV338Lw+4klUkzNzjG7 + dAzD8GE72PRjGvD5YyfQXILyW5IkqpUyPn+QbreNx6MTisYo7O9RLZcoFfLs72zh84tTnVlYZH75BNVS + kUqpSDyZIhAO02m2UV0aqUwGjy6SWF9VYzAW2RnQGcs4z5CZygGiFDqGSDtx/gLRRGIymdhpCVovCQlz + NGJ/Z5vCwR6SJLNw/ASKopKZniESjbG5epdet0N2do5INEZudm4CFgqImQkHFvwJ5C0+Py/W/tW7/PrL + l+UBPFb9PxAKc+G5Fzn79HOUS0WGgz7D4ZBwOIrqeATxVNqB3zqg7wy0WLZFo1abZKMzuRmiiSTNZp3h + YEg8kSQSjX2sDyAWTxCOxdm4e1vMwbs91KoVAsEQ1VKRN3/+E+qVCifOXUBRFVZv3UTVNL79/R+SyGTp + 97qT+nk4HP21DCOO9uNnczNksjlMhw9g2B+Qm1/Asi0kJNqtFm63W3APulwU9vfJzs5SKhb42Z/8WwoH + +5x/9gVmF5eQZJlOu4WENCELlSTwOtiMjyOmab79WV7zffJlW/CxAZL4HI3Rl2UAHhkCrN1ssrpyk9Fw + SDSZJBAKE4kIMg/TQe19/tuvcPGFb9Ltdmg1Gli2RTgcoVatYlu2wAGsVpxZgRZX33sXVVV58ZXv0Wm1 + 6HbbyJKMrMiEIjFC4TCZqRzZ6ZlJZrrfE3Fso17jxNnzKIpCIpWhcLgvQEI7oqlm8+5tDnZ32F5fJRyN + 8crv/AUGvT6l/CGDQZ9oLEkml6PX72HbNh6HkEOS5a90KCHJMuoRPoBx3A+iVJmZyk14GZKZKWKxBJVy + ifnlE4QiAue/3WpOCF0Nn59mvUa71cLw+3np+7/N496OvW73El++osLno6DSQ17/Knmsc/nKewCtVpNr + DhKPPxBkfvk4qUyW4WCAZdtipDWTFVNzutdJUImOwUAoTCKVptvtMuj38Hq9NBoN4smUiOVVhb3tTYeo + skqtUmZqdo7lU2eZWz5Oq9HgcHebUCTK9NyCyAP4/Lzw7Vcm7azT8wucOn+Rbq9DKBShXBJ5il5HoAar + qsbdtets3L1NrVxmdnEJy7a48u6bDPoDlk6cJDe/wHAwwOP1EonEJj0Fvy4ViTEPwFjGeYZ4MsUrP/wd + RqPhpMGp0xaw65rLJSoJponPqQI8phSfmU2uA49ag/08XfqjfySbz2/VfpTvfNAN89DPfeF3lzMBWAMe + 6S8+GPS5+t473L15Hc3lJpnJMhoNuXX1Mt1Oh1MXLuL1Ghzs7RKJxYgnU/T7fVRVJTM9SyKZmozuwkcT + d6qmYZom1UqZbqdDOX9IqZDH7fGQm5tHUTXe+cXPWLl2lezMLMdPnwWgXq3i8rgxDD/hWJxIPC44AVUV + yxbowxLQ7/eRFRlZkikVC1SKBWqVMj5/AI/X4LU/+xP6vS6nHBSjlWtXOXn+KY6dOkOjVqPbbgm+P7+f + 6bl5/E4vg21ZXxi92Gct4z6GsecmKMEHuNyue/oqHvG7/uRU3PeXHrSJj9/Xn1YpP83nHnQun/exH/aZ + j73/hXsAtm2flyTpkc29pmo89fw3OH3hIoqqoigqjXodXfeiqCrZmVnK+TzF/CGD/oC97W0atSqddguA + dqNJMb8/SXi5dV1MnEkSusdDOBIlEo0JaG7bFn8xSaLX7XL26efI5KZxe3SBwVcsUCkVqFUqmKZJLJEk + kc6gewUoRq/bwecPkJmZxe8PICsqXq+XVEaw8IxlMOjj0f+ymLwLhtjf2pyU3rqdDuu3b3K4v0elVGRq + ZhbDH2Dtzgpbq3dRNZcYm52eJZFK02w2HJJPD7rXO1Gyz5u1+ElEctiUx6GEQHF6PMUfy2DQ/4BHX/0f + Jp+3Mj5o/4f9UR723Y+z/9G8wYP2k+5/7wu/Q64Xmn8T+N/uoZJ6yI3a63a5fvl9Bv0+uflFdK8XRVFw + u92iN99xO8cAFZY5otvr0e/1aNVrhGNxmrU6G6sr1Mplup02o9GITG6a/Z1tguEIqewUsiyjGwYej05q + ahq/34+sKIL33onLLcsSU3FjgE3H1RdAF10O93Yd6CwNfzBEr9sllZ3ixVe+R6/bYWd9DZfLTSgaIxAO + EwyFJiCeY+LQ8TWPG3bKxQLhaIxQNMqVd97m1tXLmOYIr+HjwvMv4vP7ufT2myQzWU5ffIZwOEqpkJ+Q + h0Rj8V+bMOJxJX948Oe/c3rx50feOrrKP+pq/0n73L96f5LCPekxnmT/X7W637/dfshrAPvL8AC+6Tzf + g8L7IIPQ7/XY2Vhn4+4dCocHAnbLaeltt1r4AwFy84uEozFURXDpxZ0JPNuyxAhtMkUyk6ZSKdNpNiee + Qb1Wo91ssLZyk3pVeAxew8fzL7+CR/eyv70lcgXBELrXiz8YxB8I4vMHSGenJuc6nrqrVavUKxWGwz61 + SoX9nS2i8QS67uXW1cu8+/ovANA0F8lMhqUTp5FkiW67zcziMWIOLJmqqiTTGZLpzORaAYLfD3H64tPU + y2X6vR6JTIb83h6DwQBzZCJLMjeufMC7v3wV3WuwdOo0qcwUnXaLQb+PLxDEFwhi+Hx4DWPiQR39vX+d + 5A//4P+4woM92EdVuM9SoT+t0n7aYx41Vp9kCO43jF/8X/7qQa0gQXx86Id5ApIkCVTfgz0qBYGuOxwO + 6XU65A/22Fy9K3D+UmkURaHdbpHO5phZWGTQ7+PxGoSjUTSXi1A48rGbfDyv32q1aNUbVMtFLNsikc6y + efc2b/78J8SSSVKZKQ73d9E0F3NLyyiKILI8dvosgWBwkrwyTRO32y2Uyrbp9XqCWUjTyB/ss72+SrNe + p3IEKXjt9i1q1QrPv/QyHt1LvVbF49ExfAF0n5eAY8zGMb+iqvdM97VbLZrNOm63juEzuHX1CivXr+I1 + fMQSScrFAht379CoVUUPfjRGOjfNwvIJPLpXQHgBmdwM8WQScyRyI/eXLb9qBsI0zdUzycDziBv66E39 + sJX/Yds/abV82Hcc/f+DjvckxuBRP/Moq/vRZ/sT3ge+4BDg8l4lJcHB/covif/c8x4ImqwxrdXYIFiW + SbvVolap0G7WabcEb1+1XCKVzTkc9hahSFTs02oSikS5+OK38AUCVAoCpirq9ADcPzlo2zaH+3vsrK/h + CwTQDR9bq3fYXL07gdQ2TZP5Y8sEQmF0r0F+XyALh6MxMrlpUrlpIpEozWYTTVXxBQITEJJ+rwe27XTY + bQiKstk5aqUyh/s7SA4b0BgyrJg/4HBvD8syCYbCzCwsEghFCEYi+Hx+ZEUWRsjpdRhDilmWSa1apVIo + UCocUq9WAfD5/eTmFyjs7/HmzwUL8rlnnkNVVfZ3trnw3IsO4YkpugUtC6/hIxAMfpp5/c9UGvX6//uN + 5Zn/VlZU2RwNAbDM0ZMo9q/a71GV9UGr8ZMe82Hf+Siv71f4Bz2ObvtiDcAHO6VvSvBLJOmBSn/UIJiW + xY3LH3C4v0smN43u9TmdfglnEEjsOxqNqJSKYpW0be7euiEQb1Np9rY2WL11k7u3bvCDv/iXsUyT9974 + uITCOgAAIABJREFUJc16jbmlZZ75xku0mgKjLpmZwuvzYVkWhuFz4LzkCZZesXAoav2ShKKoyLKEoqqY + oxEfvvcOt29co9fpkMrmeOE736VZr/LOaz8nEIowf2yZ7OwcwVAEWZLQDS+DXh+Xxz1Z0S3LYjgYCMy+ + bofRcEi/12Xz7h1WV24yHAxIT+WIJVOi18ESNXfD58eje7GxBVR6Ko3fL0qcqio8B9u2Mc0RtiWeVVWj + XCpy68PLKLJCdnqW1ZWb3LjyAX/xd/8LysU8zXqdw70det0us4vHOPfs84yGQ+rVqoAEDwUJBILoXuOj + UM4Juz5v+fkbl976t3/yk3+5c+3dq8N+z7RtyxoN+sNOo9ou7a21jhiDTzIKD3r/SQ3C43gDjxOjf9I+ + n7Ti3/+wHvAegP2FGoD3tgq/LUnSn8LHV//7DUKv1+W911/jA4fld5ywO376HL1eh2qphEf3ksxOEY3H + MXz+SdJOkgS5p21ZtFpNNu7cJje/SLNe491fvoppjkimsxw/d55Lb77O+p0VPLpXrNKjEfFkiuNnz5HO + zTAcCJy/cCT6QJyBMbhGt9N2CEb8JFNprr7/Drc+vMKg3ycci3P6wkX6TlhQLZeoV6ucunARt8dDo1Yl + NZXDHwiIDkK3ezJjMBwOaDWbjEYjPG43tg2lQp6D3W2q5RKSJNOoVRyAEj+52Xk0twtd9+IPBKnXqgRC + IeKpDC63m2AoPFnJx0zFkiRRKhaoVypMzcyyvb5OtVJkZ2OddqvJzPwiuflF3vjpn00SncFwhG999wdE + 4gnye7tIssTi8ZOTvIJlWsiKjKpqn/m49P/yj/45u3si2am6PT1Z02qyohRMc3Rz2O/eqh3urh7cvrpn + jobDYb87aNeLnWal2D/yFY+q6L/KODwspHhcQ/CrjMCDVvqHvb5f8S0+wQh8oQbgnY3DvyLBvzqq8A97 + xrZpNpsOVPYBbo+HaDyBR9e58u7b7G5uEIpGCYXDROJJZhePMRoNaTUaTM8v4PP5abdb6LqO7jUmcXS7 + 2RRIQk6ra8GByK5Xy5QLBZr1GjubG4SjUc5efJb1Oysc7u3iD4aIxuOcuvA0/W6PYl7g/C8un8DwB0TC + zhkOQpImOYZOt4Nt2RiGQb1ex3TGlLudDuefeYEPP3iHw70dvvHK99FcLvZ3tshOzxJLpuh1u2guF4Fg + 6GOw3yMHUmzQ71OvVSkX8siygixL1CoVJEmiXCyQ398jEotjWSaa5uL42XOCZLTVZHZpGU3TGI0EsIfL + oTPDoRbv97piDFjVsCyTu7ducrC7TaNWQ1EVLr7wLbqdFq/92Y+IJpK8/MM/R35XQI112i3cbg/zyycm + JC2mMx78afoYhsMh//3f/p+xLAtZUZE1TTyrqjBmioLqcqN6dEtWlLyNvWvZ1s6o31ttFPfX19599Vaz + eNDu91rDfqc9Gg56pvPVD1tZecD/P41Cf5Kx+SQP4GGG5mGr/dHno4bgnscXWgWwLMv1qxT/qAHwGgbn + nn5W/N9Z1VutJq1mk/ljy3gNH51Oe0KUeffmDVqNOl7Dy9rKTVauXUXVNCKxBG6Ph0Q6zcLyCbrdDtVK + GY/HQyQSJZFMTc6x1+2ytb6GORLsu4bPj6pp7GysozqThTtba1x++01CkSjhaIydzQ12tzYwRyP8wRD+ + QJDs7JzjNXgmYBeBUFiEGP4AsizjDwRotepkZ2ZJ56bZ3dygcLCP26PT7XS4efUy3U4bt9tNbn6BZDpL + LJnC5XbTajZJptP4A0Ex5LS0PLmGMfdgpVyi1+kwGo3Y297AGgmsgBtXLmGZAo134+5t3B4PF5//Jqrb + hWVaeH3GhMsgEAwBIEsSTz3/IuboWfr9PuZoiNfwUamUOXPxGZFoRaJWKXO4v8ve1hZen0EgFOJgZ5uV + a1ewLJtgOEx2epa5Y8cxfMZjA4Bu7xxgSxKyMw5uWxYWQ7AtbEVBtm1M4aXJisudVjQt7XLpz3i8foKJ + LLMXvgGSVLQtc280HG73WrVbrUphq7Cxsnnp3/3BjmWZn6Rs9793vzws6fawfT/pez9p+/2u/FFll5zn + Bx37Y+9/oR7A63d2fhdJ+oOxksufYAD2Nje5cfUDMYIbDOHxeARSbipN8AgM+NE6d7lYwLZtDMPHwe4O + O5vr7GysUzjcx2sYJDNZzlx8lv3tLQ52d/AHAsRTaXLzi6KS0GwSicc/RoTxUbbdg8/n5/Bgn92NNfzB + EOncNNc/eI9rl96j1+0yGg7xB4M899J3cHs83L5+jWQ6g+EPIMkSqWyOVCY7geI6qgCDQZ9GvY4sy/S6 + XdZu3SB/sO8g/MqCWmxmFpfbw9X33+Hi899AkmVKhUPiyRShSAxZUdBcrnvmJWRZFkk928IcjdhaW0NW + FHTD4Oq7b+P1GcwfO05+b49+v4dtWeheAdtt+AP0Om1arSYAgWCISCJBMBjG5XYjj8M2JwHZabdot1uU + Dg/RXG6iiQSbd29z/dIH1GsV+r2eyL988yVSmakHohx/kvzs1bf4o3/3E6epSEaSJWRZQVIUZEVF0TRk + VRMewdgzUFUUVRPbNJezj9guyTKSLBLN5nCw8cEf/4u/9d6/+WcbfNzFf9Sw4P7Xj2tMHuV4n7TqP+hh + 8pBw4As1AK+tbP15JOmPHqb0Rw3CzSuXeP/NXzpw3WJU1wj4efHl77J8+ixX33uHWqVELJUmEk0Qicfx + BwLCIDhXZ45GVMol9re3MHw+NJebQDjM7WtX2V5fxRyNiMQTzB87zs7GOrc+vEw4GiM7M4fPL5Jr6dw0 + qXQG0zTpdjtomguPrk9yDbZlUS6XaNRq9DptyoU8mstFdnaetVs3uHbpfQyfTyD0mCbnnnmOqdk5djc3 + aNRqpLNT+ENhdMMgEo3h9ngmcbkkSXQ7bXY2N7FMk1A0iqwodFpN1lZuEYnHKezvc+vaFQetx4UsywRD + Yc49+wL9bodGvUYkFscXCOL1+fB6vWiaC83lmhCQuBzykGKxwHDQp9vuYDqdjbIic+PKZXY21pBlmez0 + LNFEgnA0RqfdJhKNMT2/gGnZuDQNt67fQ10OTAxDo16nUa1MrtXwBx67svDP/vm/4uq120iyhCQJl1+4 + /mNFV4WSjxVe1VA08d5HocLYYChHDID4Phu7s3317f/pj3//b//EtqxPir2PPh/dR3rIvg/6nvvff5Rj + Wfftc3+sP1b2+5/vDwUsvmgD8PMb669IkvTT+5V/3CJ69L1et0u9UuFwb4f8/h6WNULTXJy5+Bwew8sf + /9//gsO9XQyfn2AkwvzSMnPHTmDZFpY5wuP1onsNAgGBIDyOnyUH226M2a9qGrIkseGsUuViHr9DzjHo + 9zj79LP4/AEuvf0GlmVx4ux54epWK4SjMY6fOYvbo08SXUeThK1Gg1qtQr/bI7+/y6DfZ2p2nl63w7uv + /4JWoyGIPNxuUpksIYdbwO3RJ9cVjcXRNO1j2fUxnl6tVqF0eMju5ga1Slkk+sIRIvE4e1tbNGqCh7BS + KuELBDh28jTZ2Tn6nS71aoUT58RkY6vZvIfG3LYshk4oUcwfUMofCqTicIzRaEC71WTj7h1S2SlSmRyF + wz00lwvd60X3+giEQsiKMsEVUBRlYnzGeZIn6S/4+//gH1Gp1e9Tfmf1V0VOQNFcwgvQBGjrxCNQx/kC + ZWIERIlZntyDSDKSbVn7dz78/X/99/+rf83jreCP6wE8ymd/ldt/1ACYD3ht8nAj8MUagJ9eW11GklYm + Ss+DlV+ShIJ5PB48Xu+kLCghOum63S6bd1YoF/P0ul163S6xRJJUdopapUzNGfBxezzMHzuOqmkc7u4Q + CIWYP34SLBskQTQqywqqqgo47XpdVBe8OpZl0qzV8AWC7Gys8darPxWx9vIJ1u+ssLV2l2Rmih/+x//J + ZKy13+2Szs0wt7jEYDCYlAo1VcN0avsgEIUP9vYwhyPKxUO6nQ7+YJBGvUalWKTX7TIY9Emk0rzwne/i + DwRYufYhnXZLlCsNA5fbg8fjngCQjKsV4+Rmt9Om2Wwy6PcoHh6wvbaGjU1udh6PrvPBW68jSTLPfOMl + Vldu0mo2eO6l7yArMs1ajdRUDp/PP2lwGuMtjsuivU6HarWM4QtgmiN2NtYmkOOjocgP1KplNu7cZjAY + oOtephcWJqQkwVCYaDzxWPdPo9ni7/6P/6uzaouVW3aUf+zmy9r42fEAFKH8H4UGirPiO8qvyMDYAIB0 + ZLwgv37zH//L3/tr/5fz38eNz8e6NY7LH7TyP8wbeNAq/zDFP7rqH1X+o4r/UAPwhSYBTdM8PKrwDzIC + 49dX33mTXq8nYs54wqGS0gGJUCTM8tnzyIBp287ND7YNgXCEWDJFuVhAQsLl9rC9scrt69dYPnUGfXuL + 3a1N2q0mg76IwbPT0+QWlojF4ngNA9M00VSVdFag44QjUXLzi5PeAH8gSDKdxeP1omoalVKJrbW7HO7t + cvrCRaLxONc+eI9SIY+qqiwcP8H03CI7m+u43TqpqSzzS8cAWOIkALZt0+t26LTb1CoVysU8hs9PIBCk + 0aiztnKTVrOJORrRqFXRNBehaBTD52d7Y51MLofL5QFJEi56JEpc9yJJElPTs5x56pkJv2Cv23UmDQP4 + g8HJqLRt29y9fo297U2Wz5zD6zXY3ljHskzRUp3NEQyF8BoGht8viEGd6crg+YvY2Az7A3r9HqZponu9 + 9Dod6tUqhs+Hx6NTLuZpt5poSy6i8Y/fI58kG5t7YoWWhLsuyyIxLCsfPRTHKIzJXxRVmYQGkiIfWfmF + 9+DcdCDJ4h60wZaEvqYWT/2Nv/R3/vf+H/7D//oP7zuVT8rcH9027lR82PYHPcPHcw9HlV0+8vpowu/o + vg8LIT52vl94j+ePLq8cSJB6qPI7z5fffoOdjXXqlbIDjW0QjsZpNerMLC6RzuaQFRlJFuy5ht+Ppoma + s4QwDLYlMO+KBwfUKmUSmSy9dpu97U3q1Qr721sCrmpmjtNPPY2ue7lx5RLVUpH55RPMLC6hKDKyoqJ7 + dDy6PukGPAre0ajXKRzsU6+USeWm8Xg8fPj+u+xsrjMcDDhx9jwAr/3ZnxKJJ7j4wjfQNI1Gvc7iiVPE + E0mGg4HTZKR8DB3Xtm2qlTKtRgNFVZwZgD667qXdavLWqz/F6/PTbbeRJImnv/Etlk6dplmtMxz2kWUF + 3WcQCIZRFRmPLgzX+BjNeg3NJYBWN9dWqZQKhCNxGvUqN69eonB4QLfdJp5Kix6JM+dYPn2WzdW73Ll5 + jZn5ReaWjtHr9XC73ZMJv6NswpZpMhwOaDTqAtw1HH5sEpB//6c/5yc/e9NRYtlR9HuTfB89RLJPOer+ + j5GfjyT+hEGRhS9si3OeaIyYrLRuvf6nv/f//eO/98aRU7HuO7VPivfH+z8ooXj/Zx+kuA8q6z3I7b9/ + xb/f9Tfv+xx80R4AgGWaN3EMwCcZgaUTZ4inMzQqFTrtFjaC0qvTbtFq1LlTr1MqHCJLMoqmkcpkSU/l + 6HQ6mKMhqey0KGc5wztpB+baisZIZqdExr1apd/r4nbrhOMx8nu7VMtF6lWxAtuWSamQp16rIiHhDwZJ + ZrIkM1MYfv/kXAP+AIvHT0yuZTQc8txL3+HsM88x6Pfw6F7ye7ssnjhJICimAFeuXaVRrxEKR2g1Guxu + rlOrlLEsi8UTJ1k8ftLB4e84rbihCUR3NjczcbWbzQaBYIhOp03Zof5KZXIMen1WV65TKhRo1Kp4dH2S + uDv3zLNMzc5TPDxEQiKWSiGbJrZtOdchrqXX7ZKbmxdgqiu3BLx3MITXAfzYXl/l+gfvEwyF2d7Y4NoH + 7xKJx1k6cZp6tYI5GuELBAlFIvj8AXSvIfgNnF6Dx5Wt7f1JvC4wDY+s9qridD8Kd1/VxoZBwJJLznbJ + MR7iexSQnUXaUfx7tFREyPKpl374dw/uXPvrH/7432w7mx6l6++oIss8WOnHhmH83oOMwXi7jFDi+7ff + k9Xnwcm+o9uPnsMXbwBM07wmSdIrH2v/vc8guA0vSa9OMp3Fsm0kYDgaMbu4jGWO2N/dnsB0VUoFDna2 + MS2L/e1NDna2CUdjTC8scvHFb1Ep5AXyjD+I1+9HVYRbmM5O3ZN/yM7MEYxEReJKUTDNEbrPh2tvj3q1 + QqMmVspOu4Vl2dSrFZr1GvFkmtTUFKqqCfSg2TlUVcUwfIRCYVRNIxyJMrd0TKxesoTuNYRrnc5QLZaQ + ZIlWs0GrUSeVnWJva4vL77zJwe4OutdLJjfDhedfFDiH1SrhaIxUJkssniB2JJYet+P2ul3kp5+lWipS + K5cZDAbUKmUGgz7DgeDse+/115AkiURagJnGkgLfQJZl3B6dYChEPJEknkyxePzUhAxkPJ9x6sJFguEI + M4tLNOs1kWDt9alXK9y6epnC4T7myMQfCjG/tCxIW+YXP0YQ+ihiWTY7Owei7KcIQFNFkT9SfkV4ZuOH + Mn5o6pEQwEkayio4IYTtuP7AR5UdABts8Q82qvvl/+y/+b3Vd1/9G516ZTT+qe87xUdJ7D1s29HtR137 + h33+fkV/UNb/fsPwIGPxxQOCWJb1OvA3P+YB8HEjMFbOCZiH243HmVQzAkGWTp3Ftkzq5TKKpuELBEik + 0ng8Ov1+j0gswaDXZ29nm06zgS8QpN/rCaVNZ5hfOk6jXsO2TKKpFJqqISuKmCLUXEhAIpVh6cQper0e + nUYT1eOm3+lQr1UY9Ht02i067Ra3rl6hXqty/pnniCaTfPDGaxPMgXAkSjKbI5HOoGkaw+GQxRMnJ9cV + DIWZmpkR0GLdDtFYnEa9RjgawzRNQWXerNNtt7n8zptsra9y9uIzaG4XB9tblAsFAqEw04uL+P1BzNEQ + zeUinc0xNT0rqMUdjkPbtvH5/Ozv7jB/bBnTtOi0mrRbDTweD6V8nk6rKWjAdJ3s9AzHz5zD7dGpVsqY + oxG6EwpFYnESqbS4BsdDMS0b2TESpUKe7fVViocHFA72GQ4GxJJpgaD0mAagUCwzGA4dBZYnqMaKqqAq + 6mT11zSh7Kr2kRGQVQVZVRzDpYIskJpEvk+edD5KSNiShO1YAMcDwAYMX2Dhd//eP/nr//S/+6v/xDml + X2UAjq7e9zsX9793/3c9KMR4UK3/UZJ9D/MAgC/BAJgj8xfSkVVXkh+i/A9670iYMI5hJclFIjs12T41 + t0A0mcIcjPD6fSBJzMwv0u/3wbbZuLtCrVohlkzRbjfZuLtCtVRCcwnF1HWvwKhzuTF8PqKJFKnsFIFg + iGAwNFkl0lM55o8dx7JsRsMBpUKebltM9lmmRbfToVYpU69UWL+zQiqbIzc7x8HuDpqm8cy3Xp50Fhp+ + QboZiyeQnRkAw+cnnc3R73VpOkCnhtegXjuOPxgiN7cAwK0Pr7C7tUkilRGtx502pXweSZIIRaIkUmli + qRTxRJKgQ3giSRIz8wtMz84hyTLlYgEQK2D9/2/vy4PkuM77fu+9PufYOfbGXlgABECACwIgCFAiJUVE + LJu2IkdyFMmCHdmlKrpcluVygnJKcaUUp+wyS6Zc1hHJUSKx4jKhWFYsRvLJGBXJlhIyJCEeAg/cx2Lv + nd3Za3aufvnjvdfT09M9M7vAHpDmq5rtnu6embcz/ft9x/u+783NITs3i8z0NBYXsijkC9B1A5PjY/j+ + 2WfBHQexRAJL2Szakil09vTCsm23CMnSGHRNRyIl4h6z00cwn8kgEotBNwxEo7F1Lc92/fqoG/BjssUb + YwyatAB0jUHTpQWgV/bd3ADGQJlemUFQBMCV+V/BK6/S/jIWAILe4b3vf/cvfPx7//tPv3BeDivMl/ce + 8xMBUA3+sHiC9/VhoK9HAP7kn+0RBASAb3z3hVcJISMuCXgBDwCUNEUCQeeJZHMR4RVTA97zmZkZlPKr + SHf3gBKRujp67QquX7oA3TBFyfDMDHLLS2CaJoOLBvoGh5Bq78B8JoPu3l70DA6hmBftyXVdRzQaEwVI + EJV9Kh9+KZtFNpOBZdtwHAcXzr+KaLwN+0cOY252Ggvzc4jI6sNYPAE7GkFueQWOUwbThFWTTovW4ooc + yqWS29Pw2qWLmJudFsVQTMP1yxdw68Z1zM/OwuEOkqk0+gZ3Yve+A5iZGseVC28i3dmF/SOHEY2JVOrB + nbuqCnbEjEQOudyKW0sxOzONqxfehOM4yExP49aNayAyw7C9swuJdFoUAFGKWFsbYvE29A3uRCKVqul2 + vJ5l3v/8G3+NF8/9UPj8ss+CpuvQDF0kQRkiuUkzTLkVAUCVg0A13Z02dO8jT/CvCr2SAOSwq/ZzSwtX + nvzoT3yimHdrCLwSZuaHReWDpvSCgNzsI0jr++MG3jFsTVdgp1w+Qwj5/ar5f+8+v31CUJpOvB93iSHV + 3l71mvaubsQTSQzt2QfbtkE1DavLy1jNLWNZLoDx+ivnMDF6E0zTMHr9KuxIBFYmg/MvvYDrVy6ho6sb + e+49KPPrCXr7BxFPJhCxu9DV3Sv8cjmmvp3DQntRcSOLWIAoBc7lhNVw8Y0fYvzmTWiGjh0DQ+jt64cV + iSCZ7oAVsWGaFkzLhq5pGNq1G7v37Xe/2+F77sHqyorbAYlzDlsSzNVLorBJ03VMj4/h/116C4vZLN73 + 87+ImYlxQVwryzAtG70Dg+jo7BIrEhfyaO/oFCZ+qYTFxUWsLC9idSWH2alJRGIxrCwvYW5W5GDcunFN + muc62pJJvP7KDzB+84acOhTJSGtNAb41Lqr/KPNof01YAJqmQdc06LouH5rbjEVMA+qVhCEZg1GBP0Ch + Qfn+XGr9ICsA0NqSuz7wm7/z6J898W/P+oYYZub7LQCvbx9kGXgJIYwISp5jpYBr/Z8TVhuw+UFAACg7 + 5W8RQn/fm/xTQwJeQDu+Y7SOu9DAQgg6rxkGEobhHjNSKcRTKXTI5axVs81Eewdi8QTau3sAuTZeuVQC + 5xxT42N449WXwRjDwPBu5POrSKZE9LunX8xIlIoFxNqSgmgorZpJUA045uYyIJQg1d4B3TDR09ePYrGA + zNQULr35OiihsCMRFAoFt0fAjoEhxBJtiMbaYMipr/7BncLnlcQHiBWNd+29F5GYsFYW5ueQTHeIdGbZ + g3D02hXohon7HzyB/GoOF374GhazWbQlk+jtH8TA8C4kUynE43E4jiMDm2KNxlKphFwuh6WFLIrFIrpl + CnV2LoOpiTFY2QiS7e0YOXpsTfdLoVDA1PSsG/TTNPVQwBfgN3QNhqFBM8QsANMZdM0AYVSuBEUBSqT/ + TwXYpc8vjUUX7H5LwEsOB4+/64O6af2DxwoIMvOB6ii/AqHX9AkK0AUl9ZR8Wz/w/VN8/vf0j8vd3xIX + AADOPPuPz4OQ4xXA09rCoDBC8B+rRwgB+0EkUO+YuiE0lcIKyCahyyjm8zAsC7mlRYzdvIFyuYRCPo/Z + qUkYpgnHKWP/yGFk5+dw5a03EGtLYGjXHlcbdvX0YmEhi+WFBSTT7WhraxO/nCziASEo5PNimm9yAqu5 + HJaXFjE5PobM9JQokY5EkF9dRaq9A3Mz01hdzWFH/yBMy0K6UyxEQkBAKHV79gNAbmXFzU6cn5/D3MwM + psZvgXOOgeFdWJifx/fPPovpyQlwx8Hu/Qfw8Mn3IJuZxeW33sDwPftw4P4jWF5ecsFhW3bVoiEqZXl5 + ecldcFVNZzYrl6/exFee+nolyq/r0A0dhmnCkKa/YRowZFq1bujQNFEbUfH/5dSfrLPghIign2vekxqN + rywBeEhAkel3vvHffueZLz1xTg7RD3r4jvtN/CDA+zV80H7Q88Acf8/DP74qK2DLFgctO86XCXC8AnTH + B/5Kbn1DEnB8IN8gQlDpyOp8NBYD4nEQANF4HJ29OwAA+fwq8jLbrlwqIp5MiVLhtgTK5RKy83OYm51B + uqMTpmXj+e+exeU338Cufftx8MgxRGIxsfBJuYxEMolEKg3TNCtNUTlHPp/H0kIWoLTS7JRzzM1MwzAM + LGTnMfrKVfT09WMxO4fXXnoBnT2iHHpqfAztnV0Y3rsfxWIBjGlo7+hEZ1c39h446P5Gqvno/MwsMjNi + pqEtmcSNyxcxNTGOwV27cePqFdy4fBFzszPIzM5g5569GHngQQCiFoISgmRHB1KyOlEBaC1ya3QcTEX9 + GRMa32P2G4Z86BoMXaRea4buBgE1pub+GQgDuErQI6giAUG8YnzKBagCvmf/8DsePfnMl554WQ7RCzaG + YBLwugd+vz8I4CUEa/6goF8Q8MPiEVWyZQTgiQN0Bmv+O0wIQa9pQBJVJNCIJDxjMAwThmkhzh333ODu + Pejq60e5VBJaPbcKOxYFd8rQDROWbWMxm8Wt61exsryMm1cvAwDuufegqP/PZtHe3YOde+4Ry6Cv5tHV + 2yuyBmU/AwJg332HUCoVkVvJYXJs1C0FVqv3TE9O4Pl//A7uO3IMkXgcU2O33MzARCoNW3YMLhWLopdC + ewc6u3pA6Yj7fx8+/jYM3bMXHR1dWFjIIt3ZhWJJ9B9gjGF5YRHnX34Rl958HY7jIBZvw5ETb8OeA/ch + lW6vqRZsJKO3JkAp9Zj+ggQE4JkLfMPQYbpBQU8AkGmgmjD9OYgbA/A67X7Ag/Mal8BLDj39g8eT7Z3W + /Ox0AdVgcxCc+OPXyEE+vh/8XhJoFvxALfhDZcsI4KM/82juqb88+1kC/G4YkKq3TjXQAai8cKAOMWwU + IQQd842PEHmTcQ6mG4jpRuVcWlzvlMs49sg7cd/RYyiVSiAcWMjOwY5EhElrGLhx5TImb42CE8AwDJx7 + 7vuYk9p2aPcedPbugC5LgU3LErMS8Rj2HhwBkZ/ROzgEEILc8hIsO4Ku3l5ouiGThlaQnxcWBaUiwHbt + 8kUsL4nuSb39g+jq2YFUh1i2LBKJYOeuPQCAWJvItCwWRJpvNBoV3YTyOcR1vtnAAAAUOUlEQVTibZid + mcLK8rLon1guras92PjYVCXgJx96Feg11wowpf8vVoCuzP9TNfUnfhgoC6DK5A/x+YPJwTAe+4XHD33t + s7/3km+4CvxBYPQC36/1g8DvtwqCYgT1tD4CnlfJlhEAADiO81kC/EagFYBGhEBACL89QlDn15CLcLuE + EPR/mKYFy7IBImrROnt7sQfilysVi+gdGMJCZhaxZAqFXA7pzi5QKkp4p8bHwAHMTExgdnpS5MYzCsOw + 0NHdg46uLiTS7Uh3dEDXDcTjbejs7gWjFKVyCfG2NpRKoluxCOQVkc1kkFtZwdzsLNqSSeSWlzE2eh2j + 165gLjOLPfceQE/fAJayC4inErCtiGjZ1t4BEBF0PHj4KA4ePipjAHl3Vae1EsDCwhKWVlZg6LogAV2B + X0T7TUOHaRgS/IaIDei6TAmupAoL/x+AJ/oPQqpBXmcGwHsN5LGDxx46AuCcb8hBvrd/ii8osOfX+mGa + 3+/vez+zocnvly0lgI+97yeW/uszf/cpEPLFUJCHbQPPOb5zNPj6O0gIQSTQLEkEEYPjO6ZpGhKpNBLJ + lIi2l0p4KJ1GqVBAfjUPw5Blr/L6bGYWy4uLWCjNYXL8FkzLQkdXNw4/9Hb07hALmlBpmTCmISqX5a6Y + whzdPb3o2zmM1VzO7VeQX13F2PVr0A0DlmVjenwM05MTMG6JQJsdjSISjWN1ZRnLS4vQVA5DVxfi8QQM + prndg9YiN2+Oy8QfKjS/prkmvynBbkrNr+IAuinIgslyb8ZEMNUlH6Ky/ZRGr/X3ayyAgKBgV8+OQfnV + KVFeBUGteR7k5xfR2Ox35HP1HncE+Eq2lAAAwHGcL4OQxwlwGKgPlA0jBP8xJyC+UCcXYTMIAYTIRpgM + 0WgMJFo99ni8DcP7DyC3tIRCoYD8iugG5JTLYLqoS1C5EURqPkJUCixkCaz4bNOOiD4DCrCcA4kkUuk0 + yqUSCCFYWlxELJFAsSDalxMCFPI5XL98EVcuvoVivoCuHTvE2ol2RNZm3INUOr2m+2NsfLIy5ef6+zoM + Q2wtU4HfgKVrMEwDuqF5LA7ipg8TZfZLzArkeBJ+AgAfTg5Ae0e7lwC8gb2gSL8CfBDw/c8bJff46wSU + rAn8wDYggMc/8Fj5P/+Pv/5lDrwIQhiRk7LElz0WuF0zMayTEAi5I8lJ9c4HgT/sGPeNk8r3N3QDZipd + 83ruAbua+675LgOIwJtFCc5FKzFZI2GaFlLtHW4/AEBM+SXbOzG0+x4sLy0i3dGFYjGPxayoQTCMNS8B + jonJKan9qSfyz2Dqwvc3XTdAg2npbk6ArjF3fUei5v6V5ndJoHZ6LzwOUOse6MyK9Q/vtkevXl72DDnI + zw8y773AX4vJH6bx1wx+YBsQAAD8ys/99Mtf+vO//CQh5NP+m3tTCME9t4ZcBMd3fiMJIeT/U8dqCCFg + 7OBcZCR6ruWerfsZdSyDqmo5yCItSkWlnbwuEo2if3DIvbZYLKBYKIJS4nYvalY455ianIUu5/9V0o+y + AExTaH5T12GahpsIpOtipoDJph9uWrj6f9X7iw+pArbqAlgJCtYnh96BoYgkAH+Qzh/cU2D3gz7M7Ffv + Ac9zd9ie/XUBX8m2IAAA+NUPvvcPvvj1bz8CQt5HeGWZ7kBCQAMiCNtuEiEAuL1chA0khDV/Zx4iCCME + AIH7YrFT3V0/ca0yNZMB5w40JjS6G/nXpCugCQvA0DWYGoNpVNwEJpN/KBHpw3LQEMU/XrNfghqoMffr + koM83t27w0Z4Mo8f8EEk0GyUHwHb25ZtQwAAwDn/MDj/Gw68yzVZUSGCKkJYi2UQtm1oKawxF2GjCKHZ + YyH/D/edWxchKIA3IgT53o3IwSv+50pmpjIy758Krc5E1Z9h6DIYqAvAG0xofsZgaExcS1X2H5H+vxiX + EFoT5Rdj85NBeCxAkQOjjKM2N9+v5YuoBr+XIFSQr9H0Hjz7XkPmtmRbEcCvfeh9uS/89//5swCe5Zwf + D9IoQB1CQO3NWxfk/uvvNCF4j60jF2HTCSHgfw76ThsSgs+NqEcIQaLOzWYyYJSIkl/GXNNelxaArlWs + AJ0xsZX7bp9A0KrvWqDHmwLsDwQimBxCzmWmJxdQrfX9Gj/M9K9XyhsE+iC//7ZlWxEAAHz8wz+b/fzX + nnkMwFnO+WHvTePewPUIIcAyCHUnmtjWJ4bw5KSNIITAY2skgaBjd4wQ/O/pPef/vULIwSsL2QW3+Ef3 + TAEq7W8YwuxXGYG6JiwATaNuAJD6vhelP7n4U23qA1WaXjytJgd/4DAzPbWEamAXUEsAQdF/L/C5Zxuk + 9TdMth0BAMCv//w/z3zuzDffAeApzvm/cG8OCW6xW00IQaAPswzWQwTNEQLBRicnbQYh+HMRQgkh4H9p + 2lVQv0MdayGXy8sKwEoasK7cAE1E/3VNkzMEzHUTNGkBMPXdUzFTUtvyS2l0XxswkIqpX2X2V1sApXIp + d/6VcxkEA95vAYRp/rBsvg3R+H7ZlgQAAJ/4yPuXAHzwc2e++Tjn/DMAYoDPfPQQgpre8hPCRlkGYUDY + bEIIPBZAAptKCHW2QVOQVTMOHkIoFUtV6b9M1gPouuz6wxh0TYJfY9AohcYINErA3Ok/4n6/nKvvwevX + exQKqi2DRuSwsrQyCgFwpfXrmfx+8CutD9xGLv/tyrYlACWf+Mj7v/y5M9/8FoB/DeBxAAlvRZmfEBSo + EQL+qmPw3Yie7YYRwm0mJ204IfiOBRGDEzDOeus8hhFBDSH4rAFCILIA3UxAWiEESqFpMjvQJQnqtghj + RLyGqDfikB2AAaC69FfcO2p6s3lyWMzOX4AAfz3NXy/K30jzb7hsewIAgE985P0TAH7rq3/1D3/slIv/ + oZBf/SmnXE46TlkHKj9QkHCPSVpDCJ7zYYRQcwP7rqnZbjIhqM8lwG23Uqt3bSNLwf9drYcQ/N+lrutY + patuF2B38Q9GwbQKMbh9AimFRikYJaC0Mk7iIUzu/iEA8YBd/bio7gwkXhRMDlfeeuNF1E/u8Wf2NUrs + 2VTwA3cJASh5+sy3rgP4GETNNdu/dzA+ONBzIB6P/RSAI5w7g9xxuh2nnAh7j1BC8OzXHPNslSXhbnEb + hKC2QYTgnqN1gVf12s3MVgz5/9Sx9RKC1zLQdQ0EYlxMzumrcbpdgeWDynbhotkPdbMjvQ9AQpjAJQHF + BZX7Q+4QDypdWFbIweHc+coXP/89VGt/P/jD0nnrZfRtqpDGl9wdcvLUaR2iFJMCIO965P7dyWTyYULJ + UXAcBZxBcJ7g3DFcl0GK93ngfoD2X7NlgGDANG8pqHMb1DlpgwnBP+ZmchGee+4cxkbHEY3YiMUisC0T + kYiFWCSKaNRCJGIhYluwTMPNDVB1A5SSGhJwhQejzdX51ZvK+YpJgPn5+Vf2dLd/DMHgb0QCSvt7P2ZL + COCusgDqydmnnyxWP8drAF47eeo0AaDIgQ0NdMd2DvWOJFOJ9xCQQwDfxTnvApwEUB1TqOs+BGUrblFy + UtOEsA2Sk0IthIDxRiN2BcAQVYwUPs3u+c25Zxx1hQRrPqJ8fOJe5nlvDuKxHK5cvHgW9ZN31iJbAn7g + R4gAwuTs009yiECNkmUAkwD+/uSp0xSAAfE90BPH7h1It6dOaJr2EKPkAQD9nDsJAphAE+6DZ3vbRIBg + ADVDCOq1Da2CTWql1sgaIEBgLkIimfB8phf44r1ct4ID4FyQA4d4oPr/aFqaIAfHcfL//rf+zbcRDniC + 6rcJfsstBL53EC3xyclTpxlEnIEAwK6dvRge6j0ei8d/mhAyQgh2gfMdgNNGPHdYkPtQz40IdScabEOB + FHhsDYSgjnkJod75ZohhnYRACMFqvoDvnP0+ohEL0YgNyzIRi9qIRiKIRm1EbQuWZbgNQQxduABUThkq + N6Ay1gDVvg65ce3atw/tGf6PCDb5g5p4Op5tmLXQcgG2i5x9+kn144nnAE6eOv09AP9HHuJnn37SOXnq + NHnowQN729riDxmm8Qhj5DAlpI8QnuKOY/mtgHquwu1MQda3FO7OVmogBIauIRqNSOebgFBShZiy/P4c + EZSDwwHuAJxycPm8ykkgFee+lgOaIwfOefFzn/mDP4V0KVELXH9gj8l96jlGfPtbZgm0LIA7IDLOoL5L + FYg03n7ivhOpdOqkprERSjBMKOkjnLcBnG6EZdAcIQRZCk0Sgv/8JrRSu/DGJcxlsrBtE9GIBduyEI1E + EIlasC0TtmVWWwAqC1BNG9aMu/K7VZND4G71EQJcePPNbx6/794/RPN9/RoFBIEtmP9X0iKADRbpTlDA + 9QvZyMFd/Z2d7Sds23rE0LXDhGAHpSQN7kQ2ghAaugk155pspQZgvYQQRAJB5xeyS3jrzUuwLQsR24Rt + W4jYtksAEcuCYeqyEEh3qwdVJiCTjUDdcbrfLeC9/Zshh2KxuPgz737Xv3rh+efmUUsAYcAPSwUOq/jb + VGm5ABssfncCAM4CF06eOn0ZwBlIdwIATp46HX3kbYceSCTb3q1r2iHKyB5KMCCtBhbqIiBYm66fELZP + K7VYPALTND0IEecdDjgOh+Nw8DJHmXFQuQSb+GyZx0cdERR0YyHyC+MAAXcPELgfAEKq0Uikof71M09/ + 4YXnn8tB4EYRupfcvaKGrDS9sgz9bcO3NBDYsgDuAjl56rS9f+/gQFdX+/2JRPxRw9BHCDBACVIAjzck + BP92vcSwVkIIshTWkZw0OTGNucyCMPltE7Zlw7ZNmJYhXQC9siCI5rUAKBgh1RZAHUuAeE4QzwEC4PXz + 55995wP3fx7V3Xq8TTv95cDe/ABvhaDXCgjKBtxUaRHAXSonT53WANgA7GNH9h/o6u54m2mZhxgl+wnB + AAUSINA2lBDcc+tLTmqWEEqlMq5fveVG/G3Lgh2xYJoGLEMXrcF0Q7QMV70AKAOT7y3einrIUX2LxN33 + A77ylGB2ZvrSoyeO/fbE+Ngqqv13vwsQVA9QQHWxUL3mH5suLQK4y8UXgFRbDUBkoL87vXu471AilThp + aNpBQjBACDoJeFtdQvBvN4kQAITmIsxOz6FQKAnQWyYs04RlmRL8agpQZgKq2gFC5MyFJz7hHRcqIA8j + h6WlxYkPvfexf/eDF1/Iohr4/hV9gkqCvQQQlCbcsgBasjFy8tRpIpOg/McjAKLHju7f193Vedy0zUOM + khFGyCDAE5QSHbgNiyGEENRrA0mgCUIolxzMzMzBNE2xkIqhw7INsTioromSYCYWA9HcZqBS8ysrwDsu + +MCvznusguXFhbFf/aVf/N3v/P2zU6ju7x9kATQCv78ZSFAgcNOlRQAtASDiDADMjvZk5NDInkOpVPKf + MkoPgWCYEnRTSmJEosPvp99xQgg6RgiWllbhOA4MQyUAyTbghg6NMRg6A2OaWyVIiOxcDAK5HKCr613w + +1wABYi52ZlLv/yhDzzx6rmX5lGbwx/UBDTM9/fXCtRrBrLp0iKAloSKLLAyIZJZ6DsfPrwj3ZF+u87Y + cULJUUrIACFIMEoMP/jXTgyNW6kBwMpKCbq7DJhWWTJME23BRCcgVksAqjGwVPXEt+8lh/Ov/uBvH//I + v/yT6cmJVVRH8oP8/0YBQH+PwG3j/wMtAmjJGkTGGwBx3+jyocXjEe3BBw4cSaVSP0kpvY9SDFNKehgh + cSJTntZLCEA1CTgc4FwsBqoZqgmoJpcCE41CBPgpaAgBuFrfG/QjQLFQWDjz1H/5o09/6rfPoRb49bS/ + v/d/vRbg9Zp/brq0CKAld1Rk4pOyHLQHjuzv6dvRc1w39Yc1Sg8TSvoZJQnGqFXfTQgnBBAdmi4WAtXk + 6r+aSgCSMwCUCLNfLQlWWRawAvoKwQBjozf/7yc//vjnX37h+Syqg3NhBOBv6R2UBVj0natn+rcIoCU/ + uuIhBgaAFFZX8NhPvuPBRDr1HkbpCKV0l8ZIH2MsRqmM2YcSAwU1ojDMCgGoJcAr/n9lCpCCBhIACDCf + yZx/5mt/8tX/9Onfe1UO1QtOP/jr5QD404H91oGXPLyfA7RcgJb8GArpGtxLk139Wm4pSxdmxpCdGSd2 + LGH8sw9/dGjffSMn0u3tD9vR6EFD1/s0jSUoJbYiAsp0mNEEiFw3QDQBke3AmNL6ijC8vr4gk8Xs/Gv/ + 69t/8dRnPvVJZe57Qe8nAD8J+N0ARQSlgOONzP5WJmBLfixFxuUBVNJkKUQOg8Y0Qwe4Tig1KGU6CNF1 + w7Le+8EPHzhw/9EH0h2de6nGuGFGeSKZ3mNF7V7DMBLUne8nbldgpfVLhcL06PUrf/W3f/H1v/mzr/7x + dVSDz6+Zw7R/WDDQTwxhLcC2vADIKy0CaMlWiTegSD1bBkECaqv7njNKGSOUqiIrUKZRSindf+ho7MQ/ + eXRg38FD+5Ppjv5oPN7HKNNmJsdeevF7333uK3/0xEUEm93+opx62j+IELxtvv2VfttS8ytpEUBLtlKI + 76GsANWQRfPtq3PeAhxCGVO1PwQAHKccBK4wfzsoGBcUBASCSSGMLIJIBdhG4Ada1YAt2XpRYCCogIf4 + zqvjXlehAvhy2Xt9PaXmJ4GgbZg1EBQYDLumHvi3ldJtEUBLtlK8gPASgT9C7gW/shSAajCFAUsRi/9z + 4TvuBarfT28W5EFaPuyzt4W0CKAl20H8wThvgNBLAH6XYb3aNIwA1LYemIOm75oB/raUbWWOtOTHVohv + Sz3bMNCHaX9lVYSZ22u1BvzPg0AeRiTbXloE0JKtFj9YvVv/fhD4g5774wr+/SAJAn3YfiOz/q4AP9Ai + gJZsLwnT7vUA3yjo1ywJrAXUjYjkrpEWAbRkO0mYNeC/Jug1QefXAsZG1zZLAHeVtAigJdtZwghgI6bT + mgH1jwzwlfx/4LG3C7wFmUsAAAAASUVORK5CYIIoAAAAgAAAAAABAAABACAAAAAAAAAIAQAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAACAAAA + AgAAAAIAAAACAAAAAwAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAEAAAABAAAAAQAAAAEAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAQAAAQMCAgIEBAMEBgUEBQQEAwYCAgEGBAMDBwUFBAcFBQQHBQUEBwUFBAYFBQQHBQQE + BgMDAgYBAQEGAwICBQAAAAUAAAAEAAAAAwAAAAMAAAACAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACklIAIoJSADGxkWBgcHBgkAAAALAAAA + DQAAAA4AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAOAAAADgAAAA0AAAAMAAAACwAAAAoAAAAJAAAA + BwAAAAUAAAAEAAAAAwAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAABuZlkBYVtPBEA8NQcAAAALAAAAEAAAABQAAAAYAAAAGgAAABoAAAAbAAAAHAAAABwAAAAcAAAA + GwAAABsAAAAaAAAAGQAAABgAAAAWAAAAFAAAABIAAAAPAAAADAAAAAoAAAAIAAAABgAAAAQAAAACAAAA + AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIqCcwJ9dmgFAAAACgAAABEAAAAZAAAA + IAAAACUCAgEpBAMCKxMRDjFLRj1MY11Ra2JbUGceHBg0AAAAKgAAACoAAAApAAAAJwAAACUAAAAiAAAA + HgAAABwAAAAYAAAAFQAAABEAAAANAAAACQAAAAYAAAAEAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAACmnYoBgHdoBSkmIQgfHBcWVU5ETWJbUH5oYlWUo5qIusG1n9nRwqni39G2++LVu//k173/5tnA + /+XZwPm+tJ+8WFNKbAAAADoAAAA4AAAANQAAADIAAAAvAAAAKwAAACcAAAAiAAAAHQAAABcAAAASAAAA + DQAAAAgAAAAEAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAACpm4YCl4VvCLKlkCOpmoRcmIZvfaOWgZK8spzOv7Wg8cG4o/7CuaX/w7qm + /8W8p//Ivaj/1cau/9zPtv/h1Lz/5dnC/+jcxf/q3sj/6+DL/+zhzP/s4s3/zMOx0UI/OWkAAABFAAAA + QgAAAD8AAAA8AAAANwAAADEAAAArAAAAJAAAABwAAAAVAAAADgAAAAgAAAAEAAAAAgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAuq+bAZaFbgailH4Pua6ZQKmbhXKaiXOHtquWs7yynOO+tJ/7v7ah + /8C3o//BuKT/wrml/8O6pv/FvKf/xr2o/8i+qf/Jv6v/ysCs/8u8p//Vx7D/3dC6/+TYw//o3sr/7OLO + /+7k0f/v5tP/8OfU//Dn1f/x6Nb/7+jW+46Kf6EGBQVRAAAATAAAAEgAAABEAAAAPgAAADcAAAAwAAAA + JwAAAB0AAAAUAAAADAAAAAYAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAloRuB6+jjiu5rplbloVvf6iahZi6r5rRu7Gc + 8ryznv69tJ//vrWh/7+2ov/At6P/wbik/8K5pf/Eu6b/xbyn/8e9qP/Ivqn/ysCr/8vBrP/Mwq3/zcOu + /8/FsP/IvKf/ybql/9XItP/f1MD/5tzJ/+zj0f/w59b/8urY//Pr2v/07Nv/9O3c//Xu3f/17t7/9u/f + /724rcgRERBYAAAATwAAAEsAAABGAAAAQAAAADgAAAAuAAAAJAAAABkAAAAPAAAACQAAAAQAAAABAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKaZgwSfkHoWtqqVSbiumXGbi3WLsqeS + uLmumua5sJv7urGd/7uynv+8s5//vbSg/761of+/tqL/wLej/8G4pP/DuqX/xLum/8W8p//Hvaj/yL6q + /8rAq//Lwaz/zMKt/83Dr//PxbD/0Max/9HIsv/TyrP/08mz/72umv/Huab/1cm2/+DXxf/p4dD/7+jY + //Ps3f/17+D/9/Hh//fx4v/38uP/+PPk//jz5f/59Ob/+fTn/8C9ssgGBgZRAAAASwAAAEcAAABBAAAA + OQAAADAAAAAmAAAAGwAAABEAAAAJAAAABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALWrlgEAAAAApZeCAq+kjy+2q5ZfpZiC + fKich561q5bWt62Z9Leumv+4r5v/ubCc/7qxnf+7sp7/vLOf/720oP++taH/v7ai/8C3o//BuKT/w7ql + /8S7pv/GvKf/x72p/8i+qv/KwKv/y8Gs/8zCrf/Nw6//z8Ww/9DGsf/RyLL/08q0/9TLtf/VzLb/1s23 + /9jPuf/Kvqn/uKiV/8e6qP/Wy7n/49rK/+zl1v/y7N7/9vHj//jz5v/69ef/+vbo//r26f/79+r/+/fq + //v36//8+Oz//Pjs/5uYkaIAAABHAAAAQQAAADwAAAA1AAAALAAAACMAAAAZAAAAEAAAAAkAAAAEAAAA + AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtKqWAbSrlgKfkHsTs6iT + ULWrlnScjXeLsKWQvbWqluq1rJf8tayY/7atmf+3rpr/uK+b/7mwnP+6sZ3/u7Ke/7yzn/+9tKD/vrWh + /7+2ov/At6P/wrmk/8O6pf/Eu6b/xryn/8e9qf/Jv6r/ysCr/8vBrP/Mwq7/zsSv/8/FsP/Qx7H/0ciy + /9PKtP/Uy7X/1cy2/9fOt//Yz7n/2dC6/9rRu//c07z/3dS9/7iqlv+3qJb/x7qp/9jOvf/l3c7/7+nb + //Xw4v/59Of/+/fr//z47P/8+e3//fnt//357v/9+u7//fru//767//++u///fru+0NCP14AAAA5AAAA + MwAAACwAAAAlAAAAHQAAABQAAAANAAAABwAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxqJMDsqmU + A7ClkDK0qpVjs6qVe6ugi6GyqJPZs6mV9rOqlv+0q5f/tayX/7WsmP+2rZn/t66a/7ivm/+5sJz/urGd + /7uynv+8s5//vbSg/761of+/tqL/wbij/8K5pP/DuqX/xbum/8a8qP/Hvqn/yb+q/8rAq//Lwaz/zcOu + /87Er//PxrD/0Mex/9LJs//TyrT/1Mu1/9XMtv/Xzrf/2M+5/9nQuv/a0bv/3NO8/93Uvv/e1b//39bA + /+DXwf/g18D/qJeE/7eolv/IvKv/2dDA/+bf0v/w697/9/Lm//v36//9+e7//vrv//777//++/D//vvw + ///78P///PD///zw///88P///PD/0c/FwAAAADMAAAArAAAAJAAAAB0AAAAWAAAAEAAAAAoAAAAFAAAA + AgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArqSQ + AZF/aQSilYAWsaaRUZOBa3ecjniNsKWQvrKok+2xqJT9saiU/7Kplf+zqpb/tKuX/7Wsl/+2rZj/tq2Z + /7eumv+4r5v/ubCc/7qxnf+7sp7/vLOf/720oP++taH/wLei/8G4o//CuaT/w7ql/8W7p//GvKj/yL6p + /8m/qv/KwKv/y8Gt/83Drv/OxK//z8aw/9DHsf/SybP/08q0/9TLtf/Wzbb/1864/9jPuf/Z0Lr/2tG7 + /9zTvP/d1L7/3tW//9/WwP/h2MH/4tnC/+Paw//k28X/5dzG/9fMtv+lk4D/tqeW/8e7q//Z0MD/5+DS + //Hr3v/49Oj/+/js//367v///PD///zw///88P///PD///zw///77///++////vv//777//++u79QD88 + SwAAACkAAAAgAAAAGQAAABIAAAAMAAAACAAAAAQAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAACgk30DmIlzCK+kkDOyqJNokoFrgK2ijqSxp5LZsKeT+LCnk/+wp5P/saiU/7GolP+yqZX/s6qW + /7Srl/+1rJj/tq2Y/7eumf+3rpr/uK+b/7mwnP+6sZ3/u7Ke/7yzn/++taD/v7ah/8C3ov/BuKP/wrmk + /8O6pv/Fu6f/xryo/8i+qf/Jv6r/ysCs/8zCrf/Nw67/zsSv/8/GsP/Rx7L/0smz/9PKtP/Uy7X/1s23 + /9fOuP/Yz7n/2dC6/9vSu//c073/3dS+/97Vv//f1sD/4djB/+LZwv/j2sT/5NvF/+Xcxv/m3cj/6N/J + /+ngyv/q4cv/z8Ks/6ORff+0ppP/xbmo/9jOvv/m39H/8Ovd//j05//7+Ov//fru///77//+++///vru + //767v/++u3//vnt//357P/9+ev//fjr//346v+KiICRAAAALQAAACMAAAAbAAAAEwAAAA0AAAAIAAAA + BAAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwp5IGtKqVZ7SqleKvppL9r6aS/6+mkv+wp5P/sKeT + /7GolP+yqZT/sqmV/7Oqlv+0q5f/tayY/7atmf+3rpn/uK+a/7mwm/+5sJz/urGd/7uynv+8s5//vrWg + /7+2of/At6L/wbij/8K5pf/Duqb/xbun/8a9qP/Ivqn/yb+q/8rArP/Mwq3/zcOu/87Fr//QxrH/0cey + /9LJs//TyrT/1cy1/9bNt//Xzrj/2M+5/9rRuv/b0rz/3NO9/93Uvv/e1b//4NfA/+HYwf/i2cP/49rE + /+Tbxf/l3Mb/597I/+jfyf/p4Mr/6uHL/+vizP/s483/7eTO/+7lz//Lvaj/oI56/7Ghj//DtqT/1cu6 + /+PbzP/u59n/9vHj//r16P/8+Or//fjr//346//8+Or//Pfp//z36P/89+j/+/bn//v15v/69eX/+vTk + /97ZyswAAAA1AAAAKwAAACIAAAAZAAAAEgAAAAwAAAAIAAAABAAAAAIAAAABAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsKeT + La+mktWvppL/sKeT/7Cnk/+xqJT/sqmU/7Kplf+zqpb/tKuX/7WsmP+2rZn/t66Z/7ivmv+5sJv/urGc + /7uynf+8s57/vbSf/761oP+/tqH/wLei/8G4o//CuaX/w7qm/8W8p//Gvaj/yL6p/8m/qv/Lwaz/zMKt + /83Drv/Oxa//0Max/9HIsv/SybP/08q0/9XMtv/Wzbf/1864/9jPuf/a0br/29K8/9zTvf/d1L7/39a/ + /+DXwP/h2ML/4tnD/+PaxP/k28b/5t3H/+feyP/o38n/6eDK/+rhy//r4sz/7OPN/+3kzv/u5c//7+bQ + /+/m0P/w59H/8ejS/8y+qf+cinX/rJyI/72vnf/QxLP/3dTE/+ni0f/y69z/9vDh//nz5P/69OX/+vXl + //r05P/68+P/+fLi//ny4f/48d//+PDe//fv3f/379z/8urW8wAAAEAAAAA3AAAALQAAACQAAAAbAAAA + EwAAAA0AAAAIAAAABQAAAAMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALGolDqwp5PzsaiU/7Kplf+yqZX/s6qW/7Srl/+1rJj/tq2Z + /7eumv+4r5r/ubCb/7qxnP+7sp3/vLOe/720n/++taD/v7ah/8C3o//BuKT/wrml/8S7pv/FvKf/xr2o + /8i+qf/Jv6v/y8Gs/8zCrf/Nw67/zsWw/9DGsf/RyLL/0smz/9TLtf/VzLb/1s23/9fOuP/Z0Ln/2tG7 + /9vSvP/c073/3tW+/9/Wv//g18D/4djC/+LZw//j2sT/5dzG/+bdx//n3sj/6N/J/+ngyv/q4cv/6+LM + /+zjzf/t5M7/7uXP/+/m0P/v5tH/8OfR//Ho0v/y6dP/8unT//Pq1P/069X/1cmz/5eDbv+mlYD/tqeT + /8i6p//XzLn/49nH/+3l0//y69j/9e3b//bv3f/379z/9+/b//bu2v/27dn/9ezY//Xr1v/06tX/9OrU + //Pp0v/y6NH/HhwaUgAAAEIAAAA5AAAAMAAAACYAAAAeAAAAFgAAABAAAAALAAAABgAAAAQAAAACAAAA + AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC1rJgus6qV + 77Oqlv+0q5f/tayY/7atmf+3rpr/uK+b/7mwnP+6sZ3/u7Ke/7yzn/+9tKD/vrWh/7+2ov/At6P/wbik + /8K5pf/Eu6b/xbyn/8e9qP/Ivqr/ysCr/8vBrP/Mwq3/zcOu/8/FsP/QxrH/0ciy/9LJs//Uy7X/1cy2 + /9bNt//Yz7j/2dC6/9rRu//b0rz/3NO9/97Vvv/f1r//4NfB/+HYwv/i2cP/49rE/+Xcxv/m3cf/597I + /+jfyf/p4Mr/6uHL/+vizP/s483/7eTO/+7lz//v5tD/8OfR//Dn0f/x6NL/8unT//Lp0//z6tT/9OvV + //Tr1f/069X/9ezW//Xs1v/n3MX/kn5n/6CNd/+vnon/wLGc/9DCrf/c0bz/59zH/+3jz//x59L/8unT + //Pp0//z6NL/8ufR//Lnz//x5s7/8OXM//Dky//v48n/7uLH/+7hxv8uLCZgAAAASwAAAEQAAAA8AAAA + MwAAACoAAAAhAAAAGQAAABMAAAANAAAACAAAAAUAAAADAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAubCcDLWsmNu2rZn/t66a/7ivm/+5sJz/urGd/7uynv+8s5//vbSg + /761of+/tqL/wLej/8G4pP/DuqX/xLum/8W8p//Hvan/yL6q/8rAq//Lwaz/zMKt/83Dr//PxbD/0Max + /9HIsv/TyrP/1Mu1/9XMtv/Wzbf/2M+4/9nQuv/a0bv/29K8/93Uvf/e1b7/39bA/+DXwf/h2ML/4tnD + /+TbxP/l3Mb/5t3H/+feyP/o38n/6eDK/+rhzP/r4sz/7OPN/+3kzv/u5c//7+bQ//Dn0f/w59H/8ejS + //Ho0v/v5tD/7uXP/97Wwv/Xz7z/0sq4/+HYxP/17Nb/9ezW//Xs1v/17Nb/9ezW//Tr1f+UgGj/mYVu + /6eVff+3p5D/x7eg/9XHrv/g0rr/59rC/+vfxv/u4cj/7uHH/+7ix//u4cb/7eDE/+zfwv/s3cD/69y/ + /+rbvf/p2rv/6dm6/xkXFFwAAABQAAAASwAAAEQAAAA9AAAANQAAAC0AAAAkAAAAHAAAABUAAAAPAAAA + CgAAAAcAAAAEAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC6sJyOubCc + /7qxnf+7sp7/vLOf/720oP++taH/v7ai/8C3o//CuaT/w7ql/8S7pv/GvKf/x72p/8m/qv/KwKv/y8Gs + /8zCrv/OxK//z8Ww/9DHsf/RyLL/08q0/9TLtf/VzLb/1s23/9jPuf/Z0Lr/2tG7/9vSvP/d1L3/3tW/ + /9/WwP/g18H/4djC/+Paw//k28T/5NvF/+HZwv/b0r7/3tXA/8e/rf+spZb/nJaJ/6Cbjf/j28X/7uXP + /+/m0P/w59H/8OfR/+7l0P/l3Mf/6N/K/9zUwP/Qybb/xL2r/7mzo//Buqn/npmM/5uVif/DvKv/4dnF + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW/6eUff+SfWX/n4tz/66bg/++rJL/y7qg/9fHrP/f0LT/5NW4 + /+fZu//p2rz/6dq7/+nZuf/o2Lj/59e2/+bWtP/m1bP/5dSx/+TTr//dy6nxAAAAVQAAAFIAAABPAAAA + SgAAAEUAAAA+AAAANwAAAC8AAAAnAAAAHwAAABcAAAARAAAADAAAAAgAAAAFAAAAAwAAAAEAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAvrWgIbyzn/m9tKD/vrWh/7+2ov/BuKP/wrmk/8O6pf/Eu6b/xryo + /8e9qf/Jv6r/ysCr/8vBrP/Nw67/zsSv/8/FsP/Qx7H/0smz/9PKtP/Uy7X/1cy2/9fOt//Yz7n/2dC6 + /9rRu//c07z/3dS9/97Vv//f1sD/4NfB/+LZwv/j2sP/4NjB/9nRvP/VzLn/yMCu/763pf+oopP/pqCS + /4F9cv+2sJ//tK6e/7exoP/Gv63/3dXB/+beyP/a0r7/4NjE/8vEsf/Cu6r/vren/4aBd/+Yk4b/u7Wk + /8W+rf/j2sb/6eHM/+vizf/u5tD/08y5/7u1pP/c1MD/9OvV//Xs1v/17Nb/9ezW//Xs1v/17Nb/va2W + /412Xf+Xgmj/pZF2/7Oghf/BrpH/zrud/9fFpv/dzKv/4c+u/+PRr//k0q//5NKu/+PQrP/iz6r/4c6p + /+HNp//gzKX/38uk/7upiM4AAABTAAAAUQAAAE8AAABMAAAASAAAAEQAAAA+AAAANwAAADAAAAApAAAA + IQAAABoAAAATAAAADgAAAAkAAAAGAAAABAAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/tqKVwbij + /8K5pP/DuqX/xbun/8a8qP/Ivqn/yb+q/8rAq//Lwaz/zcOu/87Er//PxrD/0Mex/9LJs//TyrT/1Mu1 + /9bNtv/Xzrj/2M+5/9nQuv/a0bv/3NO8/93Uvv/e1b//39bA/+HYwf/f1sD/1865/9fPuv++t6X/tK6d + /721pP+4saD/f3tw/7ixoP+jnY//xr+t/8vEsv/i2cT/3NO//+DYw//Xz7z/vrin/6yml/+0rp//ko2B + /6Kcj//Fvq3/0cq3/9/Xw//s487/6+LN/+DYw//Wz7z/2dG9/7q0o//Auaj/ioZ7/7uzo/+po5X/o52Q + /93Vwf/z6tT/9ezW//Xs1v/17Nb/9ezW//Xs1v/UxrD/h29W/5F6YP+dh2v/qpV4/7eihP/Er5D/zrqY + /9bBnv/axqH/3cmi/97Jov/eyqL/3smg/93Hnv/cxp3/3MWb/9vDmf/awpj/aV5KmQAAAFAAAABPAAAA + TQAAAEwAAABJAAAARgAAAEIAAAA+AAAAOAAAADEAAAAqAAAAIwAAABsAAAAVAAAADwAAAAoAAAAHAAAA + BAAAAAMAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAx76pCsW7p/HGvKj/yL6p/8m/qv/KwKv/y8Gt/83Drv/OxK//z8aw + /9DHsf/SybP/08q0/9TLtf/Wzbf/1864/9jPuf/Z0Lr/29K7/9zTvf/d1L7/3dS+/9XMt//SyrX/1cy3 + /8e/rP+popP/oZqM/5SOgf+RjID/saqa/7Wvnv/Evav/29K+/+ffyf/f18L/2dG9/8W+rf/Ty7j/s62d + /6OdkP+Lhnv/qKKU/763pv+8taX/0Mi2/+bdyP/p4Mv/49vG/9fPvP/Xz7z/u7Sk/5SPg//Gv63/h4J4 + /5aRhf/a0r7/y8Oy/+3kzv/m3sn/5dzH/+jfyv/g18P/t7Gg/9zUwP/17Nb/9ezW//Xs1v/17Nb/9ezW + /+ziy/+Da1H/i3NY/5V+Yf+himz/rpd3/7ulgv/Fr4r/zreQ/9O8lP/Wv5b/2cCW/9nAlf/ZwJX/2L+T + /9i+kf/XvZD/1ryO/9K4i/cgHBVaAAAATAAAAEwAAABKAAAASQAAAEgAAABGAAAAQwAAAEEAAAA8AAAA + NwAAADEAAAArAAAAJAAAAB4AAAAXAAAAEQAAAAwAAAAIAAAABQAAAAMAAAABAAAAAQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKwaxSysCs + /8zCrf/Nw67/zsSv/8/GsP/Rx7L/0smz/9PKtP/Uy7X/1s23/9fOuP/Yz7n/2tG6/9rRu//b0rz/0Miz + /9vSvP/IwK3/qaKT/66nl/+ZlIb/kYx//6iilP+sppf/zMSx/6+pmf/Rybf/2NC8/+DYwv/Ty7j/0cm3 + /7awoP/KwrD/s62d/7y1pf+1rp//mpSH/763p//Z0b7/5NvH/+zjzv/a0r//3tXC/764p/+dmIr/raaY + /763pv+JhXr/vLWl/8jBr//c1MD/2NC9/+ffyf/v59H/4NjE/8rDsf+ppJX/o52Q/6mklf+emYv/vren + /+jfyv/QyLb/5dzI//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW/495YP+FbFH/j3ZZ/5mBYv+ljWz/spl1 + /7ykff/FrIP/zLKH/9G2iv/TuIv/1LmK/9S5if/UuIj/07eH/9K2hv/StYT/iXdWrQAAAEkAAABJAAAA + SAAAAEcAAABGAAAARQAAAEQAAABCAAAAQAAAAD0AAAA6AAAANgAAADAAAAArAAAAJQAAAB4AAAAZAAAA + EgAAAA0AAAAJAAAABgAAAAMAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7Fr5nQxrH/0ciy/9LJs//TyrT/1cy1/9bNt//Xzrj/2M+5 + /9bNt//QyLP/0sq1/7myoP+zrJv/wrqo/6uklf+Lhnr/s6yc/6Gbjf+qpJT/trCf/8a/rf/a0r3/3dXA + /9vSvv/Fvqz/sKqa/5uViP/QyLX/jYl9/4mFev+5sqH/vLWk/+XdyP/m3cj/6N/L/+ffyv/Xz7z/sqyc + /8S9rP+TjoL/xb6s/5WQhP+wqZr/vbam/8C5qf/b07//6eDL/+ngy//UzLn/vren/7q0pP+rpZb/mZOH + /9LLuP/PyLX/vLal/8O8q//a0r//597J/+rhzP/Xz7z/qaSV/7u0pP/o38r/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/qJR8/4FoTf+Ib1P/k3la/52EYv+pj2r/tJpy/72id//EqXz/yq5+/82xgP/PsoD/z7J/ + /9Cyf//PsX3/zrB8/8WoduobFxBQAAAARQAAAEUAAABEAAAAQwAAAEIAAABBAAAAQAAAAD8AAAA+AAAA + PAAAADoAAAA3AAAAMwAAAC8AAAAqAAAAJQAAAB8AAAAZAAAAFAAAAA8AAAAKAAAABgAAAAQAAAACAAAA + AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA08q0 + 0tXMtv/Wzbf/1864/9jPuf/PxrH/vbWj/7myoP+popP/kox//4N+c/+fmYv/j4p+/6ullf/Xz7r/1My4 + /97VwP/b0r3/1867/9vTvv+noZL/uLKh/5mUh/+Ig3j/rKWW/7awn/+0rZ7/08y5/+bdyf/m3cj/5d3I + /8vEsv/NxrT/pqCS/8zEsv+alYj/nJeK/8a/rf+oopT/1My5/97Wwv/o38v/4trG/9DItv/Ty7n/zMWz + /5uWif+Uj4P/opyO/7awoP+up5n/ycGw/+Laxf/o4Mv/4NjE/8O8q//Xz73/29O//66nmf+wqZr/t7Gh + /6Kcj/+po5T/0sq4/+7l0P/069X/9ezW//Xs1v/17Nb/9ezW//Xs1v/BsJn/fWRJ/4RqTv+MclT/lnxa + /6KHYf+skWj/tZlt/72hcv/DpnX/yKl2/8urd//LrHb/zKx2/8urdf/KqnT9SD0pcAAAAEEAAABAAAAA + QAAAAD8AAAA/AAAAPgAAAD0AAAA8AAAAOwAAADoAAAA5AAAANwAAADYAAAAzAAAAMAAAAC0AAAAoAAAA + JAAAAB4AAAAZAAAAEwAAAA4AAAAJAAAABgAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANnPugPZ0Ln52tG7/9vSvP/c073/3tW+/5GMf/+Lhnr/pJ2P + /7Krmv/Uy7j/1865/9/Xwf/Y0Lv/ycGu/8W+q/+oopL/tK2d/4uGe/+Qi3//1My4/721pf/Xz7v/4NjD + /9/Wwv/e1sL/ysOx/9XNuv+clon/y8Sx/5mUh/+gm47/rqiZ/7ixof/UzLr/6+PN/+vjzv/j2sb/2NG9 + /+7lz/+0rp7/uLGh/7Otnv+hnI7/nJeK/7Grm//i2sX/3dXB/+Xcx//q4s3/29O//9HKt//Rybf/q6WW + /762pv+Lh3v/mJOG/8jBsP/q4cz/0cq4/+rizP/p4Mv/4trG/8S9rP/IwbD/wLqo/+nhzP/17Nb/9ezW + //Xs1v/17Nb/9ezW/9vOt/97YUf/f2ZK/4dtT/+QdVT/mn5Z/6SIX/+ukWX/t5lp/72fbP/Do27/xqZv + /8inb//Jp3D/yKdv/3ZjQpAAAAA9AAAAPAAAADsAAAA6AAAAOgAAADkAAAA5AAAANwAAADcAAAA2AAAA + NQAAADQAAAAzAAAAMgAAADEAAAAvAAAALAAAACkAAAAlAAAAIQAAABwAAAAXAAAAEQAAAAwAAAAHAAAA + BAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3dS+ + Gt7Vvv/f1sD/4NfB/+HYwv/i2cP/08q2/8C5p/+4saD/2M+6/4mFef+BfHL/s6yd/7Sunv+zrZ3/1s67 + /8/Htf/m3sj/4NjD/+bdyP/Gv63/pqCS/6iilP+/uaj/gHxy/6iilP+Pin7/2tO//9HKt//o4Mv/6+PO + /+DYxP/QyLb/29O//6SekP+WkYX/q6aX/6Kcjv+vqZr/6+PO/9fPvP/l3Mj/6uLM/+HZxP/Du6v/ycKw + /8jBr/+ppJX/ioZ6/7+4p/+jnZD/zMWz/8rDsf/f18P/6+LN/+Tcx//Wzrv/3dXB/8G7qv/OxrT/trCg + /7u1pP/HwK7/rKaX/723pv/a0r//7+bR//Xs1v/17Nb/9ezW//Xs1v/17Nb/8ujS/3xkSv99Y0j/gmhL + /4pvT/+UeFT/noJZ/6eKXv+xkmL/uJlm/76eaf/Comr/xKRs/8akbP5+aUWVAAAAOAAAADcAAAA2AAAA + NQAAADUAAAA0AAAAMwAAADMAAAAxAAAAMQAAADAAAAAvAAAALgAAAC4AAAAtAAAALAAAACoAAAAoAAAA + JgAAACQAAAAhAAAAHAAAABgAAAASAAAADQAAAAkAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADi2cMq49rD/+TbxP/l3Mb/5t3H/+feyf+jnI7/hoJ3 + /5aQhP/Z0b3/ycGv/9bOuv/l3Mf/5t3I/9HJtv+emIv/pJ6Q/7y1pP+Lhnv/uLGh/6yll/++t6f/1c26 + /+rhzP/k3Mf/6eDL/9fPvP/Xz7z/nZiL/4+LgP+9t6b/jol+/5mUh//Syrf/y8Sy/9vTv//o38r/6eDL + /9vTwP+vqZr/qqSW/8a/rf+po5T/n5mM/6Kcj/+wqpv/2tK//9XOu//k28f/4trG/+LZxf/HwK//1c26 + /763p/++t6f/t7Cg/5CMgP+0rp7/0Mm2/+Lax//s487/6eHL/93Vwf/f18P/raeY/6Sfkf/k3Mf/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/k31k/3phRv9+ZUj/hWpL/45zUP+Ye1X/oYNZ/6qMXv+0lGP/u5tn + /8Cgaf/Comr2bFo7ewAAADEAAAAwAAAALwAAAC4AAAAtAAAALQAAACwAAAAsAAAAKwAAACoAAAApAAAA + KAAAACgAAAAnAAAAJwAAACYAAAAlAAAAJAAAACMAAAAhAAAAIAAAAB0AAAAaAAAAFgAAABEAAAAMAAAA + CAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AObdxyvn3sn/6N/K/+ngy//q4cz/6+LN/+feyf/JwbD/zcWz/7ixof+Uj4P/pqCS/7y1pP+3sKD/vLal + /722pv/Syrj/6N/L/+rizf/k28f/08u4/7Cpmv+7tKT/nZiL/4yHfP/Evaz/l5KF/9vTv//IwbD/1c26 + /+ngy//k3Mf/6ODL/8/Itf/Kw7H/npmM/8W+rP+nopT/vLWl/7Grm//Uzbr/6eHM/+beyf/l3cj/1s+8 + /9LKuP/Auaj/p6GT/5qViP+vqZr/raeY/7Grm//f18P/5NvH/+zkzv/r4s3/4dnF/8C5qP/LxLL/sKqb + /8C6qP+rpZb/kIyA/9HJt/+8taX/zse1/+7m0P/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v+tm4P/d15E + /31jR/+DaEr/i29O/5h7VfidgVfdl3xUu29bPpZeTTR2SDwoTxgUDTAAAAAnAAAAJwAAACYAAAAlAAAA + JQAAACQAAAAkAAAAIwAAACIAAAAiAAAAIQAAACEAAAAgAAAAIAAAAB8AAAAeAAAAHQAAAB0AAAAcAAAA + GwAAABoAAAAZAAAAFwAAABQAAAARAAAADgAAAAsAAAAHAAAABAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6uHLIevizf/s487/7eTO/+7lz//v5tD/zcaz + /4yIfP+sppf/2NG9/9HJt//f18L/6ODL/9bOu//e1sL/pZ+S/8fArv9/e3H/t7Cg/6Kcj/+rpZb/tK2e + /+HZxP/m3sn/4trG/+Tbxv/m3sn/0sq3/5yXiv/Buan/mJOH/5CLf//MxLL/zse1/87GtP/g2MT/6+PN + /+jgy//k3Mf/vren/7Sunv/Auaj/oZyO/6Kcj/+alYj/xL2s/9XNuv/Vzbr/5d3I/+/m0f/a0r7/18+9 + /66omf/OxrT/npmM/5aRhf/Evav/mZSH/8G7qf/g2MT/5NzI//Hp0//x6NL/9OvV//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW/9DCqfBxWkCrZVE5ll5MNXY7MCFFGhUPLQ8MCSYAAAAgAAAA + HwAAAB8AAAAeAAAAHgAAAB0AAAAdAAAAHAAAABsAAAAbAAAAGwAAABoAAAAaAAAAGQAAABgAAAAYAAAA + GAAAABcAAAAXAAAAFgAAABUAAAAVAAAAFQAAABQAAAAUAAAAEgAAABEAAAAQAAAADwAAAA0AAAAKAAAA + BwAAAAUAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAADs480G7+bQ+fDn0f/x6NL/8ejS//Lp0//x6NL/3tbC/9rSvv/HwK//npiL/5WQhP+JhHn/pqGT + /7Otnf+5s6P/5d3I/9zUwf/m3sn/49rG/9XNuv/Rybb/lpGF/6Odj/+NiH3/mpWI/8zEsv/Vzbr/wbqq + /+DYxP/r4s3/6uHM/8/Itf+8tqb/vbWl/7Sunv+8taX/ubKi/8nCsf+/uKj/vbem/9zUwf/q4cz/59/K + /+XcyP/DvKv/xr+t/5SPg/+Ig3j/ta+f/6mjlP+qpJX/xb6t/+Laxf/n3sn/6ODK//Tr1f/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/8OfR + 4QMCAhYCAQEXAAAAFwAAABYAAAAWAAAAFgAAABUAAAAVAAAAFQAAABQAAAAUAAAAEwAAABMAAAATAAAA + EgAAABIAAAARAAAAEQAAABEAAAAQAAAAEAAAABAAAAAQAAAADwAAAA8AAAAOAAAADgAAAA4AAAANAAAA + DQAAAAwAAAALAAAACwAAAAoAAAAJAAAACAAAAAYAAAAEAAAAAwAAAAIAAAABAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADy6dPG8+rU//Pq1P/069X/9OvV + /+7l0P+blon/vbem/8fArv/KwrH/5t3I/+ffyv/m3sn/4dnF/9HJt/+qpJb/pJ6R/4qFev+WkYX/l5KG + /9LKt//QyLb/4djE/+rizP/i2sX/1c26/9DJt/+po5X/m5aJ/5WRhP/Sy7j/ko2B/6ullv/Wz7v/29O/ + //Dn0v/q4cz/1s67/97Wwv+vqZr/lI6D/7u1pP+Mh3z/zsa0/6Kcj//PyLX/1M26/97Wwv/q4s3/8+rU + //Tr1f/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/VlNLIQAAAA4AAAANAAAADQAAAA0AAAANAAAA + DQAAAA0AAAAMAAAADAAAAAsAAAALAAAACwAAAAsAAAALAAAACgAAAAoAAAAJAAAACQAAAAkAAAAJAAAA + CAAAAAgAAAAIAAAACAAAAAgAAAAIAAAABwAAAAcAAAAHAAAABwAAAAYAAAAGAAAABQAAAAUAAAAEAAAA + AwAAAAIAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAPTr1Y717Nb/9ezW//Xs1v/17Nb/9ezW/+Laxv+9t6b/ysOx/5OOgv+4saH/mJOG + /6agkv+yrJz/18+8/9TMuv/e1sP/6uHM/+bdyP/Syrj/2dG+/8e/rv+Uj4P/ta+f/5OOgv+gmo3/yMGv + /8vEsv/a0r7/597J/+vizf/X0L3/29O//6agkv+7taT/n5qN/8S8q/+ZlIf/wbqp/87HtP/NxrT/6uLN + /+vizP/y6dP/9OvV//Tr1f/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Tr1f/z6tT/8ejS/+7l0P/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v+jnI1RTEc/Bz05MgcrJyEGFxQQBwsJBgYIBwQGBgUDBgkHBQYLCQUGBwUDBgQDAgYCAQEGAQAA + BQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAMAAAADAAAA + AwAAAAMAAAADAAAAAwAAAAIAAAACAAAAAgAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8+rUV/Xs1v/17Nb/9ezW + //Xs1v/17Nb/wruq/5aRhf/HwK7/z8e1/+HZxP/n3sn/49vG/+jfy//MxLL/xL2s/7Cqm/+5s6P/raaY + /5eShv+9tqb/49vG/9fQvf/s48//2tK//9nRvv/Cu6r/wbqp/7mzov+OiX7/zse0/5qViP/Fvaz/ta+f + /9jRvv/k3Mf/8unT//Tr1f/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Tr1f/v5tH/6uLM/+3kz//Cu6r/ycGw + /62nmP+sppj/pZ+R//Pq1P/17Nb/9ezW//Xs1v/17Nb/9ezW/+DXw4SdlocDf3lsA1dTSQMoJSADCAcF + AwMCAQIBAQACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAABAAAA + AQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD069Uh9ezW//Xs1v/17Nb/9ezW//Xs1v/w6NL/z8i2/6mklf+0rZ7/zMSz + /3x4bv+SjoL/zse0/8nCsP/Xz7z/5dzH/+ngy//k28f/2tO//97Wwv+alYj/m5aJ/6ehk/+2r5//npmM + /62nmP++t6b/59/J/+XdyP/z6tT/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Pq1P/s5M7/1c67 + /9XNuv+3saH/vbal/5qVif+zrZ3/3dXB/5iShv/KwrH/18+8/9zUwf/q4cz/8+rU//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9OvVubCpmQGUj4IBbmpgATg1MAEICAcBAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17Nbq9ezW + //Xs1v/17Nb/9ezW/+vizf+po5T/sqyc/8jBsP/o38v/4NjD/+rhzP/Z0b7/39fD/6qklv+FgXb/rKeY + /6qllv+inI//z8i1/8G6qf/e1sL/6eDL//Tr1f/z6tX/9OvV//Tr1f/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/069X/8OfS + /+feyf/Y0L3/3NTA/8W+rf+rpZb/ubKj/87Gtf9/fHH/ysKw/764p//Syrj/4tnF/+3kz//l3cj/3tXC + /9TNuv+emYz/qqSV/7KsnP/j28b/9ezW//Xs1v/17Nb/9ezW//Xs1v/17NbvzMWyAQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1rT17Nb/9ezW//Xs1v/17Nb/9OvV/9XOu/+qpJX/w7yr + /5SPg/+RjIH/sqyc/7mzov/Vzrr/yMGw/9zTwP/p4Mv/8ejT//Pq1P/069X/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9OvV + //Pq1P/y6tT/6eHM/+feyf/HwK7/t7Gh/8rDsP+Yk4b/iYV6/5SPg//Auaj/0cq3/9XNuv/p4cz/7uXR + /+jfyv/a0r7/tK6e/8W+rf+yrJz/wLmo/7u1pP/Hv67/2tG+/9HKt//UzLn/5dzI//Ho0v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/w59EpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezW + ffXs1v/17Nb/9ezW//Xs1v/17Nb/t7Gh/6+qmv/Px7X/5d3I/+XcyP/y6dT/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/069X/7uXQ/+3lz//g2MT/ysOx/8/Htf/z6tT/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Lp0//s5M7/7uXQ/83GtP+5s6L/ta6f/6Gbjv+hnI7/sKma/6qklv+7taT/49rG + /+Pbxv/n38r/4dnF/9jRvf/LxLL/qaSV/8vDsf+2sKD/wLmo/8nBsP+wqpr/ycKw/+Paxv/m3sn/7OPO + /9bPvP/Buqr/08y5/5GNgf+OiX3/39bC//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Tr1V8AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NZH9ezW//Xs1v/17Nb/9ezW//Xs1v/069X/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/069X/7+bR/+XdyP/Wzrz/xL2s/763p/+knpD/lZCE + /46Kfv+knpD/sqyc//Ho0//17Nb/7+bR/+zkz//Z0b7/ycKw/7iyov/OxrT/mpWI/6+pmv/QyLX/u7Wl + /7qzo//k3Mf/3dXC/+3kz//g2MP/1My5/7u1pf+7taT/sKqb/5iTh/+dmIv/w7yr/7+4p//TzLn/6uLN + /+zkz//i2sX/2NG9/9PLuP+gmoz/raeY/7Otnf+5sqL/wLmo/6+pmv/g2MT/29O//+LZxf/n38n/8+rU + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezWlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + APXs1hH17Nb+9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Do0v/w6NL/6N/K/9rSvv/JwrH/1c27 + /7Cqm/+VkIT/npmM/52Yi/+uqJj/v7io/+Pbxv/j28b/597J/9/Xw//Buqn/x8Cu/9LKt/+ln5H/mpSI + /6Cbjf+0rZ7/x8Cv/+Tbx//m3sn/7uXQ/+jfyv/d1cH/2NC9/6qklv+VkIT/s6yd/6ull/+3sKH/urSk + /9zUwP/r4s3/5dzH/+Paxv/l3Mj/yMGv/7q0o/+blon/xr+t/6ehk/+dmIr/2NG9/763p//Z0b7/6+LN + /9/Xw//c1MD/yMGw/7KrnP/b07//vLWl/6Cbjf/k3Mf/9ezW//Xs1v/17Nb/9ezW//Xs1v/17NbNAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1tj17Nb/9ezW//Xs1v/17Nb/8+rU + /7Sunv+ln5H/qKOU/42Jff+up5n/raeY/7ixof/X0Lz/5NzH/+XdyP/m3cn/4NjD/7u1pP/b07//oZuO + /42Jff+VkIT/mpWI/7ixov/Z0b7/39fD/+vizf/l3cj/39fD/+feyv+vqZn/npiL/7Cpmv+inY//xsCt + /8jAr//b07//3dXC/9nRvv/l3Mj/6eHM/9TMuv/b07//oJqN/7Wvn/+JhXn/hYF3/7exof/IwbD/wruq + /+Xcx//p4cv/6eDL/9nRvv/Gv67/7eTO/62nmP+dmIv/jYl9/6mjlP/Cu6r/z8i1/+bdyf/w59L/7+bR + //Pq1P/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1vr17NYJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA9ezWovXs1v/17Nb/9ezW//Xs1v/z6tT/uLKi/8K7qv/h2MT/5t3I/+jgy//PyLb/t7Cg + /8W+rf+FgXb/tK6e/763p/+/uKf/uLKi/97Vwf/a0r//5NzH/+bdyP/m3cj/zMSy/7awoP++t6b/l5KF + /5KOgf+blon/3NS//7Sunv/LxLL/6N/K/+jfyv/m3cj/39bC/7mzov/Iwa//m5aJ/4B8c/+9tqb/mZSH + /9rTv//Lw7L/4NjE/+vizf/m3sn/1My5/7y1pf/QyLb/lI+D/4+Kf/+po5X/rKWX/7mzo//p4Mv/4trG + /+ffyf/s5M7/8+rU//Tr1f/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1jwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NZs9ezW//Xs1v/17Nb/9ezW + //Xs1v/q4cz/ta+f/5SPg/+dmIv/paCS/6ullv+yrJz/18+9/9TNuv/p4cz/6ODL/+rhzP/Vzbv/sqyd + /722pf/Fvqz/i4d7/722pv+vqZn/vbam/9vUwP/j28b/6N/L/9/Wwv/j28b/urSk/8a/rv+Lhnv/saqb + /52Xi//Ryrf/ubOj/9LLuP/l3Mj/49vG/+ffyf/c1MD/2NC9/6Sfkf+Mh3z/vLal/7iyof+blon/raiY + /9LKuP/d1cH/5d3I/+/n0f/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezWcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAPXs1jX17Nb/9ezW//Xs1v/17Nb/9ezW/97Vwv+8taX/1s+8/+Laxv/o38r/1s67 + /8rCsf/Vzbv/u7Sk/6+pmv+1rp//s62e/8S9rP+8taX/0sq4/+ffyv/g2MP/5NzH/8jBr/+8taX/qaOV + /6OdkP+6s6T/kYyA/9fQvP+7tKT/18+8/9vSv//i2sb/4NfD/9XNuv/NxrT/sKqb/7y1pf/d1cH/o52P + /763pv/Ox7X/y8Sz/9rSv//n38r/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17NaqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWBvXs1vf17Nb/9ezW + //Xs1v/17Nb/7+bQ/7awoP+JhXr/mJKG/9LLuP+FgXb/pJ+R/93Vwf/h2MT/59/K/93Uwf/l3cj/1M26 + /763p//Qybb/iYV6/5aRhf+oopT/08u5/722pv/Syrf/2NC9/+nhzP/b08D/1s67/8rCsP+oopT/l5KG + /763pv+JhXr/pJ6Q/8S9rP/PyLX/4tnF//Tr1f/w59L/9OvV//Tr1f/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/069X/8+rU + /+3lz//s487/5d3I/+/n0f/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1uEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWxvXs1v/17Nb/9ezW//Xs1v/w6NL/yMCv/9LKuP/h2MT/2dG+ + /93Uwf/c08D/xb6t/9HJtv+alIj/h4J4/6ullv/DvKv/wLmo/+DYxP/e1sL/3dXC/+XdyP/Evaz/vrin + /7u1pP+qpJX/s6yd/4J+c/+alYj/ysOx/8a/rv/UzLn/7uXQ//Pq1f/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Tr1f/y6dT/8ejT/+Paxv/Qybb/v7in/8a/rv/069X/9ezW//Xs1v/17Nb/9ezW + //Xs1v/069X/9OvV/+rhzP/n38r/0sq4/8jBr//Gv63/j4p+/5WQg/+yq5z/4NfD//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1hgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NaQ9ezW + //Xs1v/17Nb/9ezW//Xs1v/JwbD/i4d7/62nmP+knpD/l5KG/8K8qv/Xz7z/5NzI/+ffyf/g2MT/3dTB + /8O8q//b07//pqCS/5SPg/+BfXP/wLmo/6Kcj//Buqn/2dG+/9bOu//w6NL/8ejT//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9OvV//Pq1P/t5M//6eDL/9nRvf/Uzbr/r6iZ/5qViP+/uKj/nJeK + /5eShv+qpJb/zca0//Pq1P/y6dP/7uXQ/+DYxP/Wz7z/xb6t/46Jfv+noZP/raeY/722pf/MxbP/2dG+ + /+beyf/l3cj/3tbC/97Vwv/u5tD/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezWTwAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1lr17Nb/9ezW//Xs1v/17Nb/9ezW/9bOu//Vzbr/5t3I + /+vjzv/c1MH/urOj/66omf+oopT/oZuO/4R/df+9tqX/kIt//9DItv/Lw7L/3dTB/+ffyv/z6tX/9OvV + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9OvV//Pq1P/i2sb/29PA/+DYw/+7tKT/nZeK + /7KsnP+WkYT/sqyc/7qzpP/Ox7T/1My5/+nhzP/q4sz/4NfE/8zFs//Fvq3/q6WW/5iThv/HwK7/vrem + /87HtP/c1MD/0Mi3/93Vwf/q4cz/4NjE/97Wwv/DvKv/mJOH/8jArv+JhHr/jId8/9zUwP/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17NaHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezW + I/Xs1v/17Nb/9ezW//Xs1v/17Nb/4trG/5yXiv+zrJ3/mpWI/4iDef+po5X/u7Sk/9PLuP/e1sL/6uHM + //Pq1P/069X/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Tr1f/z6tT/8urU/+HZxP/Z0b3/v7in + /7Grm/+hm47/wrup/5+ZjP+5sqL/18+8/9nRvv/Rybf/6ODK/+TcyP/p4Mv/zMWz/7iyov+ZlYj/rKaX + /6+pmv+clon/s62d/9fPvP/Wzrz/59/K/+Tcx//q4cz/z8e1/7exof/JwrD/gn5z/5mUh//Cu6r/vLWk + /9nRvv/QyLb/59/K/+vizf/j28b/1s67/+7l0P/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1r0AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezW6/Xs1v/17Nb/9ezW//Xs1v/q4cz/ycKw + /+Laxf/q4sz/8OfS//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/8unT//Tr1f/n3sn/2tK/ + /9fPvP/Fvq3/pJ6Q/7myov/Auaj/s62d/56ZjP+8tqX/y8Sy/97Wwv/q4cz/59/K/9/Xw//Z0b3/ysOx + /8nCsP+jnpD/iIR5/7Osnf/Cu6r/0Mm2/9fPvP/k3Mf/6+PN/9rRvv/Gv67/0Mi2/7Otnf+Yk4f/n5mM + /8S9rP++uKf/ubKi/+feyf/b07//5dzH/9/Xw//MxLP/xLyr/7Wunv+emYz/y8Sy/83Fs/+xqpv/49vG + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW8vXs1gIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAD17Na19ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/y6tT/9ezW + /+Pbxv/o38r/3dXB/9DJtv+Zk4f/zMWz/52Xi/+TjoL/op2P/66nmP/Ty7n/6ODL/+jfyv/j28b/18+8 + /8K7qv/g2MP/k46C/4qFe/+wqpv/pqCS/9nRvv/b07//6N/K/+zjzv/e1sL/1c27/9zUwP+xq5v/08u4 + /4N/df+tp5j/lI+D/5uViP/Iwa//4dnF/9zUwP/n38r/29O//9jQvf/Cu6r/qqSW/+Tbx/+uqJn/pZ+R + /6Kdj/++uKf/29PA/+XcyP/o38r/0Mm3/9zUwP/w6NL/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + LQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1n717Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/7eTP/+Tbxv/Vzbr/rqmZ/5iThv+zrJ3/gn50/6+omf/Syrf/0Mm3/9nSvv/p4Mv/6+LN + /+ngy//Uzbr/2NC9/6+pmv+Zk4f/sKqb/5uWif+clon/tq+f/+Tcx//Wzrv/49rG/+LZxf/k3Mf/yMGv + /9LKt/+emYz/sKqb/6Kcjv+Hgnj/x7+u/7u0pP/k28f/49rG/+LZxP/r4s3/29O//7exof+hm47/urSj + /5OPg/+Uj4P/s62e/8jBr//Wzrz/6uHM/+HZxf/t5M//3NPA/9jQvf+0rp7/wLmo/5GMgP+Pin//wbuq + /+/m0f/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17NZjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA9ezWSPXs1v/17Nb/9ezW//Xs1v/17Nb/49vH/56Yi/+KhXr/nZeL/6+pmv/Kw7H/0Mm2 + /+jgy//p4Mv/6ODL/9vUwP/Xz7z/v7io/5iThv+jnZD/zse0/5eShf/MxbP/zse1/9jQvf/n38r/59/K + /+Pbxv/Auaj/2tK+/56Yi/+zrJ3/h4N4/7Cqm/+yrJz/4NfD/9fPvP/h2cX/7uXP/+rhzP/Vzbv/yMGv + /8W+rP+TjoL/hIB2/7Ksnf/LxLL/u7Sk/8/Itv/i2sb/7OPP/+LZxf/m3sn/wruq/8W+rP+JhXr/jId8 + /8jBr//Ryrf/wbmp/9nRvv/p4cz/6uLM/+Tcx//e1sL/ycKw//Ho0v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1pkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NYT9ezW/vXs1v/17Nb/9ezW + //Xs1v/q4cz/1s67/+Paxf/l3cj/5t7J/7Wvn/+noZP/yMGv/7Otnf+sppf/yMGv/7+4p//c1MH/2NG9 + /+Laxf/c1cH/z8i1/87GtP+9tqb/l5KF/5uWif+Qi3//ysKw/62nl//i2sb/2NG9/+XdyP/m3cj/49vH + /8a/rf+2sKD/ubKi/5+ajP+uqJn/597K/7ewoP/TzLn/4NjD/+Laxf/e1cH/5t3I/9rSvv/DvKv/q6WW + /8a/rf+emIv/rKWX/8bArv+/uaj/4dnF/9zUwP/q4cz/6eHM/9HKt//Px7X/4NjE/5OOgv+ooZT/raeY + /6ull//Gv63/7eTO//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW0QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD17Nbb9ezW//Xs1v/17Nb/9ezW/+7m0P+gm43/fXlv/4+Kf//d1cH/o56Q + /8O8q//p4Mv/7eXP/+bdyf/DvKv/zsa1/8G6qf+emIv/xL2r/4qGe/+ln5H/u7Sk/+Tbx//Xz7z/5d3I + /+XdyP/e1sL/wbqp/7avoP+7tKT/k46C/4qGe//Iwa//pJ+R/8O8q//a0r//597J/+rizf/NxrT/0sq3 + /9DJtv+/t6f/lZCE/4qFev+hm47/wbqp/7y2pf/NxbT/6eDL/+jgy//g2MT/3dXB/+Paxv+WkYT/urOj + /5qViP+rpZb/saub/9LKuP/o38r/39fD/+rhzP/f18P/3dXB/9TNuv/n3sr/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb89ezWDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1qT17Nb/9ezW + //Xs1v/17Nb/9OvV/+HZxf/f18P/6+LN/8a/rv/DvKv/w7yr/7ewoP/Fvqz/nZeK/5yXiv+6tKP/29PA + /9jRvf/n3sn/49vG/8rDsf/X0Lz/rKWX/6CajP+2r5//lpGE/8fArv+jnY//t7Cg/+Tbxv/j28b/6uLN + /+DXw//h2cX/wruq/8jBr/+yrJ3/op2P/5CLf/+9t6b/2NC9/9vTv//l3cj/6uHM/+zkzv/Sy7j/ubKi + /6Wfkf+yrJ3/urOj/5yXiv/Fvq3/5t7J/8K7qv/n3sn/5t3I/+vjzv/d1cH/2NC9/8O8q/+5sqL/wrqq + /5aRhf+alIj/wruq/+Paxv/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17NY/AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWbfXs1v/17Nb/9ezW//Xs1v/17Nb/wLqp/356cP+kn5H/v7in + /7KrnP/Vzbr/6N/K/+rizf/p4Mv/ycKw/9LLuP+blYj/zsa0/5SPg/+SjoL/lpGF/9LKuP/HwK//29O/ + /+nhzP/o4Mv/3tbC/8a/rv/c1MD/l5KG/5+ZjP/Fvqz/sauc/8G5qf+9tqb/4trG/+TcyP/n3sn/4dnE + /9bOu//Fvq3/urOj/6Gbjv+IhHn/v7in/7Osnf+3sKD/ysKx/+LZxf/s487/4dnE/+XdyP/OxrT/ycKw + /722pv+AfHL/nZeK/7myov/HwK//4NjE/+ffyf/q4cz/7eTP/9LKuP+/uKj/5NzH//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1ncAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NY39ezW + //Xs1v/17Nb/9ezW//Xs1v/p4Mv/6N/K/+rhzP/b07//v7mo/5+ajP+Xkob/mJKG/6Cbjf+Uj4P/1My6 + /7u0pP/h2MT/49rG/+beyf/Z0b7/wrur/7avn/+VkYT/nJeK/8fArv+2r5//m5aJ/9TMuf/Syrj/4NjE + /+ngy//r4s3/zcW0/8W+rf/Qybb/t7Gg/4qFev+9t6b/pJ6Q/8rCsf/Ryrf/5dzI/+Laxf/l3cj/2tK/ + /8O8q/+uqJn/ta+f/5aRhf+blon/zMSy/87GtP/e1sL/6uHM/+bdyP/g18P/29PA/9TMuf/Evav/ubKi + /4iDeP/Auaj/nZeK/52Xiv/c1MD/9OvV//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezWrgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1gb17Nb59ezW//Xs1v/17Nb/9ezW/+Pbxv+Mh3z/rqiZ + /6yll/+knpH/zMWz/9nSvv/r4s3/7eTP/9/Xw//HwK//vbem/5uVif+Pi3//jYl9/7+4p/+vqZn/w7yr + /93Vwf/g2MP/6eDL/+rizf/X0Lz/vrem/6iilP+gm43/mZSI/764pv+1r5//zMWz/+Paxv/r4s3/5NzH + /97Wwv/Px7X/2NC9/7Otnv+loJL/ioV6/6qklv+7tKT/ta+f/87GtP/l3cj/5t3J/+jfyv/Uzbr/3NTA + /7qzo/+ZlIj/xr+t/4N/df+ZlIf/1My6/8fAr//o4Mv/4trF/+3kz//z6tT/8+rU//Tr1f/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17NbkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + APXs1sn17Nb/9ezW//Xs1v/17Nb/8ejT/+Laxf/h2cT/29TA/7y1pf/JwrD/qqSW/6Cbjv+3sKD/vren + /7Cqm//Gv67/0su4/9/Xwv/p4Mv/2tK//8C6qf+8taX/pqCS/5eShv+1r5//urSk/8zFs/+1r5//19C9 + /9/Xwv/m3sn/29O//9rSvv/DvKv/zcWz/7myo//Cu6r/sKqb/5eShf/Buqn/18+8/+LZxf/o4Mr/3NTA + /+DXw/+9tqb/opyO/7ewof+0rZ7/jYh9/7KsnP/HwK7/0su4/87GtP/r483/7eTP//Lp0//17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17NYcAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWkvXs1v/17Nb/9ezW//Xs1v/069X/o52Q + /4B8cv+wqpv/qKKU/87Htf/b07//4NjD/+beyf/NxrT/08u4/9PLuf++t6b/kYyA/8a/rf+oopT/raeX + /763pv/NxbT/5NvG/+ngy//k3Mf/zMSy/7q0o/+jnZD/2dK+/4mFev+Mh3z/vbal/7y1pP/m3sn/5t7J + /+rhzP/q4cz/1c67/7iyov/KwrH/ko6C/8zEsv+NiH3/saub/7Otnf+5sqL/1c26/+vizf/s487/9OvV + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1lQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAD17NZc9ezW//Xs1v/17Nb/9ezW//Xs1v/p4cz/59/K/9jQvf/Ty7j/wbqp/6Cajf+OiX7/sauc + /5SPg/+7taT/49vG/+HZxf/q4cz/59/K/+beyf/i2sb/saub/8O8qv+ZlIj/jYh9/7KrnP+0rp7/ta6f + /9TMuv/q4cz/5t7J/+ngy//MxbP/1My6/6ullv/Kw7H/lpGF/6Sfkf+9t6b/p6GT/9bOu//Y0L3/6uHM + //Lp0//y6dP/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/069X/9OvV//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + igAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1iX17Nb/9ezW//Xs1v/17Nb/9ezW + /+Pbx/+Yk4b/lI+D/6+pmv/Auaj/4dnF/+Xcx//v5tD/5t7J/9fQvP/NxrP/urOk/7Wun/+NiX3/mpWI + /9nRvf+5s6P/3NTA/+DYxP/k28f/4djE/9LLuf/Wzrv/npmM/9DJtv+VkIP/qqSV/6Gbjv+6s6P/z8e1 + /+jgy//p4Mv/7OTO//Tr1f/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/8+rU//Ho0v/p4Mv/4trF/9XNu/+qpJX/urSj + /7qzo//u5dD/9ezW//Xs1v/17Nb/9ezW//Xs1v/17NbBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAPXs1u317Nb/9ezW//Xs1v/17Nb/8ejS/+Laxf/PyLb/y8Ox/+LZxf+QjID/jId8 + /8K6qv+5sqL/ubOi/9vSv//Vzbr/6uLM/+XdyP/q4s3/xr+u/6+pmv+wqpr/u7Wl/4SAdv+jnZD/k46C + /9nQvf/Kw7H/6ODL/+zjzf/w59L/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/069X/8ejS/+vjzf/Y0Lz/xb6t + /9HKt/+zrZ3/yMCv/7ixof/Gv63/0cq3/8G7qv/Ryrf/597J//Pq1P/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1vT17NYDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWt/Xs1v/17Nb/9ezW + //Xs1v/x6NL/n5qM/4qFev+fmoz/5d3I/8rCsf/e1sL/7eTP/+7l0P/UzLr/opyO/7Cqmv+5sqL/kIt/ + /764p/+knpD/vrem/9XNu//u5dD/7eTP//Lp0//y6dT/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Tr1f/x6NL/59/K + /9jRvf/UzLn/ubKi/8nBr/+4sqL/wruq/7mzov+knpD/xr+u/93Vwf/n38r/6+PO/9rSv//MxbP/zse0 + /5OOgv+gm43/6N/K//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1jAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD17NaB9ezW//Xs1v/17Nb/9ezW//Xs1v/v5tH/0cm3/9nRvv+2sKD/n5mM + /62nmP+3saH/wLmo/7exoP++t6b/08u5/+ngy//r487/8unU//Tr1f/069X/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/069X/9OvV + //Dn0v/k3Mf/1M26/8jAr//Auan/sKqb/6Cajf+blon/tK6e/8K7qv/Gv67/6eHL/+zjzv/k3Mf/5NzH + /8zEsv+inI7/x8Gv/5yXiv/HwK7/r6iZ/6eik//c1MD/y8Sz/+DYxP/t5c//9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezWZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1kr17Nb/9ezW + //Xs1v/17Nb/9ezW/8a/rv+NiHz/saqb/9bOvP/Kw7H/5NzH//Ho0//069X/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Lp0//y6dT/7OPO/+Tcx/+/uKf/7OPO//Xs1v/17Nb/9ezW//Xs1v/17Nb/9OvV + //Tr1f/x6NL/8ejT/+nhy//g2MP/1868/6SekP+noZP/tK6e/6Odj/+rpZb/sKqa/9XNuv/k3Mf/4trG + /+jgyv/q4cz/wbqp/8nCsf+cl4r/yMGv/5aRhf+nopP/yMCv/6+pmv/c1MD/597K/+Laxv/j2sb/0Mm3 + /722pf/p4Mv/p6GT/6iilP/y6dP/9ezW//Xs1v/17Nb/9ezW//Xs1v/17NaeAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWFPXs1v717Nb/9ezW//Xs1v/17Nb/8unT//Pq1P/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/069X/8ejT//Pq1P/t5M7/3NTA/8zEs//X0Lz/m5aJ/5iShv+RjID/mZSH + /7Grm//r483/9ezW//Pq1P/r483/6eDL/97Wwv+zrZ3/rKaX/6ehk/+2r5//vLWl/8O8q//X0L3/z8e1 + /9LKuP/l3Mj/6eHL/97Wwv/Ty7j/qqSV/7Otnf+BfXP/hoF3/7+4p/+vqZr/w7yq/9bPvP/t5M//6eDL + /97Wwv/Wzrv/6+PN/6+pmv+VkIT/jYl9/6ull/+3saD/xL2s/+rizf/o38r/7OPO//Pq1f/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1tUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezW + 3PXs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/8unT/+beyf/Sy7j/v7io/8W+rf+JhHn/y8Sy + /7GrnP+2r6D/sqyc/9fPvP/UzLr/39bD/+ffyv/n38r/0cm3/8G7qv++t6b/kY2B/5OOg/+emYv/0cq3 + /6Wgkf/Fvq3/49vG/+Tbx//s487/4NfD/7+5qP/Vzbr/kYyA/4WBdv+2r6D/l5KF/9TMuf+7tKT/4NjE + /+DXw//l3cj/3dXB/8nBsP/Vzbv/mZOH/5WQhP+sppj/o56Q/7q0o//t5M//2dG+/+LZxf/k28f/6+LN + /9TMuv/PyLX/mpWI/46Kfv/Fvaz/8enT//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW/PXs1g8AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17Nam9ezW//Xs1v/17Nb/9ezW//Xs1v/j28f/ta6e + /6Cbjv+emIv/qqSW/5qViP+sppf/zMWz/8/Htf/o4Mv/6eHL/+3kzv/X0L3/vbem/9HKt/+xq5z/ko6C + /7Sunv+fmYz/tK6e/9jQvf/Z0b7/5NzI/+rhzP/h2cX/xL2s/8vEsv+Qi4D/rqeZ/6iilP/Evav/pqCS + /9jQvf/Y0L3/3tfD/+zjzv/h2MT/2tK+/6yml/+VkIT/zcaz/6ehk/+VkIT/pZ+R/9fQvP/OxrT/4NjD + /+ffyv/l3Mj/18+8/6Gcjv+jnY//4NjD/6Gbjv/HwK7/squb/9bOvP/Px7X/5dzI/+zjzv/r4s3/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezWQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + APXs1m/17Nb/9ezW//Xs1v/17Nb/9ezW/8nCsP+yq5z/zse1/9jQvf/n38r/39fD/9fPvP/a0r//vLWl + /7+4qP+hm47/wbqp/7OsnP+qpJX/0cm3/+jfyv/i2sX/6uLM/8rDsf/PyLX/pZ+R/722pf+oo5X/l5KG + /8/Itf+rppf/2NC9/8zEsv/l3Mj/5dzI/+DYw//TzLn/uLGh/9TMuf/JwbD/qaOV/7Wun//LxLL/v7io + /8/Itf/n3sr/6uLN/9zUwP/a0r//yMCv/8a/rv+dmIv/w7yr/62omf+/uaj/ubKi/9vSv//t5M//6N/L + /+Paxv/n3sr/tK6f/8K7qv+fmoz/qaOV/7Cqm//17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17NZ7AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWOfXs1v/17Nb/9ezW//Xs1v/17Nb/6eHM + /7ixof+WkYX/ta+f/7u1pP99eW//p6GT/9rRvv/X0Lz/5NvH/+Pbx//p4cz/1c26/87Htf/Ox7T/h4J4 + /5iShv+tppj/vLWl/7Wvn/+/uKj/2NC9/+jgy//g2MT/5dzI/8nBsP+vqJr/sKqa/66omf+Lhnv/pJ+R + /764p//Kw7H/5NvH/+jgy//s487/4tnF/9bOu/+ln5H/kYyA/7Stnv+inI//l5KG/6+pmv/Ty7n/1c26 + /+Laxf/s5M//4trG/8zEs//NxrT/rKaX/7KsnP+alYj/vram/+HZxf+rpZb/39fD/+Tcx//p4Mv/7eTP + //Pq1f/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1rEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAD17NYI9ezW+fXs1v/17Nb/9ezW//Xs1v/o38r/trCg/8jBr//a0r7/4dnE/9/Yw//k3Mf/ycKw + /9TNuf+XkYX/hIB1/7myov+vqZr/trCg/93Uwf/Xz7z/5dzI/+vizf/Kw7H/1s67/7KsnP/Gvq3/nZeK + /3x4bv+po5X/vLWl/8O8q//UzLn/7uXP/+bdyP/p4cz/1My5/9LKt/+fmoz/gn5z/7GrnP+wqZr/ycKw + /8K7qv/a0r7/5t3J/+zjzv/i2sX/0cq3/9jQvf+3saH/qaOV/7y1pP/Gv67/l5KG/9jQvf/PyLX/49vG + /+jgy//r4s3/2tK//9LKuP/EvKv/jId8/6SekP+0rp7/6uHM//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + 6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NbL9ezW//Xs1v/17Nb/9ezW + //Pq1P+8taX/l5KF/763pv+Oin7/mJOH/8W+rf/JwrH/4dnE/9vSv//k3Mf/3dXB/9bOu//a07//sKma + /5WQhP+JhXr/u7Sj/5eShf/Evaz/ycGw/9bOu//s487/59/K/+feyv/Evaz/0Mm2/87HtP+cl4r/uLKi + /6mjlf+/uKf/1s67/9XNuv/i2cX/7+bQ/9/Ww//h2cT/sqyc/6yml/+/uaj/k46C/4+Kf/+kn5H/0cq3 + /9vTwP/l3cj/7OPO/+beyf/g2MT/w7yr/6Cajf+6s6P/qaOV/8a+rf/DvKr/08u5/+Laxf/d1cH/49vG + //Dn0v/069X/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9OvVIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAPXs1pT17Nb/9ezW//Xs1v/17Nb/8+rU/7+4qP/NxbP/49vG/+vjzf/j28b/xr6t + /7u1pP+9t6b/m5aJ/5iThv+ln5H/j4p//87GtP/Evaz/1c26/+Paxv/q4s3/08u5/7+4p//Gv67/1My5 + /5eRhf+Khnv/ycGv/5mUiP/MxbP/4trF/+Laxf/i2sb/4NjE/+jgy/+3sKD/sqyd/6iilP+hnI//pJ6Q + /8G6qf+5sqL/1My6/+vizf/s487/6N/K/9XNuv/CvKr/v7mo/5yXiv/Fvq3/urOj/8jBr//Qybb/wrur + /9bOvP/q4cz/7+fR//Tr1f/069X/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/069X/9OvV + //Tr1f/z6tRXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWXfXs1v/17Nb/9ezW + //Xs1v/17Nb/2NG9/6+pmv+5s6L/ko2B/4+Kfv+dl4r/vbam/8zFs//Y0b3/5d3I/+beyf/Z0b3/x8Cv + /66omf+4saH/l5KG/52Yi/+blYn/vLWk/83Fs//o4Mv/5NvH/+Laxf/l3cj/zMWz/7y1pf+uqJn/ycKw + /5aRhf+6s6P/3NTA/8K7qv/TzLn/5d3I/+XdyP/q4cz/0sq4/7+4p/+moJL/rqia/6mjlf+blYj/qaOV + /8zFs//Rybb/3dXC/+7l0P/y6dP/9OvV//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9OvV//Tr1f/069X/8+rU//Pq1P/z6tT/8unU//Lp044AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD17NYn9ezW//Xs1v/17Nb/9ezW//Xs1v/Z0b7/ycGw/+DXxP/f18L/5d3J + /9zUwP/Qybb/vbem/9HJt/+noZP/lpGF/6agkv+zrZ3/w7ur/9bPu//k3Mf/5d3I/9/Xwv/Ty7n/rKaX + /7u0pP/Vzbr/m5aJ/6iilP+rppb/ycGw/9nRvv/q4cz/5NvH/+jfyv/a0r//0Mm3/8zFsv+Uj4P/ko2B + /7Otnv+2sKD/w7yr/8vDsv/m3cn/8OfS//Lp0//17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Tr1f/069X/9OvV//Pq1P/z6tT/8+rU//Lp1P/y6dP/8unT + //Ho0v/x6NL/8ejSxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1gH17Nbu9ezW + //Xs1v/17Nb/9ezW/+/m0f+cl4r/n5mM/52Yi/+Zk4f/s6yd/8O8q//Evaz/5NvH/+LZxf/q4cz/3dXC + /8zEsv+uqJn/zsa0/5WQhP+RjID/m5WJ/6ull//Qybb/4trF/+rhzP/m3sn/3dXB/9PMuf/Xz7z/lpGF + /5GMgf+oopT/rqiZ/8rDsf/Syrj/49rG/+XdyP/l3Mf/8OfS//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/069X/9OvV//Tr1f/z6tT/8+rU + //Lp0//t5c//6+PN/+Tcx//s487/8ejS//Ho0v/w59H/8OfR/+/m0f/v5tD27+bQBQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1rn17Nb/9ezW//Xs1v/17Nb/7+fR/8W+rf/Y0L3/6uHM + /+ffyv/a0r//urOj/6SekP+2sKD/fnpw/8K7qv/Buqn/y8Sy/87Htf/n3sn/6ODL/+ffyv/d1MH/2dG+ + /7Otnf+ln5H/sauc/42Iff+Yk4b/q6WW/9/Xw//Evaz/2tK//+zjzv/w59L/9OvV//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Pq1P/o38r/1s67/8W+rf/HwK7/8+rU//Xs1v/069X/9OvV + //Tr1f/z6tT/8ejT//Pq1P/q4cz/5t7J/9PMuf/IwK//xr6t/5CLf/+TjoL/raaY/9nRvf/v5tH/7+bQ + /+/m0P/u5c//7uXP/+3kz//t5M40AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezW + g/Xs1v/17Nb/9ezW//Xs1v/17Nb/3dXB/52Yi/+Lh3v/l5KF/7Osnf+7tKT/y8Oy/+Laxf/k28f/7OPO + /9rSv//g2MT/wLmo/5eShv+4sqH/uLKh/46Jfv/DvKv/trCf/8vEsv/k3Mf/7OPO//Pq1P/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Tr1f/y6dT/7ubQ/+vjzf/d1cH/2NG9/7Sun/+dl4r/wLmo + /5uWif+TjoL/pJ+Q/8fAr//y6dP/8ejT/+7lz//j2sX/18+9/8jArv+RjYH/qKOU/6ymmP+4sqH/x7+t + /9LKt//g2MP/39bC/9zTv//a0r7/6ODK/+7lz//t5M//7eTO/+zjzv/s483/7OPN/+vizGsAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NZM9ezW//Xs1v/17Nb/9ezW//Xs1v/c1MD/0cq3 + /+Tcx//q4cz/4dnF/7+4qP+3saH/zca0/6ymmP+yrJ3/sKqa/8O8q//Kw7H/y8Oy/9/Xw//x6NP/8unT + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Pq1f/z6tT/5dzI/9/Xw//j2sb/wruq + /5+ZjP+zrZ7/l5KF/7GqnP+1r5//y8Wy/9DItv/p4cz/7eTP/+HZxf/Qybb/yMGv/6qklf+Xkob/xL2r + /7mzov/Iwa//1867/8vEsv/Wzrr/5t3I/97Vwf/b07//xL2s/5uWiP/DvKr/h4J3/4N/dP/Syrf/7OPN + /+zjzf/r4sz/6+LM/+rhy//q4cv/6eDKoQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + APXs1hX17Nb/9ezW//Xs1v/17Nb/9ezW/+ffyv+alYj/enZt/5uWif/Lw7H/kYyB/7y2pf/l3Mj/597J + /+3kz//z6tT/8+rU//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/z6tX/8+rU//Tr1f/l3cj/3NTA + /8W+rf+2sKD/pJ6Q/8K6qv+fmYz/ta+f/9XNuv/Z0b7/zse1/+rhzP/k3Mf/6uHM/8/Itv+9t6b/mpWI + /6ullv+rppf/lpGF/62nl//QyLb/0Mi2/+HZxP/j2sX/5t3H/87HtP+4saD/yMCu/4N+dP+RjH//vLWk + /6+pmv/RyLb/xLyr/9zUwP/k28f/39bB/9DItf/j2sX/6uHL/+ngyv/p4Mr/6N/J/+jfyf/n3sjYAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1t717Nb/9ezW//Xs1v/17Nb/7+bR + /9DJt//d1cH/6uHM//Tr1f/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Tr1f/069X/6N/K + /93Vwf/b07//ycKw/6eik/+5s6P/v7in/7avn/+alIj/ubKi/8jBr//a0r//6eHL/+jgy//h2MT/3NTB + /8vEs//JwrD/o52P/4SAdf+vqZr/u7Sj/8jBr//QyLb/49rF/+rgzP/a0r7/xr+t/83Fs/+2r5//lpGE + /5qUh/+5sqH/tK2c/6qjk//a0b3/z8e0/9jQvP/a0b3/yMCu/8G5qP+wqZn/mZSH/7+4pv/DvKr/o52P + /9TMuP/o38n/597I/+bdyP/m3cf/5dzH/+Xcxv7k28YSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA9ezWqPXs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/069X/8urU + //Tr1f/l3cj/6N/K/+DYxP/Sy7j/nJeK/83GtP+dl4r/kIt//56ZjP+po5X/z8e1/+ffyv/p4Mv/5t3I + /9vTwP/Gv67/4trF/5eShf+Hg3j/rKWX/5+ajf/UzLn/1Mu5/+Laxf/o38n/3tbC/9bPu//b07//s6yb + /9DItf+Df3T/pqCR/46IfP+Pin3/uLGg/9TMt//NxbH/3dO9/9TKtv/Rx7T/vbWj/6Wdjv/VzLf/qKGS + /5yWiP+VkIP/sKmZ/8zEsf/Yz7r/3dS//8nCr//Rybb/4trE/+Xcx//l3Mb/5NvF/+TbxP/j2sT/49rD + /+LZw0cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NZx9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Lp0//p4cz/2tK//7Sunv+blon/tK2e/4F9c/+oo5T/0Mm2/8vDsv/UzLr/5t3J + /+ngy//t5M//18+8/9rSvv+yrJ3/m5aJ/6+pmv+ZlIj/lI+D/62nmP/f18P/z8e1/9zTwP/j2cT/5NvG + /83Fs//Tyrf/op2O/66omP+inI3/gX1y/7u0o/+uqJj/1s65/9fOuv/a0bz/4dfC/9LJtf+2rp3/opuL + /7Gol/+QiXz/i4R3/6Obi/+zqpj/v7aj/9TKtP/QxrL/2dC6/87Fsf/Kwq7/raaW/7iwn/+KhXn/hH90 + /7Gqmv/d1L//49rE/+Paw//i2cP/4djC/+HYwf/g18H/4NfAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAPXs1jr17Nb/9ezW//Xs1v/17Nb/9ezW/+bdyf+inI7/hoJ3/5uVif+oopT/xb6t + /8rDsv/l3cj/5dzI/+nhzP/g2MT/2dG+/8O8qv+blon/oZyO/83Gs/+RjID/xr6t/8a+rf/Syrf/5dzH + /+feyf/k28b/xb6s/9rRvP+jno//saqb/4mEef+qo5T/qKKS/9bNuf/MxLH/0cm1/+LZw//d1L7/zMOw + /8K6p/+8s6D/k4x+/4J8cP+lnIz/u7Gf/6mgj/+2rJr/xbql/9DEr//HvKb/yr+q/7Knlf+yqJb/hHxv + /4F7bv+yqZj/wLek/6yllf/Hv6v/1cy3/9TMt//Px7P/0sq1/8jArv/f1sD/4NfB/+DXwP/f1sD/3tW/ + /97Vv//d1L62AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9OvVCfXs1vr17Nb/9ezW + //Xs1v/17Nb/6uLM/9PMuf/h2cX/5d3I/+nhzP+9tqb/raeY/8vEsv+0rp//qqSV/8W+rP+4sqL/2tG+ + /9PLuf/e1sL/3tXB/9TMuf/Qybb/wrqp/5iShv+fmYv/jYh8/8S8qv+knY//18+7/83Esf/Xzrr/29K9 + /9fPuv/EvKr/ta2c/7Wsm/+blIb/pJyN/9XLtf+on4//wLaj/8e9qf/HvKj/xLml/8e8pv/AtaD/r6SR + /5eNff+roI3/jYNz/5WLef+lmYb/opeE/7mtmP+3rJj/xbml/87Crf/DuaX/x76q/7Ormv+vqJj/p6GR + /355b/+cloj/tq+e/9nQu//e1b7/3dS+/93Uvf/c073/29K8/9vSvOsAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWzfXs1v/17Nb/9ezW//Xs1v/w59H/pqGT/356cP+MiHz/3NTA + /52Xi/+9tqb/5dzI/+nhy//k28b/ycGw/9LKt//Gvq3/opyO/8O7qf+Lh3v/nZeJ/7Ksm//b0b3/y8Ox + /9rRvP/Z0Lv/2M+6/7+3pf+zqpr/t6+d/5CKfP+HgXT/uK+d/5ePgP+upZT/xLqm/8vAq//Nwqz/ua6a + /7qum/+5rpr/qJ2L/4h/cP98cmX/in9v/6CUgv+ZjXv/opWB/7Olj/+0pY//s6WP/7mqk/+/sJj/r6GL + /5GGdf96cGP/mI9//52UhP++taH/w7un/9HHs//Wzbj/1Mu2/7+4pf+9taP/1s24/9vSvP/b0rv/2tG7 + /9rRuv/Z0Lr/2M+5/9jPuSQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NaW9ezW + //Xs1v/17Nb/9ezW//Pq1P/e1sL/3NS//+jfyv/Mw7L/xb2s/8W+rP+6s6L/w7uq/52Xiv+WkYT/s6yc + /9TLuP/PxrP/3dS//9zTvv/Gvqv/z8ez/6qjk/+ak4b/sKmX/4+Ie/+5sJ7/k4t+/6Kaiv/Lwaz/yL6p + /87Drf/Hu6f/xrql/62ikP+xpZP/nJKB/5CGdv9+dGX/mY58/62gjP+sn4r/sqSO/7Wmkf+1ppD/uamR + /8Cvl//EtJr/x7id/9PCpv/dza//3s2v/7Wljf+ml4L/rqCK/7OlkP+4rJf/xbmk/6ujkf+9tKH/l5GC + /4R+c/+qpJT/fXhu/5iShf/Qx7L/2M+5/9jPuf/Yz7j/1864/9bNt//Wzbf/1sy2WwAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPLp02D069X/9OvV//Tr1f/z6tT/8+rU/8S9q/9+em//n5qM + /7qzov+noZL/zMSy/+DXwv/f1sH/4djC/8a9q//NxLD/mZOF/8W8qf+Si37/i4R4/4qDd//AtqP/s6qZ + /8e9qf/SxrH/z8Su/8i8qP+1qpf/w7ei/5GHeP+Qhnf/qZ6L/5qPff+glIL/m499/7OlkP+ypI7/tqiS + /7eokf/BsZj/yLie/8m6n//OvqP/2sqt/9/Qsv/g0LL/4NGz/+DRs//g0bT/4dK0/+HStf+tnIT/mIZw + /4l5Zf+PgW7/jYBv/3BnWv+dlIL/opmJ/7uzn//FvKn/xLyp/9bNuP/Xzrj/1864/9fOuP/Wzbf/1s23 + /9XMtv/Uy7X/1Mu1/9PKtP/TyrSSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7uTO + KvLp0//y6dP/8ejS//Hn0f/w5tD/4tjE/9/Xwv/l28b/2M+7/8C4pv+fmIn/lY+B/5OMfv+ak4X/iYJ2 + /8K6pv+mnY3/yL2p/8vBq//Rxa//xrqm/7KolP+onYz/jYR0/4+Fdv+qn4v/nZKA/4R5af+rnor/ppmF + /66gjP+7rZb/v7CY/8a3nv/NvqP/z8Cl/9fHq//g0LP/4NGz/+DRtP/h0rT/4dK1/+HTtv/i07b/4tO3 + /+LUt//i1Lj/49W4/+PVuf/j1br/wLCW/3toVP+Oe2X/jXxn/5eHcv+tnoj/tKeR/8O2of/MwKr/0Maw + /9TKtP/Wzbb/1s23/9bNt//VzLb/1Mu1/9TLtf/TyrT/08q0/9LJs//RyLL/0ciy/9DHsckAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADf070E7uTO8O7kzv/t483/6+HL/+rgyv/c0r3/jIV4 + /6Wdjv+gmIr/l4+B/7uyn//Duab/08ey/9TJs//Jvqn/uK2a/62jkP+TiXn/iH9w/4R6a/+iloX/kod2 + /6GUgv+uoIz/tKaQ/8Cxmv/Gtp7/zL2j/8/Apf/Vxar/3s+y/+HStP/h0rX/4dO2/+LTtv/i07f/4tS3 + /+LUuP/j1bj/49W5/+PVuv/k1rr/5Na7/+TXu//l17z/5di8/+XYvf/l2L7/5tm+/+TXvf+RfGT/inVe + /5B8ZP+YhG3/opB5/6ychv+3qZP/wbWf/8m9p//PxK7/0ciy/9PJs//Uy7X/08q0/9LJs//SybP/0ciy + /9HIsv/Qx7H/z8ax/8/GsP/OxK//zsSv+c7ErwcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AOLWvwLm3MW/5tzF/+XaxP/k2cL/4tfA/9zRuv/Mwaz/z8Ou/8q/qv+xp5X/uK2Z/52Tgv+Vi3v/oZaE + /6GVg/+YjHv/pZiF/6qdif+4qpT/wLGa/82+pf/Rwqj/1sar/9rLsP/h07b/4tO2/+LTt//i1Lf/4tS4 + /+PVuP/j1bn/49W6/+TWuv/k1rv/5Ne7/+XXvP/l2Lz/5di9/+XYvv/m2b7/5tm//+bav//n2sD/59vB + /+fbwf/o28L/6NzC/+jcw//p3cT/xLSc/4BpUv+Eblf/inVe/5N+Z/+di3T/qJiC/7Slj/++spv/xrql + /8vAq//Pxa//0cex/9HIsv/RyLL/0Mex/8/GsP/PxbD/zsSv/87Er//Nw67/zMKt/8zCrf/Lwaz/y8Gs + OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL6ul43c0br/28+4/9nNtv/XyrP/1Mew + /5qQf/94b2H/mo9+/5GGdf+sn4z/sqSP/7ytmP/Gt5//0MGo/9XGq//Zya//4NG1/+LUt//i1Lj/49W4 + /+PVuf/j1br/5Na6/+TWu//k17v/5de8/+XYvP/l2L3/5di+/+bZvv/m2b//5tq//+fawP/n28H/59vB + /+jbwv/o3ML/6NzD/+ndxP/p3cX/6d7G/+nexv/q3sf/6t/I/+rfyP/r4Mn/6+DJ/+vhyv+hjnb/fGVN + /4FpUv+HcVn/j3pj/5qHcP+llH7/saKM/7uvmf/Dt6L/yb2o/8zCrf/Ow67/z8Ww/87Er//Nw6//zcOu + /8zCrf/Mwq3/y8Gs/8rArP/KwKv/yb+q/8m/qv/Iv6puAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAn4t0YtDCq//Ov6n/y72m/8i6o//Ku6T/xbef/82+pf/Uxaz/2cqw/97PtP/j1bj/49W5 + /+PVuv/k1rr/5Na7/+TXu//l17z/5di8/+XYvf/l2L7/5tm+/+bZv//m2r//59rA/+fbwf/n28H/6NvC + /+jcwv/o3MP/6d3E/+ndxf/p3sb/6d7G/+rex//q38j/6t/I/+vgyf/r4Mn/6+HK/+zhy//s4sv/7OLM + /+3izP/t483/7ePO/+7kzv/u5M//7uXP/4VuV/96Ykr/fmZP/4RtVv+Md2D/loNt/6GRev+unoj/uKuW + /8C0n//Gu6X/yb6q/8vArP/Mwq3/zMKt/8vBrP/KwKz/ysCr/8m/qv/Jv6r/yL6p/8e9qf/Hvaj/xryn + /8W8p6QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4dS6DuHUuTe5qI6A1MWs/9jJr//dzrT/4tS5 + /+TWuv/k1rv/5Ne7/+XXvP/l2Lz/5di9/+XYvv/m2b7/5tm//+bav//n2sD/59vB/+fbwf/o28L/6NzC + /+jcw//p3cT/6d3F/+nexv/p3sb/6t7H/+rfyP/q38j/6+DJ/+vgyf/r4cr/7OHL/+ziy//s4sz/7eLM + /+3jzf/t487/7uTO/+7kz//u5c//7uXQ/+/l0f/v5tH/7+bS//Dn0v/w59P/8OfU//Ho1P/t5ND/dl5G + /3hfR/98ZE3/gWtT/4l0XP+TgGn/no12/6mahP+1p5L/vLGb/8K3ov/HvKf/yb6p/8m/q//Jv6r/yL6q + /8i+qf/Hvan/x72o/8a8p//Fu6f/xLum/8O6pv/DuqX/wrmlzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAObZvwPl2L0l5di+S+XYvnLj1bqZ5Na6 + wOTWu+jk17v/5de8/+XYvP/l2L3/5di+/+bZvv/m2b//5tq//+fawP/n28H/59vB/+jbwv/o3ML/6NzD + /+ndxP/p3cX/6d7G/+nexv/q3sf/6t/I/+rfyP/r4Mn/6+DJ/+vhyv/s4cv/7OLL/+zizP/t4sz/7ePN + /+3jzv/u5M7/7uTP/+7lz//u5dD/7+XR/+/m0f/v5tL/8OfS//Dn0//w59T/8ejU//Ho1f/x6dX/8enW + //Lq1//y6tf/8urY//Pr2P/z69n/8+zZ/+bdyv91XET/d15H/3tjS/+AaFH/h3Fa/5B8Zf+biXL/pZaA + /7Cjjf+4rJf/vrOe/8K4pP/FvKf/xryo/8e9qP/GvKf/xbun/8S7pv/Duqb/w7ql/8K5pf/CuaT/wbij + /8C3o//At6LkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA59rCCebZvzzm2cBf5di9 + ieTXu67l17zW5di8+eXYvf/l2L7/5tm+/+bZv//m2r//59rA/+fbwf/n28H/6NvC/+jcwv/o3MP/6d3E + /+ndxf/p3sb/6d7G/+rex//q38j/6t/I/+vgyf/r4Mn/6+HK/+zhy//s4sv/7OLM/+3izP/t483/7ePO + /+7kzv/u5M//7uXP/+7l0P/v5dH/7+bR/+/m0v/w59L/8OfT//Dn1P/x6NT/8ejV//Hp1f/x6db/8urX + //Lq1//y6tj/8+vY//Pr2f/z7Nn/8+za//Ts2//07dv/9O3c//Xu3P/17t3/9e7d//Xv3v/2797/5t3L + /3VcRP92Xkb/eWFK/31mT/+Eblf/jXli/5aEbf+hkHr/rJ2I/7Snkv+6r5r/v7Wg/8G4o//DuaT/w7qm + /8O6pf/CuaX/wbik/8G4o//At6P/wLei/7+2ov+/tqH/vrWh/761oO4AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAOjcwy7m2b7d5tm//+bav//n2sD/59vB/+fbwf/o28L/6NzC/+jcw//p3cT/6d3F + /+nexv/p3sb/6t7H/+rfyP/q38j/6+DJ/+vgyf/r4cr/7OHL/+ziy//s4sz/7eLM/+3jzf/t487/7uTO + /+7kz//u5c//7uXQ/+/l0f/v5tH/7+bS//Dn0v/w59P/8OfU//Ho1P/x6NX/8enV//Hp1v/y6tf/8urX + //Lq2P/z69j/8+vZ//Ps2f/z7Nr/9Ozb//Tt2//07dz/9e7c//Xu3f/17t3/9e/e//bv3v/279//9vDg + //bw4P/38OH/9/Hh//fx4v/38uL/+PLj//jy4//s5dT/dVxE/3VdRf94YEj/fGRN/4FrU/+JdF3/kn9o + /5yLdf+ml4H/r6KN/7aqlf+7sZz/vrWg/7+2ov/At6L/wLej/8C3ov+/tqL/v7ah/761of++taD/vbSg + /720n/+8s5//vLOe6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADp3cU86NzD8OndxP/p3cX/6d7G + /+nexv/q3sf/6t/I/+rfyP/r4Mn/6+DJ/+vhyv/s4cv/7OLL/+zizP/t4sz/7ePN/+3jzv/u5M7/7uTP + /+7lz//u5dD/7+XR/+/m0f/v5tL/8OfS//Dn0//w59T/8ejU//Ho1f/x6dX/8enW//Lq1//y6tf/8urY + //Pr2P/z69n/8+zZ//Ps2v/07Nv/9O3b//Tt3P/17tz/9e7d//Xu3f/1797/9u/e//bv3//28OD/9vDg + //fw4f/38eH/9/Hi//fy4v/48uP/+PLj//jz5P/48+T/+fPl//n05f/59OX/+fTm//r05v/69ef/+vXn + //jz5f91XUX/dVxE/3deRv96Y0v/f2hQ/4ZwWf+NemP/l4Vv/6GRe/+qnIb/saWQ/7esl/+6sJv/vLOf + /720oP++taD/vrWg/720oP+8s5//vLOf/7uynv+7sp7/urGd/7qxnf+5sJzaAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA7ePNLOvgye7r4Mn/6+HK/+zhy//s4sv/7OLM/+3izP/t483/7ePO/+7kzv/u5M//7uXP + /+7l0P/v5dH/7+bR/+/m0v/w59L/8OfT//Dn1P/x6NT/8ejV//Hp1f/x6db/8urX//Lq1//y6tj/8+vY + //Pr2f/z7Nn/8+za//Ts2//07dv/9O3c//Xu3P/17t3/9e7d//Xv3v/2797/9u/f//bw4P/28OD/9/Dh + //fx4f/38eL/9/Li//jy4//48uP/+PPk//jz5P/58+X/+fTl//n05f/59Ob/+vTm//r15//69ef/+vXo + //v26P/79uj/+/bp//v36f/79+r//Pfq//z36v/8+Ov//Pjr/4RtV/91XET/dl1F/3lhSf98ZU3/gmxV + /4p1Xv+Sf2n/nIx1/6WWgP+sn4r/s6eS/7esl/+5r5v/u7Gd/7uynv+7sp7/u7Ke/7qxnf+6sZ3/ubCc + /7mwnP+4r5v/uK+b/7ivmrcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO/m0g3t487b7uTO/+7kz//u5c//7uXQ + /+/l0f/v5tH/7+bS//Dn0v/w59P/8OfU//Ho1P/x6NX/8enV//Hp1v/y6tf/8urX//Lq2P/z69j/8+vZ + //Ps2f/z7Nr/9Ozb//Tt2//07dz/9e7c//Xu3f/17t3/9e/e//bv3v/279//9vDg//bw4P/38OH/9/Hh + //fx4v/38uL/+PLj//jy4//48+T/+PPk//nz5f/59OX/+fTl//n05v/69Ob/+vXn//r15//69ej/+/bo + //v26P/79un/+/fp//v36v/89+r//Pfq//z46//8+Ov//Pjr//347P/9+ez//fns//357f/9+e3//frt + //767v/++u7/nIl0/3VcRP92XUX/eF9H/3pjS/9/aVH/hXBZ/416Y/+WhW//n496/6aYg/+toYv/sqeS + /7asl/+3rpr/ua+b/7ivm/+5sJz/uK+b/7ivm/+3rpr/t66a/7eumf+2rZn/tq2ZfgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA8OfSnPDn0//w59T/8ejU//Ho1f/x6dX/8enW//Lq1//y6tf/8urY//Pr2P/z69n/8+zZ + //Ps2v/07Nv/9O3b//Tt3P/17tz/9e7d//Xu3f/1797/9u/e//bv3//28OD/9vDg//fw4f/38eH/9/Hi + //fy4v/48uP/+PLj//jz5P/48+T/+fPl//n05f/59OX/+fTm//r05v/69ef/+vXn//r16P/79uj/+/bo + //v26f/79+n/+/fq//z36v/89+r//Pjr//z46//8+Ov//fjs//357P/9+ez//fnt//357f/9+u3//vru + //767v/++u7//vru//777//+++////vv///77///++///vvv//777/+5qpj/dFtD/3VcRP92XUb/eWFJ + /3xlTv+CbFX/iXRd/5B+Z/+ZiHL/oJF8/6iahf+toYz/sqeS/7Sqlf+2rJj/tq2Z/7atmf+3rpn/tq2Z + /7atmP+1rJj/tayY/7Srl/+1rJg0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPr2TLy6tj98+vY//Pr2f/z7Nn/8+za + //Ts2//07dv/9O3c//Xu3P/17t3/9e7d//Xv3v/2797/9u/f//bw4P/28OD/9/Dh//fx4f/38eL/9/Li + //jy4//48uP/+PPk//jz5P/58+X/+fTl//n05f/59Ob/+vTm//r15//69ef/+vXo//v26P/79uj/+/bp + //v36f/79+r//Pfq//z36v/8+Ov//Pjr//z46//9+Oz//fns//357P/9+e3//fnt//367f/++u7//vru + //767v/++u7//vvv//777///++////vv///77//+++///vvv//767v/++u7//vru//767v/9+u3//fnt + //357f/9+ez//fns/97Vxv91XET/dFtD/3VcRf93X0f/emNL/35oUP+Eb1j/i3hh/5OBav+ainT/opR+ + /6ibhv+tooz/sKaR/7KolP+zqpX/tKuX/7Srl/+0q5f/tKuX/7Oqlv+zqpb/s6qW0gAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA9e7cq/Xu3f/17t3/9e/e//bv3v/279//9vDg//bw4P/38OH/9/Hh//fx4v/38uL/+PLj + //jy4//48+T/+PPk//nz5f/59OX/+fTl//n05v/69Ob/+vXn//r15//69ej/+/bo//v26P/79un/+/fp + //v36v/89+r//Pfq//z46//8+Ov//Pjr//347P/9+ez//fns//357f/9+e3//frt//767v/++u7//vru + //767v/+++///vvv///77///++////vv//777//+++///vru//767v/++u7//vru//367f/9+e3//fnt + //357P/9+ez//fjs//z46//8+Ov//Pjr//z36v/89+r/+/fq//v36f/79un/+vXn/4FpU/90W0P/dVxE + /3ZeRv94YEj/e2RM/4BqUv+GcVr/jXpj/5SCbP+bjHb/opR+/6ebhv+soYv/rqSP/7Cmkv+xqJP/sqiU + /7Kplf+yqJT/sqmV/7Kplf+yqZRYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPfx4RH38eH59/Hi//fy4v/48uP/+PLj + //jz5P/48+T/+fPl//n05f/59OX/+fTm//r05v/69ef/+vXn//r16P/79uj/+/bo//v26f/79+n/+/fq + //z36v/89+r//Pjr//z46//8+Ov//fjs//357P/9+ez//fnt//357f/9+u3//vru//767v/++u7//vru + //777//+++////vv///77///++///vvv//777//++u7//vru//767v/++u7//frt//357f/9+e3//fns + //357P/9+Oz//Pjr//z46//8+Ov//Pfq//z36v/79+r/+/fp//v26f/79uj/+/bo//r16P/69ef/+vXn + //r05v/59Ob/+fTl//n05f/58+X/t6iU/3RbQ/91XET/dVxE/3dfR/95YUr/fWZO/4JsVf+IdF3/jntl + /5WEbv+cjXf/oZN+/6aahf+qnon/rKGN/66kkP+vppH/sKaS/7Cnk/+wp5P/sKeTvgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA+fPlVPn05f/59Ob/+vTm//r15//69ef/+vXo//v26P/79uj/+/bp//v36f/79+r//Pfq + //z36v/8+Ov//Pjr//z46//9+Oz//fns//357P/9+e3//fnt//367f/++u7//vru//767v/++u7//vvv + //777///++////vv///77//+++///vvv//767v/++u7//vru//767v/9+u3//fnt//357f/9+ez//fns + //347P/8+Ov//Pjr//z46//89+r//Pfq//v36v/79+n/+/bp//v26P/79uj/+vXo//r15//69ef/+vTm + //n05v/59OX/+fTl//nz5f/48+T/+PPk//jy4//48uP/9/Li//fx4v/38eH/9/Dh//bw4P/w6dj/gWpT + /3RbQ/91XET/dl1F/3dfR/96Y0v/fmhQ/4NuVv+JdV7/j31m/5WEbv+ajHb/oJN9/6SYg/+onIf/qp+L + /6uhjf+to4//rqSQ/6+lkeevppIdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD79uiH+/fp//v36v/89+r//Pfq + //z46//8+Ov//Pjr//347P/9+ez//fns//357f/9+e3//frt//767v/++u7//vru//767v/+++///vvv + ///77///++////vv//777//+++///vru//767v/++u7//vru//367f/9+e3//fnt//357P/9+ez//fjs + //z46//8+Ov//Pjr//z36v/89+r/+/fq//v36f/79un/+/bo//v26P/69ej/+vXn//r15//69Ob/+fTm + //n05f/59OX/+fPl//jz5P/48+T/+PLj//jy4//38uL/9/Hi//fx4f/38OH/9vDg//bw4P/279//9u/e + //Xv3v/17t3/9e7d//Xu3P/07dz/9O3b//Ts2//Pwq7/dVxE/3VcRP91XET/dl5G/3hgSf97ZEz/f2lR + /4NuV/+JdV//jnxm/5SDbf+ai3X/n5F8/6KWgf+lmoX/qJ2J/6mfiv+roo7vrqWQMwAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAP357KT9+ez//fnt//357f/9+u3//vru//767v/++u7//vru//777//+++////vv + ///77///++///vvv//777//++u7//vru//767v/++u7//frt//357f/9+e3//fns//357P/9+Oz//Pjr + //z46//8+Ov//Pfq//z36v/79+r/+/fp//v26f/79uj/+/bo//r16P/69ef/+vXn//r05v/59Ob/+fTl + //n05f/58+X/+PPk//jz5P/48uP/+PLj//fy4v/38eL/9/Hh//fw4f/28OD/9vDg//bv3//2797/9e/e + //Xu3f/17t3/9e7c//Tt3P/07dv/9Ozb//Ps2v/z7Nn/8+vZ//Pr2P/y6tj/8urX//Lq1//x6db/8enV + //Ho1f+6qpX/dVxE/3VcRP91XUX/d15H/3lhSv98ZU3/f2lS/4RvWP+JdV//jnxm/5SDbf+ZinT/nY96 + /6CUf/+kmIP/qZ6K4KuhjS4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/vvvrv777///++////vv + ///77//+++///vvv//767v/++u7//vru//767v/9+u3//fnt//357f/9+ez//fns//347P/8+Ov//Pjr + //z46//89+r//Pfq//v36v/79+n/+/bp//v26P/79uj/+vXo//r15//69ef/+vTm//n05v/59OX/+fTl + //nz5f/48+T/+PPk//jy4//48uP/9/Li//fx4v/38eH/9/Dh//bw4P/28OD/9u/f//bv3v/1797/9e7d + //Xu3f/17tz/9O3c//Tt2//07Nv/8+za//Ps2f/z69n/8+vY//Lq2P/y6tf/8urX//Hp1v/x6dX/8ejV + //Ho1P/w59T/8OfT//Dn0v/v5tL/7+bR/+/l0f/u5dD/7uXP/+7kz/+/r5n/eGFJ/3ZdRf93Xkb/eGBJ + /3pjS/99Zk//gGpT/4VwWf+Jd2D/j31n/5SEbv+YiHP/npB7/qWZhKWlmoURAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD++u6h/vru//367f/9+e3//fnt//357P/9+ez//fjs//z46//8+Ov//Pjr + //z36v/89+r/+/fq//v36f/79un/+/bo//v26P/69ej/+vXn//r15//69Ob/+fTm//n05f/59OX/+fPl + //jz5P/48+T/+PLj//jy4//38uL/9/Hi//fx4f/38OH/9vDg//bw4P/279//9u/e//Xv3v/17t3/9e7d + //Xu3P/07dz/9O3b//Ts2//z7Nr/8+zZ//Pr2f/z69j/8urY//Lq1//y6tf/8enW//Hp1f/x6NX/8ejU + //Dn1P/w59P/8OfS/+/m0v/v5tH/7+XR/+7l0P/u5c//7uTP/+7kzv/t487/7ePN/+3izP/s4sz/7OLL + /+zhy//r4cr/6+DJ/+vgyf/XyrP/mYRs/3dfSP95YUn/emNM/3xlTv9/alL/gm1W/4VxWv+KeGH/koFr + /puMd7+fkn0/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPz46oH8+Ov//Pfq + //z36v/79+r/+/fp//v26f/79uj/+/bo//r16P/69ef/+vXn//r05v/59Ob/+fTl//n05f/58+X/+PPk + //jz5P/48uP/+PLj//fy4v/38eL/9/Hh//fw4f/28OD/9vDg//bv3//2797/9e/e//Xu3f/17t3/9e7c + //Tt3P/07dv/9Ozb//Ps2v/z7Nn/8+vZ//Pr2P/y6tj/8urX//Lq1//x6db/8enV//Ho1f/x6NT/8OfU + //Dn0//w59L/7+bS/+/m0f/v5dH/7uXQ/+7lz//u5M//7uTO/+3jzv/t483/7eLM/+zizP/s4sv/7OHL + /+vhyv/r4Mn/6+DJ/+rfyP/q38j/6t7H/+nexv/p3sb/6d3F/+ndxP/o3MP/6NzC/+jbwv/n28H/zb6l + /6CMdP+CbFT/fmhQ/4BqU/+JdV/5jnxm0Ip3YYuUhG4ujXtlAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA+vXnTvr15//69ef/+vTm//n05v/59OX/+fTl//nz5f/48+T/+PPk + //jy4//48uP/9/Li//fx4v/38eH/9/Dh//bw4P/28OD/9u/f//bv3v/1797/9e7d//Xu3f/17tz/9O3c + //Tt2//07Nv/8+za//Ps2f/z69n/8+vY//Lq2P/y6tf/8urX//Hp1v/x6dX/8ejV//Ho1P/w59T/8OfT + //Dn0v/v5tL/7+bR/+/l0f/u5dD/7uXP/+7kz//u5M7/7ePO/+3jzf/t4sz/7OLM/+ziy//s4cv/6+HK + /+vgyf/r4Mn/6t/I/+rfyP/q3sf/6d7G/+nexv/p3cX/6d3E/+jcw//o3ML/6NvC/+fbwf/n28H/59rA + /+bav//m2b//5tm+/+XYvv/l2L3/5di8/+XXvP/k17v/5Na7/+LUuf7TxKnWybqgibajiSiJdF0DAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD48+QL+PLj + +fjy4//38uL/9/Hi//fx4f/38OH/9vDg//bw4P/279//9u/e//Xv3v/17t3/9e7d//Xu3P/07dz/9O3b + //Ts2//z7Nr/8+zZ//Pr2f/z69j/8urY//Lq1//y6tf/8enW//Hp1f/x6NX/8ejU//Dn1P/w59P/8OfS + /+/m0v/v5tH/7+XR/+7l0P/u5c//7uTP/+7kzv/t487/7ePN/+3izP/s4sz/7OLL/+zhy//r4cr/6+DJ + /+vgyf/q38j/6t/I/+rex//p3sb/6d7G/+ndxf/p3cT/6NzD/+jcwv/o28L/59vB/+fbwf/n2sD/5tq/ + /+bZv//m2b7/5di+/+XYvf/l2Lz/5de8/+TXu//k1rv/5Na6/+PVuv/j1bn/4tS48+HTt8ri1Lej28yx + e8+/pFnKup8ttKKJCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2796q9e/e//Xu3f/17t3/9e7c//Tt3P/07dv/9Ozb + //Ps2v/z7Nn/8+vZ//Pr2P/y6tj/8urX//Lq1//x6db/8enV//Ho1f/x6NT/8OfU//Dn0//w59L/7+bS + /+/m0f/v5dH/7uXQ/+7lz//u5M//7uTO/+3jzv/t483/7eLM/+zizP/s4sv/7OHL/+vhyv/r4Mn/6+DJ + /+rfyP/q38j/6t7H/+nexv/p3sb/6d3F/+ndxP/o3MP/6NzC/+jbwv/n28H/59vB/+fawP/m2r//5tm/ + /+bZvv/l2L7/5di9/+XYvP/l17z/5Ne7/+TWu//k1rr/49W6/+PVuf/j1bj/4tS4/+LUt/zh0rXd4NC0 + t+LUuI3j1Llp49S5QePVuhgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + APTs2zrz69n/8+vY//Lq2P/y6tf/8urX//Hp1v/x6dX/8ejV//Ho1P/w59T/8OfT//Dn0v/v5tL/7+bR + /+/l0f/u5dD/7uXP/+7kz//u5M7/7ePO/+3jzf/t4sz/7OLM/+ziy//s4cv/6+HK/+vgyf/r4Mn/6t/I + /+rfyP/q3sf/6d7G/+nexv/p3cX/6d3E/+jcw//o3ML/6NvC/+fbwf/n28H/59rA/+bav//m2b//5tm+ + /+XYvv/l2L3/5di8/+XXvP/k17v/5Na7/+TWuv/j1br/49W5/+PVuP/i1Lj/4tS3/+LTt//i07b/4dK1 + 8N/Ps8fh0bSi49S5d+HTuFXh07cq5Na7BgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPDn1K3w59P/8OfS/+/m0v/v5tH/7+XR + /+7l0P/u5c//7uTP/+7kzv/t487/7ePN/+3izP/s4sz/7OLL/+zhy//r4cr/6+DJ/+vgyf/q38j/6t/I + /+rex//p3sb/6d7G/+ndxf/p3cT/6NzD/+jcwv/o28L/59vB/+fbwf/n2sD/5tq//+bZv//m2b7/5di+ + /+XYvf/l2Lz/5de8/+TXu//k1rv/5Na6/+PVuv/j1bn/49W4/+LUuP/i1Lf/4tO3/+LTtv/h07b/4dK1 + /+HStPvg0bTY4NGzseHStYvh07dk39G1QOHTtxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA8OfTF+3jzunt483/7eLM/+zizP/s4sv/7OHL/+vhyv/r4Mn/6+DJ/+rfyP/q38j/6t7H + /+nexv/p3sb/6d3F/+ndxP/o3MP/6NzC/+jbwv/n28H/59vB/+fawP/m2r//5tm//+bZvv/l2L7/5di9 + /+XYvP/l17z/5Ne7/+TWu//k1rr/49W6/+PVuf/j1bj/4tS4/+LUt//i07f/4tO2/+HTtv/h0rX/4dK0 + /+DRtP/g0bP/4NCz7N7PscPezrCe4tO3dOLTtk/h07Yn4tS4BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6+DKOerfyPbq3sf/6d7G + /+nexv/p3cX/6d3E/+jcw//o3ML/6NvC/+fbwf/n28H/59rA/+bav//m2b//5tm+/+XYvv/l2L3/5di8 + /+XXvP/k17v/5Na7/+TWuv/j1br/49W5/+PVuP/i1Lj/4tS3/+LTt//i07b/4dO2/+HStf/h0rT/4NG0 + /+DRs//g0bP/4NCy/9/Qsvnfz7HW38+xreDQs4nh0rVe4NG0O9zMrxEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA6NzEP+fbwfDn2sD/5tq//+bZv//m2b7/5di+/+XYvf/l2Lz/5de8 + /+TXu//k1rv/5Na6/+PVuv/j1bn/49W4/+LUuP/i1Lf/4tO3/+LTtv/h07b/4dK1/+HStP/g0bT/4NGz + /+DRs//g0LL/39Cy/9/Psf/fz7H/3s6v6d7Nr8DdzK6Z4NCzc+DRs0vg0bMk4dK1AwAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6NvD + IeTWu8Tk1rr/49W6/+PVuf/j1bj/4tS4/+LUt//i07f/4tO2/+HTtv/h0rX/4dK0/+DRtP/g0bP/4NGz + /+DQsv/f0LL/38+x/9/Psf/ez7D/3s6w/97Nrvjcy63X3c2uqd7OsIXfz7Jc4NCyN+DRtA4AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5di+A+LUuG/h0rTn4NG0/+DRs//g0bP/4NCy + /9/Qsv/fz7H/38+x/97PsP/ezrD/3s6v/97Nr//dza7/3c2u5N3Mrb3dzK2V38+xcN/PsUbfz7AjAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAOLUuArf0LJp3s2vx93Nrv/dza7/3cyt/93MrfTczKzQ3Musp93NroHezrBa3s6v + M9/PsQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3s6v + Fd7Orz/eza4fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/////////////gAAf/////////////////wAAAP/////// + /////////4AAAB////////////////8AAAAH////////////////AAAAAf///////////////gAAAAD/ + /////////////8AAAAAA/////////////+AAAAAAAP////////////wAAAAAAAB///////////4AAAAA + AAAAf/////////6AAAAAAAAAAH////////+AAAAAAAAAAAB////////gAAAAAAAAAAAAf//////wAAAA + AAAAAAAAAP/////8AAAAAAAAAAAAAAB/////8AAAAAAAAAAAAAAAP////+AAAAAAAAAAAAAAAB/////A + AAAAAAAAAAAAAAAH////gAAAAAAAAAAAAAAAAf///wAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAA + f//+AAAAAAAAAAAAAAAAAB///gAAAAAAAAAAAAAAAAAH//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAA + AAAAAAH//AAAAAAAAAAAAAAAAAAA//wAAAAAAAAAAAAAAAAAAP/4AAAAAAAAAAAAAAAAAAD/+AAAAAAA + AAAAAAAAAAAA//gAAAAAAAAAAAAAAAAAAP/4AAAAAAAAAAAAAAAAAAD/+AAAAAAAAAAAAAAAAAAA//gA + AAAAAAAAAAAAAAAAAP/8AAAAAAAAAAAAAAAAAAH//AAAAAAAAAAAAAAAAAAH//wAAAAAAAAAAAAAAAAA + P//8AAAAAAAAAAAAAB///////gAAAAAAAAAAAH////////4AAAAAAAAAAAB////////+AAAAAAAAAAAA + f////////gAAAAAAAAAAAH////////4AAAAAAAAAAAB/////////AAAAAAAAAAAAP////////wAAAAAA + AAAAAD////////8AAAAAAAAAAAA/////////AAAAAAAAAAAAP////////wAAAAAAAAAAAD////////+A + AAAAAAAAAAAf////////gAAAAAAAAAAAH////////4AAAAAAAAAAAB////////+AAAAAAAAAAAAf//// + ////wAAAAAAAAAAAD////////8AAAAAAAAAAAA/////////AAAAAAAAAAAAP////////wAAAAAAAAAAA + D////////8AAAAAAAAAAAA/////////gAAAAAAAAAAAH////////4AAAAAAAAAAAB////////+AAAAAA + AAAAAAf////////gAAAAAAAAAAAH////////4AAAAAAAAAAAB/////////AAAAAAAAAAAAP////////w + AAAAAAAAAAAD////////8AAAAAAAAAAAA/////////AAAAAAAAAAAAP////////4AAAAAAAAAAAB//// + ////+AAAAAAAAAAAAf////////gAAAAAAAAAAAH////////4AAAAAAAAAAAB////////+AAAAAAAAAAA + Af////////wAAAAAAAAAAAD////////8AAAAAAAAAAAA/////////AAAAAAAAAAAAP////////wAAAAA + AAAAAAD////////8AAAAAAAAAAAA/////////gAAAAAAAAAAAH////////4AAAAAAAAAAAB////////+ + AAAAAAAAAAAAf////////gAAAAAAAAAAAH////////4AAAAAAAAAAAA/////////AAAAAAAAAAAAP/// + /////wAAAAAAAAAAAD////////8AAAAAAAAAAAA/////////AAAAAAAAAAAAP////////4AAAAAAAAAA + AB////////+AAAAAAAAAAAAf////////gAAAAAAAAAAAH////////4AAAAAAAAAAAB////////+AAAAA + AAAAAAAf////////wAAAAAAAAAAAD////////8AAAAAAAAAAAA/////////AAAAAAAAAAAAP//////// + wAAAAAAAAAAAD////////8AAAAAAAAAAAAf////////AAAAAAAAAAAAH////////4AAAAAAAAAAAB/// + /////+AAAAAAAAAAAAf///////+AAAAAAAAAAAAH///////AAAAAAAAAAAAAB//////wAAAAAAAAAAAA + AAf/////4AAAAAAAAAAAAAAH/////8AAAAAAAAAAAAAAB/////+AAAAAAAAAAAAAAAf/////AAAAAAAA + AAAAAAAH/////wAAAAAAAAAAAAAAB/////4AAAAAAAAAAAAAAA/////+AAAAAAAAAAAAAAAP/////AAA + AAAAAAAAAAAAH/////wAAAAAAAAAAAAAAB/////8AAAAAAAAAAAAAAA//////AAAAAAAAAAAAAAAf/// + //wAAAAAAAAAAAAAAP/////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAH//////wAAAAAAAAAAAAA + P//////8AAAAAAAAAAAAA////////gAAAAAAAAAAAf////////4AAAAAAAAAAH//////////AAAAAAAA + AD///////////wAAAAAAAA////////////+AAAAAAAf/////////////wAAAAAH//////////////+AA + AAD////////////////wAAB//////////////////AAf//////////////////+P//////////////// + ////////////////////////////////////////////KAAAAGAAAADAAAAAAQAgAAAAAACAlAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAACAAAAAwICAQMCAgIDAgICAwICAgMCAgIDAQEB + AwAAAAIAAAACAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQDgwBEA4NBAcHBgYEBAMIAAAA + CgEBAAoBAQELAQEBCgEBAQoBAQEKAAAACgAAAAkBAQAIAAAABwAAAAUAAAAEAAAAAgAAAAIAAAABAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AGBaTgFPSkAEDw4NCQAAAA8AAAAUAAAAFwAAABgAAAAZAAAAGQAAABkAAAAZAAAAFwAAABYAAAAUAAAA + EgAAAA8AAAAMAAAACQAAAAcAAAAEAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIuDcwMyLyoIAQAAEQIBAR0RDw0tLSokSTcyK1VcVkptgXlp + jHt0ZoU2My1RBgYFLwAAACsAAAApAAAAJQAAACEAAAAcAAAAGAAAABIAAAAMAAAACAAAAAQAAAACAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsKOOAbmtmAuhknwenZB8LJCGdWNqZFiCmpGA + q6mgjti0q5foy76n9NrMs/ni1bz+5tnB/ujcxP/l2sP2wLelzExJQnAFBQVBAAAAOwAAADYAAAAxAAAA + KwAAACMAAAAaAAAAEgAAAAoAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ6OeAWyp5EcsKSOT6aYg2q4rZibq52I + vbqwm9a/taH0wbij/sO6pf7Fu6f+x72o/si+qv7Jvqn+08Su/t7Ru/7l28X+6uDL/u3jz/7u5dL+7+bT + /u7l0/ujnZG3FRQTVwAAAEkAAABEAAAAPQAAADQAAAApAAAAHQAAABEAAAAIAAAAAwAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArJ+KBbarliGrnok7raCLWrOnkomkloGnua6a + 1Lyynve9tKD/v7ah/8C3o/7CuaT/w7ql/sW8p//Hvan/yb+q/svBrP/Mwq3/zsSv/s7Fr//Ft6L/08Wx + /uHWwv/q4c//8OfW/vPr2v/07dz/9O7d/vXv3//27+D/1tHE4CQkImQAAABNAAAARwAAAD8AAAAzAAAA + JgAAABcAAAAMAAAABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwpZAFtauXFamchyOxppFMraGMdqmch5e3rZjFs6iU + 37ivmu+6sZ37vLOe/720oP6/tqH/wLej/8K5pP7Duqb/xbyn/8e9qf7Jv6r/y8Gs/szDrf/OxK//0Max + /tHIsv/TyrT/1cy2/sm9qP/Asp7/08e0/uPayv/u59f/9O7f/vfx4//48+X/+fPm/vn15//69ej/+vbp + /s3Kv9UWFhRWAAAARQAAAD0AAAAzAAAAJwAAABgAAAANAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0qpYBqJuGC7OplEGqnYhfr6SPhrWrlrKtoo3JtayX + 6retmf24r5r+ubCb/rqxnf68s57+vbSg/r+2of7At6L+wrmk/sO6pv7FvKf+x72p/sm/qv7Lwaz+zMOu + /s7Er/7QxrH+0ciy/tPKtP7VzLb+1s23/tjPuf7a0bv+29K8/rqrl/6/sZ/+1Mq5/uff0P7y7N7++PPl + /vv26v78+Oz+/Pjs/v357f79+e3+/fru/v367/6bmZKkAAAAPAAAADMAAAAqAAAAHwAAABQAAAAKAAAA + BAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ+RfAKsoYwSsaeTNLGnk0ayqJN5s6mVma6jj8CzqZXvs6qW + /rSrl/62rZj/t66a/7ivm/65sJz/u7Kd/7yzn/69tKD/v7ah/8C3o/7CuaX/xLum/8a8p/7Hvqn/ysCr + /8vBrP7Nw67/z8Ww/9DHsf7SybP/1Mu1/9XMtv7Xzrj/2M+5/trRu//c073/3dS+/t/WwP/h2MH/39a/ + /qqahv+/sqD/1sy8/uji1P/07+P/+vbq/v367v/+++///vvv/v778P//+/D//vvv/v/88P/28+fyNDMw + TwAAACkAAAAfAAAAFwAAAA4AAAAHAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAqJyHAa6kkA+jloEfp5uHNaufimmekHuGr6WRs6meidmvpZHosqiU + +LKplf6zqpb/tKuX/ratmP+3rpr/uK+b/7mwnP67sp7/vLOf/720oP6/tqL/wbij/8K5pP7Eu6b/xryo + /8i+qf7KwKv/y8Gs/83Drv7PxbD/0Mex/9LJs/7Uy7X/1cy2/9fOuP7Z0Lr/2tG7/9zTvf7e1b7/39bA + /uHYwf/i2cP/5NvF/uXcxv/n3sj/2M23/qeWg/+9sJ//1cu7/uji1P/08OP/+/fr/v367v//++///vvv + /v777//+++7//vru/v767f/9+ez+jouEkgAAACgAAAAdAAAAFAAAAAsAAAAGAAAAAgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK+mkhCyp5J/pJeCwK+mkt6wp5P3sKeT + /rGok/+xqJT/sqmV/rOqlv+0q5f/tq2Y/reumv+4r5v/ubCc/ruynf+8s5//vrWg/7+2ov7BuKP/wrml + /8S7pv7GvKj/yL6p/8m/q/7Lwa3/zcOu/8/FsP7Qx7H/0smz/9TLtP7VzLb/1864/9nQuv7a0bv/3NO9 + /97Vvv7f1sD/4djB/+LZw/7k28X/5dzH/ufeyP/o38r/6eDL/uvizP/s483/08ey/qSSf/+6rJr/0se3 + /uXez//y7d//+fXo/vz46//9+ez//fjr/vz46v/89+n//Pbo/vv25//79eX/2dTG0AAAADEAAAAlAAAA + GQAAABAAAAAJAAAABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsKeT + Rq+mkuewp5P+saiT/rKplf6zqpX+tKuW/rWsmP62rZn+t66a/rivm/66sZz+u7Ke/r20n/6+taD+v7ai + /sG4o/7DuqX+xLum/sa9qP7Ivqr+ysCr/szCrf7Nw67+z8aw/tHHsv7SybP+1Mu1/tbNt/7Xzrj+2dC6 + /tvSu/7c073+3tW//uDXwP7h2ML+49rE/uTbxf7m3cf+597J/ungyv7q4cv+6+LM/uzjzv7u5c/+7+bQ + /vDn0f7x6NL+1sq0/p6Md/6zpJH+y76s/t7VxP7s5dX+9e7e/vjy4v758+P++fPi/vny4f748d/+9/De + /vfv3P727tv+8+rW+AQEBEEAAAA0AAAAKAAAABwAAAASAAAACgAAAAYAAAADAAAAAQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAACzqpZMsqmV8LOqlv+0q5f/tayY/ratmf+3rpr/uK+b/rqxnf+7sp7/vLOf + /r61of/At6L/wbij/sO6pf/Fu6f/xr2o/si+qv/KwKv/zMKt/83Erv7PxrD/0cey/9LJs/7Uy7X/1s23 + /9jPuP7Z0Lr/29K8/9zTvf7e1b//4NfA/+HYwv7j2sT/5NvF/+bdx/7n3sj/6eDK/+rhy/7r4s3/7eTO + /+7lz/7v5tD/8OfR/vHo0v/y6dP/8+rU/vTr1f/069X/49jC/peDbv+rmoX/wbKe/tbKtv/l28j/7+bS + /vPq1//17Nj/9ezX/vTr1f/z6dP/8ujS/vLn0P/x5s3/8OTM/h4cGVUAAABCAAAANwAAACsAAAAfAAAA + FgAAAA0AAAAHAAAABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALivmim1rJjptq2Z/reumv64r5v+urGc + /ruynv69tJ/+vrWg/r+2ov7BuKP+w7ql/sW7p/7Gvaj+yL6q/srAq/7Mwq3+zcSv/s/GsP7RyLL+08mz + /tTLtf7Wzbf+2M+4/tnQuv7b0rz+3dS9/t7Vv/7g18D+4djC/uPaxP7k28X+5t3H/ufeyP7p4Mr+6uHL + /uvizP7t5M7+7uXP/u/m0P7w59H+8OfR/u/m0P7q4cz+3tbC/trSv/7v59H+9OvV/vTr1f7069X+8unT + /pSAaP6ijnf+tqWO/su8pf7cz7f+59vD/uzhyf7v48r+7+PJ/u7ix/7t4MX+7N/D/uvdwf7r3L7+6tu8 + /hYVEloAAABMAAAARAAAADoAAAAvAAAAJAAAABkAAAAQAAAACgAAAAUAAAACAAAAAQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvrSg + AbqxnL26sZ3/vLOe/r20oP++taH/wLei/sK5pP/DuqX/xbun/se9qP/Jv6r/ysCs/szCrf/OxK//z8aw + /tHIsv/TyrT/1cy1/tbNt//Yz7n/2tG7/9vSvP7d1L7/39a//+DXwf7i2cL/49rE/9/Xwf7b073/x7+t + /83Fsv6tp5f/npiK/7ixof7s483/7uXQ/+vjzf7n38r/0Mm2/9PMuP7Gv63/ycKw/8S9rP7DvKv/r6ma + /tHKt//v5tD/9OvV/vXs1v/17Nb/9OvV/qSQef+Xgmr/qpZ9/r6skv/QvqP/3Myw/uPUtv/n2Ln/6Ni5 + /ufYt//n1rX/5dSy/uXTsP/k0q7/28mm8AAAAFQAAABQAAAASwAAAEQAAAA8AAAAMQAAACcAAAAdAAAA + FAAAAAwAAAAHAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAwLaiRL61of3At6P/wrmk/sO6pv/FvKf/x72p/sm/qv/Lwaz/zMKt + /s7Er//QxrH/0ciy/tPKtP/VzLb/1s23/tjPuf/a0bv/29K8/t3Uvv/f1r//3dW//93Uvv7Tyrb/1My3 + /8K6qP61rp7/qaOT/66nmP67tKT/rqeY/9PLuP7Syrf/zcWz/8nCsP6+uKb/wLqo/8K7qv7NxbP/v7io + /8W+rf7a0r7/29O//9TMuv7Buqn/uLKi/qGcjv/m3sn/9OvV/vXs1v/17Nb/9OvV/rinkP+PeF7/n4lu + /rGdgP/Cr5D/0b2d/trHpf/fzKj/4c6o/uHNqP/gzKX/38qj/t7Jof/dx57/pJR2xwAAAFEAAABPAAAA + TAAAAEgAAABDAAAAPAAAADMAAAAqAAAAIAAAABYAAAAPAAAACQAAAAQAAAACAAAAAQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADHvqkBxLumrcW8p/7Hvan+yb+q + /svBrP7Mwq3+zsSv/tDGsf7RyLL+08q0/tXMtv7Wzbf+2M+5/trRuv7b0rz+3NO9/tXMt/7Wzbj+0ci0 + /rmyoP6noJH+o52O/rmyof6vqZn+zMSy/tTMuP7Syrf+ysKw/tTMuf65s6L+pZ+R/rOtnf66s6P+u7Sk + /tXNuv7Wzrv+18+8/tnRvf64sqL+yMGv/paRhf7Auaj+wruq/tzTwP7Syrf+4tnF/tfPvP7QyLb+9OvV + /vTr1f7069X+9OvV/s7Aqf6Hb1X+lX1h/qWOcP62oH/+xa+L/tC5lP7Wv5f+2cKY/trCl/7ZwZb+2L+U + /ti+kf7WvI/9V006iQAAAE0AAABLAAAASgAAAEgAAABEAAAAQQAAADoAAAAzAAAAKwAAACEAAAAZAAAA + EQAAAAoAAAAGAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAADMw64Zy8Gs7s3Drv7OxbD/0Mex/tLJs//Uy7T/1cy2/tfOuP/Yz7n/1864/tbNuP/Kwa7/ysKu + /rGqmv+kno//nZeK/qSej/+5sqL/z8e0/r+4pv/QyLX/z8e0/7y1pP65sqL/xr+t/7+4p/7Kw7H/sqyd + /8vDsf7a0r7/4NjD/8O8q/7Evaz/npmL/7u0pP6wqpv/wruq/9PLuP7Xz7z/08u4/+ffyv7Gv67/qqSW + /66omf60rp7/xr+t/t7Wwv/c08D/8+rV/vXs1v/17Nb/9OvV/uLWwP+GblT/i3NW/pqBYv+qkW7/uaB6 + /sSrgv/Nsob/0baJ/tO3iP/Tt4f/0raF/tG1g/+ymW/ZDQsITgAAAEgAAABGAAAARQAAAEQAAABCAAAA + QAAAADwAAAA4AAAAMgAAACsAAAAjAAAAGwAAABIAAAAMAAAABwAAAAMAAAABAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADSybNJ0smz/9PKtP7VzLb/1cy2/tDHsv/Lw67/urKg + /qihkv+qpJT/mJOF/sG5p/+4saD/w7up/snBr//Iwa7/y8Sx/ry1pP+0rZ7/sqyc/qCbjf+5sqL/x8Cu + /8S9q/7UzLn/08u4/9nQvf63sKD/w7yr/5iTh/6+t6f/xr+u/8fAr/7Wz7z/2NC9/8fAr/69tqX/vbam + /6SekP66s6P/vbam/9/Xw/7Wz7z/3dXB/9XNuv7Gv67/uLGh/pqUiP/Px7X/8+rU/vXs1v/17Nb/9OvV + /vHo0f+MdVz/hGtP/pF3WP+ghWL/rpNr/rqfc//Ep3j/yqx7/s2ve//Nr3r/za55/sepdfZANiVxAAAA + QwAAAEIAAABBAAAAQAAAAD8AAAA+AAAAPAAAADoAAAA3AAAANAAAAC8AAAApAAAAIgAAABoAAAATAAAA + DQAAAAcAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYz7l42dC5 + /trRu/7c073+rqeW/pSOgf6knY7+vrel/sW9qv7Syrb+y8Ow/sS9qv7Cu6n+o52O/qqklf7Cuqn+wLmo + /snCr/7Rybb+zse0/tDItf69tqb+ubKi/rWun/6ln5H+wryr/uDXw/7UzLn+2tK+/uHZxP7Gv67+wbqq + /qqklv6inY/+1My5/sa/rv7Ty7n+29O//tHJt/7Px7X+xL2s/piThv6tp5n+39fD/snCsP7Z0b7+3NTA + /srCsf7Qybb+5NzI/vTr1f7069X+9OvV/vTr1f6gjHP+f2ZK/olvUP6We1j+o4hf/rGUZ/67nWz+wqNv + /sencf7JqHH+yahw/m1bPZECAgE/AAAAPAAAADsAAAA6AAAAOgAAADgAAAA3AAAANgAAADUAAAAzAAAA + MQAAAC4AAAAqAAAAJgAAAB8AAAAYAAAAEQAAAAoAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAADe1b+V4NfA/+HYwv7j2sP/y8Ow/qehkv+8taT/o52P/piThv/Gvq3/wbqo + /tDItf/Y0Lz/zMWy/tTMuf+ln5H/q6WW/r22pv+sp5j/q6WW/tvTv//Syrj/4djE/8S9rP7Gv67/sKqa + /6agkv64saH/vrem/+Laxv7b07//3dXB/8W+rP6yrJ3/xL2s/6ijlP6zrZ3/vren/9DJtv7b07//3tbC + /87Htf7DvKv/wbuq/8zEsv7Fvq3/0Mm2/r63pv/Ox7T/6eHM/vXs1v/17Nb/9OvV/vXs1v+7qpL/e2JH + /oNpS/+Oc1H/m39X/qiKXv+0lWP/vJxn/sKiav/Domv5dWFAlAAAADYAAAA1AAAANAAAADMAAAAyAAAA + MQAAADAAAAAvAAAALgAAAC0AAAAsAAAAKgAAACgAAAAmAAAAJAAAAB8AAAAaAAAAEwAAAAwAAAAHAAAA + AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADk28Wg5t3H/+feyf7p4Mr/0cm2 + /rqzo//MxbL/wruq/szFsv/Evav/vrin/pqViP/Bu6n/vLal/tXNuv/NxrT/0su4/sO8q//IwK//r6ma + /sS9rP+emIz/yMGv/8O8q/7UzLn/29O//8/Htf7Lw7H/wruq/5yWif7Cu6r/yMGv/8rDsf7Syrf/2dG+ + /8zEsv7Iwa//u7Sk/7Sunv7LxLL/0cm3/9PLuP7HwK//2dG+/9LKuP7UzLn/rqiZ/sO8q/+cl4r/2tK+ + /vXs1v/17Nb/9OvV/vXs1v/Ux7D/eF9F/n5kSP+HbEz/lHhT/aCDWfWjh1rooIVY0ZJ5UK1OQSpsBAMC + LgAAACsAAAAqAAAAKQAAACgAAAAnAAAAJgAAACUAAAAkAAAAJAAAACMAAAAiAAAAIQAAAB8AAAAeAAAA + HAAAABkAAAAVAAAAEAAAAAsAAAAGAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAADq4cuZ6+LM/uzjzv7u5c/+2tK+/paRhf7Buqj+vLWl/tLKt/7Xz7z+3dXB/r63p/62r6D+urSk + /q6omf6po5X+x8Cv/s7GtP7Xz7z+29O//tDItv65s6P+ubKi/q6nmP7OxrT+xL2s/s7Htf7d1cH+4NjE + /sS9rP7MxLP+uLKi/qqklv6yq5z+xb+t/sO9q/7Z0b7+19C8/tTMuf7Lw7L+ubKi/rWvn/6qpJb+s62d + /s3GtP7i2sb+4NjE/vHo0v7z6tT+9OvV/vTr1f7069X+9OvV/vTr1f7p38j8fWZMymtWPKxcSjOFPjIj + Yi8mGkcWEQwtBAMCIwAAACAAAAAfAAAAHgAAAB4AAAAdAAAAHAAAABwAAAAbAAAAGgAAABkAAAAZAAAA + GAAAABcAAAAWAAAAFgAAABUAAAAUAAAAEwAAABEAAAAOAAAACwAAAAcAAAAEAAAAAgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADu5c948OfR//Ho0v7y6dP/8OfR/sjBr//IwK//paCS + /qKcj/+wqpv/wbqp/szEsv/Z0b7/0Mi2/sW+rf/Gv63/pZ+R/qmjlP+tp5j/zMWz/tXNuv/NxrT/2NC9 + /9jQvf6wqpv/urOj/763pv7Fvaz/0cq3/8nCsP7MxbP/3dXB/9bOu/7Cu6r/vrin/5mUh/6po5X/wLmo + /8O8q/7Z0b7/6uLM/+3kz/7069X/9ezW//Tr1f717Nb/9OvV/vXs1v/17Nb/9OvV/vXs1v/17Nb/9OvV + /vXs1v/069X5SUY/RQEAABUAAAAVAAAAFAAAABQAAAAUAAAAEwAAABIAAAASAAAAEQAAABEAAAAQAAAA + EAAAAA8AAAAPAAAADgAAAA4AAAAOAAAADQAAAAwAAAAMAAAADAAAAAsAAAAKAAAACgAAAAkAAAAHAAAA + BgAAAAQAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADx6NI/9OvV + /vTr1f7069X/8unU/srCsf/Vzrr/xb6t/tDJtv/Buqn/vrem/sK6qv+vqZv/urSj/sfArv/Ty7n/3dTB + /svEsv/Bu6r/q6WW/ru0pP+moJL/ubKi/9rTv/7Lw7L/0cq3/9DJtv7Vzbr/r6ma/8S9q/6emYz/xL2s + /8O8qv7d1MH/49vH/+3kz/7x6NL/9OvV//Tr1f717Nb/9ezW//Tr1f717Nb/9ezW//Tr1f717Nb/9OvV + /vXs1v/069X/9OvV/vPq1P/17Nb/9OvV/vXs1v/17Nb/lpGDahIRDwoNDAoJBgUECQICAQkBAQEJBAMC + CQYFAwgDAwIIAQEBCAAAAAgAAAAHAAAABwAAAAcAAAAHAAAABgAAAAYAAAAGAAAABgAAAAUAAAAFAAAA + BQAAAAUAAAAEAAAABAAAAAMAAAADAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAADy6dMZ9OvV7/Tr1f7069X+9OvV/rixof6qpJX+u7Wl/tLKt/7Xz7z+3dXB + /tLKuP7PyLb+wbqp/rOsnf6oopT+1c26/sa/rf7Xz73+z8e1/sfArv7Qybf+q6aX/snCsP6up5n+sqyc + /svEsv7f18P+5t3J/u7l0P7069X+9OvV/vTr1f7069X+9OvV/vTr1f7069X+9OvV/vTr1f7069X+9OvV + /vTr1f7069X+9OvV/vPq1f7v5tH+7eXP/tDItv7LxLL+urOk/sS9rP7069X+9OvV/vTr1f7069X+4tnE + m5aPgANqZVkDMi4nAwoIBgMFBAIDAgIBAwEAAAMAAAADAAAAAwAAAAIAAAACAAAAAgAAAAIAAAACAAAA + AgAAAAIAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD069UG9ezVyvTr1f717Nb/9OvV + /uTbx/+sppf/rKaX/sK8q/+cl4r/zse1/tPLuP/UzLn/2dG9/s3Fs//Px7X/p6GT/qehk//Evaz/tK2e + /r23pv/g2MT/6eHL//Pq1P717Nb/9ezW//Tr1f717Nb/9ezW//Tr1f717Nb/9ezW//Tr1f717Nb/9ezW + //Tr1f717Nb/9OvV//Pq1P7r487/6N/K/9jQvf7Evaz/ta+f/7avoP61r5//2tK+/ravoP/Xz7z/1s67 + /uHZxf/z6tT/9OvV/vXs1v/17Nb/9OvV0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA9OvVm/Tr1f717Nb/9OvV/urizP/Iwa//0su4/r23pv/Cu6r/wruq/sjBr/+knpD/vren + /tDItv/d1cH/5t7J/u/n0f/z6tT/9OvV/vTr1f/17Nb/9ezW//Tr1f717Nb/9ezW//Tr1f717Nb/9ezW + //Tr1f7069X/9OvV//Ho0/7u5c//4dnF/9/Wwv6+t6b/raeY/8a/rv6xqpv/yMGv/9XOu/7OxrT/08u5 + /9vTv/7Syrj/zca0/sjBsP+4saH/qqSW/s3Gs//x6dP/9OvV/vXs1v/17Nb/9OvV+9zTwA0AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9OvVZfTr1f7069X+9OvV/uzjzv6kn5H+vbem + /s7GtP7Z0b7+7OPO/vLp0/7069X+9OvV/vTr1f7069X+9OvV/u/m0f7s487+18+8/t7Wwv7069X+9OvV + /vTr1f7069X+9OvV/vTr1f7w59L+7+bQ/tHKt/7Kw7H+tq+f/q2nmP67tKT+qaOU/tTMuf7NxrP+0sq4 + /tXNuv7JwrD+zse0/sO8q/7Kw7H+q6aX/sW+rf7Vzbr+49vG/tXOu/7Wzrv+tK6f/rKsnP7u5dD+9OvV + /vTr1f7069X+9OvV/vTr1T8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezW + LfTr1f717Nb/9OvV/vXs1v/069X/9OvV/vXs1v/17Nb/9OvV/vLp0//t5M//3NTB/szFs/+7tKT/sqyd + /qqklf+rpZf/sqyd/srDsf/v5tD/49rG/9XNu/6/uKf/tK6e/8jBr/6wqpv/1My5/8W+rf7Xz7z/1My6 + /93Vwf7IwK//tK6f/722pv6yrJ3/sqyd/8vEsv7Ty7j/2tK+/+HZxP7Fvqz/zca0/5uWif7Gv63/v7in + /snCsP/NxrP/4NfD/tbOu//g2MT/9OvV/vXs1v/17Nb/9OvV/vTr1XgAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWBPTr1fL17Nb/9OvV/vXs1v/r4s3/18+8/sjBsP/JwbD/t7Cg + /rOtnv/MxbP/ubKi/sa/rv/NxrP/2NC9/sa/rv+/uaj/sqyc/rGrnP/DvKv/zsa0/8O8q/7Qybb/0su4 + /9HJtv7IwK//0Mm3/8e/rv7Gv63/qaOV/8vDsv7UzLr/2tK//9PLuP7JwrD/rqiZ/8jBr/6noZP/ubOi + /9bOu/7JwrD/2dG+/97Wwv7LxLL/sqyd/rewof+vqZr/zse0/tDJtv/Z0b7/9OvV/vXs1v/17Nb/9OvV + /vXs1q0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPTr1cH17Nb/9OvV + /vXs1v/Uzbr/q6WW/s3GtP/Xz7z/0Mi2/sS9q/+5sqL/ubOj/sW+rf+4saH/zcWz/sjBr//Ox7T/18+8 + /szFs//JwrD/tK6e/6Wfkf7Evaz/s62d/764p/7Vzrr/4dnE/9vTv/7Iwa//vbam/6OdkP6zrJ3/ysOx + /7iyov7Ty7n/0Mm3/9HJt/7KwrH/uLKi/6mjlf60rp7/s6yd/+Tcx/7QyLb/1s+7/ujgy//y6dP/9OvV + /vXs1v/17Nb/9OvV/vXs1v/17Nb/9OvV/vXs1tj17NYMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAPTr1Yj069X+9OvV/vTr1f7v5tH+t7Gh/qKcj/6rpZf+vren/sjAr/7X0L3+29PA + /tbOu/7Vzrv+rqiZ/sK7qv6yrJz+wruq/r22pv7Ryrf+2dG+/tXNuv7UzLn+ubKi/ry1pf6moJL+t7Ch + /tXOuv7Iwa/+39bC/tzUwP7Ty7j+zca0/qOdkP6noZP+y8Sy/rWun/7Kw7H+5NvH/urizf7z6tT+9OvV + /vTr1f7069X+9OvV/vTr1f7069X+9OvV/vTr1f7069X+9OvV/vTr1f7069X+9OvV/vTr1fn069UjAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPTr1VP17Nb+9OvV/vXs1v/x6NP/0cq3 + /r+4p//Y0L3/qqSW/q6omv/Kw7H/xL2s/s7GtP/c1MD/1My6/tnRvv+1r5//vbam/rawoP+xq5z/q6WW + /9DJtv7Ryrf/2NC9/8vEsv7PyLX/saqb/7Grm/6zrZ7/wLmo/+DYxP7Xz7z/5d3I/+rizf7v5tH/9OvV + //Tr1f717Nb/9ezW//Tr1f717Nb/9ezW//Tr1f717Nb/9OvV/vXs1v/169X/9OvV/vPq1P/y6dP/8urU + /vXs1v/17Nb/9OvV/vXs1v/17NZUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + APTr1Sj17Nbz9OvV/vXs1v/z6tT/xr6t/rqzo//Vzbr/zse1/tnRvv/Qybb/u7Sk/puWif/Evaz/sqyd + /tPLuP/JwrH/18+8/snBsP/Syrj/u7Sk/7Otnf6VkIT/v7io/7awoP7Syrj/39fD/+rhzP7y6dP/9ezV + //Tr1f717Nb/9ezW//Tr1f7z6tT/6uHM/9fPvP7NxbP/7eTP//Tr1f717Nb/9ezW//Tr1f7069X/7uXQ + /uffyv/Xz7z/0cm2/qKcj/+0rp7/2dG9/vXs1v/17Nb/9OvV/vXs1v/17NaKAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPTr1Qb069Xd9OvV/vTr1f7069X+0cq3/pmUh/7Auan+raeY + /tDJtv7Vzbr+3NTA/s3Fs/64saL+ysOx/qWfkf6ZlIf+wbqp/rmyov7b08D+3dXB/vHo0/7z6tX+9OvV + /vTr1f7069X+9OvV/vPq1f7x6NL+5dzI/tnRvv7Ryrf+w7yr/qiilP61rp/+uLKi/rCqm/7HwK7+5NzI + /uDYxP7b07/+z8e1/rqzo/6gmo3+u7Wk/s3GtP7Y0L3+3NTA/tvTv/7Evaz+39fD/vTr1f7069X+9OvV + /vTr1f7069XCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17Nau9OvV + /vXs1v/17Nb/6ODL/szFs//NxbP/qqSW/pqVif+rpZf/ta6e/sK7qv/Syrj/4tnF/uvizf/w59H/9OvV + /vXs1v/17Nb/9OvV//Pq1P7t5M//5d3I/9jQvf7UzLn/wbqp/7+4qP7Sy7j/pqCT/8nCsP7NxrP/1c27 + /9HJt/7MxLL/ycKw/7Otnf62sKD/tq+f/8C5qP7b07//3NTA/9zUwP7Hv67/vrin/r+4qP/Kw7H/p6GT + /s3GtP+5s6P/29PA/vPq1P/17Nb/9OvV/vXs1v/17Nbn9OvVEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD17NZ49OvV/vXs1v/17Nb/6eDL/ru1pf/Vzrr/2dG+/uzjzv/y6dP/9OvV + /vXs1v/17Nb/9OvV/vPq1P/w59L/4tnF/tzTwP/HwK//wLmo/87HtP6moJL/tK6e/7+4p/7TzLn/3NTB + /97Wwv7Y0L3/08y4/6ynmP6vqZr/vLWk/8C6qf7Iwa//3dXB/87Htf7Ox7X/ysKx/7Sunv60rZ7/wruq + /7u0pP7NxrT/zcWz/tnRvf/NxrT/yMGv/rawoP/e1sL/s62d/ujgy//17Nb/9OvV/vXs1v/17Nb59OvV + NQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD069VA9OvV/vTr1f7069X+9OvV + /vTr1f7069X+9OvV/vHo0v7o38r+5d3I/sjAr/7c1MD+ycKw/q6omf7Auaj+q6WX/rixov7Lw7H+29O/ + /trSvv7Fvq3+uLGh/tDItf6ZlIf+uLKi/sO8q/7d1cH+3dTB/t7Wwv6/uKj+y8Ox/rKsnP63sKD+s62d + /qyml/6/uKf+2dG9/tjQvf7Lw7H+xb6t/rewof7Gv67+zMWz/rWvn/7Buqn+18+8/t3Uwf7Evav+ycKw + /vDn0v7069X+9OvV/vTr1f7069X+9OvVaQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAD17NYZ9OvV8PXs1v/17Nb/9OvV/ungy//DvKv/ubKi/rWun/+moJL/v7io/rmzo//f18P/39fD + /tjQvf/Iwa//1s67/qymmP+5s6P/qaOV/8nCsP7HwK//0Mi1/+DXw/7JwrD/ubKi/7qzo/7Bu6n/s6yd + /8a/rv7DvKv/1s67/9bOu/7Sy7j/saub/83Fs/6zrZ7/pZ+R/8fArv7Buqn/0su4/9jQvf7NxbP/sKqb + /tvTv/+4saH/wLmo/svDsf+/uKf/2NC9/unhzP/069X/9OvV/vXs1v/17Nb/9OvVngAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NYH9OvVzfXs1v/17Nb/9OvV/tzUwf/Gv67/1My5 + /tjRvf++t6b/zcWz/r63pv/Gv63/vLal/svEsv/Fvq3/2tK+/svEsv/UzLn/sKqb/6agkv7Auqj/raeY + /9fPvP7HwK//1c66/9bOu/7Iwa//yMCv/7Ksnf7Z0b7/wLmo/8vDsv7Syrj/x8Cu/9zUwP7Uzbr/vren + /8S9rP6+t6f/v7mo/8C6qf7KwrH/0sq4/uLaxv/TzLn/4NjE/qull/+/t6f/sKqb/sfAr//z6tT/9OvV + /vXs1v/17Nb/9OvV1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9OvV + nPTr1f7069X+9OvV/uPbxv6dl4r+o56Q/tTNuv6+t6b+3NTA/uLZxf6/uKf+ubOj/rmzo/63sKD+r6ma + /rq0o/7Wzrv+1My5/tbOuv7a07/+s62d/rewoP6rpZb+o56Q/svDsf7Cu6r+18+9/t3Vwf7Gv67+vbam + /sW+rf64saH+op2P/r22pv7Iwa/+zMSy/uHZxf7Ryrf+z8i1/s7GtP6qpJX+ta+f/r63pv7LxLL+49rG + /trSvv7Wzrv+xL2s/svEsv7v5tH+9OvV/vTr1f7069X+9OvV/fTr1RAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA9OvVZvXs1v/17Nb/9OvV/vHo0v+/uKf/v7in/q6omf+wqpv/ycKw + /tPMuf/Fvq3/0su4/tDJt//Ryrf/uLKh/qahk/+6tKT/qqSW/8S9q/7Ryrf/zca0/9fPvP7IwK//18+8 + /722pv68taX/xb6t/8jAr/7Dvav/18+8/9rSvv7Xz7z/ubKi/8vEsf6oopT/o52Q/8fAr/7LxLL/2tK+ + /+DXw/7Y0L3/ubKi/sS9rP+7taT/ycKw/s3Fs//Rybf/xb6t/tjQvf/x6NL/9OvV/vXs1v/17Nb/9OvV + /vXs1kQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9OvVMfXs1v/17Nb/9OvV + /vLp0//PyLb/2NC9/tbPu//Auan/rKaX/rGrnP+emYz/wruq/rGrm//Vzbr/0cq3/s3GtP/OxrT/sKqb + /7ixof7NxrP/nZiL/8zFs/6/uKf/3NTA/97Wwv7NxbP/18+8/7iyof62r6D/raeY/722pv7Qybb/ycKw + /93Vwf7Syrj/wbuq/7q0pP6xq5z/wLmo/8nCsP7Z0b3/0Mm2/tDItv/d1cH/zse0/r+5qP+vqZr/rqeZ + /qehk//q4c3/9OvV/vXs1v/17Nb/9OvV/vXs1noAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA9OvVA/Tr1fP069X+9OvV/vTr1f6/uKf+t7Gh/rqzo/7Fvq3+08y5/tvTv/7c1MD+u7Sk + /rCqm/6jnpD+oJuN/sa/rf7HwK7+1c26/tHJtv7Z0b7+1c26/rStnv6moJL+rqia/szEsv7HwK7+4NfD + /t7Wwv7Z0b3+ubOj/sfArv6xq5z+o52P/r23pv7IwK/+y8Sy/uHYxP7QyLb+ysOx/s7HtP6oopT+w7yr + /pyWiv7MxLL+08y5/urizP7p4cz+8+rU/vTr1f7069X+9OvV/vTr1f7069X+9OvV/vTr1bIAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1sL17Nb/9OvV/vXs1v/g2MT/qqSV + /rCqm/+wq5v/t7Gh/r22pv/Y0Lz/0su4/tnRvv/JwrD/0Mm2/q+pmv+noZP/pqCS/763pv7Ryrf/3NTA + /83GtP7Xz7z/wruq/62nmP6zrJ3/y8Sy/8zEsv7Y0L3/ysKx/9LKuP7Ty7j/19C8/66nmP61r5//mJOG + /8C5qf6/uKf/1c26/+TcyP7p4Mz/8OfR/vPq1P/069X/9OvV/vXs1v/17Nb/9OvV/vXs1v/17Nb/9OvV + /vXs1v/17Nb/9OvV/vXs1tv17NYOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + APXs1oz17Nb/9OvV/vXs1v/p4Mv/z8i2/tPMuf/OxrT/urOj/qiilP+vqZv/rqia/tfPvP/Vzbr/29PA + /t/Xw//MxbP/ysOx/6ull/6uqJn/ta6f/7Cqm/7PyLb/18+8/9bOu/7Rybf/xL2s/83Fs/6loJL/v7mo + /6agkv7LxLL/2NC9/9/Ww/7r487/7+bR//Pq1P717Nb/9ezW//Tr1f717Nb/9OvV/vXs1v/17Nb/9OvV + /vXs1v/17Nb/9OvV/vXs1v/069X/9OvV/vXs1v/17Nb/9OvV/vXs1vr17NYlAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPTr1VT069X+9OvV/vTr1f7x6NL+trCg/q+pmv7Evav+1s+8 + /tbPu/7e1sL+ysOx/sG6qf7Fvq3+p6GT/rq0pP7PyLb+1M26/tLLuP7Syrf+vbam/se/rv63saH+ta6f + /r22pv64saH+2NC9/uvjzf7s5M7+8+rU/vTr1f7069X+9OvV/vTr1f7069X+9OvV/vTr1f7069X+9OvV + /vTr1f7069X+9OvV/vTr1f7z6tT+6+PN/uTcx/7X0Lz+0Mi2/qijlP69tqX+5d3I/vTr1f7069X+9OvV + /vTr1f7069VZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1in17Nbz9OvV + /vXs1v/069X/ysOx/pqViP/DvKr/qqSV/rSunv/b07//18+8/s/Itf/Z0b7/vbam/srCsf+blon/r6ma + /8rDsf7Fvaz/ycGw/+rhzP7r487/8+rU//Tr1f717Nb/9ezW//Tr1f717Nb/9ezW//Tr1f717Nb/9ezW + //Tr1f717Nb/9OvW//Pq1P7v59H/6uHM/+LZxf7a0r7/0sq3/rKrnP+up5n/vbem/tXNuv/Z0b3/3tbC + /tTNuv/Fvq3/6eDL/vXs1v/17Nb/9OvV/vXs1v/17NaOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAPXs1gj17Nbf9OvV/vXs1v/069X/49rG/snCsP/Sy7j/tK2e/sW+rP+/uKf/v7mo + /q+pmv/Syrj/1M26/ujgy//s487/9OvV//Tr1f717Nb/9ezW//Tr1f717Nb/9ezW//Tr1f717Nb/9ezW + //Tr1f717Nb/9ezW//Tr1f7z6tT/6uHM/9nRvv7Syrj/w7yr/6+omv64sqH/urOj/8S9rP7d1cH/3tbC + /t/Xwv++t6b/ycKw/rWvn//Fvq3/p6KT/srDsf+7taX/5t3J/vXs1v/17Nb/9OvV/vXs1v/17NbFAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD069Wv9OvV/vTr1f7069X+2dG+ + /qqklv7Ty7n+1s67/uvizf7z6tT+9OvV/vTr1f7069X+9OvV/vTr1f7s487+4dnF/tXNuv7Auqn+3NTA + /vTr1f7069X+9OvV/vLp0/7s487+5NzH/uPbxv7Wz7v+0cm3/qOdkP63saH+uLGh/ry1pf7LxLH+3NTA + /s7Htf7Vzbr+vrem/rqzo/68tqX+saub/sS9q/7Evaz+08y5/tTNuv7Ox7T+xb6t/r+4p/7Vzbr+s62e + /vLp1P7069X+9OvV/vTr1f7069Xp9OvVFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAD17NZ59OvV/vXs1v/17Nb/9OvV/vTr1f/17Nb/9OvV/vDn0f/n3sr/5NvH/srCsf/a0r//wbqp + /rixof+3sKH/rqeZ/7mzov7MxbP/3tbC/9rSv/7DvKv/vbam/8C5qP6blon/urSj/87GtP7a0r7/3NTB + /9nSvv68tqX/yMGv/7y2pf6po5X/ubKi/6milP7Fvq3/08y5/9XNuv7Hv67/yMGv/rOtnf/Wzrv/wbqp + /rOtnf/Evaz/1s67/tnRvv/Cu6r/1s67/vPq1P/17Nb/9OvV/vXs1v/17Nb69OvVOQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NZE9OvV/vXs1v/17Nb/9OvV/uHYxP+7tKT/s62d + /rCqm/+hnI7/v7in/ru0pP/h2cX/4dnE/tXNuv/Ox7X/ysOx/7GrnP6vqZr/q6WW/8rDsf7Gv67/18+8 + /9zUwP7Px7X/sqyd/7avn/7HwK7/p6GT/8/Htf69tqb/29O//9fPvP7LxLL/sKqb/9HJt/6ppJX/pJ6Q + /8vEsv7Auaj/1s67/tvTv//Iwa//tK2e/t3Vwf+5s6L/u7Sj/sjAr//Auqn/3tbC/u7l0P/17Nb/9OvV + /vXs1v/17Nb/9OvVagAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD069UZ9OvV + 8fTr1f7069X+9OvV/s3Fs/7Evaz+1My5/tXNuv7Buqn+0sq4/ru0pP7Evaz+wruq/sG6qf7IwK/+18+8 + /tHJt/7Syrj+urSk/qGbjv7Evqz+raeY/tHKt/7Iwa/+0cm2/tXNuv7KwrH+yMGv/ravoP7f1sP+u7Sk + /sjBr/7MxbP+x8Cv/t7Wwv7Qybb+xb6t/r+4p/68taX+xLyr/sS9rP7Evaz+1c26/t/Xw/7Vzbr+3tbC + /q2nmP67tKT+squc/s7GtP7069X+9OvV/vTr1f7069X+9OvVowAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD17NYH9OvVzfXs1v/17Nb/9OvV/tXNuv+cl4r/tK2e/srDsf/Cu6r/3tbC + /t3Vwf+4sqL/x8Cu/q+pmv/Buqn/qqSV/7+4qP7Y0L3/08u4/83Fs/7Vzrv/q6WW/8C6qf6loJL/rqeZ + /8a/rv7Fvq3/2NC9/9rTv/7Auaj/xr+u/8G6qf6vqZr/pJ6R/8a/rf7Fvq3/zcaz/97Wwv7Ox7X/1M26 + /r63p/+2r6D/sKqa/sG6qf/QyLb/49vG/tXOu//QyLb/ysKx/tTMuf/z6tT/9OvV/vXs1v/17Nb/9OvV + 2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9OvVoPTr1f7069X+9OvV + /uvizf60rp7+xL2s/qCajf62sKD+xb6t/tPLuf7HwK7+1c26/tnRvv7Kw7H+sauc/qyml/6sppf+uLGh + /riyov7Z0b7+0Mi2/tjQvf7OxrT+2dK+/rq0o/6zrZ7+wbmp/svDsv7Buqn+3NTA/tnRvv7Ty7j+vbal + /sS9rP6knpD+pZ+R/s/Htf7Kw7H+39fD/t/Xw/7Xzrz+uLGh/sfArv6/uKf+xr+t/s/Htf7Kw7H+y8Sy + /uXdyP7069X+9OvV/vTr1f7069X+9OvV/fTr1RIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA9OvVZ/Xs1v/17Nb/9OvV/uzjzv/JwrD/29O//tPMuf/Auaj/sauc/rewoP+blon/vLWl + /rWvn//Px7X/1My5/8/Itf7NxbP/tK2e/8a/rf7Cu6r/npmM/8nBsP6/uKj/29O//9rSvv7PyLX/3tXC + /62nmP68taX/r6ma/7mzo/7Px7X/zcWz/+DXw/7Vzbr/xr+u/7u0pP6xq5z/x8Cu/srDsf/Y0Lz/0Mm3 + /uHZxf/u5dD/9OvV/vTr1f/17Nb/9OvV/vXs1v/17Nb/9OvV/vTr1f/069X/8+rU/vPq1EkAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9OvVMvXs1v/17Nb/9OvV/vLp0/+xq5z/wLmo + /rWvn//IwbD/08y5/tnRvv/Vzbr/u7Wk/q+pmv+moJL/sauc/7+5qP7JwrD/1s67/9DItv7c1MD/xb6t + /7u0pP6tp5j/tK2e/9DJtv7MxLL/4trF/9nRvv7Rybf/vbem/8W+rf6yrJz/p6GT/8W+rf7IwbD/1M26 + /+feyv7t5M//8unT/vTr1f/17Nb/9OvV/vXs1v/17Nb/9OvV/vXs1v/069X/9OvV/vTr1f/069X/8+rU + /vPq1P/y6dP/8unT/vHo0n8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9OvV + BfTr1fX069X+9OvV/vTr1f7Ryrf+sKmb/qmjlf64saH+urOj/sC5qP7Z0b7+1c26/tbOu/7Cu6r+08y5 + /qWgkv6noZP+qqSW/sa/rf7Wzrv+3NTA/tHKt/7d1cH+ta+f/q+pmv6uqJn+y8Ox/s3FtP7Vzbr+zMWy + /uTcyP7u5tD+8unU/vTr1f7069X+9OvV/vTr1f7069X+9OvV/vTr1f7069X+9OvV/vTr1f7069X+9OvV + /vPq1P7z6tT+7+fR/uzjzv7p4cv+8ejS/vHo0v7w59H+8OfR/u/m0LQAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1sP17Nb/9OvV/vXs1v/g2MT/0Mi2/tfPvP/Ox7T/ta+f + /q2nmP+kn5D/wLmp/s/Htf/Uzbr/29O//+Pbxv7KwrH/zcWz/6ahk/6zrJ3/qKOU/6+pmv7Vzbr/08y5 + /+Tbx/7w59H/9OvV//Tr1f717Nb/9ezW//Tr1f7069X/7+fR/+ngy/7f18P/wruq/7Sun/7a07//9OvV + /vTr1f/z6tT/7ubQ/uPbxv/j2sb/18+7/snCsP/Gv63/qaOV/qmjlP/Lw7H/7uXQ/u/m0P/u5c//7uXP + /u3kzt7t5M4PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1o317Nb/9OvV + /vXs1v/p4cz/raeY/rawoP/HwK//1My6/tjQvf/X0Lz/zsa0/riyov/Evaz/oZuO/8jBr/7Iwa//3NTB + /+HZxP7s5M7/8unT//Tr1f717Nb/9ezW//Tr1f7z6tT/7+bR/+/m0P7Vzbv/0cm3/8G6qf6xq5z/trCg + /62nmP7NxbT/xb6t/87HtP7Uzbr/zMWz/tPLuP/Fvqz/xb2s/qCajf/Buqn/zsa0/tvTv//Ty7j/1c25 + /q+pmf+/uKf/6uHM/uzjzv/s483/6+LM/urhzPvq4csoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAPTr1Vf069X+9OvV/vTr1f7x6NL+u7Sk/peShv7Lw7L+mJOH/ru1pP7Y0L3+3NTA + /uffyv7w59L+9OvV/vTr1f7069X+9OvV/vTr1f7z6tT+9OvV/ufeyf7c1MH+xr+u/rq0pP7DvKv+s62d + /tfPvP66s6P+18+8/tXOu/7Z0b7+ysOx/rOtnv66tKP+q6WW/rKsnf7Auan+zMSy/tzTv/7a0r7+x8Ct + /sa+rf6blYj+v7in/ru0o/65sqL+yMGv/szEsv7OxrP+4djD/urhy/7p4Mr+6N/K/ujfyf7n3shbAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1ir17Nb09OvV/vXs1v/069X/3tbC + /uXcyP/x6NL/9OvV/vXs1v/17Nb/9OvV/vXs1v/069X/6eHM/+vjzv7KwrD/xr+u/7exof6wqpv/x8Cu + /722pf7Auan/zcWz/9PLuP7X0L3/zMWz/9HKt/7Iwa//ubOi/6OekP7Evav/zsaz/9LKt/7Wzbr/x8Cu + /7Gqm/7Fvav/npiL/q2ml//Iv63/uLGf/tPLt//QyLX/x7+t/rKrnP+2r57/pqGS/s3Fsv+5sqL/0cm1 + /ufeyP/m3cj/5t3H/uXcxv/k28WTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + APXs1gn17Nbf9OvV/vXs1v/17Nb/9OvV/vXs1f/z6tT/7eXP/tvTv//Ryrf/urOj/snBr//DvKv/rqia + /8zFs/7Cu6v/x8Cv/9LKuP7QyLb/0Mm2/7Wun/6oo5T/zse0/6Gcjv66s6P/y8Ox/9/Wwv7Xz7v/0Mi1 + /7avn/6tppf/p6GS/8O7qf6vqJj/wrqo/8G5p/7Kwq7/yL+s/rKrmv+qoZL/q6OT/qyjk//PxrL/vLSi + /sC4pv/NxbH/zMSx/q6nmP+moJH/1s25/uTbxf/j2sT/49rD/uLZwv/h2MLJAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD069Wz9OvV/vTr1f7069X+7OPO/rGrm/6moJL+rqiZ + /rawoP7Fvq3+z8i1/uDYxP7Z0b7+1c26/q+pmv7Kw7H+pqGT/sG6qf63saD+z8i1/tfOu/7QyLb+2NC8 + /rWvn/63sKD+q6SV/rOsm/7Fvav+v7em/tLJtv7Kwq/+ysGt/sG5pv6elof+qqKR/rasm/6mnY3+tqyZ + /sC1of7AtaH+vLKe/rSrmP6QiXv+s6qY/rSsm/68tKL+w7uo/r+4pv7Jwa7+z8az/uDXwf7g18H+39bA + /t/Wv/7e1b/q3dS+FgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD069V79OvV + /vXs1v/17Nb/7uXP/s3GtP/KwrH/39fD/qijlf+5s6L/xL2s/sK7qf/Fvq3/2tK+/9LKt/7UzLn/vrem + /8W+rP6qo5X/qqSV/6yllv6+tqX/zsay/8rCr/7Kwa7/y8Ov/66mlv6wqJf/p5+P/7uxn/7CuKT/wLai + /8S5pf60qZf/taqW/7KnlP6Zj37/qJyJ/p2Rf/+ekoD/q5+L/raqlf+xpZP/v7Og/revnP+5sJ7/ta2c + /qyllf+fmIr/vbWj/tvSvP/d1L7/3NO9/tvSvP/b0rv72tG7PQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD069VF9OvV/vXs1v/17Nb/8unT/rSunv+yq5z/18+8/sjArv/Z0b3/2NC9 + /raun/+knY//v7en/66nmP7Fvqv/vbWk/9HJtf7EvKr/y8Ku/7+2pP6ooZH/mJCC/7KpmP6mno3/v7Wi + /7yxnv7Dt6P/u7Cc/6eciv6TiXn/qZ2L/6CUgv6YjHr/oZSB/6+hjP6voYv/t6iR/sGxmP/JuZ//wbGY + /qaYg/+UiHf/pZqI/rqvnP/FvKf/v7aj/revnv+jnY7/l5GE/tLJtP/Z0Lr/2dC6/tjPuf/Xzrj/1864 + bwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADy6NIb9OvV8/Tr1f7069X+8+rU + /sC5qP6gmoz+ubKi/qqjlP7Px7T+0sm2/s/Gs/7Lwq/+tKyc/sa9qv6hmov+k4x//rmwnv6ropH+xbqn + /sC2ov69sp/+v7Sf/qGXhv6uo5D+pJiG/qKWhP6kmIX+qZuI/qyfiv60pY/+w7Sb/sa3nf7Lu6H+08On + /tfHqv7ezrH+4NCz/uDRs/7QwKX+oI54/pGCbv6dj3v+gnhp/qWciv6knIv+uLCe/revnf7Kwq7+zMSw + /tbNt/7Wzbf+1s22/tXMtv7Uy7X+08q0pQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAADq4MoI7+XPz/Ho0v/w5tD/7+XP/tzTvv/Tyrb/ycCu/q2llf+Wj4L/opqL/qScjP+1rJr/tKqY + /8K3pP69s5//vLGd/6Wbif6Vi3r/lot7/7Cjj/6XjHr/qZyI/7Cijf7Aspr/x7ie/86+pP7TxKj/2Mmt + /+DRtP7h0bX/4dK1/+HTtv7i07f/4tS4/+PUuP7j1bn/49W6/t/Rtv+Ugmv/indh/pF/av+klX//s6WQ + /sS4ov/Owq3/08mz/tXMtv/Wzbb/1cy2/tTLtf/TyrT/0smz/tHIsv/Rx7L/0Max3gAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6N3Ho+rgyf/o3sj/5tzG/s7EsP+xqJf/vbSh + /rqwnf/AtqL/u7Cc/ruwnP+jmIb/m5B//5SJeP6ZjXv/sqWQ/7apk/7Cs5z/zL2k/9LDqP7Zya7/3c6y + /9/QtP7i07f/4tS3/+PUuP7j1bn/49W6/+TWuv7k1rv/5de8/+XXvf7l2L7/5tm+/+bZv/7n2sD/59rB + /sOymv+GcFj/jHdf/peDbP+llH3/s6SO/sG1n//Kv6n/z8Wv/tLIsv/SybP/0ciy/tHHsv/QxrH/z8Ww + /s7Er//Nw67/zMKt/czDrRYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzb+o + cd7Tu/7c0Ln+2c22/tDErf6SiHn+nZKB/paLe/6mmYb+r6GN/r6wmf7Ju6L+0MGn/tjJr/7czbL+4NG1 + /uLUuP7j1bn+49W6/uTWuv7k1rv+5Ne8/uXXvf7l2L3+5tm+/ubZv/7m2sD+59rB/ufbwf7o3ML+6NzD + /ujdxP7p3cX+6d7G/urex/7q38j+69/J/pyIcf5/aFD+hnBY/pF9Zv6gjnj+r6CK/r2xm/7Gu6b+zMGs + /s7Er/7PxbD+zsSv/s3Drv7Mwq7+zMKt/svBrP7KwKv+yb+q/sm/qksAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAArZuDQ82/qP/Ov6j/zr+o/tDBqf/OwKf/18mv/t3Os//h07j/49W6 + /uTWu//k1rv/5de8/+XXvf7m2L7/5tm//+bZv/7n2sD/59rB/+jbwv7o28P/6NzE/+ndxP7p3cb/6t7G + /+rex/7r38j/6+DJ/+vgyv7s4cv/7OHM/+3izP7t4s3/7ePO/+7kz/7u5ND/7uXQ/n9oUP97Y0z/gmtU + /o14Yf+biXP/qpuF/rmsl//Ct6L/yL2o/svAq//Lwa3/y8Gs/srAq//Jv6r/yL6q/se9qf/Gvaj/xbyn + /sW7p4EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA5tm/B+bZwBTl2L4n5Na8SuPVu3Pj1bqa28yxx+DSuP/i1Lr/5Na7 + /uXYvf/l2L7/5ti+/ubZv//n2sD/59rB/ufbwv/o3MP/6NzD/+ncxP7p3cX/6d7G/+rex/7q38j/6+DJ + /+vgyv7s4cv/7OLM/+zizP7t483/7ePO/+7jz/7u5M//7uXQ/+/l0f7v5tL/8OfT//Dn0/7x6NT/8ejV + //Hp1v7y6df/6+LP/nZdRf95YUn/f2hR/op1Xf+XhG7/pZV//rSnkf+9sp3/xLmk/se9qP/Ivqn/x72p + /sa9qP/FvKf/xLum/sO6pv/CuaX/wrmk/sG4pKMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOfawQ7m2cA65tm/YOXXvYjl2L2v5Ne8zuXXvejl2L395tm+ + /ubZv/7m2sD+59rA/ufbwf7o3ML+6NzD/undxP7p3cX+6d7G/urex/7q38j+69/J/uvgyv7r4cv+7OHL + /uzizP7t4s3+7ePO/u3kzv7u5M/+7uXQ/u/l0f7v5tL+8ObT/vDn0/7w6NT+8ejV/vHp1v7y6db+8urX + /vLq2P7z69n+8+vZ/vPs2v707Nv+9O3c/vXt3P717t3+6uHP/nVcRP54YEj+fWZO/oZwWf6Sf2j+n495 + /q6giv64rJf+v7Sf/sK5pP7DuqX+w7ql/sK5pf7CuaT+wbij/sC3ov6/tqL+vrWh/r61obEAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6NzDRebZv+zn2sD/59rB + /+jbwv7o28P/6NzD/undxP/p3cb/6t7G/urex//r38j/6+DJ/uvgyv/s4cv/7OHM/u3izf/t4s3/7ePO + /u7kz//u5ND/7+XQ/u/l0f/v5tL/8ObT//Dn0/7x6NT/8ejV//Hp1v7y6df/8urX//Lq2P7z69n/8+va + //Ts2v707dv/9O3c//Xu3f717t3/9e/e//bv3/728N//9vDg//fw4f738eH/9/Li//jy4/748uP/8era + /nVcRP92Xkb/e2NL/oJsVP+MeGL/mYhx/qeYgv+xpZD/ua6Z/r60n/+/tqL/wLei/r+2ov+/tqH/vrWg + /r20oP+9tJ//vLOe/ryznq4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAADr4MpL6d7G8Orfx//q38j/6+DJ/+vgyv7s4cv/7OHM/uzizP/t483/7ePO/u7kz//u5M//7uXQ + /u/m0f/v5tL/8ObT/vDn1P/x6NT/8ejV/vHp1v/y6df/8urX/vLr2P/z69n/8+za//Ts2v707dv/9O3c + //Xt3f717t3/9e/e//bv3/728N//9/Dg//fw4f738eH/+PHi//jy4/748uP/+fPk//nz5P759OX/+fTm + //r15v769ef/+vXo//v26P779un/+/bo/npiSv91XUX/eWFJ/n9oUP+Ic1z/k4Bq/qCQev+rnYj/s6iT + /rmvmv+8sp3/vLOf/ryzn/+8s57/u7Ke/rqxnf+6sZz/ubCc/rmwm5cAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO/l0Snt483o7ePO/u7kzv7u5M/+7uXQ/u/l0f7v5tL+7+bS + /vDn0/7w6NT+8ejV/vHp1v7y6db+8urX/vLq2P7z69n+8+vZ/vTs2v707Nv+9O3c/vXt3P717t3+9e7e + /vbv3/7279/+9/Dg/vfw4f738eH++PHi/vjy4/748uP++fPk/vnz5P759OX++vTm/vr05v769ef++/Xn + /vv26P779uj++/bp/vz36f789+r+/Pjq/vz46/79+Ov+/fns/v357P79+e3+/frt/o55Y/51XET+d15H + /ntkTP6DbVb+jHli/pmIcv6klX/+raCL/rOplP63rZn+ubCb/rmwnP65sJv+uK+b/reumv63rpr+tq2Z + /reumWcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8urYA/Dn1Mbx6NT/8ejV + /vHp1v/y6df/8urX//Lq2P7z69n/8+va/vTs2v/07dv/9O3c/vXu3f/17t3/9e/e/vbv3//28N//9vDg + /vfx4f/38eH/9/Li/vjy4//48uP/+PPk/vnz5f/59OX/+fTm//r15v769ef/+vbn//r26P779un/+/fp + //v36v789+r//Pjr//z46/78+Oz//fjs//357f79+e3//fnt//767v7++u7//vru//767v7+++///vvv + //767v7+++///vru/q2cif90XET/dl1F/nlhSf9+aFD/hnJa/pF/aP+bi3X/pZeC/q2hjP+yqJP/tauW + /rWsmP+2rZn/tq2Z/rWsmP+1rJj/tKuX+7WsmB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA9OzbU/Ts2v707dv/9O3c/vXu3f/17t3/9e/e//bv3/728N//9/Dg/vfx4f/38eH/+PHi + /vjy4//48uP/+PPk/vnz5f/59OX/+fTl/vr15//69ef/+vXn/vv26P/79un/+/fp/vv36v/89+r//Pjr + //z46/79+Oz//fns//357P79+e3//frt//767v7++u7//vru//777/7++u///vru//777/7+++///vru + //767v7++u7//fnt//357f79+ez//fjs//z46/78+Ov//Pfq/tLHtv91XET/dVxE/ndfR/97ZEz/gWtU + /op2X/+Tgmv/nY54/qaZhP+soYz/sKWR/rKolP+zqZX/s6qW/rOqlv+yqZX/sqmVsQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD38eED9/Dgt/fw4f738eH++PHi/vjy4/748uP++fPk + /vnz5P759OX++vTm/vr05v769ef++/Xn/vv26P779uj++/bp/vz36v789+r+/Pjq/vz46/79+Ov+/fns + /v357P79+e3+/frt/v767v7++u7+/vvu/v767v7++u7+/vvv/v767/7++u7+/vru/v767v79+e7+/fnt + /v357f79+ez+/Pjs/vz46/78+Ov+/Pfq/vv36v779+n++/bp/vv26P769uj++vXn/vr15v759Ob++fTl + /vHq2/6Fblf+dFtD/nVdRf54YEj+fGZO/oRvV/6MeGL+lINu/p2Pef6kl4P+qp6K/q2ijv6vpZH+sKeS + /rCnk/6wp5PysaiUMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD59OUY+fTm + 7vr15v/69ef/+vXn/vr26P/79un/+/fp//v36v789+r//Pfr/vz46//8+Oz//fjs/v357f/9+e3//fnt + /v767v/++u7//vru/v767//+++///vrv/v767v/+++///vru/v767v/++u3//frt//357f79+ez//fns + //346/78+Ov//Pjq//z36v789+n/+/bp//v26P779uj/+vXn//r15/769Ob/+vTl//nz5f758+T/+fPk + //jy4/748uL/+PHi//fx4f738OD/9vDg/vbv3//Ft6P/dVxE/nVcRP92Xkb/eWFK/n5oUP+FcFn/jHpj + /pSEbv+cjnj/opWA/qebhv+qn4v/rKKO/q2kj/qvpZFpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD79uky/Pjq/vz46//9+Oz//fns/v357f/9+e3//frt//767v7++u7//vru + /v777//++u///vru/v777//+++///vru/v767v/++u7//fnt/v357f/9+ez//fjs/vz46//8+Ov//Pfq + /vz36v/79+n/+/bp//v26P779uj/+vXn//r15v769Ob/+fTm//nz5f758+T/+PPk//jy4/748uL/9/Hi + //fx4f738OD/9vDg//bv3/72797/9e7e//Xu3f717dz/9O3b//Ts2/7z7Nr/8+vZ/vPr2P/v5tT/o5B6 + /nRcRP91XUX/d19H/npjTP9/aVH/hXBa/ox6Y/+Ug23/m4x3/qCTfv+kmIT/qJ2J+ayijneto48DAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8+OxB/vvu/v767/7++u7+/vvv + /v777/7++u7+/vru/v767v79+e7+/fnt/v357f79+ez+/Pjs/vz46/78+Ov+/Pfq/vv36v779+n++/bp + /vv26P769uj++vXn/vr15/759Ob++fTl/vn05f748+T++PPk/vjy4/748uL+9/Hi/vfx4f738OD+9vDg + /vbv3/72797+9e7e/vXu3f707dz+9O3c/vTs2/7z7Nr+8+vZ/vLr2P7y6tj+8unX/vHp1v7x6NX+8ejV + /vDn1P7w59P+7+bS/u/m0v7v5dH+6t/L/qCMdf52XUX+dl5G/nlhSf58ZU3+gGpT/oZyW/6Ne2X+lIRu + /pmLdf6hlYDkppuGVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAD8+Os1/frt/v357f/9+ez//fns/v346//8+Ov//Pjq//z36v789+n/+/bp/vv26P/79uj/+vXn + /vr15//69Ob/+vTl/vnz5f/58+T/+fLk/vjy4//48uL/+PHi/vfx4f/38OD/9vDg/vbv3//2797/9e7d + //Xu3f717dz/9O3b//Ts2v7z7Nr/8+vZ//Pr2P7y6tj/8urX//Hp1v7x6NX/8ejV//Dn1P7w59P/8ObS + /+/m0f7v5dH/7uXQ/+7kz/7t487/7ePO/+zizf7s4sz/7OHL/uvhyv/r4Mn/6t/I/unex//EtJz/jXdf + /nlhSv97ZE3/fmhR/oNuV/+Jdl/+koFr3ZeIcn+ekXwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD69ugb+/bp8/v26P/79uj/+vXn/vr15//69Ob/+fTm + //nz5f758+T/+PPj/vjy4//48uL/9/Hi/vfx4f/38OD/9vDg/vbv3//2797/9e7e/vXu3f/17dz/9O3b + /vTs2//z7Nr/8+vZ/vPr2P/y6tj/8urX//Hp1v7x6dX/8ejV//Dn1P7w59P/8ObS/+/l0v7v5dH/7uXQ + /+7kz/7u487/7ePO/+3izf7s4sz/7OHL/+vgyv7r4Mn/6+DJ/+reyP7q3sf/6d7G/+ndxf7p3cT/6NzD + /ujbwv/n28H/59rA/ubawP/m2b//4dO5/se2nP+smoH4oI510ZF+ZoiNemRFkH5oEQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD58+UF+PPj + x/jy4/748uL+9/Hi/vfx4f738OD+9vDg/vbv3/72797+9e7e/vXu3f707dz+9O3b/vTs2/7z7Nr+8+vZ + /vPr2f7y6tj+8unX/vHp1v7x6NX+8ejV/vDn1P7w59P+7+bS/u/m0v7v5dH+7uTQ/u7kz/7t487+7ePN + /u3izf7s4sz+7OHL/uvgyv7r4Mr+69/J/urfx/7q3sf+6d3G/undxf7o3MT+6NzD/ujbwv7n28H+59rA + /ubZv/7m2b/+5ti+/uXYvf7l17z+5Ne8/uTWu/7k1br+49W5+OLUuNLh07eq1cWrh8+/pFy0o4k7q5h/ + IaKPdwUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA9e/ecPXu3f/17dz/9O3b/vTs2v/z7Nr/8+vZ//Pr2P7y6tj/8urX + /vLp1v/x6NX/8ejU/vDn1P/w59P/7+bS/u/m0f/v5dH/7uTQ/u7kz//t487/7ePN/u3izf/s4sz/7OHL + /uvhyv/r4Mn/6t/I/+rfyP7q3sf/6d7G/+ndxf7o3MT/6NzD/+fbwv7n28H/59rA/+bZwP7m2b//5di+ + /+XYvf7l17z/5Ne8/+TWu/7k1rr/49W5/+PUuP7i07fy4dO22OLUuLvh0reX4tS5b+PVukrk1rog49a8 + AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8+zaD/Hp1ufx6dX/8ejV + /vDn1P/w59P/8ObS/+/l0v7v5dH/7uTQ/u7kz//u487/7ePN/u3izf/s4sz/7OHL/uvhyv/r4Mn/6t/J + /urfyP/q3sf/6d3G/undxf/p3cT/6NzD/ujbwv/n28H/59rB/+bZwP7m2b//5tm+/+XYvf7l17z/5Ne8 + /+TWu/7k1rr/49W5/+PUuf7i1Lj/4tS3/uLTtvPh0rbn4dK2z+DRtKjh07eB4dK3W+PUuDPk1rsZ49a7 + DOTWuwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAO/m0l7t48767ePN/u3izf7s4sz+7OHL/uvgyv7r4Mr+69/J/urfx/7q3sf+6d3G + /undxf7o3MT+6NzD/ujbwv7n28H+59rA/ubZwP7m2b/+5ti+/uXYvf7l17z+5Ne8/uTWu/7k1br+49W5 + /uPUuf7i1Lj+4tO3/uHTtv7h0rb+4dK1/uDRtP3g0LPh38+xu+HStpHh0rVs4dO2ReLUuCji1LgPAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADq38iD6d7G/Ondxf/o3MT/6NzD + /+fbwv7n28H/59rA/ubawP/m2b//5di+/uXYvf/l17z/5Ne7/uTWu//k1rr/49W5/uPUuP/i1Lj/4tO3 + /uLTtv/h0rX/4dK1/uHRtP/g0bP/39Cy+t/QsuHfz7HH4NGzpuDQsnzh0rVW4dK1Md/PswkAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAADq38gF59vCcuXYvfPl17z/5Ne8/+TWu/7k1rr/49W5/uPVuf/i1Lj/4tO3/uLTtv/h0rb/4dK1 + /uDRtP/g0bP/4NCz/t/Qsv/fz7H5386w697OsNvfzrC238+xkN/Qsmnfz7JB4NG1IOHStRHh0rUEAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOTXvDri07bC4dK1/uDRtP7g0bP+4NCz + /t/Qsv7fz7H+3s6w/t7OsP7ezq/+3c2u793Nrsfeza+i3s6wet/PsVPf0LI038+yGeDRtAIAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAADj1boB4NG0P97Or6DdzK3X3cys0t3NrrLdzK2N3c2uZd7OsD3ezrAYAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADfz7EL3s6xCQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/////////8AA/////////////4AAD/ + ///////////wAAA////////////wAAAf//////////8AAAAP/////////+AAAAAP////////8AAAAAAH + ///////4AAAAAAAH//////4AAAAAAAAH/////wAAAAAAAAAP////gAAAAAAAAAAP///+AAAAAAAAAAAH + ///8AAAAAAAAAAAB///4AAAAAAAAAAAA///wAAAAAAAAAAAAP//gAAAAAAAAAAAAH//gAAAAAAAAAAAA + B//AAAAAAAAAAAAAA//AAAAAAAAAAAAAAf/AAAAAAAAAAAAAAP/AAAAAAAAAAAAAAP/AAAAAAAAAAAAA + AP/AAAAAAAAAAAAAAP/AAAAAAAAAAAAAAP/AAAAAAAAAAAAAAP/AAAAAAAAAAAAAA//AAAAAAAAAAAAA + D//AAAAAAAAAP//////gAAAAAAAAH//////gAAAAAAAAH//////gAAAAAAAAH//////gAAAAAAAAH/// + ///wAAAAAAAAD//////wAAAAAAAAD//////wAAAAAAAAD//////wAAAAAAAAD//////wAAAAAAAAD/// + ///4AAAAAAAAB//////4AAAAAAAAB//////4AAAAAAAAB//////4AAAAAAAAB//////4AAAAAAAAB/// + ///8AAAAAAAAA//////8AAAAAAAAA//////8AAAAAAAAA//////8AAAAAAAAA//////+AAAAAAAAAf// + ///+AAAAAAAAAf/////+AAAAAAAAAf/////+AAAAAAAAAf/////+AAAAAAAAAf//////AAAAAAAAAP// + ////AAAAAAAAAP//////AAAAAAAAAP//////AAAAAAAAAP//////AAAAAAAAAP//////gAAAAAAAAH// + ////gAAAAAAAAH//////gAAAAAAAAH//////gAAAAAAAAH//////wAAAAAAAAD//////wAAAAAAAAD// + ////wAAAAAAAAD//////wAAAAAAAAD//////wAAAAAAAAD//////4AAAAAAAAB//////4AAAAAAAAB// + ////4AAAAAAAAB//////4AAAAAAAAB//////4AAAAAAAAB//////8AAAAAAAAA//////8AAAAAAAAA// + ////8AAAAAAAAA/////8AAAAAAAAAA////+AAAAAAAAAAA////8AAAAAAAAAAA////4AAAAAAAAAAA// + //wAAAAAAAAAAA////gAAAAAAAAAAA////gAAAAAAAAAAB////AAAAAAAAAAAB////AAAAAAAAAAAD// + //AAAAAAAAAAAD////AAAAAAAAAAAP////AAAAAAAAAAAf////AAAAAAAAAAB/////AAAAAAAAAAH/// + //gAAAAAAAAP//////gAAAAAAAH///////wAAAAAAf////////4AAAAA//////////4AAAAf//////// + //+AAA/////////////AD//////////////5/////////////////////////////ygAAABIAAAAkAAA + AAEAIAAAAAAAYFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQIBAQEDAQEBBAMCAgQDAgIEAwIC + BAICAQQAAAADAAAAAgAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAA2MisBJyQfBAUFBAoBAQAOAAAAEAAAABEAAAARAAAAEQAAABAAAAAPAAAA + DQAAAAoAAAAHAAAABAAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAB+d2kDExEPCwEBABgREA4sJSIeQj86MlZiW1BzQz84WAsKCS4AAAAnAAAAJAAAAB4AAAAZAAAA + EgAAAAwAAAAGAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALeslwiomoQVsaWPPaWZhF2VjHuPkYl5 + r6+mk928sp7v1cev+OHVvP7n28P/6d3H/dHItN9iXlaEBgUFQwAAADoAAAAzAAAAKgAAAB4AAAASAAAA + CAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AK6ijAyvo44usaWQTKueiHq3rZibsaWQxbyyneTAt6L8wrml/8W7pv7Hvan/ycCr/8zCrf7KvKf/2c23 + /ubcyP/u5NL+8ejW//Lq2P7y69r+s66ixxQUElkAAABJAAAAPwAAADEAAAAgAAAADwAAAAUAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAs6iUCq6jjRmzqJQ/qp6IY7asl4+uoo2wuK+a3LiumvK8s5/8vrWh + /8C3o//DuaX/xbun/8e+qf/KwKv/zMKt/87Fr//Rx7L/08q0/83Crf/EtqL/29G//+zk1P/07d7/9/Hj + //jz5P/59Ob/+fXn/8K/tc8MDAtRAAAAQgAAADUAAAAkAAAAEgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsaeTCLOplDGsoYxPsqeS + fa6jjp6zqZXIs6mV47eumvu5sJv/u7Kd/r20n/++taH+wLej/8O6pf/FvKf+x76p/8rAq/7Mwq3/zsWw + /tHHsv/TyrT+1cy2/9fOuP7a0br/3NO9/8Cznv7DtqT/3tbG/vDq3f/59Of+/Pjs//z57f79+e7//fru + //767/6Ih4CYAAAANgAAACkAAAAcAAAADgAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAACsoYwKo5aBH6yijT+hk35osKaRkLGok7KyqZTfs6qW97Srl/22rZn+t66a/7mwnP+7sp7/vbSf + /7+2of/BuKP/w7ql/8a8p//Ivqn/ysCs/83Drv/PxbD/0ciy/9PKtP/Wzbf/2M+5/9rRu//c073/3tW/ + /+HYwf/j2sP/5NvF/7Ghjv/CtaX/4NjJ//Pt4f/7+Oz//vvv//777///++///vvv//777//x7eLtFhUU + OAAAAB8AAAATAAAACQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK+mkQmsoYxrqZ6Jn62ijsyupI/ksaiU + +7KplP+zqpb/tKuX/7atmf+4r5r/ubCc/7uynv+9tJ//v7ah/8G4o//DuqX/xryn/8i+qv/KwKz/zcOu + /8/FsP/RyLL/1Mq0/9bNt//Yz7n/2tG7/9zTvf/f1r//4djB/+Paw//l3Mb/597I/+jfyv/q4cz/6uHL + /6aVgf+/saD/3dTF//Hr3v/69un//fns//357P/9+Ov//Pjq//z36P/79ub+WlhSbwAAACUAAAAWAAAA + CwAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAsqmVLLCnk9qxqJP/sqmV/rOqlv+1rJf+tq2Z/7ivmv+6sZz+u7Ke + /720oP6/tqL/wbik/sS6pv/GvKj+yL+q/8vBrP/Nw67+z8aw/9LIs/7Uy7X/1s23/tjPuf/a0bv+3dS9 + /9/Wv//h2ML+49rE/+Xcxv7n3sj/6eDK/uvizP/s483+7uXP/+/m0P7x6NL/8OfR/6GPef62ppP/1Mi3 + /unh0P/07t3++PLh//ny4f748d//9+/d//bu2v717Nj/gHtwnwAAADgAAAAoAAAAGQAAAA0AAAAGAAAA + AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAC3rpkgs6qW4LWsl/+2rZn/uK+b/7qxnP+7sp7/vbSg/7+2ov/BuKT/xLqm/8a9qP/Jv6r/y8Gs + /83Erv/PxrH/0smz/9TLtf/Wzbf/2dC5/9vSu//d1L7/39bA/+HYwv/j2sT/5dzG/+feyP/p4Mr/6+LM + /+zjzv/u5c//7+bQ//Dn0f/w59H/8OfR//Tr1f/069X/9OvV/6eUfv+qmIL/xrii/97Svf/s4cz/8efR + //Ln0f/x5s7/8OTL/+/jyf/u4cb/jYV0rwAAAEkAAAA8AAAALQAAAB4AAAARAAAACQAAAAMAAAABAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC5sJy5urGd + /7yznv6+taD/wLei/sK5pP/Eu6b+xr2o/8m/qv/Lwaz+zcSv/9DGsf7SybP/1Mu1/tbNt//Z0Ln+29K8 + /93Uvv/f1sD+4djC/+DXwf7a0rz/0cm1/sC5qP+xq5v+29O+/+7lz//r483+4tnF/9jQvP7Sy7j/z8e1 + /svEsv+3saH+29PA//Tr1f717Nb/9ezW/7aljf6ciG//tqSL/s++pP/f0LT+59i7/+nau/7o2bn/59e2 + /+bVs/7l07D/cGdWogAAAFEAAABJAAAAPgAAADEAAAAjAAAAFgAAAAwAAAAFAAAAAgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMG4o0HAt6L+wrmk/8S7pv/Hvaj/yb+q + /8vCrf/OxK//0Mex/9LJs//Uy7X/1864/9nQuv/b0rz/3NO9/9zTvf/Vzbj/zcWx/8nBrv+4saD/urOi + /7myov/Cuqn/wbqp/8nBr/+/uKf/wLmo/8O8q//NxrT/0cm3/8C5qP/Ryrf/0cm3/722pv+6s6P/zcaz + //Tr1f/17Nb/9ezW/8q7pP+QeV//ppF1/72pi//RvZz/28ik/9/Lpf/gy6X/3smh/93Hn//bxJv9PDYr + eAAAAE8AAABLAAAARgAAAD4AAAAzAAAAJgAAABkAAAAPAAAABwAAAAMAAAABAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMi+qqXJv6v+zMKt/87Er/7Qx7H/0smz/tXMtv/Xzrj+2M+5 + /9jPuf/MxLD+xb2q/7Wunf7Buqf/ta6e/rOsnP+7tKP+xr+t/83Fsv/OxrP+vbam/7+4p/7Buqn/v7in + /szFsv+9t6b+zsa0/8C5qP/LxLH+vrin/8S9rP7MxLL/xL2s/sW+rf/Wzrv+x8Cu/+3kz/717Nb/9ezW + /9/Uvf6Hb1X/l39i/q2WdP/BqYT+zraN/9W7kP7WvI//1ruN/9S5i/60nXTbBgUETQAAAEkAAABIAAAA + RQAAAEEAAAA7AAAAMgAAACgAAAAcAAAAEgAAAAoAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA0ciyCtHHsuTTyrT/1cu2/9HJs//NxLD/ubGf/7Wunf+yq5v/u7Oi/7qzof+7tKP/ubKh + /7+4p//Auaj/s6yc/7y1pP+8taT/wLmo/8zFsv/Ty7j/y8Sy/6+omf++t6b/x8Cv/8W+rf/Evaz/xb6t + /8fArv+3sKD/v7in/9XNuv/LxLL/ycKw/8/Htf+9tqb/vLWl//Ho0v/17Nb/9ezW//Dm0P+JcVf/jHNV + /5+FYv+yl2//waV4/8qtff/OsH3/zrB8/8qsePpANyZ0AAAAQwAAAEIAAABBAAAAPwAAAD0AAAA6AAAA + NgAAAC8AAAAnAAAAHQAAABMAAAALAAAABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2dC6 + IdrRuvzc07z+z8ez/6egkf62r57/uLGg/se/rf/Cu6n+vbal/7iyof/Cu6n+v7in/8W+rP6/uKf/xb6s + /r63pv/Auaj+wbqp/8W+rf/Syrj+xL2r/9vTv/7Gv63/xr+u/ravn//Vzbr+w7yq/8zEsv/JwrD+ycKw + /7awoP7IwK//08y5/tLKuP/Lw7L+v7io/93Vwf717Nb/9ezW//Tr1f6bhWz/g2lM/pJ3Vf+kiF/+tZdo + /8Chbf7Gpm//yKdv/m1bPJUBAQA9AAAAOgAAADkAAAA4AAAANgAAADUAAAAzAAAAMQAAAC4AAAApAAAA + IwAAABoAAAARAAAACAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4djCNePaw//k28X/3dTA + /5+ZjP/Auaf/rqiZ/8/HtP/HwK7/u7Sk/7y1pf/Evav/sqyc/8vDsv/Iwa//zcaz/7awoP/DvKv/s62d + /8S9rP/Evaz/0Mi2/7+4qP/Ox7T/wbqp/66omf/Gv67/wLqp/83Fs//PyLX/0sq4/8a/rv+6tKP/zcW0 + /9bOu//Ty7j/v7in/9bPvP/17Nb/9ezW//Xs1v+0oor/fWNH/4htTf+ZfVb/qoxe/7iYZfm3mGTpaFc5 + igEBADIAAAAvAAAALgAAAC0AAAAsAAAAKgAAACkAAAAoAAAAJgAAACUAAAAiAAAAHwAAABkAAAARAAAA + CQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6N/JNOrhzP/s483/6+LN/62nmP/Buqn/u7Sk + /8/Htf/Ox7X/wbqq/8C5qP+7tKT/tK6e/8jAr//NxrP/0Mm2/722pv+9tqb/zsa0/8nBsP/LxLL/08u5 + /8K8qv/Px7X/v7in/7mzo//DvKv/xb6s/87GtP/Kw7H/0cm2/8C5qf+yq5z/yMGv/9LLuP/Syrf/5dzI + /+7m0P/17Nb/9ezW//Xs1v/Qwqv4cVpAyWlUO6lTQy6EQDUkXyIcE0AQDgkqAAAAIQAAACAAAAAfAAAA + HgAAAB0AAAAcAAAAGwAAABoAAAAZAAAAGAAAABcAAAAWAAAAEwAAABAAAAAMAAAABgAAAAIAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA7eTOG/Ho0vby6dP+8+rU/8vDsv7Fvqz/squc/rmzo//HwK/+y8Sy + /8G7qv+5s6P+vrem/7ewof68taX/1s67/sC5qP/QyLb+u7Sk/7y1pf/Kw7H+z8i1/83GtP7Auan/ysOx + /sfAr/++t6b+rKaX/8vEsv/Syrj+6ODL/+7m0P7069X/9OvV/vXs1v/069X+9ezW//Tr1f717Nb/9ezW + //Tr1f7o4MvnEA8OFgAAABMAAAASAAAAEgAAABEAAAAQAAAAEAAAAA8AAAAPAAAADgAAAA0AAAANAAAA + DAAAAAwAAAALAAAACwAAAAoAAAAJAAAACAAAAAcAAAAFAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA8ejSBPTr1db069X/9ezW/9DItv+5s6L/uLKi/8C5qP/NxbP/zsa0/83GtP/Auaj/zcaz + /7mzov++t6f/xb2s/8jBr//NxrP/w7yr/7u0pP/Auaj/zMWz/8zFs//Ox7X/5dzI/+/m0f/z6tT/9ezW + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9OvW//Tr1f/z6tT/7eTP/+LZxf/l3cj/9ezW//Xs1v/069X5f3pt + KkM/NwYZFhIGBgUDBgQDAgUFBAIFAgEBBQAAAAUAAAAEAAAABAAAAAQAAAAEAAAAAwAAAAMAAAADAAAA + AwAAAAMAAAACAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + APTr1aP069X+9ezW/+Pbx/62r5//0Mi2/qynmP/QyLb+ysKx/8vEsv/Iwa/+ysOx/7Wvn/7Evaz/t7Gh + /snCsP/X0Lz+6N/L/+/m0f/z6tT+9OvV//Tr1f717Nb/9OvV/vXs1v/069X+9ezW//Tr1f/z6tT+7OPO + /+Laxv7Qybb/xL2s/sC5qf/Rybf+vrem/8W+rP7c1MH/9ezW//Tr1f717Nb/0cm2V4qFeAE3NTABAQEB + AQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPTr1W317Nb/9ezW + /+3kz/+6s6P/wruq/7q0o//Lw7H/xLys/8fAr//a0r7/6ODL/+/m0f/069X/9OvV//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Tr1f/x6NP/7OTO/+LZxf/QyLb/w7yr/66omv/LxLL/xr+t/9bOu//NxrT/xL2s + /8zFs//Px7X/z8i1/7mzov/Y0Lz/9OvV//Xs1v/17Nb/7OTOjQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1jf069X+9ezW//Ho0/7UzLn/6eDL + /vDn0f/069X+9ezW//Pq1P/r4s3+3dXC/8zEsv67tKT/t7Gh/vDn0v/y6dT+6uLN/9vUwP/Xz7z+zcaz + /8W+rf7Dvav/w7yr/snBsP/Evaz+y8Sy/7+4p//Evaz+xr+u/9PMuf7Ty7n/v7in/s3Gs//NxbP+vLWl + /8K8qv7JwrD/8+rU//Tr1f717Nb/9OvVw/Tr1QEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1gf17Nb49ezW//Xs1v/p4Mz/3dXB/9DJtv/Fvq3/y8Sy + /7y1pP+8taX/v7in/8nCsP/CvKr/vLal/8vDsf/Evaz/wbqp/8a/rf/Px7X/0sq4/9DJtv/Gv63/vbal + /8e/rv/HwK//0cm3/7u1pP/NxbP/vLal/8nCsP+/uKf/0cm3/8vEsv++t6f/wryr/87HtP/JwrD/6eDM + //Xs1v/17Nb/9ezW7/Xs1gwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD069XJ9ezW//Tr1f7Syrj/wruq/snBsP+9tqb+vren/7qzo//Qybb+ysOx + /8/Itf7Evav/xb6s/r+4p/+5sqL+v7mo/8jBr//Fvqz+y8Ox/9LLuP7DvKv/sKqb/sO8q//NxrP+w7yr + /8vEsv+7tKT+xL2r/7Ksnf7Cu6r/18+8/tzUwP/g2MT+7+fR//Tr1f717Nb/9ezW//Tr1f717Nb/9OvV + /vXs1jMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAD17NaS9ezW//Xs1v/m3cn/s62e/8a/rv/Fvq3/08u5/8vDsv/HwK7/xb6t/8S9rP/DvKv/z8e1 + /8O7q//DvKv/vrem/8W+rf/Cu6r/xb6t/83Fs//Fvqz/3NTA/8W9rP/Kw7H/vbam/+HZxf/j28b/8OfR + //Pq1P/069X/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1moAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NZc9ezW + //Xs1v/v5tD/tK2e/8nBsP+/uKf/0cq3/8rDsf+zrZ3/wruq/8zFs/+8taX/zse0/8jBsP/Gv67/rKaX + /7+4p/+0rp7/z8i1/9XNu//n3sr/8unT//Tr1f/069X/9OvV/+7l0P/c1MH/4dnF//Xs1v/17Nb/9ezW + //Tr1f/v5tH/5NzI/9rSvv+3sKH/zcWz//Tr1f/17Nb/9ezW//Xs1qAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD069Uo9ezW+/Tr1f7z6tT/uLGh + /sW+rf+6tKT+yMGv/83Fs//Cu6r+t7Gh/7u0pP6wqpr/zse1/tzUwP/m3sn+8+rU//Xs1v/069X+8+rU + /+zjzv7j28f/0su4/sa/rf/Evaz+sauc/8fAr/+7tKT+zca0/9PMuf7UzLn/z8e1/q+pmv/Hv67+1s67 + /83Fs/7LxLL/w7yr//Lq1P717Nb/9OvV/vXs1tf069UBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NYJ9ezW5fXs1v/17Nb/x8Cu/8G6qf+0rZ7/xL6s + /9jQvf/o38r/7+bR//Tr1f/069X/8+rU/+zjzv/g2MT/1s+8/8C5qP+5sqL/zMWy/8jBr//Xz7z/y8Sy + /8W+rf/Evaz/t7Gh/8jAr/+/uKf/z8e1/8rDsf/QyLb/vLWl/8K7qv+/uaj/y8Sy/8vDsv/Syrj/zMWz + /+Pbx//17Nb/9ezW//Xs1vT17NYaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWt/Tr1f717Nb/8+rU/vTr1f/069X+7+bQ/+jgy//Wzrv+3NTA + /8S9rP7Evaz/tK6e/ru0pP/LxLL+zse0/8C5qP/NxrP+t7Gh/8W+rP7Ty7n/08u4/r22pv/JwrD+zMSy + /7u0pP+uqJn+ycKw/8O8q/7Fvq3/ycKw/s3FtP/PyLX+tK6e/8W+rf7MxLL/xr+u/+nhzP717Nb/9OvV + /vXs1v7069VHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA9ezWgfXs1v/17Nb/8OfR/722pv+3sKH/vbam/8W+rf/Gv67/1s67/9DJt//Auaj/wruq + /8W+rf+9tqb/ysOx/8S9rP/Qybb/wbqp/7exof/LxLL/wbqp/8/Htf/OxrT/zca0/6+pmv/NxrT/uLGi + /8fAr//Gv63/z8e1/8a/rf+1rp//1My6/8nCsP/NxrT/ycGw/9vTv//069X/9ezW//Xs1v/17NZ9AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezW + SvTr1f717Nb/8ejS/ru0pP/DvKv+t7Cg/8a/rv/NxbP+yMCv/8/Htf7LxLL/sqyd/sfArv+8taX+vrem + /8a/rf/QyLb+u7Sk/8a/rf62sKD/xLyr/tTMuf/QyLb+0Mi1/7avn//Gv63+ubKi/8rDsf7IwbD/1M26 + /sW9rP/Fvq3+w72r/9nRvv68tqX/x8Cv/9TMuf7z6tT/9OvV/vXs1v/069W0AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWFvXs1vz17Nb/9OvV + /8jBr//HwK//trCg/8vDsf/NxbP/ubOj/8rCsf/LxLL/t7Gh/8W+rf+9tqX/v7io/8K7qv/IwbD/zcWz + /8vEsv/HwK7/ysOx/723pv/LxLL/0cm3/8O8q//NxrP/s6yd/8S9rP/Dvav/2tK+/8zFs//Cu6r/y8Sy + /8/Htf/QyLX/u7Sk/8rDsf/x6NL/9ezW//Xs1v/17Nbm9ezWBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWA/Tr1dn17Nb/9OvV/tPMuf/NxbP+uLKi + /7Cqm/+9t6b+vren/7+4qP7HwK7/xb6t/ry1pf+yrJ3+0sq3/7myov/MxbP+xb6t/9HJt/7Cu6r/1My5 + /ru1pP/DvKv+ycKw/8C5qP/MxbP+vrin/763pv69t6b/1My6/tPLuf/Iwa/+w7yr/8nCsP6/uKf/xL2s + /7awoP7v5tD/9OvV/vXs1v/069X+9ezWIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1qX17Nb/9ezW/9zUwP/Fvq3/wLmo/8jBr//Fvq3/x8Cu + /7mzo/+6tKT/zMWz/8G7qv+/uKf/wLqp/9DItv+5s6P/xL2r/8nCsP/MxbP/1My5/9DItv+zrJ3/xr+u + /8a/rf/JwrD/v7in/8jBr/+5s6L/xL2s/8S9rP/Xz7z/29PA/+/m0f/069X/9OvV//Tr1f/17Nb/9ezW + //Xs1v/17Nb/9ezWWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAPXs1nD17Nb/9ezW/+jfy/++uKf/x8Cu/8K7q/+7tKT/sKqb/9bOu//JwrD/08u5 + /8jBr//Gv63/t7Gh/8C5qP+1r5//08u5/8G6qf/LxLL/0Mi2/7u0pP/Auaj/v7io/8vEsv/Ox7X/3dXB + /+nhzP/y6dP/9OvV//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/069X/9OvV//Xs1v/17Nb/9ezW + kQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + APTr1Tn17Nb99OvV/vLp0/++t6b+vbem/8nCsP/LxLL+zca0/8nBsP7Kw7H/t7Gh/srDsf/NxrP+wbqp + /7myov/Evaz+zMSy/8S9rP7NxbP/5t7J/u7m0P/069X+9ezW//Xs1v/069X+9ezW//Tr1f717Nb/9OvV + /vTr1f/x6NL+597K/+DYxP7Z0b7/1My5/7exof7Kw7H/8unU/vXs1v/069X+9ezWyAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1hH17Nbv9ezW + //Tr1f/Fvqz/urOj/8jAr//NxrT/0sq4/6+pmv/Fvq3/xL2s/8G6qf/Y0b3/5t3J/+vizf/z6tT/9OvV + //Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Tr1f/x6NP/7OTO/9rTv//MxLL/wruq/9LKt//Ty7n/vLal + /87GtP/Ty7j/wruq/8e/rv+1rp//8ejS//Xs1v/17Nb/9ezW7fXs1hEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NbK9OvV/vXs1v/QyLb+vbam + /8S9rP/d1cH+6+PO//Lp0/717Nb/8+rV/u/n0f/l3Mj+18+8/9rSv//069X+9ezW//Pq1P7u5c//59/K + /uDYxP/UzLn+u7Sk/8K8qv+5sqL+ycKw/8C5qP7Ryrf/w7yr/sjBr/+4sqL+xr+u/7+4qP7HwK//zMWz + /8nCsP7UzLn/29PA/vXs1v/069X+9ezW/vTr1TgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NaU9ezW//Xs1v/069X/8+rU//Dn0v/i2cX/1c26 + /722pv/Ty7n/vbem/8rCsf+9tqb/xb6t/8vEsv/IwK//tK6f/8rCsf+zrZ3/ycKw/9jQvf/Ox7X/vbam + /7+4qP/Cu6r/ubOi/7y1pf/HwK//ysOx/7qzo//Buqn/xb6t/9LLuP/Buqn/zsa0/83Gs/+3saH/5d3I + //Xs1v/17Nb/9ezW//Xs1m4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD17NZe9OvV/vXs1v/x6NL+tq+g/7avoP/Fvq3+y8Sy/8zEsv7NxrT/zMWz + /rixov/HwK7+ysOx/8C5qP/Gv67+xL2s/83Gs/7Buqn/ubOj/s3Fs//Fvq3+18+8/83GtP/MxLL+s62d + /8zEsv7Auaj/y8Sy/snBsP/LxLL+xr+u/7KsnP7Z0b7/0Mi2/8zEsv7IwK//ysOx/vPq1P/069X+9ezW + //Tr1aUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAD17NYn9ezW/vXs1v/069X/vbam/7ewof+9t6b/x8Cu/9TMuf/Auan/y8Sy/8fArv+xq5v/xr+u + /8S9rP/Evaz/xr+t/8W+rf+zrZ7/xL2s/7exof/LxLL/zsa0/8nCsP/MxLL/sKma/8K7qv+8taX/zca0 + /8vEsv/Z0b7/u7Wl/8C5qP/Buqn/1s67/8nCsP/Kw7H/0cm3//Dn0v/17Nb/9ezW//Xs1twAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NYJ9OvV + 5/Xs1v/069X+ycGw/763p/+0rp7+z8i1/9DJtv7Auqn/v7io/sa/rv+uqJn+xb6t/7+4p//IwbD+yMGv + /8nCsP7DvKv/yMGv/sa/rf/OxrT+yMGv/8zEsv/Kw7H+ubOj/8rDsf62sKD/xr+t/szFsv/Z0b7+z8i2 + /7ixof7Fvqz/z8e1/9bOu/7TzLn/4NfE/vPq1P/069X+9ezW//Tr1f3z6tQUAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWuPXs1v/17Nb/3dXB + /8nBsP+0rp7/r6ma/8G6qf/Cu6v/xb6t/8O8q//Gv63/trCg/7Wun//NxbP/x8Cu/8zEsv/DvKv/z8e1 + /7+4p//Wzrv/vbem/8W+rf/Ox7X/wbqq/8fAr/+9tqb/wbqp/8a/rv/e1sL/6uLM/+/n0f/z6tT/9OvV + //Tr1f/17Nb/9OvV//Tr1f/069X/8+rU//Pq1P/y6dNLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9OvVg/Xs1v/069X+5t7J/7myov+4sqL+w7yr + /8S9rP7Px7X/yMCv/sC5qf/MxbP+ta6e/7ewoP/Fvq3+19C8/8O8q/7Px7X/t7Gh/r+5qP/QyLb+0sq4 + /764p//Z0b7+49vG/+7m0P7069X/9OvV/vXs1v/069X+9ezW//Tr1f7069X/9OvV//Tr1f7z6tT/7+bR + /uzjzv/x6NP+8ejS//Dn0f7w59GBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWTPXs1v717Nb/7+fR/8jBr//Evaz/wLmo/7ewoP+0rp7/08y5 + /9LKuP/JwrD/0cq3/8S9rP+vqZr/wbqp/7y1pf/e1sL/39fD//Dn0v/069X/9OvV//Pq1P/w59L/6eDL + /9XOu//OxrT/s62e/9PMuf/z6tX/7+bR/+bdyf/QyLb/z8e1/87HtP/LxLL/sKqa/8vEsv/u5c//7uXP + /+3kzv/s4865AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA9ezWHfXs1vf17Nb/9OvV/8rDsf++uKf/xr+t/7qzo//JwrH/ycKw/9LKuP/PyLb/6eDL + /+7l0P/y6dT/9OvV//Pq1P/w59H/5dzI/97Wwv/NxrT/zMWz/8C6qf/Auan/ysOx/8G6qf/PyLX/vbem + /763p/+/uKf/0Mm2/9LKt/+/uKf/ysKw/8e/rf+1rp7/vrem/7q0o//p4cv/6+LM/+rhy//p4Mrk6N/K + CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + APXs1t3069X+9OvV/9PMuf/MxbP+6eHM/+/m0f7069X/9OvV/vTr1f/t5dD+4dnF/9HJt//DvKv+x8Cu + /8rDsf69tqX/wruq/s7GtP/PyLX+08u5/8nCsP+4sqH+wruq/763pv7KwrD/ubKh/svDsP+4saH+v7im + /7Osm/7EvKr/wLmn/7uzo/7Auaf/wbqp/sW9q//Xzrr+597I/+bdx/7l3Mb85NvFKQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1qj17Nb/9ezW + //Tr1f/v5tH/5t7J/87GtP/Fvqz/tK2e/9HJtv/Evaz/zse0/8S9rP/Iwa//wLmo/7q0pP+1r5//ycKw + /722pv/KwrD/08u4/8G6qf+xqpr/ubKh/8K6qP+6s6H/wLim/7qyof+8tKL/qaGQ/7Oqmf+8s6H/wbim + /762pP/Cuqj/u7Oi/6iik//b0r3/49rE/+LZw//h2ML/4NfBXgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPTr1XH069X+9ezW/+3kz/+1r5/+wLqp + /8jAr/7Qybb/y8Ox/sjBr//JwrD+vLWl/8S9q//MxbL+v7in/8C5qP69taX/xr6s/r22pP+6s6L+xLyq + /7y0o//NxLD+vbWi/7yyoP6knIz/vLKf/q2jkf+zqJX+sKSR/66jkP6pn43/qZ+O/8K5pf7AuKX/wbqn + /qullf/Du6j+39a//97Vv/7d1L7/3NO9lQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPTq1Dv17Nb/9ezW//Lq1P+zrZ3/wLmo/722pf/QyLX/0Mi1 + /7avn//Cuqn/xLyq/7Cqmv/Hv63/wrqo/8C4pv+yqpn/ta2b/6efjv+4rpz/sqiW/7qwnP+soY//raKP + /6mei/+Xi3r/pZiF/6WXg/+0pY//wLGZ/8Gymf+nmYX/mY59/7CmlP/At6P/ubGf/7Osm/+xqpn/2dC6 + /9rRuv/Z0Ln/2M+4zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAPHn0RL069Xx8+rU//Pp0/++t6X+wrqp/7iwoP7Hv6z/xr6r/rmxoP+uppb+t6+d + /6aejv+7sp/+tKuZ/7uxnf6qoI7/raKP/qqfjP+onIn+qJyI/7Kkjv+5q5T+xbad/8y9o/7Swqf/2Mis + /t7Osf/g0bT+2cmt/52Mdf6QgW3/l4p4/6WaiP60q5n/urKg/s3EsP/RyLP+1s23/9XMtv7Uy7X/08q0 + 9tPJswwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AObbxALs4svL7uTO/+vhy//Lwq//u7Kg/6efj/+so5P/urCd/7ium/+wppP/pZqJ/6mdiv+dkX//o5aD + /7qslf+/sZn/y7yj/9PEqf/Yya3/39C0/+HStv/i1Lf/49S4/+PVuf/k1rr/5Na7/+XXvP/l2L3/rJqC + /4x3YP+aiHL/rp+I/8G0nv/Nwqz/0smz/9TLtf/TyrT/0smz/9HIsv/QxrH/z8Ww/s7ErzwAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADXyrOb39S9 + /9zQuf/Ivaj+o5iH/6KYhv6pnIr/rqGN/r2vmf/Etp7+0MKo/9jJr//ez7T+4dK3/+PVuf7k1rr/5Na7 + /uXXvP/l2L3+5tm+/+bZv//n2sD+59vC/+jcw/7o3MT/6d3F/urexv/l2cL+hG1V/4VvWP6VgWr/qJiC + /7uvmf7Ivaj/zsSu/s/GsP/Oxa/+zcOu/8zCrf7Lwaz/ysCr/8nAq3EAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODTugi7qpJ90cKq/9PErP/Uxa3/18mv + /97Qtf/j1br/5Na7/+XXvP/l2L3/5tm+/+bZwP/n2sH/59vC/+jcw//p3cT/6d3F/+rex//q38j/6+DJ + /+vgyv/s4cv/7OLM/+3jzf/u48//7uTQ/+/l0f/Ux7L/eWFJ/4BpUv+Pe2P/opF7/7aok//Ct6L/yb6q + /8vBrP/KwKv/yb+q/8i+qf/Gvaj/xbyn/8S7pqUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA59rB + A+fawQrm2b8r5di+UeXYvnnl172g5Ne8x+XXvOXl2L335tm+/+bZv//n2sD/59vC/+jcw//p3MT/6d3F + /+rex//q38j/6+DJ/+vgyv/s4cv/7OLM/+3jzf/u487/7uTP/+/l0P/v5tL/8ObT//Dn1P/x6NX/8enW + //Lp1//y6tj/8+vZ//Ps2v/Mv6z/dl5G/31mTv+KdV7/nIpz/6+hi/+8sJv/w7mk/8a8p//FvKf/xLum + /8O6pf/CuaT/wbij/8C3osAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADo3MNN5tm+1ubZv/jn2sH+59vC + /+jcw/7o3MT/6d3F/urex//q38j+6+DJ/+vgyv/s4cv+7OLM/+3jzf7t487/7uTP/u/l0f/v5tL+8ObT + //Dn1P/x6NX+8enW//Lp1/7y6tj/8+vZ/vPs2v/07Nv+9O3c//Xu3f/17t7+9u/f//bw4P738OD/9/Hh + /vjy4v/RxbP+dV1F/3piS/6Eb1f/lIFq/6aXgf60qJP/vbKe/sC2ov/At6P+v7ai/761of69tKD/vbSf + /7yznsMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOzhy1Hq38j26+DJ/+vgyv/s4cv/7OLM/+3jzf/u487/7uTQ + /+/l0f/v5tL/8ObT//Dn1P/x6NX/8enW//Lp1//y6tj/8+vZ//Ps2v/07Nv/9O3c//Xu3f/17t7/9u/f + //bw3//38OD/9/Hh//jy4v/48uP/+fPk//nz5f/59OX/+vXm//r15//79uj/+/bo//v36f/f1sf/dV1F + /3hgSP9/aVH/jHhh/52Mdv+rnon/tquW/7qxnP+8s57/u7Ke/7uynf+6sZz/ubCc/7ivm6wAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA8OfUJu/l0e7v5tL+8ObT//Dn1P/x6NX+8enW//Lp1/7y6tj/8+vZ/vPs2v/07Nv+9O3c + //Xu3f/17t7+9u/f//bw3/738OD/9/Hh/vjy4v/48uP++PPk//nz5f/59OX++vXm//r15/779uj/+/bo + /vv36f/89+r+/Pjr//z46//9+Oz+/fns//357f7++u7//vru/v767v/18eT+eWBJ/3ZdRf57ZEz/hG9Y + /5OBav6hknz/raGM/rSqlf+3rZn+t66a/7eumv62rZn/tq2Y/7WsmHIAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17t0B8+vZ + rPPs2v/07Nv/9O3c//Xu3f/17t7/9u/f//bw4P/38OH/9/Hh//jy4v/48uP/+fPk//nz5f/69Ob/+vXm + //r15//79uj/+/bp//z36f/89+r//Pjr//346//9+ez//fnt//367f/++u3//vru//767v/++u7//vvv + //767v/++u7//vru//357f/9+e3//fns//347P/8+Ov/lIBq/3VcRP94YEj/fmhQ/4p1X/+WhW//o5WA + /6yhjP+xp5L/s6qV/7Oqlv+zqpb/s6qW9LOqlh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD38eId9/Hh+Pjy4v/48uP++PPk + //nz5f/59OX++vXm//r15/769uj/+/bo/vv36f/89+r+/Pjq//z46//9+Oz+/fns//357f7++u7//vru + /v767v/++u7+/vru//767v/++u7+/vru//367f79+e3//fns/v347P/8+Ov+/Pjq//z36v/79un++/bo + //r15/769ef/+vTm/vn05f/58+T+xrmm/3RbQ/52XUX/eWJK/4FsVP6MeWL/mIhy/qKUf/+pnon+raOP + /6+mkf6wppL/sKeThQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD69edX+/bp//z36f/89+r//Pjr//346//9+ez//fns + //367f/++u7//vru//767v/++u7//vvv//767v/++u7//vru//357f/9+e3//fns//z47P/8+Ov//Pfq + //v36v/79un/+/bo//r15//69ef/+fTm//n05f/58+T/+PPk//jy4//38eL/9/Hh//bw4P/279//9u/e + //Xu3f/17dz/8OnX/5SAaf91XET/d15H/3tkTf+DbVb/jHpj/5aHcf+fkn3/ppqF/6mfiv+to4+tr6WR + CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD9+exv/vru/v767v/+++7+/vru//767v/++u7+/vru//367f79+e3//fns + /v347P/8+Ov+/Pjq//z36v/79un++/bo//v15/769ef/+vTm/vn05f/58+T++PPk//jy4//48eL+9/Hh + //fw4P7279//9u/e/vXu3f/17dz+9O3b//Ts2v/z69n+8+vY//Lq1/7y6db/8ejV/vHo1P/w59P+7+bS + /+TZxP6NeGD/dl1F/3hgSf59Zk//hG9Y/o17ZP+WhnD+npB7+6aahpGpn4oIAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAD8+Otj/fns//z47P/8+Ov//Pfq//v36v/79un/+/bo//r15//69ef/+fTm//n05f/58+T/+PPk + //jy4//38eL/9/Hh//bw4P/279//9u/e//Xu3f/17dz/9O3b//Ts2v/z69n/8+vY//Lq1//y6db/8ejV + //Ho1P/w59P/8ObS/+/l0f/u5dD/7uTP/+3jzv/t4s3/7OLM/+zhy//r4Mn/69/I/+rex//m2sL/tqSM + /4dxWf98Zk7/gmxV/ol2X+mQf2mlm414MQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD69eY0+vTm + /vn05f/58+T/+fPk//jy4//48eL/9/Hh//fw4P/279//9u/e//Xu3f/17dz/9O3b//Ts2//z69n/8+vZ + //Lq1//y6db/8ejV//Ho1P/w59P/8ObS/+/m0f/u5dD/7uTP/+3jzv/t4s3/7OLM/+zhy//r4Mr/69/I + /+rfx//p3sb/6d3F/+jcxP/o3MP/59vB/+fawP/m2b//5ti+/+XYvf7l17z649W68N3Os8q8rJKfrJmA + UY98ZBEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD38eEG9u/e2vXu3f/17dz+9O3b + //Ts2v/z69n+8+vY//Lq1/7y6db/8ejV/vHo1P/w59P+7+bS/+/l0f/u5dD+7uTP/+3jzv7t4s3/7OLM + /uzhy//r4Mn+6t/I/+rfx//p3sb+6d3F/+jcw/7o28L/59vB/ufawP/m2b/+5ti+/+XYvf/k17z+5Na7 + /+PVuv7i1Ljy4tS41+LTuLbj1bmO49W6aOPVukHe0LUd0sKoAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8urXaPHo1P7w59P/8ObS/+/m0f/u5dD/7uTP + /+3jzv/t483/7OLM/+zhy//r4Mr/69/I/+rfx//p3sb/6d3F/+jcxP/o3MP/59vB/+fawP/m2b//5ti+ + /+XYvf/k17z/5Na7/+PVuv/j1bn/4tS4/uLTt/fi07br4dK1xuLTt6Dh0rZ54tS4U+LUuSvj1rsR49a6 + BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA8OfTBOzhzLHr4Mn+6t/I/+rfx//p3sb+6d3F/+jcxP7o28L/59rB + /ufawP/m2b/+5ti+/+XYvf/k17z+5Na7/+PVuv7j1bn/4tS4/uLTt//h0rb+4dK1/+DRtPPg0bPU4NG0 + sd/Psovg0bVk4dK2PeLTtx3i1LgDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAOvfyQ3n2sGp5ti+/eXYvf/k17z/5Na7/+PVuv/j1bn/4tS4/+LTt//h0rb/4dK1 + /+DRtP/g0LP+38+y9d/Psebfz7HE39Cynd/Psnbg0bRP4NG0J+HTtg3h0rYDAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAADn2sEC49W5X+HRtNrg0LP+39Cy/9/Psf7ezrD/3s6v9N7NrtPezrCv3s6vh9/PsWHfz7I639Cy + HeDQswQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AOHStgXfz7FC3c2ubd7Or0vezrAl38+xB9/PsQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAD///////wAP/8AAAD///////gAB/8AAAD///////gAA/8AAAD//////4AAAf8AAAD/////4AAA + Af8AAAD////wAAAAAf8AAAD///wAAAAAAf8AAAD//gAAAAAAAf8AAAD/4AAAAAAAAP8AAAD/wAAAAAAA + AH8AAAD/gAAAAAAAAB8AAAD/gAAAAAAAAA8AAAD/AAAAAAAAAAMAAAD/AAAAAAAAAAEAAAD+AAAAAAAA + AAAAAAD+AAAAAAAAAAAAAAD+AAAAAAAAAAAAAAD+AAAAAAAAAAAAAAD+AAAAAAAAAAAAAAD+AAAAAAAA + AAMAAAD/AAAAAAAB//8AAAD/AAAAAAA///8AAAD/AAAAAAAf//8AAAD/AAAAAAAf//8AAAD/gAAAAAAf + //8AAAD/gAAAAAAf//8AAAD/gAAAAAAf//8AAAD/gAAAAAAP//8AAAD/gAAAAAAP//8AAAD/wAAAAAAP + //8AAAD/wAAAAAAP//8AAAD/wAAAAAAP//8AAAD/wAAAAAAH//8AAAD/wAAAAAAH//8AAAD/4AAAAAAH + //8AAAD/4AAAAAAH//8AAAD/4AAAAAAH//8AAAD/4AAAAAAD//8AAAD/8AAAAAAD//8AAAD/8AAAAAAD + //8AAAD/8AAAAAAD//8AAAD/8AAAAAAD//8AAAD/8AAAAAAB//8AAAD/+AAAAAAB//8AAAD/+AAAAAAB + //8AAAD/+AAAAAAB//8AAAD/+AAAAAAA//8AAAD//AAAAAAA//8AAAD//AAAAAAA//8AAAD//AAAAAAA + //8AAAD//AAAAAAA//8AAAD//AAAAAAAf/8AAAD//AAAAAAAf/8AAAD//gAAAAAAf/8AAAD//AAAAAAA + f/8AAAD+AAAAAAAAf/8AAAD8AAAAAAAAf/8AAAD4AAAAAAAAf/8AAADwAAAAAAAAf/8AAADgAAAAAAAA + f/8AAADgAAAAAAAA//8AAADgAAAAAAAA//8AAADgAAAAAAAB//8AAADgAAAAAAAH//8AAADgAAAAAAAf + //8AAADgAAAAAAH///8AAADwAAAAAH////8AAADwAAAAP/////8AAAD4AAAP//////8AAAD8AAf///// + //8AAAD/Af////////8AAAD///////////8AAAAoAAAAQAAAAIAAAAABACAAAAAAAABCAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAgIC + AwEBAQQCAgEFAgICBQICAgQCAgEEAQEAAwAAAAMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAABJQzoCIR4aBgEBAQ4AAAATAAAAFQAAABUAAAAVAAAAFAAAABIAAAAQAAAADAAAAAgAAAAFAAAA + AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAbGVZBR0aFyAyLylSWlRKeHJqXI6dlIGtk4p6pUVBOl8AAAAwAAAA + KwAAACUAAAAdAAAAFAAAAAsAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAKmbhgW1qZQssaWPTq6hjHq2q5afsKOOw8G3ou/Eu6b+x72p/8/Bq//f07z/6N3I + /+zizf/u5ND/u7SmzSUkIV4AAABDAAAAOgAAAC0AAAAdAAAADQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ALGmkQGvpI4XsKSPP7etmGeuoo2LsaaRtresmNm9tKD7wLei/8K5pP/Fu6f/x76p/8rAq//Nw67/z8aw + /8m+qf/Owa3/49rH/+/o1//07d3/9e/f//bw4f/p5NbxNjUycAAAAEkAAAA8AAAAKgAAABUAAAAGAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACuo44Fs6mU + Ma2hjVKxppF6tKqVo6+kj8a4rpryubCc/7uynv++taD/wLei/8K5pf/Fu6f/yL6p/8rArP/Nw67/z8ax + /9LJs//VzLX/1864/9rRuv+8rpr/z8Oy/+nh0v/28OL/+vbp//v36//8+Oz//Pnt/+Th1ucQEA9IAAAA + NAAAACQAAAASAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAClmYQBq6CLGaOWgUGxp5JrsaeT + jLOqlbexp5PetKuX/Latmf+4r5v/urGc/7yznv++taD/wLej/8O5pf/FvKf/yL6p/8vBrP/Nw67/0Max + /9LJs//VzLb/1864/9rRu//c073/39a//+HYwv/f1r//rp6M/9DFtf/r5dj/+fXp//767//+++///vvw + ///77//+++//hIJ7jgAAACYAAAAXAAAACwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwppIbp5uGe7CmkqannIfIsaiT + 87GolP+zqpb/tKuX/7atmf+4r5v/urGd/7yzn/++taH/wLej/8O6pf/FvKf/yL6q/8vBrP/NxK//0Max + /9PJs//VzLb/2M+4/9rRu//d1L3/39bA/+HYwv/k28T/5t3H/+jfyf/q4cv/3NG7/6qZhv/NwrH/6uPV + //n05//9+ez//fns//346//8+Or//Pfo/9jTxtYAAAAsAAAAGgAAAA0AAAAEAAAAAQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxqJRWsKeT + 9LGolP+zqpb/tKuX/7atmf+4r5v/urGd/7yzn/++taH/wbij/8O6pf/GvKj/yb+q/8vBrP/OxK//0Mex + /9PKtP/VzLb/2M+5/9rRu//d1L3/39bA/+LZwv/k28X/5t3H/+jfyf/q4cz/7OPN/+7lz//w59H/8ejS + /+HWwP+hj3v/w7Wi/+DXxf/y69r/9/Hg//jx4P/48N7/9+7b//Xt2f/z6tX8BwcGQwAAAC4AAAAdAAAA + DwAAAAYAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAC2rZlFtayX+7atmf+4r5v/urGd/7yzn/++taH/wbij/8O6pv/GvKj/yb+q/8vCrf/OxK//0cey + /9PKtP/Wzbb/2M+5/9vSu//d1L7/39bA/+LZw//k28X/5t3H/+jfyv/q4cz/7OPN/+7lz//v5tH/7+bQ + /+bdyf/m3cn/9OvV//Tr1f/x59H/mIRt/7OjjP/SxK7/5tvE/+/kzf/w5c3/7+PK/+7ix//t4MT/693A + /xIQDlUAAABEAAAANAAAACMAAAAUAAAACQAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAC/taEIu7Kd4b20n/+/tqH/wbij/8S6pv/Gvaj/yb+q/8zCrf/Oxa//0cey + /9PKtP/Wzbf/2M+5/9vSvP/d1L7/4NfA/97Vv//Y0Lv/y8Sw/7myof/DvKr/saub/9LKt//m3cj/29O/ + /8W+rf/Gv63/z8e1/9PMuf++uKf/z8e1//Tr1f/17Nb/9ezW/6GNdf+jjnX/v62S/9fGqf/i0rP/5ta1 + /+bVs//k0q//49Cs/9fEoe8AAABSAAAATQAAAEQAAAA3AAAAKAAAABkAAAANAAAABQAAAAIAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxLumZMS7pv/Hvaj/ycCr/8zCrf/OxbD/0ciy + /9TKtf/Wzbf/2dC5/9vSvP/Xzrn/1s24/8K7qP+3sJ//v7im/8S8qv+/uKf/vrem/8a/rf+7tKP/x8Cu + /763pv/Fvq3/yMGv/9DJtv/MxbP/ta6f/87GtP/HwK7/zMSy/8a/rf/u5dD/9ezW//Xs1v+yoIj/k3xh + /6yWeP/Er43/1L6Z/9rEnP/bxJv/2sKY/9nAlf+NfWC6AAAATgAAAEsAAABHAAAAQQAAADcAAAAqAAAA + HQAAABAAAAAIAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM3DrrrPxbD/0ciy + /9TLtf/VzLb/1Mu2/8i/rP/JwK3/urOh/6+omP+xqpr/vLWk/8a+rP+zrJz/xb6s/7mzov/Iwa//z8i1 + /8O8q//DvKv/ysKw/7+4qP+2sKD/y8Sy/8C6qf/HwK7/wbqp/9zUwP+9tqX/w7yr/8fArv/HwK7/7eXP + //Xs1v/17Nb/yLmi/4duUv+bg2L/s5p0/8Sqf//Ps4X/0bWF/9G0g//OsX/5KSMZYwAAAEYAAABEAAAA + QgAAAEAAAAA7AAAANAAAACoAAAAeAAAAEwAAAAoAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAADXzrjy2dC6/8W9qv+popP/sKmZ/7avnv+3sJ//xr+s/763pf/Fvqz/vbal/7ixof/Cu6r/vrem + /8zEsv+/uaj/wLmo/8/Htf/HwK//x8Cv/8zFs/+8taX/zcWz/7y1pf/HwK7/xr+t/8zFs/+xq5z/2dG+ + /8a/rv/JwrD/wruq/+Pbxv/17Nb/9ezW/+HVv/9/ZUr/jnRU/6OHYP+2mWv/w6Rx/8mpc//KqXL/YlI4 + jgAAAD4AAAA9AAAAOwAAADoAAAA4AAAANgAAADMAAAAuAAAAJgAAAB0AAAASAAAACAAAAAIAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAADf1sAR4djB/+PaxP/Qx7T/pZ+Q/8G5qP+8taT/x8Cu/7mzov/DvKv/xL2r + /7iyov/Dvav/vbem/8jBr//Iwa//tq+g/8fArv/Buqn/xb6t/8fArv/PyLX/ubKi/8fArv+7taT/ycKw + /83Fs//Ryrf/wLmo/8nBsP/Vzbr/0su4/723pv/Uzbr/9ezW//Xs1v/069X/gWlP/4RpS/+WelT/qYte + /7maZv/Comr8bFo7jwAAADMAAAAyAAAAMAAAAC8AAAAtAAAALAAAACoAAAApAAAAJgAAACMAAAAdAAAA + FAAAAAoAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA597IE+rhy//s483/5NvG/7Otnf+9tqb/ysOx + /8rCsf+/uKf/wruq/8G6qf/Auaj/vLal/8nCsP/Evaz/xb6t/8rDsf/NxrT/y8Sy/8zFsv++t6f/zMWz + /763p//Kw7H/v7in/8nCsP/Fvq3/z8i1/8nCsP+5s6P/zca0/8fAr//d1cL/6eHM//Xs1v/17Nb/9ezW + /5mFbOZxWkDCXkw1mlFCLXczKhxSGBQNLwAAACIAAAAhAAAAIAAAAB8AAAAdAAAAHAAAABsAAAAaAAAA + GQAAABgAAAAWAAAAEgAAAA4AAAAHAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO3kzgHx6NLv8unT + //Ho0v/Evaz/vbem/7u0pP/Iwa//xr+u/7y1pf+5sqP/wruq/7+4p//HwK7/xL2s/7+4p//HwK7/v7in + /8/Htf/Qybb/wruq/8W+rf/JwrD/vrin/7Otnv/Px7X/1s67/+zkzv/x6NP/9ezW//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v+Pin2GAAAAEgAAABEAAAARAAAAEAAAABAAAAAPAAAADwAAAA4AAAANAAAA + DAAAAAwAAAALAAAACwAAAAoAAAAJAAAACAAAAAcAAAAFAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA9OvVufXs1v/17Nb/vren/7y2pf/Gv63/ycGw/8/Htf/MxbP/v7in/9DItv/DvKv/ubOj + /8a/rf/Cu6r/ysOx/7+4p//Gv63/0Mm2/97Wwv/o4Mv/8ejT//Tr1f/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/z6tT/8OfS/93Vwf/PyLb/3tbC//Xs1v/17Nb/29O/tWlkWQUwLCYEBwYEBAQDAgQEAwIEAQEA + BAAAAAQAAAADAAAAAwAAAAMAAAADAAAAAgAAAAIAAAACAAAAAgAAAAEAAAABAAAAAQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPTr1YL17Nb/9ezW/9XNuv+2sKD/xL2s/8nCsP/Kw7H/wLmo + /8K8qv/Cu6r/wruq/8/Htf/Vzbr/7eXP//Tr1f/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/8+rV + /+rhzP/j2sb/08u4/8S9rP/Fvq3/w7yr/9nRvf/Fvaz/v7in/9zUwP/17Nb/9ezW//Tr1ekAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD069VM9ezW//Xs1v/d1cL/u7Sk + /7y1pf/Uzbr/4tnF/+vjzv/z6tT/9OvV//Ho0v/l3Mj/6+LN//Xs1v/17Nb/9ezW//Tr1f/x6NL/3NTA + /8/Htf/Iwa//ubKi/8rCsP+5s6P/zca0/8zFs//Ty7n/wruq/8jBsP/TzLn/zsa0/8K7qv/Qybb/9ezW + //Xs1v/17Nb/7+fRIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezW + FvXs1v717Nb/9OvV//Xs1v/y6tT/6+LN/+LZxv/Kw7H/vrem/7y1pf/Auaj/vren/8vDsf/Xz7z/wLmo + /7+4p//MxbP/1c26/8rDsf/Auaj/y8Ox/8C5qf/MxbP/v7io/8zEsv/Fvq3/z8e1/8jBr/+5sqL/zca0 + /8S+rP/Syrf/ycKw//Dn0v/17Nb/9ezW//Tr1VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD17Nbe9ezW//Tr1f+1rp//v7in/8W9rP/DvKr/wbqp/9HJtv/LxLL/u7Sk + /764p//Fvaz/yMGv/7y2pf/JwrD/wLmo/83GtP/Ox7T/xr+u/8O8q//IwbD/wLmo/7ixof/Evaz/w7yr + /8K7qv/Buqn/2dG+/7+5qP/Uzbr/59/K//Lp0//069X/9ezW//Xs1v/17NaPAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWp/Xs1v/17Nb/zse0/7q0pP/DvKv/ysOx + /8rDsf/Ox7X/wruq/8/Htf/DvKv/vLWl/8O8q//Evaz/zMSy/8G6qf/Evaz/y8Sy/8nBsP/Sy7j/0Mm2 + /7Wvn//UzLn/zMWz/+bdyf/v59H/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9ezW + xgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1nH17Nb/9ezW + /9fPvP+1rp//w7yr/8jBsP/MxbP/vbam/8W+rf/Gv63/wLmp/8W9rP/Evav/vren/8G6qf+2sKD/ysOx + /9TMuv/m3sn/8+rU//Tr1f/069X/7+bR/97Wwv/p4Mv/9ezW//Xs1v/069X/8unT/+ngy//d1cH/v7io + /9nRvv/17Nb/9ezW//Xs1vf17NYGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAD17NY69ezW//Xs1v/i2sX/vLal/8G6qf/Auan/xb6t/7+4qP+/uaj/uLKi/8fArv/Ty7n/5t7J + //Pq1P/17Nb/9OvV/+/n0f/p4Mv/0Mi2/8fAr//Gv67/urSk/8zEsv+7tKT/zMWz/9DItv/Rybb/wLmo + /8a/rv/Syrf/xr+u/8W+rP/NxbP/9ezW//Xs1v/17Nb/9ezWNQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWCfXs1vr17Nb/7eTP/763p/+/uKj/08y5/+beyf/y6dP/9OvV + //Tr1f/r4s3/4dnF/9HJt//Syrf/vLal/7+4p//MxbP/0sq3/8/Itf++t6f/ysOx/764p//Lw7H/u7Wl + /8zEs//Buqn/z8e1/8jBr/+2sKD/ysOx/8jBr//Px7X/zca0/+7m0P/17Nb/9ezW//Xs1mwAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NbM9ezW//Xs1v/17Nb/7ubQ + /9vTwP/MxbP/v7in/9TMuf/KwrH/wbqp/7+4qP/Buqn/xr6t/7u0pP/LxLL/wLmo/8vDsv/NxbP/x8Cu + /8C5qP/JwbD/vbam/722pv/Auaj/xL2s/7+4p//Cu6r/18+8/8S9rP/JwrD/x8Cv/7+4qP/y6dP/9ezW + //Xs1v/17NajAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezW + lvXs1v/17Nb/0Mm2/7u1pP/Fvq3/ysOx/8zFsv/Ox7T/w7yr/8zFsv/Auaj/vrin/764p//Gv63/zMWz + /8G6qf/DvKv/ycKw/8fArv/Xz7z/0Mi2/7avn//PyLX/vren/8zFs//Ox7X/ysOx/7ewof/Vzbr/0sq4 + /8S8q//Hv67/29PA//Xs1v/17Nb/9ezW2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAPXs1l/17Nb/9ezW/9nRvv+1r5//wryq/8nCsP/NxrT/urOj/8W9rP/Gv63/wLmp + /8G6qf/Fvq3/wruq/8O8q/+7tKT/y8Sy/8rCsf/JwrD/u7Sk/9DJtv+7taT/yMGv/7qzo//Px7X/yMCv + /8jBr//Iwa//ycKw/9XNuv/Rybf/u7Sk/9jQvf/17Nb/9ezW//Xs1v717NYTAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NYp9ezW//Xs1v/k3Mj/vbam/8O8qv+9tqb/w7yr + /8G6qf/Buqn/vLWl/8G6qf+7taT/zca0/722pv/Gv67/y8Sy/8rDsf/NxrP/w7yr/8a/rf/Gv67/vLWl + /8zFs/+8taX/xr+u/8vEsv/Rybb/w7yr/8S9rP/QyLb/xL2s/8fArv/HwK7/9OvV//Xs1v/17Nb/9ezW + SQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWAfXs1vD17Nb/7+bR + /7+4p/+6s6P/xr+u/8zEsv/Fvq3/vLWl/7myov/Cu6r/wLmp/8W+rf/Syrj/vLam/7+5qP/Kw7H/0Mi2 + /9PLuP+9tqb/ycKw/763p//Iwa//uLKi/83GtP+/uKf/zMSy/8a/rf+/uKj/4dnF/+3kz//y6dT/9OvV + //Xs1v/17Nb/9ezW//Xs1oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAD17Na79ezW//Tr1f+9tqb/wLqp/8K7qv/Buqn/vLWl/9XOuv/Kw7H/x8Cu/7+5qP+9tqX/xb6t + /7mzo//NxbP/v7io/8jBr//MxbL/yMGv/8C5qP/Iwa//yMGw/9XOuv/q4c3/8unT//Xs1v/17Nb/9ezW + //Xs1v/17Nb/9ezW//Xs1v/069X/9ezW//Xs1v/17Na3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWhPXs1v/17Nb/1My5/7exof/Fvqz/yMGv/8zEsv/OxrT/xL2s + /8nCsP+9tqb/wbqp/7qzpP/Gvq3/zse0/8zEsv/c1MH/7ubQ//Lp1P/17Nb/9ezW//Xs1v/17Nb/9ezW + //Xs1v/069X/8ejT/+HZxf/b07//1s67/9PMuf+9t6b/4NjE//Xs1v/17Nb/9ezW7QAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1k717Nb/9ezW/93Vwf+1rp//wbqp + /8zEsv/Ox7X/uLKi/8fArv/Syrj/39fD//Ho0v/z6tT/9ezW//Xs1v/17Nb/9ezW//Xs1v/17Nb/9OvV + /+/m0f/h2cX/1s68/8W+rP/JwbD/zMWy/9LLuP/DvKv/w7yr/83GtP+/uKf/wruq/9XOuv/17Nb/9ezW + //Xs1v/17NYlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NYX9ezW + /vXs1v/o4Mv/ycKw/+Laxv/w59H/9OvV//Pq1P/s5M7/49vG/8a/rf++t6f/0sq3//Tr1f/v5tH/3tbC + /87GtP/Ty7j/1My6/7u0pP/JwrD/w7yr/8W+rf+0rp7/xr+t/8C5qP/NxbP/ycGw/8nCsP+7tKT/xb6t + /9XNuv/JwbD/9OvV//Xs1v/17Nb/9ezWXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAPXs1uD17Nb/9ezW/+DYxP/JwrD/v7io/7+4qP/Du6v/z8i1/8fAr//NxrT/xb6t + /7mzo//Auaj/wLmo/8fArv/Buqn/ycKw/8K7qv/Fvq3/wbqp/8nCsP+3sKH/zse0/7ixof/Fvqz/wruq + /8a/rv/DvKr/0cq3/87GtP/EvKz/ycGw//Ho0//17Nb/9ezW//Xs1pMAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17Nap9ezW//Xs1v/HwK7/vLal/8C5qP/MxbP/zca0 + /8vEsv/Auaj/w7yr/8S9rP/DvKr/vren/8K7qv/Kw7H/wbqp/8C6qf/Fvq3/zse1/9HKt//OxrT/sauc + /8rCsf+/uKf/zca0/8zEsv/GwK7/w7yr/8jBr//a0r7/wLmo/8W+rf/h2cX/9ezW//Xs1v/17NbKAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWc/Xs1v/17Nb/08y5 + /723pv+6s6P/z8e1/8rCsP+/uaj/xb6t/763p//Fvqz/v7in/8W+rf+7tKT/xL2s/83GtP/Kw7H/ycKw + /8fArv/Buqn/zsa0/763p//JwrD/urOj/8/Htf/NxrT/ycGw/8O7qv/MxLL/08u5/9PLuP+8taX/4NjE + //Xs1v/17Nb/9ezW+fPq1AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + APXs1jz17Nb/9ezW/+DYxP/Gv63/u7Wl/7ewoP+/uKj/wruq/7+4p/+/uaj/wLqp/7qzo//UzLn/urOj + /8W+rP/Gv63/ycKw/9fQvP+/uaj/xb6t/8jBr/+8tqX/zMSy/8C5qP/IwK//y8Sy/9rSv//f18P/6uLN + //Pq1P/069X/9ezW//Tr1f/069X/9OvV//Pq1P/y6dM5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD17NYK9ezW+vXs1v/s5M7/ubKi/764p//Iwa//zsa0/8K7qv/Auqn/xb6t + /7y1pf++t6f/xr+t/9DItv/Buqn/xL2s/8K7qv/Px7X/1My6/7y1pf/TzLn/3tbC//Dn0f/069X/9ezW + //Xs1v/17Nb/9ezW//Tr1f/069X/9OvV//Lp0//t5c//8ejS//Ho0v/w59L/8OfRcAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1s717Nb/8+rU/8a+rf+9tqb/wLmp + /8K7qv/Evaz/0cq3/8O8q//QyLb/wruq/7awoP/Dvav/ysOx/+Pbxv/s487/8+rU//Tr1f/y6dT/7OTO + /93Vwv/Rybf/u7Sk/763pv/z6tT/7uXQ/+LZxf/HwK//zcaz/83Fs//Fvqz/vbal/+jfyv/u5c//7eTO + /+zjzacAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NaY9ezW + //Xs1v/LxLL/ubKi/7+4p//JwrD/zMWz/9bOu//g18T/7ubQ//Tr1f/069X/9OvV/+vizf/Z0b7/08u5 + /8a/rf/Uzbr/wrur/8W+rf/DvKv/v7io/8S9rP/Fvqz/vbal/9HKtv/Jwq//u7Sj/8S8q//IwK7/wLin + /7Otnf/c1L//6uHM/+ngy//o38reAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA9ezWYfXs1v/17Nb/6uLN/+zjzv/069X/9OvV//Ho0v/s487/1s67/9HKt/+5s6P/urOj + /9LKuP/Evaz/ysOx/7iyov/Fvq3/1My5/83Gs/+6s6P/xL2r/8G6qf++t6b/trCf/7u0o//Buaf/u7Oh + /8nArf++tqX/s6yc/7u0o//Kwq//ysOw/+bdx//l3Mb/5NvF/uPaxBYAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1ir17Nb/9ezW//Ho0v/Dvav/wbqq/7ixof/Auaj/0Mm2 + /8/Htf/DvKv/yMGw/8a/rf/Auaj/vrem/8vDsf/Auaj/vrem/8e/rf+7tKP/uLGg/762pP+/t6T/uLCe + /7uyoP+zqpj/raOS/7SrmP+yqZf/t66c/8G5pv/AuKb/rKaW/8rCr//h2ML/4djB/9/WwP/e1b9NAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADz6tQC9ezW8fXs1v/x6NL/trCg + /87GtP+xq5z/08y5/8e/rv/Kw7H/xb6s/7awn//IwK7/t7Cf/8C5p/+7s6L/u7Oh/7y0ov+vp5b/uK6c + /8C2ov+3rJn/sKWT/6SZiP+qnov/ppqH/6KWgv+woo3/rKCM/6mejf+5sJ3/vrWj/7Ssm/+zrJv/2tG7 + /9zTvP/a0bv/2tG6gwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + APTr1b3069X/8+rU/7+4p//DvKr/v7in/8/HtP+3r5//u7Oi/8G4pv+uppb/u7Kg/7mwnv+4rpz/q6GQ + /62jkf+2q5f/q6CN/62gjP+fkn//tKaQ/72ulv/JuaD/zr6j/9PDp//czbD/tqWM/5uMeP+ajnz/rKKQ + /7Wtm/+yq5r/saqZ/9XMtv/Xzrj/1cy2/9TLtboAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAADr4cuH7+bQ/+3kzv/Kwa//wLim/6yklP+vp5b/sKeV/7Oql/+roY//r6SR + /6OYhv+flIL/s6aR/7Klj//Cs5v/z8Cm/9XGq//by7D/4dK1/+LTt//i1Lj/49W5/+TWuv/k1rv/xrac + /4l1X/+XhnD/saKM/8a6pP/Rx7H/1cu1/9TLtf/TyrT/0smz/9DHsf/PxrDwz8WwAQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2c21U+HVv//d0rv/xrql/6ugjv+pnov/qJyJ + /7aplP+6rZb/ybui/9TGrP/bzLH/4dK2/+PVuf/k1rr/5Na7/+XXvP/l2L7/5tm//+fawP/n28H/6NzD + /+jcxP/p3cX/6t7H/5iEbP+Fb1j/loNs/6ydh//AtJ//zMGs/8/GsP/PxrD/zsSv/83Drv/Lwa3/ysCr + /8nAqykAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4NO6A8a2nUbSxKz/1Mat + /9bHrv/azLL/4NK3/+TWu//l17z/5di+/+bZv//n2sD/59vB/+jcw//o3MT/6d3F/+rex//q38j/6+DJ + /+zhy//s4sz/7ePN/+3jzv/u5M//7+XR/+7l0f97Y0v/gGlR/497ZP+mlX//uq6Y/8a7pv/KwKv/ysCr + /8m/qv/Hvqn/xryo/8W7p//Eu6ZcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOfawRHm2cA65ti+YeXYvYjl2L6u5de8 + 1eXYvvnm2b//59rA/+fbwf/o3MP/6NzE/+ndxf/q3sf/6t/I/+vgyf/s4cv/7OLM/+3jzf/t487/7uTP + /+/l0f/v5tL/8OfT//Ho1P/x6NX/8unX//Lq2P/z69n/8+za//Ts2//t5dP/dl1F/3xlTf+KdV7/no12 + /7Klj/++tJ//xLql/8S7pv/DuqX/wrmk/8G4o//At6L/v7aidAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOndxVbn28H26NzD + /+jcxP/p3cX/6t7H/+rfyP/r4Mn/7OHL/+zizP/t483/7ePO/+7kz//v5dH/7+bS//Dn0//x6NT/8ejV + //Lp1//y6tj/8+vZ//Ps2v/07Nv/9e3c//Xu3f/2797/9vDf//fw4P/38eH/+PLi//jy4//58+T/9fDh + /3VcRP95YUn/g25W/5SCbP+omYT/tquW/72zn/+/tqH/vrWh/720oP+8s5//u7Ke/7uynnEAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AO7kz0Xs4sz67ePN/+3jzv/u5M//7+XR/+/m0v/w59P/8ejU//Ho1f/y6df/8urY//Pr2f/z7Nr/9Ozb + //Xt3P/17t3/9u/e//bw3//38OD/9/Hh//jy4v/48uP/+fPk//n05f/69Ob/+vXn//r26P/79un/+/fp + //z36v/8+Ov//fjs//357P+Ca1T/d15H/35nT/+Ld2D/nY13/6ygiv+2q5f/ubCc/7qxnP+5sJz/uK+b + /7eumv+3rppNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAPPr2Qzx6NXl8unX//Lq2P/z69n/8+za//Ts2//17dz/9e7d//bv3v/28N//9/Dg + //fx4f/48uL/+PLj//nz5P/59OX/+vTm//r15//69uj/+/bp//v36f/89+r//Pjr//347P/9+ez//fnt + //767v/++u7//vru//767v/++u7//vru//767v/++u7/oI15/3VcRP96Ykr/g25W/5KAaf+hknz/raGM + /7OplP+1rJf/tayY/7Srl/+0q5fztayYDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD28N9t9vDf//fw4P/38eH/+PLi//jy4//58+T/+fTl + //r05v/69ef/+vbo//v26f/79+n//Pfq//z46//9+Oz//fns//357f/++u7//vru//767v/++u7//vru + //767v/++u7//vru//357f/9+ez//fjs//z46//89+r/+/fp//v26f/69uj/+vXn/8u+rP90W0P/dl5G + /3xlTv+Hc1z/lINt/6GTfv+qn4r/r6WQ/7Gnk/+xp5P/saiUhQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+vXntvr26P/79un/+/fp + //z36v/8+Ov//fjs//357P/9+e3//vru//767v/++u7//vru//767v/++u7//vru//767v/9+e3//fns + //347P/8+Ov//Pfq//v36f/79un/+vbo//r15//69Ob/+fTl//nz5P/48uP/+PLi//fx4f/38OD/9vDf + //bv3v/07Nv/jnli/3VcRP94YEj/f2hR/4l1Xv+UhG7/n5F8/6abhv+qoIz/raSQwq+mkgcAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AP767tT++u7//vru//767v/++u7//vru//767v/++u7//fnt//357P/9+Oz//Pjr//z36v/79+n/+/bp + //r26P/69ef/+vTm//n05f/58+T/+PLj//jy4v/38eH/9/Dg//bw3//2797/9e7d//Xt3P/07Nv/8+za + //Pr2f/y6tj/8unX//Ho1f/x6NT/8OfT/+LXwv+Iclr/dl5G/3piS/+AalP/iXZf/5SEbv+dj3n+ppqG + paqgiwsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD9+ezI/fjs//z46//89+r/+/fp//v26f/69uj/+vXn//r05v/59OX/+fPk + //jy4//48uL/9/Hh//fw4P/28N//9u/e//Xu3f/17dz/9Ozb//Ps2v/z69n/8urY//Lp1//x6NX/8ejU + //Dn0//v5tL/7+XR/+7kz//t487/7ePN/+zizP/s4cv/6+DJ/+rfyP/q3sf/5NjA/7Gfhv+Fb1f/fmhR + /4d0XfKPfWetmIlzQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+fTllPnz5P/48uP/+PLi//fx4f/38OD/9vDf + //bv3v/17t3/9e3c//Ts2//z7Nr/8+vZ//Lq2P/y6df/8ejV//Ho1P/w59P/7+bS/+/l0f/u5M//7ePO + /+3jzf/s4sz/7OHL/+vgyf/q38j/6t7H/+ndxf/o3MT/6NzD/+fbwf/n2sD/5tm//+XYvv/l17z/5Na7 + /OPVutvdzrO00cGnjbWjiliZhm0KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXu3jn07Nv/8+za + //Pr2f/y6tj/8unX//Ho1f/x6NT/8OfT/+/m0v/v5dH/7uTP/+3jzv/t483/7OLM/+zhy//r4Mn/6t/I + /+rex//p3cX/6NzE/+jcw//n28H/59rA/+bZv//l2L7/5de8/+TWu//k1rr/49W5/+LTt+3i1LjF4tS4 + n+PVuXjj1blR49a7KuTWuwYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA7+bSq+7kz//t487/7ePN/+zizP/s4cv/6+DJ/+rfyP/q3sf/6d3F/+jcxP/o3MP/59vB + /+fawP/m2b//5di+/+XXvP/k1rv/5Na6/+PVuf/i1Lj/4tO3/+HStfrg0bTY4dO2sOHStoni07di4tS4 + POLTtxUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO3izQ7p3cXJ6NzD/+fbwf/n2sD/5tm//+XYvv/l17z/5Na7 + /+TWuv/j1bn/4tS4/+LTt//h0rb/4dG0/+DRs//f0LLp39CywuDQs5vg0bR04NG0TeHStibg0bUEAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6NzDCOTWu43i07f54dK2 + /+HRtP/g0bP/4NCy/9/Psf/ezrD43s6v1N/PsK3fz7GG38+xYN/Qsjjg0bMRAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA4dK1Hd7OsHfdza6X3s6vcd7Nr0rezrAj39CyAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAP//////gB////////8AA////////wAA///////AAAD/////4AAAAP////gAAAAA + ///8AAAAAAD//8AAAAAAAH//gAAAAAAAP/8AAAAAAAAP/gAAAAAAAAf+AAAAAAAAA/4AAAAAAAAA/gAA + AAAAAAD8AAAAAAAAAPwAAAAAAAAA/AAAAAAAAAD+AAAAAAAAA/4AAAAAD////gAAAAAH///+AAAAAAf/ + //8AAAAAB////wAAAAAH////AAAAAAP///8AAAAAA////wAAAAAD////gAAAAAP///+AAAAAA////4AA + AAAB////gAAAAAH///+AAAAAAf///8AAAAAB////wAAAAAH////AAAAAAP///8AAAAAA////4AAAAAD/ + ///gAAAAAP///+AAAAAAf///4AAAAAB////gAAAAAH////AAAAAAf///8AAAAAB////wAAAAAD////AA + AAAAP///8AAAAAA////4AAAAAD////gAAAAAH///+AAAAAAf///wAAAAAB///AAAAAAAH//4AAAAAAAf + //AAAAAAAB//4AAAAAAAH//gAAAAAAA//+AAAAAAAD//4AAAAAAAf//gAAAAAAH//+AAAAAAB///4AAA + AAD////wAAAAf/////AAAB//////+AAP///////+A///////////////////KAAAADAAAABgAAAAAQAg + AAAAAACAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGBQQDAQEBBgEBAQcCAQEHAQEBBgAAAAUAAAAEAAAA + AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFtVSwQEBAMRDw4MKCQiHT0/OzNRDw4M + LAAAACAAAAAaAAAAEgAAAAoAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvoo0Bs6iSGrOokkGzp5JosKSPj6CYhrm0q5jgx7ul + 9uDTvP3p3sj+4dfD8Hl0a5kFBQREAAAANwAAACYAAAATAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAALGmkgGxppEOsaeSMLOok1ezqJR9s6mUpLWqlcu9tJ/ywbij/8S7pv/Ivqn/y8Kt + /8/FsP/PxK//y72q/+fezP/z7N3/9vDh//jy4/+xraPGBQUFTAAAADkAAAAfAAAACAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AKiciAWwppEesqmURLKolGyxppKSsaeSuLWrl965r5v5u7Ke/r61of/BuKT+xbun/si/qv/Mwq3+z8aw + /tLJtP/Wzbf+2dC6/t3Uvf/Iu6b+yr6t/+3n2f769ur+/fnu//367v7+++/+cXBqiAAAACkAAAAWAAAA + BgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvpZEEq5+L + UKyijYGtoo6nrKKNzbCmku+0q5f9tq2Z/rmwnP+7sp7+vrWh/sK4pP/Fu6f+yL+q/szCrf/PxrD+08m0 + /tbNt//Z0Lr+3dS9/uDXwf/j2sT+5t3H/ungyv+9r5r+yLyr/+3n2f77+Ov+/vrt//357P79+Or+2NPH + 2AAAACcAAAASAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ALSrlxOxqJTHsqmV/7Srl/+3rpn/ubCc/7yzn/+/tqH/wrmk/8a8p//Jv6r/zMOu/9DHsf/TyrT/1864 + /9rRu//d1L7/4NfB/+TbxP/m3cf/6eDK/+zjzf/u5c//8OfR//Lp0/+8rJf/uquY/+HYxv/07Nv/9+/d + //bu2v/17Nf/8unS/QgIB0MAAAApAAAAFAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAALivm7O5sJz+vLOf/r+2ov/CuaT+xryo/8nAq/7Nw67+0Mex/tTKtf/Xzrj+2tG7 + /t7Vvv/f1sD+2dC7/tDItf/Iwa/+6+LM/uvizP/g2MP+3NTA/tjQvf/Ox7X+8unT/vXs1v/IuaL+ppN7 + /829pP7l17z+693B/+rcvv7p2bn+5dSz+wUFBFIAAABDAAAAMAAAABsAAAAMAAAAAwAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAxLqmPMO5pf7Gvaj+ysCr/s3Erv/Qx7L+1Mu1/9fOuP7Yz7n+1865 + /se/rP/Fvqv+yMGu/sfArf+9tqX+squc/sS9rP/JwrD+y8Ox/sjBr/+5sqL+zsa0/tHJt//Evaz+6N/K + /vXs1v/cz7n+knth/7SegP7Qu5j+3Meg/93Hnv7bxJr+rJl30wAAAE4AAABKAAAAQQAAADIAAAAgAAAA + EAAAAAYAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAz8WwlNHIsv/SybP/y8Ou/8C5pv/Cuqf/xLyp + /7qzof+yrJv/vLWk/7qzo//Fvqz/ycKw/8a/rf+2sKD/z8i1/8nCsP++t6f/u7Sk/8K7qv/Vzrv/ycKw + /7+5qP+9t6b/5NzH//Xs1v/v5c//iXBV/52EY/+5n3b/y6+A/9Czgf/OsH78QDcndwAAAEQAAABCAAAA + PwAAADkAAAAwAAAAIgAAABMAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAA29K8wt/Wv/+tppb+sKqa + /r22pf/IwK7+wrup/7myov68taX+vrem/s7Htf/Evaz+t7Gh/sS9rP/Xz7z+0Mi2/rGrnP/Cu6r+yMCv + /tPLuP/Cu6r+xL2s/s3Fs//NxrP+29PA/vXs1v/069X+lX9m/4xxUf6miV/+u5xq/8Wlbf1rWTuWAAAA + OQAAADcAAAA1AAAAMgAAADAAAAAtAAAAJgAAABwAAAAPAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAA6N/J + zurhzP+/uKf/w7yq/87HtP+9tqb/u7Wl/764p//Lw7H/ysOx/7u0pP+8tqX/0Mm2/9HKt//Auqn/w7yr + /763p//LxLL/zcWz/8jAr//Evaz/v7mo/9XOu//Qybb/19C9//Xs1v/17Nb/rZuC8XNcQcxoVTqnV0gw + gjguHlYBAAAlAAAAIwAAACIAAAAgAAAAHgAAABwAAAAbAAAAGAAAABQAAAALAAAAAwAAAAAAAAAAAAAA + AAAAAAAAAAAA8ejSrfPq1P/d1cH+wruq/rmyov/DvKv+xb6s/8nCsP69tqb+ubOj/sG6qf/Rybf+wbuq + /srDsf/DvKv+w7yr/s7GtP/Kw7H+08y5/uHZxf/w59L+9OvV/vXs1v/069X+9OvV/vTr1f/069X+squb + qggHBg8CAgEPAQEADgICAQ0AAAANAAAADAAAAAsAAAAKAAAACgAAAAkAAAAIAAAABwAAAAYAAAADAAAA + AQAAAAAAAAAAAAAAAAAAAAAAAAAA9OvVdvXs1v/h2cX+r6ma/sK7qv/UzLn+z8i1/723pv66s6P+x8Cv + /s3GtP/Uzbr+0sq4/uXcyP/v5tH+9OvV/vXs1v/069X+9OvV/vLp0//q4s3+2NG+/tPMuf/Ty7n+zMWz + /uPbx//069X+8OfR24+JewIkIR0CAQEBAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9OvVQPXs1v/w59H+v7in/srCsf/a0r/+08u4 + /+XdyP7u5dD+6+LN/u/m0f/069X+9OvV/vPr1f/q4s3+2tK//tLKt//PyLX+wruq/sW+rf/MxLP+xr+t + /tLKt//UzLn+u7Sk/tjQvf/069X+9ezW/uLaxRMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWDPXs1vv17Nb/6+LN + /9/Ww//UzLr/1My5/8a/rv+/uKf/tK6e/8vEsv/Sy7j/xb6t/8S9rP/MxbP/x7+u/9HJt//HwK//t7Ch + /8O8q//Sy7j/zca0/8K7qv+8tqX/ysOx/9jQvf/17Nb/9ezW//Tr1UkAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + APXs1tL069X+ycKw/ry2pf/Gv67+ycKw/8rDsf7Buqn+xr+u/snCsP/Cu6r+wbqp/r23pv/Syrj+y8Sy + /sG6qf+9tqb+xr6t/sa/rv/MxLP+1My5/uffyv/q4cz+9OvV/vXs1v/069X+9ezW//Tr1YAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAPXs1pv069X+39fD/snCsP/Auaj+xr+u/8K7qv7NxbP+xb6s/sC5qf+6tKP+v7io + /snBsP/Lw7H+1s67/ujfy//u5dD+8OfR/uPbx//z6tT+9OvV/vTr1f/w59H+5NzH/s7Htf/t5M/+9ezW + //Tr1bcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1mT17Nb/6eDL/722pf+wqpv/xL2s/8a/rv/Px7X/z8i2 + /9/Xw//t5c//7+bQ/+XdyP/a0r//1My5/9DJtv/Fvaz/wLqp/7iyov/Px7X/2NC9/7+4qP/Bu6r/ycKw + /8nCsP/p4Mv/9ezW//Xs1ur17NYEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1i7069X+8unT/t7Wwv/q4s3+7eTP + /+Pbxv7Y0L3+z8i1/snCsP/Qybb+tq+g/r+4p//NxrT+2dG+/r64p/++t6f+xL2r/sK7qv/LxLL+wbqp + /sG6qf/KwrH+y8Sy/s3GtP/Vzbr+9ezW//Tr1f3069UnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1gj069Xu9OvV + /tTMuf/Gv67+vLWl/8fArv7PyLb+z8i1/sG6qf+yrJ3+wbqp/tLKuP/HwK/+wbqp/sW+rf/NxrT+x8Cu + /szFs/+7taT+xL2s/szEsv/QyLb+y8Ox/r22pv/Ox7X+9OvV//Tr1f7069VcAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAD17NbA9ezW/8zFs/+5s6P/xb6t/87Htf/Fvq3/vLWl/7y2pf/Gv63/y8Sy/8C5qP/Auan/x7+u + /8zEsv/NxbP/urSk/763p//Gv63/0cq3/8zEsv+8taX/zcWz/9PMuf/LxLL/8unU//Xs1v/17NaUAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD069WK9OvV/t3Vwf/Iwa/+wbqp/8G6qv63saH+urSj/srDsf/DvKv+xr+t + /rmzo//NxrT+08u4/snCsP+7tKT+u7Wk/s3Fs//Kw7H+w7yr/sa/rv/Auaj+0su4/tHJt//Px7X+8unT + //Tr1f7069XKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD069VT9OvV/u3kz/+/uaj+vLWl/7u0pP7MxbP+0su4 + /sC5qf+2sKD+xL2s/snCsP/HwK7+xb6s/sW+rf/Auaj+08u5/svEsv/Px7X+39fD/u7l0P/z6tT+9OvV + /vXs1v/069X+9OvV//Tr1f7069X09ezWDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NYf9ezW/PPq1f+yrJ3/wruq + /9HJt//MxbP/wbqp/7y1pf/Iwa//x8Cu/9XNuv/Wzrv/3tbC//Dn0v/069X/9ezW//Xs1v/069X/8ejS + /+nhzP/b07//0su4/9rSv//Lw7L/1My5//Xs1v/17Nb/9ezWOgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD069UC9OvV + 4/Tr1f/MxLP+zMSz/9jQvf7Wzrv+5NvH/u3kz//o38r+4dnF/vXs1v/069X+7uXQ/ungy//Xz7z+08u5 + /szFs//HwK7+wbqp/sa/rf/MxbP+yMGv/sfArv+9tqb+ysOx//Tr1f7069X+9ezWcAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA9OvVr/Xs1v/v59H+1s67/8rDsf7Kw7H+18+8/sS9rP+5sqL+wbqp/svEsv/MxbP+tq+g + /snCsP/LxLL+x8Cu/sK7qv+5sqL+ubOj/srCsP/LxLL+xb2s/sO8q//MxbP+zsa0//Pq1P7069X+9ezW + pwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWePXs1v/j2sb/urOj/8nBsP/Syrj/wbqp/763p//Evaz/zsa0 + /8K7qv+6tKT/u7Sk/8vDsf/MxbP/yMGv/8G6qf/Evaz/ysOx/8rDsf/Hv67/wLmo/9HKt//Rybf/wruq + /+Laxv/17Nb/9ezW3gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9OvVQfXs1v/w59L+x8Cu/7q0o/7Auaj+vbam + /srDsf/Auaj+ubKi/sa/rv/Evav+0Mm2/sa/rf/Gvq3+wruq/s3GtP/LxLL+ubKi/sG6qf/UzLn+zsa0 + /tXNu//f18P+4NfD//Ho0v7069X+9OvV/vPq1BYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9OvVDfXs1vz069X+vbal + /7ixof7KwrH+z8i2/ru0pP+6tKT+vLWl/tLKuP/LxLL+vbam/r64p//Vzbr+zMSy/tPLuP/Vzbr+4dnF + /u/m0f/069X+9OvV/vTr1f/069X+8+rU/+/m0f7y6dP+8ejS//Dn0U0AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + APXs1tP17Nb/0cq3/8jBsP/EvKv/wruq/8jBr//KwrH/z8e1/8nCsP/PyLb/5NzI/+/m0P/y6dP/5NvH + /9fPvP/Px7X/zcWz/8zFs//i2sX/29O//8rCsf/Sy7j/xr+t/7iyof/t5M7/7eTO/+vizYQAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAPXs1p3069X+39fD/87GtP7PyLb+59/K/vDn0v/v5tH+3tbC/tTMuf/Y0Lz+zMSy + /srDsf/Kw7H+xL2s/sa+rf/HwK7+wLmo/rqzo/+9tqX+yMCu/sG6qP+9tqX+uLGg/8jBrv7h2MP+597J + /+bdx7sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1mf17Nb/8urU/8/Itv/LxLL/yMGv/9HKt//Auaj/v7in + /8e/rv/Lw7H/yMCu/7KsnP/Cuqn/y8Ow/8C4p/+9tqT/rqaW/7qxn/+8s6D/tKuZ/7Cnlv+5sZ//xr6r + /7ewn//a0bz/4tnC/+DXwezf1sAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPTq1DD069X+8unT/7+4p/7KwrD+zMSy + /rixof/Gvq3+xb2s/sG5qP+4sJ/+s6ub/ruzof+9tKH+tayZ/q6kkv+zqJX+qJ2K/qqeiv+vooz+taeR + /qiciP+1q5j+vLSh/6mikv7AuKb+29K8/9nQuv7Yz7krAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO7kzgny6dPw8ejS + /8S8qv62r57+tq6e/r20ov+8s6D+rKKR/qeejf+zqJX+r6OQ/rCjj/+2qZP+vrCZ/si6oP/TxKn+2Mmu + /t7Qs//h0rX+pJJ6/pmJdf+onIn+v7ai/8vCrv7TyrT+1Mu1/9PKtP7RyLJgAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAADf1L3E4da//7ium/+roI7/tKiU/7mtmP+2qZP/wrSd/8/BqP/Zy7D/39G2/+PVuf/k1rv/5de9 + /+bZvv/n2sD/59vC/+jcxP/MvaX/hm9Y/5uJcv+4qpX/y8Cr/9DHsf/PxrD/zsSv/8zCrf/LwayXAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAADl2L4G5Ne9HOHUukPNvqXC2Mqx/9rMs/7g0rj+5de9/ubZv//n2sD+59vC/ujcxP/p3cX+6t7H + /uvgyf/s4cv+7OLM/u3jzv/u5M/+7+XR/vDm0/+0o43+fWZO/pJ/aP+voYv+w7ij/8m/qv7Ivqr+x72o + /8W7p/7DuqXIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAADn28JQ5tnApubawM3n2sDt59vC/ujcxP/p3cX+6t7H/+vgyf7s4cr+7OLM/u3jzv/u5M/+7+XR + /vDm0//w6NT+8enW/vLq1//z69n+8+za/vTt3P/17t3+9u/e/vfw4P+xoYz+eWJK/op1Xv+jlH7+uK2Y + /8G3o/7BuKT+wLei/761of69tKDXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAO3jzVfs4cr77OLM/+3jzv/u5M//7+XR//Dm0//w6NT/8enW//Lq1//z69n/9Oza + //Tt3P/17t3/9u/e//bw4P/38eH/+PLj//jz5P/59OX/+vTm//r15//79uj/+/fp//z46v/As6H/d15G + /4FrU/+WhG7/rJ+J/7iumf+7sZ3/urGd/7mwm/+4r5q/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA9OzbFfLq1/Dz69n+9Oza/vTt3P/17t3+9u/f/vbw4P/38eH++PLj + //nz5P759OX++vTm/vr15//79uj+/Pfp/vz46//8+Ov+/fns/v357f/9+u3+/vru/v767v/++u7+/frt + /v357f/e1cb+dVxE/npjS/+JdF3+nIx3/6yhjP6zqZX+tKuX/7Srl/60q5ZyAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+PLjcPjz5P/59OX++vTm/vr15//79uj++/fp + /vz46v/8+Ov+/fns//357f79+e3+/vru/v767v/++u7+/frt/v357f/9+ez+/Pjr/vz36v/79+n++/bo + /vr15//69Ob++fPl/vjz4//27+D+jXdg/nZeRv9+Z1D+jHlj/52OeP6onIj+raOP/6+mktWxqJQMAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/PjrnP357f/9+u7//vru + //767v/++u7//fnt//357f/9+ez//Pjr//z36v/79+n/+/bo//r15//69Ob/+fPl//jz5P/48uL/9/Hh + //bw4P/2797/9e7d//Tt2//z7Nr/8+vY//Lq1//x6NX/28+6/4BpUf94YEj/gGpT/416ZP+ai3b/pZmF + zKuhjR4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/Pfq + kPz36v/79+n++/bo/vr15//59Ob++fPl/vjz4//48uL+9/Hh//bw3/72797+9e7d/vTt2//z7Nr+8+vY + /vLp1//x6NX+8OfU/u/m0v/v5dD+7uTP/u3jzf/s4sz+6+DK/uvfyP/q3sf+6d3F/t7RuP+rmID+kX1l + 8ot3YLKTgm1bnZB7BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA9/HiT/bw4P/2797+9e7d/vTt2//z7Nr+8+vY/vLq1//x6NX+8OfU/+/m0v7v5dH+7uTP + /u3jzf/s4sz+6+DK/uvfyP/q3sf+6d3F/ujcw//n28H+5tnA/ubYvv/l17z+5Na78uPVutTj1bqu49W6 + ht7QtV/MvKI5rpyDF5qHbwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA8+vaA/Dn08/v5dH/7uTP/+3jzv/s4sz/6+DK/+vfyP/q3sf/6d3F + /+jcw//n28H/5trA/+bYvv/l173/5Na7/+PVuf/i1Lj+4dK25uLTt7/i07eY4tO3ceLTuEri1Lgj49W6 + CQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOvhyyLo28LY5tnA/ubYvv/l17z+5Na7 + /uPVuf/i1Lj+4tO2/+HStf3g0bPx4NCz0eDQs6rg0bOD4NG0XOHRtTTg0bQOAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADl2L4O4dO2 + gN/Psd3ezrDg3s6vvN7OsJXfz7Bt38+xR9/PsiLf0LIHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAN/PsQPezrACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AP////4B/wAA/////AB/AAD///+AAD8AAP//wAAAPwAA//AAAAA/AAD+AAAAAD8AAPwAAAAADwAA/AAA + AAAHAAD4AAAAAAEAAPgAAAAAAAAA+AAAAAAAAAD4AAAAAAAAAPgAAAAAAAAA+AAAAAAfAAD4AAAAP/8A + APgAAAA//wAA/AAAAD//AAD8AAAAP/8AAPwAAAAf/wAA/AAAAB//AAD8AAAAH/8AAP4AAAAf/wAA/gAA + AB//AAD+AAAAD/8AAP4AAAAP/wAA/gAAAA//AAD/AAAAD/8AAP8AAAAP/wAA/wAAAAf/AAD/AAAAB/8A + AP+AAAAH/wAA/4AAAAf/AAD/gAAAA/8AAP+AAAAD/wAA/4AAAAP/AAD/wAAAA/8AAP4AAAAD/wAA8AAA + AAP/AADgAAAAA/8AAMAAAAAD/wAAwAAAAAP/AADAAAAAB/8AAMAAAAAP/wAAwAAAAD//AADAAAAf//8A + AOAAD////wAA8AP/////AAD8//////8AACgAAAAgAAAAQAAAAAEAIAAAAAAAgBAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoYFQIBAQEKAQEBDQEBAQwAAAAKAAAABgAAAAIAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAArJ+KDLGkjzKwpZBYg3xuhIiAcrK2q5jOrKSUwDg2MWIAAAAwAAAA + GwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AKyhjAGvpI8gsqiTR7Ook261q5aVuK6avLyynePEuqb+yb+q/87Er//TyrT/ybyp/+zl1f/48uT/9vHk + +0pJRnoAAAAvAAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKuhjCWsoY1braKO + g6+kkKq0q5fQt62Z9ruynv+/tqL/xLum/8nAq//PxbD/1Mq1/9nQuf/d1L7/4tnD/+LYwv+9sJ7/8uzf + //767v/++u3/1dLG2AAAACEAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0q5dltKuX + /Leumv+7sp7/wLei/8W7p//KwKv/z8aw/9TLtf/Z0Lr/3tW//+PaxP/n3sj/6+LM/+vizP/u5c//7uTO + /6ybhv/i2MT/9OvW//Pp0//w5cz+BgYFQgAAACAAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAw7ql + G8G3o/fFvKf/ysGs/9DGsf/Vy7b/1c23/8vDr//QyLT/zcWy/8G6qP++t6b/0cq3/8/Itf/Gv63/ycKw + /97Wwv/17Nb/oo51/8KukP/eyqf/4Mul/8i0kOoAAABOAAAAQQAAACgAAAAQAAAAAwAAAAAAAAAAAAAA + AAAAAADSybNr0Mex/8G5pv/Cuqf/wrqo/7ixof+/uKf/wLmo/8C5qP/Kw7H/yMGv/7+5qP/Evaz/xr+u + /8nCsP/Gv67/1s67//Xs1v+smH//oIZj/8OneP/Nr3v/Vkk0igAAAEEAAAA9AAAANgAAACcAAAATAAAA + BAAAAAAAAAAAAAAAAOTbxYjg2MP/tq+f/8a+rf+/uKj/v7in/8K7qv/Gv67/xb6s/8fAr//Iwa//wruq + /8O8q//NxbP/w7yr/8/Htf/Wzrv/9ezW/8Gxmfh6YkXWeWRDslFELHcAAAApAAAAJwAAACQAAAAhAAAA + HQAAABQAAAAGAAAAAAAAAAAAAAAA8ejSavPq1P+/uKf/xL2s/8fAr//Cu6r/wbqp/8K8q//Evav/zca0 + /9PMuf/b08D/29O//+vizf/069X/8+rU/+XdyP/v5tH/1c26ziYkIAsDAgEKAQEACQAAAAkAAAAIAAAA + BwAAAAYAAAAFAAAAAwAAAAEAAAAAAAAAAAAAAAD069Uz9ezW/8nBsP/HwK//1s67/9vTwP/a0r7/6ODL + //Tr1f/z6tX/5dzI/9rTv//Y0L3/1My5/8fAr//OxrT/xb6t/+XdyP/069X5vLWkCAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1gX17Nb25NzI/9jQvf/MxLL/xb6t + /763pv/LxLL/wbqp/8zEsv/Iwa//xb6t/8G6qf/Gv63/xr+u/8jBr//Uzbr/6N/K//Xs1v/069U6AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1sXk28f/vbem + /8rDsf/Fvaz/xr+t/8K7qv/Evaz/wbqp/9TMuf/i2sb/29PA/97Wwv/z6tT/9OvV/+zjzv/g2MT/9ezW + //Xs1nEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezW + j+7l0P+/uKf/0Mi2/9nRvv/Xz7z/29O//93Vwv/c1MD/1s+8/8W+rf/Evaz/xL2s/8zEsv/Buqn/y8Ox + /8vEsv/z6tT/9ezWqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAD17NZY9ezW/9zUwP/OxrT/y8Sy/8a/rv+/uaj/wbqp/8a/rf/JwrD/ycKw/8O8q//DvKr/x8Cv + /8a/rv/NxrP/xL2s/+7lz//17NbeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAPXs1iL17Nb/zMWz/8O8q//Cu6v/wruq/7+4qP/Evaz/xL2r/8vEsv/DvKv/w7yr + /8K8qv/Kw7H/ycKw/8zFs//Gv63/4trG//Xs1v717NYXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1urY0L3/wbqp/8O8q//Fvq3/wruq/8a/rv/Auqn/yMGv + /8nCsP/Dvav/yMCv/9rSv//f18P/4trG//Lp0//069X/9ezW//Xs1k0AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezWtObeyf+8tqX/y8Sy/8S9rP/OxrT/2NC9 + /9/Xw//k3Mj/8urU//Pq1P/o4Mv/3tXC/+HZxf/Rybb/zca0/83GtP/17Nb/9ezWhAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD17NZ98enT/9XNu//Z0b3/3NTB + /8/Itv/Evav/2dG+/83Gs//NxbP/wryr/8K7qv/Auaj/xb6s/8e/rv/Iwa//ysOx//Pq1f/17Na7AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXs1kf17Nb/xb6t + /8W+rf/Iwa//wruq/8K8qv/Auaj/x8Cu/8a/rv/KwrH/w7yr/8O8q//NxrT/xb6t/9DJtv/Fvq3/6+LN + //Xs1vDz6tQCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9ezW + EfXs1v3Ty7j/vren/8S9rP/Buqn/vbam/8nCsP/Evaz/zMWz/8W+rf/NxrT/3NTA/9/Xw//o4Mv/8enT + //Tr1f/y6dP/8unT//Dn0ioAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAA9ezW2d7Wwv+9tqb/x8Cu/9LLuP/d1cH/2NG9/9zUwf/e1sL/39fD/9XNuv/Evaz/zMWz + /9vSv//Fvqz/xr+t/83Fs//s483/6uHLYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD17Nai8ejS/9nRvv/Xz7z/2NC9/8W+rf/Fvaz/xr6t/7+4p//Jwa//vbal + /762pP+4sJ//t66d/7yzof+8tKP/w7up/+PaxP/h2MKYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPq1Gzz6tT/wbqp/8W9rP/Buaj/urOi/720o/+3r53/tq2b + /7Clk/+yppP/tqqU/7yul/+5qpP/opaD/7atm/+yq5r/2M+5/9fOuM8AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA49fANufcxv+/taL/q6GP/7Wqlv++sZz/wLOc + /8u9pf/WyK7/39G2/+TWu//l2L7/59rA/5uHcP+jknz/yb2o/9LIs//QxrH/zcSu+8vCrAoAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADm2L4S5di+OuXYvWHcz7WQ3dC3/+DTuv/m2cD/6NzD + /+ndxf/q38j/7OHK/+3izf/u5M//7+bS//Do1P/w59T/e2NM/5eFbv+8sJv/x72o/8W8p//DuaX/wrik + NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7OHLZerfyPzs4cr/7eLN/+7kz//v5tL/8OjU + //Lp1v/z69n/9Ozb//Xu3f/279//9/Hh//jy4//59OX/+vXn//r15/96Ykr/iHRc/6qch/+7sZ3/vLOe + /7qxnP+5sJwvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPXu3h707Nv49e7d//bv3//38eH/+PLj + //n05f/69ef/+/bo//z36v/8+Ov//fns//357f/9+e3//fnt//357P/8+Oz//Pjq/5WBa/98ZU3/k4Js + /6ufiv+yqZX/s6mV3bSrlwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+/bpYvz46//9+ez//fnt + //357f/9+e3//fns//z47P/8+Or/+/bp//r15//59Ob/+fPk//jy4v/38OD/9e/e//Tt3P/z7Nr/1cm1 + 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 + + + \ No newline at end of file diff --git a/Logbuch/Logbuch/Reports/frmCRReporting.vb b/Logbuch/Logbuch/Reports/frmCRReporting.vb new file mode 100644 index 0000000..7db0f0c --- /dev/null +++ b/Logbuch/Logbuch/Reports/frmCRReporting.vb @@ -0,0 +1,96 @@ +Imports System.Windows.Forms +Imports FastReport + +Public Class frmCRReporting + + Dim m_daten As New DataTable + Property Daten As DataTable + Get + Return m_daten + End Get + Set(value As DataTable) + m_daten = value + End Set + End Property + + Dim m_Reportnr As Integer + Property Reportnr As Integer + Get + Return m_Reportnr + End Get + Set(value As Integer) + m_Reportnr = value + End Set + End Property + + Dim db As New clsdbhandling + + Private Sub frmCRReporting_Load(sender As Object, e As EventArgs) Handles MyBase.Load + Try + FastReport.Utils.Res.LoadLocale(Application.StartupPath + "\German.frl") + Catch + End Try + + End Sub + + + + Public Sub Design_Report(ByVal reportnr As Integer, ByVal Daten As DataTable) + Dim reportdata As New DataTable + reportdata = db.Get_Tabledata("Select * from report where reportnr=" + reportnr.ToString, False, True) + Dim filename As String = reportdata.Rows(0).Item("dateiname") + filename = Application.StartupPath + "\reports\" + filename + + Dim report As New Report + Try + Dim ds As New DataSet + ds.Tables.Add(Daten.Copy) + report.Load(filename) + report.RegisterData(ds) + report.SetParameterValue("User", Globals.Userdaten.Rows(0).Item("Name") + " " + Globals.Userdaten.Rows(0).Item("Vorname") + ", " + Globals.Userdaten.Rows(0).Item("tgnummer")) + report.GetDataSource("Daten").Enabled = True + 'report.SetParameterValue("Titel1", auswertung.TitelZeile1) + 'report.SetParameterValue("Titel2", auswertung.TitelZeile2) + Cursor = Cursors.Default + report.Preview = Me.PreviewControl1 + report.Design() + report.Dispose() + + Catch ex As Exception + MsgBox(ex.Message) + End Try + + End Sub + Public Sub Print_Report(ByVal reportnr As Integer, ByVal Daten As DataTable) + Dim reportdata As New DataTable + reportdata = db.Get_Tabledata("Select * from report where reportnr=" + reportnr.ToString, False, True) + Dim filename As String = reportdata.Rows(0).Item("dateiname") + filename = Application.StartupPath + "\reports\" + filename + + Dim report As New Report + Try + Dim ds As New DataSet + ds.Tables.Add(Daten.Copy) + report.Load(filename) + report.RegisterData(ds) + report.GetDataSource("Daten").Enabled = True + report.SetParameterValue("User", Globals.Userdaten.Rows(0).Item("Name") + " " + Globals.Userdaten.Rows(0).Item("Vorname") + ", " + Globals.Userdaten.Rows(0).Item("tgnummer")) + + 'report.SetParameterValue("Titel1", auswertung.TitelZeile1) + 'report.SetParameterValue("Titel2", auswertung.TitelZeile2) + Cursor = Cursors.Default + report.Preview = Me.PreviewControl1 + report.Prepare() + report.Show() + 'report.Dispose() + 'Me.Close() + Catch ex As Exception + MsgBox(ex.Message) + End Try + + End Sub + + Private Sub TSBtnQuit_Click(sender As Object, e As EventArgs) Handles TSBtnQuit.Click + Me.Close() + End Sub +End Class \ No newline at end of file diff --git a/Logbuch/Logbuch/Reports/frmKalender.Designer.vb b/Logbuch/Logbuch/Reports/frmKalender.Designer.vb new file mode 100644 index 0000000..656bf3a --- /dev/null +++ b/Logbuch/Logbuch/Reports/frmKalender.Designer.vb @@ -0,0 +1,74 @@ + _ +Partial Class frmKalender + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmKalender)) + Me.MonthCalendar1 = New System.Windows.Forms.MonthCalendar() + Me.Button1 = New System.Windows.Forms.Button() + Me.MaskedTextBox1 = New System.Windows.Forms.MaskedTextBox() + Me.SuspendLayout() + ' + 'MonthCalendar1 + ' + Me.MonthCalendar1.Location = New System.Drawing.Point(4, 5) + Me.MonthCalendar1.Name = "MonthCalendar1" + Me.MonthCalendar1.TabIndex = 0 + ' + 'Button1 + ' + Me.Button1.Location = New System.Drawing.Point(53, 202) + Me.Button1.Name = "Button1" + Me.Button1.Size = New System.Drawing.Size(75, 23) + Me.Button1.TabIndex = 1 + Me.Button1.Text = "OK" + Me.Button1.UseVisualStyleBackColor = True + ' + 'MaskedTextBox1 + ' + Me.MaskedTextBox1.Location = New System.Drawing.Point(4, 176) + Me.MaskedTextBox1.Mask = "00/00/0000" + Me.MaskedTextBox1.Name = "MaskedTextBox1" + Me.MaskedTextBox1.Size = New System.Drawing.Size(84, 20) + Me.MaskedTextBox1.TabIndex = 2 + Me.MaskedTextBox1.ValidatingType = GetType(Date) + ' + 'frmKalender + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(202, 249) + Me.Controls.Add(Me.MaskedTextBox1) + Me.Controls.Add(Me.Button1) + Me.Controls.Add(Me.MonthCalendar1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmKalender" + Me.Text = "Kalender" + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + + Friend WithEvents MonthCalendar1 As MonthCalendar + Friend WithEvents Button1 As Button + Friend WithEvents MaskedTextBox1 As MaskedTextBox +End Class diff --git a/Logbuch/Logbuch/Reports/frmKalender.resx b/Logbuch/Logbuch/Reports/frmKalender.resx new file mode 100644 index 0000000..9336548 --- /dev/null +++ b/Logbuch/Logbuch/Reports/frmKalender.resx @@ -0,0 +1,3086 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + 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 + pAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAApKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkA6SkpASkpKQFpKSkBaSk + pAWkpKQFpKSkBaSkpAWkpKQFpKSkBaSkpAWkpKQFpKSkBaSkpAakpKQIpKSkCqSkpAykpKQMpKSkDaSk + pA2kpKQNpKSkDaSkpA2kpKQNpKSkDaSkpA2kpKQNpKSkDaSkpA2kpKQNpKSkDaSkpA2kpKQNpKSkDaSk + pA2kpKQNpKSkDaSkpA2kpKQNpKSkDaSkpA2kpKQNpKSkDaSkpA2kpKQNpKSkDaSkpA2kpKQNpKSkDaSk + pA2kpKQNpKSkDaSkpA2kpKQNpKSkDaSkpA2kpKQNpKSkDaSkpAykpKQMpKSkCqSkpAikpKQGpKSkBaSk + pAWkpKQFpKSkBaSkpAWkpKQFpKSkBaSkpAWkpKQFpKSkBaSkpASkpKQDpKSkAqSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAApKSkAaSkpAGkpKQCpKSkA6SkpASkpKQFpKSkBaSkpAakpKQIpKSkCqSkpAykpKQMpKSkDaSk + pA2kpKQNpKSkDqSkpBCkpKQTpKSkFqSkpBikpKQapKSkGqSkpBqkpKQapKSkGqSkpBqkpKQapKSkGqSk + pBqkpKQbpKSkHaSkpCGkpKQmpKSkKqSkpCykpKQtpKSkLaSkpC2kpKQtpKSkLaSkpC2kpKQtpKSkLaSk + pC2kpKQtpKSkLaSkpC2kpKQtpKSkLaSkpC2kpKQtpKSkLaSkpC2kpKQtpKSkLaSkpC2kpKQtpKSkLaSk + pC2kpKQtpKSkLaSkpC2kpKQtpKSkLaSkpC2kpKQtpKSkLaSkpC2kpKQtpKSkLaSkpC2kpKQtpKSkLaSk + pC2kpKQtpKSkLKSkpCqkpKQmpKSkIaSkpB2kpKQbpKSkGqSkpBqkpKQapKSkGqSkpBqkpKQapKSkGqSk + pBqkpKQZpKSkGKSkpBWkpKQRpKSkD6SkpA2kpKQNpKSkDaSkpA2kpKQMpKSkDKSkpAqkpKQIpKSkBqSk + pAWkpKQFpKSkBKSkpAOkpKQCpKSkAaSkpAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAApKSkAqSkpASkpKQGpKSkCKSkpAukpKQMpKSkDqSkpBGkpKQVpKSkGKSk + pBmkpKQapKSkHaSkpCGkpKQmpKSkKqSkpCykpKQtpKSkLaSkpC6kpKQwpKSkM6SkpDqkpKRApKSkRKSk + pEakpKRHpKSkR6SkpEekpKRHpKSkR6SkpEekpKRHpKSkR6SkpEikpKRLpKSkUqSkpFmkpKRgpKSkY6Sk + pGWkpKRmpKSkZqSkpGakpKRmpKSkZqSkpGakpKRmpKSkZqSkpGakpKRmpKSkZqSkpGakpKRmpKSkZqSk + pGakpKRmpKSkZqSkpGakpKRmpKSkZqSkpGakpKRmpKSkZqSkpGakpKRmpKSkZqSkpGakpKRmpKSkZqSk + pGakpKRmpKSkZqSkpGakpKRmpKSkZqSkpGakpKRmpKSkZqSkpGWkpKRjpKSkYKSkpFmkpKRSpKSkS6Sk + pEikpKRHpKSkR6SkpEekpKRHpKSkR6SkpEekpKRHpKSkRqSkpEWkpKRCpKSkPaSkpDakpKQxpKSkL6Sk + pC2kpKQtpKSkLaSkpCykpKQqpKSkJqSkpCGkpKQdpKSkGqSkpBmkpKQYpKSkFaSkpBGkpKQOpKSkDKSk + pAqkpKQIpKSkBaSkpAOkpKQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApKSkBKSkpAmkpKQQpKSkFqSk + pBykpKQipKSkKKSkpCykpKQwpKSkNqSkpD2kpKRCpKSkRaSkpEikpKRLpKSkUqSkpFmkpKRgpKSkY6Sk + pGWkpKRmpKSkZqSkpGikpKRtpKSkdaSkpH6kpKSEpKSkhqSkpIekpKSHpKSkh6SkpIekpKSHpKSkh6Sk + pIekpKSHpKSkiKSkpIqkpKSTpKSkm6SkpKKkpKSlpKSkpqSkpKekpKSnpKSkp6SkpKekpKSnpKSkp6Sk + pKekpKSnpKSkp6SkpKekpKSnpKSkp6SkpKekpKSnpKSkp6SkpKekpKSnpKSkp6SkpKekpKSnpKSkp6Sk + pKekpKSnpKSkp6SkpKekpKSnpKSkp6SkpKekpKSnpKSkp6SkpKekpKSnpKSkp6SkpKekpKSnpKSkp6Sk + pKekpKSnpKSkpqSkpKWkpKSipKSkm6SkpJOkpKSKpKSkiKSkpIekpKSHpKSkh6SkpIekpKSHpKSkh6Sk + pIekpKSGpKSkhaSkpIGkpKR5pKSkcaSkpGqkpKRmpKSkZqSkpGakpKRlpKSkY6SkpGCkpKRZpKSkUqSk + pEukpKRIpKSkRaSkpEKkpKQ9pKSkNqSkpDCkpKQrpKSkJqSkpCCkpKQbpKSkFaSkpA6kpKQIpKSkAwAA + AAAAAAAAAAAAAKSkpAWkpKQPpKSkHqSkpC2kpKQ8pKSkSaSkpFSkpKRcpKSkY6SkpGmkpKRxpKSkeqSk + pIGkpKSFpKSkiKSkpIukpKSTpKSkm6SkpKKkpKSlpKSkpqSkpKekpKSnpKSkqaSkpK2kpKS1pKSku6Sk + pMCkpKTCpKSkw6SkpMSkpKTEpKSkxKSkpMSkpKTEpKSkxKSkpMSkpKTEpKSkxqSkpMukpKTRpKSk1aSk + pNikpKTZpKSk2qSkpNqkpKTapKSk2qSkpNqkpKTapKSk2qSkpNqkpKTapKSk2qSkpNqkpKTapKSk2qSk + pNqkpKTapKSk2qSkpNqkpKTapKSk2qSkpNqkpKTapKSk2qSkpNqkpKTapKSk2qSkpNqkpKTapKSk2qSk + pNqkpKTapKSk2qSkpNqkpKTapKSk2qSkpNqkpKTapKSk2qSkpNqkpKTZpKSk2KSkpNWkpKTRpKSky6Sk + pMakpKTEpKSkxKSkpMSkpKTEpKSkxKSkpMSkpKTEpKSkw6SkpMOkpKTBpKSkvqSkpLikpKSxpKSkq6Sk + pKekpKSnpKSkp6SkpKakpKSlpKSkoqSkpJukpKSTpKSki6SkpIikpKSFpKSkgaSkpHqkpKRxpKSkaaSk + pGGkpKRZpKSkT6SkpEWkpKQ5pKSkK6SkpBukpKQNpKSkBAAAAAAAAAAApKSkDKSkpB+kpKQ7pKSkV6Sk + pG+kpKSBpKSkj6SkpJqkpKShpKSkqKSkpK6kpKS2pKSkvKSkpMCkpKTCpKSkxaSkpMqkpKTQpKSk1aSk + pNikpKTZpKSk2aSkpNmkpKTapKSk3aSkpOGkpKTlpKSk56SkpOmkpKTppKSk6qSkpOqkpKTqpKSk6qSk + pOqkpKTqpKSk6qSkpOqkpKTrpKSk7aSkpO+kpKTypKSk86SkpPSkpKT0pKSk9aSkpPWkpKT1pKSk9aSk + pPWkpKT1pKSk9aSkpPWkpKT1pKSk9aSkpPWkpKT1pKSk9aSkpPWkpKT1pKSk9aSkpPWkpKT1pKSk9aSk + pPWkpKT1pKSk9aSkpPWkpKT1pKSk9aSkpPWkpKT1pKSk9aSkpPWkpKT1pKSk9aSkpPWkpKT1pKSk9aSk + pPWkpKT1pKSk9KSkpPSkpKTzpKSk8qSkpO+kpKTtpKSk66SkpOqkpKTqpKSk6qSkpOqkpKTqpKSk6qSk + pOqkpKTqpKSk6aSkpOikpKTmpKSk46SkpN+kpKTbpKSk2aSkpNmkpKTZpKSk2aSkpNikpKTVpKSk0KSk + pMqkpKTFpKSkwqSkpMCkpKS8pKSktaSkpK6kpKSmpKSknqSkpJWkpKSKpKSkfKSkpGukpKRTpKSkN6Sk + pBukpKQKpKSkAQAAAACkpKQQpKSkK6SkpE+kpKRzpKSkkqSkpKakpKS1pKSkwKSkpMikpKTMpKSk06Sk + pNikpKTdpKSk4qSkpOKkpKTkpKSk5qSkpOmkpKTtpKSk8KSkpPCkpKTxpKSk8aSkpPGkpKTypKSk9KSk + pPWkpKT3pKSk+KSkpPikpKT5pKSk+aSkpPmkpKT5pKSk+aSkpPmkpKT5pKSk+aSkpPmkpKT5pKSk+qSk + pPukpKT7pKSk+6SkpPykpKT8pKSk/KSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSk + pP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSk + pP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/KSkpPykpKT8pKSk+6SkpPukpKT7pKSk+qSk + pPmkpKT5pKSk+aSkpPmkpKT5pKSk+aSkpPmkpKT5pKSk+aSkpPmkpKT4pKSk96SkpPakpKT0pKSk86Sk + pPGkpKTxpKSk8aSkpPGkpKTwpKSk76SkpO2kpKTppKSk5qSkpOSkpKTipKSk4KSkpNykpKTYpKSk0KSk + pMykpKTFpKSkvKSkpLCkpKShpKSkjaSkpHCkpKRKpKSkJ6SkpA6kpKQCAAAAAKSkpA+kpKQopKSkS6Sk + pG6kpKSLpKSkn6SkpKykpKS5pKSkwaSkpMekpKTMpKSk0qSkpNikpKTbpKSk3aSkpN6kpKTgpKSk46Sk + pOikpKTrpKSk7aSkpO2kpKTtpKSk7aSkpO6kpKTupKSk8KSkpPKkpKT0pKSk9qSkpPekpKT3pKSk96Sk + pPekpKT3pKSk96SkpPekpKT3pKSk96SkpPekpKT3pKSk96SkpPikpKT4pKSk+aSkpPqkpKT7pKSk+6Sk + pPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSk + pPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSk + pPukpKT7pKSk+qSkpPmkpKT4pKSk+KSkpPekpKT3pKSk96SkpPekpKT3pKSk96SkpPekpKT3pKSk96Sk + pPekpKT3pKSk96SkpPakpKT0pKSk8qSkpPCkpKTupKSk7aSkpO2kpKTtpKSk7aSkpOykpKTqpKSk5qSk + pOKkpKTfpKSk3qSkpNykpKTapKSk1aSkpM+kpKTJpKSkw6SkpLykpKS0pKSkqKSkpJikpKSGpKSkaaSk + pEakpKQlpKSkDKSkpAIAAAAApKSkCaSkpBmkpKQypKSkS6SkpGCkpKRxpKSkfaSkpIikpKSQpKSklqSk + pJ2kpKSlo6OjrKKiorCioqKyoaGhs6GhobahoaG7oaGhw6GhocihoaHLoaGhzaGhoc2hoaHNoaGhzaGh + oc6hoaHRoaGh1qGhoduhoaHeoaGh36GhoeChoaHioaGh4qGhoeKhoaHioaGh4qGhoeKhoaHioaGh4qGh + oeKhoaHioaGh46GhoeahoaHpoaGh7KGhoe2hoaHuoaGh76Ghoe+hoaHvoaGh76Ghoe+hoaHvoaGh76Gh + oe+hoaHvoaGh76Ghoe+hoaHvoaGh76Ghoe+hoaHvoaGh76Ghoe+hoaHvoaGh76Ghoe+hoaHvoaGh76Gh + oe+hoaHvoaGh76Ghoe+hoaHvoaGh76Ghoe+hoaHvoaGh7qGhoe2hoaHsoaGh6aGhoeahoaHjoaGh4qGh + oeKhoaHioaGh4qGhoeKhoaHioaGh4qGhoeKhoaHioaGh4qGhoeChoaHfoaGh3qGhoduhoaHWoaGh0aGh + oc6hoaHNoaGhzaGhoc2hoaHMoaGhyqGhocahoaG/oaGhuKGhobShoaGyoaGhsaGhoa2ioqKmoqKin6Oj + o5mkpKSTpKSkjaSkpIOkpKR3pKSka6SkpFukpKRGpKSkLqSkpBakpKQIAAAAAAAAAACkpKQCpKSkCqSk + pBWkpKQjpKSkLqSkpDmkpKRCpKSkSqSkpFGkpKRXoqKiXKCgoGCzs7OMv7+/vsjIyNTT09Pj0tLS5NHR + 0ebQ0NDo0NDQ6dHR0erR0dHr0dHR69HR0evS0tLr0dHR69HR0ezR0dHu0dHR8NHR0fHR0dHx0dHR8tHR + 0fLR0dHy0dHR8tLS0vLS0tLy0tLS8tLS0vLS0tLy0tLS8tLS0vLT09Py09PT8tLS0vXS0tL20tLS99LS + 0vfS0tL20tLS9tLS0vbS0tL209PT9tPT0/bT09P209PT9tPT0/bT09P209PT9tPT0/bT09P209PT9tPT + 0/bT09P209PT9tPT0/bT09P209PT9tPT0/bT09P209PT9tPT0/bT09P209PT9tLS0vbS0tL20tLS9tLS + 0vbS0tL30tLS99LS0vbS0tL109PT8tPT0/LT09Py0tLS8tLS0vLS0tLy0tLS8tLS0vLS0tLy0tLS8tHR + 0fLR0dHy0dHR8tHR0fHR0dHx0tLS8NHR0e7R0dHs0dHR69LS0uvS0tLr0dHR69HR0evR0dHq0dHR6dHR + 0efR0dHl0tLS49LS0uPR0dHi0NDQ38jIyMy8vLysr6+vb6GhoU+ioqJNpKSkRqSkpD6kpKQ1pKSkK6Oj + ox+jo6MTo6OjCaSkpAIAAAAAAAAAAAAAAACkpKQBpKSkBaOjowqjo6MPo6OjE6Ojoxijo6Mdo6OjIKCg + oB65ublj2NjY3tzc3P/b29v/2tra/9vb2//b29v/29vb/9vb2//c3Nz/3Nzc/9zc3P/c3Nz/3d3d/93d + 3f/d3d3/3d3d/93d3f/e3t7/3t7e/97e3v/e3t7/3t7e/97e3v/f39//39/f/9/f3//f39//39/f/9/f + 3//f39//4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4eHh/+Hh4f/h4eH/4eHh/+Hh + 4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh + 4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg + 4P/g4OD/39/f/9/f3//f39//39/f/9/f3//f39//39/f/97e3v/e3t7/3t7e/97e3v/e3t7/3t7e/93d + 3f/d3d3/3d3d/93d3f/d3d3/3Nzc/9zc3P/c3Nz/3Nzc/9vb2//b29v/29vb/9vb2//a2tr/2tra/9vb + 2//c3Nz/1tbWzra2tk2hoaEWo6OjFqKiohGioqINqKioCaampgSkpKQBAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAKqqqgGurq4Dq6urBa2trQawsLAE1dXVodvb2//a2tr/2tra/9nZ2f/b29v/29vb/9ra + 2v/a2tr/3Nzc/9zc3P/c3Nz/29vb/93d3f/d3d3/3d3d/9zc3P/c3Nz/3t7e/97e3v/e3t7/3d3d/93d + 3f/f39//39/f/9/f3//f39//3t7e/97e3v/g4OD/4ODg/+Dg4P/g4OD/4ODg/9/f3//f39//39/f/+Hh + 4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg + 4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh + 4f/h4eH/4eHh/+Hh4f/h4eH/39/f/9/f3//f39//4ODg/+Dg4P/g4OD/4ODg/+Dg4P/e3t7/3t7e/9/f + 3//f39//39/f/9/f3//d3d3/3d3d/97e3v/e3t7/3t7e/9zc3P/c3Nz/3d3d/93d3f/d3d3/29vb/9zc + 3P/c3Nz/3Nzc/9ra2v/b29v/29vb/9vb2//Z2dn/2tra/9ra2v/a2tr/29vb/8vLy4IAAAAAuLi4ArS0 + tAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANra + 2q7a2tr/2tra/9nZ2f/Z2dn/29vb/9vb2//a2tr/3Nzc/9zc3P/c3Nz/29vb/9vb2//d3d3/3d3d/93d + 3f/c3Nz/3t7e/97e3v/e3t7/3t7e/93d3f/f39//39/f/9/f3//f39//3t7e/97e3v/g4OD/4ODg/+Dg + 4P/g4OD/4ODg/9/f3//f39//4eHh/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Dg4P/g4OD/4ODg/+Dg + 4P/g4OD/4ODg/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh + 4f/f39//39/f/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/3t7e/97e3v/f39//39/f/9/f3//f39//3d3d/97e + 3v/e3t7/3t7e/97e3v/c3Nz/3d3d/93d3f/d3d3/29vb/9vb2//c3Nz/3Nzc/9ra2v/a2tr/29vb/9vb + 2//Z2dn/2tra/9ra2v/a2tr/2dnZ/9PT05AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADU1NSH2tra/9ra2v/Z2dn/29vb/9vb2//b29v/2tra/9zc + 3P/c3Nz/3Nzc/9vb2//d3d3/3d3d/93d3f/c3Nz/3Nzc/97e3v/e3t7/3t7e/93d3f/d3d3/39/f/9/f + 3//f39//3t7e/97e3v/g4OD/4ODg/+Dg4P/g4OD/4ODg/9/f3//f39//4eHh/+Hh4f/h4eH/4eHh/+Hh + 4f/h4eH/4ODg/+Dg4P/g4OD/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/g4OD/4ODg/+Dg4P/g4OD/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/39/f/9/f3//g4OD/4ODg/+Dg + 4P/g4OD/4ODg/97e3v/e3t7/39/f/9/f3//f39//3d3d/93d3f/e3t7/3t7e/97e3v/c3Nz/3Nzc/93d + 3f/d3d3/3d3d/9vb2//c3Nz/3Nzc/9zc3P/a2tr/29vb/9vb2//Z2dn/2tra/9ra2v/a2tr/2dnZ/9TU + 1FcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1NTUJNra + 2v/a2tr/2dnZ/9vb2//b29v/29vb/9ra2v/c3Nz/3Nzc/9zc3P/b29v/3d3d/93d3f/d3d3/3Nzc/97e + 3v/e3t7/3t7e/97e3v/d3d3/39/f/9/f3//f39//39/f/97e3v/g4OD/4ODg/+Dg4P/g4OD/39/f/9/f + 3//f39//4eHh/+Hh4f/h4eH/4eHh/+Hh4f/g4OD/4ODg/+Dg4P/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh + 4f/h4eH/4eHh/+Hh4f/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/g4OD/4ODg/+Dg + 4P/h4eH/4eHh/+Hh4f/h4eH/4eHh/9/f3//f39//4ODg/+Dg4P/g4OD/4ODg/+Dg4P/e3t7/39/f/9/f + 3//f39//39/f/93d3f/e3t7/3t7e/97e3v/e3t7/3Nzc/93d3f/d3d3/3d3d/9vb2//c3Nz/3Nzc/9zc + 3P/a2tr/29vb/9vb2//Z2dn/2tra/9ra2v/a2tr/2dnZ99PT0wcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADa2tql2tra/9nZ2f/b29v/29vb/9vb2//a2tr/3Nzc/9zc + 3P/c3Nz/29vb/93d3f/d3d3/3d3d/9zc3P/e3t7/3t7e/97e3v/d3d3/3d3d/9/f3//f39//39/f/97e + 3v/e3t7/4ODg/+Dg4P/g4OD/4ODg/9/f3//h4eH/4eHh/+Hh4f/h4eH/4eHh/+Dg4P/g4OD/4ODg/+Li + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Hh4f/h4eH/4eHh/+Hh + 4f/h4eH/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Dg4P/g4OD/4eHh/+Hh4f/h4eH/4eHh/+Hh + 4f/f39//39/f/+Dg4P/g4OD/4ODg/+Dg4P/e3t7/3t7e/9/f3//f39//39/f/93d3f/d3d3/3t7e/97e + 3v/e3t7/3Nzc/93d3f/d3d3/3d3d/9vb2//c3Nz/3Nzc/9zc3P/a2tr/29vb/9vb2//Z2dn/2tra/9ra + 2v/a2tr/2dnZdgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANra + 2vrZ2dn/29vb/9vb2//b29v/2tra/9zc3P/c3Nz/3Nzc/9vb2//d3d3/3d3d/93d3f/c3Nz/3t7e/97e + 3v/e3t7/3d3d/9/f3//f39//39/f/9/f3//e3t7/4ODg/+Dg4P/g4OD/4ODg/9/f3//f39//4eHh/+Hh + 4f/h4eH/4ODg/+Dg4P/g4OD/4uLi/+Li4v/i4uL/4uLi/+Li4v/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh + 4f/h4eH/4uLi/+Li4v/g4OD/4ODg/+Dg4P/g4OD/4eHh/+Hh4f/h4eH/39/f/9/f3//g4OD/4ODg/+Dg + 4P/g4OD/3t7e/9/f3//f39//39/f/9/f3//d3d3/3t7e/97e3v/e3t7/3Nzc/93d3f/d3d3/3d3d/9vb + 2//c3Nz/3Nzc/9zc3P/a2tr/29vb/9vb2//Z2dn/2tra/9ra2v/a2trcAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADa2toz2dnZ/9vb2//b29v/29vb/9ra2v/c3Nz/3Nzc/9zc + 3P/b29v/3d3d/93d3f/d3d3/3Nzc/97e3v/e3t7/3t7e/93d3f/f39//39/f/9/f3//e3t7/3t7e/+Dg + 4P/g4OD/39/f/9/f3//f39//4eHh/+Hh4f/g4OD/4ODg/+Dg4P/i4uL/4uLi/+Li4v/h4eH/4eHh/+Hh + 4f/h4eH/4eHh/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//i4uL/4uLi/+Pj4//j4+P/4+Pj/+Pj4//i4uL/4uLi/+Li4v/j4+P/4+Pj/+Pj4//h4eH/4uLi/+Li + 4v/g4OD/4ODg/+Hh4f/h4eH/4eHh/9/f3//f39//4ODg/+Dg4P/g4OD/3t7e/97e3v/f39//39/f/9/f + 3//d3d3/3t7e/97e3v/e3t7/3Nzc/93d3f/d3d3/3d3d/9vb2//c3Nz/3Nzc/9zc3P/a2tr/29vb/9vb + 2//Z2dn/2tra/9ra2v/a2toNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANra + 2l7Z2dn/29vb/9vb2//a2tr/3Nzc/9zc3P/c3Nz/29vb/93d3f/d3d3/3Nzc/9zc3P/e3t7/3t7e/97e + 3v/d3d3/39/f/9/f3//f39//3t7e/+Dg4P/g4OD/4ODg/9/f3//h4eH/4uLi/+Li4v/i4uL/4eHh/+Hh + 4f/h4eH/4+Pj/+Pj4//j4+P/4+Pj/+Li4v/i4uL/4uLi/+Li4v/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/5eXl/+Pj4//k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/i4uL/4uLi/+Li4v/i4uL/4uLi/+Tk5P/k5OT/4+Pj/+Pj4//j4+P/4+Pj/+Xl + 5f/l5eX/5eXl/+Pj4//k5OT/4uLi/+Li4v/j4+P/4+Pj/+Pj4//i4uL/4ODg/+Dg4P/h4eH/4eHh/+Hh + 4f/f39//4ODg/+Dg4P/g4OD/4ODg/97e3v/f39//39/f/9/f3//d3d3/3t7e/97e3v/e3t7/3Nzc/93d + 3f/d3d3/3d3d/9vb2//c3Nz/3Nzc/9zc3P/a2tr/29vb/9vb2//Z2dn/2tra/9ra2jQAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2dnZXdvb2//b29v/2tra/9zc3P/c3Nz/3Nzc/9vb + 2//d3d3/3d3d/9zc3P/e3t7/3t7e/97e3v/d3d3/3d3d/9/f3//f39//39/f/97e3v/g4OD/4ODg/9/f + 3//f39//4ODg/+Li4v/h4eH/4+Pj/+Li4v/k5OT/5OTk/+Tk5P/j4+P/4+Pj/+Pj4//j4+P/5eXl/+Xl + 5f/l5eX/5eXl/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/k5OT/5eXl/+Xl5f/j4+P/4+Pj/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/4+Pj/+Xl + 5f/l5eX/5OTk/+Tk5P/m5ub/5ubm/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/m5ub/5OTk/+Pj + 4//k5OT/4uLi/+Pj4//h4eH/4uLi/+Dg4P/h4eH/4eHh/+Hh4f/f39//39/f/+Dg4P/g4OD/4ODg/97e + 3v/f39//39/f/9/f3//d3d3/3t7e/97e3v/e3t7/3Nzc/93d3f/d3d3/3d3d/9vb2//c3Nz/3Nzc/9zc + 3P/a2tr/29vb/9vb2//Z2dn/2traOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADb29td29vb/9ra2v/c3Nz/3Nzc/9zc3P/b29v/3d3d/93d3f/c3Nz/3t7e/97e3v/e3t7/3d3d/9/f + 3//f39//39/f/97e3v/e3t7/4ODg/+Dg4P/f39//4eHh/+Li4v/j4+P/4uLi/+Tk5P/j4+P/5ubm/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5+fn/+fn5//m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/o6Oj/6Ojo/+jo + 6P/n5+f/5+fn/+fn5//n5+f/5+fn/+jo6P/m5ub/5ubm/+fn5//l5eX/5OTk/+Tk5P/l5eX/4+Pj/+Tk + 5P/k5OT/5OTk/+Tk5P/j4+P/4+Pj/+Xl5f/l5eX/5OTk/+Xl5f/n5+f/5ubm/+jo6P/o6Oj/6+vq/+zs + 7P/t7e3/7u7u/+7u7v/t7e3/7e3s/+rq6v/o6Oj/5+fn/+Xl5f/k5OT/4+Pj/+Tk5P/j4+P/4eHh/+Dg + 4P/g4OD/4eHh/+Hh4f/h4eH/39/f/+Dg4P/g4OD/4ODg/97e3v/f39//39/f/9/f3//d3d3/3d3d/97e + 3v/e3t7/3Nzc/93d3f/d3d3/3d3d/9vb2//c3Nz/3Nzc/9zc3P/a2tr/29vb/9vb2//Z2dk7AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANvb213a2tr/3Nzc/9zc3P/c3Nz/29vb/93d + 3f/d3d3/3Nzc/97e3v/e3t7/3t7e/93d3f/f39//39/f/9/f3//e3t7/4ODg/+Dg4P/g4OD/39/f/+Hh + 4f/i4uL/4+Pj/+Pj4//k5OT/6urq/+/v7v/w8PD/8fHx//Hx8f/x8fH/8vLy//Ly8v/y8vL/8vLy//Ly + 8v/y8vL/8vLy//Ly8v/09PP/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//T0 + 8//y8vL/7+/u/+np6f/o6Oj/5+fn/+Xl5f/m5ub/4+Pj/+Pj4//j4+P/4+Pj/+Xl5f/k5OT/5ubm/+Xl + 5f/m5ub/5+fn/+np6f/u7u7/8vLx//T08//Kysv/oKCl/5OTmP91dX3/dnZ9/4mJj/+ZmZ3/wcHE/+rq + 6v/z8/P/7u7u/+np6P/l5eX/5OTk/+Pj4//k5OT/4+Pj/+Li4v/g4OD/4eHh/+Hh4f/h4eH/39/f/+Dg + 4P/g4OD/4ODg/97e3v/e3t7/39/f/9/f3//f39//3d3d/97e3v/e3t7/3Nzc/93d3f/d3d3/3d3d/9vb + 2//c3Nz/3Nzc/9ra2v/b29v/29vb/9vb2zsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA29vbXdra2v/c3Nz/3Nzc/9vb2//d3d3/3d3d/93d3f/c3Nz/3t7e/97e3v/d3d3/39/f/9/f + 3//f39//3t7e/+Dg4P/g4OD/4ODg/9/f3//h4eH/4uLi/+Pj4//j4+P/5ubm//Pz8v+oqKz/V1dg/zMz + P/82NkH/NjZB/zY2Qf82NkH/NjZB/zY2Qf82NkH/NjZB/zY2Qf82NkH/NjZB/zY2Qf82NkH/NjZB/zY2 + Qf82NkH/NjZB/zY2Qf82NkH/NjZB/zY2Qf82NkH/NjZB/zY2Qv9vb3f/2NjZ/+zs7P/o6Oj/5+fn/+bm + 5v/k5OT/5eXl/+Xl5f/k5OT/5ubm/+Xl5f/m5ub/6enp/+rq6v/w8PD/8fHx/5eXm/88PEf/AAAP/wAA + B/8AAAr/AAAM/wAADv8AAA7/AAAM/wAADP8AAAn/AAAH/zAwO/9+foT/4ODh//Ly8v/o6Oj/5eXl/+Tk + 5P/j4+P/4+Pj/+Li4v/g4OD/4eHh/+Hh4f/h4eH/39/f/+Dg4P/g4OD/4ODg/+Dg4P/e3t7/39/f/9/f + 3//f39//3d3d/97e3v/e3t7/3Nzc/93d3f/d3d3/3d3d/9vb2//c3Nz/3Nzc/9ra2v/b29v/29vbOwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADa2tpd3Nzc/9zc3P/b29v/3d3d/93d + 3f/d3d3/3Nzc/97e3v/e3t7/3d3d/9/f3//f39//39/f/97e3v/g4OD/4ODg/+Dg4P/f39//39/f/+Dg + 4P/h4eH/5OTk/+bm5v/y8vH/SUlT/wAABf8AAA//AAAS/wAAE/8AABP/AAAT/wAAE/8AABP/AAAT/wAA + E/8AABP/AAAT/wAAE/8AABP/AAAT/wAAE/8AABP/AAAT/wAAE/8AABP/AAAT/wAAE/8AABP/AAAT/wAA + E/8AABP/AAAS/wAADf8AAAr/xcXI/+vr6//m5ub/5eXl/+bm5v/m5ub/5ubm/+Xl5f/n5+f/6Ojo/+jo + 6P/t7e3/9vb1/4ODif8FBRT/AAAK/wAAEv8BARb/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMD + GP8BARf/AAAS/wAADf8AAAr/U1Nc/+Pj4v/u7u7/5ubm/+bm5v/j4+P/4uLi/+Pj4//g4OD/4eHh/+Hh + 4f/h4eH/39/f/+Dg4P/g4OD/4ODg/+Dg4P/e3t7/39/f/9/f3//f39//3d3d/97e3v/e3t7/3Nzc/93d + 3f/d3d3/3d3d/9vb2//c3Nz/3Nzc/9ra2v/b29s7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAANzc3F3c3Nz/29vb/93d3f/d3d3/3d3d/9zc3P/e3t7/3t7e/93d3f/f39//39/f/9/f + 3//e3t7/4ODg/+Dg4P/g4OD/39/f/+Hh4f/h4eH/4uLi/+Li4v/k5OT/7u7u/2dnb/8AAAn/AQEX/wMD + GP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wAAEf8lJTD/8/Py/+np + 6f/m5ub/5eXl/+Xl5f/l5eX/5ubm/+fn5//o6Oj/7+/v/9DQ0v8cHCn/AAAJ/wEBFf8DAxj/AwMY/wMD + GP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wEBF/8AAA3/AQEP/5iY + nP/19fT/6Ojo/+bm5v/j4+P/4uLi/+Pj4//g4OD/4eHh/+Hh4f/h4eH/39/f/9/f3//g4OD/4ODg/+Dg + 4P/e3t7/39/f/9/f3//d3d3/3t7e/97e3v/e3t7/3Nzc/93d3f/d3d3/3d3d/9vb2//c3Nz/3Nzc/9ra + 2jsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3NzcXdvb2//d3d3/3d3d/93d + 3f/c3Nz/3t7e/97e3v/d3d3/39/f/9/f3//f39//3t7e/+Dg4P/g4OD/4ODg/9/f3//h4eH/4eHh/+Dg + 4P/h4eH/5OTk/+bm5v/09PP/AAAM/wEBFf8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AwMY/wMDGP8DAxj/AQEX/wAAA//29vX/6Ojo/+jo6P/m5ub/5+fn/+bm5v/p6en/6enp//Hx + 8f/BwcP/AAAL/wAAEf8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8BARX/AAAF/2BgaP/09PP/6Ojo/+bm5v/j4+P/4uLi/+Li + 4v/g4OD/4eHh/+Hh4f/h4eH/4eHh/9/f3//g4OD/4ODg/+Dg4P/e3t7/39/f/9/f3//d3d3/3t7e/97e + 3v/e3t7/3Nzc/93d3f/d3d3/29vb/9zc3P/c3Nz/3NzcOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADc3Nxd29vb/93d3f/d3d3/3Nzc/97e3v/e3t7/3t7e/93d3f/f39//39/f/97e + 3v/g4OD/4ODg/+Dg4P/f39//4eHh/+Hh4f/h4eH/4ODg/+Hh4f/k5OT/5ubm/9ra2v8AAAX/AwMY/wMD + GP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8BARf/AAAI//b2 + 9f/o6Oj/5+fn/+jo6P/o6Oj/5+fn/+rq6v/v7+//wMDD/wAADP8BART/AwMY/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AwMY/wMDGP8BARf/AAAU/wAAE/8BART/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMD + GP8BARf/AAAJ/1ZWX//29vX/6Ojo/+Tk5P/k5OT/4+Pj/+Li4v/g4OD/4eHh/+Hh4f/h4eH/4eHh/9/f + 3//g4OD/4ODg/+Dg4P/e3t7/39/f/9/f3//d3d3/3t7e/97e3v/e3t7/3Nzc/93d3f/d3d3/29vb/9zc + 3P/c3Nw7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANvb213d3d3/3d3d/9zc + 3P/e3t7/3t7e/97e3v/d3d3/39/f/9/f3//e3t7/4ODg/+Dg4P/g4OD/39/f/+Hh4f/h4eH/4eHh/+Dg + 4P/i4uL/4+Pj/+Pj4//l5eX/9PT0/wcHFP8BARX/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AwMY/wMDGP8DAxj/AQEX/wAACv9WVl//8PDw/+np6f/n5+f/6Ojo/+fn5//o6Oj/7Ozr/+Dg + 4f8ICBb/AAAT/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8BARX/AAAL/wAACP8eHiv/NTVA/wwM + G/8AAAb/AAAP/wEBF/8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8BARf/AAAH/4uLkP/w8PD/5ubm/+Xl + 5f/i4uL/4eHh/+Li4v/g4OD/4eHh/+Hh4f/h4eH/4eHh/9/f3//g4OD/4ODg/97e3v/f39//39/f/9/f + 3//d3d3/3t7e/97e3v/e3t7/3Nzc/93d3f/d3d3/29vb/9zc3DsAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA3d3dXd3d3f/d3d3/3Nzc/97e3v/e3t7/3d3d/9/f3//f39//39/f/97e + 3v/g4OD/4ODg/9/f3//h4eH/4eHh/+Hh4f/h4eH/4ODg/+Li4v/j4+P/4+Pj/+Xl5f/v7+//ZGRs/wAA + Dv8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AQEX/wEBE/8BARP/AAAO/wAADv8AAA7/AAAO/wAA + Dv8AAA7/AAAO/wAADv8AAA7/AAAO/wAADv8AAA7/AAAO/wAADv8AAA7/AAAO/wAADP8AAAP/S0tU/+zs + 7f/q6ur/6enp/+fn5//n5+f/6Ojo/+vr6//4+Pf/Pj5I/wAAD/8DAxj/AwMY/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AAAR/wYGFf+JiY//8fHx//j49//39/b/+vr5/9TU1v9VVV7/AAAF/wEBFv8DAxj/AwMY/wMD + GP8DAxj/AwMY/wMDGP8BARX/AAAI/9nZ2//q6ur/5eXl/+Pj4//j4+P/4eHh/+Li4v/g4OD/4eHh/+Hh + 4f/h4eH/39/f/+Dg4P/g4OD/4ODg/97e3v/f39//39/f/9/f3//d3d3/3t7e/97e3v/c3Nz/3d3d/93d + 3f/d3d3/29vbOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADd3d1d3d3d/9zc + 3P/e3t7/3t7e/93d3f/f39//39/f/9/f3//e3t7/4ODg/+Dg4P/g4OD/39/f/+Hh4f/h4eH/4eHh/+Dg + 4P/i4uL/4eHh/+Pj4//j4+P/5ubm/+jo6P/h4eL/AAAI/wEBFf8DAxj/AwMY/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AQET/wAAC/97e4T/enqC/3p6gP94eID/eXl//3h4gP94eH7/eHh+/3h4fv94eH7/eHh+/3h4 + fv94eH7/eHh+/3h4fv91dX3/kJCW/9TU1v/09PP/6urq/+jo6P/p6en/6enp/+jo6P/p6en/7+/u/7e3 + uv8AAAX/AQEX/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wAAEf8ZGSX/4+Pk//Pz8//s7Oz/6urq/+rq + 6v/s7Oz/7e3t//n5+P+kpKf/AAAH/wEBFv8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8AAA//VFRd//Ly + 8v/m5ub/5eXl/+Li4v/h4eH/4uLi/+Li4v/g4OD/4eHh/+Hh4f/h4eH/39/f/+Dg4P/g4OD/4ODg/97e + 3v/f39//39/f/9/f3//d3d3/3t7e/97e3v/c3Nz/3d3d/93d3f/d3d07AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAN3d3V3c3Nz/3t7e/97e3v/d3d3/39/f/9/f3//f39//3t7e/+Dg + 4P/g4OD/4ODg/9/f3//h4eH/4eHh/+Hh4f/g4OD/4uLi/+Li4v/h4eH/4+Pj/+Tk5P/k5OT/5+fn/+/v + 7/96eoH/AAAI/wEBF/8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AAAQ/zQ0P//9/fz/+fn4//X1 + 9f/19fT/8vLy//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8vLx//Dw8P/v7+//6+vr/+jo + 6P/p6en/6enp/+np6f/o6Oj/6urq/+rq6v/39/f/MzM+/wAAEv8DAxj/AwMY/wMDGP8DAxj/AwMY/wMD + GP8BARX/BQUU/+Tk5P/v7+//6urq/+rq6v/o6Oj/6Ojo/+jo6P/r6+v/6urq//b29v+AgIf/AAAK/wMD + GP8DAxj/AwMY/wMDGP8DAxj/AwMY/wEBF/8AAAb/3Nzd/+np6P/m5ub/4+Pj/+Pj4//h4eH/4uLi/+Li + 4v/g4OD/4eHh/+Hh4f/h4eH/39/f/+Dg4P/g4OD/4ODg/97e3v/f39//39/f/93d3f/e3t7/3t7e/97e + 3v/c3Nz/3d3d/93d3TsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3NzcXd7e + 3v/e3t7/3t7e/93d3f/f39//39/f/97e3v/g4OD/4ODg/+Dg4P/f39//4eHh/+Hh4f/h4eH/4ODg/+Li + 4v/i4uL/4uLi/+Hh4f/j4+P/5OTk/+Pj4//l5eX/6Ojo//Pz8/9GRlD/AAAK/wEBF/8DAxj/AwMY/wMD + GP8DAxj/AwMY/wMDGP8BARf/AAAN/y4uOf/u7u7/8vLy/+3t7f/s7Oz/7Ozs/+rq6v/r6+v/6enp/+np + 6f/p6en/6urq/+jo6P/o6Oj/6Ojo/+jo6P/p6en/5+fn/+fn5//n5+f/5+fn/+jo6P/p6en/7e3t/87O + 0f8AAAX/AQEX/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wAACv+Wlpv/9PTz/+zs7P/q6ur/5+fn/+jo + 6P/o6Oj/5+fn/+jo6P/p6en/7Ozs//n5+f8TEyD/AAAU/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wAA + DP+KipD/7e3t/+Xl5f/l5eX/5OTk/+Hh4f/i4uL/4uLi/+Li4v/g4OD/4eHh/+Hh4f/h4eH/39/f/+Dg + 4P/g4OD/4ODg/97e3v/f39//39/f/93d3f/e3t7/3t7e/9zc3P/d3d3/3d3dOwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADc3Nxd3t7e/97e3v/d3d3/39/f/9/f3//e3t7/4ODg/+Dg + 4P/g4OD/39/f/+Hh4f/h4eH/4eHh/+Dg4P/i4uL/4uLi/+Li4v/h4eH/4+Pj/+Pj4//i4uL/4+Pj/+bm + 5v/m5ub/6enp//X19P9KSlX/AAAJ/wEBF/8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8BARf/AAAO/xkZ + Jf/X19n/9PT0/+7u7v/r6+v/6+vr/+np6f/q6ur/6Ojo/+jo6P/p6en/5+fn/+fn5//p6en/5+fn/+fn + 5//o6Oj/6Ojo/+fn5//n5+f/6urq/+rq6v/09PP/c3N7/wAADf8DAxj/AwMY/wMDGP8DAxj/AwMY/wMD + GP8BARX/BwcW//n5+v/t7e3/6+vr/+jo6P/o6Oj/5ubm/+bm5v/m5ub/6Ojo/+jo6P/r6+v/8/Py/3l5 + gf8AAA7/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AAAR/0RET//y8vH/5ubm/+Tk5P/k5OT/4+Pj/+Hh + 4f/i4uL/4uLi/+Li4v/g4OD/4eHh/+Hh4f/h4eH/39/f/+Dg4P/g4OD/3t7e/9/f3//f39//39/f/93d + 3f/e3t7/3t7e/9zc3P/d3d07AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN7e + 3l3e3t7/3d3d/9/f3//f39//39/f/97e3v/g4OD/4ODg/9/f3//h4eH/4eHh/+Hh4f/g4OD/4uLi/+Li + 4v/i4uL/4eHh/+Pj4//j4+P/4+Pj/+Li4v/k5OT/5eXl/+bm5v/m5ub/6enp//r6+f9lZW7/AAAF/wEB + Fv8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AAAR/wAAC/+trbH/+fn4/+3t7f/q6ur/6enp/+rq + 6v/o6Oj/6enp/+fn5//n5+f/6enp/+fn5//o6Oj/6Ojo/+jo6P/n5+f/6enp/+np6f/p6en/7Ozs//j4 + +P8bGyn/AAAU/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wAAEP9UVF7/9fX1/+zs7P/q6ur/5+fn/+jo + 6P/m5ub/5+fn/+fn5//m5ub/5+fn/+np6f/v7+7/tbW5/wAACf8DAxj/AwMY/wMDGP8DAxj/AwMY/wMD + GP8AABT/GBgm//X19P/o6Oj/5OTk/+Tk5P/i4uL/4+Pj/+Hh4f/i4uL/4uLi/+Li4v/g4OD/4eHh/+Hh + 4f/h4eH/39/f/+Dg4P/g4OD/3t7e/9/f3//f39//3d3d/97e3v/e3t7/3t7e/9zc3DsAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3t7eXd7e3v/d3d3/39/f/9/f3//e3t7/4ODg/+Dg + 4P/g4OD/39/f/+Hh4f/h4eH/4ODg/+Li4v/i4uL/4uLi/+Hh4f/j4+P/4+Pj/+Pj4//i4uL/5OTk/+Tk + 5P/j4+P/5OTk/+Xl5f/o6Oj/6urq//f39/+Hh47/AAAG/wEBFf8DAxj/AwMY/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AQEV/wAABP9mZm//+vr5/+7u7v/q6ur/6enp/+rq6v/o6Oj/6enp/+np6f/p6en/5+fn/+jo + 6P/o6Oj/6Ojo/+fn5//p6en/6Ojo/+np6f/s7Oz/5+fn/wAABf8BARf/AwMY/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AAAO/4GBiP/z8/P/6urq/+jo6P/o6Oj/5ubm/+fn5//n5+f/5ubm/+jo6P/n5+f/6urq/+3t + 7f/a2tv/AAAI/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wEBFv8AAAv/9/f2/+np6f/m5ub/4+Pj/+Li + 4v/j4+P/4+Pj/+Hh4f/i4uL/4uLi/+Li4v/g4OD/4eHh/+Hh4f/f39//4ODg/+Dg4P/g4OD/3t7e/9/f + 3//f39//3d3d/97e3v/e3t7/3t7eOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADe3t5d3d3d/9/f3//f39//3t7e/+Dg4P/g4OD/4ODg/9/f3//h4eH/4eHh/+Hh4f/g4OD/4uLi/+Li + 4v/h4eH/4+Pj/+Pj4//j4+P/4+Pj/+Li4v/k5OT/5OTk/+Pj4//l5eX/5ubm/+fn5//n5+f/6urq//X1 + 9P+mpqr/AAAM/wAAE/8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AQEX/wAACv8kJDH/29vd//T0 + 8//t7e3/6urq/+np6f/o6Oj/6enp/+np6f/n5+f/6Ojo/+jo6P/o6Oj/5+fn/+np6f/o6Oj/6+vr//Dw + 8P+rq6//AAAK/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8AAAz/m5ug//Ly8f/s7Oz/6urq/+fn + 5//m5ub/5+fn/+fn5//m5ub/6Ojo/+np6f/p6en/7e3t/9nZ2v8AAAj/AwMY/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AwMY/wAABf/29vX/6enp/+Xl5f/l5eX/4uLi/+Pj4//j4+P/4eHh/+Li4v/i4uL/4uLi/+Dg + 4P/h4eH/4eHh/+Hh4f/f39//4ODg/+Dg4P/e3t7/39/f/9/f3//f39//3d3d/97e3v/e3t47AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN7e3l3d3d3/39/f/9/f3//e3t7/4ODg/+Dg + 4P/f39//4eHh/+Hh4f/h4eH/4ODg/+Li4v/i4uL/4uLi/+Hh4f/j4+P/4+Pj/+Pj4//i4uL/5OTk/+Tk + 5P/k5OT/4+Pj/+Xl5f/m5ub/5eXl/+fn5//n5+f/6enp//Ly8v/ExMf/CQkW/wAAEf8DAxj/AwMY/wMD + GP8DAxj/AwMY/wMDGP8DAxj/AQEX/wAAEf8AAAz/mpqf//v7+v/t7e3/7Ozs/+np6f/o6Oj/6Ojo/+np + 6f/n5+f/5+fn/+fn5//n5+f/6Ojo/+np6f/s7Oz/8/Py/4iIj/8AAAz/AwMY/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AwMY/wAADP+Pj5X/9PTz/+vr6//p6en/6enp/+jo6P/m5ub/5ubm/+bm5v/o6Oj/6Ojo/+vr + 6//u7u7/0tLV/wAACP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8BARb/AAAP//f39v/p6en/5eXl/+Xl + 5f/k5OT/4uLi/+Pj4//j4+P/4eHh/+Li4v/i4uL/4uLi/+Dg4P/h4eH/4eHh/+Hh4f/f39//4ODg/+Dg + 4P/e3t7/39/f/9/f3//d3d3/3t7e/97e3jsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA3d3dXd/f3//f39//3t7e/+Dg4P/g4OD/4ODg/9/f3//h4eH/4eHh/+Dg4P/i4uL/4uLi/+Li + 4v/h4eH/4+Pj/+Pj4//j4+P/4uLi/+Tk5P/k5OT/5OTk/+Pj4//l5eX/5eXl/+Tk5P/k5OT/5eXl/+bm + 5v/p6en/6enp/+/v7//e3t//HBwo/wAADf8BARf/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wEB + Ff8AAAX/TExW//Ly8v/w8PD/6+vr/+vr6//p6en/6urq/+rq6v/o6Oj/6enp/+np6f/q6ur/6+vr/+vr + 6//09PT/Z2dv/wAADv8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AAAP/2Jiav/29vX/7e3t/+rq + 6v/q6ur/6enp/+fn5//o6Oj/6Ojo/+fn5//o6Oj/6urq//Ly8f+hoaf/AAAK/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AwMY/wAAFP8hIS3/9fX1/+fn5//l5eX/5eXl/+Tk5P/i4uL/4+Pj/+Pj4//j4+P/4eHh/+Li + 4v/i4uL/4uLi/+Dg4P/h4eH/4eHh/9/f3//g4OD/4ODg/+Dg4P/e3t7/39/f/9/f3//d3d3/3t7eOwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADf399d39/f/9/f3//e3t7/4ODg/+Dg + 4P/f39//4eHh/+Hh4f/h4eH/4ODg/+Li4v/i4uL/4eHh/+Pj4//j4+P/4+Pj/+Li4v/k5OT/5OTk/+Tk + 5P/j4+P/5eXl/+Xl5f/l5eX/5eXl/+Tk5P/m5ub/5+fn/+bm5v/n5+f/6enp/+7u7f/x8fH/R0dR/wAA + CP8BARb/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wEBF/8AAA3/FBQi/8/P0v/29vX/7Ozs/+zs + 7P/r6+v/6enp/+rq6v/o6Oj/6Ojo/+rq6v/r6+v/6+vr//X19P9UVF7/AAAR/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AwMY/wMDGP8AABT/EBAd//r6+//u7u7/6+vr/+vr6//q6ur/6Ojo/+np6f/o6Oj/6Ojo/+vr + 6//t7e3/+Pj3/1RUXv8AAA//AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AAAR/1FRWv/y8vH/5+fn/+Xl + 5f/l5eX/4+Pj/+Tk5P/i4uL/4+Pj/+Pj4//j4+P/4eHh/+Li4v/i4uL/4ODg/+Hh4f/h4eH/4eHh/9/f + 3//g4OD/4ODg/97e3v/f39//39/f/93d3f/e3t47AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAN/f313f39//3t7e/+Dg4P/g4OD/39/f/+Hh4f/h4eH/4eHh/+Dg4P/i4uL/4uLi/+Li + 4v/h4eH/4+Pj/+Pj4//i4uL/5OTk/+Tk5P/k5OT/5OTk/+Pj4//l5eX/5eXl/+Xl5f/k5OT/5ubm/+bm + 5v/l5eX/5+fn/+jo6P/p6en/6enp/+zs7P/6+vn/e3uC/wAABv8AABP/AwMY/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AwMY/wMDGP8AABH/AAAJ/5KSmP/7+/r/7u7u/+vr6//r6+v/6enp/+rq6v/q6ur/6enp/+vr + 6//r6+v/+Pj3/zU1QP8AABL/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8AAAr/j4+V//f3 + 9//u7u7/6+vr/+rq6v/p6en/6enp/+vr6//s7Oz/6+vr//Dw7//c3N3/AAAL/wEBF/8DAxj/AwMY/wMD + GP8DAxj/AwMY/wMDGP8AAAr/lpaa/+7u7f/o6Oj/5eXl/+Xl5f/j4+P/5OTk/+Li4v/j4+P/4+Pj/+Pj + 4//h4eH/4uLi/+Li4v/i4uL/4ODg/+Hh4f/h4eH/39/f/+Dg4P/g4OD/4ODg/97e3v/f39//39/f/93d + 3TsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA39/fXd/f3//e3t7/4ODg/+Dg + 4P/f39//4eHh/+Hh4f/g4OD/4uLi/+Li4v/i4uL/4eHh/+Pj4//j4+P/4+Pj/+Li4v/k5OT/5OTk/+Tk + 5P/j4+P/5eXl/+Xl5f/l5eX/5OTk/+bm5v/m5ub/5ubm/+bm5v/l5eX/6Ojo/+fn5//p6en/6enp/+rq + 6v/39/b/uLi8/wkJFv8AAA3/AQEX/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8BARX/AAAF/1RU + Xv/5+fj/7u7u/+vr6//r6+v/6enp/+np6f/p6en/6urq/+vr6//4+Pf/NzdC/wAAE/8DAxj/AwMY/wMD + GP8DAxj/AwMY/wMDGP8DAxj/AwMY/wEBFf8AAAr/xcXH//j49//u7u7/7Ozs/+vr6//s7Oz/6+vr/+zs + 7P/x8fH/9fX1/yYmMv8AABH/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AQEV/wAADf/u7u7/6enp/+bm + 5v/m5ub/5eXl/+Pj4//k5OT/5OTk/+Li4v/j4+P/4+Pj/+Pj4//h4eH/4uLi/+Li4v/i4uL/4ODg/+Hh + 4f/h4eH/39/f/+Dg4P/g4OD/3t7e/9/f3//f39//39/fOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADf399d3t7e/+Dg4P/g4OD/39/f/+Hh4f/h4eH/4eHh/+Dg4P/i4uL/4uLi/+Hh + 4f/j4+P/4+Pj/+Pj4//i4uL/5OTk/+Tk5P/k5OT/4+Pj/+Xl5f/l5eX/5eXl/+Tk5P/m5ub/5ubm/+bm + 5v/m5ub/5eXl/+fn5//m5ub/6Ojo/+fn5//o6Oj/6enp/+zs7P/w8PD/6urq/0xMVf8AAAX/AAAU/wMD + GP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8BARf/AAAJ/0ZGUf/6+vr/7u7u/+vr6//q6ur/6+vr/+rq + 6v/s7Oz/7e3t//j49/83N0L/AAAT/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wEB + FP8AAAr/hoaM//f3+P/39/b/8vLy//Ly8f/09PT/+vr6/9TU1v8mJjL/AAAO/wEBF/8DAxj/AwMY/wMD + GP8DAxj/AwMY/wMDGP8AAA3/ZWVu//Pz8v/p6en/5+fn/+bm5v/l5eX/4+Pj/+Tk5P/k5OT/5OTk/+Li + 4v/j4+P/4+Pj/+Pj4//h4eH/4uLi/+Li4v/g4OD/4eHh/+Hh4f/f39//4ODg/+Dg4P/g4OD/3t7e/9/f + 3//f3987AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN/f313e3t7/4ODg/+Dg + 4P/f39//4eHh/+Hh4f/g4OD/4uLi/+Li4v/i4uL/4eHh/+Pj4//j4+P/4uLi/+Tk5P/k5OT/5OTk/+Pj + 4//l5eX/5eXl/+Xl5f/l5eX/5OTk/+bm5v/m5ub/5ubm/+Xl5f/n5+f/5ubm/+bm5v/o6Oj/5+fn/+np + 6f/o6Oj/6enp/+rq6v/t7e3/+fn4/7Cwtf8JCRb/AAAP/wEBF/8DAxj/AwMY/wMDGP8DAxj/AwMY/wMD + GP8BARf/AAAK/0tLVf/9/fz/7u7u/+vr6//s7Oz/7Ozs/+vr6//s7Oz/+Pj3/zY2Qf8AABP/AwMY/wMD + GP8DAxj/AwMY/wMDGP8DAxj/AQEW/wMDGP8DAxj/AwMY/wEBFf8AAAr/DAwZ/2Jia/+Skpj/m5uf/4eH + jv87O0b/AAAE/wAAEf8BARf/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AQEU/wUFE//n5+f/6+vr/+fn + 5//l5eX/5ubm/+Xl5f/j4+P/5OTk/+Tk5P/k5OT/4uLi/+Pj4//j4+P/4+Pj/+Hh4f/i4uL/4uLi/+Li + 4v/g4OD/4eHh/+Hh4f/f39//4ODg/+Dg4P/e3t7/39/f/9/f3zsAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA3t7eXeDg4P/g4OD/39/f/+Hh4f/h4eH/4eHh/+Dg4P/i4uL/4uLi/+Hh + 4f/j4+P/4+Pj/+Pj4//i4uL/5OTk/+Tk5P/k5OT/4+Pj/+Xl5f/l5eX/5eXl/+Tk5P/m5ub/5eXl/+Xl + 5f/l5eX/5+fn/+jo6P/o6Oj/6Ojo/+jo6P/n5+f/6enp/+np6f/o6Oj/6urq/+rq6v/t7e3/8vLy/+jo + 6P81NUL/AAAK/wEBF/8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8BARf/AAAI/4GBh//39/b/7Ozs/+vr + 6//s7Oz/6+vr/+zs7P/39/f/PT1J/wAAEf8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8BART/AQET/wMD + GP8DAxj/AwMY/wMDGP8AABX/AAAP/wAADP8AAAz/AAAM/wAAEv8BARf/AwMY/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AwMY/wEBFv8AAAL/qqqv/+/v7//q6ur/6Ojo/+Xl5f/k5OT/5eXl/+Xl5f/j4+P/5OTk/+Tk + 5P/k5OT/4uLi/+Pj4//j4+P/4+Pj/+Hh4f/i4uL/4uLi/+Dg4P/h4eH/4eHh/9/f3//g4OD/4ODg/+Dg + 4P/e3t7/39/fOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OBd4ODg/+Dg + 4P/f39//4eHh/+Hh4f/g4OD/4uLi/+Li4v/i4uL/4eHh/+Pj4//j4+P/4uLi/+Tk5P/k5OT/5OTk/+Pj + 4//l5eX/5eXl/+Xl5f/k5OT/5ubm/+Xl5f/n5+f/5ubm/+jo6P/o6Oj/5+fn/+fn5//n5+f/5+fn/+np + 6f/p6en/6enp/+np6f/o6Oj/6enp/+rq6v/r6+v/7+/v//v7+v9YWGP/AAAJ/wEBF/8DAxj/AwMY/wMD + GP8DAxj/AwMY/wMDGP8BARb/AAAF/8fHyf/x8fH/7Ozs/+vr6//t7e3/7u7u//b29f9YWGD/AAAQ/wMD + GP8DAxj/AwMY/wMDGP8DAxj/AwMY/wEBFf8AAA7/AAAS/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8BARb/AAAD/4iIj//29vX/6enp/+fn + 5//m5ub/5+fn/+Tk5P/l5eX/5eXl/+Xl5f/j4+P/5OTk/+Tk5P/k5OT/4uLi/+Pj4//j4+P/4eHh/+Li + 4v/i4uL/4uLi/+Dg4P/h4eH/4eHh/9/f3//g4OD/4ODg/97e3v/f3987AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAODg4F3g4OD/39/f/+Hh4f/h4eH/4eHh/+Dg4P/i4uL/4uLi/+Hh + 4f/j4+P/4+Pj/+Pj4//i4uL/5OTk/+Tk5P/k5OT/4+Pj/+Xl5f/l5eX/5eXl/+Tk5P/l5eX/5+fn/+bm + 5v/p6en/6Ojo/+jo6P/o6Oj/6Ojo/+rq6v/o6Oj/6Ojo/+np6f/p6en/6enp/+jo6P/q6ur/6enp/+vr + 6//r6+v/7u7u//7+/f9dXWb/AAAK/wEBF/8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8AABL/HR0q//n5 + +P/u7u7/7Ozs/+zs7P/u7u7/9fX0/3Fxef8AAA7/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AAAU/ycn + Mv8dHSr/AAAN/wEBF/8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AAAS/wAABf+Skpf/9vb2/+rq6v/o6Oj/5ubm/+fn5//l5eX/5OTk/+Xl5f/l5eX/5eXl/+Pj + 4//k5OT/5OTk/+Tk5P/i4uL/4+Pj/+Pj4//j4+P/4eHh/+Li4v/i4uL/4ODg/+Hh4f/h4eH/39/f/+Dg + 4P/g4OD/3t7e/9/f3zsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODgXeDg + 4P/f39//4eHh/+Hh4f/g4OD/4uLi/+Li4v/i4uL/4eHh/+Pj4//j4+P/4uLi/+Tk5P/k5OT/5OTk/+Pj + 4//l5eX/5eXl/+Xl5f/k5OT/5ubm/+fn5//o6Oj/6enp/+rq6v/w8O//8vLx//Ly8f/y8vH/6+vr/+vr + 6//q6ur/6Ojo/+jo6P/o6Oj/6enp/+jo6P/q6ur/6enp/+vr6//r6+v/7+/v//z8+/8yMj//AAAQ/wMD + GP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8AAAj/oqKm//Ly8v/t7e3/7u7u/+3t7f/19fT/jIyS/wAA + DP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8AABT/GBgl//////9WVl//AAAD/wAAEP8BARf/AwMY/wMD + GP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8BARf/AAAS/wAACf8dHSn/xsbI//T08//s7Oz/6enp/+np + 6f/m5ub/5eXl/+bm5v/m5ub/5OTk/+Xl5f/l5eX/5eXl/+Pj4//k5OT/5OTk/+Tk5P/i4uL/4+Pj/+Pj + 4//h4eH/4uLi/+Li4v/i4uL/4ODg/+Hh4f/h4eH/39/f/+Dg4P/g4OD/3t7eOwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OBd4ODg/9/f3//h4eH/4eHh/+Dg4P/i4uL/4uLi/+Hh + 4f/j4+P/4+Pj/+Pj4//i4uL/5OTk/+Tk5P/j4+P/5eXl/+Xl5f/l5eX/5OTk/+bm5v/n5+f/5ubm/+np + 6f/t7ez/6enp/4SEi/9TU17/UFBZ/3NzfP/j4+P/7+/v/+rq6v/p6en/6urq/+rq6v/o6Oj/6enp/+jo + 6P/q6ur/6enp/+zs7P/s7Oz/8PDw/+Hh4v8AAAn/AQEV/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wAA + Ev85OUT/+fn4/+/v7//t7e3/7e3t//Hx8f+6ur3/AAAJ/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wEB + F/8AAAf//f3+//39/P/CwsX/QEBM/wAABv8AAAr/AAAO/wAAEf8AABP/AAAT/wAAEf8AAA7/AAAM/wAA + BP8nJzT/mZmf//n5+P/w8PD/6+vr/+rq6v/q6ur/6enp/+bm5v/l5eX/5ubm/+bm5v/m5ub/5OTk/+Xl + 5f/l5eX/4+Pj/+Tk5P/k5OT/5OTk/+Li4v/j4+P/4+Pj/+Pj4//h4eH/4uLi/+Li4v/g4OD/4eHh/+Hh + 4f/f39//4ODg/+Dg4P/g4OA7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODg + 4F3f39//4eHh/+Hh4f/h4eH/4ODg/+Li4v/i4uL/4eHh/+Pj4//j4+P/4uLi/+Tk5P/k5OT/5OTk/+Pj + 4//l5eX/5eXl/+Xl5f/k5OT/5eXl/+fn5//n5+f/6+vq/97e4P8PDx3/AAAL/wAAEP8AABH/AAAM/wAA + Df/Nzc//7+/v/+rq6v/p6en/6urq/+jo6P/p6en/6enp/+jo6P/r6+v/6urq/+vr6//t7e3/+Pj3/2Vl + bf8AAA//AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AQEX/wAACv/19fT/7+/v/+3t7f/t7e3/7+/v/+7u + 7v8AAAT/AQEX/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wAAB//R0dP/9PTz//Pz8//5+fj/6enp/5+f + pf9qanL/Tk5Z/zU1Qf82NkH/SkpU/2dnb/+Tk5r/3Nzd//r6+v/09PT/7+/v/+7u7v/t7e3/6urq/+rq + 6v/p6en/6Ojo/+Xl5f/m5ub/5ubm/+bm5v/k5OT/5eXl/+Xl5f/l5eX/4+Pj/+Tk5P/k5OT/5OTk/+Li + 4v/j4+P/4+Pj/+Hh4f/i4uL/4uLi/+Dg4P/h4eH/4eHh/+Hh4f/f39//4ODg/+Dg4DsAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODgXd/f3//h4eH/4eHh/+Dg4P/i4uL/4uLi/+Hh + 4f/j4+P/4+Pj/+Pj4//i4uL/5OTk/+Tk5P/j4+P/5eXl/+Xl5f/l5eX/5OTk/+bm5v/n5+f/5ubm/+jo + 6P/09PP/RkZQ/wAADv8DAxj/AwMY/wMDGP8DAxj/AAAR/xgYJP/5+fj/7e3t/+rq6v/p6en/6urq/+jo + 6P/o6Oj/6urq/+vr6//q6ur/6+vr/+7u7v/y8vL/wcHD/wAACf8DAxj/AwMY/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AAAI/8rKy//x8fH/7e3t/+3t7f/v7+//+vr5/yAgLv8AABT/AwMY/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AAAM/5uboP/19fT/7+/v/+/v7//u7u7/8fHx//T09P/29vb/+Pj3//b29v/19fX/9fX1//Pz + 8//x8fH/8PDw//Ly8v/19fX/9fX0//Ly8v/s7Oz/6enp/+jo6P/n5+f/5+fn/+Xl5f/m5ub/5ubm/+bm + 5v/k5OT/5eXl/+Xl5f/j4+P/5OTk/+Tk5P/k5OT/4uLi/+Pj4//j4+P/4eHh/+Li4v/i4uL/4uLi/+Dg + 4P/h4eH/4eHh/9/f3//g4OD/4ODgOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADg4OBd39/f/+Hh4f/h4eH/4ODg/+Li4v/i4uL/4eHh/+Pj4//j4+P/4uLi/+Tk5P/k5OT/5OTk/+Pj + 4//l5eX/5eXl/+Xl5f/k5OT/5ubm/+fn5//o6Oj/6urq//b29v8ICBX/AQEW/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AAAJ/5CQl//y8vL/6+vr/+vr6//p6en/6urq/+rq6v/p6en/6+vr/+rq6v/r6+v/7u7u//Dw + 8P/z8/P/AAAF/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8AAAn/urq8//Hx8f/t7e3/7u7u/+3t + 7f/29vb/bGx0/wAADv8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8AABD/WVli//n5+f/w8PD/7e3t/+7u + 7v/s7Oz/7e3t/+zs7P/s7Oz/7Ozs/+zs7P/t7e3/7+/v//Dw8P/7+/r/vb3B/2lpcf9UVF3/fX2E/+Pj + 4//v7+//6enp/+np6f/o6Oj/5eXl/+bm5v/m5ub/5ubm/+Tk5P/l5eX/5eXl/+Xl5f/j4+P/5OTk/+Tk + 5P/i4uL/4+Pj/+Pj4//j4+P/4eHh/+Li4v/i4uL/4ODg/+Hh4f/h4eH/39/f/+Dg4P/g4OA7AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN/f313h4eH/4eHh/+Dg4P/i4uL/4uLi/+Li + 4v/h4eH/4+Pj/+Pj4//i4uL/5OTk/+Tk5P/k5OT/4+Pj/+Xl5f/l5eX/5OTk/+bm5v/l5eX/5+fn/+fn + 5//p6en/+Pj3/wAACv8BARf/AwMY/wMDGP8DAxj/AwMY/wMDGP8AABT/Hh4s//39/P/u7u7/6+vr/+rq + 6v/r6+v/6+vr/+vr6//r6+v/6urq/+vr6//t7e3/8PDw/+vr7f8AAAb/AwMY/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AwMY/wAACf+6urz/8fHx/+3t7f/u7u7/7e3t//Hx8f+/v8L/AAAG/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AwMY/wEBFf8HBxb/+fn4//Dw8P/t7e3/7Ozs/+3t7f/r6+v/6+vr/+3t7f/t7e3/7Ozs/+7u + 7v/v7+//8fHx/z4+Sv8AAAX/AAAO/wAAEf8AAAz/AAAO/76+wv/t7e3/6Ojo/+fn5//n5+f/5eXl/+bm + 5v/m5ub/5OTk/+Xl5f/l5eX/5eXl/+Pj4//k5OT/5OTk/+Tk5P/i4uL/4+Pj/+Pj4//h4eH/4uLi/+Li + 4v/g4OD/4eHh/+Hh4f/h4eH/39/f/+Dg4DsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA39/fXeHh4f/h4eH/4ODg/+Li4v/i4uL/4eHh/+Pj4//j4+P/4+Pj/+Li4v/k5OT/5OTk/+Pj + 4//l5eX/5eXl/+Xl5f/k5OT/5ubm/+Xl5f/m5ub/6enp/+np6f/29vb/ISEt/wAAFP8DAxj/AwMY/wMD + GP8DAxj/AwMY/wMDGP8AAAb/uLi7//Ly8v/s7Oz/7e3t/+zs7P/q6ur/6urq/+rq6v/r6+v/7u7u/+7u + 7v/09PT/rq6x/wAACv8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AAAI/8rKy//x8fH/7e3t/+7u + 7v/t7e3/7u7u//7+/f8SEh//AAAU/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wAACf+dnaH/9vb2/+7u + 7v/u7u7/7Ozs/+vr6//r6+v/7e3t/+3t7f/s7Oz/7e3t//n5+f9QUFv/AAAL/wEBF/8DAxj/AwMY/wMD + GP8AABL/ExMh//f39v/q6ur/6enp/+jo6P/l5eX/5ubm/+bm5v/m5ub/5OTk/+Xl5f/l5eX/5eXl/+Pj + 4//k5OT/5OTk/+Li4v/j4+P/4+Pj/+Pj4//h4eH/4uLi/+Li4v/g4OD/4eHh/+Hh4f/f39//4ODgOwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADh4eFd4eHh/+Hh4f/g4OD/4uLi/+Li + 4v/h4eH/4+Pj/+Pj4//i4uL/5OTk/+Tk5P/k5OT/4+Pj/+Xl5f/l5eX/5eXl/+Tk5P/m5ub/5eXl/+fn + 5//n5+f/6urq//Pz8v9VVV7/AAAP/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wAAEf8rKzf//f38/+/v + 7//t7e3/7Ozs/+vr6//r6+v/7e3t/+7u7v/u7u7/8fHx//39/f8sLDj/AAAR/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AwMY/wEBF/8AAAn/9vb1/+/v7//t7e3/7u7u/+7u7v/v7+//9fX0/4mJkP8AAAv/AwMY/wMD + GP8DAxj/AwMY/wMDGP8DAxj/AAAU/w4OHP/v7+//8vLy/+7u7v/t7e3/7Ozs/+3t7f/s7Oz/7Ozs/+/v + 7//y8vL/z8/R/wAAA/8BARf/AwMY/wMDGP8DAxj/AwMY/wMDGP8AAAX/1tbW/+vr6//p6en/6Ojo/+fn + 5//l5eX/5ubm/+bm5v/k5OT/5eXl/+Xl5f/l5eX/4+Pj/+Tk5P/k5OT/4uLi/+Pj4//j4+P/4+Pj/+Hh + 4f/i4uL/4uLi/+Dg4P/h4eH/4eHh/9/f3//g4OA7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAOHh4V3h4eH/4eHh/+Dg4P/i4uL/4uLi/+Hh4f/j4+P/4+Pj/+Li4v/k5OT/5OTk/+Tk + 5P/j4+P/5eXl/+Xl5f/k5OT/5ubm/+bm5v/l5eX/5+fn/+fn5//q6ur/7+/v/7CwtP8AAAf/AwMY/wMD + GP8DAxj/AwMY/wMDGP8DAxj/AQEX/wAAC/9ISFL/+vr5//Pz8//v7+//7e3t/+7u7v/t7e3/8PDw//T0 + 9P/9/f3/Y2Nr/wAACv8BARf/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AAAQ/0ZGUP/4+Pf/7+/v/+7u + 7v/s7Oz/7Ozs/+7u7v/v7+//+Pj3/wkJFv8AABX/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AAAO/y4u + Of/39/f/9PT0//Dw8P/t7e3/7e3t/+3t7f/v7+//8fHx/////v8uLjv/AAAR/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AwMY/wAABf/b29v/6+vq/+np6f/o6Oj/5+fn/+Xl5f/m5ub/5ubm/+bm5v/k5OT/5eXl/+Xl + 5f/j4+P/5OTk/+Tk5P/k5OT/4uLi/+Pj4//j4+P/4eHh/+Li4v/i4uL/4ODg/+Hh4f/h4eH/39/f/+Dg + 4DsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4eHhXeHh4f/g4OD/4uLi/+Li + 4v/h4eH/4+Pj/+Pj4//j4+P/4uLi/+Tk5P/k5OT/4+Pj/+Xl5f/l5eX/5eXl/+Tk5P/m5ub/5ubm/+Xl + 5f/n5+f/6Ojo/+jo6P/r6+v/+fn5/yEhLv8AABL/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AQEX/wAA + DP8fHyv/sbG1//v7+//5+fj/9/f3//r6+f//////urq+/ysrNv8AAAr/AQEX/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AwMY/wEBF/8AAAb/sLCz//Pz8//t7e3/7Ozs/+3t7f/t7e3/7Ozs/+3t7f/09PT/oKCl/wAA + Bf8BARf/AwMY/wMDGP8DAxj/AwMY/wMDGP8BARf/AAAO/xUVIv+/v8L//v79//f39v/09PT/9PT0//r6 + +f/m5uf/NzdC/wAADP8BARf/AwMY/wMDGP8DAxj/AwMY/wMDGP8AABT/Dg4b//n5+P/p6en/6enp/+jo + 6P/n5+f/5eXl/+bm5v/m5ub/5ubm/+Tk5P/l5eX/5eXl/+Xl5f/j4+P/5OTk/+Tk5P/i4uL/4+Pj/+Pj + 4//h4eH/4uLi/+Li4v/i4uL/4ODg/+Hh4f/h4eH/39/fOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADh4eFd4eHh/+Dg4P/i4uL/4uLi/+Hh4f/j4+P/4+Pj/+Pj4//i4uL/5OTk/+Tk + 5P/j4+P/5eXl/+Xl5f/l5eX/5OTk/+bm5v/m5ub/5eXl/+fn5//o6Oj/6enp/+np6f/u7u7/vLy//wAA + Av8BARf/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wAAEv8AAAn/BAQS/zMzP/9SUlv/NzdE/wQE + Ev8AAAn/AAAR/wEBF/8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AAAQ/y0tOv/9/f3/7u7u/+7u + 7v/s7Oz/7e3t/+3t7f/s7Oz/7u7u/+7u7v/9/f3/Q0NN/wAADf8DAxj/AwMY/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AAAT/wAABf8uLjn/e3uC/5ubof+Pj5X/VVVe/wAACf8AABD/AQEX/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AwMY/wAAC/9/f4b/8fHx/+rq6v/n5+f/6Ojo/+fn5//l5eX/5ubm/+bm5v/m5ub/5OTk/+Xl + 5f/l5eX/5eXl/+Pj4//k5OT/5OTk/+Li4v/j4+P/4+Pj/+Pj4//h4eH/4uLi/+Li4v/g4OD/4eHh/+Hh + 4f/h4eE7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOHh4V3h4eH/4ODg/+Li + 4v/i4uL/4eHh/+Pj4//j4+P/4uLi/+Tk5P/k5OT/5OTk/+Pj4//l5eX/5eXl/+Tk5P/m5ub/5ubm/+bm + 5v/l5eX/5+fn/+bm5v/n5+f/6Ojo/+vr6//29vX/c3N7/wAAB/8BARf/AwMY/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AwMY/wMDGP8BARb/AAAT/wAAEf8AABL/AQEW/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AwMY/wAAFP8AAAr/3Nzd//Dw8P/u7u7/7Ozs/+3t7f/r6+v/6+vr/+3t7f/s7Oz/7u7u/+/v + 7//09PX/GBgl/wAAD/8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AQEX/wAAEv8AAA7/AAAL/wAA + DP8AABD/AQEX/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8AABH/HBwp//Pz9P/s7Oz/6urq/+fn + 5//m5ub/5+fn/+fn5//l5eX/5ubm/+bm5v/m5ub/5OTk/+Xl5f/l5eX/4+Pj/+Tk5P/k5OT/5OTk/+Li + 4v/j4+P/4+Pj/+Hh4f/i4uL/4uLi/+Dg4P/h4eH/4eHh/+Hh4TsAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA4eHhXeHh4f/g4OD/4uLi/+Li4v/h4eH/4+Pj/+Pj4//i4uL/5OTk/+Tk + 5P/j4+P/5eXl/+Xl5f/l5eX/5OTk/+bm5v/m5ub/5ubm/+Xl5f/n5+f/5ubm/+jo6P/p6en/6enp/+zs + 7P/6+vr/ZmZu/wAAB/8BARb/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8AABP/AAAL/8TExv/09PT/7e3t/+zs + 7P/t7e3/6+vr/+zs7P/s7Oz/6+vr/+3t7f/s7Oz/7e3t//Hx8f/p6er/GBgl/wAADf8BARf/AwMY/wMD + GP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AAAR/wgIFv/W1tf/7u7t/+vr6//o6Oj/6Ojo/+bm5v/n5+f/5+fn/+Xl5f/m5ub/5ubm/+bm + 5v/k5OT/5eXl/+Xl5f/j4+P/5OTk/+Tk5P/k5OT/4uLi/+Pj4//j4+P/4eHh/+Li4v/i4uL/4ODg/+Hh + 4f/h4eH/4eHhOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADh4eFd4ODg/+Li + 4v/i4uL/4uLi/+Hh4f/j4+P/4+Pj/+Li4v/k5OT/5OTk/+Pj4//l5eX/5eXl/+Xl5f/k5OT/5ubm/+bm + 5v/m5ub/5eXl/+fn5//n5+f/5ubm/+fn5//o6Oj/6enp/+zs7P/6+vn/gICG/wAABf8AABH/AQEX/wMD + GP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMD + GP8BARf/AAAN/wgIFv/ExMb/9fX1/+3t7f/s7Oz/7e3t/+vr6//r6+v/6+vr/+vr6//s7Oz/6+vr/+3t + 7f/s7Oz/7e3t//Hx8f/09PX/Q0NN/wAABf8AABX/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AQEX/wAADP8UFCH/1tbX//Dw8P/q6ur/6urq/+np + 6f/o6Oj/5ubm/+fn5//n5+f/5eXl/+bm5v/m5ub/5ubm/+Tk5P/l5eX/5eXl/+Xl5f/j4+P/5OTk/+Tk + 5P/i4uL/4+Pj/+Pj4//h4eH/4uLi/+Li4v/g4OD/4eHh/+Hh4f/h4eE7AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOHh4V3g4OD/4uLi/+Li4v/h4eH/4+Pj/+Pj4//j4+P/4uLi/+Tk + 5P/k5OT/4+Pj/+Xl5f/l5eX/5eXl/+Tk5P/m5ub/5ubm/+Xl5f/n5+f/5+fn/+fn5//m5ub/6Ojo/+np + 6f/o6Oj/6enp/+vr6//19fX/0tLT/zMzPv8AAAX/AAAP/wEBFf8DAxj/AwMY/wMDGP8DAxj/AwMY/wMD + GP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8AABT/AAAO/wAAA/9RUVv/7Ozs//Pz8//t7e3/7Ozs/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+vr6//r6+v/7e3t/+3t7f/s7Oz/7e3t/+/v7//8/Pv/oKCl/wkJ + Fv8AAAr/AAAS/wEBF/8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AQEV/wAA + Dv8AAAX/ZmZu//Hx8f/v7+//7Ozs/+np6f/o6Oj/6enp/+jo6P/m5ub/5+fn/+fn5//n5+f/5eXl/+bm + 5v/m5ub/5OTk/+Xl5f/l5eX/5eXl/+Pj4//k5OT/5OTk/+Li4v/j4+P/4+Pj/+Hh4f/i4uL/4uLi/+Li + 4v/g4OD/4eHh/+Hh4TsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4eHhXeDg + 4P/i4uL/4uLi/+Hh4f/j4+P/4+Pj/+Pj4//i4uL/5OTk/+Tk5P/j4+P/5eXl/+Xl5f/k5OT/5ubm/+bm + 5v/m5ub/5eXl/+fn5//n5+f/5+fn/+bm5v/o6Oj/5+fn/+np6f/q6ur/6+vr/+vr6//u7u7/+fn4/8fH + yv9aWmT/BwcW/wAAB/8AAAz/AAAO/wAAEf8AABP/AAAT/wAAE/8AABH/AAAQ/wAADv8AAAv/AAAF/xAQ + Hf9nZ2//0tLT//n5+f/v7+//7e3t/+7u7v/s7Oz/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/s7Oz/7u7u/+/v7//09PT/9/f3/5KSlv8wMD3/AAAE/wAACv8AAA7/AAAQ/wAA + Ev8AABP/AAAT/wAAEf8AABD/AAAM/wAAB/8GBhX/ZmZv/9jY2f/29vX/7e3t/+rq6v/r6+v/6Ojo/+np + 6f/n5+f/6Ojo/+bm5v/n5+f/5+fn/+fn5//l5eX/5ubm/+bm5v/k5OT/5eXl/+Xl5f/l5eX/4+Pj/+Tk + 5P/k5OT/4uLi/+Pj4//j4+P/4+Pj/+Hh4f/i4uL/4uLi/+Dg4P/h4eH/4eHhOwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADh4eFd4ODg/+Li4v/i4uL/4eHh/+Pj4//j4+P/4uLi/+Tk + 5P/k5OT/5OTk/+Pj4//l5eX/5eXl/+Tk5P/m5ub/5ubm/+bm5v/l5eX/5+fn/+fn5//n5+f/5ubm/+jo + 6P/o6Oj/5+fn/+np6f/q6ur/6+vr/+rq6v/r6+v/8PDw//X19P/39/j/xsbI/4uLkf9nZ2//T09Z/zU1 + Qf83N0L/NjZB/z8/Sf9XV2D/dXV9/5ycov/T09b//f38//b29v/w8PD/7e3t/+7u7v/s7Oz/7u7u/+zs + 7P/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/s7Oz/7Ozs/+3t + 7f/v7+//9PT0//r6+f/l5eb/qqqt/3h4gP9XV2D/OjpF/zY2Qf82NkH/QkJN/19faP+Hh47/wcHE//f3 + +P/09PT/7u7u/+zs7P/q6ur/6enp/+rq6v/p6en/5+fn/+jo6P/o6Oj/5ubm/+fn5//n5+f/5+fn/+Xl + 5f/m5ub/5ubm/+bm5v/k5OT/5eXl/+Xl5f/j4+P/5OTk/+Tk5P/k5OT/4uLi/+Pj4//j4+P/4eHh/+Li + 4v/i4uL/4ODg/+Hh4f/h4eE7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOHh + 4V3g4OD/4uLi/+Li4v/h4eH/4+Pj/+Pj4//i4uL/5OTk/+Tk5P/k5OT/4+Pj/+Xl5f/l5eX/5OTk/+bm + 5v/m5ub/5ubm/+Xl5f/n5+f/5+fn/+fn5//m5ub/6Ojo/+jo6P/o6Oj/5+fn/+jo6P/q6ur/6enp/+vr + 6//s7Oz/6+vr/+3t7f/w8PD/8vLy//X19f/29vb/9/f3//n5+P/5+fj/9/f2//f39v/29vX/8/Py//Dw + 8P/v7+//7e3t/+7u7v/s7Oz/7Ozs/+3t7f/s7Oz/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7Ozs/+zs7P/u7u7/7e3t//Dw7//y8vL/9PT0//b2 + 9f/39/f/+fn4//f39//39/b/9vb1//Pz8v/w8PD/7e3t/+vr6//s7Oz/6enp/+rq6v/q6ur/6Ojo/+fn + 5//o6Oj/6Ojo/+jo6P/m5ub/5+fn/+fn5//n5+f/5eXl/+bm5v/m5ub/5ubm/+Tk5P/l5eX/5eXl/+Pj + 4//k5OT/5OTk/+Tk5P/i4uL/4+Pj/+Pj4//h4eH/4uLi/+Li4v/g4OD/4eHh/+Hh4TsAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4eHhXeDg4P/i4uL/4uLi/+Hh4f/j4+P/4+Pj/+Li + 4v/k5OT/5OTk/+Pj4//l5eX/5eXl/+Xl5f/k5OT/5ubm/+bm5v/m5ub/5eXl/+fn5//n5+f/5+fn/+bm + 5v/o6Oj/6Ojo/+jo6P/n5+f/6enp/+jo6P/q6ur/6enp/+vr6//q6ur/7Ozs/+vr6//r6+v/7e3t/+zs + 7P/u7u7/7u7u/+7u7v/u7u7/7e3t/+3t7f/u7u7/7u7u/+zs7P/s7Oz/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/6+vr/+vr + 6//t7e3/7e3t/+3t7f/s7Oz/7Ozs/+7u7v/u7u7/7Ozs/+zs7P/u7u7/7u7u/+zs7P/t7e3/6+vr/+vr + 6//s7Oz/6urq/+vr6//q6ur/6Ojo/+jo6P/p6en/5+fn/+jo6P/o6Oj/6Ojo/+bm5v/n5+f/5+fn/+fn + 5//l5eX/5ubm/+bm5v/m5ub/5OTk/+Xl5f/l5eX/4+Pj/+Tk5P/k5OT/5OTk/+Li4v/j4+P/4+Pj/+Hh + 4f/i4uL/4uLi/+Dg4P/h4eH/4eHhOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADh4eFd4ODg/+Li4v/i4uL/4eHh/+Pj4//j4+P/4uLi/+Tk5P/k5OT/4+Pj/+Xl5f/l5eX/5eXl/+Tk + 5P/m5ub/5ubm/+bm5v/l5eX/5+fn/+fn5//m5ub/6Ojo/+jo6P/o6Oj/6Ojo/+fn5//p6en/6enp/+jo + 6P/o6Oj/6enp/+vr6//r6+v/6+vr/+rq6v/s7Oz/7Ozs/+vr6//r6+v/6+vr/+vr6//t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/r6+v/6+vr/+vr6//t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/r6+v/7Ozs/+vr6//r6+v/6+vr/+3t7f/t7e3/7e3t/+3t + 7f/r6+v/6+vr/+vr6//r6+v/6+vr/+zs7P/q6ur/6+vr/+vr6//r6+v/6enp/+jo6P/p6en/6enp/+np + 6f/n5+f/6Ojo/+jo6P/o6Oj/5ubm/+fn5//n5+f/5+fn/+Xl5f/m5ub/5ubm/+bm5v/k5OT/5eXl/+Xl + 5f/j4+P/5OTk/+Tk5P/k5OT/4uLi/+Pj4//j4+P/4eHh/+Li4v/i4uL/4ODg/+Hh4f/h4eE7AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOHh4V3g4OD/4uLi/+Li4v/h4eH/4+Pj/+Pj + 4//i4uL/5OTk/+Tk5P/j4+P/5eXl/+Xl5f/l5eX/5OTk/+bm5v/m5ub/5eXl/+fn5//n5+f/5+fn/+bm + 5v/o6Oj/6Ojo/+jo6P/o6Oj/5+fn/+np6f/p6en/6enp/+jo6P/q6ur/6enp/+np6f/p6en/6enp/+vr + 6//q6ur/7Ozs/+zs7P/s7Oz/7Ozs/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+zs7P/r6+v/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/r6+v/7Ozs/+zs7P/s7Oz/6+vr/+vr6//r6+v/6+vr/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/6urq/+np + 6f/p6en/6enp/+np6f/q6ur/6Ojo/+np6f/p6en/6enp/+fn5//o6Oj/6Ojo/+jo6P/m5ub/5+fn/+fn + 5//n5+f/5eXl/+bm5v/m5ub/5ubm/+Tk5P/l5eX/5eXl/+Xl5f/j4+P/5OTk/+Tk5P/i4uL/4+Pj/+Pj + 4//h4eH/4uLi/+Li4v/g4OD/4eHh/+Hh4TsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA4eHhXeDg4P/i4uL/4uLi/+Hh4f/j4+P/4+Pj/+Li4v/k5OT/5OTk/+Pj4//l5eX/5eXl/+Xl + 5f/k5OT/5ubm/+bm5v/l5eX/5+fn/+fn5//n5+f/5ubm/+jo6P/o6Oj/6Ojo/+jo6P/n5+f/6enp/+np + 6f/p6en/6Ojo/+rq6v/q6ur/6urq/+rq6v/p6en/6+vr/+vr6//q6ur/6urq/+rq6v/q6ur/7Ozs/+zs + 7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+vr6//t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+vr6//s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs + 7P/s7Oz/6urq/+rq6v/q6ur/6urq/+rq6v/r6+v/6enp/+rq6v/q6ur/6urq/+rq6v/o6Oj/6enp/+np + 6f/p6en/5+fn/+jo6P/o6Oj/6Ojo/+jo6P/m5ub/5+fn/+fn5//l5eX/5ubm/+bm5v/m5ub/5OTk/+Xl + 5f/l5eX/5eXl/+Pj4//k5OT/5OTk/+Li4v/j4+P/4+Pj/+Hh4f/i4uL/4uLi/+Dg4P/h4eH/4eHhOwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADh4eFd4ODg/+Li4v/i4uL/4eHh/+Pj + 4//j4+P/4uLi/+Tk5P/k5OT/4+Pj/+Xl5f/l5eX/5eXl/+Tk5P/m5ub/5ubm/+Xl5f/n5+f/5+fn/+fn + 5//m5ub/6Ojo/+jo6P/o6Oj/5+fn/+np6f/p6en/6enp/+np6f/o6Oj/6urq/+rq6v/q6ur/6urq/+np + 6f/r6+v/6+vr/+vr6//r6+v/6+vr/+rq6v/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/6+vr/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/6+vr/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/q6ur/6+vr/+vr6//r6+v/6+vr/+vr + 6//p6en/6urq/+rq6v/q6ur/6urq/+jo6P/p6en/6enp/+np6f/n5+f/6Ojo/+jo6P/o6Oj/6Ojo/+bm + 5v/n5+f/5+fn/+Xl5f/m5ub/5ubm/+bm5v/k5OT/5eXl/+Xl5f/l5eX/4+Pj/+Tk5P/k5OT/4uLi/+Pj + 4//j4+P/4eHh/+Li4v/i4uL/4ODg/+Hh4f/h4eE7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAOHh4V3g4OD/4uLi/+Li4v/h4eH/4+Pj/+Pj4//i4uL/5OTk/+Tk5P/j4+P/5eXl/+Xl + 5f/l5eX/5OTk/+bm5v/m5ub/5eXl/+fn5//n5+f/5+fn/+bm5v/o6Oj/6Ojo/+jo6P/n5+f/6enp/+np + 6f/p6en/6enp/+jo6P/q6ur/6urq/+rq6v/q6ur/6enp/+vr6//r6+v/6+vr/+vr6//r6+v/6urq/+zs + 7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/r6+v/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/r6+v/7Ozs/+zs7P/s7Oz/7Ozs/+zs + 7P/s7Oz/7Ozs/+rq6v/r6+v/6+vr/+vr6//r6+v/6+vr/+np6f/q6ur/6urq/+rq6v/q6ur/6Ojo/+np + 6f/p6en/6enp/+fn5//o6Oj/6Ojo/+jo6P/o6Oj/5ubm/+fn5//n5+f/5eXl/+bm5v/m5ub/5ubm/+Tk + 5P/l5eX/5eXl/+Xl5f/j4+P/5OTk/+Tk5P/i4uL/4+Pj/+Pj4//h4eH/4uLi/+Li4v/g4OD/4eHh/+Hh + 4TsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3t7gXeHh4f/i4uL/4uLi/+Hh + 4f/j4+P/4+Pj/+Li4v/k5OT/5OTk/+Pj4//l5eX/5eXl/+Xl5f/k5OT/5ubm/+bm5v/l5eX/5+fn/+fn + 5//n5+f/5ubm/+jo6P/o6Oj/6Ojo/+jo6P/n5+f/6enp/+np6f/p6en/6Ojo/+rq6v/q6ur/6urq/+rq + 6v/p6en/6+vr/+vr6//r6+v/6+vr/+vr6//q6ur/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+vr + 6//t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+vr6//s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/6urq/+vr6//r6+v/6+vr/+vr + 6//r6+v/6enp/+rq6v/q6ur/6urq/+rq6v/o6Oj/6enp/+np6f/p6en/5+fn/+jo6P/o6Oj/6Ojo/+jo + 6P/m5ub/5+fn/+fn5//l5eX/5ubm/+bm5v/m5ub/5OTk/+Xl5f/l5eX/5eXl/+Pj4//k5OT/5OTk/+Li + 4v/j4+P/4+Pj/+Hh4f/i4uL/4uLi/+Dg4P/h4eH/3t7fOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADS0tld4eHh/+Li4v/i4uL/4eHh/+Pj4//j4+P/4uLi/+Tk5P/k5OT/4+Pj/+Xl + 5f/l5eX/5eXl/+Tk5P/m5ub/5ubm/+bm5v/l5eX/5+fn/+fn5//m5ub/6Ojo/+jo6P/o6Oj/6Ojo/+fn + 5//p6en/6enp/+np6f/o6Oj/6urq/+rq6v/q6ur/6urq/+np6f/r6+v/6+vr/+vr6//r6+v/6+vr/+rq + 6v/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+vr6//t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/r6+v/7Ozs/+zs7P/s7Oz/7Ozs/+zs + 7P/s7Oz/7Ozs/+rq6v/r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//p6en/6urq/+rq6v/q6ur/6urq/+jo + 6P/p6en/6enp/+np6f/n5+f/6Ojo/+jo6P/o6Oj/5ubm/+fn5//n5+f/5+fn/+Xl5f/m5ub/5ubm/+bm + 5v/k5OT/5eXl/+Xl5f/j4+P/5OTk/+Tk5P/k5OT/4uLi/+Pj4//j4+P/4eHh/+Li4v/i4uL/4ODg/+Hh + 4f/Q0No7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMPD013i4uH/4uLi/+Li + 4v/h4eH/4+Pj/+Pj4//i4uL/5OTk/+Tk5P/j4+P/5eXl/+Xl5f/l5eX/5OTk/+bm5v/m5ub/5ubm/+Xl + 5f/n5+f/5+fn/+fn5//m5ub/6Ojo/+jo6P/o6Oj/5+fn/+np6f/p6en/6enp/+jo6P/q6ur/6urq/+rq + 6v/q6ur/6enp/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+rq6v/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs + 7P/s7Oz/6+vr/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+vr6//s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/6urq/+vr6//r6+v/6+vr/+vr + 6//r6+v/6enp/+rq6v/q6ur/6urq/+rq6v/q6ur/6Ojo/+np6f/p6en/6enp/+fn5//o6Oj/6Ojo/+jo + 6P/m5ub/5+fn/+fn5//n5+f/5eXl/+bm5v/m5ub/5ubm/+Tk5P/l5eX/5eXl/+Pj4//k5OT/5OTk/+Tk + 5P/i4uL/4+Pj/+Pj4//h4eH/4uLi/+Li4v/g4OD/4uLh/8TE1DsAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAu7vPXezs5v/r6+b/6+vm/+vr5v/s7Of/7Ozn/+zs5//t7ej/7e3o/+3t + 6P/t7ej/7u7p/+7u6f/u7un/7+/q/+/v6v/v7+r/7+/q//Dw6//w8Ov/8PDr//Dw6//x8ez/8fHs//Hx + 7P/x8ez/8vLt//Ly7f/y8u3/8vLt//Ly7f/z8+7/8/Pu//Pz7v/z8+7/8/Pu//T07//09O//9PTv//T0 + 7//09O//9PTv//X18P/19fD/9fXw//X18P/19fD/9fXw//X18P/19fD/9fXw//b28f/29vH/9vbx//b2 + 8f/29vH/9vbx//b28f/29vH/9vbx//b28f/29vH/9vbx//b28f/19fD/9fXw//X18P/19fD/9fXw//X1 + 8P/19fD/9fXw//X18P/09O//9PTv//T07//09O//9PTv//T07//z8+7/8/Pu//Pz7v/z8+7/8/Pu//Ly + 7f/y8u3/8vLt//Ly7f/y8u3/8fHs//Hx7P/x8ez/8fHs//Dw6//w8Ov/8PDr//Dw6//v7+r/7+/q/+/v + 6v/v7+r/7u7p/+7u6f/u7un/7e3o/+3t6P/t7ej/7e3o/+zs5//s7Of/7Ozn/+vr5v/r6+b/6+vm/+rq + 5f/s7Ob/u7vPOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRptdGhqH/xwc + if8cHIn/HByJ/xwcif8cHIn/HByJ/xwcif8cHIn/HByJ/xwcif8cHIn/HByJ/xwcif8cHIn/HByJ/xwc + if8cHIn/HR2I/x0diP8dHYj/HR2I/x0diP8dHYj/HR2I/x0diP8dHYj/HR2I/x0diP8dHYj/HR2I/x0d + if8dHYn/HR2J/x0dif8dHYn/HR2J/x0dif8dHYn/HR2J/x0dif8dHYn/HR2J/x0dif8dHYn/HR2J/x0d + if8dHYn/HR2J/x0dif8dHYn/HR2J/x0dif8dHYn/HR2J/x0dif8dHYn/HR2J/x0dif8dHYn/HR2J/x0d + if8dHYn/HR2J/x0dif8dHYn/HR2J/x0dif8dHYn/HR2J/x0dif8dHYn/HR2J/x0dif8dHYn/HR2J/x0d + if8dHYn/HR2J/x0dif8dHYn/HR2J/x0dif8dHYn/HR2I/x0diP8dHYj/HR2I/x0diP8dHYj/HR2I/x0d + iP8dHYj/HR2I/x0diP8dHYj/HR2I/xwcif8cHIn/HByJ/xwcif8cHIn/HByJ/xwcif8cHIn/HByJ/xwc + if8cHIn/HByJ/xwcif8cHIn/HByJ/xwcif8cHIn/HByI/xoah/9GRps7AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwkl0HB4D/CQmB/wkJgf8JCYH/CQmB/wkJgf8JCYH/CQmB/wkJ + gf8JCYH/CQmB/wkJgf8JCYH/CQmB/wkJgf8JCYH/CQmB/wkJgf8JCYH/CQmB/wkJgf8JCYH/CQmB/wkJ + gf8JCYH/CQmB/wkJgf8JCYH/CQmB/wkJgf8JCYH/CQmB/wkJgf8JCYH/CQmB/wkJgf8JCYH/CQmB/wkJ + gf8JCYH/CQmB/wkJgf8JCYH/CQmB/wkJgf8JCYH/CQmB/wkJgf8JCYH/CQmB/wkJgf8JCYH/CQmB/wkJ + gf8JCYH/CQmB/wkJgf8JCYH/CQmB/wkJgf8JCYH/CQmB/wkJgf8JCYH/CQmB/wkJgf8JCYH/CQmB/wkJ + gf8JCYH/CQmB/wkJgf8JCYH/CQmB/wkJgf8JCYH/CQmB/wkJgf8JCYH/CQmB/wkJgf8JCYH/CQmB/wkJ + gf8JCYH/CQmB/wkJgf8JCYH/CQmB/wkJgf8JCYH/CQmB/wkJgf8JCYH/CQmB/wkJgf8JCYH/CQmB/wkJ + gf8JCYH/CQmB/wkJgf8JCYH/CQmB/wkJgf8JCYH/CQmB/wkJgf8JCYH/CQmB/wkJgf8JCYH/CQmB/wkJ + gf8JCYH/BweA/zAwkjsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIyONXQoK + gv8MDIL/DAyC/wwMgv8MDIL/DAyC/wwMgv8MDIL/DAyC/wwMgv8MDIL/DAyC/wwMgv8MDIL/DAyC/wwM + gv8MDIL/DAyC/wwMgv8MDIL/DAyC/wwMgv8MDIL/DAyC/wwMgv8MDIL/DAyC/wwMgv8MDIL/DAyC/wwM + gv8MDIL/DAyC/wwMgv8MDIL/DAyC/wwMgv8MDIL/DAyC/wwMgv8MDIL/DAyC/wwMgv8MDIL/DAyC/wwM + gv8MDIL/DAyC/wwMgv8MDIL/DAyC/wwMgv8MDIL/DAyC/wwMgv8MDIL/DAyC/wwMgv8MDIL/DAyC/wwM + gv8MDIL/DAyC/wwMgv8MDIL/DAyC/wwMgv8MDIL/DAyC/wwMgv8MDIL/DAyC/wwMgv8MDIL/DAyC/wwM + gv8MDIL/DAyC/wwMgv8MDIL/DAyC/wwMgv8MDIL/DAyC/wwMgv8MDIL/DAyC/wwMgv8MDIL/DAyC/wwM + gv8MDIL/DAyC/wwMgv8MDIL/DAyC/wwMgv8MDIL/DAyC/wwMgv8MDIL/DAyC/wwMgv8MDIL/DAyC/wwM + gv8MDIL/DAyC/wwMgv8MDIL/DAyC/wwMgv8MDIL/DAyC/wwMgv8KCoL/IyONOwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWFopdCwuE/wwMhf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwM + hf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwM + hf8JCYP/CQmD/wwMhf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwM + hf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwM + hf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwM + hf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwM + hf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwM + hf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwM + hf8MDIX/DAyF/wsLhP8WFoo7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwM + hV0LC4b/CwuG/wsLhv8LC4b/CwuG/wsLhv8LC4b/CwuG/wsLhv8LC4b/CwuG/wsLhv8LC4b/CwuG/wsL + hv8LC4b/CwuG/wsLhv8LC4b/CwuG/wsLhv8LC4b/CAiD/zg4m/8uLpb/CQmE/wsLhv8LC4b/CwuG/wsL + hv8LC4b/CwuG/wsLhv8LC4b/CwuG/wsLhv8LC4b/CwuG/wsLhv8LC4b/CwuG/wsLhv8LC4b/CwuG/wsL + hv8LC4b/CwuG/wsLhv8LC4b/CwuG/wsLhv8LC4b/CwuG/wsLhv8LC4b/CwuG/wsLhv8LC4b/CwuG/wsL + hv8LC4b/CwuG/wsLhv8LC4b/CwuG/wsLhv8LC4b/CwuG/wsLhv8LC4b/CwuG/wsLhv8LC4b/CwuG/wsL + hv8LC4b/CwuG/wsLhv8LC4b/CwuG/wsLhv8LC4b/CwuG/wsLhv8LC4b/CwuG/wsLhv8LC4b/CwuG/wsL + hv8LC4b/CwuG/wsLhv8LC4b/CwuG/wsLhv8LC4b/CwuG/wsLhv8LC4b/CwuG/wsLhv8LC4b/CwuG/wsL + hv8LC4b/CwuG/wsLhv8LC4b/CwuG/wsLhv8LC4b/CwuG/wsLhv8LC4b/CwuG/wwMhTsAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwuGXQ0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0N + hv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/wsL + hv8dHY////////////8VFYr/DAyG/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0N + hv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0N + hv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0N + hv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0N + hv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0N + hv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0N + hv8NDYb/DQ2G/w0Nhv8NDYb/CwuGOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAANDYldDAyJ/wwMif8MDIn/DAyJ/wwMif8MDIn/DAyJ/wwMif8MDIn/DAyJ/wUFhf8EBIT/CwuI/wwM + if8MDIn/DAyJ/wwMif8MDIn/DAyI/wUFhf8EBIT/CQmH/yIik////////////yAgk/8EBIT/BASE/wQE + hP8GBoX/CwuI/wwMif8MDIn/CgqH/wQEhP8HB4b/DAyJ/wwMif8MDIn/DAyJ/wwMif8FBYX/BASE/wsL + iP8MDIn/CgqH/wQEhP8GBoX/DAyJ/wwMif8MDIn/DAyJ/wwMif8MDIn/DAyJ/wwMif8MDIn/DAyJ/wwM + if8MDIn/DAyJ/wwMif8MDIn/DAyJ/wwMif8MDIn/DAyJ/wwMif8MDIn/DAyJ/wwMif8MDIn/DAyJ/wwM + if8MDIn/DAyJ/wwMif8MDIn/DAyJ/wwMif8MDIn/DAyJ/wwMif8MDIn/DAyJ/wwMif8MDIn/DAyJ/wwM + if8MDIn/DAyJ/wwMif8MDIn/DAyJ/wwMif8MDIn/DAyJ/wwMif8MDIn/DAyJ/wwMif8MDIn/DAyJ/wwM + if8MDIn/DAyJ/wwMif8MDIn/DAyJ/wwMif8MDIn/DAyJ/wwMif8MDIn/DAyJ/wwMif8NDYk7AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMiV0ODov/Dg6L/w4Oi/8ODov/Dg6L/w4O + i/8ODov/Dg6L/w4Oi/8GBof/rKzX/8zM5f8kJJX/DAyK/w4Oi/8ODov/Dg6L/w0Niv8JCYj/tbXa/8bG + 5P8oKJf/ICCT////////////NDSc/6Ki0v/Ozub/y8vl/5mZzf8eHpP/CgqJ/wsLif84OJ//0dHo/4mJ + xv8ICIj/Dg6L/w4Oi/8ODov/BgaH/6ys1//Hx+T/IyOV/woKif8wMJz/zMzl/5WVzP8HB4f/Dg6L/w4O + i/8ODov/Dg6L/w4Oi/8ODov/Dg6L/w4Oi/8ODov/Dg6L/w4Oi/8ODov/Dg6L/w4Oi/8ODov/Dg6L/w4O + i/8ODov/Dg6L/w4Oi/8ODov/Dg6L/w4Oi/8ODov/Dg6L/w4Oi/8ODov/Dg6L/w4Oi/8ODov/Dg6L/w4O + i/8ODov/Dg6L/w4Oi/8ODov/Dg6L/w4Oi/8ODov/Dg6L/w4Oi/8ODov/Dg6L/w4Oi/8ODov/Dg6L/w4O + i/8ODov/Dg6L/w4Oi/8ODov/Dg6L/w4Oi/8ODov/Dg6L/w4Oi/8ODov/Dg6L/w4Oi/8ODov/Dg6L/w4O + i/8ODov/Dg6L/w4Oi/8ODov/Dg6L/wwMiTsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAADg6MXQ0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/wIChv///////////7q6 + 3v8AAIT/CAiJ/wgIif8ICIn/AgKG/3NzvP///////////09Pq/8eHpT/////////////////3d3u/6io + 1f/19fr///////////8iIpb/BgaI/4mJxv//////7e32/wMDhv8NDYz/DQ2M/w0NjP8CAob///////// + //9mZrf/BQWH/2Zmtv///////////wIChv8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0N + jP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0N + jP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0N + jP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0N + jP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/Dg6MOwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANDYxdDw+M/w8PjP8PD4z/Dw+M/w8P + jP8PD4z/Dw+M/w8PjP8PD4z/CQmK/319wf///////////4mJxv+GhsX/h4fG/4eHxv+CgsP/8PD3//// + ///Z2e3/AACG/yIilv///////////6en1f8AAIT/BgaI/w8Pjf/u7vb//////66u2f8BAYb/h4fG//// + ///o6PP/BASH/w8PjP8PD4z/Dw+M/wMDh////////////2Rktv8GBoj/ZGS2////////////AwOH/w8P + jP8PD4z/Dw+M/w8PjP8PD4z/Dw+M/w8PjP8PD4z/Dw+M/w8PjP8PD4z/Dw+M/w8PjP8PD4z/Dw+M/w8P + jP8PD4z/Dw+M/w8PjP8PD4z/Dw+M/w8PjP8PD4z/Dw+M/w8PjP8PD4z/Dw+M/w8PjP8PD4z/Dw+M/w8P + jP8PD4z/Dw+M/w8PjP8PD4z/Dw+M/w8PjP8PD4z/Dw+M/w8PjP8PD4z/Dw+M/w8PjP8PD4z/Dw+M/w8P + jP8PD4z/Dw+M/w8PjP8PD4z/Dw+M/w8PjP8PD4z/Dw+M/w8PjP8PD4z/Dw+M/w8PjP8PD4z/Dw+M/w8P + jP8PD4z/Dw+M/w8PjP8PD4z/Dw+M/w8PjP8NDYw7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAA8Pj10ODo//Dg6P/w4Oj/8ODo//Dg6P/w4Oj/8ODo//Dg6P/w4Oj/8ODo7/BweK//b2 + +v///////////////////////////////////////////0BApv8KCoz/IiKY////////////PT2l/wwM + jf8ODo//BgaL/6Ki0v//////5eXy/wAAh/+Hh8f///////Dw9/8DA4n/Dg6P/w4Oj/8ODo//AwOJ//// + ////////ZGS3/wYGiv9kZLf///////////8DA4n/Dg6P/w4Oj/8ODo//Dg6P/w4Oj/8ODo//Dg6P/w4O + j/8ODo//Dg6P/w4Oj/8ODo//Dg6P/w4Oj/8ODo//Dg6P/w4Oj/8ODo//Dg6P/w4Oj/8ODo//Dg6P/w4O + j/8ODo//Dg6P/w4Oj/8ODo//Dg6P/w4Oj/8ODo//Dg6P/w4Oj/8ODo//Dg6P/w4Oj/8ODo//Dg6P/w4O + j/8ODo//Dg6P/w4Oj/8ODo//Dg6P/w4Oj/8ODo//Dg6P/w4Oj/8ODo//Dg6P/w4Oj/8ODo//Dg6P/w4O + j/8ODo//Dg6P/w4Oj/8ODo//Dg6P/w4Oj/8ODo//Dg6P/w4Oj/8ODo//Dg6P/w4Oj/8ODo//Dg6P/w8P + jzsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg6PXRAQj/8QEI//EBCP/xAQ + j/8QEI//EBCP/xAQj/8QEI//EBCP/xAQj/8KCo3/bGy7////////////HByV/wEBif8AAIf/7u73//// + //++vuH/BASK/w4Oj/8kJJn///////////9kZLf/BgaL/w0Njv8AAIj/xsbl///////GxuT/AQGJ/4aG + xv///////////xUVkv8KCo3/CQmM/wsLjf8EBIr///////////9mZrf/BweL/2Zmt////////////wQE + iv8QEI//EBCP/xAQj/8QEI//EBCP/xAQj/8QEI//EBCP/xAQj/8QEI//EBCP/xAQj/8QEI//EBCP/xAQ + j/8QEI//EBCP/xAQj/8QEI//EBCP/xAQj/8QEI//EBCP/xAQj/8QEI//EBCP/xAQj/8QEI//EBCP/xAQ + j/8QEI//EBCP/xAQj/8QEI//EBCP/xAQj/8QEI//EBCP/xAQj/8QEI//EBCP/xAQj/8QEI//EBCP/xAQ + j/8QEI//EBCP/xAQj/8QEI//EBCP/xAQj/8QEI//EBCP/xAQj/8QEI//EBCP/xAQj/8QEI//EBCP/xAQ + j/8QEI//EBCP/xAQj/8QEI//EBCP/xAQj/8QEI//Dg6POwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAODpJdEBCS/xAQkv8QEJL/EBCS/xAQkv8QEJL/EBCS/xAQkv8QEJL/EBCS/w8P + kf8EBI3/6en0//////+np9f/AQGL/3R0v////////////ysrn/8NDZH/Dg6R/yQkm/////////////// + //9pabv/Pz+n/5mZ0P///////////1xctP8GBo3/iIjI////////////zs7o/2tru/+entL/b2+9/wAA + iv///////////2dnuv8HB43/ZWW5////////////BASM/xAQkv8QEJL/EBCS/xAQkv8QEJL/EBCS/xAQ + kv8QEJL/EBCS/xAQkv8QEJL/EBCS/xAQkv8QEJL/EBCS/xAQkv8QEJL/EBCS/xAQkv8QEJL/EBCS/xAQ + kv8QEJL/EBCS/xAQkv8QEJL/EBCS/xAQkv8QEJL/EBCS/xAQkv8QEJL/EBCS/xAQkv8QEJL/EBCS/xAQ + kv8QEJL/EBCS/xAQkv8QEJL/EBCS/xAQkv8QEJL/EBCS/xAQkv8QEJL/EBCS/xAQkv8QEJL/EBCS/xAQ + kv8QEJL/EBCS/xAQkv8QEJL/EBCS/xAQkv8QEJL/EBCS/xAQkv8QEJL/EBCS/xAQkv8QEJL/EBCS/xAQ + kv8ODpI7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQkl0PD5L/Dw+S/w8P + kv8PD5L/Dw+S/w8Pkv8PD5L/Dw+S/w8Pkv8PD5L/Dw+S/wsLkP9fX7f///////////8eHpr/9PT6//// + //+oqNj/BgaO/w8Pkv8ODpL/GBiW////////////c3PA//////////////////b2+/9oaLr/BweO/wsL + kP9tbb3//////8zM6P/d3e////////////+6uuD/AACK////////////S0uu/wgIj/9lZbn///////// + //8EBI3/Dw+S/w8Pkv8PD5L/Dw+S/w8Pkv8PD5L/Dw+S/w8Pkv8PD5L/Dw+S/w8Pkv8PD5L/Dw+S/w8P + kv8PD5L/Dw+S/w8Pkv8PD5L/Dw+S/w8Pkv8PD5L/Dw+S/w8Pkv8PD5L/Dw+S/w8Pkv8PD5L/Dw+S/w8P + kv8PD5L/Dw+S/w8Pkv8PD5L/Dw+S/w8Pkv8PD5L/Dw+S/w8Pkv8PD5L/Dw+S/w8Pkv8PD5L/Dw+S/w8P + kv8PD5L/Dw+S/w8Pkv8PD5L/Dw+S/w8Pkv8PD5L/Dw+S/w8Pkv8PD5L/Dw+S/w8Pkv8PD5L/Dw+S/w8P + kv8PD5L/Dw+S/w8Pkv8PD5L/Dw+S/w8Pkv8PD5L/Dw+S/xAQkjsAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAADw+VXRERlf8REZX/ERGV/xERlf8REZX/ERGV/xERlf8REZX/ERGV/xER + lf8REZX/ERGV/wMDjv/d3e///////+3t9////////////xgYmP8PD5T/ERGV/xERlf8PD5T/GBiY/xkZ + mf8KCpL/CAiR/yYmnv8mJp7/BQWP/wwMkv8REZX/ERGV/wsLkv8nJ5//EhKW/wgIkf8mJp7/HBya/wgI + kP8PD5T/GxuZ/ysrof8ICJH/DAyS/2Vlu////////////wUFj/8REZX/ERGV/xERlf8REZX/ERGV/xER + lf8REZX/ERGV/xERlf8REZX/ERGV/xERlf8REZX/ERGV/xERlf8REZX/ERGV/xERlf8REZX/ERGV/xER + lf8REZX/ERGV/xERlf8REZX/ERGV/xERlf8REZX/ERGV/xERlf8REZX/ERGV/xERlf8REZX/ERGV/xER + lf8REZX/ERGV/xERlf8REZX/ERGV/xERlf8REZX/ERGV/xERlf8REZX/ERGV/xERlf8REZX/ERGV/xER + lf8REZX/ERGV/xERlf8REZX/ERGV/xERlf8REZX/ERGV/xERlf8REZX/ERGV/xERlf8REZX/ERGV/xER + lf8REZX/Dw+VOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAREZVdEBCV/xAQ + lf8QEJX/EBCV/xAQlf8QEJX/EBCV/xAQlf8QEJX/EBCV/xAQlf8QEJX/DQ2U/09Psf////////////// + //+QkM7/CQmS/xAQlf8QEJX/EBCV/xAQlf8QEJX/EBCV/xAQlf8QEJX/Dw+V/w8Plf8QEJX/EBCV/xAQ + lf8QEJX/EBCV/w8Plf8QEJX/EBCV/w8Plf8PD5X/EBCV/wUFkP///////////1NTs/8JCZL/aGi8//// + ////////BQWQ/xAQlf8QEJX/EBCV/xAQlf8QEJX/EBCV/xAQlf8QEJX/EBCV/xAQlf8QEJX/EBCV/xAQ + lf8QEJX/EBCV/xAQlf8QEJX/EBCV/xAQlf8QEJX/EBCV/xAQlf8QEJX/EBCV/xAQlf8QEJX/EBCV/xAQ + lf8QEJX/EBCV/xAQlf8QEJX/EBCV/xAQlf8QEJX/EBCV/xAQlf8QEJX/EBCV/xAQlf8QEJX/EBCV/xAQ + lf8QEJX/EBCV/xAQlf8QEJX/EBCV/xAQlf8QEJX/EBCV/xAQlf8QEJX/EBCV/xAQlf8QEJX/EBCV/xAQ + lf8QEJX/EBCV/xAQlf8QEJX/EBCV/xAQlf8QEJX/EBCV/xAQlf8REZU7AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQmF0SEpj/EhKY/xISmP8SEpj/EhKY/xISmP8SEpj/EhKY/xIS + mP8SEpj/EhKY/xISmP8SEpj/CgqU/2trv/+rq9r/j4/P/wkJlP8REZf/EhKY/xISmP8SEpj/EhKY/xIS + mP8SEpj/EhKY/xISmP8SEpj/EhKY/xISmP8SEpj/EhKY/xISmP8SEpj/EhKY/xISmP8SEpj/EhKY/xIS + mP8SEpj/DAyV/3t7xf+entX/HR2d/w8Plv8tLaT/qqra/3p6xf8MDJX/EhKY/xISmP8SEpj/EhKY/xIS + mP8SEpj/EhKY/xISmP8SEpj/EhKY/xISmP8SEpj/EhKY/xISmP8SEpj/EhKY/xISmP8SEpj/EhKY/xIS + mP8SEpj/EhKY/xISmP8SEpj/EhKY/xISmP8SEpj/EhKY/xISmP8SEpj/EhKY/xISmP8SEpj/EhKY/xIS + mP8SEpj/EhKY/xISmP8SEpj/EhKY/xISmP8SEpj/EhKY/xISmP8SEpj/EhKY/xISmP8SEpj/EhKY/xIS + mP8SEpj/EhKY/xISmP8SEpj/EhKY/xISmP8SEpj/EhKY/xISmP8SEpj/EhKY/xISmP8SEpj/EhKY/xIS + mP8SEpj/EhKY/xAQmDsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEhKZXRER + mP8REZj/ERGY/xERmP8REZj/ERGY/xERmP8REZj/ERGY/xERmP8REZj/ERGY/xERmP8REZj/DQ2W/woK + lf8MDJb/ERGY/xERmP8REZj/ERGY/xERmP8REZj/ERGY/xERmP8REZj/ERGY/xERmP8REZj/ERGY/xER + mP8REZj/ERGY/xERmP8REZj/ERGY/xERmP8REZj/ERGY/xERmP8REZj/DAyW/wsLlv8QEJj/ERGY/xAQ + mP8KCpX/DAyW/xERmP8REZj/ERGY/xERmP8REZj/ERGY/xERmP8REZj/ERGY/xERmP8REZj/ERGY/xER + mP8REZj/ERGY/xERmP8REZj/ERGY/xERmP8REZj/ERGY/xERmP8REZj/ERGY/xERmP8REZj/ERGY/xER + mP8REZj/ERGY/xERmP8REZj/ERGY/xERmP8REZj/ERGY/xERmP8REZj/ERGY/xERmP8REZj/ERGY/xER + mP8REZj/ERGY/xERmP8REZj/ERGY/xERmP8REZj/ERGY/xERmP8REZj/ERGY/xERmP8REZj/ERGY/xER + mP8REZj/ERGY/xERmP8REZj/ERGY/xERmP8REZj/ERGY/xERmP8REZj/EhKZOwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAREZtdExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMT + m/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMT + m/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMT + m/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMT + m/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMT + m/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMT + m/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMT + m/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMT + m/8TE5v/ExOb/xMTm/8REZs7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABER + nF0TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMT + m/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMT + m/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMT + m/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMT + m/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMT + m/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMT + m/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMT + m/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xMTm/8TE5v/ExOb/xERnDsAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAERGcXRMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMT + nv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMT + nv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMT + nv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMT + nv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMT + nv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMT + nv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMT + nv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMT + nv8TE57/ExOe/xMTnv8TE57/ERGcOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAATE59dExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMT + nv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMT + nv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMT + nv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMT + nv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMT + nv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMT + nv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMT + nv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE587AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMTn10SEqH/EhKh/xISof8SEqH/EhKh/xIS + of8SEqH/EhKh/xISof8SEqH/EhKh/xISof8SEqH/EhKh/xISof8SEqH/EhKh/xISof8SEqH/EhKh/xIS + of8SEqH/EhKh/xISof8SEqH/EhKh/xISof8SEqH/EhKh/xISof8SEqH/EhKh/xISof8SEqH/EhKh/xIS + of8SEqH/EhKh/xISof8SEqH/EhKh/xISof8SEqH/EhKh/xISof8SEqH/EhKh/xISof8SEqH/EhKh/xIS + of8SEqH/EhKh/xISof8SEqH/EhKh/xISof8SEqH/EhKh/xISof8SEqH/EhKh/xISof8SEqH/EhKh/xIS + of8SEqH/EhKh/xISof8SEqH/EhKh/xISof8SEqH/EhKh/xISof8SEqH/EhKh/xISof8SEqH/EhKh/xIS + of8SEqH/EhKh/xISof8SEqH/EhKh/xISof8SEqH/EhKh/xISof8SEqH/EhKh/xISof8SEqH/EhKh/xIS + of8SEqH/EhKh/xISof8SEqH/EhKh/xISof8SEqH/EhKh/xISof8SEqH/EhKh/xISof8SEqH/EhKh/xIS + of8SEqH/EhKh/xISof8SEqH/EhKh/xMTnzsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAEhKiXRQUof8UFKH/FBSh/xQUof8UFKH/FBSh/xQUof8UFKH/FBSh/xQUof8UFKH/FBSh/xQU + of8UFKH/FBSh/xQUof8UFKH/FBSh/xQUof8UFKH/FBSh/xQUof8UFKH/FBSh/xQUof8UFKH/FBSh/xQU + of8UFKH/FBSi/xQUov8UFKL/FBSi/xQUov8UFKL/FBSi/xQUov8UFKH/FBSh/xQUof8UFKH/FBSh/xQU + of8UFKH/FBSh/xQUof8UFKH/FBSh/xQUof8UFKH/FBSh/xQUof8UFKH/FBSh/xQUof8UFKH/FBSh/xQU + of8UFKH/FBSh/xQUof8UFKH/FBSh/xQUof8UFKH/FBSh/xQUof8UFKH/FBSh/xQUof8UFKH/FBSh/xQU + of8UFKH/FBSh/xQUof8UFKH/FBSh/xQUov8UFKL/FBSi/xQUov8UFKL/FBSi/xQUov8UFKL/FBSh/xQU + of8UFKH/FBSh/xQUof8UFKH/FBSh/xQUof8UFKH/FBSh/xQUof8UFKH/FBSh/xQUof8UFKH/FBSh/xQU + of8UFKH/FBSh/xQUof8UFKH/FBSh/xQUof8UFKH/FBSh/xQUof8UFKH/FBSh/xQUof8UFKH/EhKiOwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUFKJdExOk/xMTpP8TE6T/ExOk/xMT + pP8TE6T/ExOk/xMTpP8TE6T/ExOk/xMTpP8TE6T/ExOk/xMTpP8TE6T/ExOk/xMTpP8TE6T/ExOk/xMT + pP8TE6T/ExOk/xMTpP8TE6T/ExOk/xMTpP8UFKT/FBSk/xQUpP8TE6H/ExOh/xMTof8TE6H/ExOh/xMT + of8TE6H/ExOj/xQUpP8UFKT/ExOk/xMTpP8TE6T/ExOk/xMTpP8TE6T/ExOk/xMTpP8TE6T/ExOk/xMT + pP8TE6T/ExOk/xMTpP8TE6T/ExOk/xMTpP8TE6T/ExOk/xMTpP8TE6T/ExOk/xMTpP8TE6T/ExOk/xMT + pP8TE6T/ExOk/xMTpP8TE6T/ExOk/xMTpP8TE6T/ExOk/xMTpP8TE6T/ExOk/xQUpP8UFKT/ExOi/xMT + of8TE6H/ExOh/xMTof8TE6H/ExOh/xMTov8UFKT/FBSk/xMTpP8TE6T/ExOk/xMTpP8TE6T/ExOk/xMT + pP8TE6T/ExOk/xMTpP8TE6T/ExOk/xMTpP8TE6T/ExOk/xMTpP8TE6T/ExOk/xMTpP8TE6T/ExOk/xMT + pP8TE6T/ExOk/xMTpP8TE6T/ExOk/xMTpP8UFKI7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAABMTpV0VFaT/FRWk/xUVpP8VFaT/FRWk/xUVpP8VFaT/FRWk/xUVpP8VFaT/FRWk/xUV + pP8VFaT/FRWk/xUVpP8VFaT/FRWk/xUVpP8VFaT/FRWk/xUVpP8VFaT/FRWk/xUVpP8VFaT/FRWl/xQU + pP8REZr/DQ2Q/wsLj/8KCo//CgqP/woKj/8KCo//CgqP/woKj/8MDI//EBCX/xQUo/8VFaX/FRWk/xUV + pP8VFaT/FRWk/xUVpP8VFaT/FRWk/xUVpP8VFaT/FRWk/xUVpP8VFaT/FRWk/xUVpP8VFaT/FRWk/xUV + pP8VFaT/FRWk/xUVpP8VFaT/FRWk/xUVpP8VFaT/FRWk/xUVpP8VFaT/FRWk/xUVpP8VFaT/FRWk/xUV + pP8VFaT/FRWk/xUVpP8VFaX/ExOg/w8PlP8LC4//CgqP/woKj/8KCo//CgqP/woKj/8KCo//CwuP/w0N + kf8TE57/FRWl/xUVpP8VFaT/FRWk/xUVpP8VFaT/FRWk/xUVpP8VFaT/FRWk/xUVpP8VFaT/FRWk/xUV + pP8VFaT/FRWk/xUVpP8VFaT/FRWk/xUVpP8VFaT/FRWk/xUVpP8VFaT/FRWk/xUVpP8VFaT/FRWk/xMT + pTsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFRWlXRQUp/8UFKf/FBSn/xQU + p/8UFKf/FBSn/xQUp/8UFKf/FBSn/xQUp/8UFKf/FBSn/xQUp/8UFKf/FBSn/xQUp/8UFKf/FBSn/xQU + p/8UFKf/FBSn/xQUp/8UFKf/FBSn/xUVp/8UFKb/Dg6W/wgIj/9BQaX/cHC1/3Z2uP91dbf/dXW3/3V1 + t/91dbf/d3e4/1BQqf8SEpP/CwuR/xQUpP8VFaf/FBSn/xQUp/8UFKf/FBSn/xQUp/8UFKf/FBSn/xQU + p/8UFKf/FBSn/xQUp/8UFKf/FBSn/xQUp/8UFKf/FBSn/xQUp/8UFKf/FBSn/xQUp/8UFKf/FBSn/xQU + p/8UFKf/FBSn/xQUp/8UFKf/FBSn/xQUp/8UFKf/FBSn/xQUp/8UFKf/FRWn/xISoP8ICI7/ICCZ/2Fh + sf95ebr/eHi5/3h4uf94eLn/eHi5/3l5uv9ra7X/Ly+e/wYGjv8QEJv/FRWn/xQUp/8UFKf/FBSn/xQU + p/8UFKf/FBSn/xQUp/8UFKf/FBSn/xQUp/8UFKf/FBSn/xQUp/8UFKf/FBSn/xQUp/8UFKf/FBSn/xQU + p/8UFKf/FBSn/xQUp/8UFKf/FBSn/xQUp/8UFKf/FRWlOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAUFKhdFhao/xYWqP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYW + qP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYWqP8WFqj/Fhao/w8P + nP8vL5//ysrW/+jo4v/k5OD/5OTg/+Tk4P/k5OD/5OTg/+Tk4P/k5OD/5ubh/9/f3/9cXLD/CAiV/xYW + qP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYW + qP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYW + qP8WFqj/Fhao/xYWqP8VFab/CAiR/42NxP/s7Ob/6urm/+np5f/p6eX/6enl/+np5f/p6eX/6enl/+np + 5v/v7+j/rKzO/xQUlf8TE6P/Fhao/xYWqP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYW + qP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYW + qP8UFKg7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQUqF0WFqj/Fhao/xYW + qP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYW + qP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYWqP8UFKn/Hh6b/+fn5P/k5OL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+7u5v9VVa3/Dw+l/xYWqf8WFqj/Fhao/xYWqP8WFqj/Fhao/xYW + qP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYW + qP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYWqP8WFqj/Fhap/woKnP+Vlcf/7u7p/+bm + 5v/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/r6+f/ysrb/wgImP8WFqn/Fhao/xYW + qP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYW + qP8WFqj/Fhao/xYWqP8WFqj/Fhao/xYWqP8WFqj/Fhao/xQUqDsAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAFharXRUVq/8VFav/FRWr/xUVq/8VFar/FRWr/xUVq/8VFav/FRWr/xUV + q/8VFav/FRWr/xUVq/8VFav/FRWr/xUVq/8VFav/FRWr/xUVq/8VFav/FRWr/xUVq/8VFav/Fhar/w0N + pv+kpMz/6Ojm/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5P8PD6H/FRWr/xUVq/8VFav/FRWr/xUVq/8VFav/FRWr/xUVq/8VFav/FRWr/xUVq/8VFav/FRWr/xUV + q/8VFav/FRWr/xUVq/8VFav/FRWr/xUVq/8VFav/FRWr/xUVq/8VFav/FRWr/xUVq/8VFav/FRWr/xUV + q/8VFav/FRWr/xUVq/8TE6r/OTmu//X17f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6enp/+np6f/x8ez/bGy7/xERqv8VFav/FRWr/xUVq/8VFav/FRWr/xUVq/8VFav/FRWr/xUV + q/8VFav/FRWr/xUVq/8VFav/FRWr/xUVq/8VFav/FRWr/xUVq/8VFav/FRWr/xQUqv8VFav/FRWr/xUV + q/8VFav/FharOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVFatdFxet/xcX + rf8XF63/Fhas/ygotv8WFqz/Fxet/xcXrf8XF63/Fxet/xcXrf8XF63/Fxet/xcXrf8XF63/Fxet/xcX + rf8XF63/Fxet/xcXrf8XF63/Fxet/xcXrf8WFq3/ERGq/+zs6P/n5+f/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/7+/p/0xMuf8UFKz/Fxet/xcXrf8XF63/Fxet/xcX + rf8XF63/Fxet/xcXrf8XF63/Fxet/xcXrf8XF63/Fxet/xcXrf8XF63/Fxet/xcXrf8XF63/Fxet/xcX + rf8XF63/Fxet/xcXrf8XF63/Fxet/xcXrf8XF63/Fxet/xcXrf8XF63/Fxet/xERq/+Kisz/7+/s/+vr + 6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+3t6/+3t9n/Dw+q/xcX + rf8XF63/Fxet/xcXrf8XF63/Fxet/xcXrf8XF63/Fxet/xcXrf8XF63/Fxet/xcXrf8XF63/Fxet/xcX + rf8XF63/Fxet/xcXrf8VFaz/NTW9/xUVrP8XF63/Fxet/xcXrf8XF6s7AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWrl0WFq7/Fhau/xYWrv8UFKz/Pj7E/xQUrP8WFq7/Fhau/xYW + rv8WFq7/Fhau/xYWrv8WFq7/Fhau/xYWrv8WFq7/Fhau/xYWrv8WFq7/Fhau/xYWrv8WFq7/Fhau/xUV + rf8pKbL/8/Ps/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/w8Ov/Y2PE/xISrP8WFq7/Fhau/xYWrv8WFq7/Fhau/xYWrv8WFq7/Fhau/xYWrv8WFq7/Fhau/xYW + rv8WFq7/Fhau/xYWrv8WFq7/Fhau/xYWrv8WFq7/Fhau/xYWrv8WFq7/Fhau/xYWrv8WFq7/Fhau/xYW + rv8WFq7/Fhau/xYWrv8WFq7/EBCr/6Cg1f/w8O7/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7u7t/9vb5/8NDav/Fhau/xYWrv8WFq7/Fhau/xYWrv8WFq7/Fhau/xYW + rv8WFq7/Fhau/xYWrv8WFq7/Fhau/xYWrv8WFq7/Fhau/xYWrv8WFq7/Fhau/xQUrP9AQMX/FBSs/xYW + rv8WFq7/Fhau/xcXrjsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRmuXRcX + rv8YGK7/GBiu/xUVrf9QUM7/FRWt/xgYrv8YGK7/GBiu/xgYrv8YGK7/GBiu/xgYrv8YGK7/GBiu/xgY + rv8YGK7/GBiu/xgYrv8YGK7/GBiu/xgYrv8YGK7/Fhau/ykptP/19e7/7Ozs/+zs7P/s7Oz/7Ozs/+zs + 7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs//Ly7f9kZMX/FBSt/xgYrv8YGK7/GBiu/xgY + rv8YGK7/GBiu/xgYrv8YGK7/GBiu/xgYrv8YGK7/GBiu/xgYrv8YGK7/GBiu/xgYrv8YGK7/GBiu/xgY + rv8YGK7/GBiu/xgYrv8YGK7/GBiu/xgYrv8YGK7/GBiu/xgYrv8YGK7/GBiu/xgYrv8REaz/oKDX//Ly + 8P/v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//w8O//3Nzp/w4O + rP8YGK7/GBiu/xgYrv8YGK7/GBiu/xgYrv8YGK7/GBiu/xgYrv8YGK7/GBiu/xgYrv8YGK7/GBiu/xgY + rv8YGK7/GBiu/xgYrv8YGK7/FRWt/0lJyv8VFa3/GBiu/xgYrv8XF67/GRmuOwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGbFdFxex/xcXsf8XF7H/FBSu/2tr3f8SEq7/Fxex/xcX + sf8XF7H/Fxex/xcXsf8XF7H/Fxex/xcXsf8XF7H/Fxex/xcXsf8XF7H/Fxex/xcXsf8XF7H/Fxex/xcX + sf8WFrD/KSm2//f38P/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u + 7v/u7u7/9PTv/2Vlx/8TE6//Fxex/xcXsf8XF7H/Fxex/xcXsf8XF7H/Fxex/xcXsf8XF7H/Fxex/xcX + sf8XF7H/Fxex/xcXsf8XF7H/Fxex/xcXsf8XF7H/Fxex/xcXsf8XF7H/Fxex/xcXsf8XF7H/Fxex/xcX + sf8XF7H/Fxex/xcXsf8XF7H/Fxex/xERrv+hodj/9PTy//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx + 8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Ly8f/c3Ov/Dg6u/xcXsf8XF7H/Fxex/xcXsf8XF7H/Fxex/xcX + sf8XF7H/Fxex/xcXsf8XF7H/Fxex/xcXsf8XF7H/Fxex/xcXsf8XF7H/Fxex/xcXsf8UFK//bm7f/xQU + rv8XF7H/Fxex/xcXsP8mJrM7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtL + vF4WFrH/GRmx/xkZsf8UFK//dXXj/ywsvP8XF7H/GRmx/xkZsf8ZGbH/GRmx/xkZsf8ZGbH/GRmx/xkZ + sf8ZGbH/GRmx/xkZsf8ZGbH/GRmx/xkZsf8ZGbH/GRmx/xcXsf8qKrf/+fny//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/29vH/ZmbJ/xQUsP8ZGbH/GRmx/xkZ + sf8ZGbH/GRmx/xkZsf8ZGbH/GRmx/xkZsf8ZGbH/GRmx/xkZsf8ZGbH/GRmx/xkZsf8ZGbH/GRmx/xkZ + sf8ZGbH/GRmx/xkZsf8ZGbH/GRmx/xkZsf8ZGbH/GRmx/xkZsf8ZGbH/GRmx/xkZsf8ZGbH/EhKv/6Ki + 2v/19fL/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8/Py/93d + 7P8PD6//GRmx/xkZsf8ZGbH/GRmx/xkZsf8ZGbH/GRmx/xkZsf8ZGbH/GRmx/xkZsf8ZGbH/GRmx/xkZ + sf8ZGbH/GRmx/xkZsf8ZGbH/Fhaw/0FBx/9cXNX/FRWw/xkZsf8ZGbH/FBSw/2howzQAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfHzIMxUVsv8YGLT/GRm0/xYWsv8+Psf/g4Pq/xER + r/8ZGbT/GRm0/xkZtP8ZGbT/GRm0/xkZtP8ZGbT/GRm0/xkZtP8ZGbT/GRm0/xkZtP8ZGbT/GRm0/xkZ + tP8ZGbT/Fxez/ysruP/7+/T/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly + 8v/y8vL/8vLy//j48/9nZ8r/FBSy/xkZtP8ZGbT/GRm0/xkZtP8ZGbT/GRm0/xkZtP8ZGbT/GRm0/xkZ + tP8ZGbT/GRm0/xkZtP8ZGbT/GRm0/xkZtP8ZGbT/GRm0/xkZtP8ZGbT/GRm0/xkZtP8ZGbT/GRm0/xkZ + tP8ZGbT/GRm0/xkZtP8ZGbT/GRm0/xkZtP8SErH/o6Pb//j49f/09PT/9PT0//T09P/09PT/9PT0//T0 + 9P/09PT/9PT0//T09P/09PT/9PT0//T09P/19fT/4ODu/w8Psf8ZGbT/GRm0/xkZtP8ZGbT/GRm0/xkZ + tP8ZGbT/GRm0/xkZtP8ZGbT/GRm0/xkZtP8ZGbT/GRm0/xkZtP8ZGbT/GRm0/xgYs/8UFLH/l5f1/yUl + uv8YGLP/GRm0/xcXs/8uLrf/XFzBCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAUVHA+hYWtP8YGLT/GBi0/xERsf+WlvT/V1fV/xMTsv8YGLT/GBi0/xgYtP8YGLT/GBi0/xgY + tP8YGLT/GBi0/xgYtP8YGLT/GBi0/xgYtP8YGLT/GBi0/xgYtP8XF7T/Kyu6//z89f/y8vL/8vLy//Ly + 8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/+fn0/2dnzP8UFLP/GBi0/xgY + tP8YGLT/GBi0/xgYtP8YGLT/GBi0/xgYtP8YGLT/GBi0/xgYtP8YGLT/GBi0/xgYtP8YGLT/GBi0/xgY + tP8YGLT/GBi0/xgYtP8YGLT/GBi0/xgYtP8YGLT/GBi0/xgYtP8YGLT/GBi0/xgYtP8YGLT/GBi0/xIS + sv+kpN3/+Pj2//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//b2 + 9f/h4e//Dw+y/xgYtP8YGLT/GBi0/xgYtP8YGLT/GBi0/xgYtP8YGLT/GBi0/xgYtP8YGLT/GBi0/xgY + tP8YGLT/GBi0/xgYtP8YGLT/ERGw/25u4P98fOf/ExOy/xgYtP8YGLT/FBS0/3V1x9wAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8vNWcEBC1/xoat/8aGrf/GBi2/zU1 + xP+rq/7/R0fN/xMTtP8ZGbb/Ghq3/xoat/8aGrf/Ghq3/xoat/8aGrf/Ghq3/xoat/8aGrf/Ghq3/xoa + t/8aGrf/Ghq3/xgYtv8sLLz//v73//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X1 + 9f/19fX/9fX1//X19f/7+/b/aGjN/xUVtf8aGrf/Ghq3/xoat/8aGrf/Ghq3/xoat/8aGrf/Ghq3/xoa + t/8aGrf/Ghq3/xoat/8aGrf/Ghq3/xoat/8aGrf/Ghq3/xoat/8aGrf/Ghq3/xoat/8aGrf/Ghq3/xoa + t/8aGrf/Ghq3/xoat/8aGrf/Ghq3/xoat/8aGrf/ExO0/6Wl3v/5+ff/9vb2//b29v/29vb/9vb2//b2 + 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9/f2/+Li8P8QELT/Ghq3/xoat/8aGrf/Ghq3/xoa + t/8aGrf/Ghq3/xoat/8aGrf/Ghq3/xoat/8aGrf/Ghq3/xoat/8aGrf/GRm2/xERsv9lZdz/pqb9/yIi + u/8ZGbb/Ghq3/xkZt/8TE7T/pKTRdgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAJeXzSBQUMH/Fha3/xkZt/8ZGbf/FBS1/1xc2f+srP//Z2fd/xkZt/8WFrb/GBi3/xkZ + t/8ZGbf/GRm3/xkZt/8ZGbf/GRm3/xkZt/8ZGbf/GRm3/xkZt/8ZGbf/GBi3/ywsvf////j/9vb2//b2 + 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//z89/9pac7/FRW2/xkZ + t/8ZGbf/GRm3/xkZt/8ZGbf/GRm3/xkZt/8ZGbf/GRm3/xkZt/8ZGbf/GRm3/xkZt/8ZGbf/GRm3/xkZ + t/8ZGbf/GRm3/xkZt/8ZGbf/GRm3/xkZt/8ZGbf/GRm3/xkZt/8ZGbf/GRm3/xkZt/8ZGbf/GRm3/xkZ + t/8SErX/pqbf//v7+P/39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f3 + 9//4+Pf/4+Px/xAQtf8ZGbf/GRm3/xkZt/8ZGbf/GRm3/xkZt/8ZGbf/GRm3/xkZt/8ZGbf/GRm3/xkZ + t/8ZGbf/GBi3/xUVtf8dHbn/eXnm/6ys//9AQMr/Fxe2/xkZt/8ZGbf/ExO2/3Nzx/NkZMQHAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALCw1H4hIbr/GRm5/xsb + uv8bG7r/FBS2/1tb2P+qqv7/mZn2/1tb2P8mJsD/FBS2/xUVt/8VFbf/FRW3/xUVt/8VFbf/FRW3/xUV + t/8VFbf/FRW3/xUVt/8UFLf/KSm9////+f/39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f3 + 9//39/f/9/f3//f39//39/f//f34/2dnzv8SErb/FRW3/xUVt/8VFbf/FRW3/xUVt/8VFbf/FRW3/xUV + t/8VFbf/FRW3/xUVt/8VFbf/FRW3/xUVt/8VFbf/FRW3/xUVt/8VFbf/FRW3/xUVt/8VFbf/FRW3/xUV + t/8VFbf/FRW3/xUVt/8VFbf/FRW3/xUVt/8VFbf/FRW3/w8Ptf+kpN//+vr3//f39//39/f/9/f3//f3 + 9//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//j49//i4vD/DAy0/xUVt/8VFbf/FRW3/xUV + t/8VFbf/FRW3/xUVt/8VFbf/FRW3/xUVt/8VFbf/FRW3/xMTtv8tLcP/ZWXd/6Oj+/+np/3/RkbP/xYW + t/8bG7r/Gxu6/xcXuf84OL7/vb3WVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAANPT2q8hIbv/GBi6/xoau/8aGrv/FRW4/zc3yf+UlPP/p6f8/6en + /P+amvf/goLr/4GB6v+Bger/gYHq/4GB6v+Bger/gYHq/4GB6v+Bger/gYHq/4CA6v+Kiuv//Pz3//f3 + 9//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//6+vf/q6vu/35+ + 6v+Bger/gYHq/4GB6v+Bger/gYHq/4GB6v+Bger/gYHq/4GB6v+Bger/gYHq/4GB6v+Bger/gYHq/4GB + 6v+Bger/gYHq/4GB6v+Bger/gYHq/4GB6v+Bger/gYHq/4GB6v+Bger/gYHq/4GB6v+Bger/gYHq/4GB + 6v+Bger/fX3p/8vL8f/5+ff/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f3 + 9//39/f/9/f3/+vr9f97e+n/gYHq/4GB6v+Bger/gYHq/4GB6v+Bger/gYHq/4GB6v+Bger/gYHq/4GB + 6v+EhOz/nZ34/6en/P+oqP3/iorv/ysrw/8XF7n/Ghq7/xoau/8WFrr/MTG+/7a21YwAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKur + 05k5OcH/FBS6/xoau/8cHLv/Ghq6/xYWuf9FRc//c3Pk/5aW9P+np/z/p6f8/6en/P+np/z/p6f8/6en + /P+np/z/p6f8/6en/P+np/z/pqb8/6ys+//6+vf/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f3 + 9//39/f/9/f3//f39//39/f/9/f3//n59//Dw/r/paX8/6en/P+np/z/p6f8/6en/P+np/z/p6f8/6en + /P+np/z/p6f8/6en/P+np/z/p6f8/6en/P+np/z/p6f8/6en/P+np/z/p6f8/6en/P+np/z/p6f8/6en + /P+np/z/p6f8/6en/P+np/z/p6f8/6en/P+np/z/p6f8/6en/P+kpPz/2Nj4//f39f/29vb/9vb2//b2 + 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/7+/2/6Oj/P+np/z/p6f8/6en + /P+np/z/p6f8/6en/P+np/z/p6f8/6en/P+np/z/p6f8/6io/P+Pj/H/b2/i/zw8zP8UFLj/Ghq7/xwc + u/8aGrv/ExO6/1FRxP+6utZxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJmZ0D6VldHQLS2//xcXvf8WFr3/Gxu+/xkZ + vP8XF7v/Fha7/xUVu/8VFbv/FRW7/xUVu/8VFbv/FRW7/xUVu/8VFbv/FRW7/xUVu/8TE7r/KCi///// + +P/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb//Pz3/2Vl + 0P8REbn/FRW7/xUVu/8VFbv/FRW7/xUVu/8VFbv/FRW7/xUVu/8VFbv/FRW7/xUVu/8VFbv/FRW7/xUV + u/8VFbv/FRW7/xUVu/8VFbv/FRW7/xUVu/8VFbv/FRW7/xUVu/8VFbv/FRW7/xUVu/8VFbv/FRW7/xUV + u/8VFbv/FRW7/w4Ouf+iot//+Pj1//X19f/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/9fX1//X1 + 9f/19fX/9fX1//b29f/f3+//DAy4/xUVu/8VFbv/FRW7/xUVu/8VFbv/FRW7/xUVu/8VFbv/FRW7/xUV + u/8VFbv/FRW7/xYWu/8XF7z/Ghq9/xsbvv8WFr3/Fha9/zk5wv+lpdO7nJzRJAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACentMqXl7Lc5GR0J0VFbygGRm9oBkZvaAZGbygGRm8oBkZvKAZGbygGRm8oBkZ + vKAZGbygGRm8oBkZvKAYGLygFha8oBMTu6A7O8Wq/f33//X19f/19fX/9fX1//X19f/19fX/9fX1//X1 + 9f/19fX/9fX1//X19f/19fX/9fX1//X19f/7+/b/b2/TwxAQup8VFbugFha8oBgYvKAZGbygGRm8oBkZ + vKAZGbygGRm8oBkZvKAZGbygGRm8oBkZvKAZGbygGRm8oBkZvKAZGbygGRm8oBkZvKAZGbygGRm8oBkZ + vKAZGbygGRm8oBkZvKAZGbygGRm8oBkZvKAZGbygGBi8oBcXvKAVFbygDQ26n7a25Nz39/T/9PT0//T0 + 9P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0/+rq8PQKCrmeFRW7oBYW + vKAXF7ygGRm8oBkZvKAZGbygGRm8oBkZvKAZGbygGRm8oBkZvKAZGbygGRm8oBkZvaAZGb2gIiK9oJeX + 0ZlmZsxmnZ3UHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANra + 8Bb19fT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//T09P/09PT/9PT0//X1 + 9P/e3vBaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA+fn0n/Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz + 8//z8/P/8/Pz//Pz8//z8/P/9vbz4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1NTsGvT08//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz + 8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/9PTz/9vb7V0AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD09PGg8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/z8/HjAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADX1+ka8vLx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx + 8f/x8fH/3d3sXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPz8KDw8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Ly8OMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLi7A3v7+//7+/v/+/v7//v7+//7+/v/+/v + 7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//l5e1aAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7+/une7u + 7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u2AAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAOzs7OHt7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7Ozs/+7u7h0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADr6+ti6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6uqZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6+vrYerq6v/r6+v/6+vr/+vr + 6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//q6uqqAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADo6Ojr6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6Ojo/+np + 6SEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA6OjokOfn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn0evr6wcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOnp6Szm5ubv5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+bm5v/n5+dOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6enpR+Xl + 5bvl5eXk5eXl4+Xl5ePl5eXj5eXl4+Xl5ePl5eXk5eXl0Obm5m4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAOjo6BDk5OSM4+Pj3ePj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Dj4+Om5+fnJAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////wAAAAAAP//// + /////+AAAAAAAAAAAAAAH////wAAAAAAAAAAAAAAAAAD/+AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAA + AAAAAAAHAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAA + AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAB/AA + AAAAAAAAAAAAAAAAAT//AAAAAAAAAAAAAAAAAAD//gAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAA + AD/8AAAAAAAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAP/gAAAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAA + AAAAAAAf+AAAAAAAAAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAAAAAAAAAf+AAAAAAA + AAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/gA + AAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAA + AB/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAA + AAAAAAAf+AAAAAAAAAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAAAAAAAAAf+AAAAAAA + AAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/gA + AAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAA + AB/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAA + AAAAAAAf+AAAAAAAAAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAAAAAAAAAf+AAAAAAA + AAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/gA + AAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAA + AB/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAA + AAAAAAAf+AAAAAAAAAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAAAAAAAAAf+AAAAAAA + AAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/gA + AAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAA + AB/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAA + AAAAAAAf+AAAAAAAAAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAAAAAAAAAf+AAAAAAA + AAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/gA + AAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAA + AB/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAA + AAAAAAAf+AAAAAAAAAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAAAAAAAAAf+AAAAAAA + AAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/gA + AAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAA + AB/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAA + AAAAAAAf+AAAAAAAAAAAAAAAAAAAH/wAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAA//AAAAAAA + AAAAAAAAAAAAP/4AAAAAAAAAAAAAAAAAAH//AAAAAAAAAAAAAAAAAAD//4AAAAAAAAAAAAAAAAAB///A + AAAAAAAAAAAAAAAAA///8AAAAAAAAAAAAAAAAA///////AAB/////wAA//////////wAAf////8AAP// + ///////8AAH/////AAD//////////AAB/////wAA//////////4AAf////8AAP/////////+AAP///// + gAD//////////wAD/////4AB//////////+AD//////AA///////////////////////////KAAAAGAA + AADAAAAAAQAgAAAAAACAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoqKiAaOj + owGjo6MBoqKiAaOjowGjo6MBoqKiAaOjowGjo6MBoqKiAaOjowKjo6MDo6OjBKKiogSjo6MEo6OjBKKi + ogSjo6MEo6OjBKKiogSjo6MEo6OjBKKiogSjo6MEo6OjBKKiogSjo6MEo6OjBKKiogSjo6MEo6OjBKKi + ogSjo6MEo6OjBKKiogSjo6MEoqKiBKOjowSjo6MEoqKiBKOjowSjo6MEoqKiA6OjowOjo6MCoqKiAaOj + owGjo6MBoqKiAaOjowGjo6MBoqKiAaOjowGjo6MBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACjo6MBoqKiAaOjowKjo6MCo6OjA6KiogSjo6MFoqKiB6Oj + owejo6MHoqKiB6Ojowmjo6MMoqKiDqOjow+jo6MPoqKiD6Ojow+jo6MPoqKiD6Ojow+jo6MQoqKiE6Oj + oxijo6Mbo6OjHKKiohyjo6Mco6OjHKKiohyjo6Mco6OjHKKiohyjo6Mco6OjHKKiohyjo6Mco6OjHKKi + ohyjo6Mco6OjHKKiohyjo6Mco6OjHKKiohyjo6Mco6OjHKKiohyjo6McoqKiHKOjoxyjo6McoqKiHKOj + oxyjo6McoqKiHKOjoxqjo6MVoqKiEaOjow+jo6MPoqKiD6Ojow+jo6MPoqKiD6Ojow+jo6MOoqKiDKOj + owmjo6MHoqKiB6Ojowejo6MHoqKiBqOjowWjo6MDoqKiA6OjowKjo6MCoqKiAQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoqKiAqKiogSioqIGoqKiCaKioguioqIOoqKiEaKi + ohWioqIWoqKiGKKioh2ioqIjoqKiJqKioieioqInoqKiKaKioi6ioqI1oqKiO6Kioj6ioqI/oqKiP6Ki + oj+ioqI/oqKiP6Kioj+ioqJBoqKiR6KiolGioqJXoqKiWqKioluioqJboqKiW6KioluioqJboqKiW6Ki + oluioqJboqKiW6KioluioqJboqKiW6KioluioqJboqKiW6KioluioqJboqKiW6KioluioqJboqKiW6Ki + oluioqJboqKiW6KioluioqJboqKiW6KioluioqJboqKiWaKiolWioqJMoqKiRKKioj+ioqI/oqKiP6Ki + oj+ioqI/oqKiP6Kioj6ioqI8oqKiNqKioi6ioqIpoqKiJ6KioieioqInoqKiJaKioiCioqIaoqKiF6Ki + ohWioqIToqKiD6KiogyioqIKoqKiB6KiogWioqICoqKiAQAAAAAAAAAAAAAAAKOjowKjo6MKoqKiFKOj + ox+jo6MooqKiMaOjozijo6M+oqKiR6Ojo0+jo6NTo6OjV6KiomCjo6NqoqKicKOjo3Kjo6NzoqKidKOj + o3yjo6OGoqKijqOjo5Kjo6OToqKik6Ojo5Ojo6OToqKik6Ojo5Ojo6OVoqKinKOjo6ejo6Ouo6OjsKKi + orGjo6Oxo6OjsaKiorGjo6Oxo6OjsaKiorGjo6Oxo6OjsaKiorGjo6Oxo6OjsaKiorGjo6Oxo6OjsaKi + orGjo6Oxo6OjsaKiorGjo6Oxo6OjsaKiorGjo6OxoqKisaOjo7Gjo6OxoqKisaOjo7Gjo6OxoqKisKOj + o6ujo6OioqKimKOjo5Ojo6OToqKik6Ojo5Ojo6OToqKik6Ojo5Kjo6OPoqKiiKOjo32jo6N1oqKic6Oj + o3Ojo6NxoqKibqOjo2Wjo6NboqKiVaOjo1Gjo6NMoqKiQ6Ojozqjo6MyoqKiK6OjoyGjo6MYoqKiDqOj + owUAAAAAAAAAAKOjowyjo6MioqKiPqOjo1mjo6NsoqKieqOjo4Sjo6ONoqKil6Ojo6Gjo6Olo6OjqaKi + orGjo6O6oqKiv6Ojo8Gjo6PBoqKiwqOjo8ijo6PPoqKi1aOjo9ejo6PYoqKi2KOjo9ijo6PYoqKi2KOj + o9ijo6PZoqKi3aOjo+Kjo6Pmo6Oj6KKiouijo6Ppo6Oj6aKioumjo6Ppo6Oj6aKioumjo6Ppo6Oj6aKi + oumjo6Ppo6Oj6aKioumjo6Ppo6Oj6aKioumjo6Ppo6Oj6aKioumjo6Ppo6Oj6aKioumjo6PpoqKi6aOj + o+mjo6PpoqKi6aOjo+mjo6PooqKi56Ojo+Sjo6PfoqKi26Ojo9ijo6PYoqKi2KOjo9ijo6PYoqKi2KOj + o9ejo6PVoqKi0KOjo8ijo6PDoqKiwaOjo8Gjo6PAoqKivaOjo7Wjo6OsoqKipqOjo6Ojo6OcoqKikqOj + o4ejo6N8oqKib6Ojo1+jo6NJoqKiLaOjoxKjo6MEAAAAAKKiohSioqI6oqKiaKKioo+ioqKnoqKit6Ki + osKioqLJoqKi0aKiotmioqLcoqKi36KiouKioqLnoqKi66Kiou2ioqLtoqKi7aKiou+ioqLyoqKi9KKi + ovaioqL3oqKi96KioveioqL3oqKi96KioveioqL3oqKi96KioviioqL6oqKi+qKiovuioqL7oqKi+6Ki + ovuioqL7oqKi+6KiovuioqL7oqKi+6KiovuioqL7oqKi+6KiovuioqL7oqKi+6KiovuioqL7oqKi+6Ki + ovuioqL7oqKi+6KiovuioqL7oqKi+6KiovuioqL7oqKi+6KiovuioqL7oqKi+qKiovmioqL4oqKi96Ki + oveioqL3oqKi96KioveioqL3oqKi96KiovaioqL0oqKi8qKiou+ioqLuoqKi7aKiou2ioqLsoqKi6aKi + ouWioqLgoqKi3aKiotqioqLUoqKizKKiosOioqK5oqKiq6KiopeioqJ5oqKiTaKioiCioqIIAAAAAKOj + oxKjo6M1oqKiYqOjo4ejo6OdoqKiraOjo7mjo6PAoqKiyaOjo9Gjo6PVo6Oj16Kiotqjo6PfoqKi5aOj + o+ijo6PooqKi6KOjo+mjo6PqoqKi7aOjo/Gjo6PzoqKi9KOjo/Sjo6P0oqKi9KOjo/Sjo6P0oqKi9KOj + o/Sjo6P0o6Oj9aKiovejo6P5o6Oj+aKiovqjo6P6o6Oj+qKiovqjo6P6o6Oj+qKiovqjo6P6o6Oj+qKi + ovqjo6P6o6Oj+qKiovqjo6P6o6Oj+qKiovqjo6P6o6Oj+qKiovqjo6P6oqKi+qOjo/qjo6P6oqKi+aOj + o/ijo6P2oqKi9aOjo/Sjo6P0oqKi9KOjo/Sjo6P0oqKi9KOjo/Sjo6P0oqKi86Ojo/Kjo6PvoqKi7KOj + o+mjo6PooqKi6KOjo+ijo6PmoqKi4aOjo9ujo6PYoqKi1qOjo9Kjo6PKoqKiwqOjo7qjo6OvoqKioaOj + o42jo6NwoqKiSKOjox6jo6MHAAAAAKOjowijo6MboqKiM6Ojo0qjo6NaoqKiZ6Ojo3Kjo6N6oqKihKen + p5murq6wtbW1v7e3t8W2trbLtra20ba2ttS2trbVtra21ba2ttW2trbXtra23LW1teG2trbjtbW15La2 + tuW2trbltra25ba2tuW2trbltra25ba2tuW2trbltra26La2tuy2trbvtra28La2tvC2trbwtra28La2 + tvC2trbwtra28La2tvC2trbwtra28La2tvC2trbwtra28La2tvC2trbwtra28La2tvC2trbwtra28La2 + tvC2trbwtra28La2tvC2trbwtra277a2tu22trbqtra25ra2tuW2trbltra25ba2tuW2trbltra25ba2 + tuW2trbltbW15La2tuK2trbftra22ba2tta2trbVtra21ba2ttS2trbStra2zLe3t8W3t7fCt7e3wbW1 + tbmtra2gp6enhaOjo3Ojo6NpoqKiXKOjo02jo6M7oqKiJKOjow6jo6MDAAAAAKKiogGioqIGoqKiDaKi + ohaioqIdoqKiJKKioiqrq6tBxMTEqtXV1eza2tr+2tra/tra2v7b29v+29vb/tvb2/7c3Nz+3Nzc/tzc + 3P7c3Nz+3d3d/t3d3f7d3d3+3d3d/t7e3v7e3t7+3t7e/t7e3v7e3t7+39/f/t/f3/7f39/+39/f/t/f + 3/7f39/+39/f/uDg4P7g4OD+4ODg/uDg4P7g4OD+4ODg/uDg4P7g4OD+4ODg/uDg4P7g4OD+4ODg/uDg + 4P7g4OD+4ODg/uDg4P7g4OD+4ODg/uDg4P7g4OD+4ODg/uDg4P7g4OD+39/f/t/f3/7f39/+39/f/t/f + 3/7f39/+39/f/t7e3v7e3t7+3t7e/t7e3v7e3t7+3d3d/t3d3f7d3d3+3d3d/tzc3P7c3Nz+3Nzc/tzc + 3P7b29v+29vb/tvb2/7a2tr+2tra/tra2v7Z2dn91NTU5MPDw5qpqakyoqKiHqKiohekpKQQpaWlCaOj + owIAAAAAAAAAAAAAAAAAAAAAAAAAAKurqwKurq4DsLCwBcHBwULY2Njj2dnZ/tra2v/b29v/29vb/9vb + 2/7c3Nz/29vb/tzc3P/d3d3/3Nzc/t3d3f/d3d3/3d3d/t7e3v/e3t7/3t7e/t/f3//f39//3t7e/t/f + 3//f39//39/f/uDg4P/g4OD/4ODg/+Dg4P7g4OD/4eHh/+Dg4P7h4eH/4eHh/+Dg4P7h4eH/4eHh/+Hh + 4f7h4eH/4eHh/+Hh4f7h4eH/4eHh/+Hh4f7h4eH/4eHh/+Hh4f7h4eH/4eHh/+Dg4P7h4eH/4ODg/uHh + 4f/h4eH/4ODg/uDg4P/g4OD/4ODg/uDg4P/g4OD/39/f/t/f3//f39//39/f/t/f3//f39//3t7e/t7e + 3v/e3t7/3d3d/t3d3f/d3d3/3Nzc/tzc3P/c3Nz/29vb/tzc3P/b29v/2tra/tvb2//a2tr/2dnZ/tnZ + 2f/W1tbXvb29Mbi4uAKzs7MBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAycnJLNnZ + 2era2tr/2tra/tvb2//b29v/29vb/9vb2/7c3Nz/3Nzc/t3d3f/d3d3/3d3d/t3d3f/e3t7/3t7e/t7e + 3v/e3t7/3t7e/t/f3//f39//39/f/uDg4P/g4OD/4ODg/uDg4P/g4OD/4eHh/+Dg4P7h4eH/4eHh/+Hh + 4f7h4eH/4eHh/+Hh4f7h4eH/4eHh/+Hh4f7i4uL/4uLi/+Hh4f7i4uL/4uLi/+Hh4f7i4uL/4uLi/+Hh + 4f7i4uL/4uLi/+Hh4f7h4eH/4eHh/uHh4f/h4eH/4ODg/uHh4f/h4eH/4ODg/uDg4P/g4OD/4ODg/uDg + 4P/g4OD/39/f/t/f3//f39//3t7e/t/f3//e3t7/3t7e/t7e3v/d3d3/3d3d/t3d3f/d3d3/3Nzc/tzc + 3P/c3Nz/29vb/tvb2//b29v/2tra/tra2v/Z2dn/2NjY4cfHxxoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADLy8sI2NjYv9ra2v/a2tr/2tra/tvb2//b29v/3Nzc/9zc3P7c3Nz/3Nzc/t3d + 3f/d3d3/3d3d/t7e3v/e3t7/3t7e/t/f3//f39//39/f/t/f3//g4OD/39/f/uDg4P/g4OD/4ODg/uHh + 4f/h4eH/4eHh/+Hh4f7h4eH/4eHh/+Hh4f7i4uL/4uLi/+Hh4f7i4uL/4uLi/+Hh4f7i4uL/4uLi/+Hh + 4f7i4uL/4uLi/+Li4v7i4uL/4uLi/+Hh4f7i4uL/4uLi/+Hh4f7i4uL/4eHh/uLi4v/i4uL/4eHh/uHh + 4f/h4eH/4ODg/uHh4f/h4eH/4ODg/uDg4P/g4OD/39/f/uDg4P/f39//39/f/t/f3//f39//3t7e/t7e + 3v/e3t7/3d3d/t3d3f/d3d3/3Nzc/tzc3P/c3Nz/29vb/tvb2//b29v/2tra/tra2v/a2tr/2dnZ/tfX + 16XPz88CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ2dlH2dnZ/tra2v7a2tr+2tra/tvb + 2/7b29v+3Nzc/tzc3P7c3Nz+3Nzc/t3d3f7d3d3+3d3d/t7e3v7e3t7+3t7e/t/f3/7f39/+39/f/t/f + 3/7g4OD+4ODg/uDg4P7g4OD+4ODg/uHh4f7h4eH+4eHh/uHh4f7h4eH+4eHh/uHh4f7h4eH+4uLi/uLi + 4v7i4uL+4uLi/uLi4v7i4uL+4uLi/uLi4v7i4uL+4uLi/uLi4v7i4uL+4uLi/uLi4v7i4uL+4uLi/uLi + 4v7i4uL+4uLi/uHh4f7h4eH+4eHh/uHh4f7h4eH+4eHh/uHh4f7h4eH+4ODg/uDg4P7g4OD+4ODg/uDg + 4P7f39/+39/f/t/f3/7f39/+3t7e/t7e3v7e3t7+3d3d/t3d3f7d3d3+3d3d/tzc3P7c3Nz+3Nzc/tvb + 2/7b29v+2tra/tra2v7a2tr+2dnZ/tnZ2fjZ2dkuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADa2tqV2tra/tvb2//b29v/29vb/tzc3P/c3Nz/3Nzc/9zc3P7d3d3/3d3d/t7e3v/e3t7/3t7e/t/f + 3//f39//39/f/t/f3//g4OD/4ODg/uDg4P/g4OD/4ODg/uHh4f/h4eH/4eHh/uLi4v/i4uL/4uLi/+Li + 4v7i4uL/4uLi/+Li4v7j4+P/4+Pj/+Pj4/7j4+P/4+Pj/+Li4v7j4+P/4+Pj/+Li4v7j4+P/4+Pj/+Li + 4v7j4+P/4+Pj/+Li4v7j4+P/4+Pj/+Li4v7j4+P/4uLi/uPj4//i4uL/4uLi/uLi4v/i4uL/4uLi/uLi + 4v/i4uL/4eHh/uHh4f/h4eH/4ODg/uDg4P/g4OD/4ODg/uDg4P/f39//39/f/t/f3//f39//3t7e/t7e + 3v/e3t7/3d3d/t3d3f/d3d3/3Nzc/tzc3P/c3Nz/29vb/tvb2//b29v/2tra/tra2v/a2tp4AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADa2trB2tra/tra2v7b29v+29vb/tzc3P7c3Nz+3Nzc/tzc + 3P7d3d3+3d3d/t7e3v7e3t7+3t7e/t7e3v7f39/+39/f/t/f3/7g4OD+4eHh/uHh4f7h4eH+4eHh/uLi + 4v7i4uL+4uLi/uLi4v7j4+P+4+Pj/uPj4/7j4+P+4+Pj/uPj4/7j4+P+4+Pj/uPj4/7k5OT+5OTk/uTk + 5P7k5OT+5OTk/uPj4/7j4+P+4+Pj/uPj4/7j4+P+4+Pj/uPj4/7j4+P+4+Pj/uPj4/7j4+P+4+Pj/uTk + 5P7k5OT+5OTk/uTk5P7k5OT+5OTk/uPj4/7j4+P+4+Pj/uLi4v7i4uL+4eHh/uDg4P7g4OD+4ODg/uDg + 4P7f39/+39/f/t/f3/7f39/+3t7e/t7e3v7e3t7+3d3d/t3d3f7d3d3+3Nzc/tzc3P7c3Nz+29vb/tvb + 2/7b29v+2tra/tra2v7Z2dmkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADb29vH2tra/tvb + 2//c3Nz/3Nzc/tzc3P/d3d3/3d3d/93d3f7e3t7/3t7e/t7e3v/f39//39/f/t/f3//g4OD/4ODg/uHh + 4f/i4uL/4uLi/uPj4//k5OT/5OTk/uTk5P/k5OT/5OTk/uXl5f/l5eX/5eXl/+Xl5f7l5eX/5eXl/+bm + 5v7m5ub/5ubm/+bm5v7m5ub/5ubm/+bm5v7m5ub/5eXl/+Xl5f7k5OT/5OTk/+Pj4/7k5OT/5OTk/+Pj + 4/7k5OT/5OTk/+Xl5f7l5eX/5eXl/ubm5v/m5ub/5ubm/ufn5//n5+f/5+fn/ufn5//m5ub/5eXl/uTk + 5P/j4+P/4+Pj/uLi4v/h4eH/4ODg/uHh4f/g4OD/4ODg/uDg4P/f39//39/f/t/f3//f39//3t7e/t7e + 3v/e3t7/3d3d/t3d3f/d3d3/3Nzc/tzc3P/b29v/29vb/tvb2//a2tqvAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADb29vH29vb/tzc3P/c3Nz/3Nzc/t3d3f/d3d3/3t7e/93d3f7e3t7/3t7e/t/f + 3//f39//39/f/uDg4P/g4OD/4eHh/uLi4v/k5OT/5eXl/ubm5v/n5+f/5+fn/ujo6P/o6Oj/6Ojo/ujo + 6P/o6Oj/6Ojo/+jo6P7p6en/6enp/+np6f7p6en/6enp/+np6f7p6en/6enp/+np6f7o6Oj/5+fn/+bm + 5v7l5eX/5eXl/+Tk5P7k5OT/5OTk/+Tk5P7l5eX/5eXl/+bm5v7n5+f/6Ojo/unp6f/l5eX/2Nja/tLS + 1P/Nzc//0NDS/tbW2P/i4uL/6enp/ufn5//m5ub/5eXl/uTk5P/i4uL/4eHh/uHh4f/h4eH/4ODg/uDg + 4P/g4OD/39/f/t/f3//f39//3t7e/t7e3v/e3t7/3d3d/t3d3f/d3d3/3Nzc/tzc3P/c3Nz/29vb/tvb + 2//b29uvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADb29vH29vb/tvb2/7c3Nz+3Nzc/t3d + 3f7d3d3+3d3d/t7e3v7e3t7+3t7e/t/f3/7f39/+39/f/uDg4P7h4eH+4uLi/uTk5P7m5ub+wcHD/nl5 + gP5mZm/+Z2dv/mdnb/5nZ2/+Z2dv/mdnb/5nZ2/+Z2dv/mdncP5nZ3D+Z2dw/mdncP5nZ3D+Z2dw/mdn + cP5nZ3D+Z2dw/mdncP56eoH+xsbI/ujo6P7n5+f+5ubm/uXl5f7l5eX+5eXl/uXl5f7n5+f+6Ojo/unp + 6f7p6en+t7e6/mRkbf40NED+GBgn/gsLG/4CAhP+CAgY/hUVI/4tLTr+W1tk/qWlqf7l5eX+6Ojo/ubm + 5v7k5OT+4+Pj/uLi4v7h4eH+4ODg/uDg4P7g4OD+39/f/t/f3/7f39/+3t7e/t7e3v7e3t7+3d3d/t3d + 3f7d3d3+3Nzc/tzc3P7c3Nz+29vb/tvb2/7a2tqvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADc3NzH29vb/tzc3P/d3d3/3d3d/t3d3f/e3t7/3t7e/97e3v7f39//39/f/uDg4P/g4OD/4ODg/uHh + 4f/i4uL/4+Pj/ubm5v+IiI7/BwcX/gICFf8CAhX/AgIV/gICFf8CAhX/AgIV/gICFf8CAhX/AgIV/wIC + Ff4CAhX/AgIV/wICFf4CAhX/AgIV/wICFf4CAhX/AgIV/wICFf4CAhT/BwcX/7GxtP7o6Oj/5ubm/+Xl + 5f7m5ub/5ubm/+fn5/7o6Oj/6+vr/7CwtP41NUH/AgIT/gICFf8CAhb/AgIW/gMDF/8DAxf/AgIW/gMD + F/8CAhb/AgIV/gICE/8gIC7/k5OZ/uXl5f/n5+f/5eXl/uPj4//i4uL/4eHh/uHh4f/h4eH/4ODg/uDg + 4P/g4OD/39/f/t/f3//f39//3t7e/t7e3v/e3t7/3d3d/t3d3f/c3Nz/3Nzc/tzc3P/b29uvAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADc3NzH3Nzc/t3d3f/d3d3/3d3d/t7e3v/e3t7/39/f/97e + 3v7f39//39/f/uDg4P/g4OD/4ODg/uHh4f/i4uL/5eXl/sfHyf8QEB//AgIW/gMDF/8DAxf/AgIW/gMD + F/8DAxf/AgIW/gMDF/8DAxf/AwMX/wICFv4DAxf/AwMX/wICFv4DAxf/AwMX/wICFv4DAxf/AwMX/wIC + Fv4DAxf/AgIV/0lJU/7q6ur/6Ojo/+bm5v7m5ub/5+fn/+np6f7n5+f/fHyD/wkJGf4CAhX/AgIW/gMD + F/8DAxf/AgIW/gMDF/8DAxf/AgIW/gMDF/8DAxf/AgIW/gMDF/8CAhb/BAQV/lFRWv/X19j/5+fn/uXl + 5f/j4+P/4uLi/uHh4f/h4eH/4ODg/uDg4P/g4OD/39/f/t/f3//f39//3t7e/t7e3v/e3t7/3d3d/t3d + 3f/d3d3/3Nzc/tzc3P/c3NyvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADc3NzH3Nzc/tzc + 3P7d3d3+3d3d/t7e3v7e3t7+3t7e/t/f3/7f39/+39/f/uDg4P7g4OD+4ODg/uHh4f7j4+P+5ubm/qKi + p/4CAhT+AgIW/gICFv4CAhb+AgIW/gICFv4CAhb+AgIW/gICFv4CAhb+AgIW/gICFv4CAhb+AgIW/gIC + Fv4CAhb+AgIW/gICFv4CAhb+AgIW/gICFv4CAhb+AgIW/kBAS/7q6ur+6Ojo/ufn5/7o6Oj+6enp/urq + 6v51dX3+BAQV/gICFv4CAhb+AgIW/gICFv4CAhb+AgIW/gICFv4CAhX+AgIV/gICFv4CAhb+AgIW/gIC + Fv4CAhb+AgIW/gICFP45OUT+3Nzd/ufn5/7k5OT+4uLi/uLi4v7h4eH+4ODg/uDg4P7g4OD+39/f/t/f + 3/7f39/+3t7e/t7e3v7e3t7+3d3d/t3d3f7d3d3+3Nzc/tzc3P7b29uvAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADd3d3H3Nzc/t3d3f/e3t7/3d3d/t7e3v/f39//39/f/9/f3/7g4OD/4ODg/uHh + 4f/h4eH/4eHh/uLi4v/j4+P/5ubm/r+/wf8JCRr/AgIW/gMDF/8DAxf/AgIW/gMDF/8DAxf/AgIW/gMD + F/8DAxf/AwMX/wICFv4DAxf/AwMX/wICFv4DAxf/AwMX/wICFv4DAxf/AwMX/wICFv4CAhb/AwMT/5aW + m/7p6en/6Ojo/+jo6P7p6en/6+vr/5SUmf4GBhb/AgIW/wICFv4DAxf/AgIW/gMDF/8CAhX/Cgoa/kBA + S/9hYWr/UlJc/iEhLv8CAhT/AgIW/gMDF/8DAxf/AgIW/gMDF/8CAhT/T09Z/unp6f/m5ub/5OTk/uLi + 4v/i4uL/4eHh/uHh4f/h4eH/4ODg/uDg4P/g4OD/39/f/t/f3//e3t7/3t7e/t7e3v/d3d3/3Nzc/tzc + 3P/c3NyvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADd3d3H3d3d/t7e3v/e3t7/3t7e/t/f + 3//f39//39/f/9/f3/7g4OD/4ODg/uHh4f/h4eH/4eHh/uLi4v/j4+P/5ubm/ubm5v9BQU3/AgIV/gMD + F/8DAxf/AgIW/gMDF/8CAhb/AgIT/ggIF/8fHy3/ICAu/yAgLf4fHy3/Hx8t/x8fLf4fHy3/Hx8t/x8f + Lf4fHy3/Hx8t/yIiL/5GRlH/oKCk/+jo6P7p6en/6Ojo/+np6f7r6+v/29vc/xQUIv4CAhb/AwMX/wIC + Fv4DAxf/AgIW/gICFP84OET/wcHE/uvr6//t7e3/7Ozs/t7e3/9/f4b/CQkZ/gICFv8DAxf/AgIW/gMD + F/8CAhb/AwMU/qmprP/o6Oj/5eXl/uPj4//i4uL/4eHh/uHh4f/h4eH/4ODg/uDg4P/g4OD/39/f/t/f + 3//f39//3t7e/t7e3v/e3t7/3d3d/t3d3f/c3NyvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADd3d3H3d3d/t3d3f7e3t7+3t7e/t7e3v7f39/+39/f/t/f3/7g4OD+4ODg/uHh4f7h4eH+4eHh/uLi + 4v7j4+P+5eXl/ufn5/6zs7f+CgoZ/gICFv4CAhb+AgIW/gICFv4CAhb+AgIW/g8PHv6vr7P+8vLy/vDw + 8P7u7u7+7e3t/uzs7P7s7Oz+7Ozs/uzs7P7s7Oz+7Ozs/uvr6/7r6+v+6urq/unp6f7o6Oj+6Ojo/unp + 6f7s7Oz+d3d//gICFP4CAhb+AgIW/gICFv4CAhb+AgIW/i4uO/7Z2dr+7Ozs/urq6v7p6en+6enp/uvr + 6/7r6+v+gYGI/gICE/4CAhb+AgIW/gICFv4CAhb+AgIW/j8/Sv7k5OT+5ubm/uTk5P7i4uL+4eHh/uHh + 4f7h4eH+4ODg/uDg4P7g4OD+39/f/t/f3/7f39/+3t7e/t7e3v7d3d3+3d3d/t3d3f7c3NyvAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADd3d3H3d3d/t7e3v/f39//3t7e/t/f3//g4OD/4ODg/+Dg + 4P7h4eH/4eHh/uHh4f/i4uL/4uLi/uLi4v/j4+P/5OTk/ubm5v/o6Oj/kJCV/gYGFv8CAhb/AgIW/gMD + F/8DAxf/AgIW/gICFv8NDR3/n5+k//Dw8P7u7u7/7Ozs/+vr6/7q6ur/6urq/+np6f7p6en/6enp/+np + 6f7p6en/6Ojo/+jo6P7o6Oj/6enp/+rq6v7f3+D/ICAu/wICFv4DAxf/AwMX/wICFv4CAhb/AgIT/rm5 + vP/s7Oz/6urq/ujo6P/n5+f/5+fn/unp6f/r6+v/6+vr/iUlMv8CAhb/AgIW/gMDF/8DAxf/AgIW/ggI + GP/Ly83/5+fn/uXl5f/j4+P/4uLi/uLi4v/i4uL/4eHh/uHh4f/g4OD/4ODg/uDg4P/f39//3t7e/t/f + 3//e3t7/3d3d/t3d3f/d3d2vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADe3t7H3d3d/t7e + 3v/f39//39/f/uDg4P/g4OD/4ODg/+Dg4P7h4eH/4eHh/uLi4v/i4uL/4uLi/uPj4//j4+P/5OTk/uXl + 5f/n5+f/6enp/pKSmP8NDR3/AgIW/gMDF/8DAxf/AgIW/gMDF/8CAhb/CQkZ/39/hv7o6Oj/7e3t/+vr + 6/7q6ur/6enp/+jo6P7o6Oj/6Ojo/+jo6P7o6Oj/6Ojo/+jo6P7p6en/6urq/+zs7P6urrP/AwMU/wIC + Fv4DAxf/AwMX/wICFv4CAhb/KSk3/u3t7f/r6+v/6enp/ujo6P/n5+f/5+fn/ufn5//q6ur/7Ozs/m9v + d/8CAhX/AgIW/gMDF/8DAxf/AgIW/gICFP+bm6D/6Ojo/uXl5f/j4+P/4uLi/uLi4v/i4uL/4eHh/uHh + 4f/h4eH/4ODg/uDg4P/g4OD/39/f/t/f3//e3t7/3t7e/t7e3v/d3d2vAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADd3d3H3t7e/t7e3v7f39/+39/f/t/f3/7g4OD+4ODg/uDg4P7h4eH+4eHh/uHh + 4f7i4uL+4uLi/uLi4v7j4+P+4+Pj/uTk5P7l5eX+6Ojo/urq6v6lpar+EREg/gICFv4CAhb+AgIW/gIC + Fv4CAhb+AgIW/gMDFP5PT1n+29vd/uzs7P7r6+v+6urq/unp6f7o6Oj+6Ojo/ufn5/7n5+f+5+fn/ujo + 6P7p6en+6urq/uzs7P5xcXn+AgIV/gICFv4CAhb+AgIW/gICFv4CAhX+W1tk/u7u7v7q6ur+6Ojo/ufn + 5/7m5ub+5+fn/ufn5/7p6en+7Ozs/piYnv4CAhT+AgIW/gICFv4CAhb+AgIW/gICFf6AgIf+6enp/uXl + 5f7j4+P+4uLi/uLi4v7i4uL+4eHh/uHh4f7g4OD+4ODg/uDg4P7f39/+39/f/t/f3/7e3t7+3t7e/t3d + 3f7d3d2vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADe3t7H3t7e/t/f3//f39//39/f/uDg + 4P/g4OD/4eHh/+Hh4f7i4uL/4eHh/uLi4v/j4+P/4uLi/uPj4//k5OT/4+Pj/uTk5P/l5eX/5ubm/ujo + 6P/q6ur/wcHD/iAgLv8CAhX/AgIW/gMDF/8DAxf/AwMX/wICFv4CAhT/HBwq/7CwtP7s7Oz/7Ozs/+rq + 6v7p6en/6enp/+jo6P7o6Oj/6Ojo/+jo6P7p6en/6+vr/+3t7f4/P0r/AgIW/wICFv4DAxf/AwMX/wIC + Fv4CAhX/cXF5/u7u7v/r6+v/6Ojo/ufn5//n5+f/5+fn/ujo6P/q6ur/7Ozs/pycov8CAhT/AgIW/gMD + F/8DAxf/AgIW/gICFf93d37/6enp/ubm5v/k5OT/4uLi/uPj4//i4uL/4eHh/uLi4v/h4eH/4ODg/uDg + 4P/g4OD/39/f/t/f3//f39//3t7e/t7e3v/e3t6vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADe3t7H3t7e/t/f3//f39//39/f/uDg4P/h4eH/4eHh/+Hh4f7i4uL/4uLi/uPj4//j4+P/4+Pj/uTk + 5P/k5OT/5OTk/uTk5P/l5eX/5eXl/ufn5//p6en/6urq/s7O0P83N0P/AgIU/gICFv8DAxf/AwMX/wIC + Fv4CAhb/AgIW/wsLG/51dX3/5OTk/+zs7P7r6+v/6enp/+np6f7o6Oj/6Ojo/+np6f7q6ur/7Ozs/+zs + 7P4hIS//AgIW/wICFv4DAxf/AwMX/wICFv4CAhX/Wlpj/u/v7//s7Oz/6urq/ujo6P/n5+f/5+fn/ujo + 6P/q6ur/7e3t/oiIjv8CAhT/AgIW/gMDF/8DAxf/AgIW/gICFP+KipD/6enp/ubm5v/l5eX/4+Pj/uPj + 4//j4+P/4uLi/uLi4v/h4eH/4eHh/uHh4f/g4OD/4ODg/uDg4P/f39//3t7e/t7e3v/e3t6vAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADe3t7H3t7e/t/f3/7f39/+4ODg/uDg4P7g4OD+4eHh/uHh + 4f7i4uL+4uLi/uLi4v7j4+P+4+Pj/uPj4/7k5OT+5OTk/uTk5P7k5OT+5eXl/ubm5v7n5+f+6Ojo/uvr + 6/7b29z+VVVf/gICE/4CAhb+AgIW/gICFv4CAhb+AgIW/gICFv4DAxT+Pj5J/tbW1/7t7e3+7Ozs/urq + 6v7p6en+6enp/unp6f7q6ur+7Ozs/t7e3/4XFyb+AgIW/gICFv4CAhb+AgIW/gICFv4CAhb+Hx8t/u3t + 7f7t7e3+6urq/unp6f7p6en+6enp/unp6f7r6+v+7u7u/kxMVv4CAhX+AgIW/gICFv4CAhb+AgIW/gIC + E/6vr7P+6enp/ubm5v7k5OT+4+Pj/uPj4/7i4uL+4uLi/uHh4f7h4eH+4eHh/uDg4P7g4OD+4ODg/t/f + 3/7f39/+3t7e/t7e3v7e3t6vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADf39/H39/f/uDg + 4P/g4OD/4ODg/uHh4f/h4eH/4uLi/+Hh4f7i4uL/4uLi/uPj4//j4+P/4+Pj/uTk5P/k5OT/5OTk/uXl + 5f/l5eX/5eXl/ubm5v/m5ub/6Ojo/unp6f/q6ur/7Ozs/n9/hv8MDBz/AgIW/wICFv4DAxf/AwMX/wIC + Fv4DAxf/AgIV/xcXJv6np6v/7e3t/+zs7P7q6ur/6urq/+np6f7q6ur/7Ozs/9DQ0v4QECD/AwMX/wIC + Fv4DAxf/AwMX/wICFv4DAxf/AgIT/oyMk//u7u//7Ozs/uvr6//q6ur/6+vr/uzs7P/t7e3/wMDD/gYG + Fv8CAhb/AgIW/gMDF/8DAxf/AgIW/hgYJv/Z2dr/6Ojo/ubm5v/k5OT/4+Pj/uPj4//j4+P/4uLi/uLi + 4v/i4uL/4eHh/uHh4f/h4eH/4ODg/uDg4P/g4OD/39/f/t/f3//f39+vAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADf39/H39/f/uDg4P/g4OD/4ODg/uHh4f/h4eH/4uLi/+Li4v7i4uL/4uLi/uPj + 4//k5OT/4+Pj/uTk5P/l5eX/5OTk/uXl5f/l5eX/5eXl/ubm5v/m5ub/5+fn/ujo6P/p6en/6urq/uvr + 6/+wsLP/KSk1/wICFP4CAhb/AwMX/wICFv4DAxf/AwMX/wICFv4LCxv/i4uR/+3t7f7s7Oz/6+vr/+rq + 6v7r6+v/7Ozs/9HR0/4QECD/AwMX/wICFv4DAxf/AwMX/wICFv4DAxf/AgIW/g4OHf+ZmZ//6enq/u7u + 7v/t7e3/7e3t/u7u7v/ExMf/Jyc0/gICFf8DAxf/AgIW/gMDF/8DAxf/AgIU/mJiav/q6ur/5+fn/ubm + 5v/k5OT/4+Pj/uTk5P/j4+P/4uLi/uPj4//i4uL/4eHh/uHh4f/h4eH/4ODg/uDg4P/g4OD/39/f/t/f + 3//f39+vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADf39/H39/f/uDg4P/g4OD/4ODg/uHh + 4f/i4uL/4uLi/+Li4v7j4+P/4uLi/uPj4//k5OT/4+Pj/uTk5P/l5eX/5OTk/uXl5f/m5ub/5eXl/ubm + 5v/n5+f/5ubm/ujo6P/o6Oj/6enp/uvr6//s7Oz/3t7f/2dncP4GBhb/AgIW/wICFv4DAxf/AwMX/wIC + Fv4CAhb/BgYW/5aWm/7u7u7/7Ozs/+vr6/7s7Oz/7e3t/9HR0/4QECD/AwMX/wICFv4DAxf/AwMX/wIC + Fv4CAhb/AgIW/gICFv8EBBX/PT1J/o2Nk/+rq6//oqKn/l9faP8RESD/AgIV/gMDF/8DAxf/AgIW/gMD + F/8CAhb/DAwb/s7O0P/q6ur/5+fn/uXl5f/l5eX/5OTk/uTk5P/j4+P/4+Pj/uPj4//i4uL/4eHh/uLi + 4v/h4eH/4ODg/uDg4P/g4OD/39/f/t/f3//f39+vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADf39/H39/f/uDg4P7g4OD+4ODg/uHh4f7h4eH+4uLi/uLi4v7i4uL+4+Pj/uPj4/7j4+P+5OTk/uTk + 5P7k5OT+5eXl/ubm5v7m5ub+5ubm/ufn5/7n5+f+5+fn/ujo6P7o6Oj+6Ojo/unp6f7q6ur+7Ozs/u7u + 7v6oqKz+Fxcm/gICFf4CAhb+AgIW/gICFv4CAhb+AgIW/gsLG/60tLj+7u7u/uzs7P7s7Oz+7e3t/tfX + 2f4UFCP+AgIW/gICFv4CAhb+AgIW/gICFv4CAhP+AgIW/gICFv4CAhb+AgIW/gICFP4CAhP+AgIU/gIC + Ff4CAhb+AgIW/gICFv4CAhb+AgIW/gICFv4GBhf+kZGX/uvr6/7o6Oj+5ubm/uXl5f7k5OT+5OTk/uPj + 4/7j4+P+4+Pj/uLi4v7i4uL+4uLi/uHh4f7h4eH+4ODg/uDg4P7g4OD+39/f/t/f3/7f39+vAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4ODH39/f/uDg4P/h4eH/4eHh/uLi4v/i4uL/4uLi/+Li + 4v7j4+P/4+Pj/uTk5P/k5OT/5OTk/uXl5f/l5eX/5ubm/ubm5v/n5+f/6Ojo/unp6f/p6en/6enp/unp + 6f/p6en/6Ojo/unp6f/q6ur/6urq/+zs7P7t7e3/xsbI/xwcKv4CAhX/AwMX/wICFv4DAxf/AwMX/wIC + Fv4qKjf/39/g/+3t7f7t7e3/7e3t/+Xl5f4aGin/AwMX/wICFv4DAxf/AwMX/wICFv4EBBT/DQ0c/gIC + Ff8CAhb/AgIW/gMDF/8DAxf/AgIW/gMDF/8DAxf/AgIW/gMDF/8DAxf/AgIW/ggIGP+BgYj/6enp/unp + 6f/n5+f/5ubm/uXl5f/l5eX/5OTk/uTk5P/k5OT/4+Pj/uPj4//j4+P/4uLi/uLi4v/i4uL/4eHh/uHh + 4f/g4OD/4ODg/uDg4P/f39+vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4ODH4ODg/uHh + 4f/h4eH/4eHh/uLi4v/i4uL/4+Pj/+Li4v7j4+P/4+Pj/uTk5P/k5OT/5OTk/uXl5f/m5ub/5+fn/ufn + 5//p6en/6urq/uvr6//r6+v/6+vr/urq6v/p6en/6Ojo/unp6f/p6en/6urq/+rq6v7s7Oz/7u7u/7i4 + u/4NDRz/AgIW/wICFv4DAxf/AwMX/wICFv4CAhT/hYWM/+/v7/7t7e3/7u7u//Dw8P4qKjb/AgIW/wIC + Fv4DAxf/AwMX/wICFv4LCxv/oaGm/jQ0QP8CAhP/AgIW/gMDF/8DAxf/AgIW/gMDF/8DAxf/AgIW/gIC + Fv8CAhT/GBgm/qKip//r6+v/6urq/unp6f/n5+f/5ubm/uXl5f/l5eX/5OTk/uTk5P/k5OT/4+Pj/uPj + 4//j4+P/4uLi/uLi4v/i4uL/4eHh/uHh4f/h4eH/4ODg/uDg4P/f39+vAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADf39/H4ODg/uDg4P7h4eH+4eHh/uHh4f7i4uL+4uLi/uLi4v7j4+P+4+Pj/uTk + 5P7k5OT+5OTk/uXl5f7m5ub+5+fn/unp6f7W1tj+cnJ6/kJCTf5LS1X+l5ed/uvr6/7q6ur+6urq/unp + 6f7p6en+6enp/unp6f7r6+v+7e3t/u/v7/56eoH+AgIU/gICFv4CAhb+AgIW/gICFv4CAhb+Jyc0/vDw + 8P7u7u7+7u7u/u/v7/5RUVv+AgIV/gICFv4CAhb+AgIW/gICFv4DAxT+sbG1/u7u7/6bm6H+QEBL/g8P + Hv4CAhP+AgIT/gICE/4CAhP+Cwsb/jY2Qv6Ghoz+4uLj/u7u7v7s7Oz+6urq/ujo6P7n5+f+5eXl/uXl + 5f7l5eX+5OTk/uTk5P7k5OT+4+Pj/uPj4/7j4+P+4uLi/uLi4v7i4uL+4eHh/uHh4f7g4OD+4ODg/t/f + 3/7f39+vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4ODH4ODg/uHh4f/h4eH/4eHh/uLi + 4v/i4uL/4+Pj/+Pj4/7k5OT/4+Pj/uTk5P/l5eX/5OTk/ubm5v/n5+f/6Ojo/uTk5f8+Pkn/AgIU/gIC + Fv8CAhb/BAQV/pCQlv/s7O3/6+vr/urq6v/p6en/6enp/+rq6v7r6+v/7Ozs/+7u7v7W1tj/EBAf/wIC + Fv4DAxf/AwMX/wICFv4CAhb/AwMU/97e3/7v7+//7u7u/+/v7/6Dg4r/AgIU/wICFv4DAxf/AwMX/wIC + Fv4CAhT/hYWM/vHx8f/w8PD/7Ozs/tjY2f++vsH/p6er/qWlqv+7u77/19fY/urq6//w8PD/7+/v/u7u + 7v/s7Oz/6urq/unp6f/n5+f/5ubm/ubm5v/l5eX/5eXl/uXl5f/k5OT/5OTk/uTk5P/j4+P/4uLi/uPj + 4//i4uL/4eHh/uHh4f/h4eH/4ODg/uDg4P/g4OCvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADg4ODH4ODg/uHh4f/h4eH/4eHh/uLi4v/j4+P/4+Pj/+Pj4/7k5OT/5OTk/uXl5f/l5eX/5eXl/ubm + 5v/n5+f/6enp/r+/wf8ICBj/AgIW/gMDF/8DAxf/AgIW/hoaKP/b29z/7Ozs/urq6v/q6ur/6urq/+rq + 6v7r6+v/7Ozs/+7u7v7s7O3/NDRB/wICFv4DAxf/AwMX/wICFv4DAxf/AgIT/8PDxv7v7+//7u7u/+/v + 7/6+vsH/AwMU/wICFv4DAxf/AwMX/wICFv4CAhb/TU1Y/vHx8f/v7+//7u7u/u3t7f/t7e3/7e3t/u3t + 7f/u7u7/7u7u/vDw8P/f3+D/lpac/oODiv+6ur3/6+vr/unp6f/o6Oj/5ubm/ubm5v/m5ub/5eXl/uXl + 5f/l5eX/5OTk/uTk5P/j4+P/4+Pj/uPj4//i4uL/4eHh/uHh4f/h4eH/4ODg/uDg4P/g4OCvAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4ODH4ODg/uHh4f7h4eH+4eHh/uLi4v7i4uL+4+Pj/uPj + 4/7j4+P+5OTk/uTk5P7l5eX+5eXl/ubm5v7n5+f+6urq/ri4u/4FBRb+AgIW/gICFv4CAhb+AgIW/gIC + FP6IiI/+7u7u/uzs7P7r6+v+6+vr/urq6v7r6+v+7Ozs/u/v7/7q6uv+MDA8/gICFv4CAhb+AgIW/gIC + Fv4CAhb+AgIT/sPDxf7u7u7+7u7u/u7u7v7l5eb+KSk2/gICFv4CAhb+AgIW/gICFv4CAhb+DAwb/uLi + 4/7v7+/+7e3t/uzs7P7s7Oz+7Ozs/u3t7f7t7e3+7u7u/q2tsv4UFCP+AgIU/gICFf4EBBX+d3d+/uvr + 6/7p6en+5+fn/uXl5f7l5eX+5eXl/uTk5P7k5OT+5OTk/uPj4/7j4+P+4+Pj/uLi4v7i4uL+4eHh/uHh + 4f7h4eH+4ODg/uDg4P7f39+vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADh4eHH4ODg/uHh + 4f/i4uL/4uLi/uPj4//j4+P/4+Pj/+Pj4/7k5OT/5OTk/uXl5f/l5eX/5eXl/ubm5v/n5+f/6urq/tHR + 0/8RESH/AgIW/gMDF/8DAxf/AgIW/gICFv8pKTb/4+Pj/u7u7v/t7e3/7Ozs/+zs7P7s7Oz/7u7u//Dw + 8P7Fxcj/Cgoa/wICFv4DAxf/AwMX/wICFv4CAhb/AwMU/97e3/7v7+//7u7u/+7u7v7w8PD/eXmB/wIC + FP4DAxf/AwMX/wICFv4DAxf/AgIU/nx8hP/v7/D/7+/v/u3t7f/s7Oz/7Ozs/u3t7f/u7u7/5OTl/hoa + KP8CAhb/AgIW/gMDF/8CAhb/CQkY/uDg4f/p6en/6Ojo/ubm5v/m5ub/5eXl/uXl5f/l5eX/5OTk/uTk + 5P/k5OT/4+Pj/uPj4//j4+P/4uLi/uLi4v/h4eH/4ODg/uDg4P/g4OCvAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADh4eHH4ODg/uHh4f/i4uL/4uLi/uPj4//j4+P/4+Pj/+Pj4/7k5OT/5OTk/uXl + 5f/l5eX/5eXl/ubm5v/o6Oj/6enp/urq6v87O0b/AgIW/gMDF/8DAxf/AgIW/gMDF/8DAxX/Wlpk/uzs + 7f/v7+//7u7u/+7u7v7u7u7/8PDw/+Dg4f48PEf/AgIV/wICFv4DAxf/AwMX/wICFv4CAhb/Li47//Dw + 8P7u7u7/7e3t/+3t7f7v7+//3t7f/w4OHf4CAhb/AwMX/wICFv4DAxf/AgIW/g0NHP+srLH/8fHx/u/v + 7//u7u7/7u7u/u/v7//w8PD/enqB/gICFP8DAxf/AgIW/gMDF/8DAxf/AgIS/tfX2f/p6en/6Ojo/ufn + 5//m5ub/5eXl/uXl5f/l5eX/5OTk/uTk5P/k5OT/4+Pj/uPj4//j4+P/4uLi/uLi4v/h4eH/4ODg/uHh + 4f/g4OCvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4ODH4ODg/uHh4f7h4eH+4uLi/uLi + 4v7j4+P+4+Pj/uPj4/7k5OT+5OTk/uTk5P7l5eX+5eXl/ubm5v7n5+f+6enp/uvr6/6np6z+BAQV/gIC + Fv4CAhb+AgIW/gICFv4CAhb+AgIU/jMzP/6fn6T+zc3P/tvb3P7Jycz+kZGX/h4eLP4CAhT+AgIW/gIC + Fv4CAhb+AgIW/gICFv4DAxX+j4+V/u/v7/7t7e3+7Ozs/uzs7P7u7u7+7+/v/oiIjv4EBBX+AgIW/gIC + Fv4CAhb+AgIW/gICFv4ICBj+c3N7/tbW2P7w8PD+8PDw/tfX2f5sbHX+BgYW/gICFv4CAhb+AgIW/gIC + Fv4CAhb+ISEv/uzs7P7p6en+6Ojo/ubm5v7m5ub+5eXl/uXl5f7l5eX+5OTk/uTk5P7j4+P+4+Pj/uPj + 4/7i4uL+4uLi/uHh4f7h4eH+4eHh/uDg4P7g4OCvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADh4eHH4eHh/uLi4v/i4uL/4uLi/uPj4//j4+P/5OTk/+Pj4/7k5OT/5OTk/uXl5f/m5ub/5eXl/ubm + 5v/n5+f/6Ojo/urq6v/n5+j/VFRe/gICFP8CAhb/AgIW/gMDF/8DAxf/AgIW/gICFf8DAxT/Dg4d/xUV + JP4MDBz/AgIU/wICFv4CAhb/AwMX/wICFv4DAxf/AwMX/wICFf41NUH/5OTl/+7u7v7t7e3/7Ozs/+zs + 7P7t7e3/7u7u/+np6f5LS1b/AgIU/wICFv4DAxf/AgIW/gMDF/8CAhb/AgIU/hISIf8uLjv/Ly87/hMT + Iv8CAhT/AgIW/gMDF/8DAxf/AgIW/gICFv8FBRb/kJCW/uzs7P/p6en/5+fn/ufn5//m5ub/5eXl/ubm + 5v/l5eX/5OTk/uXl5f/k5OT/4+Pj/uPj4//j4+P/4uLi/uLi4v/i4uL/4eHh/uHh4f/h4eGvAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADh4eHH4eHh/uLi4v/i4uL/4uLi/uPj4//j4+P/5OTk/+Tk + 5P7l5eX/5OTk/uXl5f/m5ub/5eXl/ubm5v/n5+f/5+fn/unp6f/r6+v/39/g/js7R/8CAhT/AgIW/gMD + F/8DAxf/AgIW/gMDF/8DAxf/AwMX/wICFv4DAxf/AwMX/wICFv4DAxf/AwMX/wICFv4DAxf/AgIV/yEh + Lv7Ly83/7+/v/+3t7f7s7Oz/7Ozs/+zs7P7s7Oz/7e3t/+/v7/7c3N3/OztG/wICFP4CAhb/AgIW/gMD + F/8DAxf/AgIW/gMDF/8CAhb/AgIW/gMDF/8DAxf/AgIW/gMDF/8DAxf/AgIW/gICE/9WVmD/5+fn/urq + 6v/p6en/5+fn/ufn5//m5ub/5eXl/ubm5v/l5eX/5OTk/uXl5f/k5OT/4+Pj/uPj4//j4+P/4uLi/uLi + 4v/i4uL/4eHh/uHh4f/h4eGvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4ODH4eHh/uHh + 4f7i4uL+4uLi/uLi4v7j4+P+4+Pj/uTk5P7k5OT+5OTk/uXl5f7l5eX+5eXl/ubm5v7m5ub+5+fn/ujo + 6P7q6ur+6+vr/uHh4v5fX2j+BwcX/gICFf4CAhb+AgIW/gICFv4CAhb+AgIW/gICFv4CAhb+AgIW/gIC + Fv4CAhb+AgIW/gICFv4CAhT+NTVA/tDQ0v7v7+/+7e3t/uzs7P7s7Oz+7Ozs/uzs7P7s7Oz+7Ozs/u3t + 7f7v7+/+6enq/mFhaf4HBxf+AgIV/gICFv4CAhb+AgIW/gICFv4CAhb+AgIW/gICFv4CAhb+AgIW/gIC + Fv4CAhX+BgYW/mlpcv7m5uf+6+vr/unp6f7o6Oj+5+fn/ubm5v7m5ub+5eXl/uXl5f7l5eX+5OTk/uTk + 5P7k5OT+4+Pj/uPj4/7j4+P+4uLi/uLi4v7h4eH+4eHh/uDg4P7g4OCvAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADh4eHH4eHh/uLi4v/i4uL/4uLi/uPj4//j4+P/5OTk/+Tk5P7l5eX/5OTk/ubm + 5v/m5ub/5eXl/ufn5//n5+f/5+fn/ujo6P/p6en/6urq/uzs7P/q6ur/srK1/kZGUf8PDx//AgIU/gIC + Ff8CAhb/AgIW/wICFv4CAhb/AgIW/wICFf4CAhT/BwcX/ygoNf6IiI7/5OTl/+/v7/7t7e3/7e3t/+3t + 7f7t7e3/7e3t/+zs7P7s7Oz/7e3t/+3t7f7t7e3/7u7u/+zs7P6ysrX/QUFM/gwMHP8CAhT/AgIV/gIC + Fv8CAhb/AgIW/gICFv8CAhb/AgIU/goKGv89PUn/ra2x/uvr6//s7Oz/6urq/unp6f/o6Oj/5+fn/ufn + 5//n5+f/5ubm/ubm5v/l5eX/5eXl/uXl5f/k5OT/4+Pj/uTk5P/j4+P/4uLi/uLi4v/i4uL/4eHh/uHh + 4f/h4eGvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADh4eHH4eHh/uLi4v/i4uL/4uLi/uPj + 4//k5OT/5OTk/+Tk5P7l5eX/5OTk/ubm5v/m5ub/5ubm/ufn5//n5+f/5+fn/ujo6P/o6Oj/6Ojo/urq + 6v/r6+v/7Ozs/u3t7f/OztD/l5ec/mVlbv9FRVH/MTE9/y4uOv4vLzz/QUFN/11dZ/6FhYz/urq+/+np + 6f7v7+//7u7u/+3t7f7t7e3/7e3t/+zs7P7t7e3/7e3t/+zs7P7t7e3/7e3t/+zs7P7t7e3/7e3t/+7u + 7v7v7+//7u7u/sjIyv+QkJb/YWFp/kBAS/8vLzv/Li46/jo6Rv9WVmD/hYWM/sHBxP/r6+z/7Ozs/uvr + 6//q6ur/6enp/ujo6P/o6Oj/5+fn/ufn5//n5+f/5ubm/ubm5v/m5ub/5eXl/uXl5f/k5OT/4+Pj/uTk + 5P/j4+P/4uLi/uLi4v/i4uL/4eHh/uHh4f/h4eGvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADh4eHH4eHh/uHh4f7i4uL+4uLi/uPj4/7j4+P+4+Pj/uTk5P7k5OT+5OTk/uXl5f7l5eX+5ubm/ubm + 5v7m5ub+5+fn/ufn5/7n5+f+6Ojo/unp6f7q6ur+6urq/uzs7P7s7Oz+7e3t/u7u7v7v7+/+7+/v/u/v + 7/7v7+/+7+/v/u/v7/7v7+/+7u7u/u7u7v7t7e3+7e3t/u3t7f7t7e3+7Ozs/uzs7P7s7Oz+7Ozs/uzs + 7P7s7Oz+7Ozs/uzs7P7s7Oz+7Ozs/uzs7P7t7e3+7u7u/u7u7v7v7+/+7+/v/u/v7/7v7+/+7+/v/u/v + 7/7u7u7+7e3t/u3t7f7s7Oz+6urq/urq6v7p6en+6Ojo/ufn5/7n5+f+5+fn/ubm5v7m5ub+5ubm/uXl + 5f7l5eX+5eXl/uTk5P7k5OT+4+Pj/uPj4/7j4+P+4uLi/uLi4v7h4eH+4eHh/uHh4f7g4OCvAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADh4eHH4eHh/uLi4v/i4uL/4uLi/uPj4//k5OT/5OTk/+Tk + 5P7l5eX/5eXl/ubm5v/m5ub/5ubm/ufn5//n5+f/5+fn/ujo6P/o6Oj/6Ojo/unp6f/p6en/6enp/uvr + 6//r6+v/6+vr/uzs7P/t7e3/7e3t/+3t7f7t7e3/7e3t/+3t7f7t7e3/7e3t/+3t7f7s7Oz/7Ozs/+zs + 7P7t7e3/7e3t/+zs7P7t7e3/7e3t/+zs7P7t7e3/7e3t/+zs7P7t7e3/7Ozs/+zs7P7s7Oz/7Ozs/u3t + 7f/t7e3/7e3t/u3t7f/t7e3/7e3t/u3t7f/s7Oz/6+vr/uvr6//r6+v/6enp/unp6f/p6en/6Ojo/ujo + 6P/o6Oj/5+fn/ufn5//n5+f/5ubm/ubm5v/m5ub/5eXl/uXl5f/k5OT/5OTk/uTk5P/j4+P/4uLi/uLi + 4v/i4uL/4eHh/uHh4f/h4eGvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADh4eHH4eHh/uLi + 4v/i4uL/4uLi/uPj4//k5OT/5OTk/+Tk5P7l5eX/5eXl/ubm5v/m5ub/5ubm/ufn5//n5+f/5+fn/ujo + 6P/o6Oj/6Ojo/unp6f/p6en/6enp/urq6v/q6ur/6urq/uvr6//r6+v/7Ozs/+vr6/7s7Oz/7Ozs/+zs + 7P7s7Oz/7Ozs/+zs7P7s7Oz/7Ozs/+zs7P7t7e3/7e3t/+zs7P7t7e3/7e3t/+zs7P7t7e3/7e3t/+zs + 7P7t7e3/7Ozs/+vr6/7s7Oz/7Ozs/uzs7P/s7Oz/7Ozs/uzs7P/s7Oz/6+vr/uvr6//r6+v/6urq/urq + 6v/q6ur/6enp/unp6f/p6en/6Ojo/ujo6P/o6Oj/5+fn/ufn5//n5+f/5ubm/ubm5v/m5ub/5eXl/uXl + 5f/l5eX/5OTk/uTk5P/j4+P/4uLi/uPj4//i4uL/4eHh/uHh4f/h4eGvAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADh4eHH4eHh/uHh4f7i4uL+4uLi/uPj4/7j4+P+4+Pj/uTk5P7k5OT+5eXl/uXl + 5f7l5eX+5ubm/ubm5v7m5ub+5+fn/ufn5/7n5+f+6Ojo/ujo6P7o6Oj+6Ojo/unp6f7p6en+6enp/urq + 6v7q6ur+6urq/urq6v7r6+v+6+vr/uvr6/7r6+v+6+vr/uvr6/7s7Oz+7Ozs/uzs7P7s7Oz+7Ozs/uzs + 7P7s7Oz+7Ozs/uzs7P7s7Oz+7Ozs/uzs7P7s7Oz+7Ozs/uvr6/7r6+v+6+vr/uvr6/7r6+v+6+vr/urq + 6v7q6ur+6urq/urq6v7q6ur+6enp/unp6f7p6en+6enp/ujo6P7o6Oj+6Ojo/ufn5/7n5+f+5+fn/ubm + 5v7m5ub+5ubm/uXl5f7l5eX+5eXl/uTk5P7k5OT+5OTk/uPj4/7j4+P+4uLi/uLi4v7i4uL+4eHh/uHh + 4f7g4OCvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADh4eHH4eHh/uLi4v/i4uL/4uLi/uPj + 4//k5OT/5OTk/+Tk5P7l5eX/5eXl/ubm5v/m5ub/5ubm/ufn5//n5+f/5+fn/ujo6P/o6Oj/6Ojo/unp + 6f/p6en/6Ojo/urq6v/q6ur/6enp/urq6v/r6+v/6+vr/+rq6v7r6+v/6+vr/+vr6/7s7Oz/7Ozs/+vr + 6/7s7Oz/7Ozs/+zs7P7t7e3/7e3t/+zs7P7t7e3/7e3t/+zs7P7t7e3/7e3t/+zs7P7t7e3/7e3t/+vr + 6/7s7Oz/6+vr/uzs7P/s7Oz/6+vr/uvr6//r6+v/6urq/uvr6//q6ur/6enp/urq6v/q6ur/6enp/unp + 6f/p6en/6Ojo/ujo6P/o6Oj/5+fn/ufn5//n5+f/5ubm/ubm5v/m5ub/5eXl/uXl5f/l5eX/5OTk/uTk + 5P/j4+P/4uLi/uPj4//i4uL/4eHh/uHh4f/h4eGvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADg4ODH4eHh/uLi4v/i4uL/4uLi/uPj4//k5OT/5OTk/+Tk5P7l5eX/5eXl/ubm5v/m5ub/5ubm/ufn + 5//n5+f/5+fn/ujo6P/o6Oj/6Ojo/unp6f/p6en/6Ojo/urq6v/q6ur/6enp/urq6v/r6+v/6+vr/+rq + 6v7r6+v/6+vr/+vr6/7s7Oz/7Ozs/+vr6/7s7Oz/7Ozs/+zs7P7t7e3/7e3t/+zs7P7t7e3/7e3t/+zs + 7P7t7e3/7e3t/+zs7P7t7e3/7e3t/+vr6/7s7Oz/6+vr/uzs7P/s7Oz/6+vr/uvr6//r6+v/6urq/uvr + 6//q6ur/6enp/urq6v/q6ur/6enp/unp6f/p6en/6Ojo/ujo6P/o6Oj/5+fn/ufn5//n5+f/5ubm/ubm + 5v/m5ub/5eXl/uXl5f/l5eX/5OTk/uTk5P/j4+P/4uLi/uPj4//i4uL/4eHh/uHh4f/g4OCvAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADc3N/H4eHh/uHh4f7i4uL+4uLi/uPj4/7j4+P+4+Pj/uTk + 5P7k5OT+5eXl/uXl5f7l5eX+5ubm/ubm5v7m5ub+5+fn/ufn5/7n5+f+6Ojo/ujo6P7o6Oj+6Ojo/unp + 6f7p6en+6enp/urq6v7q6ur+6urq/urq6v7q6ur+6+vr/uvr6/7r6+v+6+vr/uvr6/7r6+v+7Ozs/uzs + 7P7s7Oz+7Ozs/uzs7P7s7Oz+7Ozs/uzs7P7s7Oz+7Ozs/uzs7P7s7Oz+7Ozs/uvr6/7r6+v+6+vr/uvr + 6/7r6+v+6+vr/urq6v7q6ur+6urq/urq6v7q6ur+6enp/unp6f7p6en+6enp/ujo6P7o6Oj+6Ojo/ufn + 5/7n5+f+5+fn/ubm5v7m5ub+5ubm/uXl5f7l5eX+5eXl/uTk5P7k5OT+4+Pj/uPj4/7j4+P+4uLi/uLi + 4v7i4uL+4eHh/uHh4f7c3N6vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADY2N3H4eHh/uLi + 4v/i4uL/4uLi/uPj4//k5OT/5OTk/+Tk5P7l5eX/5eXl/ubm5v/m5ub/5ubm/ufn5//n5+f/5+fn/ujo + 6P/o6Oj/6Ojo/unp6f/p6en/6Ojo/urq6v/q6ur/6enp/urq6v/q6ur/6+vr/+rq6v7r6+v/6+vr/+vr + 6/7s7Oz/7Ozs/+vr6/7s7Oz/7Ozs/+zs7P7t7e3/7e3t/+zs7P7t7e3/7e3t/+zs7P7t7e3/7e3t/+zs + 7P7t7e3/7Ozs/+vr6/7s7Oz/6+vr/uzs7P/s7Oz/6+vr/uvr6//r6+v/6urq/uvr6//q6ur/6enp/urq + 6v/p6en/6enp/unp6f/p6en/6Ojo/ujo6P/o6Oj/5+fn/ufn5//n5+f/5ubm/ubm5v/m5ub/5eXl/uXl + 5f/k5OT/4+Pj/uTk5P/j4+P/4uLi/uLi4v/i4uL/4eHh/uHh4f/Y2N2vAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABYWKPHU1Oh/lNTof5UVKH+VFSh/lRUof5UVKH+VFSh/lRUov5UVKL+VFSi/lVV + ov5VVaL+VVWi/lVVo/5VVaP+VVWj/lZWo/5WVqP+Vlaj/lZWo/5WVqP+Vlaj/lZWo/5WVqT+Vlak/lZW + pP5XV6T+V1ek/ldXpP5XV6T+V1ek/ldXpP5XV6T+V1ek/ldXpP5XV6T+V1ek/ldXpP5XV6T+V1ek/ldX + pP5XV6T+V1ek/ldXpP5XV6T+V1ek/ldXpP5XV6T+V1ek/ldXpP5XV6T+V1ek/ldXpP5XV6T+V1ek/ldX + pP5XV6T+V1ek/ldXpP5WVqT+Vlak/lZWpP5WVqT+Vlaj/lZWo/5WVqP+Vlaj/lZWo/5WVqP+VVWj/lVV + o/5VVaP+VVWi/lVVov5VVaL+VFSi/lRUov5UVKL+VFSh/lRUof5UVKH+VFSh/lRUof5TU6H+U1Oh/lNT + oP5YWKKvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUFIXHCwuB/gsLgf8LC4H/CwuB/gsL + gf8LC4H/CwuB/wsLgf4LC4H/CwuB/gsLgf8LC4H/CwuB/gsLgf8LC4H/CwuB/gsLgf8LC4H/CwuB/gsL + gf8LC4H/CwuB/gsLgf8LC4H/CwuB/gsLgf8LC4H/CwuB/wsLgf4LC4H/CwuB/wsLgf4LC4H/CwuB/wsL + gf4LC4H/CwuB/wsLgf4LC4H/CwuB/wsLgf4LC4H/CwuB/wsLgf4LC4H/CwuB/wsLgf4LC4H/CwuB/wsL + gf4LC4H/CwuB/gsLgf8LC4H/CwuB/gsLgf8LC4H/CwuB/gsLgf8LC4H/CwuB/gsLgf8LC4H/CwuB/gsL + gf8LC4H/CwuB/gsLgf8LC4H/CwuB/gsLgf8LC4H/CwuB/gsLgf8LC4H/CwuB/gsLgf8LC4H/CwuB/gsL + gf8LC4H/CwuB/gsLgf8LC4H/CwuB/gsLgf8UFIWvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAQEIXHCwuD/gwMg/8MDIP/CwuD/gwMg/8MDIP/DAyD/wsLg/4MDIP/CwuD/gwMg/8MDIP/CwuD/gwM + g/8MDIP/CwuD/gwMg/8MDIP/CwuD/gwMg/8MDIP/CwuD/gwMg/8MDIP/CwuD/gwMg/8MDIP/DAyD/wsL + g/4MDIP/DAyD/wsLg/4MDIP/DAyD/wsLg/4MDIP/DAyD/wsLg/4MDIP/DAyD/wsLg/4MDIP/DAyD/wsL + g/4MDIP/DAyD/wsLg/4MDIP/DAyD/wsLg/4MDIP/CwuD/gwMg/8MDIP/CwuD/gwMg/8MDIP/CwuD/gwM + g/8MDIP/CwuD/gwMg/8MDIP/CwuD/gwMg/8MDIP/CwuD/gwMg/8MDIP/CwuD/gwMg/8MDIP/CwuD/gwM + g/8MDIP/CwuD/gwMg/8MDIP/CwuD/gwMg/8MDIP/CwuD/gwMg/8MDIP/CwuD/gwMg/8QEIWvAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDIXHDAyF/gwMhf4MDIX+DAyF/gwMhf4MDIX+DAyF/gwM + hf4MDIX+DAyF/gwMhf4MDIX+DAyF/gwMhf4MDIX+DAyF/hMTiP4zM5j+EBCH/gwMhf4MDIX+DAyF/gwM + hf4MDIX+DAyF/gwMhf4MDIX+DAyF/gwMhf4MDIX+DAyF/gwMhf4MDIX+DAyF/gwMhf4MDIX+DAyF/gwM + hf4MDIX+DAyF/gwMhf4MDIX+DAyF/gwMhf4MDIX+DAyF/gwMhf4MDIX+DAyF/gwMhf4MDIX+DAyF/gwM + hf4MDIX+DAyF/gwMhf4MDIX+DAyF/gwMhf4MDIX+DAyF/gwMhf4MDIX+DAyF/gwMhf4MDIX+DAyF/gwM + hf4MDIX+DAyF/gwMhf4MDIX+DAyF/gwMhf4MDIX+DAyF/gwMhf4MDIX+DAyF/gwMhf4MDIX+DAyF/gwM + hf4MDIX+DAyF/gwMhf4MDIWvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDIbHDAyG/g0N + hv8NDYb/DAyG/g0Nhv8NDYb/DQ2G/wwMhv4NDYb/DAyG/g0Nhv8NDYb/DAyG/g0Nhv8NDYb/DAyG/l1d + rv/+/v7/V1es/g0Nhv8NDYb/DAyG/g0Nhv8NDYb/DAyG/g0Nhv8NDYb/DQ2G/wwMhv4NDYb/DQ2G/wwM + hv4NDYb/DQ2G/wwMhv4NDYb/DQ2G/wwMhv4NDYb/DQ2G/wwMhv4NDYb/DQ2G/wwMhv4NDYb/DQ2G/wwM + hv4NDYb/DQ2G/wwMhv4NDYb/DAyG/g0Nhv8NDYb/DAyG/g0Nhv8NDYb/DAyG/g0Nhv8NDYb/DAyG/g0N + hv8NDYb/DAyG/g0Nhv8NDYb/DAyG/g0Nhv8NDYb/DAyG/g0Nhv8NDYb/DAyG/g0Nhv8NDYb/DAyG/g0N + hv8NDYb/DAyG/g0Nhv8NDYb/DAyG/g0Nhv8NDYb/DAyG/g0Nhv8MDIavAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAANDYnHDQ2J/g0Nif8NDYn/DQ2J/g0Nif8NDYn/DQ2J/0hIpf43N53/DQ2J/g0N + if8NDYn/DQ2J/hoaj/9TU6r/IyOU/l9fsf//////ZWW0/kREpP9YWK3/QECh/hMTjP8NDYn/GBiO/lZW + rP8cHJD/DQ2J/w0Nif4NDYn/Nzed/0VFpP4PD4r/FhaN/1RUq/4fH5L/DQ2J/w0Nif4NDYn/DQ2J/w0N + if4NDYn/DQ2J/w0Nif4NDYn/DQ2J/w0Nif4NDYn/DQ2J/w0Nif4NDYn/DQ2J/g0Nif8NDYn/DQ2J/g0N + if8NDYn/DQ2J/g0Nif8NDYn/DQ2J/g0Nif8NDYn/DQ2J/g0Nif8NDYn/DQ2J/g0Nif8NDYn/DQ2J/g0N + if8NDYn/DQ2J/g0Nif8NDYn/DQ2J/g0Nif8NDYn/DQ2J/g0Nif8NDYn/DQ2J/g0Nif8NDYn/DQ2J/g0N + if8NDYmvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANDYrHDQ2L/g0Ni/4NDYv+DQ2L/g0N + i/4NDYv+Dg6L/vT0+v7e3u/+Hh6T/g0Ni/4NDYv+DQ2L/oaGxf7+/v7+fHzA/mBgsv7+/v7+39/v/tLS + 6f7S0un+/f3+/qSk0/4UFI7+YmKz/v7+/v5qarj+DQ2L/g0Ni/4NDYv+v7/g/uvr9f4iIpT+Tk6q/v7+ + /v5/f8H+DQ2L/g0Ni/4NDYv+DQ2L/g0Ni/4NDYv+DQ2L/g0Ni/4NDYv+DQ2L/g0Ni/4NDYv+DQ2L/g0N + i/4NDYv+DQ2L/g0Ni/4NDYv+DQ2L/g0Ni/4NDYv+DQ2L/g0Ni/4NDYv+DQ2L/g0Ni/4NDYv+DQ2L/g0N + i/4NDYv+DQ2L/g0Ni/4NDYv+DQ2L/g0Ni/4NDYv+DQ2L/g0Ni/4NDYv+DQ2L/g0Ni/4NDYv+DQ2L/g0N + i/4NDYv+DQ2L/g0Ni/4NDYv+DQ2L/g0Ni/4NDYqvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAODozHDg6M/g8PjP8PD4z/Dg6M/g8PjP8PD4z/Dw+M/4yMyP7/////v7/g/qWl0/+lpdP/pKTT/vLy + +f/o6PT/KSmZ/mBgs///////qqrX/g8PjP8SEo7/qanW/v////9NTar/aWm3/v////9vb7v/Dw+M/w4O + jP4PD4z/w8Pi/+/v9/4lJZf/UVGt//7+/v6GhsX/Dw+M/w4OjP4PD4z/Dw+M/w4OjP4PD4z/Dw+M/w4O + jP4PD4z/Dw+M/w4OjP4PD4z/Dw+M/w4OjP4PD4z/Dg6M/g8PjP8PD4z/Dg6M/g8PjP8PD4z/Dg6M/g8P + jP8PD4z/Dg6M/g8PjP8PD4z/Dg6M/g8PjP8PD4z/Dg6M/g8PjP8PD4z/Dg6M/g8PjP8PD4z/Dg6M/g8P + jP8PD4z/Dg6M/g8PjP8PD4z/Dg6M/g8PjP8PD4z/Dg6M/g8PjP8PD4z/Dg6M/g8PjP8ODoyvAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPD47HDw+O/g8Pj/8PD4//Dw+O/g8Pj/8PD4//Dw+P/ygo + m/7n5/T//v7+/pCQy/+Hh8f/1dXr/v////+CgsX/Dw+O/mBgtf//////f3/D/g8Pj/8PD4//hYXG/v// + //9kZLf/aWm4/v////+EhMX/Dw+P/w8Pjv4PD4//w8Pj/+/v9/4lJZn/UlKu//7+/v6Hh8f/Dw+P/w8P + jv4PD4//Dw+P/w8Pjv4PD4//Dw+P/w8Pjv4PD4//Dw+P/w8Pjv4PD4//Dw+P/w8Pjv4PD4//Dw+O/g8P + j/8PD4//Dw+O/g8Pj/8PD4//Dw+O/g8Pj/8PD4//Dw+O/g8Pj/8PD4//Dw+O/g8Pj/8PD4//Dw+O/g8P + j/8PD4//Dw+O/g8Pj/8PD4//Dw+O/g8Pj/8PD4//Dw+O/g8Pj/8PD4//Dw+O/g8Pj/8PD4//Dw+O/g8P + j/8PD4//Dw+O/g8Pj/8PD46vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPD5DHDw+R/g8P + kf4PD5H+Dw+R/g8Pkf4PD5H+Dw+R/g8Pkf6AgMX+/v7+/m5uvP4mJpv+6en0/t7e8P4hIZn+Dw+R/mFh + tv7+/v7+4eHx/lBQr/5TU7D+29vu/u/v9/4vL6D+aWm6/v7+/v7b2+7+Y2O2/nV1v/4qKp3+w8Pj/u/v + +P4mJpv+UlKw/v7+/v6Hh8j+Dw+R/g8Pkf4PD5H+Dw+R/g8Pkf4PD5H+Dw+R/g8Pkf4PD5H+Dw+R/g8P + kf4PD5H+Dw+R/g8Pkf4PD5H+Dw+R/g8Pkf4PD5H+Dw+R/g8Pkf4PD5H+Dw+R/g8Pkf4PD5H+Dw+R/g8P + kf4PD5H+Dw+R/g8Pkf4PD5H+Dw+R/g8Pkf4PD5H+Dw+R/g8Pkf4PD5H+Dw+R/g8Pkf4PD5H+Dw+R/g8P + kf4PD5H+Dw+R/g8Pkf4PD5H+Dw+R/g8Pkf4PD5H+Dw+R/g8Pkf4PD5CvAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAQEJLHEBCS/hAQkv8QEJL/EBCS/hAQkv8QEJL/EBCS/xAQkv4hIZr/39/w/tvb + 7/+amtL//v7+/mtrvP8QEJL/EBCS/kZGq//MzOj/eHjC/r294f/R0er/urrg/kREqv8QEJL/RESq/tDQ + 6v+Rkc3/zc3o/8XF5f5AQKn/k5PO/7W13v4cHJj/UlKx//7+/v6Hh8j/EBCS/xAQkv4QEJL/EBCS/xAQ + kv4QEJL/EBCS/xAQkv4QEJL/EBCS/xAQkv4QEJL/EBCS/xAQkv4QEJL/EBCS/hAQkv8QEJL/EBCS/hAQ + kv8QEJL/EBCS/hAQkv8QEJL/EBCS/hAQkv8QEJL/EBCS/hAQkv8QEJL/EBCS/hAQkv8QEJL/EBCS/hAQ + kv8QEJL/EBCS/hAQkv8QEJL/EBCS/hAQkv8QEJL/EBCS/hAQkv8QEJL/EBCS/hAQkv8QEJL/EBCS/hAQ + kv8QEJKvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAREZTHERGU/hERlf8REZX/ERGU/hER + lf8REZX/ERGV/xERlP4REZX/dHTB/v7+/v/7+/3/19ft/hUVlv8REZX/ERGU/hERlf8WFpf/ERGV/hMT + lv8YGJj/EhKV/hERlf8REZX/ERGU/hcXmP8REZX/FhaX/xUVlv4REZX/bm6+/4eHyv4XF5j/U1Oz//7+ + /v6Hh8n/ERGV/xERlP4REZX/ERGV/xERlP4REZX/ERGV/xERlP4REZX/ERGV/xERlP4REZX/ERGV/xER + lP4REZX/ERGU/hERlf8REZX/ERGU/hERlf8REZX/ERGU/hERlf8REZX/ERGU/hERlf8REZX/ERGU/hER + lf8REZX/ERGU/hERlf8REZX/ERGU/hERlf8REZX/ERGU/hERlf8REZX/ERGU/hERlf8REZX/ERGU/hER + lf8REZX/ERGU/hERlf8REZX/ERGU/hERlf8REZSvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAREZbHERGX/hERl/4REZf+ERGX/hERl/4REZf+ERGX/hERl/4REZf+GBia/pyc0/62tt/+RESt/hER + l/4REZf+ERGX/hERl/4REZf+ERGX/hERl/4REZf+ERGX/hERl/4REZf+ERGX/hERl/4REZf+ERGX/hER + l/4REZf+eHjE/pqa0/4aGpv+NDSm/re33/5NTbH+ERGX/hERl/4REZf+ERGX/hERl/4REZf+ERGX/hER + l/4REZf+ERGX/hERl/4REZf+ERGX/hERl/4REZf+ERGX/hERl/4REZf+ERGX/hERl/4REZf+ERGX/hER + l/4REZf+ERGX/hERl/4REZf+ERGX/hERl/4REZf+ERGX/hERl/4REZf+ERGX/hERl/4REZf+ERGX/hER + l/4REZf+ERGX/hERl/4REZf+ERGX/hERl/4REZf+ERGX/hERl/4REZf+ERGX/hERl/4REZavAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASEpjHEhKY/hISmP8SEpj/EhKY/hISmP8SEpj/EhKY/xIS + mP4SEpj/EhKY/hISmP8SEpj/EhKY/hISmP8SEpj/EhKY/hISmP8SEpj/EhKY/hISmP8SEpj/EhKY/hIS + mP8SEpj/EhKY/hISmP8SEpj/EhKY/xISmP4SEpj/EhKY/xISmP4SEpj/EhKY/xISmP4SEpj/EhKY/xIS + mP4SEpj/EhKY/xISmP4SEpj/EhKY/xISmP4SEpj/EhKY/xISmP4SEpj/EhKY/xISmP4SEpj/EhKY/hIS + mP8SEpj/EhKY/hISmP8SEpj/EhKY/hISmP8SEpj/EhKY/hISmP8SEpj/EhKY/hISmP8SEpj/EhKY/hIS + mP8SEpj/EhKY/hISmP8SEpj/EhKY/hISmP8SEpj/EhKY/hISmP8SEpj/EhKY/hISmP8SEpj/EhKY/hIS + mP8SEpj/EhKY/hISmP8SEpivAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASEprHEhKa/hMT + m/8TE5v/EhKa/hMTm/8TE5v/ExOb/xISmv4TE5v/EhKa/hMTm/8TE5v/EhKa/hMTm/8TE5v/EhKa/hMT + m/8TE5v/EhKa/hMTm/8TE5v/EhKa/hMTm/8TE5v/EhKa/hMTm/8TE5v/ExOb/xISmv4TE5v/ExOb/xIS + mv4TE5v/ExOb/xISmv4TE5v/ExOb/xISmv4TE5v/ExOb/xISmv4TE5v/ExOb/xISmv4TE5v/ExOb/xIS + mv4TE5v/ExOb/xISmv4TE5v/EhKa/hMTm/8TE5v/EhKa/hMTm/8TE5v/EhKa/hMTm/8TE5v/EhKa/hMT + m/8TE5v/EhKa/hMTm/8TE5v/EhKa/hMTm/8TE5v/EhKa/hMTm/8TE5v/EhKa/hMTm/8TE5v/EhKa/hMT + m/8TE5v/EhKa/hMTm/8TE5v/EhKa/hMTm/8TE5v/EhKa/hMTm/8SEpqvAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAASEpzHEhKc/hISnP4SEpz+EhKc/hISnP4SEpz+EhKc/hISnP4SEpz+EhKc/hIS + nP4SEpz+EhKc/hISnP4SEpz+EhKc/hISnP4SEpz+EhKc/hISnP4SEpz+EhKc/hISnP4SEpz+EhKc/hIS + nP4SEpz+EhKc/hISnP4SEpz+EhKc/hISnP4SEpz+EhKc/hISnP4SEpz+EhKc/hISnP4SEpz+EhKc/hIS + nP4SEpz+EhKc/hISnP4SEpz+EhKc/hISnP4SEpz+EhKc/hISnP4SEpz+EhKc/hISnP4SEpz+EhKc/hIS + nP4SEpz+EhKc/hISnP4SEpz+EhKc/hISnP4SEpz+EhKc/hISnP4SEpz+EhKc/hISnP4SEpz+EhKc/hIS + nP4SEpz+EhKc/hISnP4SEpz+EhKc/hISnP4SEpz+EhKc/hISnP4SEpz+EhKc/hISnP4SEpz+EhKc/hIS + nP4SEpyvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASEp7HEhKe/hMTnv8TE57/EhKe/hMT + nv8TE57/ExOe/xISnv4TE57/EhKe/hMTnv8TE57/EhKe/hMTnv8TE57/EhKe/hMTnv8TE57/EhKe/hMT + nv8TE57/EhKe/hMTnv8TE57/EhKe/hMTnv8TE57/ExOe/xISnv4TE57/ExOe/xISnv4TE57/ExOe/xIS + nv4TE57/ExOe/xISnv4TE57/ExOe/xISnv4TE57/ExOe/xISnv4TE57/ExOe/xISnv4TE57/ExOe/xIS + nv4TE57/EhKe/hMTnv8TE57/EhKe/hMTnv8TE57/EhKe/hMTnv8TE57/EhKe/hMTnv8TE57/EhKe/hMT + nv8TE57/EhKe/hMTnv8TE57/EhKe/hMTnv8TE57/EhKe/hMTnv8TE57/EhKe/hMTnv8TE57/EhKe/hMT + nv8TE57/EhKe/hMTnv8TE57/EhKe/hMTnv8SEp6vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAATE6DHEhKg/hMToP8TE6D/EhKg/hMToP8TE6D/ExOg/xISoP4TE6D/EhKg/hMToP8TE6D/EhKg/hMT + oP8TE6D/EhKg/hMToP8TE6D/EhKg/hMToP8TE6D/EhKg/hMToP8TE6D/EhKg/hMToP8TE6D/ExOg/xIS + oP4TE6D/ExOg/xISoP4TE6D/ExOg/xISoP4TE6D/ExOg/xISoP4TE6D/ExOg/xISoP4TE6D/ExOg/xIS + oP4TE6D/ExOg/xISoP4TE6D/ExOg/xISoP4TE6D/EhKg/hMToP8TE6D/EhKg/hMToP8TE6D/EhKg/hMT + oP8TE6D/EhKg/hMToP8TE6D/EhKg/hMToP8TE6D/EhKg/hMToP8TE6D/EhKg/hMToP8TE6D/EhKg/hMT + oP8TE6D/EhKg/hMToP8TE6D/EhKg/hMToP8TE6D/EhKg/hMToP8TE6D/EhKg/hMToP8TE6CvAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASEqLHEhKi/hISov4SEqL+EhKi/hISov4SEqL+EhKi/hIS + ov4SEqL+EhKi/hISov4SEqL+EhKi/hISov4SEqL+EhKi/hISov4SEqL+EhKi/hISov4SEqL+EhKh/hIS + oP4SEqD+EhKg/hISoP4SEqH+EhKi/hISov4SEqL+EhKi/hISov4SEqL+EhKi/hISov4SEqL+EhKi/hIS + ov4SEqL+EhKi/hISov4SEqL+EhKi/hISov4SEqL+EhKi/hISov4SEqL+EhKi/hISov4SEqL+EhKi/hIS + ov4SEqL+EhKi/hISov4SEqL+EhKi/hISof4SEqD+EhKg/hISoP4SEqD+EhKh/hISov4SEqL+EhKi/hIS + ov4SEqL+EhKi/hISov4SEqL+EhKi/hISov4SEqL+EhKi/hISov4SEqL+EhKi/hISov4SEqL+EhKi/hIS + ov4SEqL+EhKi/hISov4SEqKvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATE6THExOk/hQU + pP8UFKT/ExOk/hQUpP8UFKT/FBSk/xMTpP4UFKT/ExOk/hQUpP8UFKT/ExOk/hQUpP8UFKT/ExOk/hQU + pP8UFKT/ExOk/hISn/8QEJX/Dw+R/hAQkf8QEJH/Dw+R/hAQkf8QEJH/EBCV/xMToP4UFKT/FBSk/xMT + pP4UFKT/FBSk/xMTpP4UFKT/FBSk/xMTpP4UFKT/FBSk/xMTpP4UFKT/FBSk/xMTpP4UFKT/FBSk/xMT + pP4UFKT/FBSk/xMTpP4UFKT/ExOk/hQUpP8UFKT/ExOk/hQUpP8TE6D/ERGV/hAQkf8QEJH/Dw+R/hAQ + kf8QEJH/Dw+R/hAQlP8SEp//ExOk/hQUpP8UFKT/ExOk/hQUpP8UFKT/ExOk/hQUpP8UFKT/ExOk/hQU + pP8UFKT/ExOk/hQUpP8UFKT/ExOk/hQUpP8UFKT/ExOk/hQUpP8TE6SvAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAUFKbHFBSm/hQUpv8UFKb/FBSm/hQUpv8UFKb/FBSm/xQUpv4UFKb/FBSm/hQU + pv8UFKb/FBSm/hQUpv8UFKb/FBSm/hQUpv8UFKb/ExOj/icnnP+Dg73/urrR/sTE1P/ExNT/xMTU/sTE + 1P+4uND/gYG8/yMjm/4TE6P/FBSm/xQUpv4UFKb/FBSm/xQUpv4UFKb/FBSm/xQUpv4UFKb/FBSm/xQU + pv4UFKb/FBSm/xQUpv4UFKb/FBSm/xQUpv4UFKb/FBSm/xQUpv4UFKb/FBSm/hQUpv8UFKb/FBSm/hMT + o/8hIZv/fHy8/ru71P/IyNj/yMjY/sjI2P/IyNj/wMDW/oqKwf8rK57/ExOh/hQUpv8UFKb/FBSm/hQU + pv8UFKb/FBSm/hQUpv8UFKb/FBSm/hQUpv8UFKb/FBSm/hQUpv8UFKb/FBSm/hQUpv8UFKb/FBSm/hQU + pv8UFKavAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUFKjHFBSo/hQUqP4UFKj+FBSo/hQU + qP4UFKj+FBSo/hQUqP4UFKj+FBSo/hQUqP4UFKj+FBSo/hQUqP4UFKj+FBSo/hQUqP4UFKj+ICCh/sTE + 1/7h4eH+4eHh/uHh4f7h4eH+4eHh/uHh4f7h4eH+4eHh/rq60/4iIqP+FBSo/hQUqP4UFKj+FBSo/hQU + qP4UFKj+FBSo/hQUqP4UFKj+FBSo/hQUqP4UFKj+FBSo/hQUqP4UFKj+FBSo/hQUqP4UFKj+FBSo/hQU + qP4UFKj+FBSo/hQUqP4UFKj+FBSo/h4eov60tNP+5ubm/ubm5v7m5ub+5ubm/ubm5v7m5ub+5ubm/ubm + 5v7IyNr+LCyl/hQUqP4UFKj+FBSo/hQUqP4UFKj+FBSo/hQUqP4UFKj+FBSo/hQUqP4UFKj+FBSo/hQU + qP4UFKj+FBSo/hQUqP4UFKj+FBSo/hQUqP4UFKivAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAVFarHFRWq/hUVqv8XF6z/FRWq/hUVqv8VFar/FRWq/xUVqv4VFar/FRWq/hUVqv8VFar/FRWq/hUV + qv8VFar/FRWq/hUVqv8VFar/h4fG/uXl5f/l5eX/5eXl/uXl5f/l5eX/5eXl/uXl5f/l5eX/5eXl/+Xl + 5f6BgcT/FRWq/xUVqv4VFar/FRWq/xUVqv4VFar/FRWq/xUVqv4VFar/FRWq/xUVqv4VFar/FRWq/xUV + qv4VFar/FRWq/xUVqv4VFar/FRWq/xUVqv4VFar/FRWq/hUVqv8VFar/FRWq/nV1wv/p6en/6enp/unp + 6f/p6en/6enp/unp6f/p6en/6enp/unp6f/p6en/lpbM/hUVqv8VFar/FRWq/hUVqv8VFar/FRWq/hUV + qv8VFar/FRWq/hUVqv8VFar/FRWq/hUVqv8VFar/FRWq/hUVqv8ZGa3/FRWq/hUVqv8VFaqvAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWFqzHFRWs/hYWrP8qKrj/FRWs/hYWrP8WFqz/Fhas/xUV + rP4WFqz/FRWs/hYWrP8WFqz/FRWs/hYWrP8WFqz/FRWs/hYWrP8aGq3/u7vb/unp6f/p6en/6Ojo/unp + 6f/p6en/6Ojo/unp6f/p6en/6enp/+jo6P61tdr/Fhas/xUVrP4WFqz/Fhas/xUVrP4WFqz/Fhas/xUV + rP4WFqz/Fhas/xUVrP4WFqz/Fhas/xUVrP4WFqz/Fhas/xUVrP4WFqz/Fhas/xUVrP4WFqz/FRWs/hYW + rP8WFqz/FRWs/qqq2P/s7Oz/7Ozs/uzs7P/s7Oz/7Ozs/uzs7P/s7Oz/7Ozs/uzs7P/s7Oz/zs7i/hYW + rP8WFqz/FRWs/hYWrP8WFqz/FRWs/hYWrP8WFqz/FRWs/hYWrP8WFqz/FRWs/hYWrP8WFqz/FRWs/hYW + rP8vL7r/FRWs/hYWrP8WFqyvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXF67HFhau/hYW + rv47O8L+Fhau/hYWrv4WFq7+Fhau/hYWrv4WFq7+Fhau/hYWrv4WFq7+Fhau/hYWrv4WFq7+Fhau/hYW + rv4dHbD+w8Pg/uzs7P7s7Oz+7Ozs/uzs7P7s7Oz+7Ozs/uzs7P7s7Oz+7Ozs/uzs7P68vN7+Fhau/hYW + rv4WFq7+Fhau/hYWrv4WFq7+Fhau/hYWrv4WFq7+Fhau/hYWrv4WFq7+Fhau/hYWrv4WFq7+Fhau/hYW + rv4WFq7+Fhau/hYWrv4WFq7+Fhau/hYWrv4WFq7+Fhau/rGx3P7v7+/+7+/v/u/v7/7v7+/+7+/v/u/v + 7/7v7+/+7+/v/u/v7/7v7+/+2trp/hYWrv4WFq7+Fhau/hYWrv4WFq7+Fhau/hYWrv4WFq7+Fhau/hYW + rv4WFq7+Fhau/hYWrv4WFq7+Fhau/hsbsf4zM77+Fhau/hYWrv4XF66vAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAeHrLHFxew/hcXsP8+Psb/LCy8/hcXsP8XF7D/Fxew/xcXsP4XF7D/Fxew/hcX + sP8XF7D/Fxew/hcXsP8XF7D/Fxew/hcXsP8dHbL/xsbj/u7u7v/u7u7/7u7u/u7u7v/u7u7/7u7u/u7u + 7v/u7u7/7u7u/+7u7v6/v+H/Fxew/xcXsP4XF7D/Fxew/xcXsP4XF7D/Fxew/xcXsP4XF7D/Fxew/xcX + sP4XF7D/Fxew/xcXsP4XF7D/Fxew/xcXsP4XF7D/Fxew/xcXsP4XF7D/Fxew/hcXsP8XF7D/Fxew/rOz + 3v/x8fH/8fHx/vHx8f/x8fH/8fHx/vHx8f/x8fH/8fHx/vHx8f/x8fH/3Nzr/hcXsP8XF7D/Fxew/hcX + sP8XF7D/Fxew/hcXsP8XF7D/Fxew/hcXsP8XF7D/Fxew/hcXsP8XF7D/Fxew/jk5wv80NMD/Fxew/hcX + sP8oKLSvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFRby5Fxey/hgYsv8qKrz/YGDY/hgY + sv8YGLL/GBiy/xcXsv4YGLL/Fxey/hgYsv8YGLL/Fxey/hgYsv8YGLL/Fxey/hgYsv8eHrT/yMjl/vHx + 8f/x8fH/8fHx/vHx8f/x8fH/8fHx/vHx8f/x8fH/8fHx//Hx8f7BweP/GBiy/xcXsv4YGLL/GBiy/xcX + sv4YGLL/GBiy/xcXsv4YGLL/GBiy/xcXsv4YGLL/GBiy/xcXsv4YGLL/GBiy/xcXsv4YGLL/GBiy/xcX + sv4YGLL/Fxey/hgYsv8YGLL/Fxey/rW14P/z8/P/8/Pz/vPz8//z8/P/8/Pz/vPz8//z8/P/8/Pz/vPz + 8//z8/P/3t7t/hgYsv8YGLL/Fxey/hgYsv8YGLL/Fxey/hgYsv8YGLL/Fxey/hgYsv8YGLL/Fxey/hgY + sv8YGLL/GBiy/mZm2/8iIrj/Fxey/hgYsv9YWMCbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AABubsWGGBi0/hgYtP4ZGbT+cHDh/js7xv4YGLT+GBi0/hgYtP4YGLT+GBi0/hgYtP4YGLT+GBi0/hgY + tP4YGLT+GBi0/hgYtP4fH7b+ysrn/vPz8/7z8/P+8/Pz/vPz8/7z8/P+8/Pz/vPz8/7z8/P+8/Pz/vPz + 8/7CwuX+GBi0/hgYtP4YGLT+GBi0/hgYtP4YGLT+GBi0/hgYtP4YGLT+GBi0/hgYtP4YGLT+GBi0/hgY + tP4YGLT+GBi0/hgYtP4YGLT+GBi0/hgYtP4YGLT+GBi0/hgYtP4YGLT+GBi0/ra24v719fX+9fX1/vX1 + 9f719fX+9fX1/vX19f719fX+9fX1/vX19f719fX+39/v/hgYtP4YGLT+GBi0/hgYtP4YGLT+GBi0/hgY + tP4YGLT+GBi0/hgYtP4YGLT+GBi0/hgYtP4YGLT+R0fM/mVl2/4YGLT+GBi0/hoatP5XV8BoAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2dsctOzu89hkZtv8ZGbb/Kyu//omJ7v89Pcj/GRm2/xgY + tv4ZGbb/GBi2/hkZtv8ZGbb/GBi2/hkZtv8ZGbb/GBi2/hkZtv8fH7j/y8vp/vX19f/19fX/9fX1/vX1 + 9f/19fX/9fX1/vX19f/19fX/9fX1//X19f7ExOf/GRm2/xgYtv4ZGbb/GRm2/xgYtv4ZGbb/GRm2/xgY + tv4ZGbb/GRm2/xgYtv4ZGbb/GRm2/xgYtv4ZGbb/GRm2/xgYtv4ZGbb/GRm2/xgYtv4ZGbb/GBi2/hkZ + tv8ZGbb/GBi2/re35P/29vb/9vb2/vb29v/29vb/9vb2/vb29v/29vb/9vb2/vb29v/29vb/4ODw/hkZ + tv8ZGbb/GBi2/hkZtv8ZGbb/GBi2/hkZtv8ZGbb/GBi2/hkZtv8ZGbb/GBi2/hkZtv9JSc7/iorv/iIi + u/8ZGbb/GBi2/kpKwO1eXsIbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABRUcACh4fMmxwc + uf8ZGbj/GRm4/kZGzv+Pj/L/Y2Pc/ykpwP4bG7n/GRm4/hkZuP8ZGbj/GRm4/hkZuP8ZGbj/GRm4/hkZ + uP8gILr/zMzr/vb29v/29vb/9vb2/vb29v/29vb/9vb2/vb29v/29vb/9vb2//b29v7Fxen/GRm4/xkZ + uP4ZGbj/GRm4/xkZuP4ZGbj/GRm4/xkZuP4ZGbj/GRm4/xkZuP4ZGbj/GRm4/xkZuP4ZGbj/GRm4/xkZ + uP4ZGbj/GRm4/xkZuP4ZGbj/GRm4/hkZuP8ZGbj/GRm4/ri45f/39/f/9vb2/vf39//39/f/9vb2/vf3 + 9//39/f/9vb2/vf39//39/f/4eHx/hkZuP8ZGbj/GRm4/hkZuP8ZGbj/GRm4/hkZuP8ZGbj/GRm4/hkZ + uP8bG7n/Li7C/mxs4P+MjPH/ODjH/hkZuP8ZGbj/ISG5/oiIzIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAaWnGEYODzM8dHbr+GRm6/hkZuv43N8j+hYXt/paW9f59fen+aGjf/mRk + 3f5kZN3+ZGTd/mRk3f5kZN3+ZGTd/mRk3f5oaN7+29vy/vb29v729vb+9vb2/vb29v729vb+9vb2/vb2 + 9v729vb+9vb2/vb29v7W1vH+ZGTd/mRk3f5kZN3+ZGTd/mRk3f5kZN3+ZGTd/mRk3f5kZN3+ZGTd/mRk + 3f5kZN3+ZGTd/mRk3f5kZN3+ZGTd/mRk3f5kZN3+ZGTd/mRk3f5kZN3+ZGTd/mRk3f5kZN3+ZGTd/s3N + 7/729vb+9vb2/vb29v729vb+9vb2/vb29v729vb+9vb2/vb29v729vb+6Oj0/mRk3f5kZN3+ZGTd/mRk + 3f5kZN3+ZGTd/mRk3f5kZN3+ZGTd/mlp3/6AgOr+mJj2/n5+6v4xMcX+GRm6/hkZuv4fH7v+fn7LvVBQ + wQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGpqxxV9fcytLy+/+xsb + u/8bG7v/HBy8/0JCzv5nZ+D/e3vp/n196v99fer/fX3p/n196v99fer/fX3p/n196v+AgOr/39/0/vb2 + 9v/29vb/9vb2/vb29v/29vb/9vb2/vb29v/29vb/9vb2//b29v7c3PP/fX3q/3196f59fer/fX3q/319 + 6f59fer/fX3q/3196f59fer/fX3q/3196f59fer/fX3q/3196f59fer/fX3q/3196f59fer/fX3q/319 + 6f59fer/fX3p/n196v99fer/fX3p/tPT8v/29vb/9fX1/vb29v/29vb/9fX1/vb29v/29vb/9fX1/vb2 + 9v/29vb/6ur0/n196v99fer/fX3p/n196v99fer/fX3p/n196v99fer/fX3p/np66P9jY97/PT3M/hsb + u/8bG7v/Ghq7/jc3wPmMjM6YU1PECwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABRUcQGcXHLSG9vy608PMLgISG+5xoavOYbG73nGhq85hsbvecbG73nGhq85hsb + vecbG73nGhq85hsbveciIr/nzs7r+vX19f/19fX/9fX1/vX19f/19fX/9fX1/vX19f/19fX/9fX1//X1 + 9f7Hx+n5Gxu95xoavOYbG73nGxu95xoavOYbG73nGxu95xoavOYbG73nGxu95xoavOYbG73nGxu95xoa + vOYbG73nGxu95xoavOYbG73nGxu95xoavOYbG73nGhq85hsbvecbG73nGhq85rq65vj19fX/9PT0/vX1 + 9f/19fX/9PT0/vX19f/19fX/9PT0/vX19f/19fX/4eHw/BsbvecbG73nGhq85hsbvecbG73nGhq85hsb + vecbG73nGhq85hsbvecbG73nGhq85iMjvudBQcPbd3fMo3R0zDxQUMQDAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSUsgGQUHHDzg4 + yA87O8oPPz/ND0NDzw9ERNAPRUXQD0VF0A9FRdAPUVHSD3Fx2A+Rkd4X7u7z0fT09P709PT+9PT0/vT0 + 9P709PT+9PT0/vT09P709PT+9PT0/vT09P7n5/HKjY3dD3Z22A9YWNMPRUXQD0VF0A9FRdAPRUXQD0VF + 0A9FRdAPRUXQD0VF0A9FRdAPRUXQD0VF0A9FRdAPRUXQD0VF0A9FRdAPRUXQD0VF0A9FRdAPRUXQD05O + 0Q9sbNYPhYXbD+rq8bvz8/P+8/Pz/vPz8/7z8/P+8/Pz/vPz8/7z8/P+8/Pz/vPz8/7z8/P+8fHy6I+P + 3A95edkPXV3UD0VF0A9FRdAPRUXQD0VF0A9FRdAPQ0PPD0BAzg89PcsPOTnID0dHyQ9TU8kEAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAC2tuUH8vLyz/Ly8v/y8vL/8vLy/vLy8v/y8vL/8vLy/vLy8v/y8vL/8vLy//Ly8v7s7PHHAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPHx8bfx8fH/8fHx/vHx8f/x8fH/8fHx/vHx + 8f/x8fH/8fHx/vHx8f/x8fH/8fHx5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADGxuYH8PDwzfDw8P/w8PD/8PDw/vDw8P/w8PD/8PDw/vDw + 8P/w8PD/8PDw//Dw8P7s7O/GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO/v + 77bv7+//7+/v/u/v7//v7+//7+/v/u/v7//v7+//7+/v/u/v7//v7+//7+/v5AAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7u7uq+3t + 7f7t7e3+7e3t/u3t7f7t7e3+7e3t/u3t7f7t7e3+7e3t/u3t7f7t7e2jAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOzs7JTs7Oz+7Ozs/uzs7P7s7Oz+7Ozs/uzs7P7s7Oz+7Ozs/uzs + 7P7s7Oz+7OzsuQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA7OzsN+rq6vbq6ur/6urq/urq6v/q6ur/6urq/urq6v/q6ur/6urq/+rq + 6vHs7OwxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOvr6ynp6enr6enp/unp + 6f/p6en/6enp/unp6f/p6en/6enp/unp6f/p6en16urqRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOnp6VHn5+fY5+fn9efn + 5/fn5+f35+fn9ufn5/fn5+f15+fn1unp6UgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADo6OhB5eXlz+Xl5fXl5eX35eXl9uXl5ffl5eX35eXl9uXl5dzn5+dZ6enpAQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADp6ekL6OjoLOjo6C/o6Ogv6OjoL+jo6C/o6Ogt6enpCQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5+fnB+bm5izm5uYv5ubmL+bm + 5i/m5uYv5ubmLufn5w0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + 8AAAAAAAAD////4AAAAAAAAAAAAB/8AAAAAAAAAAAAAABwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAQAA + AAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAD/gA + AAAAAAAAAAAAH/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AA + AAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AA + AAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AA + AAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AA + AAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AA + AAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AA + AAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AA + AAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AA + AAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AA + AAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AA + AAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AA + AAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AA + AAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AA + AAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AA + AAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AA + AAAAAAAAAAAAH/gAAAAAAAAAAAAAH/wAAAAAAAAAAAAAP/4AAAAAAAAAAAAAf//AAAAAAAAAAAAD//// + /AAf///wAP///////AAf///wAP///////gAf///wAP///////gAf///wAP///////wA////4AP////// + /4B////8A////ygAAABIAAAAkAAAAAEAIAAAAAAAYFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKOjowGjo6MCo6OjAqOj + owKjo6MCo6OjAqOjowKjo6MDo6OjBKOjowajo6MGo6OjBqOjowajo6MGo6OjBqOjowajo6MGo6OjBqOj + owajo6MGo6OjBqOjowajo6MGo6OjBqOjowajo6MGo6OjBqOjowajo6MGo6OjBqOjowajo6MGo6OjBqOj + owajo6MEo6OjAqOjowKjo6MCo6OjAqOjowKjo6MCo6OjAqOjowEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKOjowGjo6MCo6OjA6Oj + owWjo6MHo6OjCaOjowujo6MOo6OjEqOjoxSjo6MUo6OjFqOjoxyjo6Mho6OjI6OjoyOjo6Mjo6OjI6Oj + oyOjo6Mmo6OjLaOjozWjo6M4o6OjOKOjozijo6M4o6OjOKOjozijo6M4o6OjOKOjozijo6M4o6OjOKOj + ozijo6M4o6OjOKOjozijo6M4o6OjOKOjozijo6M4o6OjOKOjozijo6M4o6OjOKOjozSjo6Mso6OjJaOj + oyOjo6Mjo6OjI6OjoyOjo6Mio6OjIKOjoxmjo6MVo6OjFKOjoxOjo6MSo6OjDqOjowqjo6MJo6OjB6Oj + owWjo6MDo6OjAgAAAAAAAAAAAAAAAAAAAACjo6MDo6OjDKKiohijo6MioqKiLKOjozOioqI+o6OjRaOj + o0qioqJVo6OjX6KiomSjo6NloqKiaaOjo3aioqKAo6Ojg6Ojo4SioqKEo6OjhKKiooSjo6OHoqKikqOj + o56ioqKio6Ojo6Ojo6OioqKjo6Ojo6KioqOjo6OjoqKio6Ojo6OioqKjo6Ojo6Ojo6OioqKjo6Ojo6Ki + oqOjo6OjoqKio6Ojo6OioqKjo6Ojo6KioqOjo6Ojo6OjoqKiop2jo6ORoqKihqOjo4SioqKEo6OjhKKi + ooSjo6OCo6OjfaKionCjo6NmoqKiZKOjo2OioqJeo6OjU6Kiokmjo6NFo6OjPaKiojKjo6MpoqKiH6Oj + oxWioqIJo6OjAQAAAACjo6MRo6OjN6Ojo1+jo6N6o6OjjKOjo5ejo6Olo6OjrqOjo7Ojo6O8o6OjxqOj + o8qjo6PKo6OjzaOjo9Wjo6Pco6Oj3qOjo9+jo6Pfo6Oj36Ojo9+jo6Pgo6Oj5aOjo+qjo6Pso6Oj7aOj + o+2jo6Pto6Oj7aOjo+2jo6Pto6Oj7aOjo+2jo6Pto6Oj7aOjo+2jo6Pto6Oj7aOjo+2jo6Pto6Oj7aOj + o+2jo6Pto6Oj7aOjo+2jo6Pto6Oj7KOjo+mjo6Pko6Oj4KOjo9+jo6Pfo6Oj36Ojo9+jo6Peo6Oj2qOj + o9Kjo6PLo6OjyqOjo8qjo6PFo6Oju6Ojo7Kjo6Oto6Ojo6Ojo5Wjo6OGo6Ojc6Ojo1ejo6Muo6OjDAAA + AACjo6Mao6OjU6Kiooyjo6OtoqKiwKOjo8uioqLWo6Oj3qOjo+GioqLlo6Oj66Kiou+jo6PvoqKi8KOj + o/KioqL1o6Oj96Ojo/iioqL4o6Oj+KKiovijo6P4oqKi+KOjo/mioqL6o6Oj+6Ojo/yioqL8o6Oj/KKi + ovyjo6P8oqKi/KOjo/yioqL8o6Oj/KOjo/yioqL8o6Oj/KKiovyjo6P8oqKi/KOjo/yioqL8o6Oj/KKi + ovyjo6P7o6Oj+qKiovmjo6P4oqKi+KOjo/iioqL4o6Oj+KKiovijo6P3o6Oj9KKiovGjo6PvoqKi76Oj + o+6ioqLpo6Oj5KKiouCjo6Pco6Oj0qKiosejo6O6oqKipKOjo4GioqJHo6OjEqKiogGjo6MNo6OjLaOj + o1Gjo6Npo6OjeqOjo4ajo6OUqKiorbCwsMCysrLIsbGx0LGxsdaxsbHXsbGx17GxsdmxsbHfsbGx5LGx + seaxsbHnsbGx57GxseexsbHnsbGx57GxseexsbHqsbGx77GxsfGxsbHysbGx8rGxsfKxsbHysbGx8rGx + sfKxsbHysbGx8rGxsfKxsbHysbGx8rGxsfKxsbHysbGx8rGxsfKxsbHysbGx8rGxsfGxsbHusbGx6rGx + seexsbHnsbGx57GxseexsbHnsbGx57GxseaxsbHksbGx3rGxsdixsbHXsbGx17GxsdSxsbHMsrKyxbKy + ssKvr6+4qKiom6Ojo4Kjo6N0o6OjYaOjo0ijo6Mmo6OjCQAAAACjo6MBo6OjB6SkpBCjo6MZoqKiILKy + slHMzMzJ2dnZ+dra2v/a2tr+29vb/9vb2/7c3Nz/3Nzc/t3d3f/d3d3+3d3d/97e3v/e3t7+3t7e/97e + 3v7f39//39/f/t/f3//f39/+4ODg/+Dg4P/g4OD+4ODg/+Dg4P7h4eH/4ODg/uHh4f/g4OD+4eHh/+Hh + 4f/g4OD+4eHh/+Dg4P7h4eH/4ODg/uDg4P/g4OD+4ODg/+Dg4P7g4OD/4ODg/9/f3/7f39//39/f/t/f + 3//e3t7+3t7e/97e3v7e3t7/3d3d/93d3f7c3Nz/3Nzc/tzc3P/b29v+29vb/9ra2v7a2tr/2NjY9svL + y76vr69BpqamFaenpw6mpqYGAAAAAAAAAAAAAAAAAAAAAAAAAAC2trYByMjISNnZ2fPa2tr/2tra/9vb + 2//b29v/3Nzc/9zc3P/d3d3/3d3d/93d3f/e3t7/3t7e/97e3v/f39//39/f/9/f3//g4OD/4ODg/+Dg + 4P/g4OD/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4uLi/+Li4v/h4eH/4eHh/+Hh + 4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4ODg/+Dg4P/g4OD/4ODg/9/f3//f39//39/f/97e + 3v/e3t7/3t7e/93d3f/d3d3/3d3d/9zc3P/c3Nz/3Nzc/9vb2//b29v/2tra/9ra2v/Y2NjtxsbGOgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADLy8sY2dnZ6Nra2v/a2tr/29vb/9vb2//c3Nz/3Nzc/93d + 3f/d3d3/3d3d/97e3v/e3t7/39/f/9/f3//f39//4ODg/+Dg4P/g4OD/4ODg/+Hh4f/h4eH/4eHh/+Hh + 4f/h4eH/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4ODg/+Dg4P/g4OD/39/f/9/f3//f39//3t7e/97e + 3v/e3t7/3d3d/93d3f/c3Nz/3Nzc/9zc3P/b29v/29vb/9ra2v/a2tr/2NjY3M3NzQ0AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADZ2dl/2tra/tra2v/b29v+29vb/9zc3P/c3Nz+3d3d/93d3f7e3t7/3t7e/t7e + 3v/e3t7+39/f/9/f3//f39/+4ODg/+Dg4P7h4eH/4eHh/uHh4f/h4eH+4uLi/+Li4v/i4uL+4uLi/+Li + 4v7i4uL/4uLi/uPj4//i4uL+4+Pj/+Pj4//i4uL+4+Pj/+Li4v7i4uL/4uLi/uLi4v/i4uL+4uLi/+Hh + 4f7i4uL/4eHh/+Hh4f7h4eH/4ODg/uDg4P/g4OD+4ODg/9/f3/7f39//39/f/97e3v7e3t7/3d3d/t3d + 3f/d3d3+3Nzc/9zc3P7c3Nz/29vb/9ra2v7a2tr/2dnZ/tnZ2WkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADa2trC2tra/9vb2//b29v/3Nzc/9zc3P/d3d3/3d3d/97e3v/e3t7/3t7e/9/f3//f39//4ODg/+Dg + 4P/h4eH/4eHh/+Hh4f/i4uL/4uLi/+Li4v/i4uL/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//i4uL/4uLi/+Hh4f/h4eH/4eHh/+Dg4P/g4OD/4ODg/9/f3//f39//3t7e/97e3v/d3d3/3d3d/93d + 3f/c3Nz/3Nzc/9vb2//b29v/2tra/9ra2qwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADa2trV29vb/tvb + 2//c3Nz+3Nzc/93d3f/d3d3+3t7e/97e3v7f39//39/f/t/f3//g4OD+4eHh/+Li4v/j4+P+4+Pj/+Tk + 5P7k5OT/5OTk/uXl5f/l5eX+5eXl/+Xl5f/l5eX+5eXl/+bm5v7m5ub/5ubm/uXl5f/l5eX+5OTk/+Tk + 5P/j4+P+5OTk/+Pj4/7k5OT/5OTk/uXl5f/l5eX+5ubm/+bm5v7m5ub/5ubm/+bm5v7l5eX/5OTk/uPj + 4//i4uL+4eHh/+Dg4P7g4OD/4ODg/9/f3/7f39//3t7e/t7e3v/e3t7+3d3d/93d3f7d3d3/3Nzc/9vb + 2/7b29v/2tra/tra2sMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADb29vV29vb/9zc3P/c3Nz/3d3d/93d + 3f/e3t7/3t7e/9/f3//f39//39/f/+Dg4P/h4eH/4+Pj/+Xl5f/i4uL/4eHh/+Hh4f/h4eL/4eHi/+Hh + 4v/h4eL/4uLi/+Li4//i4uP/4uLj/+Li4//i4uP/4uLj/+Tk5P/n5+f/5ubm/+Xl5f/k5OT/5OTk/+Tk + 5P/l5eX/5ubm/+jo6P/o6Oj/29vc/7i4vP+ioqf/nJyh/66usv/Pz9H/5OTl/+fn5//l5eX/4+Pj/+Li + 4v/h4eH/4eHh/+Dg4P/g4OD/39/f/9/f3//e3t7/3t7e/93d3f/d3d3/3d3d/9zc3P/c3Nz/29vb/9vb + 28MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADb29vV29vb/tzc3P/d3d3+3d3d/97e3v/e3t7+39/f/9/f + 3/7g4OD/4ODg/uHh4f/j4+P+4ODg/25udv8jIzH+Gxsq/xsbKv4bGyr/Gxsq/hsbKv8bGyr+Gxsq/xsb + Kv8bGyr+Gxsq/xsbKv4bGyr/Gxsq/iMjMv93d3/+5+fn/+bm5v/l5eX+5eXl/+bm5v7o6Oj/6enp/qmp + rf9ERFD+DAwc/wICFP4CAhX/AgIV/wICFP4EBBX/KSk3/n19hP/a2tv+5ubm/+Tk5P7i4uL/4eHh/+Dg + 4P7g4OD/39/f/t/f3//f39/+3t7e/97e3v7d3d3/3d3d/9zc3P7c3Nz/29vb/tvb28MAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADc3NzV3Nzc/93d3f/d3d3/3t7e/97e3v/f39//39/f/+Dg4P/g4OD/4eHh/+Li + 4v/l5eX/dnZ9/wICFf8CAhb/AwMX/wMDF/8DAxf/AwMX/wMDF/8DAxf/AwMX/wMDF/8DAxf/AwMX/wMD + F/8DAxf/AwMX/wICFv8DAxX/tLS4/+jo6P/m5ub/5ubm/+jo6P/f3+D/VFRe/wUFFv8CAhb/AwMX/wMD + F/8DAxf/AwMX/wMDF/8DAxf/AgIW/wICFf8fHy3/r6+z/+fn5//k5OT/4uLi/+Hh4f/h4eH/4ODg/+Dg + 4P/f39//39/f/97e3v/e3t7/3t7e/93d3f/d3d3/3Nzc/9zc3MMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADc3NzV3Nzc/t3d3f/d3d3+3t7e/9/f3//f39/+4ODg/+Dg4P7g4OD/4eHh/uPj4//m5ub+Q0NO/wIC + Fv8CAhb+AwMX/wICFv4DAxf/AgIW/gMDF/8CAhb+AwMX/wICF/8CAhb+AwMX/wICFv4DAxf/AgIW/gMD + F/8CAhT+rKyw/+jo6P/n5+f+6enp/+Tk5P5GRlH/AgIV/gMDF/8CAhb+AwMX/wICFv4CAhX/AgIU/wIC + Ff4CAhb/AgIW/gMDF/8CAhb+DAwc/6qqrv7n5+f/4+Pj/+Li4v7h4eH/4ODg/uDg4P/f39/+39/f/97e + 3v7e3t7/3t7e/93d3f7d3d3/3Nzc/tzc3MMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADd3d3V3d3d/97e + 3v/e3t7/39/f/9/f3//g4OD/4ODg/+Hh4f/h4eH/4eHh/+Pj4//m5ub/fX2E/wICFf8DAxf/AwMX/wMD + F/8CAhb/AgIU/wICFP8CAhT/AgIU/wICFP8CAhT/AgIU/wICFP8CAhT/AgIU/wwMHf9XV2H/5ubm/+jo + 6P/o6Oj/6urq/3Jyev8CAhX/AwMX/wMDF/8DAxf/BAQW/01NV/+qqq7/vb3A/46OlP8jIzH/AgIW/wMD + F/8DAxf/AgIW/xYWJf/Y2Nn/5ubm/+Pj4//i4uL/4eHh/+Hh4f/g4OD/4ODg/9/f3//f39//3t7e/97e + 3v/d3d3/3d3d/9zc3MMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADd3d3V3d3d/97e3v/e3t7/39/f/+Dg + 4P/g4OD/4ODg/+Hh4f/h4eH/4uLi/+Pj4//l5eX/19fY/xsbKv8CAhb/AwMX/wMDF/8CAhb/AgIT/39/ + hv/MzM7/ysrM/8jIy//IyMr/yMjK/8jIyv/IyMr/x8fK/9TU1f/p6en/6enp/+np6f/q6ur/1NTV/wwM + HP8CAhb/AwMX/wMDF/8CAhX/cXF5/+rq6v/q6ur/6urq/+vr6//W1tf/IyMx/wICFv8CAhf/AwMX/wIC + Fv90dHv/5+fn/+Tk5P/i4uL/4eHh/+Hh4f/h4eH/4ODg/+Dg4P/f39//39/f/97e3v/e3t7/3d3d/93d + 3cMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADd3d3V3d3d/t7e3v/f39/+39/f/+Dg4P/g4OD+4eHh/+Hh + 4f7i4uL/4uLi/uPj4//k5OT+5+fn/7a2uv8RESH+AgIW/wICFv4DAxf/AgIW/ggIGf+UlJr+7u7u/+zs + 7P/r6+v+6urq/+np6f7p6en/6enp/unp6f/o6Oj+6Ojo/+np6f/r6+v+enqB/wICFv4DAxf/AgIW/gIC + Fv8nJzX+6Ojo/+rq6v7o6Oj/5+fn/+jo6P7r6+v/m5ug/gICFf8CAhb+AwMX/wICFv4mJjT/5eXl/+Xl + 5f7j4+P/4eHh/uHh4f/h4eH+4eHh/+Dg4P7g4OD/39/f/97e3v7e3t7/3d3d/t3d3cMAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADe3t7V3t7e/9/f3//f39//4ODg/+Dg4P/h4eH/4eHh/+Li4v/i4uL/4uLi/+Pj + 4//k5OT/5ubm/+jo6P+7u77/HR0r/wICFv8DAxf/AwMX/wICFv8FBRb/ampz/+bm5v/r6+v/6enp/+np + 6f/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+rq6v/s7Oz/MTE+/wMDF/8DAxf/AwMX/wICFv9vb3j/7Ozs/+np + 6f/n5+f/5+fn/+fn5//q6ur/1NTV/wkJGv8DAxf/AwMX/wMDF/8LCxz/1dXW/+bm5v/j4+P/4uLi/+Li + 4v/h4eH/4eHh/+Dg4P/g4OD/4ODg/9/f3//e3t7/3t7e/93d3cMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADe3t7V3t7e/t/f3//f39/+4ODg/+Hh4f/h4eH+4uLi/+Li4v7i4uL/4uLi/uPj4//j4+P+5eXl/+bm + 5v/p6en+zs7Q/ywsOf4CAhb/AgIW/gMDF/8CAhb+AgIV/zU1Qf/Kysz+7Ozs/+rq6v7p6en/6Ojo/ujo + 6P/n5+f+6Ojo/+rq6v/Z2dv+Dw8g/wICFv4DAxf/AgIW/gICFf+OjpT+7Ozs/+np6f7n5+f/5+fn/+jo + 6P7q6ur/4ODh/g0NHv8CAhb+AwMX/wICFv4CAhT/zc3P/+bm5v7k5OT/4uLi/uLi4v/h4eH+4eHh/+Dg + 4P7g4OD/4ODg/9/f3/7f39//3t7e/t7e3sMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADe3t7V39/f/9/f + 3//g4OD/4eHh/+Hh4f/h4eH/4uLi/+Li4v/j4+P/4+Pj/+Tk5P/k5OT/5eXl/+Xl5f/n5+f/6enp/9ra + 2/9GRlH/AgIV/wICFv8DAxf/AwMX/wICFv8TEyP/l5ed/+vr6//r6+v/6enp/+np6f/o6Oj/6enp/+vr + 6//ExMf/AwMV/wMDF/8DAxf/AwMX/wICFv95eYD/7e3t/+rq6v/o6Oj/5+fn/+jo6P/r6+v/z8/R/wgI + Gf8DAxf/AwMX/wMDF/8MDB3/1tbX/+bm5v/k5OT/4+Pj/+Pj4//i4uL/4uLi/+Hh4f/h4eH/4ODg/+Dg + 4P/f39//3t7e/97e3sMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADf39/V39/f/uDg4P/g4OD+4eHh/+Hh + 4f/h4eH+4uLi/+Li4v7j4+P/4+Pj/uTk5P/k5OT+5eXl/+Xl5f/m5ub+5+fn/+np6f7m5ub/bW12/gUF + Fv8CAhb+AwMX/wMDF/8CAhb+AwMV/2Bgaf7h4eL/7Ozs/urq6v/p6en+6urq/+vr6/+vr7P+AgIV/wIC + Fv4DAxf/AgIW/gICFv8tLTr+6enq/+zs7P7q6ur/6urq/+rq6v7s7Oz/iYmP/gICFf8CAhb+AwMX/wIC + Fv4pKTb/5ubm/+bm5v7k5OT/4+Pj/uPj4//i4uL+4uLi/+Hh4f7h4eH/4ODg/+Dg4P7f39//3t7e/t7e + 3sMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADf39/V39/f/+Dg4P/g4OD/4eHh/+Li4v/i4uL/4+Pj/+Pj + 4//k5OT/5OTk/+Tk5P/l5eX/5eXl/+bm5v/m5ub/5+fn/+jo6P/p6en/6+vr/5+fpP8YGCf/AgIW/wMD + F/8DAxf/AgIX/wICFf8yMj//1tbX/+zs7P/q6ur/6urq/+zs7P+oqKz/AgIV/wMDF/8DAxf/AwMX/wMD + F/8CAhX/ZWVu/+Xl5v/t7e3/7e3t/+7u7v+6ur3/ExMi/wICFv8DAxf/AwMX/wICFf94eH//6enp/+bm + 5v/k5OT/5OTk/+Pj4//j4+P/4uLi/+Li4v/h4eH/4eHh/+Dg4P/g4OD/39/f/9/f38MAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADf39/V39/f/uDg4P/g4OD+4eHh/+Li4v/i4uL+4+Pj/+Pj4/7k5OT/5OTk/uXl + 5f/l5eX+5eXl/+bm5v/m5ub+5+fn/+fn5/7o6Oj/6urq/uvr6//W1tf+Tk5Z/wMDFf8CAhb+AwMX/wIC + Fv4CAhb/Li47/t7e3//s7Oz+6+vr/+3t7f+oqK3+AgIV/wICFv4DAxf/AgIW/gICFv8CAhb+AgIV/yUl + M/5vb3f/gICH/1JSXf4KChv/AgIW/gMDF/8CAhb+AgIW/xgYJ/7b29z/6Ojo/+Xl5f7k5OT/5OTk/uPj + 4//j4+P+4uLi/+Li4v7h4eH/4eHh/+Dg4P7g4OD/39/f/t/f38MAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADg4ODV4ODg/+Hh4f/h4eH/4uLi/+Li4v/j4+P/4+Pj/+Tk5P/k5OT/5eXl/+Xl5f/l5eX/5ubm/+fn + 5//o6Oj/6Ojo/+jo6P/p6en/6enp/+np6f/r6+v/6urr/4KCif8FBRf/AgIW/wMDF/8DAxf/AgIW/1JS + XP/s7Oz/7Ozs/+3t7f+3t7v/AgIV/wMDF/8DAxf/AwMX/wICE/8CAhT/AgIW/wICFv8CAhb/AgIW/wIC + Fv8CAhf/AwMX/wMDF/8CAhb/EBAg/7CwtP/p6en/5+fn/+Xl5f/l5eX/5OTk/+Tk5P/j4+P/4+Pj/+Li + 4v/i4uL/4eHh/+Hh4f/g4OD/4ODg/9/f38MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4ODV4ODg/+Hh + 4f/h4eH/4uLi/+Li4v/j4+P/4+Pj/+Tk5P/k5OT/5eXl/+Xl5f/n5+f/6Ojo/+rq6v/q6ur/6+vr/+rq + 6v/p6en/6enp/+np6f/q6ur/6+vr/+7u7v96eoL/AgIV/wMDF/8DAxf/AwMX/wUFFv+trbH/7u7u/+7u + 7v/Nzc//BQUW/wMDF/8DAxf/AwMX/wgIGf9zc3v/DAwd/wICFv8DAxf/AwMX/wMDF/8DAxf/AgIW/wIC + Ff8jIzH/t7e7/+vr6//o6Oj/5ubm/+Xl5f/l5eX/5OTk/+Tk5P/k5OT/4+Pj/+Pj4//i4uL/4uLi/+Hh + 4f/g4OD/4ODg/9/f38MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4ODV4ODg/uHh4f/h4eH+4uLi/+Pj + 4//j4+P+5OTk/+Tk5P7l5eX/5eXl/ubm5v/o6Oj+3d3e/2Vlbv8yMj/+T09a/87O0P7r6+v/6urq/unp + 6f/p6en+6urq/+zs7P/q6ur+NDRB/wICFv4DAxf/AgIW/gICFv9SUl3+7+/v/+7u7v/i4uP+FRUl/wIC + Fv4DAxf/AgIW/gICFf+8vL/+1tbY/3R0fP4xMT7/GRkp/xUVJP4hIS//R0dS/pSUmv/n5+j+7e3t/+rq + 6v7o6Oj/5ubm/+Xl5f7l5eX/5OTk/uTk5P/j4+P+4+Pj/+Li4v7i4uL/4uLi/+Hh4f7h4eH/4ODg/uDg + 4MMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4ODV4eHh/+Hh4f/i4uL/4uLi/+Pj4//j4+P/5OTk/+Tk + 5P/l5eX/5eXl/+fn5//p6en/dHR8/wICFf8CAhf/AgIW/zo6Rv/o6On/6+vr/+np6f/p6en/6urq/+zs + 7P/v7+//iYmP/wICFf8DAxf/AwMX/wMDF/8mJjT/7e3t/+7u7v/v7+//PDxI/wICFv8DAxf/AwMX/wIC + Ff+MjJL/8PDw/+/v7//t7e3/5OTk/9/f4P/p6en/7+/v/+/v7//g4OH/4ODh/+vr6//p6en/5+fn/+bm + 5v/l5eX/5eXl/+Xl5f/k5OT/5OTk/+Pj4//j4+P/4uLi/+Hh4f/h4eH/4ODg/+Dg4MMAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADg4ODV4ODg/uHh4f/h4eH+4uLi/+Pj4//j4+P+5OTk/+Tk5P7l5eX/5ubm/ufn + 5//q6ur+UVFc/wICFv8CAhb+AwMX/wMDFf6vr7P/7Ozs/uvr6//q6ur+6+vr/+zs7P/v7+/+m5ug/wIC + Ff4DAxf/AgIW/gMDF/8fHy7+7Ozs/+7u7v/u7u7+hYWL/wICFf4DAxf/AgIW/gICFv9GRlH+8PDw/+7u + 7v7s7Oz/7Ozs/+3t7f7t7e3/4+Pk/lNTXf8FBRb+CQka/3x8g/7q6ur/6Ojo/+bm5v7m5ub/5eXl/uXl + 5f/k5OT+5OTk/+Pj4/7j4+P/4uLi/+Hh4f7h4eH/4ODg/uDg4MMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADh4eHV4eHh/+Li4v/i4uL/4+Pj/+Pj4//k5OT/5OTk/+Xl5f/l5eX/5ubm/+fn5//q6ur/dnZ9/wIC + Fv8DAxf/AwMX/wICFv9CQk3/6+vs/+3t7f/s7Oz/7Ozs/+7u7v/v7+//T09Z/wICFv8DAxf/AwMX/wIC + Fv84OEX/7u7u/+7u7v/u7u7/19fZ/wsLHP8CAhb/AwMX/wMDF/8GBhf/vLzA/+/v7//t7e3/7Ozs/+3t + 7f/v7+//c3N7/wICFf8DAxf/AgIW/wYGF//h4eH/6Ojo/+fn5//m5ub/5eXl/+Xl5f/k5OT/5OTk/+Pj + 4//j4+P/4uLi/+Li4v/h4eH/4eHh/+Dg4MMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADh4eHV4eHh/uLi + 4v/i4uL+4+Pj/+Pj4//j4+P+5OTk/+Tk5P7l5eX/5eXl/ufn5//p6en+wsLF/wgIGf8CAhb+AwMX/wIC + Fv4DAxX/WVli/tnZ2v/v7+/+8PDw/+Hh4v9sbHT+BAQW/wICFv4DAxf/AgIW/gICFf+BgYj+7+/v/+3t + 7f/t7e3+7+/v/21tdf4CAhX/AgIW/gMDF/8CAhb+HR0s/7a2uv7w8PD/7+/v//Dw8P6urrL/DQ0d/gIC + Fv8CAhb+AwMX/wgIGf7k5OX/6Ojo/+fn5/7m5ub/5eXl/uXl5f/k5OT+5OTk/+Pj4/7j4+P/4uLi/+Li + 4v7h4eH/4ODg/uDg4MMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADh4eHV4eHh/+Li4v/i4uL/4+Pj/+Tk + 5P/k5OT/5eXl/+Xl5f/m5ub/5ubm/+fn5//o6Oj/6+vr/2Rkbf8CAhX/AwMX/wMDF/8CAhf/AgIV/wwM + Hf8xMT7/NDRB/w8PH/8CAhX/AgIW/wMDF/8DAxf/AgIW/x8fLv/e3t//7u7u/+3t7f/s7Oz/7u7u/+Hh + 4v8sLDn/AgIW/wMDF/8DAxf/AgIW/wYGF/89PUn/Y2Ns/z8/S/8HBxj/AgIW/wMDF/8DAxf/AgIV/19f + aP/r6+v/6Ojo/+fn5//m5ub/5ubm/+Xl5f/l5eX/5OTk/+Tk5P/j4+P/4+Pj/+Li4v/i4uL/4eHh/+Hh + 4cMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADh4eHV4eHh/uLi4v/i4uL+4+Pj/+Tk5P/k5OT+5eXl/+Xl + 5f7m5ub/5ubm/ufn5//n5+f+6urq/+Xl5f9KSlX+AgIV/wICFv4DAxf/AgIW/gMDF/8CAhb+AwMX/wIC + F/8CAhb+AwMX/wICFv4CAhb/FBQj/r29wP/u7u7+7e3t/+zs7P/s7Oz+7e3t/+7u7v7Pz9H/JiY0/gIC + Ff8CAhb+AwMX/wICFv4CAhb/AgIW/wICFv4DAxf/AgIW/gMDF/8CAhX+MjI//9ra3P7q6ur/6Ojo/+bm + 5v7m5ub/5eXl/uXl5f/k5OT+5OTk/+Pj4/7j4+P/4+Pj/+Li4v7i4uL/4eHh/uHh4cMAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADh4eHV4uLi/+Li4v/j4+P/4+Pj/+Tk5P/k5OT/5eXl/+Xl5f/m5ub/5ubm/+fn + 5//n5+f/6enp/+rq6v/n5+j/g4OK/xcXJv8CAhX/AgIW/wICFv8DAxf/AwMX/wMDF/8CAhb/AgIW/wUF + F/8/P0v/ysrM/+7u7v/t7e3/7Ozs/+zs7P/s7Oz/7Ozs/+3t7f/u7u7/4ODh/2Bgaf8KChv/AgIV/wIC + Fv8DAxf/AwMX/wMDF/8CAhb/AgIW/woKG/9eXmf/39/g/+vr6//p6en/5+fn/+fn5//m5ub/5ubm/+Xl + 5f/l5eX/5OTk/+Tk5P/j4+P/4+Pj/+Li4v/i4uL/4eHh/+Hh4cMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADh4eHV4uLi/+Li4v/j4+P/4+Pj/+Tk5P/k5OT/5eXl/+Xl5f/m5ub/5ubm/+fn5//n5+f/6Ojo/+np + 6f/r6+v/7Ozs/97e3/+cnKH/XV1n/zk5Rf8kJDL/IyMx/y8vPP9LS1b/eXmA/76+wf/s7Oz/7u7u/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7u7u/+7u7v/OztD/hISL/09PWf8tLTv/IyMx/yoq + N/9HR1L/fHyD/8nJy//s7Oz/6+vr/+np6f/o6Oj/5+fn/+fn5//n5+f/5ubm/+bm5v/l5eX/5eXl/+Tk + 5P/k5OT/4+Pj/+Li4v/i4uL/4eHh/+Hh4cMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADh4eHV4eHh/uLi + 4v/i4uL+4+Pj/+Tk5P/k5OT+5eXl/+Xl5f7m5ub/5ubm/ufn5//n5+f+6Ojo/+jo6P/p6en+6urq/+vr + 6/7s7Oz/7e3t/u7u7v/u7u7+7+/v/+/v7//v7+/+7u7u/+7u7v7t7e3/7e3t/u3t7f/s7Oz+7e3t/+3t + 7f/s7Oz+7e3t/+zs7P7s7Oz/7Ozs/u3t7f/t7e3+7u7u/+/v7/7u7u7/7+/v/+7u7v7t7e3/7Ozs/uzs + 7P/q6ur+6enp/+jo6P7o6Oj/5+fn/+bm5v7n5+f/5ubm/ubm5v/l5eX+5eXl/+Tk5P7k5OT/4+Pj/+Li + 4v7i4uL/4eHh/uHh4cMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADh4eHV4uLi/+Li4v/j4+P/4+Pj/+Tk + 5P/l5eX/5eXl/+bm5v/m5ub/5ubm/+fn5//n5+f/6Ojo/+jo6P/p6en/6enp/+rq6v/q6ur/6+vr/+zs + 7P/s7Oz/7Ozs/+3t7f/t7e3/7e3t/+zs7P/s7Oz/7Ozs/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7Ozs/+zs7P/s7Oz/7Ozs/+3t7f/s7Oz/7Ozs/+zs7P/r6+v/6urq/+rq6v/p6en/6enp/+jo + 6P/o6Oj/6Ojo/+fn5//n5+f/5ubm/+bm5v/l5eX/5eXl/+Tk5P/k5OT/4+Pj/+Li4v/i4uL/4eHh/+Hh + 4cMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADh4eHV4eHh/uLi4v/i4uL+4+Pj/+Tk5P/k5OT+5eXl/+Xl + 5f7m5ub/5ubm/ufn5//n5+f+6Ojo/+jo6P/o6Oj+6enp/+np6f7q6ur/6enp/urq6v/r6+v+6+vr/+vr + 6//r6+v+7Ozs/+vr6/7s7Oz/7Ozs/u3t7f/s7Oz+7e3t/+3t7f/s7Oz+7e3t/+zs7P7t7e3/7Ozs/uzs + 7P/r6+v+7Ozs/+vr6/7r6+v/6+vr/+vr6/7q6ur/6enp/urq6v/p6en+6enp/+jo6P7o6Oj/6Ojo/+fn + 5/7n5+f/5ubm/ubm5v/l5eX+5eXl/+Tk5P7k5OT/4+Pj/+Li4v7i4uL/4eHh/uHh4cMAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADh4eHV4uLi/+Li4v/j4+P/5OTk/+Tk5P/l5eX/5eXl/+bm5v/m5ub/5+fn/+fn + 5//n5+f/6Ojo/+jo6P/p6en/6enp/+np6f/q6ur/6urq/+vr6//r6+v/6+vr/+vr6//s7Oz/7Ozs/+zs + 7P/s7Oz/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7Ozs/+zs7P/s7Oz/7Ozs/+zs + 7P/r6+v/6+vr/+vr6//q6ur/6urq/+rq6v/p6en/6enp/+jo6P/o6Oj/6Ojo/+fn5//n5+f/5ubm/+bm + 5v/l5eX/5eXl/+Tk5P/k5OT/4+Pj/+Pj4//i4uL/4eHh/+Hh4cMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADf3+DV4eHh/uLi4v/i4uL+4+Pj/+Tk5P/k5OT+5eXl/+Xl5f7m5ub/5ubm/ufn5//n5+f+6Ojo/+jo + 6P/o6Oj+6enp/+np6f7q6ur/6enp/urq6v/q6ur+6+vr/+vr6//r6+v+7Ozs/+vr6/7s7Oz/7Ozs/u3t + 7f/s7Oz+7e3t/+3t7f/s7Oz+7e3t/+zs7P7t7e3/7Ozs/uzs7P/r6+v+7Ozs/+vr6/7r6+v/6+vr/+rq + 6v7q6ur/6enp/urq6v/p6en+6enp/+jo6P7o6Oj/5+fn/+fn5/7n5+f/5ubm/ubm5v/l5eX+5eXl/+Tk + 5P7k5OT/4+Pj/+Li4v7i4uL/4eHh/t/f4MMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADb297V4uLi/+Li + 4v/j4+P/4+Pj/+Tk5P/k5OT/5eXl/+Xl5f/m5ub/5ubm/+fn5//n5+f/6Ojo/+jo6P/p6en/6enp/+np + 6f/q6ur/6urq/+rq6v/r6+v/6+vr/+vr6//s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7Ozs/+zs7P/s7Oz/7Ozs/+vr6//r6+v/6+vr/+vr6//q6ur/6urq/+rq + 6v/p6en/6enp/+jo6P/o6Oj/6Ojo/+fn5//n5+f/5ubm/+bm5v/l5eX/5eXl/+Tk5P/k5OT/4+Pj/+Li + 4v/i4uL/4eHh/9vb3sMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRpvVQUGZ/kFBmf9CQpn+QkKZ/0JC + mf9CQpn+QkKZ/0JCmv5CQpr/Q0Oa/kNDmv9DQ5r+Q0Oa/0NDmv9DQ5r+Q0Oa/0NDm/5DQ5v/Q0Ob/kND + m/9ERJv+RESb/0REm/9ERJv+RESb/0REm/5ERJv/RESb/kREm/9ERJv+RESb/0REm/9ERJv+RESb/0RE + m/5ERJv/RESb/kREm/9ERJv+RESb/0REm/5ERJv/RESb/0REm/5DQ5v/Q0Ob/kNDm/9DQ5r+Q0Oa/0ND + mv5DQ5r/Q0Oa/0NDmv5DQ5r/QkKa/kJCmv9CQpn+QkKZ/0JCmf5CQpn/QkKZ/0FBmf5BQZn/QUGZ/kVF + msMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEITVCwuC/wsLgv8LC4L/CwuC/wsLgv8LC4L/CwuC/wsL + gv8LC4L/CwuC/wsLgv8LC4L/CwuC/wsLgv8LC4L/CwuC/wsLgv8LC4L/CwuC/wsLgv8LC4L/CwuC/wsL + gv8LC4L/CwuC/wsLgv8LC4L/CwuC/wsLgv8LC4L/CwuC/wsLgv8LC4L/CwuC/wsLgv8LC4L/CwuC/wsL + gv8LC4L/CwuC/wsLgv8LC4L/CwuC/wsLgv8LC4L/CwuC/wsLgv8LC4L/CwuC/wsLgv8LC4L/CwuC/wsL + gv8LC4L/CwuC/wsLgv8LC4L/CwuC/wsLgv8LC4L/CwuC/wsLgv8LC4L/CwuC/xAQhMMAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAANDYXVDAyE/gwMhP8MDIT+DAyE/wwMhP8MDIT+DAyE/wwMhP4MDIT/DAyE/gwM + hP8MDIT+Hx+O/xQUif8MDIT+DAyE/wwMhP4MDIT/DAyE/gwMhP8MDIT+DAyE/wwMhP8MDIT+DAyE/wwM + hP4MDIT/DAyE/gwMhP8MDIT+DAyE/wwMhP8MDIT+DAyE/wwMhP4MDIT/DAyE/gwMhP8MDIT+DAyE/wwM + hP4MDIT/DAyE/wwMhP4MDIT/DAyE/gwMhP8MDIT+DAyE/wwMhP4MDIT/DAyE/wwMhP4MDIT/DAyE/gwM + hP8MDIT+DAyE/wwMhP4MDIT/DAyE/wwMhP4MDIT/DAyE/g0NhcMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAANDYfVDQ2H/w0Nh/8NDYf/DQ2H/w0Nh/8NDYf/DQ2H/w0Nh/8NDYf/DQ2H/w0Nh/8NDYf/wsLh/4KC + wf8NDYf/DQ2H/w0Nh/8NDYf/DQ2H/w0Nh/8NDYf/DQ2H/w0Nh/8NDYf/DQ2H/w0Nh/8NDYf/DQ2H/w0N + h/8NDYf/DQ2H/w0Nh/8NDYf/DQ2H/w0Nh/8NDYf/DQ2H/w0Nh/8NDYf/DQ2H/w0Nh/8NDYf/DQ2H/w0N + h/8NDYf/DQ2H/w0Nh/8NDYf/DQ2H/w0Nh/8NDYf/DQ2H/w0Nh/8NDYf/DQ2H/w0Nh/8NDYf/DQ2H/w0N + h/8NDYf/DQ2H/w0Nh/8NDYf/DQ2H/w0Nh8MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANDYrVDg6K/w4O + iv8ODor/Dg6K/w4Oiv+zs9r/Rkal/w4Oiv8ODor/GhqQ/66u2P9GRqX/xMTi/7W12/+urtf/uLjc/2Bg + sf8ODor/iorG/2Njs/8ODor/Dg6K/2dntf+Hh8X/ERGL/6mp1f9BQaP/Dg6K/w4Oiv8ODor/Dg6K/w4O + iv8ODor/Dg6K/w4Oiv8ODor/Dg6K/w4Oiv8ODor/Dg6K/w4Oiv8ODor/Dg6K/w4Oiv8ODor/Dg6K/w4O + iv8ODor/Dg6K/w4Oiv8ODor/Dg6K/w4Oiv8ODor/Dg6K/w4Oiv8ODor/Dg6K/w4Oiv8ODor/Dg6K/w4O + iv8ODor/Dg6K/w0NisMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODozVDg6M/g4OjP8ODoz+Dg6M/w4O + jP+6ut7+0tLp/39/wf5/f8H/qKjV/vLy+f8vL5z+xMTj/8/P6P8qKpn+a2u5//n5/P40NJ7/ysrl/pOT + zP8ODoz+Dg6M/5WVzf/Hx+X+FBSP/+/v9/5oaLf/Dg6M/g4OjP8ODoz+Dg6M/w4OjP8ODoz+Dg6M/w4O + jP4ODoz/Dg6M/g4OjP8ODoz+Dg6M/w4OjP4ODoz/Dg6M/w4OjP4ODoz/Dg6M/g4OjP8ODoz+Dg6M/w4O + jP4ODoz/Dg6M/w4OjP4ODoz/Dg6M/g4OjP8ODoz+Dg6M/w4OjP4ODoz/Dg6M/w4OjP4ODoz/Dg6M/g4O + jMMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPD4/VDw+P/w8Pj/8PD4//Dw+P/w8Pj/9CQqf/+Pj8/56e + 0v92dr//+fn8/5GRzP8PD4//xMTj/6mp1/8PD4//NTWh//7+/v9JSar/ysrm/6ys2P8QEI//ERGQ/5aW + zv/IyOX/FRWR/+/v+P9pabn/Dw+P/w8Pj/8PD4//Dw+P/w8Pj/8PD4//Dw+P/w8Pj/8PD4//Dw+P/w8P + j/8PD4//Dw+P/w8Pj/8PD4//Dw+P/w8Pj/8PD4//Dw+P/w8Pj/8PD4//Dw+P/w8Pj/8PD4//Dw+P/w8P + j/8PD4//Dw+P/w8Pj/8PD4//Dw+P/w8Pj/8PD4//Dw+P/w8Pj/8PD4//Dw+P/w8Pj8MAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAQEJHVEBCR/hAQkv8QEJH+EBCS/xAQkv8QEJL+rKzZ/7294f59fcT/6ur1/iMj + m/8QEJH+wMDi/9jY7f+vr9r+2tru/7S03f4XF5X/xMTk/uHh8f/GxuT+l5fQ/5KSzf/BweP+FRWU/+/v + +P5pabr/EBCR/hAQkv8QEJH+EBCS/xAQkv8QEJH+EBCS/xAQkf4QEJL/EBCR/hAQkv8QEJH+EBCS/xAQ + kf4QEJL/EBCS/xAQkf4QEJL/EBCR/hAQkv8QEJH+EBCS/xAQkf4QEJL/EBCS/xAQkf4QEJL/EBCR/hAQ + kv8QEJH+EBCS/xAQkf4QEJL/EBCS/xAQkf4QEJL/EBCR/hAQkcMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAREZTVERGU/xERlP8REZT/ERGU/xERlP8REZT/NTWk//b2+//z8/r/fX3F/xERlP8REZT/IiKc/xsb + mf8mJp7/Kiqg/xQUlv8REZT/IiKc/x4em/8tLaH/HByZ/1BQsP9lZbr/FhaX/+/v+P9pabz/ERGU/xER + lP8REZT/ERGU/xERlP8REZT/ERGU/xERlP8REZT/ERGU/xERlP8REZT/ERGU/xERlP8REZT/ERGU/xER + lP8REZT/ERGU/xERlP8REZT/ERGU/xERlP8REZT/ERGU/xERlP8REZT/ERGU/xERlP8REZT/ERGU/xER + lP8REZT/ERGU/xERlP8REZT/ERGU/xERlMMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAREZfVERGX/hIS + l/8REZf+EhKX/xISl/8REZf+EhKX/2Nju/6Dg8n/GRma/hISl/8REZf+EhKX/xISl/8REZf+EhKX/xER + l/4SEpf/ERGX/hISl/8REZf+EhKX/0tLsP9jY7v+FBSY/4CAyP4zM6b/ERGX/hISl/8REZf+EhKX/xIS + l/8REZf+EhKX/xERl/4SEpf/ERGX/hISl/8REZf+EhKX/xERl/4SEpf/EhKX/xERl/4SEpf/ERGX/hIS + l/8REZf+EhKX/xERl/4SEpf/EhKX/xERl/4SEpf/ERGX/hISl/8REZf+EhKX/xERl/4SEpf/EhKX/xER + l/4SEpf/ERGX/hERl8MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASEprVEhKa/xISmv8SEpr/EhKa/xIS + mv8SEpr/EhKa/xISmv8SEpr/EhKa/xISmv8SEpr/EhKa/xISmv8SEpr/EhKa/xISmv8SEpr/EhKa/xIS + mv8SEpr/EhKa/xISmv8SEpr/EhKa/xISmv8SEpr/EhKa/xISmv8SEpr/EhKa/xISmv8SEpr/EhKa/xIS + mv8SEpr/EhKa/xISmv8SEpr/EhKa/xISmv8SEpr/EhKa/xISmv8SEpr/EhKa/xISmv8SEpr/EhKa/xIS + mv8SEpr/EhKa/xISmv8SEpr/EhKa/xISmv8SEpr/EhKa/xISmv8SEpr/EhKa/xISmv8SEpr/EhKa/xIS + msMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASEpzVEhKc/hMTnP8SEpz+ExOc/xMTnP8SEpz+ExOc/xIS + nP4TE5z/EhKc/hMTnP8SEpz+ExOc/xMTnP8SEpz+ExOc/xISnP4TE5z/EhKc/hMTnP8SEpz+ExOc/xMT + nP8SEpz+ExOc/xISnP4TE5z/EhKc/hMTnP8SEpz+ExOc/xMTnP8SEpz+ExOc/xISnP4TE5z/EhKc/hMT + nP8SEpz+ExOc/xISnP4TE5z/ExOc/xISnP4TE5z/EhKc/hMTnP8SEpz+ExOc/xISnP4TE5z/ExOc/xIS + nP4TE5z/EhKc/hMTnP8SEpz+ExOc/xISnP4TE5z/ExOc/xISnP4TE5z/EhKc/hISnMMAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAASEp/VExOf/xMTn/8TE5//ExOf/xMTn/8TE5//ExOf/xMTn/8TE5//ExOf/xMT + n/8TE5//ExOf/xMTn/8TE5//ExOf/xMTn/8TE5//ExOf/xMTn/8TE5//ExOf/xMTn/8TE5//ExOf/xMT + n/8TE5//ExOf/xMTn/8TE5//ExOf/xMTn/8TE5//ExOf/xMTn/8TE5//ExOf/xMTn/8TE5//ExOf/xMT + n/8TE5//ExOf/xMTn/8TE5//ExOf/xMTn/8TE5//ExOf/xMTn/8TE5//ExOf/xMTn/8TE5//ExOf/xMT + n/8TE5//ExOf/xMTn/8TE5//ExOf/xMTn/8TE5//ExOf/xISn8MAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAATE6HVExOh/xMTof8TE6H/ExOh/xMTof8TE6H/ExOh/xMTof8TE6H/ExOh/xMTof8TE6H/ExOh/xMT + of8TE6H/ExOh/xMTof8TE6H/ExOh/xMTof8TE6H/ExOh/xMTof8TE6H/ExOh/xMTof8TE6H/ExOh/xMT + of8TE6H/ExOh/xMTof8TE6H/ExOh/xMTof8TE6H/ExOh/xMTof8TE6H/ExOh/xMTof8TE6H/ExOh/xMT + of8TE6H/ExOh/xMTof8TE6H/ExOh/xMTof8TE6H/ExOh/xMTof8TE6H/ExOh/xMTof8TE6H/ExOh/xMT + of8TE6H/ExOh/xMTof8TE6H/ExOh/xMTocMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATE6TVExOk/hMT + pP8TE6T+ExOk/xMTpP8TE6T+ExOk/xMTpP4TE6T/ExOk/hMTpP8TE6T+ExOk/xMTpP8SEp7+EBCW/xAQ + lP4QEJT/EBCU/hAQlP8REZn+ExOj/xMTpP8TE6T+ExOk/xMTpP4TE6T/ExOk/hMTpP8TE6T+ExOk/xMT + pP8TE6T+ExOk/xMTpP4TE6T/ExOk/hMTpP8TE6T+ExOk/xMTpP4TE6T/EhKd/xAQlf4QEJT/EBCU/hAQ + lP8QEJX+EhKb/xMTo/4TE6T/ExOk/xMTpP4TE6T/ExOk/hMTpP8TE6T+ExOk/xMTpP4TE6T/ExOk/xMT + pP4TE6T/ExOk/hMTpMMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUFKbVFBSm/xQUp/8UFKb/FBSn/xQU + p/8UFKb/FBSn/xQUpv8UFKf/FBSm/xQUp/8UFKb/FBSn/xMTo/9TU6z/srLO/8vL1//Ly9f/y8vX/8TE + 1f+Li8D/Hx+f/xQUpv8UFKb/FBSn/xQUpv8UFKf/FBSm/xQUp/8UFKb/FBSn/xQUp/8UFKb/FBSn/xQU + pv8UFKf/FBSm/xQUp/8UFKb/FBSn/xQUpv8VFaD/amq2/7+/1v/Pz9v/z8/b/8/P2//ExNf/eHi7/xgY + oP8UFKf/FBSn/xQUpv8UFKf/FBSm/xQUp/8UFKb/FBSn/xQUpv8UFKf/FBSn/xQUpv8UFKf/FBSm/xQU + psMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVFanVFRWp/hUVqf8VFan+FRWp/xUVqf8VFan+FRWp/xUV + qf4VFan/FRWp/hUVqf8VFan+FRWp/0FBr//h4eL+4+Pj/+Pj4/7j4+P/4+Pj/uPj4//j4+P+oaHM/xUV + qP8VFan+FRWp/xUVqf4VFan/FRWp/hUVqf8VFan+FRWp/xUVqf8VFan+FRWp/xUVqf4VFan/FRWp/hUV + qf8VFan+FRWp/xUVqf5mZrv/5ubn/+fn5/7n5+f/5+fn/ufn5//n5+f+5+fn/35+wv4VFan/FRWp/xUV + qf4VFan/FRWp/hUVqf8VFan+FRWp/xUVqf4VFan/FRWp/xUVqf4VFan/FRWp/hUVqcMAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAWFqzVFhas/yIis/8WFqz/Fhas/xYWrP8WFqz/Fhas/xYWrP8WFqz/Fhas/xYW + rP8WFqz/Fhas/4+Pzv/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/3d3l/ykpsf8WFqz/Fhas/xYW + rP8WFqz/Fhas/xYWrP8WFqz/Fhas/xYWrP8WFqz/Fhas/xYWrP8WFqz/Fhas/xYWrP8WFqz/Fhas/xYW + rP+1tdv/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/9DQ4v8WFqz/Fhas/xYWrP8WFqz/Fhas/xYW + rP8WFqz/Fhas/xYWrP8WFqz/Fhas/xYWrP8mJrX/Fhas/xYWrMMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAXF67VFhau/jMzvv8YGK/+Fhau/xYWrv8WFq7+Fhau/xYWrv4WFq7/Fhau/hYWrv8WFq7+Fhau/52d + 1f/s7Oz+7Ozs/+zs7P7s7Oz/7Ozs/uzs7P/s7Oz+5eXq/y8vtv8WFq7+Fhau/xYWrv4WFq7/Fhau/hYW + rv8WFq7+Fhau/xYWrv8WFq7+Fhau/xYWrv4WFq7/Fhau/hYWrv8WFq7+Fhau/xYWrv7BweH/7+/v/+/v + 7/7v7+//7+/v/u/v7//v7+/+7+/v/9/f6/4WFq7/Fhau/xYWrv4WFq7/Fhau/hYWrv8WFq7+Fhau/xYW + rv4WFq7/Fhau/x0dsv4tLbv/Fhau/hcXrsMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqKrXSFxex/y4u + vf86OsP/Fxex/xcXsf8XF7H/Fxex/xcXsf8XF7H/Fxex/xcXsf8XF7H/Fxex/6Cg2f/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/6enu/zAwuP8XF7H/Fxex/xcXsf8XF7H/Fxex/xcXsf8XF7H/Fxex/xcX + sf8XF7H/Fxex/xcXsf8XF7H/Fxex/xcXsf8XF7H/Fxex/xcXsf/ExOT/8vLy//Ly8v/y8vL/8vLy//Ly + 8v/y8vL/8vLy/+Li7f8XF7H/Fxex/xcXsf8XF7H/Fxex/xcXsf8XF7H/Fxex/xcXsf8XF7H/Fxex/0FB + x/8mJrn/Fxex/zg4uL4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTU8CrGBiz/hsbtf9oaN3+HR22/xgY + s/8YGLP+GBiz/xgYs/4YGLP/GBiz/hgYs/8YGLP+GBiz/6Ki2//z8/P+8/Pz//Pz8/7z8/P/8/Pz/vPz + 8//z8/P+7Ozx/zExu/8YGLP+GBiz/xgYs/4YGLP/GBiz/hgYs/8YGLP+GBiz/xgYs/8YGLP+GBiz/xgY + s/4YGLP/GBiz/hgYs/8YGLP+GBiz/xgYs/7Gxub/9PT0//T09P709PT/9PT0/vT09P/09PT+9PT0/+Tk + 8P4YGLP/GBiz/xgYs/4YGLP/GBiz/hgYs/8YGLP+GBiz/xgYs/4YGLP/ISG4/2Zm3P4ZGbT/GBiz/klJ + vZUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1dcdMIiK4/hkZtv85Ocf/c3Pj/yUlvP8ZGbb/GRm2/xkZ + tv8ZGbb/GRm2/xkZtv8ZGbb/GRm2/6Sk3v/19fX/9fX1//X19f/19fX/9fX1//X19f/19fX/7u7z/zIy + vv8ZGbb/GRm2/xkZtv8ZGbb/GRm2/xkZtv8ZGbb/GRm2/xkZtv8ZGbb/GRm2/xkZtv8ZGbb/GRm2/xkZ + tv8ZGbb/GRm2/xkZtv/Hx+n/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2/+bm8v8ZGbb/GRm2/xkZ + tv8ZGbb/GRm2/xkZtv8ZGbb/GRm2/xkZtv8oKL7/eXnm/zAwwv8ZGbb/KCi5/GZmxDkAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABUVMEEdHTJsBwcuf4ZGbn/R0fP/4iI7v9dXdn/OzvJ/zAwxP8wMMT/MDDE/zAw + xP8wMMT/MDDE/62t5P/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/8PD1/0dHyv8wMMT/MDDE/zAw + xP8wMMT/MDDE/zAwxP8wMMT/MDDE/zAwxP8wMMT/MDDE/zAwxP8wMMT/MDDE/zAwxP8wMMT/MDDE/zAw + xP/MzOz/9/f3//f39//39/f/9/f3//f39//39/f/9/f3/+jo8/8wMMT/MDDE/zAwxP8wMMT/MDDE/zAw + xP8wMMT/PDzK/2Fh2/+IiO//Pj7L/xkZuf8dHbn+dHTJnUdHvwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAZWXGDWxsyasmJr39Ghq7/ygowv9eXtv+fn7q/4WF7f6Fhe3/hYXt/oWF7f+Fhe3+hYXt/8zM + 8//29vb+9vb2//b29v729vb/9vb2/vb29v/29vb+8/P2/5KS7v+Fhe3+hYXt/4WF7f6Fhe3/hYXt/oWF + 7f+Fhe3+hYXt/4WF7f+Fhe3+hYXt/4WF7f6Fhe3/hYXt/oWF7f+Fhe3+hYXt/4WF7f7e3vT/9vb2//b2 + 9v729vb/9vb2/vb29v/29vb+9vb2/+7u9f6Fhe3/hYXt/4WF7f6Fhe3/hYXt/oWF7f+Fhe3+e3vp/1pa + 2v4lJcD/Ghq7/yoqvvt1dcqaTU3CCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE9P + xANra8pEUFDGmjY2wbgdHb65Hh6+uR4evrkeHr65Hh6+uR4evrkfH765IyO/ua+v4+X19fX/9fX1//X1 + 9f/19fX/9fX1//X19f/19fX/8PD0/D4+xsEiIr+5Hx++uR4evrkeHr65Hh6+uR4evrkeHr65Hh6+uR4e + vrkeHr65Hh6+uR4evrkeHr65Hh6+uR4evrkeHr65ICC/uSMjv7nOzuvw9PT0//T09P/09PT/9PT0//T0 + 9P/09PT/9PT0/+jo8fokJL+5ISG/uR4evrkeHr65Hh6+uR4evrkeHr65Hh6+uR0dvrk7O8K3VFTHk29v + yztNTcMBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOnp8aHz8/P+8/Pz//Pz8/7z8/P/8/Pz/vPz + 8//z8/P+8/Pz98DA6R0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADy8vLJ8vLy//Ly8v7y8vL/8vLy/vLy8v/y8vL+8vLy//Ly + 8uwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOnp75/w8PD/8fHx//Dw8P/x8fH/8PDw//Hx8f/w8PD/8fHx9s3N + 6B0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADv7+/I7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7+sAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAO3t7XTt7e3+7e3t/+3t7f7t7e3/7e3t/u3t7f/t7e3+7e3t4evr7QsAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADs7Oyh6+vr/+vr6/7r6+v/6+vr/uvr6//r6+v+6+vr/+vr674AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOzs + 7Azp6enC6enp/unp6f/p6en/6enp/+np6f/p6enz6+vrUwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADq6uoj5+fn2efn + 5//n5+f/5+fn/+fn5//n5+f/5+fn5unp6TMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADp6ekI6OjoSejo + 6F3o6Ohd6OjoXejo6Fvo6OgjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6OjoD+bm5lPm5uZd5ubmXebm + 5l3m5uZW5+fnFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//AAAAAAAf/8AAADAAAAAAAAAAA8AAAAAAAAAAAAAAAEA + AAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAMAAADgAAAAAAAAAA8A + AADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcA + AADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcA + AADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcA + AADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcA + AADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcA + AADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcA + AADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcA + AADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcA + AADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcA + AADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcA + AADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADgAAAAAAAAAAcA + AADgAAAAAAAAAAcAAADgAAAAAAAAAAcAAADwAAAAAAAAAA8AAAD4AAAAAAAAAB8AAAD//4Af//gD//8A + AAD//4Af//gD//8AAAD//4Af//gD//8AAAD//4A///gD//8AAAD//8B///wH//8AAAAoAAAAQAAAAIAA + AAABACAAAAAAAABCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAKkpKQDpKSkBaSk + pAWkpKQFpKSkBaSkpAWkpKQFpKSkBaSkpAWkpKQFpKSkBaSkpAWkpKQFpKSkBaSkpAWkpKQFpKSkBaSk + pAWkpKQFpKSkBaSkpAWkpKQFpKSkA6SkpAKkpKQBpKSkAaSkpAGkpKQBpKSkAQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApKSkAaSk + pAKkpKQFpKSkCaSkpAykpKQOpKSkFKSkpBmkpKQbpKSkG6SkpCKkpKQqpKSkLqSkpC6kpKQupKSkLqSk + pC+kpKQ1pKSkQKSkpEekpKRHpKSkR6SkpEekpKRHpKSkR6SkpEekpKRHpKSkR6SkpEekpKRHpKSkR6Sk + pEekpKRHpKSkR6SkpEekpKRHpKSkR6SkpEekpKRHpKSkR6SkpECkpKQ1pKSkL6SkpC6kpKQupKSkLqSk + pC2kpKQppKSkIKSkpBqkpKQbpKSkGaSkpBSkpKQOpKSkDKSkpAmkpKQFpKSkA6SkpAEAAAAAAAAAAAAA + AACkpKQFpKSkGKSkpC2kpKQ9pKSkSaSkpFakpKRjpKSkaaSkpHWkpKSDpKSkhqSkpIikpKSSpKSkoKSk + pKWkpKSmpKSkpqSkpKakpKSmpKSkraSkpLqkpKTBpKSkwqSkpMOkpKTDpKSkw6SkpMOkpKTDpKSkw6Sk + pMOkpKTDpKSkw6SkpMOkpKTDpKSkw6SkpMOkpKTDpKSkw6SkpMOkpKTDpKSkwqSkpMGkpKS6pKSkraSk + pKakpKSmpKSkpqSkpKakpKSlpKSknaSkpI6kpKSHpKSkhqSkpIOkpKR1pKSkaaSkpGOkpKRWpKSkSKSk + pDqkpKQqpKSkFqSkpAUAAAAApKSkGKSkpFekpKSNpKSkq6SkpLukpKTHpKSk06SkpNekpKTepKSk5qSk + pOikpKTopKSk7KSkpPGkpKTypKSk9aSkpPSkpKT0pKSk9KSkpPWkpKT3pKSk+aSkpPqkpKT6pKSk+6Sk + pPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT7pKSk+qSk + pPqkpKT5pKSk96SkpPWkpKT0pKSk9KSkpPSkpKTzpKSk86SkpPCkpKTqpKSk6KSkpOikpKTmpKSk3qSk + pNekpKTSpKSkxqSkpLmkpKSmpKSkiaSkpFOkpKQWAAAAAKSkpBWkpKRPpKSkgaSkpJ2kpKSuoqKiuaCg + oMOgoKDHn5+fy5+fn9afn5/bn5+f3J+fn92fn5/hn5+f6Z+fn+ufn5/sn5+f7J+fn+yfn5/sn5+f7J+f + n+6fn5/xn5+f9J+fn/Wfn5/1n5+f9Z+fn/Wfn5/1n5+f9Z+fn/Wfn5/1n5+f9Z+fn/Wfn5/1n5+f9Z+f + n/Wfn5/1n5+f9Z+fn/Sfn5/xn5+f7p+fn+yfn5/sn5+f7J+fn+yfn5/sn5+f65+fn+ifn5/hn5+f3J+f + n9yfn5/bn5+f1J+fn8qfn5/HoKCgwKGhobKioqKppKSkmKSkpHyjo6NKpKSkEwAAAACkpKQCo6OjEaOj + oyCioqIun5+fMrS0tHnKysrT1tbW7tjY2PLX19fz2dnZ9NnZ2fXZ2dn12dnZ9tra2vfa2tr42tra+Nvb + 2/jb29v429vb+Nvb2/jc3Nz529vb+tvb2/vc3Nz73Nzc+9zc3Pvc3Nz73Nzc+9zc3Pvc3Nz73Nzc+9zc + 3Pvc3Nz73Nzc+9zc3Pvc3Nz73Nzc+9zc3Pvb29v729vb+tzc3Pnb29v429vb+Nvb2/jb29v42tra+Nra + 2vja2tr32tra9tnZ2fXZ2dn12dnZ9NnZ2fPZ2dnx2NjY8tbW1uvJycnIs7OzZ5+fnySioqIdpKSkD6Oj + owMAAAAAAAAAAAAAAAAAAAAAAAAAANHR0ZXd3d3/2tra/9vb2//b29v/3Nzc/9zc3P/d3d3/3d3d/93d + 3f/e3t7/3t7e/9/f3//f39//39/f/+Dg4P/g4OD/4ODg/+Dg4P/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh + 4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Hh4f/h4eH/4eHh/+Dg4P/g4OD/4ODg/+Dg + 4P/f39//39/f/9/f3//e3t7/3t7e/97e3v/d3d3/3d3d/9zc3P/c3Nz/29vb/9vb2//a2tr/29vb/9zc + 3P/MzMyEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANLS0mjb29v/2dnZ/9vb2//a2tr/3Nzc/9vb + 2//d3d3/3Nzc/97e3v/e3t7/3d3d/9/f3//e3t7/4ODg/+Dg4P/f39//39/f/+Hh4f/h4eH/4ODg/+Dg + 4P/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4ODg/+Dg + 4P/h4eH/4eHh/+Hh4f/f39//4ODg/+Dg4P/e3t7/39/f/9/f3//d3d3/3t7e/9zc3P/d3d3/3d3d/9vb + 2//c3Nz/29vb/9nZ2f/a2tr/2tra/9PT01EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADa2trw2dnZ/9vb + 2//a2tr/3Nzc/9vb2//d3d3/3Nzc/97e3v/d3d3/39/f/9/f3//e3t7/4ODg/9/f3//h4eH/4eHh/+Hh + 4f/g4OD/4uLi/+Li4v/i4uL/4eHh/+Hh4f/h4eH/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Hh + 4f/h4eH/4eHh/+Li4v/h4eH/4uLi/+Dg4P/g4OD/4ODg/+Hh4f/f39//4ODg/+Dg4P/e3t7/39/f/93d + 3f/e3t7/3t7e/9zc3P/d3d3/29vb/9zc3P/b29v/2dnZ/9ra2v/Z2dncAAAAAAAAAAAAAAAAAAAAAAAA + AADa2tof2dnZ/9vb2//a2tr/3Nzc/9vb2//d3d3/3Nzc/97e3v/d3d3/39/f/97e3v/g4OD/39/f/+Dg + 4P/g4OD/4eHh/+Hh4f/h4eH/4eHh/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/j4+P/4uLi/+Li4v/i4uL/5OTk/+Pj4//k5OT/4uLi/+Pj4//h4eH/4ODg/+Hh + 4f/f39//4ODg/97e3v/f39//39/f/93d3f/e3t7/3Nzc/93d3f/b29v/3Nzc/9vb2//Z2dn/2tra/9ra + 2gkAAAAAAAAAAAAAAAAAAAAA2dnZKdvb2//a2tr/3Nzc/9vb2//d3d3/3t7e/97e3v/d3d3/39/f/97e + 3v/f39//4ODg/+Pj4//p6en/6+vq/+vr6v/r6+r/7Ozr/+zs6//s7Ov/7Ozr/+3t7P/t7ez/7e3s/+3t + 7P/s7Ov/6Ojo/+Tk5P/j4+P/5OTk/+Tk5P/k5OT/4+Pj/+Tk5P/n5+f/7u7t//Hx8P/09PP/9PTz//Ly + 8f/t7e3/5+fn/+Li4v/h4eH/4ODg/9/f3//g4OD/4ODg/97e3v/f39//3d3d/97e3v/c3Nz/3d3d/9vb + 2//c3Nz/29vb/9nZ2f/Z2dkYAAAAAAAAAAAAAAAAAAAAANvb2yja2tr/3Nzc/9vb2//d3d3/3t7e/93d + 3f/f39//3t7e/+Dg4P/f39//4uLi/+fn5//m5ub/m5ug/5WVm/+Wlpv/l5eb/5eXm/+Xl5v/l5ed/5eX + nP+Xl5z/l5ec/5eXnP+Xl5z/lJSZ/9DQ0f/v7+7/5ubm/+Tk5P/l5eX/5OTk/+fn5//09PT/4+Pk/4iI + j/9SUlz/OTlG/zc3Q/9OTln/goKH/9jY2f/09PT/5ubm/+Li4v/g4OD/4eHh/9/f3//g4OD/3t7e/9/f + 3//d3d3/3t7e/9zc3P/d3d3/29vb/9ra2v/b29v/29vbFwAAAAAAAAAAAAAAAAAAAADa2too3Nzc/9vb + 2//d3d3/3Nzc/93d3f/f39//3t7e/+Dg4P/f39//4ODg/+Tk5P/W1tb/AAAN/wAACv8AAA3/AAAN/wAA + Df8AAA3/AAAN/wAADf8AAA3/AAAN/wAADf8AAA3/AAAN/wAADP8AAAD/t7e6/+vr6v/l5eX/5eXl/+np + 6f/09PT/YGBp/wAAA/8AAA3/AAAS/wAAE/8AABP/AAAS/wAADv8AAAP/RkZQ/+fn6P/q6un/4uLi/+Dg + 4P/h4eH/39/f/+Dg4P/e3t7/39/f/93d3f/e3t7/3Nzc/93d3f/c3Nz/2tra/9ra2hcAAAAAAAAAAAAA + AAAAAAAA3NzcKNvb2//d3d3/3Nzc/97e3v/f39//3t7e/+Dg4P/f39//4eHh/+Hh4f/u7u3/aGhx/wAA + Dv8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AwMY/wMDGP8DAxj/AAAO/25u + df/w8O//5ubm/+jo6P/09PL/ISEv/wAADf8CAhj/AwMY/wAAFf8AAA7/AAAN/wAAE/8DAxj/AwMY/wAA + EP8DAxT/2Nja/+np6P/j4+P/4ODg/+Hh4f/f39//4ODg/97e3v/f39//3d3d/97e3v/c3Nz/29vb/9zc + 3P/c3NwXAAAAAAAAAAAAAAAAAAAAANvb2yjd3d3/3Nzc/97e3v/d3d3/39/f/+Dg4P/f39//4eHh/+Dg + 4P/h4eH/6+vq/5OTmf8AAAr/AwMY/wMDGP8DAxj/AQEW/wAAEv8AAAn/AAAJ/wAACf8AAAr/AAAK/wAA + Cf8AAAr/AAAH/wAADf/R0dP/6urq/+fn5//7+/r/QUFM/wAADv8DAxj/AwMY/wAAEP8YGCf/hYWL/5OT + mP9DQ07/AAAH/wMDGP8DAxj/AAAS/xAQHv/29vT/5OTk/+Hh4f/g4OD/4eHh/9/f3//g4OD/3t7e/9/f + 3//d3d3/3t7e/93d3f/b29v/3NzcFwAAAAAAAAAAAAAAAAAAAADd3d0o3Nzc/97e3v/d3d3/39/f/97e + 3v/g4OD/39/f/+Hh4f/g4OD/4eHh/+Xl5f/29vX/Cwsb/wAAE/8DAxj/AwMY/wAAFP8pKTX/0dHT/729 + wP+6ur3/urq8/7u7vP+7u77/urq8/729wf/z8/P/7Ozr/+np6f/u7u7/vLy//wAAA/8DAxj/AwMY/wAA + Ev82NkL////+//Ly8f/x8fD////+/4aGjP8AAAr/AwMY/wMDGP8AAAr/h4eO/+7u7v/i4uL/4uLi/+Dg + 4P/h4eH/39/f/+Dg4P/e3t7/39/f/97e3v/c3Nz/3d3d/9vb2xcAAAAAAAAAAAAAAAAAAAAA3NzcKN7e + 3v/d3d3/39/f/97e3v/g4OD/39/f/+Hh4f/g4OD/4uLi/+Hh4f/j4+P/6urq/9PT1f8AAA7/AAAT/wMD + GP8DAxj/AAAN/0hIU///////9PTz/+/v7v/u7u3/7e3s/+3t7P/s7Oz/6Ojo/+fn5//o6Oj/+Pj3/0ZG + Uf8AABH/AwMY/wICGP8AAAb/7Ozs/+vr6//n5+f/5ubm/+jo6P//////GRkn/wAAFf8DAxj/AAAU/ykp + Nv/19fT/4+Pj/+Hh4f/i4uL/4ODg/+Hh4f/f39//4ODg/9/f3//d3d3/3t7e/9zc3P/d3d0XAAAAAAAA + AAAAAAAAAAAAANzc3Cje3t7/39/f/97e3v/g4OD/39/f/+Hh4f/g4OD/4uLi/+Hh4f/j4+P/5OTk/+Tk + 5P/r6+v/39/f/w8PHf8AABH/AwMY/wMDGP8AAA7/GRko/+Hh4f/z8/P/6enp/+jo6P/n5+f/5+fn/+jo + 6P/n5+f/6urq//r6+v8AAAn/AgIX/wMDGP8AABT/Ly88//z8+//o6Oj/5ubm/+bm5v/n5+f/9fX0/2Fh + av8AABH/AwMY/wICF/8AAAv/+/v5/+Tk5P/j4+P/4eHh/+Li4v/g4OD/4eHh/+Dg4P/e3t7/39/f/93d + 3f/e3t7/3NzcFwAAAAAAAAAAAAAAAAAAAADe3t4o3d3d/9/f3//g4OD/39/f/+Hh4f/g4OD/4uLi/+Hh + 4f/j4+P/4uLi/+Tk5P/j4+P/5ubm/+vr6//u7u7/JiYz/wAADf8DAxj/AwMY/wAAE/8AAAn/n5+k//// + /f/q6ur/6Ojo/+fn5//n5+f/5+fn/+zs7P/MzM7/AAAH/wMDGP8DAxj/AAAT/0ZGUv/5+fj/6Ojo/+bm + 5v/m5ub/5+fn//T09P9nZ3D/AAAR/wMDGP8CAhj/AAAD//v7+v/k5OT/4uLi/+Hh4f/i4uL/4ODg/+Hh + 4f/f39//4ODg/97e3v/f39//3d3d/97e3hcAAAAAAAAAAAAAAAAAAAAA3d3dKN/f3//e3t7/4ODg/9/f + 3//h4eH/4uLi/+Hh4f/j4+P/4uLi/+Tk5P/j4+P/5eXl/+Tk5P/n5+f/6enp//r6+v9OTlf/AAAH/wIC + GP8DAxj/AgIX/wAABP9MTFj/+vr4/+7u7v/q6ur/6Ojo/+jo6P/v7+//ra2x/wAACv8DAxj/AwMY/wAA + Fv8TEyH//////+rq6v/o6Oj/5+fn/+jo6P/+/v3/NjZC/wAAE/8DAxj/AQEW/xERIf/5+fj/5OTk/+Tk + 5P/j4+P/4eHh/+Li4v/g4OD/4eHh/9/f3//g4OD/39/f/93d3f/e3t4XAAAAAAAAAAAAAAAAAAAAAN/f + 3yje3t7/4ODg/9/f3//h4eH/4ODg/+Li4v/h4eH/4+Pj/+Tk5P/k5OT/4+Pj/+Xl5f/k5OT/5eXl/+bm + 5v/p6en//f38/4uLkf8AAAP/AAAT/wMDGP8DAxj/AAAO/xISIf/b293/8fHx/+np6f/p6en/8fHw/5mZ + nf8AAAz/AwMY/wMDGP8DAxj/AAAK/5WVmv////7/7+/u/+7u7v/6+vn/xcXH/wAABf8CAhj/AwMY/wAA + EP9bW2P/8/Py/+Tk5P/k5OT/4uLi/+Pj4//h4eH/4uLi/+Hh4f/f39//4ODg/97e3v/f39//3d3dFwAA + AAAAAAAAAAAAAAAAAADf398o3t7e/+Dg4P/h4eH/4ODg/+Li4v/h4eH/4+Pj/+Li4v/k5OT/4+Pj/+Xl + 5f/k5OT/5ubm/+Xl5f/m5ub/5+fn/+jo6P/19fT/1NTW/x8fLP8AAAz/AwMY/wMDGP8AABP/AAAO/9ra + 2//v7+//6urq//Pz8/+ZmZ//AAAN/wMDGP8DAxj/AQEW/wMDGP8AAAX/X19n/8LCxf/Ozs//goKI/wAA + Df8BARb/AwMY/wICGP8AAAL/1tbX/+rq6v/k5OT/4+Pj/+Tk5P/i4uL/4+Pj/+Li4v/g4OD/4eHh/9/f + 3//g4OD/3t7e/9/f3xcAAAAAAAAAAAAAAAAAAAAA3t7eKODg4P/f39//4eHh/+Dg4P/i4uL/4+Pj/+Li + 4v/k5OT/4+Pj/+Xl5f/k5OT/5ubm/+bm5v/o6Oj/5+fn/+fn5//p6en/6Ojo/+7u7v/+/v7/XV1l/wAA + CP8DAxj/AwMY/wAAE/8MDBv/9/f1/+zs7P/y8vL/o6Oo/wAAC/8DAxj/AwMY/wEBFf8AAA3/AQEX/wAA + EP8AAAn/AAAH/wAADv8CAhf/AwMY/wICF/8AAAL/ioqP//T08//m5ub/5OTk/+Pj4//k5OT/4uLi/+Pj + 4//h4eH/4uLi/+Hh4f/f39//4ODg/97e3v/f398XAAAAAAAAAAAAAAAAAAAAAN7e3ijg4OD/4eHh/+Dg + 4P/i4uL/4eHh/+Pj4//i4uL/5OTk/+Pj4//l5eX/5ubm/+fn5//09PP/9/f3//T09P/q6ur/6Ojo/+jo + 6P/q6ur/6+vr//////9dXWb/AAAO/wMDGP8DAxj/AAAN/2hocf/39/f/8PDw/7+/wv8AAAn/AwMY/wMD + GP8AABH/YWFp/wcHGP8AAAz/AAAT/wAAFf8AABX/AAAT/wAADv8AAAb/lZWa//n5+P/n5+f/5eXl/+Tk + 5P/l5eX/4+Pj/+Tk5P/i4uL/4+Pj/+Li4v/g4OD/4eHh/+Dg4P/e3t7/39/fFwAAAAAAAAAAAAAAAAAA + AADg4OAo39/f/+Hh4f/g4OD/4uLi/+Pj4//i4uL/5OTk/+Pj4//l5eX/5OTk/+fn5//z8/L/V1dh/xoa + Kf9MTFb/8/Py/+rq6v/o6Oj/6Ojo/+np6f/s7Oz////+/wwMG/8BARb/AwMY/wEBF/8AABH////+/+/v + 7v/t7e3/AAAC/wMDGP8DAxj/AAAP/3V1fP//////h4eM/zc3RP8WFib/FRUl/zQ0Qf97e4P/7u7t//r6 + +f/q6ur/5+fn/+Xl5f/m5ub/5eXl/+Pj4//k5OT/4uLi/+Pj4//h4eH/4uLi/+Hh4f/f39//4ODg/97e + 3hcAAAAAAAAAAAAAAAAAAAAA4ODgKN/f3//h4eH/4uLi/+Hh4f/j4+P/4uLi/+Tk5P/l5eX/5OTk/+bm + 5v/u7u7/i4uR/wAABv8AABX/AAAK/2NjbP/29vb/6enp/+jo6P/p6en/6+vr//n5+P9sbHT/AAAR/wMD + GP8DAxj/AAAF/+Li4f/v7+/////+/xcXJv8AABX/AwMY/wAAE/81NUH///////X19P/6+vn//Pz7//z8 + +//8/Pv//////8vLzf+vr7L/9vb1/+np6f/m5ub/5ubm/+Tk5P/l5eX/4+Pj/+Tk5P/j4+P/4eHh/+Li + 4v/g4OD/4eHh/9/f3//g4OAXAAAAAAAAAAAAAAAAAAAAAN/f3yjh4eH/4ODg/+Li4v/h4eH/4+Pj/+Tk + 5P/j4+P/5eXl/+Tk5P/l5eX/8PDw/4CAhv8AAA7/AwMY/wICF/8AAAn/9vb1/+zs7P/q6ur/6urq/+vr + 6//9/fz/Y2Nt/wAAEf8DAxj/AwMY/wAABf/i4uH/7+/v//j49/9wcHb/AAAO/wMDGP8CAhj/AAAG/+/v + 7v/v7+//6+vr/+vr6//s7Oz//Pz7/1lZY/8AAAH/AAAG/ygoNP/4+Pf/6Ojo/+Xl5f/k5OT/5eXl/+Pj + 4//k5OT/4uLi/+Pj4//i4uL/4ODg/+Hh4f/f39//4ODgFwAAAAAAAAAAAAAAAAAAAADf398o4eHh/+Dg + 4P/i4uL/4+Pj/+Li4v/k5OT/4+Pj/+Xl5f/k5OT/5eXl/+3t7P/AwMT/AAAE/wMDGP8DAxj/AAAQ/1VV + Xv//////9fX1//Ly8v/7+/r/4+Pk/wAADv8CAhf/AwMY/wEBFv8BARP////+/+zs7P/v7+//5ubn/wAA + A/8CAhj/AwMY/wAAEf9BQUz///////Pz8//w8O//+/v6/8fHyf8AAAL/AwMY/wMDGP8AAAD/6urq/+jo + 6P/l5eX/5ubm/+Tk5P/l5eX/5OTk/+Li4v/j4+P/4eHh/+Li4v/h4eH/39/f/+Dg4BcAAAAAAAAAAAAA + AAAAAAAA4eHhKODg4P/i4uL/4eHh/+Pj4//i4uL/5OTk/+Xl5f/k5OT/5ubm/+Xl5f/n5+f//f38/ygo + NP8AABH/AwMY/wMDGP8AAAz/KSk2/5GRlv+mpqv/bm52/wAADv8AABX/AwMY/wMDGP8AAAz/cnJ6//f3 + 9v/t7e3/7Ozs//r6+f90dHz/AAAJ/wMDGP8DAxj/AAAN/ykpNv+wsLT/0tLT/5GRl/8AABD/AAAW/wMD + GP8AABX/ExMi//r6+f/o6Oj/5eXl/+bm5v/k5OT/5eXl/+Pj4//k5OT/4+Pj/+Hh4f/i4uL/4ODg/+Hh + 4f/f398XAAAAAAAAAAAAAAAAAAAAAOHh4Sjg4OD/4uLi/+Hh4f/j4+P/5OTk/+Pj4//l5eX/5OTk/+bm + 5v/l5eX/5ubm/+zs6//i4uL/BQUV/wAAEf8DAxj/AwMY/wAAFP8AAA3/AAAL/wAAD/8CAhf/AwMY/wMD + GP8AAA7/IiIw//v7+v/t7e3/6+vr/+vr6//t7e3//////zw8R/8AAAn/AgIY/wMDGP8AABP/AAAL/wAA + B/8AAA3/AQEX/wMDGP8BARb/AAAC/7+/wv/u7u7/5ubm/+fn5//l5eX/5ubm/+Xl5f/j4+P/5OTk/+Li + 4v/j4+P/4uLi/+Dg4P/h4eH/39/fFwAAAAAAAAAAAAAAAAAAAADh4eEo4ODg/+Li4v/h4eH/4+Pj/+Tk + 5P/j4+P/5eXl/+Tk5P/m5ub/5eXl/+bm5v/p6en/7u7t/+bm5f8zM0D/AAAD/wAAD/8AABP/AAAV/wEB + Fv8AABX/AAAT/wAADv8AAAL/SkpT//b29f/u7u3/7e3t/+vr6//r6+v/6+vr/+3t7f//////dXV8/wAA + A/8AAA7/AAAT/wAAFf8BARb/AAAV/wAAE/8AAAr/BQUX/729wP/09PP/6enp/+bm5v/n5+f/5eXl/+bm + 5v/k5OT/5eXl/+Tk5P/i4uL/4+Pj/+Li4v/g4OD/4eHh/+Hh4RcAAAAAAAAAAAAAAAAAAAAA4eHhKODg + 4P/i4uL/4+Pj/+Li4v/k5OT/4+Pj/+Xl5f/m5ub/5eXl/+fn5//m5ub/5+fn/+jo6P/s7Oz//f38/8vL + zP9sbHT/MzNA/xYWJv8RESH/Gxsp/zs7SP9zc3r/0dHT//39/P/u7u7/7Ozs/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t//j49//o6Of/gICG/0BAS/8aGij/EREh/x4eLP9ISFP/mZmd//j49//v7+//6Ojo/+fn + 5//m5ub/5+fn/+Xl5f/m5ub/5OTk/+Xl5f/k5OT/4uLi/+Pj4//h4eH/4uLi/+Dg4P/h4eEXAAAAAAAA + AAAAAAAAAAAAAOHh4Sjg4OD/4uLi/+Pj4//i4uL/5OTk/+Pj4//l5eX/5ubm/+Xl5f/n5+f/5ubm/+jo + 6P/n5+f/6Ojo/+np6f/u7u7/9fX0//v7+v/8/Pv//v79//39/P/8/Pv/9/f2/+/v7//s7Oz/7Ozs/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+vr6//t7e3/7u7u//b29f/7+/r//Pz7//39/P/8/Pv/+Pj3//Ly + 8f/r6+v/6Ojo/+fn5//o6Oj/5ubm/+fn5//l5eX/5ubm/+Tk5P/l5eX/4+Pj/+Tk5P/j4+P/4eHh/+Li + 4v/g4OD/4eHhFwAAAAAAAAAAAAAAAAAAAADh4eEo4ODg/+Li4v/j4+P/4uLi/+Tk5P/l5eX/5OTk/+bm + 5v/l5eX/5+fn/+bm5v/o6Oj/5+fn/+np6f/o6Oj/6urq/+np6f/q6ur/7Ozs/+vr6//r6+v/6+vr/+vr + 6//r6+v/6+vr/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/r6+v/6+vr/+vr6//r6+v/6+vr/+vr + 6//r6+v/7Ozs/+np6f/p6en/6Ojo/+np6f/n5+f/6Ojo/+bm5v/n5+f/5eXl/+bm5v/k5OT/5eXl/+Pj + 4//k5OT/4+Pj/+Hh4f/i4uL/4ODg/+Hh4RcAAAAAAAAAAAAAAAAAAAAA4eHhKODg4P/i4uL/4+Pj/+Li + 4v/k5OT/5eXl/+Tk5P/m5ub/5eXl/+fn5//m5ub/6Ojo/+fn5//p6en/6Ojo/+rq6v/q6ur/6enp/+vr + 6//q6ur/6urq/+zs7P/s7Oz/7Ozs/+vr6//t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+vr + 6//s7Oz/7Ozs/+zs7P/q6ur/6urq/+vr6//p6en/6urq/+jo6P/p6en/5+fn/+jo6P/o6Oj/5+fn/+Xl + 5f/m5ub/5OTk/+Xl5f/j4+P/5OTk/+Pj4//h4eH/4uLi/+Dg4P/h4eEXAAAAAAAAAAAAAAAAAAAAAODg + 4Cjh4eH/4uLi/+Pj4//i4uL/5OTk/+Xl5f/k5OT/5ubm/+Xl5f/n5+f/5ubm/+jo6P/n5+f/6enp/+jo + 6P/q6ur/6urq/+np6f/r6+v/6+vr/+rq6v/s7Oz/7Ozs/+zs7P/r6+v/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+3t7f/r6+v/7Ozs/+zs7P/s7Oz/6urq/+vr6//r6+v/6enp/+rq6v/o6Oj/6enp/+fn + 5//o6Oj/6Ojo/+fn5//l5eX/5ubm/+Tk5P/l5eX/4+Pj/+Tk5P/j4+P/4eHh/+Li4v/h4eH/4ODgFwAA + AAAAAAAAAAAAAAAAAADAwNIo6url/+jo5f/q6ub/6enm/+vr5//s7Oj/6+vo/+3t6f/t7en/7u7q/+7u + 6v/v7+v/7+/r//Dw7P/w8Oz/8fHt//Hx7f/x8e3/8vLu//Ly7v/y8u7/8/Pv//Pz7//z8+//8/Pv//T0 + 8P/09PD/9PTw//T08P/09PD/9PTw//T08P/z8+//8/Pv//Pz7//z8+//8vLu//Ly7v/y8u7/8fHt//Hx + 7f/x8e3/8PDs//Dw7P/v7+v/7+/r/+3t6v/u7ur/7Ozp/+3t6f/r6+j/7Ozo/+rq5//r6+f/6enm/+jo + 5f/p6eX/6url/8DA0hcAAAAAAAAAAAAAAAAAAAAAgIC2KISEt/+EhLf/hYW4/4WFuP+Fhbj/hoa4/4aG + uf+Ghrn/hoa5/4eHuv+Hh7r/iIi6/4iIuv+IiLv/iIi7/4iIu/+Jibz/iYm8/4mJvP+Jibz/iYm8/4qK + vf+Kir3/ioq9/4qKvf+Kir3/ioq9/4qKvf+Kir3/ioq9/4qKvf+Kir3/ioq9/4qKvf+Kir3/ioq9/4qK + vP+Jibz/iYm8/4mJvP+Jibz/iYm8/4iIu/+IiLv/iIi7/4iIuv+Hh7r/h4e6/4eHuv+Ghrn/hoa5/4aG + uf+Fhbj/hYW4/4WFuP+EhLf/hIS3/4SEtv+AgLYXAAAAAAAAAAAAAAAAAAAAADk5mCgAAHz/AgJ9/wIC + ff8CAn3/AgJ9/wICff8CAn3/AgJ9/wICff8CAn3/AgJ9/wEBff8BAX3/AgJ9/wICff8CAn3/AQF9/wEB + ff8BAX3/AQF9/wEBff8BAX3/AQF9/wEBff8BAX3/AQF9/wEBff8BAX3/AQF9/wEBff8BAX3/AQF9/wEB + ff8BAX3/AQF9/wEBff8BAX3/AQF9/wEBff8BAX3/AQF9/wEBff8CAn3/AgJ9/wICff8CAn3/AgJ9/wIC + ff8CAn3/AgJ9/wICff8CAn3/AgJ9/wICff8CAn3/AgJ9/wICff8AAHz/OTmYFwAAAAAAAAAAAAAAAAAA + AAATE4goCwuE/wwMhf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwMhf8MDIX/DAyF/wsLhP8QEIf/DQ2F/wsL + hP8MDIX/DAyF/wwMhf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwM + hf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwM + hf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwMhf8MDIX/DAyF/wwMhf8MDIX/CwuE/xMT + iBcAAAAAAAAAAAAAAAAAAAAACwuGKA0NiP8NDYj/DQ2I/w0NiP8NDYj/AACA/wgIhv8NDYj/DQ2I/wMD + g/8AAH7/paXT/56e0P8AAHz/AACA/wcHhf8JCYb/AACB/w0NiP8NDYj/BQWE/wMDg/8KCob/AACA/w0N + iP8NDYj/DQ2I/w0NiP8NDYj/DQ2I/w0NiP8NDYj/DQ2I/w0NiP8NDYj/DQ2I/w0NiP8NDYj/DQ2I/w0N + iP8NDYj/DQ2I/w0NiP8NDYj/DQ2I/w0NiP8NDYj/DQ2I/w0NiP8NDYj/DQ2I/w0NiP8NDYj/DQ2I/w0N + iP8NDYj/DQ2I/w0NiP8LC4YXAAAAAAAAAAAAAAAAAAAAAAwMiygODov/Dg6L/w4Oi/8ODov/AACD//// + //8uLpv/AACC/wAAf/+Xl83/m5vP/5CQyv/c3O3/y8vm/+/v9/9KSqj/LCyZ/+3t9v8AAIT/BgaH/3h4 + vv+kpNP/GxuS//n5/P8AAIP/Dg6L/w4Oi/8ODov/Dg6L/w4Oi/8ODov/Dg6L/w4Oi/8ODov/Dg6L/w4O + i/8ODov/Dg6L/w4Oi/8ODov/Dg6L/w4Oi/8ODov/Dg6L/w4Oi/8ODov/Dg6L/w4Oi/8ODov/Dg6L/w4O + i/8ODov/Dg6L/w4Oi/8ODov/Dg6L/w4Oi/8ODov/DAyLFwAAAAAAAAAAAAAAAAAAAAANDYwoDw+O/w8P + jv8PD47/Dw+O/wQEiP+pqdb/9PT5/9jY6//Pz+f//////zo6o/+Xl83/xsbk/wAAfP9hYbX//v7+/zQ0 + n///////AACD/wEBh/+Ojsn/wcHh/yQkmP//////AACF/w8Pjv8PD47/Dw+O/w8Pjv8PD47/Dw+O/w8P + jv8PD47/Dw+O/w8Pjv8PD47/Dw+O/w8Pjv8PD47/Dw+O/w8Pjv8PD47/Dw+O/w8Pjv8PD47/Dw+O/w8P + jv8PD47/Dw+O/w8Pjv8PD47/Dw+O/w8Pjv8PD47/Dw+O/w8Pjv8PD47/Dw+O/w0NjBcAAAAAAAAAAAAA + AAAAAAAADg6PKBAQkf8QEJH/EBCR/xAQkf8ODpD/ExOT//////8VFZP/mJjP/83N5/8AAIP/n5/T//Ly + +P8eHpj/oqLT/93d7v82NqL//////1NTr/9DQ6j/jIzK/8bG5P8kJJv//////wAAiP8QEJH/EBCR/xAQ + kf8QEJH/EBCR/xAQkf8QEJH/EBCR/xAQkf8QEJH/EBCR/xAQkf8QEJH/EBCR/xAQkf8QEJH/EBCR/xAQ + kf8QEJH/EBCR/xAQkf8QEJH/EBCR/xAQkf8QEJH/EBCR/xAQkf8QEJH/EBCR/xAQkf8QEJH/EBCR/xAQ + kf8ODo8XAAAAAAAAAAAAAAAAAAAAABAQkigPD5T/Dw+U/w8PlP8PD5T/Dw+U/wQEjv+Xl9D/0NDp//// + //8pKZ7/BweP/1dXtP9mZrr/nZ3S/5eX0f8VFZb/Hh6b/4qKyv+Rkc7/hYXI/0REq/9iYrn/LCyg//// + //8AAIv/Dw+U/w8PlP8PD5T/Dw+U/w8PlP8PD5T/Dw+U/w8PlP8PD5T/Dw+U/w8PlP8PD5T/Dw+U/w8P + lP8PD5T/Dw+U/w8PlP8PD5T/Dw+U/w8PlP8PD5T/Dw+U/w8PlP8PD5T/Dw+U/w8PlP8PD5T/Dw+U/w8P + lP8PD5T/Dw+U/w8PlP8PD5T/EBCSFwAAAAAAAAAAAAAAAAAAAAAREZUoERGX/xERl/8REZf/ERGX/xER + l/8PD5b/ERGW/+Hh8f+QkM//BASR/xERl/8LC5T/CgqT/wgIkv8ICJL/Dw+W/w8Plv8ICJL/CAiS/wMD + kP9vb7//lZXR/x8fnP/m5vT/AwOQ/xERl/8REZf/ERGX/xERl/8REZf/ERGX/xERl/8REZf/ERGX/xER + l/8REZf/ERGX/xERl/8REZf/ERGX/xERl/8REZf/ERGX/xERl/8REZf/ERGX/xERl/8REZf/ERGX/xER + l/8REZf/ERGX/xERl/8REZf/ERGX/xERl/8REZf/ERGX/xERlRcAAAAAAAAAAAAAAAAAAAAAEhKYKBIS + mv8SEpr/EhKa/xISmv8SEpr/EhKa/xAQmf8EBJT/CQmV/xISmv8SEpr/EhKa/xISmv8SEpr/EhKa/xIS + mv8SEpr/EhKa/xISmv8SEpr/CwuX/wkJlf8PD5j/BAST/xISmv8SEpr/EhKa/xISmv8SEpr/EhKa/xIS + mv8SEpr/EhKa/xISmv8SEpr/EhKa/xISmv8SEpr/EhKa/xISmv8SEpr/EhKa/xISmv8SEpr/EhKa/xIS + mv8SEpr/EhKa/xISmv8SEpr/EhKa/xISmv8SEpr/EhKa/xISmv8SEpr/EhKa/xISmv8SEpgXAAAAAAAA + AAAAAAAAAAAAABERmygTE53/ExOd/xMTnf8TE53/ExOd/xMTnf8TE53/ExOd/xMTnf8TE53/ExOd/xMT + nf8TE53/ExOd/xMTnf8TE53/ExOd/xMTnf8TE53/ExOd/xMTnf8TE53/ExOd/xMTnf8TE53/ExOd/xMT + nf8TE53/ExOd/xMTnf8TE53/ExOd/xMTnf8TE53/ExOd/xMTnf8TE53/ExOd/xMTnf8TE53/ExOd/xMT + nf8TE53/ExOd/xMTnf8TE53/ExOd/xMTnf8TE53/ExOd/xMTnf8TE53/ExOd/xMTnf8TE53/ExOd/xMT + nf8TE53/ERGbFwAAAAAAAAAAAAAAAAAAAAATE54oEhKg/xISoP8SEqD/EhKg/xISoP8SEqD/EhKg/xIS + oP8SEqD/EhKg/xISoP8SEqD/EhKg/xISoP8TE6D/ExOg/xMToP8TE6D/ExOg/xISoP8SEqD/EhKg/xIS + oP8SEqD/EhKg/xISoP8SEqD/EhKg/xISoP8SEqD/EhKg/xISoP8SEqD/EhKg/xISoP8SEqD/EhKg/xIS + oP8SEqD/ExOg/xMToP8TE6D/ExOg/xISoP8SEqD/EhKg/xISoP8SEqD/EhKg/xISoP8SEqD/EhKg/xIS + oP8SEqD/EhKg/xISoP8SEqD/EhKg/xMTnhcAAAAAAAAAAAAAAAAAAAAAEhKhKBQUo/8UFKP/FBSj/xQU + o/8UFKP/FBSj/xQUo/8UFKP/FBSj/xQUo/8UFKP/FBSj/xQUo/8UFKP/EBCi/w8Pof8PD6H/Dw+h/xER + o/8UFKP/FBSj/xQUo/8UFKP/FBSj/xQUo/8UFKP/FBSj/xQUo/8UFKP/FBSj/xQUo/8UFKP/FBSj/xQU + o/8UFKP/FBSj/xQUo/8UFKP/ExOj/w8Pof8ODqH/Dg6h/w8Pof8TE6P/FBSj/xQUo/8UFKP/FBSj/xQU + o/8UFKP/FBSj/xQUo/8UFKP/FBSj/xQUo/8UFKP/FBSj/xQUo/8SEqEXAAAAAAAAAAAAAAAAAAAAABMT + pCgVFab/FRWm/xUVpv8VFab/FRWm/xUVpv8VFab/FRWm/xUVpv8VFab/FRWm/xUVpv8TE6b/AwOV/yws + mv87O6D/Ojqg/zw8of8WFpP/Cgqd/xUVpv8VFab/FRWm/xUVpv8VFab/FRWm/xUVpv8VFab/FRWm/xUV + pv8VFab/FRWm/xUVpv8VFab/FRWm/xUVpv8VFab/ERGk/wYGkf82Np//Ozuh/zs7of86OqD/CgqS/w8P + ov8VFab/FRWm/xUVpv8VFab/FRWm/xUVpv8VFab/FRWm/xUVpv8VFab/FRWm/xUVpv8VFab/ExOkFwAA + AAAAAAAAAAAAAAAAAAAUFKcoFhap/xYWqf8VFaj/Fhap/xYWqf8WFqn/Fhap/xYWqf8WFqn/Fhap/xYW + qf8VFan/CQme/7u70f/x8eb/7Ozl/+zs5f/s7OX/8vLm/2dns/8MDKb/Fhap/xYWqf8WFqn/Fhap/xYW + qf8WFqn/Fhap/xYWqf8WFqn/Fhap/xYWqf8WFqn/Fhap/xYWqf8WFqn/ExOp/yIiov/j4+L/8vLp//Dw + 6f/w8On/8vLp/+vr5v80NKb/EhKo/xYWqf8WFqn/Fhap/xYWqf8WFqn/Fhap/xYWqf8WFqn/Fhap/xUV + qP8WFqn/Fhap/xQUpxcAAAAAAAAAAAAAAAAAAAAAFRWqKBUVrP8VFav/GRmt/xUVq/8VFaz/FRWs/xUV + rP8VFaz/FRWs/xUVrP8VFaz/Dw+q/2xswP/z8+r/5ubm/+bm5v/m5ub/5ubm/+bm5v/39+v/GBip/xQU + q/8VFaz/FRWs/xUVrP8VFaz/FRWs/xUVrP8VFaz/FRWs/xUVrP8VFaz/FRWs/xUVrP8VFaz/FRWs/wsL + qP+zs9f/8PDs/+rq6v/q6ur/6urq/+rq6v/u7uv/y8ve/wkJqP8VFaz/FRWs/xUVrP8VFaz/FRWs/xUV + rP8VFaz/FRWs/xUVq/8dHbD/FRWr/xUVrP8VFaoXAAAAAAAAAAAAAAAAAAAAABgYrigWFq//FRWu/y8v + vP8VFa7/Fxev/xcXr/8XF6//Fxev/xcXr/8XF6//Fxev/w4OrP+SktD/8fHs/+vr6//r6+v/6+vr/+vr + 6//r6+v/+Pju/zY2t/8TE67/Fxev/xcXr/8XF6//Fxev/xcXr/8XF6//Fxev/xcXr/8XF6//Fxev/xcX + r/8XF6//Fxev/xcXr/8JCar/0tLl//Dw7v/u7u7/7u7u/+7u7v/u7u7/7u7u//Dw7v8ICKr/Fxev/xcX + r/8XF6//Fxev/xcXr/8XF6//Fxev/xcXr/8VFa7/Li66/xUVrv8WFq//FxeuFwAAAAAAAAAAAAAAAAAA + AAAqKrQpFRWx/xQUsP9NTc3/ExOv/xgYsv8YGLL/GBiy/xgYsv8YGLL/GBiy/xgYsv8ODq//kpLU//X1 + 8P/v7+//7+/v/+/v7//v7+//7+/v//z88v81Nbn/FBSx/xgYsv8YGLL/GBiy/xgYsv8YGLL/GBiy/xgY + sv8YGLL/GBiy/xgYsv8YGLL/GBiy/xgYsv8YGLL/Cgqt/9HR5//z8/H/8fHx//Hx8f/x8fH/8fHx//Hx + 8f/w8PH/CQmt/xgYsv8YGLL/GBiy/xgYsv8YGLL/GBiy/xgYsv8YGLL/EhKv/01Nzv8UFLD/ExOx/zc3 + txYAAAAAAAAAAAAAAAAAAAAAV1fABiAgtf8TE7H/ZGTa/yAguP8WFrL/GRmz/xkZs/8ZGbP/GRmz/xkZ + s/8ZGbP/Dw+x/5SU1//6+vX/8/Pz//Pz8//z8/P/8/Pz//Pz8/////b/Nja8/xUVsv8ZGbP/GRmz/xkZ + s/8ZGbP/GRmz/xkZs/8ZGbP/GRmz/xkZs/8ZGbP/GRmz/xkZs/8ZGbP/GRmz/wsLr//V1er/9/f0//T0 + 9P/09PT/9PT0//T09P/09PT/9PT0/wkJr/8ZGbP/GRmz/xkZs/8ZGbP/GRmz/xkZs/8ZGbP/FRWx/ykp + vP9cXNb/EhKx/zQ0uv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2dsi0Dw+0/xgYtv+Pj/H/Jia9/xER + sv8VFbT/FRW1/xUVtf8VFbX/FRW1/w0Nsv+Vldn//Pz2//X19f/19fX/9fX1//X19f/19fX////4/zQ0 + vv8TE7T/FRW1/xUVtf8VFbX/FRW1/xUVtf8VFbX/FRW1/xUVtf8VFbX/FRW1/xUVtf8VFbX/FRW1/xUV + tf8ICLH/1tbs//n59v/29vb/9vb2//b29v/29vb/9vb2//X19v8HB7D/FRW1/xUVtf8VFbX/FRW1/xUV + tf8VFbT/ERGy/ywswP+Pj/H/ExOz/xAQtf9sbMafAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbGzGFU9P + w/cQELf/ICC9/5KS8/9+fuj/U1PU/01N0f9OTtH/Tk7R/05O0f9HR9D/rq7m//z8+P/39/f/9/f3//f3 + 9//39/f/9/f3////+f9lZdf/TEzR/05O0f9OTtH/Tk7R/05O0f9OTtH/Tk7R/05O0f9OTtH/Tk7R/05O + 0f9OTtH/Tk7R/05O0f9OTtH/Q0PP/97e8v/5+ff/9/f3//f39//39/f/9/f3//f39//39/b/QkLP/05O + 0f9OTtH/Tk7R/05O0f9NTdH/VFTV/4KC6/+OjvH/Ghq6/xAQt/9RUcPvX1/ECgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABra8cbZmbIyxkZvP8ODrf/ODjK/11d2/9hYdz/YWHc/2Fh3P9gYNz/WFjb/7Oz + 6v/6+vb/9vb2//b29v/29vb/9vb2//b29v////f/cnLf/1xc2/9gYNz/YWHc/2Fh3P9hYdz/YWHc/2Fh + 3P9hYdz/YWHc/2Fh3P9hYdz/YWHc/2Fh3P9hYdz/YGDc/1RU2v/f3/D/9vb1//X19f/19fX/9fX1//X1 + 9f/19fX/9fX1/1JS2v9fX9z/YWHc/2Fh3P9hYdz/YWHc/1xc2/80NMn/Dg63/xsbvP9zc8u+YGDGEAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZMohS0vHSy0txEswMMdLNTXJSzU1 + yUs1NchLODjJS05OzEfDw+ix+fn1//X19f/19fX/9fX1//X19f/19fX//f32/35+12hNTcxJNTXISzU1 + yUs1NclLNTXJSzU1yUs1NclLNTXJSzU1yUs1NclLNTXJSzU1yUs1NclLNDTISz4+yktQUMxF6+vw4fPz + 8//z8/P/8/Pz//Pz8//z8/P/8/Pz//j49PlYWM1ESEjMSzQ0yEs1NclLNTXJSzU1yUsyMsdLLCzFS1FR + yEpmZssaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6urvj/Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//X1 + 8v/NzegmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAPb28dTw8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/09PD3AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOzs7n3u7u7/7u7u/+7u + 7v/u7u7/7u7u/+7u7v/u7u7/5+fsGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADu7u3H7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t5AAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADs7OwO6enp8Onp6f/p6en/6enp/+np6f/p6en/6enppAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6enpQefn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+jo6FcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjo6Afn5+dh5+fnaefn52nn5+dq5+fnSAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADm5uYe5eXlaeXl5Wnl5eVp5eXlauXl5SoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/8AAAAAH//wAAAAAAAAAcAAAAAAAAAAQAA + AAAAAAABAAAAAAAAAAEAAAAAAAAAAfAAAAAAAAAP4AAAAAAAAAfgAAAAAAAAB8AAAAAAAAADwAAAAAAA + AAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AA + AAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAA + AAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AA + AAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAA + AAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AA + AAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAAAAPAAAAAAAAAA8AAAAAAAAADwAAAAAAA + AAfgAAAAAAAAB+AAAAAAAAAH8AAAAAAAAA/8AAAAAAAAP//+AP//AP////4A//8A/////gH//wD///// + A///gf//KAAAADAAAABgAAAAAQAgAAAAAACAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAikpKQKpKSkCqSk + pAqkpKQKpKSkCqSkpAqkpKQKpKSkCqSkpAqkpKQKpKSkCqSkpAqkpKQKpKSkCqSkpAqkpKQJpKSkBKSk + pAOkpKQDpKSkA6SkpAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKWl + pQGioqIKoqKiFaSkpB+ioqIqoqKiMaSkpD6ioqJJoqKiSqSkpFaioqJkpKSkZ6KiomeioqJnoqKibKSk + pH+ioqKGoqKihqSkpIaioqKGoqKihqSkpIaioqKGoqKihqSkpIaioqKGoqKihqSkpIaioqKGoqKihqSk + pIaioqKCpKSkcKKiomaioqJnpKSkZ6KiomWioqJXpKSkSqKiokiioqJCpKSkM6KioiyioqIhpKSkFqKi + ogyioqIDAAAAAKSkpByioqJqoqKimKSkpK6ioqLAoaGhyKKiotOhoaHcoaGh3aKiouShoaHroqKi7aGh + oe6hoaHuoaGh7qKiovShoaH2oaGh96KiovehoaH3oaGh96KiovehoaH3oaGh96KiovehoaH3oaGh96Ki + ovehoaH3oaGh96KiovehoaH1oqKi76Ghoe6hoaHuoqKi7qGhoeyhoaHkoqKi3qGhod2hoaHWoqKiyqGh + ocKioqKxpKSkm6KionSioqIroqKiAaSkpBijo6Ndo6OjiKGhoZqfn5+qp6enxampqc+pqanaqKio3Kio + qN6oqKjlqKio66ioqOuoqKjrqKio66ioqOuoqKjvqKio86ioqPSoqKj0qKio9KioqPSoqKj0qKio9Kio + qPSoqKj0qKio9KioqPSoqKj0qKio86ioqPCoqKjrqKio66ioqOuoqKjrqKio66ioqOeoqKjfqKio3aio + qNuoqKjQq6uryqWlpbqgoKCYoaGhh6KiomWjo6MmAAAAAAAAAACjo6MFpaWlBre3t1fY2Njr3t7e/9/f + 3//f39//4ODg/+Hh4f/h4eH+4uLi/+Li4v7j4+P+4+Pj/uPj4//k5OT+5OTk/uTk5P/k5OT+5OTk/uXl + 5f/l5eX+5eXl/uXl5f/l5eX+5eXl/uXl5f/k5OT+5OTk/uTk5P/k5OT+4+Pj/+Pj4/7i4uL+4uLi/+Hh + 4f7h4eH/4eHh/+Dg4P/f39//39/f/9/f3//X19fltbW1SAAAAAClpaUBAAAAAAAAAAAAAAAAy8vLMd7e + 3v/a2tr/29vb/dzc3P/b29v93d3d/d7e3v/d3d3939/f/9/f3/3e3t794ODg/eDg4P/f39/94eHh/eHh + 4f/h4eH94ODg/eLi4v/g4OD94uLi/eLi4v/g4OD94ODg/eDg4P/h4eH94eHh/eHh4f/f39/94ODg/+Dg + 4P3e3t7939/f/93d3f3e3t793Nzc/93d3f3c3Nz92tra/9vb2/3a2tr/3d3d/8vLyyQAAAAAAAAAAAAA + AAAAAAAA2trav9nZ2f/b29v/3Nzc/93d3f/c3Nz/3t7e/93d3f/f39//3t7e/+Dg4P/f39//4eHh/+Dg + 4P/i4uL/4eHh/+Hh4f/h4eH/4eHh/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4eHh/+Hh4f/h4eH/4eHh/+Hh + 4f/i4uL/4ODg/+Hh4f/f39//4ODg/97e3v/f39//3t7e/9zc3P/d3d3/29vb/9zc3P/b29v/2tra/9ra + 2q4AAAAAAAAAAAAAAAAAAAAA2dnZ7Nvb2//c3Nz93d3d/dzc3P/e3t793d3d/d/f3//f39/94eHh/+fn + 5v3p6en96eno/erq6v/q6un96urp/evr6//r6+r96+vq/erq6v/k5OT95OTk/eLi4v/i4uL94uLi/ePj + 4//p6en97u7u/fLy8v/w8O/96+vr/+Tk5P3g4OD94eHh/+Dg4P3e3t7939/f/93d3f3e3t793d3d/9vb + 2/3a2tr929vb/9ra2t4AAAAAAAAAAAAAAAAAAAAA29vb7Nzc3P/b29v93Nzc/d7e3v/f39/93t7e/d/f + 3//j4+P98fHw/7GxtP2wsLP9srK1/bKytf+ysrX9srK1/bKytv+ysrb9sbG2/bOztv/y8vL95ubm/ePj + 4//l5eX96Ojo/f7+/P/Kysv9gYGJ/WZmbv9tbXb9mJie/+7u7P3y8vH94+Pj/+Dg4P3f39/94ODg/9/f + 3/3d3d393t7e/93d3f3c3Nz92tra/9vb298AAAAAAAAAAAAAAAAAAAAA3Nzc7Nvb2//d3d3/3t7e/9/f + 3//e3t7/4ODg/+Hh4f/v7+//Cwsc/wAABf8AAAj/AAAI/wAACP8AAAj/AAAI/wAACP8AAAj/AAAI/wAA + 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 + 6//r6+v98/Pz/fj4+P9/f4b9LS08/QgIGP8FBRf9Jyc1/3t7g/319fT97+/u/+fn5/3n5+f95ubm/+Tk + 5P3l5eX95OTk/+Pj4/3h4eH94uLi/9/f398AAAAAAAAAAAAAAAAAAAAA4ODg7OLi4v/j4+P/5OTk/+Pj + 4//l5eX/5ubm/+fn5//m5ub/5+fn/+jo6P/v7+7/+vr5/////////////////////v/5+ff/7+/v/+zs + 7P/t7e3/7e3t/+3t7f/t7e3/6+vr/+3t7P/39/f////+///////////////9//X19f/r6+v/6enp/+jo + 6P/n5+f/5eXl/+bm5v/l5eX/5OTk/+Pj4//h4eH/4uLi/+Hh4d8AAAAAAAAAAAAAAAAAAAAA4eHh7OLi + 4v/j4+P94uLi/eXl5f/k5OT95ubm/efn5//m5ub96Ojo/+fn5/3o6Oj96enp/evr6//q6ur96urq/evr + 6//s7Oz96+vr/e3t7f/r6+v96+vr/e3t7f/r6+v97Ozs/ezs7P/s7Oz97Ozs/erq6v/q6ur96enp/+rq + 6v3o6Oj95+fn/+bm5v3n5+f95ubm/+Tk5P3l5eX95OTk/+Pj4/3h4eH94uLi/+Hh4d8AAAAAAAAAAAAA + AAAAAAAA4eHh7OLi4v/j4+P94uLi/eXl5f/k5OT95ubm/efn5//m5ub96Ojo/+fn5/3p6en96Ojo/erq + 6v/p6en96+vr/ezs7P/q6ur97Ozs/e3t7f/r6+v96+vr/e3t7f/r6+v97Ozs/ezs7P/q6ur96urq/evr + 6//p6en96urq/+jo6P3p6en96Ojo/+bm5v3n5+f95ubm/+Tk5P3l5eX95OTk/+Pj4/3h4eH94uLi/+Hh + 4d8AAAAAAAAAAAAAAAAAAAAA8/Pp7PT06f/09Or/9vbr//f37f/39+z/+Pju//n57//5+e7/+vrw//v7 + 8f/7+/H//Pzy//z88v/9/fT//f3z//7+9f/+/vX//v70////9v////b////2////9v////b//v70//7+ + 9P/+/vX//f3z//398//9/fT//Pzy//z88v/7+/H/+vrw//r68P/5+e//+Pjt//j47v/39+z/9vbr//T0 + 6v/z8+n/9PTp//Ly6N8AAAAAAAAAAAAAAAAAAAAAISGK7CAgiv8hIYr9ISGK/SEhiv8hIYr9ISGK/SEh + i/8hIYv9Hx+L/yEhi/0iIov9IiKL/SIii/8iIov9IiKL/SIii/8iIov9IiKL/SEhi/8hIYv9ISGL/SEh + i/8hIYv9IiKL/SIii/8iIov9IiKL/SIii/8iIov9IiKL/yIii/0hIYv9ISGL/yEhi/0hIYv9ISGL/yEh + iv0hIYr9ISGK/yEhiv0gIIr9ICCK/x8fit8AAAAAAAAAAAAAAAAAAAAABweC7AcHg/8HB4P9BweD/QUF + gv8HB4P9BweD/QYGgv8EBIH9CAiC/wQEgP0GBoL9BweC/QYGgv8HB4P9BweC/QYGgv8GBoL9BweC/QcH + g/8HB4P9BweD/QcHg/8HB4P9BweD/QcHg/8HB4P9BweD/QcHg/8HB4P9BweD/wcHg/0HB4P9BweD/wcH + g/0HB4P9BweD/wcHg/0HB4P9BweD/wcHg/0ICIP9BweD/wcHgt8AAAAAAAAAAAAAAAAAAAAADQ2J7A0N + if8NDYn/CgqH/xsbkP8CAoP/BASE/xAQi/8zM5v/0NDn/x4ekP8JCYb/BweF/xoajv8JCYf/EBCL/xER + i/8XF43/DAyI/wwMiP8NDYn/DQ2J/w0Nif8NDYn/DQ2J/w0Nif8NDYn/DQ2J/w0Nif8NDYn/DQ2J/w0N + if8NDYn/DQ2J/w0Nif8NDYn/DQ2J/w0Nif8NDYn/DQ2J/w0Nif8NDYn/DQ2J/w0Nid8AAAAAAAAAAAAA + AAAAAAAADg6L7A4Ojf8ODov9AACB/f////9ZWa/9S0uq/f////9ERKb9/////2lpuP36+v39Nzef/dzc + 7v8AAH39c3O9/ZKSzP/AwOH9SUmo/QgIiv8ODov9Dg6L/Q4Ojf8ODov9Dg6L/Q4Ojf8ODov9Dg6L/Q4O + jf8ODov9Dg6N/w4Oi/0ODov9Dg6N/w4Oi/0ODov9Dg6N/w4Oi/0ODov9Dg6N/w4Oi/0ODov9Dg6N/w4O + i98AAAAAAAAAAAAAAAAAAAAADw+R7A8Pkf8PD5H/BgaM/2VluP/S0ur/lpbP/7Cw2v8dHZX//////wIC + iv/+/v7/R0er//////8pKZz/dna//46Oyv+0tNz/R0eq/wkJjv8PD5H/Dw+R/w8Pkf8PD5H/Dw+R/w8P + kf8PD5H/Dw+R/w8Pkf8PD5H/Dw+R/w8Pkf8PD5H/Dw+R/w8Pkf8PD5H/Dw+R/w8Pkf8PD5H/Dw+R/w8P + kf8PD5H/Dw+R/w8Pkd8AAAAAAAAAAAAAAAAAAAAADw+T7A8Pk/8PD5P9Dw+T/QAAiv/r6/b9/////Q0N + kv8VFZf9WVm0/4ODyP0/P6r9DAyS/WRkuv+Bgcb9U1Ox/VRUsv/ExOP9TEyv/QkJkf8PD5P9Dw+T/Q8P + k/8PD5P9Dw+T/Q8Pk/8PD5P9Dw+T/Q8Pk/8PD5P9Dw+T/w8Pk/0PD5P9Dw+T/w8Pk/0PD5P9Dw+T/w8P + k/0PD5P9Dw+T/w8Pk/0PD5P9Dw+T/w8Pk98AAAAAAAAAAAAAAAAAAAAAEhKY7BISmf8SEpf9EhKX/Q0N + l/8sLKP9RUWu/QoKlf8QEJb9CgqW/wgIk/0MDJX9EBCW/QkJlf8GBpL9Kiqk/TU1p/9DQ639Gxuc/RAQ + mP8SEpf9EhKX/RISmf8SEpf9EhKX/RISmf8SEpf9EhKX/RISmf8SEpf9EhKZ/xISl/0SEpf9EhKZ/xIS + l/0SEpf9EhKZ/xISl/0SEpf9EhKZ/xISl/0SEpf9EhKZ/xISmN8AAAAAAAAAAAAAAAAAAAAAERGc7BMT + m/8TE5z/ExOc/xMTm/8PD5r/DQ2Z/xMTm/8TE5z/ExOb/xMTnP8TE5z/ExOc/xMTm/8TE5z/EBCa/w8P + mv8NDZn/ERGa/xMTm/8TE5z/ExOc/xMTm/8TE5z/ExOc/xMTm/8TE5z/ExOc/xMTm/8TE5z/ExOb/xMT + nP8TE5z/ExOb/xMTnP8TE5z/ExOb/xMTnP8TE5z/ExOb/xMTnP8TE5z/ExOb/xERnN8AAAAAAAAAAAAA + AAAAAAAAExOg7BISoP8SEqD9EhKg/RISoP8SEqD9EhKg/RISoP8SEqD9EhKg/xMToP0TE6D9ExOg/RMT + oP8TE6D9EhKg/RISoP8SEqD9EhKg/RISoP8SEqD9EhKg/RISoP8SEqD9EhKg/RISoP8SEqD9EhKg/RIS + oP8TE6D9ExOg/xMToP0TE6D9EhKg/xISoP0SEqD9EhKg/xISoP0SEqD9EhKg/xISoP0SEqD9EhKg/xMT + oN8AAAAAAAAAAAAAAAAAAAAAFBSk7BQUpP8UFKT9FBSk/RQUpP8UFKT9FBSk/RQUpP8UFKT9ExOk/wYG + mv0AAJL9AACS/QAAkv8HB5r9ExOk/RQUpP8UFKT9FBSk/RQUpP8UFKT9FBSk/RQUpP8UFKT9FBSk/RQU + pP8UFKT9FBSk/Q8Pov8AAJP9AACS/wAAkv0AAJP9Dg6i/xQUpP0UFKT9FBSk/xQUpP0UFKT9FBSk/xQU + pP0UFKT9FBSk/xQUpN8AAAAAAAAAAAAAAAAAAAAAFRWo7BQUp/8VFaj/FRWo/xUVqP8VFaj/FRWo/xUV + qP8UFKj/BQWf/56exv/m5uD/5eXg/+bm4f+ZmcP/Bgag/xQUqP8VFaj/FRWo/xUVqP8VFaj/FRWo/xUV + qP8VFaj/FRWo/xUVqP8VFaj/EBCn/zExpv/Y2N7/6url/+rq5f/e3uD/Pz+o/w8Ppv8VFaj/FRWo/xUV + qP8VFaj/FRWo/xUVqP8VFaj/ExOn/xUVqN8AAAAAAAAAAAAAAAAAAAAAFBSr7Bwcr/8UFKv9Fhas/RUV + rP8WFqz9Fhas/RUVrP8ODqn9Wlq+//z87f3o6Of96Ojn/ejo5//9/e39Vla8/Q4Oqv8WFqz9Fhas/RUV + rP8WFqz9Fhas/RUVrP8WFqz9Fhas/RUVrP8WFqz9BQWn/dPT4v/x8ez97Ozr/+vr6v3v7+v95+fo/wQE + pv0WFqz9FRWs/xYWrP0WFqz9FRWs/xYWrP0UFKr9Hx+w/xQUq98AAAAAAAAAAAAAAAAAAAAAExOu7TEx + vf8YGLD9FRWv/RgYsP8WFrD9Fhaw/RgYsP8NDa39cHDJ//n58P3t7e397e3t/e3t7f/5+fD9Z2fG/Q8P + rf8WFrD9Fhaw/RgYsP8WFrD9Fhaw/RgYsP8WFrD9Fhaw/RgYsP8WFrD9BASq/eHh6//z8/D98PDw//Dw + 8P3x8fD9+vrz/wICqf0WFrD9GBiw/xYWsP0WFrD9GBiw/xUVr/0eHrP9KSm5/xcXr+AAAAAAAAAAAAAA + AAAAAAAAOjq62hUVsv9XV9T/Dg6u/xgYs/8ZGbT/GRm0/xkZtP8QELH/cHDM//7+9f/y8vL/8vLy//Ly + 8v////X/Z2fK/xAQsf8ZGbT/GRm0/xkZtP8ZGbT/GRm0/xkZtP8ZGbT/GRm0/xkZtP8ZGbT/Bgau/+Tk + 7//39/T/9PT0//T09P/19fT//Pz3/wQErf8ZGbT/GRm0/xkZtP8ZGbT/GBiz/w0Nrv9aWtX/EhKx/zs7 + uskAAAAAAAAAAAAAAAAAAAAAb2/GbwgIs/9MTND9YWHZ/RERtP8QELP9ERGz/RERs/8ICLH9bW3P//// + +P319fX99fX1/fX19f////j9ZGTM/QkJsf8REbP9ERGz/RERs/8REbP9ERGz/RERs/8REbP9ERGz/RER + s/8REbP9AACu/eXl8P/5+fb99vb2//b29v339/b9///4/wAArf0REbP9ERGz/xERs/0QELP9ExO1/2dn + 3v1DQ8z9Cwuz/2pqxV8AAAAAAAAAAAAAAAAAAAAAAAAAAHFxyqoMDLb/OTnK/4OD7P+Bgev/gIDp/4CA + 6f94eOn/ra3u//399/329vb99vb2/fb29v/9/ff9qKju/3h46f+AgOn/gIDp/4CA6f+AgOn/gIDp/4CA + 6f+AgOn/gIDp/4CA6f9/f+n/cnLn/+3t9P/39/b99vb2//b29v329vb9/Pz2/29v5/9/f+n/gIDp/4CA + 6f+Bgev/goLs/zMzx/8QELj/cHDJnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZMk2OzvDeCEh + wHopKcN6KyvEeikpxHotLcN3lpbcsP7+9//19fX/9fX1//X19f/+/vf/jY3ZrDAwxHgpKcR6KyvEeisr + xHorK8R6KyvEeisrxHorK8R6KyvEeisrxHoqKsN6MDDDdO/v8/D19fT/9PT0//T09P/09PT//v71/TU1 + w3QsLMR6KirEeisrxHopKcN6IiLAej8/xXZoaMovAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PtZvPz8f/x8fH98fHx/fHx8f/z8/H/39/tXgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPn58eTw8PD/8PDw//Dw + 8P3w8PD+9vbx/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8fHwMuvr6//r6+v/6+vr/+vr + 6//r6+v/8PDuLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOvr + 6rPp6en/6enp/+np6f/p6en/6enpyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjo + 6ETn5+eP5+fnjefn54/o6OhBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAOfn5wPl5eV75eXljuXl5Y7l5eWB5+fnCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/AAAAH/wAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAgAAAAAAF + AADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAA + AAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAAD + AADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAA + AAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAAD + AADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAA + AAAAAwAA4AAAAAAHAADwAAAAAA8AAP/gP/wP/wAA/+A//A//AAD/8H/8D/8AACgAAAAgAAAAQAAAAAEA + IAAAAAAAgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApKSkBaSkpAekpKQMpKSkEaSk + pBGkpKQTpKSkHaSkpCCkpKQgpKSkIKSkpCCkpKQgpKSkIKSkpCCkpKQgpKSkIKSkpCCkpKQYpKSkEaSk + pBGkpKQPpKSkCKSkpAakpKQCAAAAAAAAAAAAAAAAAAAAAKSkpCKkpKRvo6OjjaGhoaChoaGyoaGhu6Gh + ocihoaHSoaGh0aGhodOhoaHhoaGh46GhoeShoaHkoaGh5KGhoeShoaHkoaGh5KGhoeShoaHjoaGh5KGh + odqhoaHRoaGh0aGhoc6hoaG9oaGhuqGhoaehoaGXo6OjfaSkpEqlpaUEo6OjHaGhoV6ioqKBubm51ru7 + u+S8vLzqu7u767u7u/K7u7vzvLy88ry8vPO8vLz3vLy8+Ly8vPi8vLz4vLy8+Ly8vPi8vLz4vLy8+Ly8 + vPm8vLz1vLy88r29vfO7u7vzu7u77ru7u+q8vLzou7u737e3t82ioqJwoKCgPqSkpAMAAAAAvb29C93d + 3e/e3t7/39/f/+Dg4P/f39//4eHh/+Li4v/j4+P/4+Pj/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Pj4//j4+P/4uLi/+Li4v/h4eH/4ODg/97e3v/d3d3/3d3d/9vb2+zDw8MGAAAAAAAA + AADm5uaG29vb/9zc3P/d3d3/3t7e/9/f3//g4OD/4+Pj/+Tk5P/l5eX/5eXl/+bm5v/m5ub/5eXl/+Li + 4v/j4+P/4+Pj/+Pj4//o6Of/6urq/+fn5//h4eH/39/f/9/f3//d3d3/3t7e/93d3f/c3Nz/2tra/+Pj + 43wAAAAAAAAAAOXl5Zrc3Nz/3d3d/97e3v/f39//39/f//Hx7//IyMr/ysrM/8rKzP/MzMz/y8vN/8rK + zP/Y2Nj/7e3s/+Pj4//p6en/+vr4/7S0t/+Xl5z/sLCz//b29P/q6un/39/f/+Dg4P/f39//3t7e/93d + 3f/a2tr/4eHhkQAAAAAAAAAA5ubmmd3d3f/e3t7/39/f/9/f3//x8fD/PT1L/wAAAP8AAAb/AAAB/wAA + AP8AAAD/AAAA/wAAAP/Fxcb/8fHw/8vLzf8AABH/AAAA/wAAAP8AAAD/AAAM/7e3uv/r6+r/4ODg/+Dg + 4P/f39//3t7e/9vb2//i4uKQAAAAAAAAAADn5+eZ3t7e/9/f3//g4OD/4ODg/+/v7v9ZWWT/AAAI/wAA + Ev9DQ1D/Xl5o/1RUYP9SUl7/YGBq/+zs7f/09PP/AAAJ/wAACv9NTVn/1tbW/3Bwef8AAAj/AAAA/+Pj + 4f/j4+P/4eHh/+Dg4P/d3d3/3d3d/+Pj45AAAAAAAAAAAOfn55nf39//4ODg/+Hh4f/i4uL/4+Pj//b2 + 9v8tLT3/AAAI/wcHGf/X19j///////f39v/09PL/8/Py/4uLk/8AAAj/AAAQ///////r6+r//////xQU + Jv8AAAn/goKI/+zs6//g4OD/39/f/9/f3//e3t7/5OTkkAAAAAAAAAAA6Ojomd7e3v/f39//4uLi/+Pj + 4//k5OT/5eXl//////9TU17/AAAA/wAAAP93d3///////+np6f/4+Pf/UlJe/wAADf8NDR///////+np + 6f//////Hx8v/wAACf94eID/7u7t/+Hh4f/h4eH/4ODg/9/f3//m5uaQAAAAAAAAAADp6emZ4ODg/+Hh + 4f/h4eH/4uLi/+Pj4//k5OT/5eXl/////v+Xl53/AAAG/wAAA/8uLjv//f38//v7+v9AQE7/AAAR/wAA + CP97e4L/9PTz/5WVm/8AAAf/AAAA/87O0P/n5+f/4+Pj/+Li4v/h4eH/4ODg/+Xl5ZAAAAAAAAAAAOnp + 6Znh4eH/4uLi/+Pj4//k5OT/5OTk//Ly8f/9/fv/7Ozs//b29f/m5uX/AgIU/wAAB/9SUl3//////01N + Wv8AAA//GRko/wAAAP8AAAD/AAAA/wAAAP+EhIz/9/f1/+Tk5P/k5OT/4+Pj/+Dg4P/f39//5ubmkAAA + AAAAAAAA6urqmeHh4f/h4eH/4uLi/+Pj4//y8vH/ampz/wAADf/d3d3/6+vr//b29f+qqq7/AAAK/wAA + AP//////enqD/wAACf8nJzb////8/4+Plv+RkZf/5ubm//n5+P/o6Oj/5OTk/+Pj4//j4+P/4uLi/+Hh + 4f/o6OiQAAAAAAAAAADq6uqZ4ODg/+Pj4//k5OT/5OTk//f39v86Okf/AAAH/0dHVP///////////5qa + of8AAAv/AAAA/////v/d3d3/AAAA/wAAA//e3t////////////8AAAz/AAAA//v7+f/m5ub/5eXl/+Li + 4v/h4eH/4eHh/+fn55AAAAAAAAAAAOvr65ni4uL/4+Pj/+Tk5P/k5OT/6+vr/8jIy/8AAAD/AAAF/yMj + Mv8/P0z/AAAF/wAAAv9dXWf/+vr6//39/P9nZ3D/AAAA/wAACP9eXmr/FBQm/wAABP8gIDD/+/v5/+Xl + 5f/l5eX/5OTk/+Pj4//g4OD/5+fnkAAAAAAAAAAA6+vrmeLi4v/j4+P/4+Pj/+Tk5P/n5+f/8vLy/87O + z/8+Pkv/AAAR/wAACf8bGyz/goKJ///////s7Ov/6+vr//////+UlJr/Hx8v/wAABv8FBRj/XV1p//X1 + 9P/p6en/5eXl/+Xl5f/k5OT/4+Pj/+Li4v/p6emQAAAAAAAAAADr6+uZ4uLi/+Li4v/l5eX/5ubm/+fn + 5//n5+f/7e3t//r6+f///////////////v/29vX/7e3t/+3t7f/t7e3/6+vr//X19P////3///////// + /v/39/b/6urq/+bm5v/m5ub/5eXl/+Tk5P/j4+P/4uLi/+np6ZAAAAAAAAAAAPDw7pnm5uP/5+fk/+np + 5v/q6uf/6+vo/+zs6f/t7er/7u7s/+7u6//v7+z/8PDu//Dw7f/x8e//8fHv//Hx7//x8e//8PDt//Dw + 7v/v7+z/7u7r/+3t6v/s7On/7Ozq/+rq5//p6eb/6Ojl/+fn5P/m5uP/7e3qkAAAAAAAAAAAubnVmb+/ + 0v/AwNL/wcHU/8LC0//CwtT/wsLV/8TE1//ExNb/xcXY/8bG2P/Gxtn/xsbZ/8fH2v/Hx9r/x8fa/8fH + 2v/Gxtn/xsbZ/8XF2P/Fxdj/xMTX/8TE1//Dw9b/wsLV/8HB0//AwNL/wMDR/7+/0P+4uNOQAAAAAAAA + AAANDYqZAAB7/wAAe/8AAHj/AAB7/wAAeP8AAHj/AAB2/wAAef8AAHn/AAB6/wAAef8AAHj/AAB7/wAA + e/8AAHv/AAB7/wAAe/8AAHv/AAB7/wAAe/8AAHv/AAB7/wAAe/8AAHv/AAB7/wAAe/8AAHv/AAB7/wwM + iJAAAAAAAAAAAAsLj5kNDYr/BgaH/1RUq/8AAH3/S0un/7293/9zc7r/GxuP/zs7oP8fH5H/NTWc/0FB + ov8HB4f/DQ2K/w0Niv8NDYr/DQ2K/w0Niv8NDYr/DQ2K/w0Niv8NDYr/DQ2K/w0Niv8NDYr/DQ2K/w0N + iv8NDYr/CwuNkAAAAAAAAAAADw+VmQ8PkP8AAIj/zc3o/6Gh0/+Njcr/ycnm/0JCpv+pqdf/rq7Y/1VV + sP+Dg8X/nZ3R/wMDiv8PD5D/Dw+Q/w8PkP8PD5D/Dw+Q/w8PkP8PD5D/Dw+Q/w8PkP8PD5D/Dw+Q/w8P + kP8PD5D/Dw+Q/w8PkP8PD5OQAAAAAAAAAAAREZyZERGW/w0NlP8iIp3/9/f8/wAAjP8wMKP/Wlq2/wgI + kf9NTbD/U1Oy/1VVtP+Pj83/BgaR/xERlv8REZb/ERGW/xERlv8REZb/ERGW/xERlv8REZb/ERGW/xER + lv8REZb/ERGW/xERlv8REZb/ERGW/xERmpAAAAAAAAAAABISopkSEpr/EhKa/w4Omf8AAJL/EBCa/w0N + mf8LC5j/EBCa/wwMmP8LC5j/CgqX/wcHlv8SEpr/EhKa/xISmv8SEpr/EhKa/xISmv8SEpr/EhKa/xIS + mv8SEpr/EhKa/xISmv8SEpr/EhKa/xISmv8SEpr/EhKgkAAAAAAAAAAAExOomRISof8SEqH/EhKh/xIS + of8SEqH/EhKh/wgInv8GBp7/Bwee/xAQoP8SEqH/EhKh/xISof8SEqH/EhKh/xISof8SEqH/EhKh/w0N + n/8GBp7/Bgae/wwMn/8SEqH/EhKh/xISof8SEqH/EhKh/xISof8TE6eQAAAAAAAAAAAVFa+ZFBSm/xUV + p/8VFaf/FRWn/xQUp/8ICKH/eXm4/5mZw/+Tk8D/Gxuj/xISpv8VFaf/FRWn/xUVp/8VFaf/FRWn/xUV + p/8PD6X/QUGs/52dxv+ensb/SEit/w8Ppf8VFaf/FRWn/xUVp/8VFaf/ExOm/xUVrZAAAAAAAAAAABQU + tJkcHLH/FRWs/xcXrf8XF63/ERGr/0NDuP///+//7+/q//n57f+WltH/Cwup/xcXrf8XF63/Fxet/xcX + rf8XF63/Fxet/wUFp//s7Ov/9vbv//X17//7+/D/AwOn/xcXrf8XF63/Fxet/xUVq/8eHrH/FBSykAAA + AAAAAAAALS2+kzk5xf8UFLH/ExOx/xUVsf8PD7D/SkrA////9f/x8fH/+vrz/5yc2f8JCa7/FRWx/xUV + sf8VFbH/FRWx/xUVsf8VFbH/AQGr//Dw8v/19fP/8/Pz////9/8AAKv/FRWx/xUVsf8TE7D/GBiz/zY2 + w/8tLbyJAAAAAAAAAABnZ80pFxe3/2Nj3f9AQMn/MTHD/y0twv9gYM/////6//b29v/+/vj/qKjj/ycn + wf8zM8T/MzPE/zMzxP8zM8T/MzPE/zMzxP8gIL//8/P2//f39v/29vb////5/x4evv8zM8T/MTHD/0JC + y/9gYNv/GRm2/1paySEAAAAAAAAAAAAAAABdXc0xMTHEpD8/06tRUdmqSkrXqYGB3b////f/9fX1//v7 + 9v+9verdR0fVqFBQ2qpQUNqqUFDaqlBQ2qpQUNqqT0/aqkZG06f29vX59fX0//T09P////f/SEjSpk5O + 2qpRUdmqPj7SqzU1xKJcXMwqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3t7vOPPz + 8P/w8PD/8fHw//Hx8ZYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPf38PLu7u7/7u7u//T0 + 7/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA5+fnlufn57Xn5+ex9PTzHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6urqUuXl + 5bbl5eW35ubmXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAADwAAAAAAAAAAgAAAAYAA + AAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAA + AAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAHAAAAD/g/w//8P8P8oAAAAGAAAADAA + AAABACAAAAAAAGAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSkpAiioqIRo6OjHKOjoyKhoaEvo6OjLqOj + ozihoaFCo6OjQqOjo0Kjo6NCoaGhQqOjo0KhoaFCo6OjQqOjozGhoaEvo6OjKqOjox6hoaEXo6OjDqSk + pAUAAAAAo6OjP6CgoKChoaHBo6Oj26KiouOioqLwoqKi8aKiovOioqL5oqKi+6KiovuioqL7oqKi+qKi + ovuioqL6oqKi96KiovKioqLyoqKi6qKiouGjo6PToaGhtaCgoIOjo6MTAAAAAMLCwmDf39//4ODg/+Hh + 4f/i4uL+4+Pj/uXl5f7k5OT+5ubm/ubm5v7m5ub+5ubm/ubm5v7m5ub+5OTk/uPj4/7k5OT+4uLi/+Hh + 4f/f39//3t7e/8LCwlgAAAAAAAAAAOTk5PTc3Nz/3Nzc/93d3f/k5OT97u7t/+/v7v/x8fD98PDv//Ly + 8f/m5ub/4+Pj/efn5//x8fD99PTy/+/v7v/i4uH93t7e/93d3f/d3d393Nzc/+Hh4e0AAAAAAAAAAOPj + 4/3c3Nz+39/f/+Tk5P+1tbn9R0dU/01NWf9ISFb9SEhW/z8/Tv+8vMD/8fHw/cjIyv89PUv9GBgq/1BQ + W//d3d/95OTk/+Dg4P/d3d393d3d/+Dg4PYAAAAAAAAAAOTk5Pzd3d3+4ODg/ezs6/1vb3r+AAAA/QYG + Gv1ERFL+MTFB/SoqOf29vb/92NjZ/gAAAP0aGi3+lpad/QYGGf0AAAr+7e3t/eHh4f3g4OD+3d3d/uPj + 4/UAAAAAAAAAAOXl5fzg4OD+4eHh/+Li4v/39/b9QUFP/wAAAP9/f4f9//////r6+P/6+vj/WFhk/QAA + AP/c3Nz9/Pz6/6Wlq/8AAAD9mpqf/+np6P/h4eH93t7e/+Tk5PUAAAAAAAAAAObm5vzh4eH+4uLi/+Li + 4v/l5eX9///+/3JyfP8AAAD9ISEy/+7u7f/9/fz/Ly89/QAAA/+zs7f9/////3p6gv8AAAD9srK2/+jo + 5//i4uL939/f/+Xl5fUAAAAAAAAAAOjo6Pzg4OD+4+Pj/ePj4/3w8PD++vr4/fr6+f3IyMn+AAAF/QsL + Hf3////9MTFA/gAAD/0AAAn+Cgoc/QAAAP1AQE3++vr5/eTk4/3j4+P+4eHh/uXl5fUAAAAAAAAAAOfn + 5/zi4uL+5OTk/+7u7f98fIX9AwMX///////////9hoaP/wAAAP+/v8L/ZGRv/QAAAP/r6+v9rq6y/8PD + xf+7u7797e3t/+Xl5f/i4uL94uLi/+bm5vUAAAAAAAAAAOnp6fzj4+P+4+Pj/+3t7f+Xl5z9AAAA/1pa + Zf/Gxsj9IiIz/wAAAP/g4OD/2NjZ/QAAAP87O0r94uLg/y0tPP8AAAD9/Pz6/+Tk5P/k5OT94eHh/+fn + 5/UAAAAAAAAAAOjo6Pzj4+P+5eXl/+Xl5f/6+vj9goKJ/wMDFv8AAAD9EREj/6iorf/39/f/9/f3/be3 + u/8TEyT9AAAA/xERIv+5ubz97u7u/+bm5v/j4+P94+Pj/+fn5/UAAAAAAAAAAOjo6Pzj4+P+5eXl/ebm + 5v3m5ub+8/Py/f7+/f3////+///+/fPz8v3r6+v96+vr/vLy8v3///7+/////f39/P3v7+7+5ubm/ebm + 5v3j4+P+4+Pj/ufn5/UAAAAAAAAAAP7+8vz29uv++Pju//n57v/7+/H9/Pzy//398//+/vT9///1//// + 9f////b////1/f//9f/+/vT9///0//7+8//7+/H9+vrw//n57//39+z99vbr//v78PUAAAAAAAAAAAwM + h/wMDIL+BAR9/QQEf/0DA37+AwN+/QUFf/0JCYH+AwN+/QkJgf0LC4L9CwuC/gsLgv0LC4L+CwuC/QsL + gv0MDIL+DAyD/QwMg/0MDIL+DAyC/gwMhvUAAAAAAAAAAAsLj/wDA4b+Zma1/1JSq/+fn9H9Zma0/1BQ + qv8YGI/9Z2e1/xYWj/8JCYn/CgqJ/QoKif8KCon9CgqJ/woKif8KCon9CgqJ/woKif8KCon9CgqJ/wsL + jvUAAAAAAAAAABAQl/wFBYz+mprQ/6am1/9gYLb9e3vD/3l5w/9hYbf9q6vZ/ysrnv8NDZH/EBCR/RAQ + k/8QEJH9EBCT/xAQk/8QEJH9EBCT/xAQk/8QEJH9EBCT/xAQlfUAAAAAAAAAABISn/wQEJn+ERGZ/RcX + m/0ICJX+CAiV/QgIlf0QEJn+IyOh/RISmv0REZn9EhKa/hISmf0SEpr+EhKa/RISmv0SEpr+EhKZ/RIS + mf0SEpr+EhKZ/hISnvUAAAAAAAAAABMTqPwSEqL+ERGh/xERof8QEKL9AACY/wAAlf8ICJ79EBCg/xIS + of8SEqL/EhKi/RISov8SEqL9BASb/wAAlf8DA5v9EhKi/xISov8SEqL9EhKi/xMTpvUAAAAAAAAAABYW + sfwUFKj+Fhaq/xQUqf8YGKn96eni//n56v9+fsP9Cwun/xYWqv8WFqr/Fhaq/RYWqv8HB6X9vr7X//39 + 7v/IyNn9Bgal/xYWqv8WFqr9FBSo/xgYr/UAAAAAAAAAACUlvfsmJrn+EhKv/Q8Prv03N7r+///1/fb2 + 8f25ueD+BASr/RMTr/0TE6/9ExOv/hMTr/0AAKn++Pj0/fX18/3///f+AACp/RMTr/0SEq/+Jye7/yMj + uvQAAAAAAAAAAFJSy4g8PMz/T0/S/0lJ0P9hYdX////6//z89//Gxuz/Pj7O/0xM0f9NTdH/S0vR/01N + 0f83N8z/+fn3//j49/////n+NjbM/0xM0f9PT9L/OjrM/0tLyIAAAAAAAAAAAAAAAABXV9smKSnTNyQk + 1DSCgtpd/f32//b29P/f3+3KNzfQLysr1TYuLtY2Li7WNioq1TZERNAt/f30/fPz8v/+/vT/UlLQLCkp + 1TYoKNQ3WFjZIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADz8+wC6urquejo6Mv5+fZYAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA8PDwi+bm5svt7e2UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAABAAAA + AACAAAEAgAABAIAAAQCAAAEAgAABAIAAAQCAAAEAgAABAIAAAQCAAAEAgAABAIAAAQCAAAEAgAABAIAA + AQCAAAEAgAABAIAAAQCAAAEAgAABAMAAAwD4fj8AKAAAABAAAAAgAAAAAQAgAAAAAABABAAAAAAAAAAA + AAAAAAAAAAAAAKCgoCCgoKBGn5+fWJ+fn2ifn59sn5+fe5+fn32fn599n5+ffZ+fn32fn594n5+fbJ+f + n2Ofn59UoaGhP52dnRCrq6sax8fH287OzvrOzs780dHR/tPT0v/U1NT/09PT/9LS0v/T09P/1NTU/tDQ + 0P7Ozs77zs7O+MbGxtKoqKgLm5ubPePj4//f39//6Ojp/+Hh4P/f3+D/39/e/+fn6P/u7u3/6Ojn/8TE + x//29vT/4ODg/9/f3//h4eH/rKysOp+fn0Lj4+P/5ubm/5ycov8AAAD/FhYo/wYGGf90dH3/t7e7/wAA + Bf82NkT/EBAi//Hx7//g4OD/4ODg/62trT6goKBC4+Pj/+Li4v/19fP/VFRh/xcXKv/7+/n//////xoa + K/+NjZX//////wAAAf+1tbn/5eXl/+Pj4/+vr689oaGhQubm5v/j4+P/6+vr//////+YmJ//AAAA/+vr + 6v8VFSf/Dw8i/0tLV/8FBRj/8PDu/+Pj4//j4+P/sLCwPaKiokLn5+f/6urq/5ubof8pKTr//////zw8 + TP9ubnn/RERS/3p6gv/h4eL/aGhy//Ly8f/k5OT/5OTk/7GxsT2ioqJC5+fn/+bm5v/t7ez/Jyc3/wAA + Ev8LCx3/3d3f/+Xl5f8ODiH/BgYZ/0ZGVP/09PP/5eXl/+bm5v+xsbE9q6umQvX17v/y8uv/9fXt//// + //////////////7+9v/8/PX///////////////v/9PTt//Ly6//y8uv/u7u2PUREeUJbW6j/UVGh/1BQ + ov9UVKP/VVWj/1VVpP9dXaj/XV2o/11dqP9cXKf/XFyn/1tbpv9aWqX/W1un/0tLhD0DA2FCAACI/29v + uv+fn9D/Xl6x/1RUrf9oaLX/AACF/wUFiP8FBYj/BQWI/wUFiP8FBYj/BQWI/wUFi/8DA2w9DAxtQg0N + mf9SUrT/Dw+W/xkZnf8rK6T/Q0Ou/w0Nlf8SEpf/EhKX/w0Nlv8NDZb/EhKX/xISl/8SEpr/DQ14PQ0N + dkITE6f/Dg6h/wkJof9GRq3/Kiqm/wsLof8TE6T/ExOk/w8Pov85Oav/Ozuq/w4Oov8TE6T/EhKm/w4O + gT0ZGYJCHx+5/xAQrf8jI7L////4/9jY5/8DA6n/FBSu/xQUrv8AAKj////2////+v8AAKj/ExOt/x8f + uP8cHI8+XV2IAUhI2sBCQtrcUFDV3////P/d3fD7NDTT2UdH2ttHR9rbMjLR2f//+f////r/MTHP2UVF + 29xISNm8AAAAAAAAAAAAAAAAAAAAAAAAAAD19fHb/Pz2mgAAAAAAAAAAAAAAAAAAAAD4+PPB9vbyyAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAABAADzzwAA + + + \ No newline at end of file diff --git a/Logbuch/Logbuch/Reports/frmKalender.vb b/Logbuch/Logbuch/Reports/frmKalender.vb new file mode 100644 index 0000000..faec204 --- /dev/null +++ b/Logbuch/Logbuch/Reports/frmKalender.vb @@ -0,0 +1,19 @@ +Public Class frmKalender + Private Sub MonthCalendar1_DateChanged(sender As Object, e As DateRangeEventArgs) Handles MonthCalendar1.DateChanged + Me.MaskedTextBox1.Text = Me.MonthCalendar1.SelectionStart + End Sub + + Private Sub MonthCalendar1_DoubleClick(sender As Object, e As EventArgs) Handles MonthCalendar1.DoubleClick + Me.DialogResult = DialogResult.OK + Me.Close() + End Sub + + Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click + Me.DialogResult = DialogResult.OK + Me.Close() + End Sub + + Private Sub frmKalender_Load(sender As Object, e As EventArgs) Handles MyBase.Load + MaskedTextBox1.Select() + End Sub +End Class \ No newline at end of file diff --git a/Logbuch/Logbuch/Sysadmin/frmSysadmin.Designer.vb b/Logbuch/Logbuch/Sysadmin/frmSysadmin.Designer.vb new file mode 100644 index 0000000..6879543 --- /dev/null +++ b/Logbuch/Logbuch/Sysadmin/frmSysadmin.Designer.vb @@ -0,0 +1,192 @@ + _ +Partial Class frmSysadmin + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmSysadmin)) + Dim TreeNode1 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Mitarbeiter") + Dim TreeNode2 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Team") + Dim TreeNode3 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Gegenpartei") + Dim TreeNode4 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Grundbuch") + Dim TreeNode5 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Bemerkungen") + Dim TreeNode6 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Versicherungsgesellschaft") + Dim TreeNode7 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Stammdaten", New System.Windows.Forms.TreeNode() {TreeNode1, TreeNode2, TreeNode3, TreeNode4, TreeNode5, TreeNode6}) + Dim TreeNode8 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Applikation") + Dim TreeNode9 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Mailtexte") + Dim TreeNode10 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Auswertungen") + Dim TreeNode11 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Auswertung_Feldregel") + Dim TreeNode12 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Auswertungparameter") + Dim TreeNode13 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Spalten") + Dim TreeNode14 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Applikation", New System.Windows.Forms.TreeNode() {TreeNode8, TreeNode9, TreeNode10, TreeNode11, TreeNode12, TreeNode13}) + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.tsbtnexit = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator() + Me.tsbtnsave = New System.Windows.Forms.ToolStripButton() + Me.TreeSysadmin = New System.Windows.Forms.TreeView() + Me.C1Daten = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.ReportBearbeitenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStrip1.SuspendLayout() + CType(Me.C1Daten, System.ComponentModel.ISupportInitialize).BeginInit() + Me.ContextMenuStrip1.SuspendLayout() + Me.SuspendLayout() + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsbtnexit, Me.ToolStripSeparator1, Me.ToolStripSeparator2, Me.tsbtnsave}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 0) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(726, 25) + Me.ToolStrip1.TabIndex = 1 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'tsbtnexit + ' + Me.tsbtnexit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtnexit.Image = CType(resources.GetObject("tsbtnexit.Image"), System.Drawing.Image) + Me.tsbtnexit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtnexit.Name = "tsbtnexit" + Me.tsbtnexit.Size = New System.Drawing.Size(23, 22) + Me.tsbtnexit.Text = "Schliessen" + ' + 'ToolStripSeparator1 + ' + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" + Me.ToolStripSeparator1.Size = New System.Drawing.Size(6, 25) + ' + 'ToolStripSeparator2 + ' + Me.ToolStripSeparator2.Name = "ToolStripSeparator2" + Me.ToolStripSeparator2.Size = New System.Drawing.Size(6, 25) + ' + 'tsbtnsave + ' + Me.tsbtnsave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtnsave.Image = CType(resources.GetObject("tsbtnsave.Image"), System.Drawing.Image) + Me.tsbtnsave.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtnsave.Name = "tsbtnsave" + Me.tsbtnsave.Size = New System.Drawing.Size(23, 22) + Me.tsbtnsave.Text = "Speichern" + ' + 'TreeSysadmin + ' + Me.TreeSysadmin.Dock = System.Windows.Forms.DockStyle.Left + Me.TreeSysadmin.Location = New System.Drawing.Point(0, 25) + Me.TreeSysadmin.Name = "TreeSysadmin" + TreeNode1.Name = "Knoten2" + TreeNode1.Text = "Mitarbeiter" + TreeNode2.Name = "Knoten0" + TreeNode2.Text = "Team" + TreeNode3.Name = "Knoten3" + TreeNode3.Text = "Gegenpartei" + TreeNode4.Name = "Grundbuch" + TreeNode4.Text = "Grundbuch" + TreeNode5.Name = "Knoten4" + TreeNode5.Text = "Bemerkungen" + TreeNode6.Name = "Knoten1" + TreeNode6.Text = "Versicherungsgesellschaft" + TreeNode7.Name = "Knoten0" + TreeNode7.Text = "Stammdaten" + TreeNode8.Name = "Knoten5" + TreeNode8.Text = "Applikation" + TreeNode9.Name = "Knoten7" + TreeNode9.Text = "Mailtexte" + TreeNode10.Name = "Knoten8" + TreeNode10.Text = "Auswertungen" + TreeNode11.Name = "Knoten9" + TreeNode11.Text = "Auswertung_Feldregel" + TreeNode12.Name = "Knoten10" + TreeNode12.Text = "Auswertungparameter" + TreeNode13.Name = "Knoten1" + TreeNode13.Text = "Spalten" + TreeNode14.Name = "Knoten1" + TreeNode14.Text = "Applikation" + Me.TreeSysadmin.Nodes.AddRange(New System.Windows.Forms.TreeNode() {TreeNode7, TreeNode14}) + Me.TreeSysadmin.Size = New System.Drawing.Size(225, 350) + Me.TreeSysadmin.TabIndex = 2 + ' + 'C1Daten + ' + Me.C1Daten.AllowAddNew = True + Me.C1Daten.AlternatingRows = True + Me.C1Daten.CellTips = C1.Win.C1TrueDBGrid.CellTipEnum.Floating + Me.C1Daten.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1Daten.FilterBar = True + Me.C1Daten.GroupByCaption = "Drag a column header here to group by that column" + Me.C1Daten.Images.Add(CType(resources.GetObject("C1Daten.Images"), System.Drawing.Image)) + Me.C1Daten.Location = New System.Drawing.Point(225, 25) + Me.C1Daten.Name = "C1Daten" + Me.C1Daten.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1Daten.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1Daten.PreviewInfo.ZoomFactor = 75.0R + Me.C1Daten.PrintInfo.PageSettings = CType(resources.GetObject("C1Daten.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1Daten.PropBag = resources.GetString("C1Daten.PropBag") + Me.C1Daten.Size = New System.Drawing.Size(501, 350) + Me.C1Daten.TabAction = C1.Win.C1TrueDBGrid.TabActionEnum.ColumnNavigation + Me.C1Daten.TabIndex = 11 + Me.C1Daten.Text = "C1TrueDBGrid1" + Me.C1Daten.VisualStyle = C1.Win.C1TrueDBGrid.VisualStyle.Office2010Silver + ' + 'ContextMenuStrip1 + ' + Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ReportBearbeitenToolStripMenuItem}) + Me.ContextMenuStrip1.Name = "ContextMenuStrip1" + Me.ContextMenuStrip1.Size = New System.Drawing.Size(169, 26) + ' + 'ReportBearbeitenToolStripMenuItem + ' + Me.ReportBearbeitenToolStripMenuItem.Name = "ReportBearbeitenToolStripMenuItem" + Me.ReportBearbeitenToolStripMenuItem.Size = New System.Drawing.Size(168, 22) + Me.ReportBearbeitenToolStripMenuItem.Text = "Report Bearbeiten" + ' + 'frmSysadmin + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(726, 375) + Me.Controls.Add(Me.C1Daten) + Me.Controls.Add(Me.TreeSysadmin) + Me.Controls.Add(Me.ToolStrip1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmSysadmin" + Me.Text = "System-Administration" + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + CType(Me.C1Daten, System.ComponentModel.ISupportInitialize).EndInit() + Me.ContextMenuStrip1.ResumeLayout(False) + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + + Friend WithEvents ToolStrip1 As ToolStrip + Friend WithEvents tsbtnexit As ToolStripButton + Friend WithEvents ToolStripSeparator1 As ToolStripSeparator + Friend WithEvents ToolStripSeparator2 As ToolStripSeparator + Friend WithEvents TreeSysadmin As TreeView + Friend WithEvents C1Daten As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents tsbtnsave As ToolStripButton + Friend WithEvents ContextMenuStrip1 As ContextMenuStrip + Friend WithEvents ReportBearbeitenToolStripMenuItem As ToolStripMenuItem +End Class diff --git a/Logbuch/Logbuch/Sysadmin/frmSysadmin.resx b/Logbuch/Logbuch/Sysadmin/frmSysadmin.resx new file mode 100644 index 0000000..930b617 --- /dev/null +++ b/Logbuch/Logbuch/Sysadmin/frmSysadmin.resx @@ -0,0 +1,3124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAK1SURBVDhPnZLfS1NhGMdfCPoDuummi+i6qwYWWYjb3Obx + 7MzN6eY5Z9tJZ86Min5BlvZb07IstEKHqZQUlVoZaVmpaGQoZSLViuoivCiiCKSLgk/HHyx2WQ984H1e + eD+83+d9xf/U1zfDwa8fJn6178lgcWuhrlbl9HQdzqHn6BxSku4jEtcq7TyO7+DLdD+fJ+/w4+0QV/ZZ + UwXdVTJr1tlZm25j3ca/pKVbWW3ZwGyin0TPQcab/HxLDHL1gCNV0FUhk2F1YrNL2B2uJNYsJ2kbbLxu + jzDerDN2PsiXqT5uHMpOFTgaBFLNErLtPiSXgpTtRpJkXC6ZjVaJ6TaDsYshnjQGmRnvno+6eFQI2wlB + YqYDpynJydRwOwMokh9F9iK7PWQ63LyMhxlt0hlqKOTDSCd3q5UFga1GMPmxhbYhQUa1wF4vcJ4TyBXL + 8SpBPLl+snJ8TDRrDJ3Vmb23klcDrfTVehGuOsHT99XERwUtI+b6XTHP3kd4/ik8L8n3hMnLCyJ5Ajw7 + r/LojMbP/lVM3W1ioN6/IHiY2E18QhAfF7S+FLRNC158j+A4KwjmFVMQCOHO0xhtDDBwOkjLbifPu08w + 2BCYj2CxmxF6X5XQkRBkzkU4KXCcEeRWrkBXo6i6gS9oMNzg5/6pfG4eVnjaWcVIo5ocoiWrVtDzzofz + tMAI7MTQyjHCpRhGlIhRRCAU5VG9l3t1PnprvAxf2sXYhVDKM1qc5pWVuqVEjW1Ei8sojpbOU2SibYrx + oM5Db3Uut4556G+KMdESSRGI9vL1bC4rpyy2nbItW5PETIpKt3G/Vub2cYWuo25unwox2VqE0HUdXQuh + aWFUdQ5zrWpmryZRzb6gUGdvLMDlKsX8gTLXj+Qy3VGyMMR/pUJP29e8P/P3m8ux1Aj/UMtM1gghLH8A + ebHCkuu7Y0AAAAAASUVORK5CYII= + + + + + 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 + R9qCCWADoKoc5CkvobIAAAAASUVORK5CYII= + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}Style2{}EvenRow{BackColor:White;}Normal{}RecordSelector{AlignImage:Center;}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}OddRow{BackColor:224, 224, 224;}Style3{}Footer{}Style14{}Heading{AlignVert:Center;Border:Raised,,1, 1, 1, 1;ForeColor:ControlText;BackColor:Control;Wrap:True;}Style5{}Editor{}Style10{AlignHorz:Near;}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style16{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style15{}Style13{}Style12{}Style11{}Style4{}Style9{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style1{}Caption{AlignHorz:Center;}Style6{}FilterBar{ForeColor:Black;BackColor:255, 255, 192;}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" AlternatingRowStyle="True" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" FilterBar="True" FilterBorderStyle="Raised" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 499, 348</ClientRect><BorderSide>0</BorderSide><BorderStyle>Sunken</BorderStyle></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 499, 348</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + 124, 17 + + + + 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 + 0VcsCYAzxAX3BXBu4HOfovtq4V7kOYYcnwGv4ot80iTbxMe3y/FD4ATdtxVfjHjuIefewfClJLYYt0M/ + aAj07+V/PuL5hnzrcRlf2ZeSu8L43bgfAhfpPnWXOvz7dK8fnM5z6ZJOM37X3gVujXzsccc+3TsGj2a8 + bkmHzpPu8/dTj2uH65FU0NxD4Abwo+xXKemh5hgCd4AXSlycpLBSQ+Az4OVC1yQpQs4hsAu8hu/lS1VL + PQT2gN/QfVBI0gKkGAL3gbfIe+9ASZmMHQL7wFW6nzeQtGCxQ+B94OwsK5WUxZAhcANvyCE16wwPvpvP + LbwhhzS7Rwqd51G6T+19BfwJ+Guh80qSJEmSJEmSJEmSJEmSJEmS1Jr/AcsRDHIU/CS8AAAAAElFTkSu + QmCCKAAAAIAAAAAAAQAAAQAgAAAAAAAACAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAHAAAAKQAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASQAAAOsAAAD/AAAA8QAAAH8A + AAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAE0AAAD5AAAA/wAAAP8AAAD/AAAA/wAAAOoAAABuAAAABgAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNAAAA+QAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAP8AAADgAAAAXgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAATQAAAPkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA0wAAAE0A + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE0AAAD5AAAA/wAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAMUAAAA9AAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AABGAAAA+QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+QAAAPEAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAP8AAAC0AAAALgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAOEAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPkA + AABNAAAAEwAAAI4AAAD3AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD9AAAApAAAACIA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAOAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD6AAAATQAAAAAAAAAAAAAAAAAAAB0AAACeAAAA/AAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+QAAAJMAAAAZAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADSAAAA/wAAAP8AAAD/AAAA/wAAAPsA + AAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApAAAArwAAAP4AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAPMAAACDAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAFcAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAJ8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAANwAAAL8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADrAAAAbwAAAAMA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAANUAAAD/AAAA/wAAAP8A + AAD/AAAA+wAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAADOAAAA/wAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAjQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAVwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAnwAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABYAAAA2wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8A + AAD1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAA1QAAAP8A + AAD/AAAA/wAAAP8AAAD7AAAAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAFAAAAfAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXAAAA/wAAAP8AAAD/AAAA/wAAAP8AAACfAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUAAADSAAAA/wAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIA + AADVAAAA/wAAAP8AAAD/AAAA/wAAAPsAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAVAAAA0gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAJYAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFcAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAJ8A + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFQAAANIAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8A + AACWAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAgAAANUAAAD/AAAA/wAAAP8AAAD/AAAA+wAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUA + AADSAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAlgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVwAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAAnwAAAAAAAAAAAAAAAAAAAAAAAAAVAAAA0gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAJYA + AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAACAAAA1QAAAP8AAAD/AAAA/wAAAP8AAAD7AAAAIwAAAAAAAAAAAAAAFQAAANIA + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACdAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXAAAA/wAAAP8A + AAD/AAAA/wAAAP8AAACfAAAAAAAAABUAAADSAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOAA + AAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAADVAAAA/wAAAP8AAAD/AAAA/wAAAPsAAAA4AAAA0gAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOMAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFcA + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAPsAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAOMAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAANUAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAAygAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOMAAAAjAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAVwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAJYAAAABAAAAhwAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAOMAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAA1QAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAP8AAACWAAAAAQAAAAAAAAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOMA + AAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABXAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAlgAAAAEAAAAAAAAAAAAAAAAA + AAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOMAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAADUAAAA/wAAAP8A + AAD/AAAA/wAAAJYAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAOMAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADcAAADsAAAA/wAAAP8AAACPAAAAAQAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOMAAAAjAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0A + AABGAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAOMAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOMA + AAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOMAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAOMAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOMAAAAjAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAOMAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOMA + AAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOMAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAOMAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOMAAAAjAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAOMAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOMA + AAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQA + AADZAAAA/wAAAN8AAAA9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOMAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2AAAA8AAAAP8AAAD/AAAA/wAAAPUAAABBAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAOMAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANgAAAPAA + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOMAAAAjAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADYAAADwAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUA + AABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAOMAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2AAAA8AAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOMA + AAAjAAAAAAAAAAAAAAAAAAAANgAAAPAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAPUAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOMAAAAjAAAAAAAAADYAAADwAAAA/wAAAP8A + AAD/AAAA/wAAAP8AAAD+AAAAnwAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAABBAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAOMAAABRAAAA8AAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/gAAAGgAAAAAAAAAWgAAAPwA + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP4AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAP4AAABoAAAAAAAAAAAAAAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUA + AABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD+AAAAaAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/gAAAGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAPUAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAnAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP4AAABoAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAABBAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYAAADwAAAA/wAAAP8AAAD/AAAA/wAAAP8A + AAD+AAAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwA + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAA2AAAA8AAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/gAAAGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUA + AABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANgAAAPAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP4A + AABoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYA + AADwAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD+AAAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAPUAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2AAAA8AAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/gAAAGgA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAABBAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANgAAAPAA + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAP4AAABoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwA + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADYAAADwAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD+AAAAaAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUA + AABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAA7AAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/gAAAGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAFIAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAABwAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3AAAAigAAAHcA + AAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAPUAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAUAAAAPwAAAD/AAAA/wAAANsAAAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAABBAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAtwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0A + AAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFAAAA/wAAAP8A + AAD/AAAA/wAAANsAAAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwA + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAANsAAAAbAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUA + AABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaQAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAANsAAAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANsA + AAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAPUAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANsAAAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAABBAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0A + AAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAANsAAAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwA + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANsAAAAbAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUA + AABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAANsAAAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANsA + AAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAPUAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANsAAAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAABBAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0A + AAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAANsAAAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwA + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANsAAAAbAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUA + AABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAANsAAAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANsA + AAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAPUAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANsAAAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAABBAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0A + AAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAANsAAAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwA + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANsAAAAbAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUA + AABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAANsAAAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANsA + AAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAPUAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANsAAAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAABBAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0A + AAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAANsAAAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwA + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANsAAAAbAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUA + AABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAANsAAAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANsA + AAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAPUAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANsAAAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAABBAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0A + AAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAANsAAAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwA + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANsAAAAZAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUA + AABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAJ4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPUAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAxgAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAPUAAABKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAhwAAAP8AAAD/AAAA/wAAAP8AAACKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAWgAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPYAAAA2AAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0A + AAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAPMAAAD8AAAAqAAAAAoA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAOUAAAAWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABsAAADbAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAKoA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAA2wAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAD8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAGwAAANsAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAAvQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsAAADbAAAA/wAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA7QAAAP8AAAD/AAAA/wAAAP8AAAD+AAAAIwAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0A + AAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAbAAAA2wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAJYAAAA2AAAA/wAAAP8A + AAD/AAAA/wAAAP8AAAB2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGwAAANsAAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAP8AAACWAAAAAQAAAAAAAADPAAAA/wAAAP8AAAD/AAAA/wAAALcAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAABsAAADbAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAlgAAAAEAAAAAAAAAAAAAAIcA + AAD/AAAA/wAAAP8AAAD/AAAA4gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAA2wAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAJYAAAABAAAAAAAAAAAAAAAAAAAAWgAAAP8AAAD/AAAA/wAAAP8AAAD+AAAAAQAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAGwAAANsAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACWAAAAAQAAAAAAAAAAAAAAAAAAAAAA + AABEAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0A + AAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsAAADbAAAA/wAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAAlgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEsAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAsA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAbAAAA2wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAJYAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAaQAAAP8AAAD/AAAA/wAAAP8AAAD3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAL0AAAAKAAAAAAAAAAAAAAAAAAAAGwAAANsAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8A + AACWAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAA/wAAAP8AAAD/AAAA/wAAANIA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0AAAAKAAAAAAAAABsA + AADbAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAlgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAACQAAAO4AAAD/AAAA/wAAAP8AAAD/AAAAmwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0AAAAlAAAA2wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAJYA + AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABqAAAA/wAAAP8AAAD/AAAA/wAAAP8A + AABWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPsA + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACWAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAGAAAAO0AAAD/AAAA/wAAAP8AAAD/AAAA8gAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAlgAAAAEA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAADBAAAA/wAAAP8AAAD/AAAA/wAAAP8A + AACJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAJYAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAASAAAAvQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA7gAAABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADGAAAABAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAWAAAAOMAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8A + AABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAvQAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAiQAAAEoAAAAmAAAAIAAAACYAAABJAAAAhQAAANsA + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAApQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAwQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAL0A + AAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAJAAAAowAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACsAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZgAAAPIAAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD1AAAAcAAAAAEA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAFwAAAJQAAAD1AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAP8AAAD3AAAAmwAAABsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAA + AABiAAAArAAAAOYAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOgAAACwAAAAZwAAABQAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAjAAAALwAAACQA + AAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/ + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////x////////////////////4H///////////////////8Af//////// + //////////+AB///////////////////AAP//////////////////gAA//////////////////wAAD// + ///////////////4AAAP////////////////+AcAA/////////////////wHwAD////////////////8 + B/AAP////////////////AP8AD////////////////4D/gA////////////////+Af+AP/////////// + /////wH/gD////////////////8A/wA/////////////////gP4Af////////////////4B8AP////// + ///////////AeAH/////////////////wDAD/////////////////+AgA//////////////////gAAH/ + ////////////////8AAA//////////////////AAAH/////////////////4AAA///////////////// + +ADAH/////////////////wB4A/////////////////8A/AH/////////////////gf4A/////////// + //////8f/AH///////////////////4A////////////////////AH///////////////////4A///// + ///////////////AH///////////////////4A////////////////////AH///////////////////4 + A////////////////////AH///////////////////4A////////////////////AH//n/////////// + /////4A//g/////////////////AH/wH////////////////4A/4A/////////////////AH8AH///// + ///////////4A+AA/////////////////AHAAH////////////////4AgAA/////////////////AABA + H////////////////4AA4A/////////////////AAfAH////////////////4AP4A/////////////// + //AH/AH////////////////gD/4A////////////////wB//AH///////////////4A//4A///////// + //////8Af//AH//////////////+AP//4A///////////////AH///AH//////////////gD///4A/// + ///////////wB////AH/////////////8A//w/4A//////////////AH/4H/AH/////////////wA/+A + /4A/////////////+AH/gH/AH/////////////wA/4A/4A/////////////+AH/AH/AH//////////// + /wA/4A/4A/////////////+AH/AH/AH/////////////wA/4A/4A/////////////+AH/AH/AH////// + ///////wA/4A/4A/////////////+AH/AH/AH/////////////wA/4A/4A/////////////+AH/AH/AH + /////////////wA/4A/4A/////////////+AH/AH/AH/////////////wA/4A/4A/////////////+AH + /AH/AH/////////////wA/4A/4A/////////////+AH/AH/AH/////////////wA/4A/4A////////// + ///+AH/AH/AH/////////////wA/4A/4A/////////////+AH/AH/AH/////////////wA/4A/4A//// + /////////+AH/AH/AH/////////////wA/4A/4A/////////////+AH/AH/AH/////////////wA/4A/ + 4A/////////////+AH/AP/AH/////////////wA/4D/4A/////////////+AH/A//AH///////////// + wA/4P/4A/////////////+AH/P/8AP/////////////wA///+AB/////////////+AH///AAf/////// + //////wA///gAD/////////////+AH//wAA//////////////wA//4AQP/////////////+AH/8AMD// + ////////////wA/+AHAf/////////////+AH/ADwH//////////////wA/gB8B//////////////+AHw + A/A///////////////wA4AfwP//////////////+AEAP4D///////////////wAAH+A///////////// + //+AAD/AP///////////////wAB/gH///////////////+AA/wB////////////////wAfwA//////// + ////////+AAAAf////////////////wAAAH////////////////+AAAD/////////////////4AAB/// + ///////////////AAB//////////////////8AB///////////////////8H//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////ygAAABgAAAAwAAAAAEAIAAAAAAAgJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0A + AAB/AAAAkgAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAADwAAAMQAAAD/AAAA/gAAAPwAAACmAAAAJQAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAxQAAAP8AAAD/AAAA/wAAAP8A + AAD/AAAA+gAAAJgAAAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8A + AADFAAAA/gAAAP4AAAD/AAAA/gAAAP8AAAD+AAAA/gAAAP4AAADyAAAAhwAAABIAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAACwAAAMQAAAD/AAAA/gAAAP4AAAD/AAAA8wAAAP8AAAD+AAAA/gAAAP4A + AAD/AAAA/gAAAOsAAAB1AAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcgAAAP8AAAD/AAAA/wAAAP8A + AADEAAAAEQAAAFkAAADZAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA5AAAAGYAAAAGAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAegAAAP4AAAD/AAAA/gAAAPkAAAAWAAAAAAAAAAAAAAAHAAAAaQAAAOQAAAD/AAAA/gAAAP4A + AAD/AAAA/gAAAP4AAADWAAAAVgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAPQAAAD/AAAA/wAAAP8AAABnAAAAAAAAAAAA + AAAAAAAAAAAAAAwAAAB6AAAA7gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/gAAAMoAAABAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAA + AAD/AAAA/gAAAP4AAADeAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwAAAIkAAAD0AAAA/gAAAP4A + AAD/AAAA/gAAAP4AAAD7AAAAPgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABoAAAD2AAAA/gAAAP4AAAD/AAAAZwAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAeAAAAmgAAAPkAAAD/AAAA/gAAAP4AAAD/AAAAfAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACSAAAA/gAAAP4A + AAD/AAAA3gAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUwAAAPkAAAD/AAAA/gAAAP4A + AAD5AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAcAAAA9AAAAP8AAAD/AAAA/wAAAGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AABUAAAA+QAAAP8AAAD/AAAA/wAAAPkAAABVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkQAAAP4AAAD/AAAA/gAAAOAA + AAAGAAAAAAAAAAAAAAAAAAAAAAAAAFMAAAD5AAAA/gAAAP4AAAD/AAAA+AAAAFcAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAHAAAAPQAAAD/AAAA/gAAAP8AAABnAAAAAAAAAAAAAAAAAAAAUwAAAPgAAAD/AAAA/gAAAP4A + AAD5AAAAVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEAAAD/AAAA/wAAAP8AAADeAAAACAAAAAAA + AABUAAAA+QAAAP8AAAD/AAAA/wAAAP8AAAB5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoA + AAD2AAAA/gAAAP8AAAD+AAAAZwAAAFMAAAD5AAAA/gAAAP4AAAD/AAAA/gAAAP4AAADtAAAANwAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACSAAAA/gAAAP8AAAD+AAAA6wAAAPgAAAD/AAAA/gAAAP4A + AAD/AAAA/gAAAP4AAAD/AAAA7QAAADYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAA9AAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAPkAAACrAAAA/gAAAP8AAAD/AAAA/wAAAO8AAAA2AAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAkQAAAP8AAAD+AAAA/gAAAP4AAAD/AAAA+AAAAFcAAAABAAAAhAAAAP4A + AAD/AAAA/gAAAP4AAADtAAAANwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAPQAAAD+AAAA/gAAAP4A + AAD5AAAAVwAAAAAAAAAAAAAAAQAAAIUAAAD/AAAA/gAAAP4AAAD/AAAA7QAAADYAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAI4AAAD/AAAA/wAAAPkAAABVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACFAAAA/gAAAP8A + AAD/AAAA/wAAAO8AAAA2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAACHAAAAsAAAAEgAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAABAAAAhAAAAP4AAAD/AAAA/gAAAP4AAADtAAAANwAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAIUAAAD/AAAA/gAAAP4A + AAD/AAAA7QAAADYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACFAAAA/gAAAP8AAAD/AAAA/wAAAO8AAAA2AAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAhAAAAP4AAAD/AAAA/gAAAP4A + AADtAAAANwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAQAAAIUAAAD/AAAA/gAAAP4AAAD/AAAA7QAAADYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACFAAAA/gAAAP8AAAD/AAAA/wAAAO8A + AAA2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAABAAAAhAAAAP4AAAD/AAAA/gAAAP8AAADtAAAANwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAIUAAAD/AAAA/wAAAP8AAAD/AAAA7QAAADYA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACFAAAA/gAAAP8AAAD+AAAA/gAAAO8AAAA2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAvAAAAQAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAhAAAAP4AAAD+AAAA/gAAAP8AAADtAAAANwAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAD9AAAA/gAAALsAAAALAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAIUA + AAD/AAAA/wAAAP8AAAD/AAAA7QAAADYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAP0A + AAD/AAAA/wAAAP8AAAC8AAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACFAAAA/gAAAP8AAAD+AAAA/gAAAO8AAAA2AAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAB+AAAA/gAAAP8AAAD+AAAA/gAAAP8AAAD+AAAAvQAAAAwAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAhAAAAP4A + AAD+AAAA/gAAAP8AAADtAAAANwAAAAAAAAAAAAAAAAAAAH0AAAD+AAAA/gAAAP8AAAD+AAAA/gAAAP8A + AAD+AAAA/gAAAL0AAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAQAAAIUAAAD/AAAA/wAAAP8AAAD/AAAA7QAAADYAAAAAAAAAfQAAAP0A + AAD/AAAA/wAAAP8AAADwAAAA1AAAAP8AAAD/AAAA/wAAAP8AAAC8AAAACwAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACFAAAA/gAAAP8A + AAD+AAAA/gAAAO8AAACVAAAA/gAAAP8AAAD+AAAA/gAAAPAAAAA6AAAAEwAAAMwAAAD+AAAA/gAAAP8A + AAD+AAAAvQAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAABAAAAhAAAAP4AAAD+AAAA/gAAAP8AAAD+AAAA/gAAAP8AAAD+AAAA7wAAADwA + AAAAAAAAAAAAABMAAADNAAAA/gAAAP8AAAD+AAAA/gAAAL0AAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAIUAAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAP8AAADwAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAzQAAAP8AAAD/AAAA/wAAAP8A + AAC8AAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAC/AAAA/gAAAP8AAAD+AAAA/gAAAPAAAAA6AAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAEwAAAMwAAAD+AAAA/gAAAP4AAAD/AAAAvQAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAD+AAAA/gAAAP8AAAD+AAAA7wAAADwA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAADNAAAA/gAAAP4AAAD/AAAA/gAAAL0A + AAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAP0A + AAD/AAAA/wAAAP8AAADwAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAUAAAAzQAAAP8AAAD/AAAA/wAAAP8AAAC8AAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAB+AAAA/gAAAP8AAAD+AAAA/gAAAPAAAAA6AAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwAAAMwAAAD/AAAA/gAAAP4AAAD/AAAAvQAAAAwA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAD+AAAA/gAAAP8AAAD+AAAA7wAAADwA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMA + AADNAAAA/gAAAP4AAAD/AAAA/gAAAL0AAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAP0A + AAD/AAAA/wAAAP8AAADwAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAzQAAAP8AAAD/AAAA/wAAAP8AAAC8AAAACwAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABMAAAA/gAAAP8AAAD+AAAA/gAAAPAAAAA6AAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwAAAMwA + AAD/AAAA/gAAAP4AAAD/AAAAvQAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAA/gAAAP8AAAD+AAAA/gAAAJgA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXwAAAN0AAADKAAAALwAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAADNAAAA/gAAAP4AAAD/AAAA/gAAAL0AAAALAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAArAAAA8wAAAP8AAAD/AAAA/wAAAP0AAAB1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAARAAAA9QAAAP8AAAD/AAAA6AAAAC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAzQAAAP8A + AAD/AAAA/wAAAP8AAAC8AAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQQAAAPIAAAD+AAAA/gAAAP8AAAD9AAAAdwAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAAAA+QAAAP8AAAD+AAAA/gAAAOoAAAAvAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAEwAAAMwAAAD/AAAA/gAAAP4AAAD/AAAAvQAAAAwAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEA + AADzAAAA/gAAAP8AAAD+AAAA/QAAAHcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAP4A + AAD+AAAA/gAAAP8AAADoAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAADNAAAA/gAAAP4A + AAD/AAAA/gAAAL0AAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCAAAA8wAAAP8AAAD/AAAA/wAAAP0AAAB1AAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAQAAAIUAAAD/AAAA/wAAAP8AAAD/AAAA6AAAAC8AAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAUAAAAzQAAAP8AAAD/AAAA/wAAAP8AAAC8AAAACwAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQQAAAPIA + AAD+AAAA/gAAAP8AAAD9AAAAdwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACFAAAA/gAAAP8A + AAD+AAAA/gAAAOoAAAAvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwAAAMwAAAD/AAAA/gAAAP4A + AAD/AAAAvQAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEAAADzAAAA/gAAAP8AAAD+AAAA/QAAAHcAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAABAAAAhAAAAP4AAAD+AAAA/gAAAP4AAADoAAAAMAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAABMAAADNAAAA/gAAAP4AAAD/AAAA/gAAAL0AAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCAAAA8wAAAP8A + AAD+AAAA/gAAAP0AAAB1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAIUAAAD+AAAA/gAAAP4A + AAD/AAAA6AAAAC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAzQAAAP4AAAD/AAAA/gAAAP4A + AAC8AAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAQQAAAPIAAAD/AAAA/wAAAP8AAAD9AAAAdwAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACFAAAA/gAAAP8AAAD/AAAA/wAAAOoAAAAvAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAEwAAAMwAAAD/AAAA/wAAAP8AAAD/AAAAvQAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEAAADzAAAA/gAAAP8A + AAD+AAAA/QAAAHcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAhAAAAP4AAAD/AAAA/gAAAP4A + AADoAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAADNAAAA/gAAAP4AAAD/AAAA/gAAAL0A + AAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABCAAAA8wAAAP8AAAD+AAAA/gAAAP0AAAB1AAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAQAAAIUAAAD/AAAA/gAAAP4AAAD/AAAA6AAAAC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAUAAAAzQAAAP4AAAD/AAAA/gAAAP4AAAC8AAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQQAAAPIAAAD/AAAA/wAAAP8A + AAD9AAAAdwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACFAAAA/gAAAP8AAAD/AAAA/wAAAOoA + AAAvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwAAAMwAAAD/AAAA/wAAAP8AAAD/AAAAvQAAAAwA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAEEAAADzAAAA/gAAAP8AAAD+AAAA/QAAAHcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAABAAAAhAAAAP4AAAD/AAAA/gAAAP4AAADoAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMA + AADNAAAA/gAAAP4AAAD/AAAA/gAAAL0AAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCAAAA8wAAAP8AAAD+AAAA/gAAAP0A + AAB1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAIUAAAD/AAAA/gAAAP4AAAD/AAAA6AAAAC8A + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAzQAAAP4AAAD/AAAA/gAAAP4AAAC8AAAACwAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAQQAAAPIAAAD/AAAA/wAAAP8AAAD9AAAAdwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACFAAAA/gAAAP8AAAD/AAAA/wAAAOoAAAAvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwAAAMwA + AAD/AAAA/wAAAP8AAAD/AAAAvQAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEAAADzAAAA/gAAAP8AAAD+AAAA/QAAAHcA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAhAAAAP4AAAD/AAAA/gAAAP4AAADoAAAAMAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAADNAAAA/gAAAP4AAAD/AAAA/gAAAL0AAAALAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AABCAAAA8wAAAP8AAAD+AAAA/gAAAP0AAAB1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAIUA + AAD/AAAA/gAAAP4AAAD/AAAA6AAAAC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAzQAAAP4A + AAD/AAAA/gAAAP4AAAC8AAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQQAAAPIAAAD/AAAA/wAAAP8AAAD9AAAAdwAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACFAAAA/gAAAP8AAAD/AAAA/wAAAOoAAAAvAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAEwAAAMwAAAD/AAAA/wAAAP8AAAD/AAAAvQAAAAwAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEA + AADzAAAA/gAAAP8AAAD+AAAA/QAAAHcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAhAAAAP4A + AAD/AAAA/gAAAP4AAADoAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAADNAAAA/gAAAP4A + AAD/AAAA/gAAAL0AAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCAAAA8wAAAP8AAAD+AAAA/gAAAP0AAAB1AAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAQAAAIUAAAD/AAAA/gAAAP4AAAD/AAAA6AAAAC8AAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAUAAAAzQAAAP4AAAD/AAAA/gAAAP4AAAC8AAAACwAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQQAAAPIA + AAD/AAAA/wAAAP8AAAD9AAAAdwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACFAAAA/gAAAP8A + AAD/AAAA/wAAAOoAAAAvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwAAAMwAAAD/AAAA/wAAAP8A + AAD/AAAAvQAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEAAADzAAAA/gAAAP4AAAD/AAAA/QAAAHcAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAABAAAAhAAAAP4AAAD/AAAA/gAAAP4AAADoAAAAGAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAABMAAADNAAAA/gAAAP4AAAD/AAAA/gAAAL0AAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCAAAA8wAAAP4A + AAD/AAAA/gAAAP0AAAB1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAIUAAAD/AAAA/gAAAP4A + AAD/AAAAUgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAzQAAAP4AAAD/AAAA/gAAAP4A + AAC+AAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAQQAAAPIAAAD/AAAA/wAAAP8AAAD9AAAAdwAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACFAAAA/gAAAP8AAADxAAAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAEwAAAMwAAAD/AAAA/wAAAP8AAAD/AAAAtwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEAAADzAAAA/gAAAP4A + AAD/AAAA/QAAAHcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAUwAAAIQAAAAwAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG0AAAD/AAAA/gAAAP4AAAD/AAAA/gAAAIAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABCAAAA8wAAAP4AAAD/AAAA/gAAAP0AAAB1AAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAPoA + AAD/AAAA/gAAAP4AAAD/AAAA/gAAAPgAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQQAAAPIAAAD/AAAA/wAAAP8A + AAD9AAAAdwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABeAAAA+wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACbAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAEEAAADzAAAA/gAAAP4AAAD/AAAA/QAAAHcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAD7AAAA/gAAAP4AAAD/AAAA+AAAAJ4A + AAD/AAAA/gAAAP4AAADuAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCAAAA8wAAAP4AAAD/AAAA/gAAAP0A + AAB1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAPoA + AAD/AAAA/gAAAP4AAAD5AAAAVwAAAAMAAADkAAAA/gAAAP4AAAD/AAAAQQAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAQQAAAPIAAAD/AAAA/wAAAP8AAAD9AAAAdwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABeAAAA+wAAAP8AAAD/AAAA/wAAAPkAAABVAAAAAAAAAAAAAACfAAAA/wAAAP8A + AAD/AAAAbgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEAAADzAAAA/gAAAP4AAAD/AAAA/QAAAHcA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAD7AAAA/gAAAP4AAAD/AAAA+AAAAFcA + AAAAAAAAAAAAAAAAAAB6AAAA/gAAAP4AAAD/AAAAhgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AABCAAAA8wAAAP4AAAD/AAAA/gAAAP0AAAB1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAPoA + AAD/AAAA/gAAAP4AAAD5AAAAVwAAAAAAAAAAAAAAAAAAAAAAAAB2AAAA/gAAAP4AAAD/AAAAiAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQQAAAPIAAAD/AAAA/wAAAP8AAAD9AAAAdwAAAAAA + AAAAAAAAAAAAAAAAAABeAAAA+wAAAP8AAAD/AAAA/wAAAPkAAABVAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACVAAAA/wAAAP8AAAD/AAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEA + AADzAAAA/gAAAP4AAAD/AAAA/QAAAHcAAAAAAAAAAAAAAF0AAAD7AAAA/gAAAP4AAAD/AAAA+AAAAFcA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADWAAAA/gAAAP4AAAD/AAAASwAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCAAAA8wAAAP4AAAD/AAAA/gAAAP0AAAB1AAAAXQAAAPoA + AAD/AAAA/gAAAP4AAAD5AAAAVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAD/AAAA/gAAAP4A + AAD2AAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQQAAAPIA + AAD/AAAA/wAAAP8AAAD+AAAA/QAAAP8AAAD/AAAA/wAAAPkAAABVAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAACgAAANAAAAD/AAAA/wAAAP8AAACuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEAAADzAAAA/gAAAP4AAAD/AAAA/gAAAP4AAAD/AAAA+AAAAFcA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAArAAAAP4AAAD/AAAA/gAAAP0AAAA4AAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCAAAA8wAAAP4A + AAD/AAAA/gAAAP4AAAD+AAAAbwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMAAADIAAAA/gAAAP4A + AAD/AAAA/gAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAQQAAAPIAAAD/AAAA/wAAAP8AAAD/AAAA+AAAALEAAAByAAAAWAAAAFsA + AAB+AAAAwgAAAP0AAAD/AAAA/wAAAP8AAAD/AAAA0AAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEMAAADsAAAA/gAAAP4A + AAD/AAAA/gAAAP4AAAD/AAAA/gAAAP4AAAD/AAAA/gAAAP4AAAD/AAAA/gAAAP4AAADTAAAAHAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAmAAAAyQAAAP4AAAD/AAAA/gAAAP4AAAD/AAAA/gAAAP4AAAD/AAAA/gAAAP4A + AAD/AAAA/gAAAKkAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAF0AAADPAAAA/AAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoAAAC6AAAAQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAABAAAAKQAAAGUAAACMAAAAnwAAAJ0AAACGAAAAWQAAAB0AAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAD///////////////////////////////////////////////////////////////// + D//////////////+A//////////////8AP/////////////4AD/////////////wAA/////////////w + AAP////////////wMAD////////////wPAB////////////4HwA////////////4H8A////////////8 + D+A////////////8D8B////////////+B4D////////////+BwH/////////////AgP///////////// + AAH/////////////gAD/////////////gAB/////////////wAA/////////////wGAf//////////// + 4PgP////////////4fgH//////////////wD//////////////8B//////////////8A//////////// + //+Af//////////////gP//////////////gH//////////////wD//////////////8B/8f//////// + ///8A/4P///////////+AfwH////////////gPgD////////////gHAB////////////wCAA//////// + ////8AAAf///////////8ADAP///////////+AHgH////////////gPwD////////////Af4B/////// + ////+A/8A///////////8B/+Af//////////4D//AP//////////wH//gH//////////gP/fwD////// + ////gf+H4B//////////gP8D8A//////////wH8B+Af/////////4D+A/AP/////////8B+AfgH///// + ////+A/gPwD//////////AfgH4B//////////gPwD8A//////////wH8B+Af/////////4D8A/AP//// + /////8B+AfgH/////////+A/gPwD//////////AfgH4B//////////gPwD8A//////////wH8B+Af/// + //////4D8A/AP/////////8B+AfgH/////////+A/gPwD//////////AfgH4B//////////gPwD8A/// + ///////wH8B+Af/////////4D8A/AP/////////8B+A/gH/////////+A/g/wD//////////Afh/4D// + ////////gP//wB//////////wH//gB//////////4D//AA//////////8B/+AA//////////+A/8Bg// + /////////Af4Dg///////////gPwHg///////////wHgPg///////////4DAfg///////////8AA/A// + /////////+AB+B////////////AD8B////////////gH4D////////////wAAD////////////4AAH// + //////////8AAP////////////+AA//////////////gD/////////////////////////////////// + //////////////////////////////8oAAAASAAAAJAAAAABACAAAAAAAGBUAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQQAAALAA + AABzAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJAAAA9gAAAP4AAAD/AAAA4gAAAGQA + AAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEkAAAD1AAAA/gAAAP4AAAD/AAAA/gAAAP4AAADWAAAAVAAAAAIA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAPgAAAPYAAAD+AAAA/gAAAOEAAADlAAAA/gAAAP4AAAD+AAAA/gAAAMkAAABEAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoQAAAP4A + AAD+AAAA5AAAACAAAAALAAAAegAAAO4AAAD+AAAA/gAAAP4AAAD+AAAAuwAAADUAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAP8AAAD/AAAA7QAAAA8A + AAAAAAAAAAAAABMAAACKAAAA9QAAAP8AAAD/AAAA/wAAAP0AAACrAAAAJAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAANcAAAD+AAAA/gAAAH0AAAAAAAAAAAAAAAAA + AAAAAAAAHAAAAJoAAAD6AAAA/gAAAP4AAAD/AAAA7AAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAD+AAAA/gAAAO0AAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAA5AAAA+QAAAP4AAAD/AAAA+QAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAQAAADXAAAA/gAAAP4AAAB9AAAAAAAAAAAAAAAAAAAAAAAAABEAAADIAAAA/gAAAP4A + AAD8AAAAXwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AABdAAAA/gAAAP4AAADtAAAADwAAAAAAAAAAAAAAEQAAAMgAAAD+AAAA/gAAAPsAAABgAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAA1wAAAP4A + AAD/AAAAfQAAAAAAAAARAAAAyAAAAP4AAAD+AAAA/AAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAP4AAAD/AAAA7QAAACAA + AADIAAAA/gAAAP4AAAD+AAAA/QAAAHsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAANgAAAD/AAAA/gAAAPAAAAD+AAAA/gAAAP4A + AAD+AAAA/gAAAP4AAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAD/AAAA/gAAAP4AAAD+AAAA+wAAAGcAAAC5AAAA/gAAAP4A + AAD+AAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAMAAADYAAAA/wAAAP8AAAD8AAAAYAAAAAAAAAAJAAAAugAAAP8AAAD/AAAA/gAAAHwA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AABVAAAA/gAAAPsAAABfAAAAAAAAAAAAAAAAAAAACQAAALkAAAD/AAAA/gAAAP4AAAB8AAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAACoA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAC5AAAA/gAAAP4AAAD+AAAAfAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAJAAAAugAAAP4AAAD+AAAA/gAAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAACQAAALkAAAD+AAAA/gAAAP4AAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoA + AAC5AAAA/gAAAP4AAAD+AAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAuQAAAP4A + AAD+AAAA/gAAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAALkAAAD+AAAA/gAAAP4A + AAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAC5AAAA/gAAAP4AAAD+AAAAfAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAApwAAAIsAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAugAAAP8AAAD/AAAA/gAAAHwAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAB8AAADeAAAA/wAAAP8AAACwAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAACQAAALkAAAD/AAAA/gAAAP4AAAB8AAAAAAAAAAAAAAAAAAAAHwAAAN4A + AAD/AAAA/gAAAP4AAAD+AAAAsAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAkAAAC5AAAA/gAAAP4AAAD+AAAAfAAAAAAAAAAgAAAA3QAAAP4AAAD/AAAA+wAAAP4A + AAD+AAAA/gAAALAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAJAAAAugAAAP4AAAD+AAAA/gAAAIoAAADdAAAA/gAAAP4AAAD3AAAASgAAAIgAAAD+AAAA/gAAAP4A + AACvAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAALkA + AAD+AAAA/gAAAP4AAAD+AAAA/gAAAPYAAABKAAAAAAAAAAAAAACIAAAA/gAAAP4AAAD+AAAArwAAAAcA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAC8AAAA/gAAAP4A + AAD+AAAA9gAAAEoAAAAAAAAAAAAAAAAAAAABAAAAiAAAAP4AAAD+AAAA/gAAALAAAAAGAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAADdAAAA/gAAAP4AAAD2AAAASgAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAQAAAIgAAAD+AAAA/gAAAP4AAACwAAAABgAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAHwAAAN0AAAD+AAAA/gAAAPYAAABKAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAEAAACIAAAA/gAAAP4AAAD+AAAAsAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAfAAAA3gAAAP4AAAD+AAAA9gAAAEoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAiAAAAP4AAAD+AAAA/wAAAK8AAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAADeAAAA/wAAAP8A + AAD3AAAASgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgA + AAD+AAAA/wAAAP8AAACwAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMIAAAD/AAAA/gAAAPcAAABJAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIAAAA/gAAAP4A + AAD+AAAAsAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMQAAAD/AAAA/gAAAPQAAABDAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAIgAAAO8AAAD9AAAAcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAP4AAAD+AAAA/gAAALAA + AAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACQAAADiAAAA/gAAAP4AAAD0AAAAQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATwAAAP4A + AAD+AAAA/QAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAD+AAAA/gAAAP4AAACvAAAABwAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAkAAAA4gAAAP4AAAD+AAAA8wAAAEMAAAAAAAAAAAAAAAAAAAAAAAAABgAAALkAAAD+AAAA/gAAAP0A + AAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIAAAA/gAAAP4AAAD+AAAArwAAAAcAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAAOIA + AAD+AAAA/gAAAPMAAABDAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAC5AAAA/gAAAP4AAAD9AAAAdAAAAAAA + AAAAAAAAAAAAAAAAAAABAAAAiAAAAP4AAAD+AAAA/gAAALAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUAAADiAAAA/gAAAP4A + AADzAAAAQwAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAuQAAAP4AAAD+AAAA/QAAAHMAAAAAAAAAAAAAAAAA + AAAAAAAAAQAAAIgAAAD+AAAA/gAAAP4AAACwAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlAAAA4gAAAP4AAAD+AAAA9AAAAEMA + AAAAAAAAAAAAAAAAAAAAAAAACgAAALkAAAD+AAAA/gAAAP4AAABzAAAAAAAAAAAAAAAAAAAAAAAAAAEA + AACIAAAA/gAAAP4AAAD+AAAAsAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAAOIAAAD+AAAA/gAAAPQAAABCAAAAAAAAAAAA + AAAAAAAAAAAAAAoAAAC5AAAA/gAAAP4AAAD+AAAAcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAP4A + AAD+AAAA/wAAAK8AAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACUAAADiAAAA/gAAAP4AAAD0AAAAQgAAAAAAAAAAAAAAAAAAAAAA + AAAJAAAAugAAAP4AAAD+AAAA/gAAAHMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAD+AAAA/wAAAP4A + AACwAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAkAAAA4gAAAP8AAAD/AAAA9AAAAEIAAAAAAAAAAAAAAAAAAAAAAAAACQAAALkA + AAD/AAAA/wAAAP4AAABzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIAAAA/gAAAP8AAAD/AAAAsAAAAAYA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAJAAAAOIAAAD/AAAA/gAAAPQAAABDAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAC5AAAA/wAAAP4A + AAD+AAAAcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAP4AAAD+AAAA/gAAALAAAAAHAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQA + AADiAAAA/gAAAP4AAAD0AAAAQwAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAugAAAP4AAAD+AAAA/QAAAHQA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAD+AAAA/gAAAP4AAACvAAAABwAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAA4gAAAP4A + AAD+AAAA8wAAAEMAAAAAAAAAAAAAAAAAAAAAAAAACQAAALkAAAD+AAAA/gAAAP0AAAB0AAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACIAAAA/gAAAP4AAAD+AAAArwAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAAOIAAAD+AAAA/gAAAPMA + AABDAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAC5AAAA/gAAAP4AAAD9AAAAdAAAAAAAAAAAAAAAAAAAAAAA + AAABAAAAiAAAAP4AAAD+AAAA/gAAALAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUAAADiAAAA/gAAAP4AAADzAAAAQwAAAAAA + AAAAAAAAAAAAAAAAAAAKAAAAuQAAAP4AAAD+AAAA/QAAAHMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAIgA + AAD+AAAA/gAAAP4AAACwAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlAAAA4gAAAP4AAAD+AAAA9AAAAEMAAAAAAAAAAAAAAAAA + AAAAAAAACgAAALkAAAD+AAAA/gAAAP4AAABzAAAAAAAAAAAAAAAAAAAAAAAAAAEAAACIAAAA/gAAAP4A + AAD+AAAAsAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAJQAAAOIAAAD+AAAA/gAAAPQAAABCAAAAAAAAAAAAAAAAAAAAAAAAAAoA + AAC5AAAA/gAAAP4AAAD+AAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAP4AAAD+AAAA/wAAAK8A + AAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACUAAADiAAAA/gAAAP4AAAD0AAAAQgAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAugAAAP4A + AAD+AAAA9QAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAD+AAAA/wAAAP4AAACwAAAACAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAkAAAA4gAAAP8AAAD/AAAA9AAAAEIAAAAAAAAAAAAAAAAAAAAAAAAACQAAALcAAAD+AAAAsgAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACJAAAA/wAAAP8AAAD/AAAApQAAAAEAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAOIA + AAD+AAAA/wAAAPQAAABDAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAhAAAAAgAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAMAAACgAAAA/wAAAP4AAAD+AAAA/gAAAF0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAADiAAAA/wAAAP4A + AAD0AAAAQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAJ8A + AAD+AAAA/wAAAP4AAAD+AAAA/gAAAN8AAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAA4gAAAP4AAAD+AAAA8wAAAEMA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAnwAAAP4AAAD+AAAA/gAAAJ4A + AADmAAAA/gAAAP4AAABFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAAOIAAAD+AAAA/gAAAPMAAABDAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAACfAAAA/gAAAP4AAAD+AAAAmgAAAAIAAACPAAAA/gAAAP4A + AACDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACUAAADiAAAA/gAAAP4AAADzAAAAQwAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAwAAAJ8AAAD+AAAA/gAAAP4AAACaAAAAAgAAAAAAAABfAAAA/gAAAP4AAACiAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAlAAAA4gAAAP4AAAD+AAAA9AAAAEMAAAAAAAAAAAAAAAAAAAADAAAAnwAAAP4A + AAD+AAAA/gAAAJoAAAACAAAAAAAAAAAAAABbAAAA/gAAAP4AAACkAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAJQAAAOIAAAD+AAAA/gAAAPQAAABCAAAAAAAAAAMAAACfAAAA/gAAAP4AAAD+AAAAmgAAAAIA + AAAAAAAAAAAAAAAAAACFAAAA/gAAAP4AAACJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUA + AADiAAAA/gAAAP4AAAD0AAAARAAAAKAAAAD+AAAA/gAAAP4AAACaAAAAAgAAAAAAAAAAAAAAAAAAAAUA + AADcAAAA/gAAAP4AAABPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAA4gAAAP8A + AAD/AAAA/QAAAP8AAAD/AAAA/gAAAJoAAAACAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAD/AAAA/wAAAOkA + AAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAOIAAAD+AAAA/wAAAP4A + AAD+AAAAmgAAAAIAAAAAAAAAAAAAAAAAAAADAAAAdgAAAP0AAAD+AAAA/gAAAHMAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAADiAAAA/wAAAP4AAAD+AAAAwQAAAGsA + AABEAAAARwAAAHUAAADSAAAA/wAAAP4AAAD+AAAAuwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlAAAA2AAAAP4AAAD+AAAA/gAAAP4AAAD+AAAA/gAAAP4A + AAD+AAAA/wAAAP4AAAC/AAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAADgAAAJIAAAD2AAAA/gAAAP4AAAD+AAAA/gAAAP4AAAD+AAAA7gAAAHoA + AAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAXAAAAZQAAAJwAAAC1AAAAswAAAJUAAABaAAAADgAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////AAAA//////////// + AAAA////////////AAAA/D//////////AAAA+A//////////AAAA8AP/////////AAAA4AH///////// + AAAA4AB/////////AAAA4MAf////////AAAA4PAP////////AAAA8HwP////////AAAA8Hgf//////// + AAAA+DA/////////AAAA+CB/////////AAAA/AB/////////AAAA/AA/////////AAAA/gAf//////// + AAAA/gQP////////AAAA/w4H////////AAAA/58D////////AAAA//+B////////AAAA///A//////// + AAAA///gf///////AAAA///wP///////AAAA///4H///////AAAA///8D+H/////AAAA///+B8D///// + AAAA////A4B/////AAAA////gQA/////AAAA////wAAf////AAAA////4AwP////AAAA////8BwH//// + AAAA////8D4D////AAAA////4H8B////AAAA////wP/A////AAAA////gf/gf///AAAA////g/nwP/// + AAAA////g/D4H///AAAA////gfB8D///AAAA////wPA+B///AAAA////4HgeA///AAAA////8DwPAf// + AAAA////+B4HgP//AAAA/////A8D4H//AAAA/////geB8D//AAAA/////wPA+B//AAAA/////4HgfA// + AAAA/////8DwPgf/AAAA/////+B4HwP/AAAA//////A8DwH/AAAA//////geB4D/AAAA//////wPA8B/ + AAAA//////4HgfA/AAAA//////8DwPgfAAAA//////+B4fwPAAAA///////A8fgPAAAA///////gf/AH + AAAA///////wP+AHAAAA///////4H8AHAAAA///////8D4CHAAAA///////+BwGHAAAA////////AgOH + AAAA////////gAcHAAAA////////wA8HAAAA////////4BwPAAAA////////8AAPAAAA////////+AAf + AAAA/////////AA/AAAA/////////wD/AAAA////////////AAAA////////////AAAA//////////// + AAAAKAAAAEAAAACAAAAAAQAgAAAAAAAAQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAIAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZAAAAPoA + AADbAAAAWQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAZQAAAP0AAAD/AAAA/wAAAP8AAADPAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAYwAAAP0AAAD/AAAA/QAAAPsAAAD/AAAA/wAAAP8AAADAAAAAOAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAPcAAAD/AAAA/QAAAGUAAAAoAAAArAAAAP4A + AAD/AAAA/wAAAP4AAACvAAAAKwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKAAAA/wAAAP4A + AAAwAAAAAAAAAAAAAAA2AAAAvQAAAP8AAAD/AAAA/wAAAPwAAACfAAAAHAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAASwAAAP8AAAD/AAAArwAAAAAAAAAAAAAAAAAAAAAAAABFAAAAzAAAAP8AAAD/AAAA/wAAAOAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKAAAA/wAAAP4AAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAYA + AADTAAAA/wAAAP8AAADcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASwAAAP8AAAD/AAAArwAAAAAA + AAAAAAAAAAAAAAUAAACuAAAA/wAAAP8AAADkAAAAJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADKAAAA/wAAAP4AAAAwAAAAAAAAAAUAAACuAAAA/wAAAP8AAADkAAAAJgAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAASwAAAP8AAAD/AAAArwAAAAUAAACuAAAA/wAAAP8AAAD/AAAAaAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKAAAA/wAAAP4AAADBAAAA/wAAAP8A + AAD/AAAA/wAAAPgAAABKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASwAAAP8A + AAD/AAAA/wAAAP8AAADkAAAAlAAAAP8AAAD/AAAA+AAAAEoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADKAAAA/wAAAP8AAADkAAAAJgAAAAAAAACDAAAA/wAAAP8AAAD4AAAASgAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQwAAAPoAAADjAAAAJgAAAAAAAAAAAAAAAAAAAIMA + AAD/AAAA/wAAAPgAAABKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAAAACgAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAgwAAAP8AAAD/AAAA+AAAAEoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDAAAA/wAAAP8AAAD4AAAASgAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIMA + AAD/AAAA/wAAAPgAAABKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAgwAAAP8AAAD/AAAA+AAAAEoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDAAAA/wAAAP8AAAD4AAAASgAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIMA + AAD/AAAA/wAAAPgAAABKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAHoAAABHAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAgwAAAP8AAAD/AAAA+AAAAEoAAAAAAAAAAAAAAAAAAAAAAAAADQAAAMUA + AAD/AAAA/AAAAF4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDAAAA/wAAAP8AAAD4AAAASgAAAAAA + AAAAAAAADQAAAMUAAAD/AAAA/wAAAP8AAAD8AAAAXgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIMA + AAD/AAAA/wAAAPgAAABKAAAADQAAAMUAAAD/AAAA/wAAAOYAAAD+AAAA/wAAAPwAAABeAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAgwAAAP8AAAD/AAAA+AAAAM8AAAD/AAAA/wAAANgAAAAaAAAAbAAAAP4A + AAD/AAAA/AAAAF4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDAAAA/wAAAP8AAAD/AAAA/wAAANgA + AAAaAAAAAAAAAAAAAABsAAAA/gAAAP8AAAD8AAAAXgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAOIA + AAD/AAAA/wAAANgAAAAaAAAAAAAAAAAAAAAAAAAAAAAAAGwAAAD+AAAA/wAAAPwAAABeAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAADQAAAMUAAAD/AAAA/wAAANgAAAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAP4A + AAD/AAAA/AAAAF4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAADQAAAMUAAAD/AAAA/wAAANgAAAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABsAAAA/gAAAP8AAAD8AAAAXgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAMUAAAD/AAAA/wAAANgAAAAaAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGwAAAD+AAAA/wAAAPwAAABeAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJMAAAD/AAAA/wAAANsA + AAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAACIAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAP4A + AAD/AAAA/AAAAF4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAB9AAAA/wAAAP8AAADuAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQAAAP4AAAD2AAAARAAAAAAA + AAAAAAAAAAAAAAAAAABsAAAA/gAAAP8AAAD8AAAAXgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAgAAAKAAAAD/AAAA/wAAAO4AAAA0AAAAAAAAAAAAAAAAAAAAAAAAAE0A + AAD/AAAA/wAAAPYAAABEAAAAAAAAAAAAAAAAAAAAAAAAAGwAAAD+AAAA/wAAAPwAAABeAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAoAAAAP8AAAD/AAAA7gAAADQA + AAAAAAAAAAAAAAAAAAAAAAAAgwAAAP8AAAD/AAAA9gAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAP4A + AAD/AAAA/AAAAF4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIA + AACgAAAA/wAAAP8AAADuAAAANAAAAAAAAAAAAAAAAAAAAAAAAACDAAAA/wAAAP8AAAD2AAAARAAAAAAA + AAAAAAAAAAAAAAAAAABsAAAA/gAAAP8AAAD8AAAAXgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAgAAAKAAAAD/AAAA/wAAAO4AAAA0AAAAAAAAAAAAAAAAAAAAAAAAAIMA + AAD/AAAA/wAAAPYAAABEAAAAAAAAAAAAAAAAAAAAAAAAAGwAAAD+AAAA/wAAAPwAAABeAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAoAAAAP8AAAD/AAAA7gAAADQA + AAAAAAAAAAAAAAAAAAAAAAAAgwAAAP8AAAD/AAAA9gAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAP4A + AAD/AAAA/AAAAF4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIA + AACgAAAA/wAAAP8AAADuAAAANAAAAAAAAAAAAAAAAAAAAAAAAACDAAAA/wAAAP8AAAD2AAAARAAAAAAA + AAAAAAAAAAAAAAAAAABsAAAA/gAAAP8AAAD8AAAAXgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAgAAAKAAAAD/AAAA/wAAAO4AAAA0AAAAAAAAAAAAAAAAAAAAAAAAAIMA + AAD/AAAA/wAAAPYAAABEAAAAAAAAAAAAAAAAAAAAAAAAAGwAAAD+AAAA/wAAAPwAAABeAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAoAAAAP8AAAD/AAAA7gAAADQA + AAAAAAAAAAAAAAAAAAAAAAAAgwAAAP8AAAD/AAAA9gAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAP4A + AAD/AAAA/AAAAF4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIA + AACgAAAA/wAAAP8AAADuAAAANAAAAAAAAAAAAAAAAAAAAAAAAACDAAAA/wAAAP8AAAD2AAAARAAAAAAA + AAAAAAAAAAAAAAAAAABsAAAA/gAAAP8AAAD8AAAAXgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAgAAAKAAAAD/AAAA/wAAAO4AAAA0AAAAAAAAAAAAAAAAAAAAAAAAAIMA + AAD/AAAA/wAAAPYAAABEAAAAAAAAAAAAAAAAAAAAAAAAAGwAAAD+AAAA/wAAAPwAAABeAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAoAAAAP8AAAD/AAAA7gAAADQA + AAAAAAAAAAAAAAAAAAAAAAAAgwAAAP8AAAD/AAAA9gAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAP4A + AAD/AAAA/AAAAF4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIA + AACgAAAA/wAAAP8AAADuAAAANAAAAAAAAAAAAAAAAAAAAAAAAACDAAAA/wAAAP8AAAD2AAAARAAAAAAA + AAAAAAAAAAAAAAAAAABsAAAA/gAAAP8AAAD8AAAAXgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAgAAAKAAAAD/AAAA/wAAAO4AAAA0AAAAAAAAAAAAAAAAAAAAAAAAAIMA + AAD/AAAA/wAAAPYAAABEAAAAAAAAAAAAAAAAAAAAAAAAAGwAAAD+AAAA/wAAAPwAAABeAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAoAAAAP8AAAD/AAAA7gAAADQA + AAAAAAAAAAAAAAAAAAAAAAAAgwAAAP8AAAD/AAAA2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAP4A + AAD/AAAA/AAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIA + AACgAAAA/wAAAP8AAADuAAAANAAAAAAAAAAAAAAAAAAAAAAAAAB/AAAA+wAAAI8AAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABxAAAA/wAAAP8AAAD8AAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAgAAAKAAAAD/AAAA/wAAAO4AAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAMA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAtAAAAP8AAAD/AAAA/wAAAOkAAAAPAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAoAAAAP8AAAD/AAAA7gAAADQA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAtAAAAP8AAAD/AAAA+gAAAP8A + AAD/AAAAdwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIA + AACgAAAA/wAAAP8AAADuAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAtAAAAP8A + AAD/AAAA5AAAADMAAADzAAAA/wAAAMsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAgAAAKAAAAD/AAAA/wAAAO4AAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAGAAAAtAAAAP8AAAD/AAAA5AAAACYAAAAAAAAAuAAAAP8AAAD3AAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAoAAAAP8AAAD/AAAA7gAAADQA + AAAAAAAAAAAAAAAAAAAGAAAAtAAAAP8AAAD/AAAA5AAAACYAAAAAAAAAAAAAAKMAAAD/AAAA/wAAAAYA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIA + AACgAAAA/wAAAP8AAADuAAAANAAAAAAAAAAGAAAAtAAAAP8AAAD/AAAA5AAAACYAAAAAAAAAAAAAAAAA + AADCAAAA/wAAAPEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAgAAAKAAAAD/AAAA/wAAAO4AAAA7AAAAtAAAAP8AAAD/AAAA5AAAACYA + AAAAAAAAAAAAAAAAAAAcAAAA+gAAAP8AAAC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAoAAAAP8AAAD/AAAA/gAAAP8A + AAD/AAAA5AAAACYAAAAAAAAAAAAAAAAAAAACAAAAsQAAAP8AAAD/AAAAYQAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIA + AACgAAAA/wAAAP8AAAD/AAAA8AAAACYAAAAAAAAAAAAAAAAAAAAWAAAArAAAAP8AAAD/AAAA1AAAAAUA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAgAAAKEAAAD/AAAA/wAAAP8AAADZAAAAmwAAAJEAAACzAAAA9gAAAP8A + AAD/AAAA7gAAACoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAggAAAPsAAAD/AAAA/wAAAP8A + AAD/AAAA/wAAAP8AAAD/AAAA2AAAAC0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAArAAAAmQAAAOQAAAD/AAAA/wAAAPkAAADFAAAAaQAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAABUAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////// + /////P/////////4P/////////Af////////4Af////////AAf///////+GAf///////4eB////////w + 8H////////Dgf///////+ED////////4Af////////wA/////////AB////////+CD////////4cH/// + /////z4P/////////wf/////////g//////////B/////////+D/////////8H4////////4PB////// + //wYD////////gAH////////AAP///////+Awf///////4Hg////////A/B///////4H+D///////A/8 + H//////8H54P//////wfDwf//////A8Hg//////+B4PB//////8DweD//////4Hg8H//////wPB4P/// + ///geDwf//////A8Hg//////+B4PB//////8DweD//////4Hg8H//////wPB4P//////geDwf//////A + 8Hg//////+B4fB//////8Dx+D//////4HvwH//////wP+Af//////gfwB///////A+BH//////+BwMP/ + /////8CBx///////4AOH///////wBwf///////gOB////////AAP///////+AB////////+AP/////// + //H//////////////////////ygAAAAwAAAAYAAAAAEAIAAAAAAAgCUAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAlAAAALAAAAAzAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAACmAAAA/wAAAP4A + AAD9AAAAqQAAACYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAA + AAD/AAAA8AAAAJcAAAD1AAAA/wAAAPoAAACYAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAKIAAAD+AAAAnQAAAAAAAAAcAAAAmgAAAPoAAAD+AAAA9AAAAIgAAAAQAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACoAAAD8AAAA9gAAABwAAAAAAAAAAAAAACcAAACrAAAA/QAAAP8A + AACtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACoAAAA/wAAAJMAAAAAAAAAAAAAAAAA + AABoAAAA/QAAAP0AAABhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArAAAA/AAAAPcA + AAAbAAAAAAAAAGcAAAD9AAAA/QAAAGoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAqAAAAP4AAACTAAAAaAAAAP0AAAD/AAAA2QAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAKwAAAPwAAAD6AAAA/QAAAP0AAADpAAAA/wAAAMQAAAANAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKgAAAD/AAAA/QAAAGoAAAAhAAAA4AAAAP8A + AADEAAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUAAADNAAAAZgAAAAAA + AAAAAAAAIQAAAOAAAAD+AAAAxAAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACEAAADgAAAA/wAAAMQAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhAAAA4AAAAP4AAADEAAAADQAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIQAAAOAA + AAD/AAAAxAAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACEAAADgAAAA/wAAAMQAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAAQAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhAAAA4AAAAP4AAADEAAAADQAAAAAAAAAAAAAAAAAAAH4A + AAD+AAAAoAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIQAAAOAAAAD/AAAAxAAAAA0A + AAAAAAAAfgAAAP4AAAD/AAAA/wAAAKEAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEA + AADgAAAA/wAAAMQAAACEAAAA/gAAAPsAAACFAAAA8gAAAP4AAAChAAAAAwAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAhAAAA4AAAAP4AAAD+AAAA+wAAAFoAAAAAAAAAPQAAAPIAAAD+AAAAoQAAAAIA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjwAAAP4AAAD7AAAAWgAAAAAAAAAAAAAAAAAAADwA + AADyAAAA/wAAAKEAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAA/gAAAPsAAABaAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAA9AAAA8gAAAP4AAAChAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAD+AAAA+wAAAFoA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPQAAAPIAAAD+AAAAoQAAAAIAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMgAAAP4A + AAD/AAAAcQAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAagAAAAsAAAAAAAAAAAAAADwAAADyAAAA/wAAAKEA + AAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAACgAAAMkAAAD/AAAA3AAAAB0AAAAAAAAAAAAAAAAAAACFAAAA/wAAAMAAAAALAAAAAAAAAAAA + AAA9AAAA8gAAAP8AAAChAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADKAAAA/gAAANwAAAAdAAAAAAAAAAAAAAAgAAAA4AAAAP4A + AADAAAAACwAAAAAAAAAAAAAAPQAAAPIAAAD+AAAAoQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAyQAAAP4AAADcAAAAHQAAAAAA + AAAAAAAAIQAAAOAAAAD/AAAAwAAAAAwAAAAAAAAAAAAAADwAAADyAAAA/wAAAKEAAAACAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAMkA + AAD/AAAA3AAAAB0AAAAAAAAAAAAAACEAAADgAAAA/wAAAMAAAAALAAAAAAAAAAAAAAA9AAAA8gAAAP8A + AAChAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAABAAAADKAAAA/gAAANwAAAAdAAAAAAAAAAAAAAAhAAAA4AAAAP4AAADAAAAACwAAAAAA + AAAAAAAAPQAAAPIAAAD+AAAAoQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAyQAAAP4AAADcAAAAHQAAAAAAAAAAAAAAIQAAAOAA + AAD/AAAAwAAAAAwAAAAAAAAAAAAAADwAAADyAAAA/wAAAKEAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAMkAAAD/AAAA3AAAAB0A + AAAAAAAAAAAAACEAAADgAAAA/wAAAMAAAAALAAAAAAAAAAAAAAA9AAAA8gAAAP8AAAChAAAAAwAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAA + AADKAAAA/wAAANwAAAAdAAAAAAAAAAAAAAAhAAAA4AAAAP8AAADAAAAACwAAAAAAAAAAAAAAPQAAAPIA + AAD+AAAAoQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAQAAAAyQAAAP4AAADcAAAAHQAAAAAAAAAAAAAAIQAAAOAAAAD+AAAAwAAAAAwA + AAAAAAAAAAAAADwAAADyAAAA/gAAAKEAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAMkAAAD/AAAA3AAAAB0AAAAAAAAAAAAAACEA + AADgAAAA/wAAAMAAAAALAAAAAAAAAAAAAAA9AAAA8gAAAP8AAAChAAAAAwAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADKAAAA/wAAANwA + AAAdAAAAAAAAAAAAAAAhAAAA4AAAAP8AAACUAAAAAAAAAAAAAAAAAAAAPQAAAPIAAAD+AAAAoQAAAAMA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAQAAAAyQAAAP4AAADcAAAAHQAAAAAAAAAAAAAAIQAAALUAAABQAAAAAAAAAAAAAAAAAAAAAAAAAFMA + AAD+AAAA/gAAAI8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAEAAAAMkAAAD/AAAA3AAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAFwAAANQAAAD+AAAA/wAAAP0AAAAvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADKAAAA/wAAANwAAAAdAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAXAAAA1AAAAP8AAADSAAAAoQAAAP8AAACOAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAyQAAAP4A + AADcAAAAHQAAAAAAAAAAAAAAAAAAABcAAADUAAAA/gAAANIAAAAVAAAARgAAAP4AAAC8AAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAEAAAAMkAAAD+AAAA3AAAAB0AAAAAAAAAFwAAANQAAAD+AAAA0gAAABUAAAAAAAAAQgAAAP8A + AAC+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADKAAAA/wAAANwAAAA0AAAA1AAAAP8AAADSAAAAFQAAAAAA + AAAAAAAAhQAAAP8AAACUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAyQAAAP4AAAD+AAAA/gAAANIA + AAAVAAAAAAAAAAAAAAAvAAAA8wAAAP4AAAA5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAMkA + AAD+AAAA/gAAAIYAAAAyAAAANgAAAHwAAADxAAAA/wAAAJ8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAABAAAAC3AAAA/wAAAP8AAAD+AAAA/wAAAP8AAAD+AAAAowAAAAcAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASwAAAKIAAADKAAAAyAAAAJsAAAA/AAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAP///////wAA4f//////AADA + f/////8AAMAf/////wAAxAf/////AADDB/////8AAOOH/////wAA4Q//////AADwD/////8AAPAH//// + /wAA+AP/////AAD4wf////8AAP/g/////wAA//B/////AAD/+D////8AAP/8Hz///wAA//4OH///AAD/ + /wQP//8AAP//gAf//wAA///Ag///AAD//+HB//8AAP//w+D//wAA//+H8H//AAD//w8YP/8AAP//Bwwf + /wAA//+DBg//AAD//8GDB/8AAP//4MGD/wAA///wYMH/AAD///gwYP8AAP///BgwfwAA///+DBg/AAD/ + //8GDB8AAP///4MGDwAA////wYcHAAD////gx4cAAP////B/AwAA////+D4DAAD////8HAMAAP////4I + IwAA/////wBjAAD/////gMMAAP/////ABwAA/////+AHAAD/////+B8AAP///////wAA////////AAAo + AAAAIAAAAEAAAAABACAAAAAAAIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkA + AAB4AAAAFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAYAAAA1wAAAP0AAADzAAAAggAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAHEAAAD+AAAALwAAAHgAAADuAAAA6wAAAHEAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAEwAAAPEAAAB3AAAAAAAAABEAAACpAAAA/wAAAG8AAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhQAAAOoAAAAMAAAALgAAAOoAAAC7AAAACQAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAA8QAAAJ0AAADqAAAA/wAAAGoA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACFAAAA/wAAALsA + AACFAAAA/QAAAGMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAA + AAB/AAAACQAAAAAAAACBAAAA/QAAAGMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAA/QAAAGMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAA/QAAAGMAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAA/QAAAGMA + AAAAAAAAAAAAADgAAACvAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACBAAAA/QAAAGMAAAA4AAAA8AAAAPgAAADVAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACBAAAA/QAAAPMAAACyAAAAIQAAANkAAADVAAAAFwAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAD3AAAAsgAAAAYAAAAAAAAAGwAAANkAAADVAAAAFwAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAA8AAAALIAAAAGAAAAAAAAAAAAAAAAAAAAGwAAANkA + AADVAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMMAAADxAAAAEwAAAAAAAAAAAAAAXQAAAFcA + AAAAAAAAGwAAANkAAADVAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKQAAAOcAAADEAAAADQAAAAAA + AABzAAAA/AAAAF8AAAAAAAAAGwAAANkAAADVAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKQAAAOcA + AADEAAAADQAAAAAAAACBAAAA/AAAAF8AAAAAAAAAGwAAANkAAADVAAAAFwAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAKQAAAOcAAADEAAAADQAAAAAAAACBAAAA/AAAAF8AAAAAAAAAGwAAANkAAADVAAAAFwAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAKQAAAOcAAADEAAAADQAAAAAAAACBAAAA/AAAAF8AAAAAAAAAGwAAANkA + AADVAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKQAAAOcAAADEAAAADQAAAAAAAACBAAAA/AAAAF8A + AAAAAAAAGwAAANkAAADVAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKQAAAOcAAADEAAAADQAAAAAA + AACBAAAA/AAAAF8AAAAAAAAAGwAAANkAAADVAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKQAAAOcA + AADEAAAADQAAAAAAAACBAAAA/AAAAEcAAAAAAAAAGwAAANkAAADVAAAAGAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAKQAAAOcAAADEAAAADQAAAAAAAABfAAAAIwAAAAAAAAAAAAAASwAAAP8AAADMAAAAAwAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAKQAAAOcAAADEAAAADQAAAAAAAAAAAAAAAAAAADAAAADsAAAAxAAAAPwA + AABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKQAAAOcAAADEAAAADQAAAAAAAAAwAAAA7AAAALsA + AAAJAAAA1gAAAH8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKQAAAOcAAADEAAAAPQAAAOwA + AAC7AAAACQAAAAcAAADuAAAAawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKQAAAOcA + AAD+AAAAvgAAAAkAAAAFAAAAlwAAAPQAAAAZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAKQAAAN8AAAD1AAAAygAAAOkAAAD1AAAAUQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAACgAAAF8AAACHAAAAcAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/////H + ////gf///4B///+If///wH///8D////gf///4j////8f////j////8Y////gH///8A////CH///hw/// + 4yH//+EQ///wiH//+EQ///wiH//+EQ///wiH//+EQ///wmH//+HB///wgf//+AH///wB///+A////wf/ + ////KAAAABgAAAAwAAAAAQAgAAAAAABgCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArAAAA0AAAAHYAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADMAAAAiQAAAKoAAADjAAAAZgAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAqQAAAAAAAABOAAAA/gAAAEMA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAKAAAA5gAAAEUAAADYAAAAkwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAP0A + AACcAAAA6AAAADcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAEwAAAAAAAAASAAAAOgAAAA4AAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAADoAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AABIAAAA6AAAADcAAAAAAAAAHwAAAG8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAOgAAABVAAAA3QAAAN0A + AACRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQAAAD+AAAAbAAAAA8AAADIAAAAkQAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAN0A + AABsAAAAAAAAAAAAAAAPAAAAyAAAAJEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAANIAAAAHAAAAAAAAAIEAAAA2AAAADwAAAMgA + AACRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAABAAAAKgAAAC1AAAABwAAAEgAAADnAAAANgAAAA8AAADIAAAAkQAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAACoAAAAtQAAAAcA + AABIAAAA5wAAADUAAAAPAAAAyAAAAJEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAqAAAALUAAAAHAAAASAAAAOcAAAA2AAAADwAAAMgA + AACRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAABAAAAKgAAAC1AAAABwAAAEgAAADnAAAANgAAAA8AAADIAAAAkQAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAACoAAAAtQAAAAcA + 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 + + + \ No newline at end of file diff --git a/Logbuch/Logbuch/Sysadmin/frmSysadmin.vb b/Logbuch/Logbuch/Sysadmin/frmSysadmin.vb new file mode 100644 index 0000000..6642be6 --- /dev/null +++ b/Logbuch/Logbuch/Sysadmin/frmSysadmin.vb @@ -0,0 +1,109 @@ +Imports System.ComponentModel + +Public Class frmSysadmin + Dim Spalten As New Utils.Tabellenspalte + Private Sub frmSysadmin_Load(sender As Object, e As EventArgs) Handles MyBase.Load + Me.TreeSysadmin.ExpandAll() + End Sub + + Sub Check_Changes() + + If db.daten.HasChanges Then + If MsgBox("Die Daten wurden verändert. Sollen die Änderungen gespeichert werden?", vbYesNo + vbQuestion) = vbYes Then + save_data() + End If + End If + + End Sub + Dim daten As New DataTable + Dim db As New clsdbhandling + Dim sql As String + + Private Sub TreeSysadmin_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles TreeSysadmin.AfterSelect + Check_Changes() + sql = "" + Dim tablename As String = "" + Me.C1Daten.DataSource = Nothing + db.daten.Tables.Clear() + Me.C1Daten.ContextMenuStrip = Nothing + Select Case Me.TreeSysadmin.SelectedNode.Text + Case "Mitarbeiter" + sql = "Select * from Benutzer" + tablename = "Benutzer" + Case "Team" + sql = "Select * from Team" + tablename = "Team" + Case "Gegenpartei" + sql = "Select * from Gegenpartei" + tablename = "Gegenpartei" + Case "Grundbuch" + sql = "Select * from Grundbuch" + tablename = "Grundbuch" + + Case "Bemerkungen" + sql = "Select * from Bemerkungen" + tablename = "Bemerkungen" + Case "Applikation" + sql = "Select * from Applikation" + tablename = "Applikation" + Case "Mailtexte" + sql = "Select * from texte" + tablename = "Texte" + Case "Auswertungen" + sql = "Select * from Report" + tablename = "Report" + Me.C1Daten.ContextMenuStrip = Me.ContextMenuStrip1 + Case "Auswertung_Feldregel" + sql = "Select * from Report_FeldRegel" + tablename = "Report_Feldregel" + Case "Auswertungparameter" + sql = "Select * from Reportparams" + tablename = "Reportparams" + Case "Spalten" + sql = "Select * from spalten" + tablename = "Spalten" + Case "Versicherungsgesellschaft" + sql = "Select * from Versgesellschaften" + tablename = "Versgesellschaften" + Case Else + + End Select + + If sql <> "" Then + db.Get_Tabledata_for_Update(sql, False, True) + Me.C1Daten.DataSource = db.daten.Tables(0) + Me.C1Daten.DataMember = db.daten.Tables(0).TableName + Me.tsbtnsave.Enabled = True + Else + Me.tsbtnsave.Enabled = False + End If + If tablename <> "" Then + Spalten.Spaltentitel_aktualisieren(C1Daten, tablename, db.daten.Tables(0)) + End If + End Sub + + Private Sub ToolStripButton2_Click(sender As Object, e As EventArgs) Handles tsbtnsave.Click + save_data() + + End Sub + + Sub save_data() + db.Update_Tabeldata() + MsgBox("Die Daten wurden erfolgreich gespeichert.", vbInformation) + If Me.TreeSysadmin.SelectedNode.Text = "Spalten" Then Globals.Spaltendaten.Rows.Clear() + db.daten.AcceptChanges() + End Sub + + Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles tsbtnexit.Click + Check_Changes() + Me.Close() + End Sub + + Private Sub ReportBearbeitenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ReportBearbeitenToolStripMenuItem.Click + + End Sub + + Private Sub frmSysadmin_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing + Check_Changes() + End Sub +End Class \ No newline at end of file diff --git a/Logbuch/Logbuch/Utils/Crypto.vb b/Logbuch/Logbuch/Utils/Crypto.vb new file mode 100644 index 0000000..258e707 --- /dev/null +++ b/Logbuch/Logbuch/Utils/Crypto.vb @@ -0,0 +1,34 @@ +Module Crypto + Public Function EncryptText(ByVal strText As String, ByVal strPwd As String) + Dim i As Integer, c As Integer + Dim strBuff As String + + strPwd = UCase$(strPwd) + If Len(strPwd) Then + For i = 1 To Len(strText) + c = Asc(Mid$(strText, i, 1)) + c = c + Asc(Mid$(strPwd, (i Mod Len(strPwd)) + 1, 1)) + strBuff = strBuff & Chr(c And &HFF) + Next i + Else + strBuff = strText + End If + EncryptText = strBuff + End Function + + Public Function DecryptText(ByVal strText As String, ByVal strPwd As String) + Dim i As Integer, c As Integer + Dim strBuff As String + strPwd = UCase$(strPwd) + If Len(strPwd) Then + For i = 1 To Len(strText) + c = Asc(Mid$(strText, i, 1)) + c = c - Asc(Mid$(strPwd, (i Mod Len(strPwd)) + 1, 1)) + strBuff = strBuff & Chr(c And &HFF) + Next i + Else + strBuff = strText + End If + DecryptText = strBuff + End Function +End Module diff --git a/Logbuch/Logbuch/Utils/Globals.vb b/Logbuch/Logbuch/Utils/Globals.vb new file mode 100644 index 0000000..c46887b --- /dev/null +++ b/Logbuch/Logbuch/Utils/Globals.vb @@ -0,0 +1,50 @@ +Imports System.IO +Imports System.Reflection +Imports System.Data.SqlClient +Module Globals + ''' + ''' Applikationsversion + ''' + ''' + Public Version As String = "1.3" + Public Versionsdatum As String = "27. November 2018" + Public Reportdata As New DataTable + Public Userdaten As New DataTable + ''' + ''' Applikationsdaten + ''' + ''' + Public Applikationsdaten As DataTable + Public AppldataRow As Integer + + 'Public TTContextMenuStrip As New ContextMenuStrip + + + + Public sConnectionString As String + Public conn As New DB.clsConnectionProvider + Public ConnectionFileName As String = "" + Public dbconn As New DB.DB_Connection + + Public SecurityDaten As New DataSet + Public Spaltendaten As New DataTable + Public ToolTipDaten As New DataSet + Public Set_ToolTips As Boolean = False + Public treedata_for_search As New DataTable + + Public GueltigImages As New ImageList + Public StatusImages As New ImageList + + + ''' + ''' Aktueller Applikationspfad + ''' + ''' + ''' + Public Function ApplicationPath() As String + Return Path.GetDirectoryName([Assembly].GetEntryAssembly().Location) + "\" + End Function + + + +End Module diff --git a/Logbuch/Logbuch/bin/Debug/20181127_Logbuch.zip b/Logbuch/Logbuch/bin/Debug/20181127_Logbuch.zip new file mode 100644 index 0000000..d930a9a Binary files /dev/null and b/Logbuch/Logbuch/bin/Debug/20181127_Logbuch.zip differ diff --git a/Logbuch/Logbuch/bin/Debug/C1.Win.C1Command.2.dll b/Logbuch/Logbuch/bin/Debug/C1.Win.C1Command.2.dll new file mode 100644 index 0000000..66ac6ad Binary files /dev/null and b/Logbuch/Logbuch/bin/Debug/C1.Win.C1Command.2.dll differ diff --git a/Logbuch/Logbuch/bin/Debug/C1.Win.C1Command.2.xml b/Logbuch/Logbuch/bin/Debug/C1.Win.C1Command.2.xml new file mode 100644 index 0000000..9e74a65 --- /dev/null +++ b/Logbuch/Logbuch/bin/Debug/C1.Win.C1Command.2.xml @@ -0,0 +1,11102 @@ + + + + C1.Win.C1Command.2 + + + + + Represents the editor of enum properties with FlagsAttribute attribute. + + + + + Gets the editor style used by the method. + The override for returns . + + + + + Edits the specified object's value using the editor style + indicated by the method. + + + + + + + + + + + + + Gets a value indicating whether drop-down editors should be resizable by the user. + The override for returns true; + + + + + Contains localizable design-time strings. + + + + + Static class containing UI strings used by the designer. + + + + + Represents a handler for an item related event. + + + + + Provides data for an item related event. + + + + + Gets key of the item being added or changed. + + The key. + + + + Gets the string value. + + The value. + + + + Gets a value indicating whether this instance is default. + + + true if this instance is default; otherwise, false. + + + + + Gets the description. + + The description. + + + + Represents a collection of end user visible UI strings. + + + + + Adds a string to the collection, specifying the ordinal. + + The key of the string. + The ordinal of the string. + The string. + The description of the string. + + + + Adds a string to the collection in alphabetical order. + + The key of the string. + The string. + The description of the string. + + + + Adds a string to the collection, preserving the order. + + The key of the string. + The string. + The description of the string. + + + + Sets all strings in collection to their default values. + + + + + Indicates whether any of the strings in the current collection + have non-default values. + + + true if any of the strings have non-default values, false otherwise. + + + + Tests whether a string in the collection has default value. + + The key of the string to test. + + true if the string has default value, false otherwise. + + + + Returns the description of a string. + + The key of the string to get the description of. + The string's description + + + + Resets a string to its default value. + + The key of the string to reset. + + + + Returns the key of an item with the specified index. + + The item index. + The item's key. + + + + Gets the string by its index. + + The string index. + The string. + + + + Sets the value of a string with the specified index. + + The string index. + The new string value. + + + + Fires the event. + + The event data. + + + + Fires the event. + + The event data. + + + + Fires the event. + + The event data. + + + + Gets the number of elements contained in the collection. + + + + + Occurs when a new item is added to the collection. + + + + + Occurs when an item in the collection is changed. + + + + + Occurs when the collection has been changed. + + + + + Provides type conversion for the type. + + + + + For internal use. + + + + + + + + + + + + + + + For internal use. + + + + + + + + + + + + + For internal use. + + + + + + + + + Gets the style of the links on page. + + + + + Gets the style of the links on page with special style. + + + + + Gets the style of the link. + + + + + Gets the style of the link when mouse cursor is over link. + + + + + Gets the style of the disabled link. + + + + + Gets the style of the pressed link. + + + + + Gets or sets the foreground color of the link. + + + + + Gets or sets the font of the link. + + + + + Use members of this enumeration to set the value of the Style property of the C1Border class. + + + + + No border. + + + + + Flat border at dark color. + + + + + Grooved border. + + + + + Ridged border. + + + + + Inset border. + + + + + Outset border. + + + + + This class allows you to add borders to a C1ToolBar object. + + + + + Initializes a new instance of the C1Border class. + + + + + Initializes a new instance of the C1Border class. + + + + + + + Sets full border around toolbar or removes border. + + If True, sets all borders, otherwise removes them + + + + Checks if border is full and visible. + + + + + + + Checks if border is not visible. + + + + + + + This method is for internal use only. + + + + + + + + + Gets or sets the border style. + + + + + Gets or sets the border width in pixels. + + + + + Determines whether the border has a left edge. + + + + + Determines whether the border has a top edge. + + + + + Determines whether the border has a right edge. + + + + + Determines whether the border has a bottom edge. + + + + + Gets or sets the color of the border. + + + + + Gets or sets the color of the border. + + + + + Provides a type converter to convert C1Border objects to and from various other representations. + + + + + Returns whether this object supports properties. + + + + + + + + + Converts the given value object to the specified type. + + + + + + + + + + + + + + + This property is for internal use only. + + + + + The base for specialized commands such as button (a plain button, the only action is invoke), + submenu (points to a menu or a toolbar), textbox (text entry), list, combo etc. etc. + + + + + Empty command + + + + + Initializes a new instance of the C1Command class. + + + + + Releases the resources used by the C1Command. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Invokes the command. + + + + + + + Generates a click event for the C1Command. + + + + + Raises the Select event for the C1Command. + + + + + Fires the CommandStateQuery event, updates any changed properties. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + Copy another command properties to this command + + + + + + + Returns true if the change has actually been made + and the control is not initializing (i.e. on change should be fired) + + + + + + + + + + + C1CommandHolder containing this command. + + + + + Gets or sets the text of the command. + + + + + Gets or sets the name of the command. + + + + + Gets or sets the tool tip text. + + + + + Gets or sets the command category. + + + + + Gets or sets the command visibility. + + + + + Gets or sets whether the command is enabled. + + + + + Gets or sets whether the command is checked. + + + + + Gets or sets whether the command is pressed. + + + + + Gets or sets whether the command has a drop down arrow when it is in a toolbar. + + + + + If true, the Checked property value is toggled automatically when this command is invoked. + + + + + Gets or sets the keyboard shortcut associated with the command. + + + + + Gets or sets the shortcut text associated with the command. + + + >Use this property to localize shortcuts. + If property is empty or is False, then the has no any effect. + If property is empty, then default value is used for the shortcut. + + + + + Indicates whether the shortcut for this command will be shown. + + + + + Indicates whether this command's text will be shown as tooltip. + + + + + Gets or sets the command icon. + + + + + Gets or sets the index of the command image (in C1CommandHolder.ImageList). + + + + + Gets or sets the command image. + + + + + Arbitrary data that can be associated with the command. + + + + + Determines whether this command is a non-empty submenu. + + + + + Returns the value of the mnemonic character, or the character following the ampersand, to be used as an access key. + + + + + Gets or sets the C1ContextMenu component associated with this command. + + + + + Event fired when the command is invoked by the user. + + + + + Event fired when the command is selected by the user. + + + + + Event fired when the Checked property has changed. + + + + + Event fired when the Pressed property has changed. + + + + + Event fired when the command state has to be verified. + + + + + Event fired after a command link was linked to this command. + + + + + Event fired after a command link was unlinked from this command. + + + + + Event fired when the Text property of command is changed. + + + + + Event fired when the Image or ImageIndex or Icon property of command is changed. + + + + + Event fired when the Enabled property of command is changed. + + + + + Event fired when the Visible property of command is changed. + + + + + Event fired when the Category property of command is changed. + + + + + Event fired when the ToolTip property of command is changed. + + + + + Event fired when the ShowShortcut property of command is changed. + + + + + Event fired when the ShowTextAsToolTip property of command is changed. + + + + + Event fired when the drop down arrow is clicked on the toolbar button. + + + + + Returns true if the command has focus and "firmly" keeps it + (e.g. if it is C1CommandControl and user clicked inside the control). + + + + + Provides a type converter to convert C1Command to and from various other representations. + + + + + Initializes a new instance of the TypeConverter class. + + + + + + + Returns whether this object supports properties. + + + + + + + + + Converts the given value object to the specified type. + + An ITypeDescriptorContext that provides a format context. + A CultureInfo object. + The Object to convert. + The Type to convert the value parameter to. + + + + + + Represents a collection of C1Command + + + + + Initializes a new instance of the C1Commands class. + + + + + + + Returns the index of the first occurrence of the C1Command with the specified key. + + + + + + + + + Removes all elements + + + + + Adds an object to the end. + + + + + + + + + Adds the elements of an ICollection to the end. + + + + + + + Inserts an element into the C1Commands at the specified index. + + + + + + + + + Inserts the elements of a collection into the C1Commands at the specified index. + + + + + + + + + Removes the element at the specified index. + + + + + + + Removes a range of elements + + + + + + + + + Copies the elements of a collection over a range of elements. + + + + + + + + + Gets or sets the element at the specified index. + + + + + + + + + Gets a command with the specified key from the collection. + + + + + + + + + Arbitrary controls can be contained in toolbars. This functionality is provided by the class C1CommandControl, derived from C1Command. + + + + + Initializes a new instance of the C1CommandControl class. + + + + + Invokes the command. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Event fired when the Control property of command is changed. + + + + + Event fired when the CommandActive property of command is changed. + + + + + Gets or sets the arbitrary control attached to the command. + + + + + Gets or sets whether the command is enabled. + + + + + Gets or sets the value indicating whether the command link can be clicked. + + + + + Gets or sets the value indicating whether the embedded control receives the Return key. + + + + + Gets or sets the value indicating how the hot frame around the link is drawn. + + + + + This method is for internal use only. + + + + + The C1CommandDock control provides docking and floating capabilities to C1Command toolbars (class C1ToolBar) and tab controls (class C1DockingTab). + + + + + Initializes a new instance of the C1CommandDock class. + + + + + Releases the resources used by the C1CommandDock. + + + + + + + Docs or floats the specified control. + + The child control. + The x- and y-coordinates of the point where the child control will be moved. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This property is for internal use only. + + + + + Indicates whether to automatically create a dock area on the left. + + + + + Indicates whether to automatically create a dock area at the top. + + + + + Indicates whether to automatically create a dock area on the right. + + + + + Indicates whether to automatically create a dock area at the bottom. + + + + + Indicates whether to allow floating C1ToolBar and C1DockingTab controls. + + + + + Sets or returns whether the dock automatically adjusts its size. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + Specifies docking behavior of C1DockingTab controls. + + + + If the DockingStyle property is set to Default, + docking works without the selectors: when you drag a floating panel over another panel, + a gray frame appears to show you the position that the instance of C1DockingTab will + have once you release it. + + + The VS2005 docking style feedback is similar to Visual Studio 2005, using docking zone + selectors to specify where the dragged view will be docked if you release it. + + + + + + Defines behavior of floating windows when the application loses focus. + + + + + This class is for internal use only. + + + + + Initializes a new instance of the C1CommandException class + + + + + Initializes a new instance of the C1CommandException class + + + + + + + Holds C1Command objects defined on the form. + + + + + Initializes a new instance of the C1CommandHolder class. + + + + + Releases the resources used by the C1CommandHolder. + + + + + + + Creates a command holder and initializes it. + + Form for which the command holder is created. + The command holder created. + + + + Returns the command holder for the specified form, if it exists. + + Form whose command holder is returned. + The command holder for the specified form, or null. + + + + Gets a context menu contained within the C1CommandHolder. + + The control or NotifyIcon for which to retrieve the context menu. + + + + + + Sets a context menu contained within the C1CommandHolder. + + The control or NotifyIcon for which to set the context menu. + The context menu to attach to the control. + + + + This method is for internal use only. + + + + + + + + + This method is for internal use only. + + + + + + + Determines the command (of the type C1Command or inherited) invoked when the control's default (or, if there is none, Click) event fires. + + + + + + + + + Set the command (of the type C1Command or inherited) invoked when the control's default (or, if there is none, Click) event fires. + + + + + + + + + This method is for internal use only. + + + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Gets the C1Command associated with the shortcut. + + The shortcut keys associated with the command. + + + + + + Creates a new command and adds it to the Commands collection. + + + + + + + Creates a new command and adds it to the Commands collection. + + + + + + + + + Invokes toolbar customizer. + + + + + Merges command links from links1 and links2 into result, using merge rules specified with links, similar to MDI merge. + + + + + + + + + + + Merges command links from links1 and links2 into result, using merge rules specified with links, similar to MDI merge. + + + + + + + + + + + + + Unmerges the two collections of links merged previously by MergeCommandLinks. + + + + + + + Unmerges the two collections of links merged previously by MergeCommandLinks. + + + + + + + + + + + This method is for internal use only. + + + + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + called for restoring layout of a single toolbar + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Sets the current layout to be the default (the one the customizer's reset button reverts to). + + + + + Saves the layout data into the application config file. + + + + + Loads layout data from the application config file. + + + + + Reset layout. + + + + + Called for restoring layout of a single toolbar. + + + + + + + This property is for internal use only. + + + + + Gets the collection of commands. + + + + + Returns the main menu for the form. + + + + + Gets or sets the image list for command images. + + + + + Gets or sets the transparent color for images not in image list. + + + + + Gets or sets the toolbars layout; To enable automatic layout persistence, add this property to dynamic properties. + + + + + Gets or sets a name of layout dynamic key in application config file. + + + + + Gets or sets the value indicating whether to automatically save the toolbars layout (for this to work, Layout must be added to dynamic properties). + + + + + Gets or sets the value indicating whether to update commands' status when idle. + + + + + Gets or sets a value indicating whether the user can give the focus to the CommandLink using keys when the Command is disabled. + + + + + Draw smooth images for currently unselected items. + + + + + Gets or sets the visual style of all C1Command controls on the form (can be overridden by individual controls). + + + + + Gets the array of user interface strings. + + + + + Gets or sets the class name of the Customizer form. + + + + + Gets or sets the class name of the Customizer's new toolbar dialog form. + + + + + Gets or sets the class name of the MDI child selection dialog form. + + + + + Gets or sets the value indicating how many times the app must be run before rarely used menu items start hiding. + + + + + Gets or sets the threshold (in percent) for an item to be considered rarely used. The higher the value, the more items are hidden. + + + + + Gets or sets the delay (in seconds) for the mouse to hover over the parent menu item in order to show all rarely used item. + + + + + Gets or sets the value indicating whether invisible menu and toolbar items are shown at design time. + + + + + Gets or sets a value indicating whether to use animation in menus. + + + + + Occurs when layout string must be loaded from app config file. + + + + + Occurs when layout string must be saved in app config file. + + + + + Occurs when customization mode starts. + + + + + Occurs when customization mode finishes. + + + + + Occurs when a new toolbar is added or a hidden toolbar becomes visible during customization. + + + + + Occurs when a visible toolbar is hidden during customization. + + + + + Occurs when a new command link is added to an existing toolbar during customization. + + + + + Occurs when a command link is removed from a toolbar during customization. + + + + + Occurs when the command is invoked by the user. + + + + + Occurs when the VisualStyle property has changed. + + + + + Occurs when the value of the RecentLinksRunCount property changes. + + + + + Occurs when the value of the RecentLinksRunCount property changes. + + + + + Occurs when the value of the ShowNonRecentLinksHoverDelay property changes. + + + + + C1CommandLink serves as a link to a C1Command component. + C1CommandLink can be added to menu/tool bars and customized as needed. + The actual action is performed by the C1Command proxy points to. + + + + + Initializes a new instance of the C1CommandLink class. + + + + + Initializes a new instance of the C1CommandLink class. + + + + + + + Releases the resources used by the C1CommandLink. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Occurs when the value of the Command property of the command link changes. + + + + + Event fired when the ToolTip property of commandlink is changed. + + + + + Event fired when the Text property of commandlink is changed. + + + + + Event fired when the Delimiter property of commandlink is changed. + + + + + Event fired when the ButtonLook property of commandlink is changed. + + + + + Event fired when the AlwaysRecent property of commandlink is changed. + + + + + Event fired when the MergeType property of commandlink is changed. + + + + + Event fired when the MergeOrder property of commandlink is changed. + + + + + Event fired when the NewColumn property of commandlink is changed. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + Gets or sets the linked command. + + + + + If set, overrides the Command text. + + + + + If set, overrides the Command tooltip text. + + + + + Gets or sets a value indicating whether this item is default in a dropdown or context menu. + + + + + Gets or sets a value indicating whether this item is owner-drawn. + + + + + Gets or sets a value indicating whether a delimiter should be drawn before this item. + + + + + Gets or sets the value indicating whether this link starts a new column in the menu. + + + + + Gets or sets a value controlling how to show the item. + + + + + Gets or sets a value indicating the behavior of this menu item when its menu is merged with another. + + + + + Gets or sets a value indicating the relative position of the menu item when it is merged with another. + + + + + Gets or sets a value determining the relative position of the item. + + + + + Gets or sets the value indicating whether the item is always recent (is never hidden when hiding non-recent links is on) + + + + + Shortcut to linked command's Enabled property. + + + + + Shortcut to linked command's Visible property. + + + + + Returns true if the linked command is enabled and contains a submenu. + + + + + Gets the object (menu, toolbar etc.) containing this command link. + + + + + Gets the current state of the command link (normal, hot, pressed, open). + + + + + Gets the current index in CommandLinks collection for recent links. + + + + + Indicates whether this link is a service link (more, customize, scroll button). + + + + + Indicates whether this link is a More link. + + + + + C1CommandLinks + + + + + Removes all elements + + + + + Adds an object to the end. + + + + + + + + + Adds the elements of an ICollection to the end. + + + + + + + Adds the elements of an ICollection to the end. + + + + + + + Inserts an element into the C1CommandLinks at the specified index. + + + + + + + + + Inserts the elements of a collection into the C1CommandLinks at the specified index. + + + + + + + + + Copies the elements of a collection over a range of elements. + + + + + + + + + Removes the element. + + + + + + + Removes the element at the specified index. + + + + + + + Removes a range of elements + + + + + + + + + Moves an element to the specified index. + + + + + + + + + This method prevents the control from painting until the EndUpdate method is called. + + + + + Resumes painting after painting is suspended by the BeginUpdate method. + + + + + Resets all counters stored for recent link showing + + + + + Gets or sets the element at the specified index. + + + + + + + + + C1CommandMdiList. + + + + + Initializes a new instance of the C1CommandMdiList class. + + + + + Releases the resources used by the C1CommandMdiList. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method should not be called directly, as there is no clear meaning in invoking a command which is actually a placeholder for commands created on the fly. + + + + + + + Populates and shows the popup window with the list of all currently available MDI child windows. + + + + + Returns true if there are currently no items in the list. + + + + + + + Occurs before the Select Window dialog is shown. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + Sets or returns the maximum number of menu items created. + + + + + Gets or sets the value indicating whether to list hidden windows. + + + + + Summary description for C1CommandMenu. + + + + + This member is for internal use only. + + + + + This member is for internal use only. + + + + + This member is for internal use only. + + + + + This member is for internal use only. + + + + + This member is for internal use only. + + + + + This member is for internal use only. + + + + + Initializes a new instance of the C1CommandMenu class. + + + + + Releases the resources used by the C1CommandMenu. + + + + + + + Invokes the command. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + Determines whether this command is a non-empty submenu. + + + + + Occurs before the command's submenu is displayed. + + + + + Occurs after the command's submenu is closed. + + + + + Event fired when the LargeMenuDisplay property of menu is changed. + + + + + Event fired when the Font property of menu is changed. + + + + + Event fired when the Width property of menu is changed. + + + + + Event fired when the SideCaption property of menu is changed. + + + + + Event fired when the ShowToolTips property of menu is changed. + + + + + Occurs when the value of the BackColor property changes. + + + + + Occurs when the value of the ForeColor property changes. + + + + + Occurs when the value of the BackHiColor property changes. + + + + + Occurs when the value of the ForeHiColor property changes. + + + + + Occurs when the value of the BackgroundImage property changes. + + + + + Occurs when the value of the HideNonRecentLinks property changes. + + + + + Occurs when an owner drawn link needs to be measured. + + + + + Occurs when an owner drawn link needs to be drawn. + + + + + Occurs when an owner drawn menu or toolbar needs to be drawn. + + + + + Occurs when the current command link changes. + + + + + Occurs when an owner drawn link needs to layout its text, image and control within the link bounds. + + + + + Occurs when the VisualStyle property has changed. + + + + + Gets or sets a value indicating whether the control should hide the first delimiter. + + + C1CommandLink.Delimiter property shows a delimiter before a C1CommandLink present at C1ContextMenu. The HideFirstDelimiter property hides the delimiter for the first visible C1CommandLink even the Delimiter property of the C1CommandLink is True. + + + + + Gets or sets the visual style of the control. + + + + + Gets or sets the base background color of the menu. + + + + + Gets or sets the text color of the menu. + + + + + Gets or sets the base background color of the highlighted item. + + + + + Gets or sets the text color of the highlighted item. + + + + + Gets or sets the background image displayed in the menu. + + + + + Gets or sets the background image layout in the menu. + + + + + Gets or sets the minimum width of the menu. + + + + + Gets or sets the width of the image/checkbox bar in the menu. If set to 0, the width is calculated automatically. + + + + + This property is for internal use only. + + + + + Determines the way large menus (when all items cannot fit in one column) are displayed. + + + + + Gets or sets the value indicating whether to hide rarely used menu items. + + + + + Gets or sets the font of menu. + + + + + Gets the collection of commandlinks. + + + + + Gets or sets the value indicating whether to show tooltip texts when mouse cursor is over menu item. + + + + + Gets or sets the value indicating whether to show check marks instead of images or in a separate bar. + + + + + Allows to specify a caption (text and/or image) to be shown alongside the left edge of the menu. + + + + + Gets or sets the value indicating whether to close the menu when an item is clicked. + + + + + This class is for internal use only. + + + + + This class is for internal use only. + + + + + Hook code. + + + + + The FilterFunc value. + + + + + The HookType value. + + + + + This method is for internal use only. + + + + + + + Initializes a new instance of the LocalWindowsHook class. + + + + + + + Initializes a new instance of the LocalWindowsHook class. + + + + + + + + + Default filter function. + + Hook code. + WPARAM argument. + LPARAM argument. + + + + + + Installs the hook. + + + + + Uninstalls the hook. + + + + + Win32: SetWindowsHookEx() + + + + + + + + + + + + + + + Win32: UnhookWindowsHookEx() + + + + + + + + + Win32: CallNextHookEx() + + + + + + + + + + + + + + + A HookInvoked event. + + + + + The FilterFunc value. + + + + + Filter function delegate. + + Hook code. + WPARAM argument. + LPARAM argument. + + + + + + Represents the method that handles a Hook event. + + The source of the event. + A HookEventArgs that contains the event data. + + + + Initializes a new instance of the C1CommandMsgHookProc class. + + + + + + + + + + + + + Initializes a new instance of the C1CommandMsgHookProc class. + + + + + Context menu. + + + + + Shows the menu at the specified location. + + The control where the context menu is to be shown. + The point in the control client area where the context menu is to be shown. + + + + Closes the currently open context menu if there is one. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Gets the control that is displaying the shortcut menu. + + + This property enables you to determine which control currently displays the shortcut menu defined in the . + If the shortcut menu is not currently displayed, you can use this property to determine which control last displayed the shortcut menu. + You can use this property in the event to ensure that the control displays the proper menu items. + You can also use this property to pass a reference to the control to a method that performs the tasks associated with a menu command displayed in the shortcut menu. + + + The following code example creates an event handler for the event of the . + The code in the event handler determines which of two controls a PictureBox named pictureBox1 and a TextBox named textBox1 is the control + displaying the shortcut menu. + Depending on which control caused the to display its shortcut menu, the control shows or hides the appropriate + menu items of . + This example requires that you have an instance of the class, + named c1ContextMenu1, defined within the form. c1ContextMenu should have "Copy", "Find", "Change Picture" menu items. + This example also requires that you have a TextBox and PictureBox added to a form and that the C1ContextMenu property of these controls is set to c1ContextMenu1. + + + private void c1ContextMenu1_Popup(object sender, EventArgs e) + { + Control c = c1ContextMenu1.SourceControl; + // Copy and Find is dispayed for textBox1 + c1CommandCopy.Visible = (c == textBox1); + c1CommandFind.Visible = (c == textBox1); + // Change Picture is dispayed for pictureBox1 + c1CommandChangePicture.Visible = (c == pictureBox1); + } + + + + + + This event is for internal use only. + + + + + This class implements the familiar tab control interface: several overlaying pages (each of which can + contain arbitrary controls) accessible via tabs at the side of the control. + + + + + Initializes a new instance of the C1DockingTab class. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Resets the BackColor property to its default value. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Releases the resources used by the C1DockingTab. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Returns true if the specified tab is in the hot state, otherwise false. + + + + + Temporarily suspends the layout logic for the control. + + + + + Resumes normal layout logic. + + + + + Closes the tab page specified. + + + + + + + Hides the page by sliding it to the side. + + + + + Shows the page by sliding it out. + + + + + + + Shows the page by sliding it out. + + + + + + + Returns the page with the specified tab text. + + + + + + + + + Scrolls the tabs if necessary so that the tab of the currently selected page is visible. + + + + + Returns the row and column of the specified tab in the tabs of the C1DockingTab. + + + + + + + + + + + Returns the collection of all C1DockingTab components that were automatically + created as the result of user interaction with the current C1DockingTab + (e.g. when a page is teared off and dropped to float outside of the form). + + The array of automatically created C1DockingTab controls. + + + + This method is for internal use only. + + + + + + + + + Raises the event. + + An EventArgs that contains the event data. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Occurs when the property value changes. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + Saves layout of all C1DockingTab controls on the form to the stream. + + + + + + + + + Saves layout of all C1DockingTab controls on the form to the specified file. + + + + + + + + + Restoress layout of all C1DockingTab controls on the form from the stream. + + + + + + + + + Restores layout of all C1DockingTab controls on the form from the specified file. + + + + + + + + + Floats the page out from the form. + + The tab page to float out. + + Floats out the page to a default position. + + + + + Floats the specified tab page out from the form. + + The tab page to float. + The position. + + + + Floats the specified tab page out from the form. + + The tab page to float. + The x coordinate of the screen point to float to. + The y coordinate of the screen point to float to. + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + List of controls whose children are excluded from SaveLayout / RestoreLayout. + + + + + Fired when a new C1DockingTab is automatically created in response to user actions (e.g. tearing off a tab and dropping it elsewhere). + + + + + Occurs when the Alignment property is changed. + + + + + Occurs when the AutoHiding property is changed. + + + + + Occurs when the CanAutoHide property is changed. + + + + + Occurs when the CanCloseTabs property is changed. + + + + + Occurs when the ShowTabs property is changed. + + + + + Occurs when the ShowTabList property is changed. + + + + + Occurs when the CanMoveTabs property is changed. + + + + + Allows to override the standard drawing of the tabs with custom drawing. + + + + + Occurs when the HotTrack property is changed. + + + + + Occurs when the Indent property is changed. + + + + + Occurs when the ItemSize property is changed. + + + + + Allows to arbitrarily change the size of the tabs. + + + + + Occurs when the MultiLine property is changed. + + + + + Occurs when the Padding property is changed. + + + + + Event fired when the index of the currently selected page is about to change. Allows to cancel the change. + + + + + Occurs when the SelectedIndex property is changed. + + + + + Event fired when the SelectedTab is changed. + + + + + Occurs when the ShowToolTips property is changed. + + + + + Occurs when the ShowSingleTab property is changed. + + + + + Occurs when the ShowCaption property is changed. + + + + + Occurs when the TabLook property is changed. + + + + + Occurs when the TabLayout property is changed. + + + + + Event fired when the currently selected page is about to be closed by the user. Allows to cancel closing the page. + + + + + Event fired after a page has been closed. + + + + + Occurs when the TabSizeMode property is changed. + + + + + Occurs when the AlignTabs property is changed. + + + + + Occurs when the TabStyle property is changed. + + + + + Occurs when the Floating property is changed. + + + + + Occurs when the RightToLeftLayout property is changed. + + + + + Occurs when the VisualStyle property has changed. + + + + + Gets or sets a value indicating whether tabs should display focus rectangles. + + + + + Gets or sets position of close box. + + + This property has effect only if is True. + + + + + Gets or sets modifier key which, if pressed, will prevent the floating control from docking when it is moved around at runtime. + + + If several modifier keys are specified, pressing any one will work. + + + + + Gets or sets the mode used to draw window outline while moving the window. + + + + + Gets the collection of tab pages in this control. + + + + + Gets or sets the currently selected page. + + + + + Gets or sets the index of the currently selected page. + + + + + Gets or sets the image list used to provide images to show on the control’s tabs. + + + + + Gets or sets the look of the tabs (whether to show text, image or both). + + + + + Gets or sets the layout of text and images on the tabs. + + + + + Gets or sets the amount of space around images and text shown on the tabs. + + + + + Gets or sets the area of the control (top, bottom, left or right) where the tabs are aligned. + + + + + Gets or sets the way in which the tabs are sized. + + + + + Gets or sets a value indicating whether the end user can rearrange tabs by dragging them around at runtime. + + + + + Gets or sets a value indicating whether the end user can rename tabs by double clicking on the tab's text. + + + + + Gets or sets a value indicating whether the control's tabs change in appearance when the mouse passes over them. + + + + + Gets or sets the value indicating how tabs are aligned along the side of the page content area. + + + + + Gets or sets a value indicating whether to use animation when showing or hiding the control. + + + + + Gets or sets a value indicating whether more than one row of tabs can be displayed. + + + + + Gets the text of the currently selected tab (runtime-only). + + + + + Gets the number of pages in the control. + + + + + Gets the number of tab rows (runtime-only). + + + + + Gets or sets the indentation of the first tab from the side of the control. + + + + + Gets or sets the size of the tabs (if empty, the size is calculated automatically based on content). + + + + + Gets the value indicating whether tabs scrolling arrows are currently shown (runtime-only). + + + + + Gets or sets the value indicating whether the pages of the tab control are in auto-hiding mode. + + + + + Gets or sets a value indicating whether the tool tip is shown when the mouse passes over the tab. + + + + + Gets or sets a value indicating whether a tab will be shown when there is only one page in the control. + + + + + Gets or sets a value indicating whether individual tab pages can be closed by the end user. If CanCloseTabs is true, a close icon appears either in the caption area (if ShowCaption is true), or in the tabs area otherwise. + + + + + Gets or sets a value indicating whether a tab page closed by the end user should be kept in an internal array (used when a previously saved tabs layout is restored). The default is true. + + + + + Gets or sets a value indicating whether caption is shown on the pages. + + + + + Gets or sets a value indicating whether the pages can auto-hide (if both CanAutoHide and ShowCaption are true, a pin icon appears in the caption area). + + + + + Gets or sets the width of automatic splitters drawn between pages of the control when page docking is enabled. + + + + + Gets or sets the direction of the text drawn on the tabs. + + + + + Gets or sets the docking of the control in the parent container. Can be specified only for controls not parented in a C1CommandDock. + + + + + Indicates the border style for the DockingTab. + + + + + Indicates the tab style for the DockingTab. + + + + + Gets or sets a value indicating whether tabs can receive focus on mouse click. + + + + + Gets or sets a value indicating whether the control handles Ctrl-Tab and Ctrl-Shift-Tab keys. + + + + + Gets the C1DockingTab which automatically created this instance in response to user actions. + + + + + Gets or sets the background color for the control. + + + + + Gets or sets the background color for the tab area. + + + + + Gets the value indicating whether the C1DockingTab is currently floating (runtime-only). + + + + + Gets the array of user interface strings. + + + + + Gets or sets the value indicating whether to draw border around the tab area. + + + + + Gets or sets the distance between tabs (may be negative to overlap tabs). + + + + + Gets or sets the spacing between the edge of the tab area and the tabs. + + + + + Gets or sets the value indicating whether to draw selected tab text with bold font. + + + + + Gets or sets the value indicating whether to show a button with dropdown list of all tabs (ignored in multiline mode). + + + + + Gets or sets whether tabs area is displayed within the . + + + Use the ShowTabs property to control the display of the tabs. + If this property is set to false, the tabs area is not displayed. + + + + + Gets or sets a value indicating whether right-to-left mirror placement is turned on. + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + Gets or sets the visual style of the control. + + + + + Provides a type converter to convert TabStyleEnum objects to and from various other representations. + + + + + Represents a single tab page in a C1DockingTab. + + + + + Initializes a new instance of the C1DockingTabPage class. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Resets the BackColor property to its default value. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + Floats the page out from the form to a default position. + + + + + Floats the page out from the form to the specified position. + + The position. + + + + Floats the page out from the form to the specified coordinates. + + The x coordinate of the screen point to float to. + The y coordinate of the screen point to float to. + + + + Docks the page to the another target page. + + The target page. + + The page becomes the next page after the target page. + If you want to Dock this page the first use DockTo(C1DockingTab)/> + + + + + Docks the page to the target DockingTab. + + The target docking tab. + + The page becomes the first page at the target DockingTab. + + + + + Releases the resources used by the C1DockingTabPage. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Raises the HandleCreated event. + + An EventArgs that contains the event data. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Occurs when the caption text changes. + + + + + Occurs when the tooltip text changes. + + + + + Occurs when the visibility of the tab changes. + + + + + Event fired when the page is about to be closed by the user. Allows to cancel closing the page. + + + + + Event fired after the page has been closed. + + + + + Gets or sets the index of the tab image in the tab control's ImageList. + + + + + Gets or sets the tab image. + + + + + Gets or sets the text shown on the tab. + + + + + Gets or sets the text in the caption area of the page. If not specified, defaults to the value of the Text property. + + + + + Gets or sets the ToolTip text for the tab. + + + + + Gets the value indicating whether this page is currently selected. + + + + + Gets or sets the value indicating whether the tab is visible. + + + + + Defines behavior on C1DockingTabPage's CloseBox click. + + + + + Returns the tab bounds of the page. + + + + + Gets or sets the background color for the control. + + + + + Gets or sets the background color for the tab. + + + + + Gets or sets the background color for the selected tab. + + + + + Gets or sets the text color for the nonselected tab. + + + + + Gets or sets the text color for the selected tab. + + + + + Gets a value indicating whether the mouse pointer is located over tab area of the page. + + + + + This method is for internal use only. + + + + + Represents a collection of C1DockingTabPage elements. + + + + + Represents a a base class for page collections of a paged-like control. + + + + + Initializes a new instance of thePagedControlsCollectionBase class. + + + + + + + This [method|property|class] is for internal use only. + + + + + + + + + This [method|property|class] is for internal use only. + + + + + + + This [method|property|class] is for internal use only. + + + + + + + + + This [method|property|class] is for internal use only. + + + + + This [method|property|class] is for internal use only. + + + + + This [method|property|class] is for internal use only. + + + + + + + + + This [method|property|class] is for internal use only. + + + + + + + + + Removes the first occurrence of a specific object from the IList. + + + + + + + Determines whether the IList contains a specific value. + + + + + + + + + Determines the index of a specific item in the IList. + + + + + + + + + Adds an item to the IList. + + + + + + + + + Removes all items from the IList. + + + + + Inserts an item to the IList at the specified position. + + + + + + + + + Removes the IList item at the specified index. + + + + + + + Copies the elements of the ICollection to an Array, starting at a particular Array index. + + + + + + + + + Returns an enumerator that can iterate through the PagedControlsCollectionBase. + + + + + + + Copies the PagedControlsCollectionBase to a one-dimensional array. + + + + + + + Copies the ArrayList or a portion of it to a one-dimensional array. + + + + + + + + + + + + + Adds the elements of an ICollection to the end. + + + + + + + Removes a range of elements. + + + + + + + + + This [method|property|class] is for internal use only. + + + + + Gets a value indicating whether the IList is read-only. + + + + + Gets a value indicating whether the IList has a fixed size. + + + + + Gets a value indicating whether access to the ICollection is synchronized + + + + + Gets the number of elements contained in the ICollection. + + + + + Gets an object that can be used to synchronize access to the ICollection. + + + + + Supports a simple iteration over a collection. + + + + + Sets the enumerator to its initial position, which is before the first element in the collection. + + + + + Advances the enumerator to the next element of the collection. + + + + + + + Gets the current element in the collection. + + + + + This method is for internal use only. + + + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + Returns the index of the first occurrence of the C1DockingTabPage with the specified key. + + + + + + + + + Returns number of pages where TabVisible property is True. + + + + + Gets or sets the element at the specified index. + + + + + + + + + Gets a dockingtab page with the specified key from the collection. + + + + + + + + + C1MainMenu. + + + + + Initializes a new instance of the C1MainMenu class. + + + + + Releases the resources used by the C1MainMenu. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + Occurs when the value of the Wrap property changes. + + + + + Occurs when the value of the ShowToolTips property changes. + + + + + Occurs when the value of the CanMerge property changes. + + + + + Occurs when the value of the BackHiColor property changes. + + + + + Occurs when the value of the ForeHiColor property changes. + + + + + Occurs when the current command link changes. + + + + + Occurs when it is necessary to measure the owner-drawn link. + + + + + Occurs when the owner-drawn C1CommandLink should be redrawn. + + + + + Occurs when the owner-drawn menu should be redrawn. + + + + + Occurs when an OwnerDraw command link needs to layout its text, image and control within the link bounds. + + + + + Occurs when the VisualStyle property has changed. + + + + + Gets or sets a value indicating whether the control should hide the first delimiter. + + + C1CommandLink.Delimiter property shows a delimiter before a C1CommandLink present at C1MainMenu. The HideFirstDelimiter property hides the delimiter for the first visible C1CommandLink even the Delimiter property of the C1CommandLink is True. + + + + + Gets or sets the visual style of the control. + + + + + Gets or sets the background color of the highlighted item. + + + + + Gets or sets the text color of the highlighted item. + + + + + Gets the collection of commandlinks. + + + + + Gets or sets the value indicating whether to show background image in the image bar of dropdown menus. + + + + + Gets or sets the value indicating whether to wrap the menu or show a \"More...\" button if not all items fit on a single line. + + + + + Gets or sets the value indicating whether to merge MDI child menu with MDI parent menu. + + + + + Gets or sets the font of the C1MainMenu. + + + + + Gets or sets the background color of the C1MainMenu. + + + + + Gets or sets the value indicating whether to show tooltip texts when mouse cursor is over menu item. + + + + + Gets or sets the value indicating whether the menu that is + automatically created when some items do not fit on the toolbar closes + when an item on that menu is clicked. + + + + + Initializes a new instance of the C1NavBar class. + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Save current order and visibility options as the default button arrangement. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + Get the value of size for control in a collapsed state. + + + + + Gets or sets the image that is displayed on the header of the active panel. + + + + + Gets or sets the color to treat as transparent in PanelHeaderImage images. + + + + + Gets or sets the background color for the control. + + + + + Gets the collection of buttons in this navigation bar. + + + + + Gets the collection of panels in this navigation bar. + + + + + Gets the currently visible panel in this navigation bar. + + + + + Gets or sets the string defining the order and visibility for buttons in this navigation bar. + + + + + Gets the string with the default order and visibility options for the buttons. + + + + + Gets or sets the number of buttons displayed in the stack (-1 shows all buttons). + + + + + Gets or sets the maximum number of buttons in the stack (unlimited if -1). + + + + + Gets or sets index of the selected button in the Buttons collection. + + + + + Gets or sets the button, which is currently selected in the C1NavBar. + + + + + Gets or sets the index of the button to be selected when the form opens. + + + + + Returns the number of visible buttons in the C1NavBar. + + + + + Gets or sets a value indicating whether the close button is shown in panel caption, and what is closed when it is clicked. + + + + + Gets or sets a value indicating whether the runtime options menu is visible. + + + + + Gets or sets a value indicating whether the vertical text is displayed in collapsed C1NavBar control. + + + + + Gets or sets a value indicating whether the collapse button is visible. + + + + + Gets or sets a value indicating the direction in which to collapse the control. + + + + + Gets or set the value indicating whether the control is currently in a collapsed state. + + + + + Gets or sets the visual style of the control. + + + + + Gets or sets the height of the navigation bar panels' header. + + + + + Gets or sets the font used in panel headers. + + + + + Gets or sets the height of the section header within the navigation bar. + + + + + Gets or sets the font used in section headers. + + + + + Gets or sets the space before text caption in a section header. + + + + + Gets or sets the height of each stack button within the C1NavBar. + + + + + Gets or sets the font used to render text on a stack button. + + + + + Gets or sets the size of images displayed on stack buttons (24 x 24 pixels by default). + + + + + Gets or sets the space before the image on a stack button. + + + + + Gets or sets the space between the image and the text on a stack button. + + + + + Represents a set of color properties to customize appearance of C1NavBar. + + + The theme colors are reset when VisualStyle property is changed to a new value. + Some theme colors have effect only with certain visual styles. + + + List of the properties, which have effect in Classic, OfficeXP, Office2003 visual styles: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List of the properties, which have effect in WindowsXP visual style: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Note, Theme does not have effect in Office2007, Office2010 visual styles. + + + + + Gets or sets the height of the button strip at the bottom of the navigation bar. + + + + + Gets the array of user interface strings. + + + + + Occurs when the user presses the button on the C1NavBar. + + + + + Occurs when the close button on the panel header is clicked. + + + + + Occurs when the collapse button on the panel header is clicked. Allows to cancel collapsing. + + + + + Occurs when the currently selected panel is about to be closed by the user. Allows to cancel closing the panel. + + + + + Occurs when the panel header is clicked. + + + + + Occurs when the panel header is double clicked. + + + + + Occurs when the panel header image is clicked. + + + + + Occurs after a panel has closed. + + + + + Occurs when the ShowOptionsMenu property is changed. + + + + + Occurs when the AllowCollapse property is changed. + + + + + Occurs when the CollapseDirection property is changed. + + + + + Occurs when the CloseButton property is changed. + + + + + Occurs when the currently selected panel is about to be changed. Allows to cancel changing the panel. + + + + + Occurs when the selected panel is changed. + + + + + Occurs when the VisualStyle property has changed. + + + + + Gets the unique identifier, which is the same for the corresponding button and panel. + + + + + Gets or sets the image that is displayed on the button. + + + + + Gets or sets the small image that is displayed in the button strip. + + + + + Gets or sets the color to treat as transparent in Image and SmallImage images. + + + + + Gets or sets the text displayed on the stack button, or in a tooltip when the button is in the bottom strip. + + + + + Gets or sets the text shown on the panel header. + + + + + Gets or sets the visibility of the button. + + + + + Returns whether this object supports properties. + + + + + + + + + Converts the given value object to the specified type. + + + + + + + + + + + + + + + This property is for internal use only. + + + + + Creates a new button, puts the button into the collection, returns the created button. + + + + + Determines whether the IList contains a specific value. + + + + + + + + + Determines the index of a specific item in the IList. + + + + + + + + + Determines the index of the item in the collection + with the specified value of the ID property. + + The value of the ID property to search for. + Index of the button with the specified ID, + or -1 if no such button exists. + + + + Adds an item to the IList. + + + + + + + + + Removes all items from the IList. + + + + + Inserts an item to the IList at the specified position. + + + + + + + + + Removes the first occurrence of a specific object from the IList. + + + + + + + Removes the IList item at the specified index. + + + + + + + Copies the elements of the ICollection to an Array, starting at a particular Array index. + + + + + + + + + Returns an enumerator that can iterate through the PagedControlsCollectionBase. + + + + + + + Copies the ButtonCollection to a one-dimensional array. + + + + + + + Copies the ArrayList or a portion of it to a one-dimensional array. + + + + + + + + + + + + + Adds the elements of an ICollection to the end. + + + + + + + Removes a range of elements. + + + + + + + + + Gets a value indicating whether the IList is read-only. + + + + + Gets or sets the element at the specified index. + + + + + + + + + Gets a value indicating whether the IList has a fixed size. + + + + + Gets a value indicating whether access to the ICollection is synchronized + + + + + Gets the number of elements contained in the ICollection. + + + + + Gets an object that can be used to synchronize access to the ICollection. + + + + + Supports a simple iteration over a collection. + + + + + Sets the enumerator to its initial position, which is before the first element in the collection. + + + + + Advances the enumerator to the next element of the collection. + + + + + + + Gets the current element in the collection. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Initializes a new instance of the C1NavBarPanel class. + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + Resets the BackColor property to its default value. + + + + + This method is for internal use only. + + + + + + + Gets or sets the value indicating whether the panel is visible. + + + + + Gets or sets the corresponding button for this panel. + + + + + Gets or sets the background color for the control. + + + + + Looks for the panel in the collection with the specified value of the ID property. + + The value of the ID property to search for. + Panel with the specified ID, or null if no such panel exists. + + + + Determines the index of the item in the collection + with the specified value of the ID property. + + The value of the ID property to search for. + Index of the panel with the specified ID, + or -1 if no such panel exists. + + + + This method is for internal use only. + + + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + + + Returns the index of the first occurrence of the C1NavBarPanel with the specified key. + + + + + + + + + Gets or sets the element at the specified index. + + + + + + + + + Gets a C1NavBarPanel with the specified key from the collection. + + + + + + + + + Initializes a new instance of the C1NavBarSectionHeader class. + + + + + Gets the owner C1NavBar control. + + + + + Initializes a new instance of the C1NavBarHorizontalRule class. + + + + + Gets the owner C1NavBar control. + + + + + Represents a set of color properties to customize appearance of C1NavBar. + + + The theme colors are reset when VisualStyle property is changed to a new value. + Some theme colors have effect only with certain visual styles. + + + List of the properties, which have effect in Classic, OfficeXP, Office2003 visual styles: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List of the properties, which have effect in WindowsXP visual style: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Note, Theme does not have effect in Office2007, Office2010 visual styles. + + + + + Gets the theme that corresponds to the Windows Classic style. + + + + + Gets the theme that corresponds to the default blue color scheme. + + + + + Gets the theme that corresponds to the Olive Green color scheme. + + + + + Gets the theme that corresponds to the Silver color scheme. + + + + + Gets the theme that corresponds to the Media Center style. + + + + + Represents foreground color of panel header. + + + + + Represents 1st background gradient color of panel header. + + + + + Represents 2nd background gradient color of panel header. + + + + + Represents foreground color of section header. + + + + + Represents 1st background gradient color of section header. + + + + + Represents 2nd background gradient color of section header. + + + + + Represents color of horizontal rule in C1NavBar section header. + + + + + Represents color of horizontal rule between C1NavBar sections. + + + + + Represents 1st gradient color of grip line. + + + + + Represents 2nd gradient color of grip line. + + + + + Represents foreground color of button in normal state. + + + + + Represents 1st gradient color of button background in normal state. + + + + + Represents 2nd gradient color of button background in normal state. + + + + + Represents foreground color of button when it is highlighted. + + + + + Represents 1st gradient color of button background when it is highlighted. + + + + + Represents 2nd gradient color of button background when it is highlighted. + + + + + Represents foreground color of button when it is pressed. + + + + + Represents 1st gradient color of button background when it is pressed. + + + + + Represents 2nd gradient color of button background when it is pressed. + + + + + Represents foreground color of button when it is in checked state. + + + + + Represents 1st gradient color of button background when it is in checked state. + + + + + Represents 2nd gradient color of button background when it is in checked state. + + + + + Border color. + + + + + Outlook-style container/tab control. + + + + + Initializes a new instance of the C1OutBar class + + + + + Returns the index of the page with the specified text, or -1 if such a page does not exist. + + + + + + + + + Returns true if the specified page caption is in the pressed state, or false otherwise. + + + + + + + + + Returns true if the specified page caption is in the hot state, or false otherwise. + + + + + + + + + Scrolls embedded toolbar up. + + + + + + + Scrolls embedded toolbar down + + + + + + + Temporarily suspends the layout logic for the control. + + + + + Resumes normal layout logic. + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Occurs when the VisualStyle property has changed. + + + + + Event fired when the PageTitleHeight property of the outbar is changed. + + + + + Allows owner draw of C1OutBar's page scrolling arrows. + + + + + Occurs when the owner-drawn C1OutPage should be redrawn. + + + + + Occurs when the page title is clicked. + + + + + Fires when a C1OutBar's page caption must be measured. + + + + + Event fired when the SelectedIndex property of the outbar is changing. + + + + + Event fired when the SelectedIndex property of the outbar is changed. + + + + + Event fired when the SelectedPage property of the outbar is changed. + + + + + Occurs when the value of the ShowToolTips property changes. + + + + + Occurs when the value of the PageLayout property changes. + + + + + Occurs when the value of the BackHiColor property changes. + + + + + Occurs when the value of the ForeHiColor property changes. + + + + + Gets or sets the background color for the control. + + + + + Gets or sets the background color of the highlighted item. + + + + + Gets or sets the text color of the highlighted item. + + + + + Gets the collection of outbar pages. + + + + + Gets or sets the selected page. + + + + + Gets or sets the index of the selected page. + + + + + Gets or sets the height of each page title. + + + + + Gets or sets a value indicating whether scroll buttons for scrolling toolbar links are visible. + + + + + Gets or sets a value indicating whether to use animation when changing the selected page. + + + + + Gets or sets a value indicating whether tool tip is shown when the mouse is over the page title bar. + + + + + Gets or sets the ImageList that contains the images shown on page title bars. + + + + + Gets or sets the layout of text and image on pages' title bars. + + + + + Gets or sets the alignment of text and image on pages' title bars. + + + + + Gets or sets the value indicating whether invisible pages are shown at design time. + + + + + Gets or sets the visual style of the control. + + + + + Represents a single page in a C1OutBar. + + + + + Initializes a new instance of the C1OutPage class. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Resets the BackColor property to its default value. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Occurs when the PageVisible property changes. + + + + + Occurs when the tooltip text changes. + + + + + Gets or sets the value indicating whether the page is visible. + + + + + Returns the caption bounds of the page. + + + + + Gets or sets the caption of the page. + + + + + Gets the pressed state of the page caption. + + + + + Gets or sets the value indicating whether the title of this page is owner-drawn. + + + + + Returns true if the page is currently selected. + + + + + Gets a value indicating whether the mouse pointer is located over caption area of the page. + + + + + Gets or sets the tooltip text for the page. + + + + + Gets or sets the index of the page image in the outbar's ImageList. + + + + + Gets or sets the page image. + + + + + Gets or sets the background color for the control. + + + + + Represents a collection of control objects. + + + + + Initializes a new instance of the C1OutPageControlCollection class. + + + + + + + Adds the specified Control object to the collection. + + + + + + + The collection of outbar pages. + + + + + This method is for internal use only. + + + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + Returns the index of the first occurrence of the C1OutPage with the specified key. + + + + + + + + + Gets or sets the element at the specified index. + + + + + + + + + Gets an outpage with the specified key from the collection. + + + + + + + + + Summary description for C1SelectMdiChildForm. + + + + + The list of available existing windows. + + + + + OK button. + + + + + Cancel button. + + + + + Initializes a new instance of the C1SelectMdiChildForm class. + + + + + Clean up any resources being used. + + + + + This method is for internal use only. + + + + + + + A list of available forms + + + + + A form being selected. + + + + + A ListBox control for displaying available windows. + + + + + OK button. + + + + + Cancel button. + + + + + Represents one window in the window list + + + + + A Form control + + + + + Initializes a new instance of the WindowItem class. + + + + + + + Converts WindowItem to it's string representation. + + + + + + + C1ToolBar. + + + + + Initializes a new instance of the C1ToolBar class. + + + + + Releases the resources used by the C1ToolBar. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Resets the BackColor property to its default value. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Event fired when Reset command from Customize dialog is clicked. + + + + + Occurs when the value of the ButtonLookHors property changes. + + + + + Occurs when the value of the ButtonLookVert property changes. + + + + + Occurs when the value of the ButtonLookEnforceHors property changes. + + + + + Occurs when the value of the ButtonLookEnforceVert property changes. + + + + + Occurs when the value of the ButtonLayoutHors property changes. + + + + + Occurs when the value of the ButtonLayoutVert property changes. + + + + + Occurs when the value of the ButtonAlign property changes. + + + + + Occurs when the value of the ButtonWidth property changes. + + + + + Occurs when the value of the MinButtonSize property changes. + + + + + Occurs when the value of the CustomizeButton property changes. + + + + + Occurs when the value of the Border property changes. + + + + + Occurs when the value of the ToolBarStyle property changes. + + + + + Occurs when the value of the Horizontal property changes. + + + + + Occurs when the value of the ShowToolTips property changes. + + + + + Occurs when the value of the BackHiColor property changes. + + + + + Occurs when the value of the ForeHiColor property changes. + + + + + Occurs when an owner drawn link needs to be measured. + + + + + Occurs when an owner drawn link needs to layout its text, image and control within the link bounds. + + + + + Occurs when an owner drawn link needs to be drawn. + + + + + Occurs when an owner drawn menu or toolbar needs to be drawn. + + + + + Occurs when a floating toolbar's caption needs to be measured. Allows to customize the toolbar's size. + + + + + Occurs when a floating toolbar's caption needs to be drawn. Allows to owner draw the caption. + + + + + Occurs when the current command link changes. + + + + + Occurs when the value of the Wrap property changes. + + + + + Occurs when the value of the WrapText property changes. + + + + + Occurs when the VisualStyle property has changed. + + + + + Gets or sets a value indicating whether the control should hide the first delimiter. + + + C1CommandLink.Delimiter property shows a delimiter before a C1CommandLink present at C1ToolBar. The HideFirstDelimiter property hides the delimiter for the first visible C1CommandLink even the Delimiter property of the C1CommandLink is True. + + + + + Gets or sets the visual style of the control. + + + + + Gets or sets the background color for the control. + + + + + Gets or sets the background color of the highlighted item. + + + + + Gets or sets the text color of the highlighted item. + + + + + Indicates whether the toolbar is floating. + + + + + Gets or sets the orientation of the toolbar. + + + + + Gets or sets the value indicating whether the toolbar can be moved by the user. + + + + + Gets or sets the layout of the buttons when the toolbar is horizontal. + + + + + Gets or sets the layout of the buttons when the toolbar is vertical. + + + + + Gets or sets the default look of the buttons when the toolbar is horizontal. + + + + + Gets or sets the default look of the buttons when the toolbar is vertical. + + + + + Gets or sets the minimum size (width and height) of button in toolbar. + + + + + Gets or sets the width for all buttons (applies to horizontal toolbars only; if 0, buttons are individually sized). + + + + + Gets or sets the visibility of customize button. + + + + + Gets or sets the value indicating whether to force all buttons to comply with ButtonLookHorz. + + + + + Gets or sets the value indicating whether to force all buttons to comply with ButtonLookVert. + + + + + Gets the collection of commandlinks. + + + + + Gets the current layout of the buttons. + + + + + Gets the default look of the buttons in the current toolbar orientation. + + + + + Gets the value indicating whether to force all buttons to comply with ButtonLookCurrent. + + + + + Gets or sets the value indicating whether to show background image in the image bar of dropdown menus. + + + + + Gets or sets the appearance of the toolbar’s border. + + + + + Gets or sets the value indicating whether the toolbar automatically adjusts it size to fit all items. + + + + + Gets or sets the button alignment for vertical toolbars. + + + + + Gets or sets the style of the toolbar. + + + + + Gets or sets the value indicating whether to show tooltip texts when mouse cursor is over toolbutton. + + + + + Gets or sets the value indicating what can be customized in this toolbar. + + + + + Gets or sets the value indicating whether to wrap the toolbar or show a \"More...\" button if not all items fit on a single line. + + + + + Gets or sets the value indicating whether to wrap text in links when ButtonWidth is greater than zero and text doesn't fit. + + + + + Indicates whether the toolbar is in customize mode. + + + + + Gets or sets the value indicating whether the menu that is + automatically created when some items do not fit on the toolbar closes + when an item on that menu is clicked. + + + + + Represents a class for SideCaption property of a C1CommandMenu + + + + + Initializes a new instance of the C1SideCaption class. + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Gets or sets the text shown in the SideCaption. + + + + + Gets or sets the width of the SideCaption. + + + + + Gets or sets the gradient direction (horizontal, vertical, forward diagonal, or backward diagonal) in the SideCaption. + + + + + Gets or sets the direction of the text in the SideCaption. + + + + + Gets or sets the text alignment (near, far, or center) in the SideCaption. + + + + + Gets or sets the text layout for the SideCaption. + + + + + Gets or sets the font of the SideCaption. + + + + + Gets or sets the text color of the SideCaption. + + + + + Gets or sets the beginning color of the gradient for the SideCaption. + + + + + Gets or sets the ending color of the gradient for the SideCaption. + + + + + Gets or sets the SideCaption image. + + + + + Gets or sets the index of the image for the SideCaption in C1CommandHolder.ImageList. + + + + + Gets or sets the SideCaption icon. + + + + + Provides a type converter to convert C1Command to and from various other representations. + + + + + Returns whether this object supports properties. + + + + + + + + + Converts the given value object to the specified type. + + + + + + + + + + + + + + + This property is for internal use only. + + + + + Represents a Topic Bar + + + + + Initializes a new instance of the C1TopicBar class. + + + + + Initializes a new instance of the C1TopicBar class + + + + + + + Resets the LinkStyle property to its default value. + + + + + Returns information about the control at at the current mouse position. + + A object that contains information about the point. + + + + Returns information about the control at a specified point on the control surface. + + The horizontal position of the client coordinate. + The vertical position of the client coordinate. + A object that contains information about the point. + + This method is useful when handling the , events or similar. + It allows you to determine whether the mouse is over a specific link, page title, etc. + + + + + Returns information about the control at a specified point on the control surface. + + + in client coordinates. + A object that contains information about the point. + + This method is useful when handling the , events or similar. + It allows you to determine whether the mouse is over a specific link, page title, etc. + + + The code below shows hit test information whenever the user moves the mouse: + + Private Sub C1TopicBar1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles C1TopicBar1.MouseMove + Dim ht As C1.Win.C1Command.C1TopicBarHitTestInfo = C1TopicBar1.HitTest(e.Location) + Label1.Text = ht.Type.ToString() + If (Not IsNothing(ht.Page)) Then + Label2.Text = ht.Page.Text + Else + Label2.Text = "" + End If + If (Not IsNothing(ht.Link)) Then + Label3.Text = ht.Link.Text + Else + Label3.Text = "" + End If + End Sub + + + + + Collapses the all pages + + + + + Expands the all pages + + + + + Returns the first page with the specified text, or null if such a page does not exist. + + + + + Returns the first page with the specified value, or null if such a page does not exist. + + + + + Returns the first link with the specified value, or null if such a page does not exist. + + + + + Returns index of the first page with the specified text, or -1 if such a page does not exist. + + + + + Returns the first link with the specified text, or null if such a link does not exist. + + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + Gets or sets the alignment of the topicbar pages caption. + + + + + Gets or sets the value indicating whether to use animation when collapsing/expanding pages. + + + + + Gets or sets the ImageList that contains the images shown on page title bars. + + + + + Gets or sets the padding between a page border and a link. + + + + + Gets or sets the space between pages. + + + + + Gets the collection of topic bar pages. + + + + + Gets or sets a value indicating whether tool tip is shown when the mouse is over the page title bar. + + + + + Gets or sets the value indicating whether invisible pages and links are shown at design time. + + + + + Gets the style of the links on pages. + + + + + Gets or sets the visual style of the control. + + + + + Gets or sets a value indicating whether pages and links should display focus rectangles. + + + + + Occurs when a link on this topic bar is clicked. + + + + + Occurs when a page is expanded. + + + + + Occurs when a page is collapsed. + + + + + Occurs when the LinkStyle property has changed. + + + + + Occurs when the VisualStyle property has changed. + + + + + Represents a topic bar link. + + + + + Gets or sets the index of the link image in the ImageList of the page. + + + + + Index of this link in the topic page. + + + + + Gets or sets the text of the link. + + + + + Gets or sets the tooltip text for the link. + + + + + Gets or sets the value indicating whether the link is visible. + + + + + Gets the owner topicpage. + + + + + Gets the owner topicbar. + + + + + Gets or sets arbitrary data that can be associated with the link. + + + + + Gets or sets the value indicating whether the link is enabled. + + + + + Represents a collection of C1TopicLink objects. + + + + + Adds the specified link to the collection. + + + + + Searches for the specified link and returns the zero-based index. + + + + + Inserts the link into the specified zero-based position. + + + + + Removes the first occurrence of a specified link from the collection. + + + + + + + Determines whether the collection contains a specified link. + + + + + Gets or sets the link at the specified index. + + + + + Summary description for CTopicPage. + + + + + Initializes a new instance of the C1TopicPage class. + + + + + Returns the first link with the specified text, or null if such a link does not exist. + + + + + Returns the first link with the specified value, or null if such a link does not exist. + + + + + Collapses the page + + + + + Expands the page + + + + + Gets the index of this page in the topic bar. + + + + + Gets or sets the alignment of links on the page. + + + + + Gets or sets the value indicating whether the page is collapsed or not. + + + + + Gets or sets the value indicating whether the page has a special dark title. + + + + + Gets or sets the value indicating whether the expand/collapse button is shown on the page title. + + + + + Gets or sets the ImageList that contains the images shown in page links. + + + + + Gets or sets the index of the page title image in the topic bar’s ImageList. + + + + + Gets the collection of links on the page. + + + + + Gets or sets the caption of the page. + + + + + Gets or sets the tooltip text for the page. + + + + + Gets or sets the value indicating whether the page is visible. + + + + + Gets or sets the value indicating whether wide link texts wrap. + + + + + Gets or sets arbitrary data that can be associated with the page. + + + + + Gets the owner topicbar. + + + + + Represents a collection of C1TopicPage objects. + + + + + Adds the specified page to the collection. + + + + + Searches for the specified page and returns the zero-based index. + + + + + Inserts the page into the specified zero-based position. + + + + + Removes the first occurrence of a specified page from the collection. + + + + + + + Determines whether the collection contains a specified page. + + + + + Gets or sets the page at the specified index. + + + + + Represents a main customization form. + + + + + A TabPage, describing toolbars. + + + + + A TabPage, describing available commands. + + + + + OK button. + + + + + Cancel button. + + + + + A button for adding a new toolbar. + + + + + A button for deleting toolbar. + + + + + A list of all command categories. + + + + + A Label control. + + + + + A Label control. + + + + + A Label control. + + + + + A RadioButton control. + + + + + A RadioButton control. + + + + + A RadioButton control. + + + + + A RadioButton control. + + + + + A RadioButton control. + + + + + A RadioButton control. + + + + + A RadioButton control. + + + + + A RadioButton control. + + + + + A button for saving toolbar layout. + + + + + A button to restoring toolbar layout. + + + + + A Panel control. + + + + + A Panel control. + + + + + A Label control. + + + + + A StatusBar control. + + + + + A StatusBarPanel control. + + + + + A button to reset toolbar layout. + + + + + A list of all customizable toolbars. + + + + + A GroupBox control. + + + + + A GroupBox control. + + + + + A CheckBox switching visibility of Customize link in the selected toolbar. + + + + + A TabControl control. + + + + + A GroupBox control. + + + + + A GroupBox control. + + + + + A RadioButton control. + + + + + A RadioButton control. + + + + + A RadioButton control. + + + + + A TabPage control. + + + + + A GroupBox control. + + + + + A CheckBox control. + + + + + A GroupBox control. + + + + + A button to call Font dialog. + + + + + A button to call Color dialog. + + + + + A button to call Color dialog. + + + + + A Font dialog. + + + + + A Color dialog. + + + + + A NumericUpDown control. + + + + + A CheckedListBox control. + + + + + A ComboBox control. + + + + + A Label control. + + + + + A Label control. + + + + + Initializes a new instance of the C1CustomizerForm class. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Finds first command in C1CommandHolder belongs to category. + + Category name. + + + + + + Finds next command in C1CommandHolder belongs to category. + + Category name. + + + + + + The form, which is owner for this form. + + + + + Represents dialog for entering a new toolbar name. + + + + + The Textbox control + + + + + The Label control + + + + + OK button + + + + + Cancel button + + + + + Initializes a new instance of the C1NewToolbarForm class. + + + + + Releases the resources used by the C1NewToolbarForm. + + + + + + + The name of new toolbar + + + + + This class is for internal use only. + + + + + Initializes a new instance of the AllDockingTabs class. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + + + + + + + This property is for internal use only. + + + + + This class is for internal use only. + + + + + Initializes a new instance of the C1CommandDockReflector class. + + + + + This method is for internal use only. + + + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This class is for internal use only. + + + + + Initializes a new instance of the C1DockingTabReflector class. + + + + + This method is for internal use only. + + + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This class is for internal use only. + + + + + Initializes a new instance of the C1DockingTabPageReflector class. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + Use the members of this enumeration to set the values of ButtonLook, ButtonLookHorz, + and ButtonLookVert properties of the C1CommandLink class. + + The members of this enumeration can be combined using the bitwise OR operation. + + + + + Use the default value for the toolbar. + + + + + Show button text. + + + + + Show button image. + + + + + Show button text and image. + + + + + Specifies the relative location of text and image on toolbar buttons. + + Use members of this enumeration to set the ButtonLayoutHorz and ButtonLayoutVert properties of C1Toolbar. + + + + + Text is on the right of the image. + + + + + Text is on the left of the image. + + + + + Text is below the image. + + + + + Text is above the image. + + + + + Specifies position of close box in locked mode. + + + + + Default position of close box. + + + + + Close box on the active tab. + + + + + Close boxes on the all tabs. + + + + + Defines behavior on C1DockingTabPage's CloseBox click. + + + + + Closes the and removes it from collection. + + + + + Set the property to false. + + + + + Specifies the current state of a menu or toolbar item. + + + + + Normal (default) state. + + + + + Mouse is currently over the item. + + + + + Item has been pressed (either by the left mouse button or by the space key). + + + + + Item contains a submenu, which is currently open. + + + + + Item is being dragged during customizing or at design-time. + + + + + Specifies the behavior of a menu when all its items do not fit on the screen. + + Use the members of this enumeration to set the value of the LargeMenuDisplay property in the C1CommandMenu class. + + + + + When a menu does not fit on the screen, it is wrapped. + + + + + When a menu does not fit on the screen, it is scrolled. + + + + + Enumerates customizable user interface strings. + Elements of this enumeration can be used to index strings in the UIStrings array. + + + + + Text of the "More..." command. + + + + + Text of the "Toolbar Options" command. + + + + + Text of the "Add or Remove Buttons" command. + + + + + Text of the "Reset" command. + + + + + Text of the "Customize..." command. + + + + + Text of the Rename toolbar dialog command. + + + + + Allows to translate/customize the "duplicate toolbar" message in the customizer. + + + + + Text of the "More Windows" menu item created by C1CommandMdiList. + + + + + 'Allows to translate/customize the "confirm toolbar delete" question in the customizer. + + + + + Allows to translate/customize the status strings in the customizer. + + + + + Allows to translate/customize the status strings in the customizer. + + + + + Allows to translate/customize the status strings in the customizer. + + + + + Allows to translate/customize the status strings in the customizer. + + + + + Tooltip for the close C1DockingTab button. + + + + + Tooltip for the auto hide C1DockingTab button. + + + + + Tooltip for the scroll right C1DockingTab button. + + + + + Tooltip for the scroll left C1DockingTab button. + + + + + Tooltip for the tab list C1DockngTab button. + + + + + Show item in the NavBar menu. + + + + + Hide item in the NavBar menu. + + + + + Options item in the NavBar menu. + + + + + Add/remove item in the NavBar menu. + + + + + Customize item in the NavBar menu. + + + + + Collapsed bar text in the NavBar. + + + + + Specifies the look and feel of a control. + + + + + Office XP look and feel. + + + + + Classic look and feel. + + + + + Windows XP look and feel. + + + + + Office 2003 look and feel. + + + + + Office 2007 look and feel. + + + + + Office 2010 look and feel. + + + + + Specifies the style of the toolbar. + + Use members of this enumeration to set the value of the ToolBarStyle property of a C1ToolBar. + + + + + Specifies a toolbar in the default state. + + + + + Specifies drawing toolbar like DropDownMenu. + + + + + Specifies which customization options are available at runtime. + + Use members of this enumeration to set the value of the CustomizeOptions property of a C1ToolBar. + + The members of this enumeration can be combined using the bitwise OR operation. + + + + + Nothing is allowed. + + + + + Toolbars can be deleted. + + + + + A new C1CommandLink can be added to a toolbar. + + + + + Command links in toolbar can be removed. + + + + + Customize button can be enabled or disabled. + + + + + Hides Customize menu item from Add and Remove Buttons menu. + + + + + Allow all actions. + + + + + Specifies the text direction. + + Use members of this enumeration to set the value of the TabTextDirection property of a C1DockingTab. + + + + + The default direction: Horizontal for tabs on the top or bottom, VerticalLeft for tabs on the left, VerticalRight for tabs on the right. + + + + + Text is drawn horizontally. + + + + + Text is drawn vertically, turned 90 degrees counter-clockwise. + + + + + Text is drawn vertically, turned 90 degrees clockwise. + + + + + Specifies how tabs of a C1DockingTab are sized. + + Use members of this enumeration to set the value of the TabSizeMode property of a C1DockingTab. + + + + + The default sizing mode. + + + + + All tabs are squeezed to fit into the width of the tab control. + + + + + Tabs are stretched to take the whole width of the tab control. + + + + + The user can specify the tab size in the MeasureTab event. + + + + + Specifies how the tabs of a C1DockingTab control look. + + + + + Visual Studio 2003 look. + + + + + Use VS2003 instead. + + + + + Windows XP look. + + + + + Classic look. + + + + + Tabs are sloped on one side. + + + + + Tabs are rounded. + + + + + Tabs are drawn using the Office 2003 style. + + + + + Tabs are drawn using the Office 2007 style. + + + + + Tabs are drawn using the Office 2010 style. + + + + + Specifies how the window outline is drawn when the window is being moved. + + + + + Draws the outline with a checkered pattern of black and transparent pixels. + + + + + Draws a reversible line with a complimentary color. + + + + + Specifies how the hot frame is drawn on a command link with an embedded control. + + Use members of this enumeration to set the value of the HotFrame property of a C1CommandControl. + + + + + The frame encloses the whole link. + + + + + The frame encloses just the control. + + + + + Hot frame/selection is not drawn. + + + + + Defines behavior of floating windows when the application loses focus. + + + + + Default float hide behavior. + + + Same to float hide behavior. + + + + + Hides floating docking tabs when the application loses focus. + + + + + Never hides floating docking tabs. + + + + + Enumerates the Outlook-style navigation bar buttons. + + + + + Unspecified button. + + + + + Custom button. + + + + + Mail button. + + + + + Calendar button. + + + + + Contacts button. + + + + + Tasks button. + + + + + Notes button. + + + + + Folder button. + + + + + Shortcut button. + + + + + Journal button. + + + + + Specifies the visibility and function of the navigation bar's close button. + + + + + The close button is not shown. + + + + + Clicking the close button closes the currently selected panel. + + + + + Clicking the close button closes the whole navigation bar. + + + + + Specifies the direction in which the navigation bar is collapsed. + + + + + The direction in which the bar collapses is determined by the value of the control's Dock property. + + + + + The bar collapses to the left. + + + + + The bar collapses to the right. + + + + + The bar collapses to the top. + + + + + The bar collapses to the bottom. + + + + + Specifies how it is determined whether to animate the menus or not. + + + + + Animation is determined by the system-wide setting. + + + + + Animation is off. + + + + + Animation is on. + + + + + Determines the visual style of a control. + + + + + Custom style. + + + + + Standard system style. + + + + + MS Office 2010 Blue color scheme. + + + + + MS Office 2010 Black color scheme. + + + + + MS Office 2010 Silver color scheme. + + + + + MS Office 2007 Blue color scheme. + + + + + MS Office 2007 Black color scheme. + + + + + MS Office 2007 Silver color scheme. + + + + + MS Office 2003 Blue color scheme. + + + + + MS Office 2003 Olive color scheme. + + + + + MS Office 2003 Silver color scheme. + + + + + MS Office XP color scheme. + + + + + Classic color scheme. + + + + + Windows XP color scheme. + + + + + Specifies docking behavior of C1DockingTab controls. + + + + + Default docking style. + + + If the DockingStyle property is set to Default, + docking works without the selectors: when you drag a floating panel over another panel, + a gray frame appears to show you the position that the instance of C1DockingTab will + have once you release it. + + + + + Visual studio 2005 - like docking style. + + + The VS2005 docking style feedback is similar to Visual Studio 2005, using docking zone + selectors to specify where the dragged view will be docked if you release it. + + + + + Visual studio 2008 - like docking style. + + + The VS2008 docking style feedback is similar to Visual Studio 2008, using docking zone + selectors to specify where the dragged view will be docked if you release it. + + + + + Visual studio 2010 - like docking style. + + + The VS2010 docking style feedback is similar to Visual Studio 2010, using docking zone + selectors to specify where the dragged view will be docked if you release it. + + + + + Members of this enumeration are used to determine the value of the ClickSource property in the ClickEventArgs class. + + + + + Click source undefined. + + + + + Click source is a menu. + + + + + Click source is a shortcut key. + + + + + Click source is external. + + + + + Describes data related to the invokation of a context menu + + + + + Initializes a new instance of the ContextInfo class + + The control where the context menu was shown. + The location inside the Source control where the context menu was shown. + + + + Returns the control where the context menu was shown. + + + + + Return the location inside the Source control where the context menu was shown. + + + + + Arguments for the command Click event handler. + + + + + ClickEventArgs with empty arguments + + + + + Initializes a new instance of the ClickEventArgs class + + Determines whether the click event was caused by a menu selection, shortcut key, or other means. + Gets the command link which caused the click event to occur. + Gets the context info for clicks which originated in a context menu. + + + + Determines whether the click event was caused by a menu selection, shortcut key, or other means. + + + + + Gets the command link which caused the click event to occur. + + + + + Gets the context info for clicks which originated in a context menu. + + + + + Represents the method that will handle a Click event. + + The source of the event. + A ClickEventArgs object that contains the event data. + + + + Arguments for the CommandClick event handler. + + + + + CommandClickEventArgs with empty arguments + + + + + Initializes a new instance of the CommandClickEventArgs class + + The command invoked by the user. + Determines what caused the click event to occur. + Gets the command link which was clicked by the user. + Gets the context info for events fired from a context menu. + + + + Initializes a new instance of the CommandClickEventArgs class + + The command invoked by the user. + A BeforeSelectWindowEventArgs object that contains the event data. + + + + Gets the command clicked. + + + + + Represents the method that will handle a CommandClick event. + + The source of the event. + A CommandClickEventArgs object that contains the event data. + + + + Arguments for the check auto toggle event handler. + + + + + Initializes a new instance of the CheckedChangedEventArgs class + + A new value of Checked property. + + + + Returns a new value of Checked property. + + + + + Represents the method that will handle a CheckedChanged event. + + The source of the event. + A CheckedChangedEventArgs object that contains the event data. + + + + Arguments for the command status query event handler. + + + + + Determines whether the command is visible. + + + + + Determines whether the command is enabled. + + + + + Determines whether the command is checked. + + + + + Determines whether the command is pressed. + + + + + Represents the method that will handle a CommandStateQuery event. + + The source of the event. + A CommandStateQueryEventArgs object that contains the event data. + + + + Arguments for the before select MDI child window event handler. + + + + + Initializes a new instance of the BeforeSelectWindowEventArgs class + + The window or dialog box selected. + + + + The window or dialog box selected. + + + + + Represents the method that will handle a BeforeSelectWindow event. + + The source of the event. + A BeforeSelectWindowEventArgs object that contains the event data. + + + + Provides data for the CustomizeToolBar event. + + + + + Gets the tool bar. + + + + + Initializes a new instance of the CustomizeToolBarEventArgs class + + The tool bar just customized + + + + Represents the method that will handle a CustomizeToolBar event. + + The source of the event. + A CustomizeToolBarEventArgs object that contains the event data. + + + + Provides data for the CustomizeLink event. + + + + + Gets the tool bar for the command link. + + + + + Gets the command link. + + + + + Initializes a new instance of the CustomizeLinkEventArgs class + + Gets the tool bar for the command link. + Gets the command link. + + + + Represents the method that will handle a CustomizeLink event. + + The source of the event. + A CustomizeLinkEventArgs object that contains the event data. + + + + Provides data for the DropDown event. + + + + + Gets the command link which was selected by the user. + + + + + Gets the screen coordinates of command link. + + + + + Initializes a new instance of the DropDownEventArgs class + + Gets the command link which was selected by the user. + Gets the screen coordinates of command link. + + + + Represents the method that will handle a DropDown event. + + The source of the event. + A DropDownEventArgs object that contains the event data. + + + + Provides data for the MeasureLink event. + + + + + Initializes a new instance of the MeasureLinkEventArgs class + + Specifies the Graphics object to use for measuring. + Specifies the link that needs to be measured. + Specifies the width of the link. + Specifies the height of the link. + + + + Specifies the link that needs to be measured. + + + + + Specifies the Graphics object to use for measuring. + + + + + Specifies the width of the link. + + + + + Specifies the height of the link. + + + + + Represents the method that will handle a MeasureLink event. + + The source of the event. + A MeasureLinkEventArgs object that contains the event data. + + + + Provides data for the LayoutLink event. + + + + + Specifies the command link for the layout. + + + + + The bounding rectangle of the command link. + + + + + Text rectangle layout. + + + + + Image rectangle layout. + + + + + The location of the nested control (valid only if the command is a C1CommandControl). + + + + + Initializes a new instance of the LayoutLinkEventArgs class + + Specifies the command link for the layout. + The bounding rectangle of the command link. + Text rectangle layout. + Image rectangle layout. + The location of the nested control + + + + Represents the method that will handle a LayoutLink event. + + The source of the event. + A LayoutLinkEventArgs object that contains the event data. + + + + Provides data for the DrawLink event. + + + + + The command link to draw. + + + + + The Graphics object to draw on. + + + + + The bounding rectangle of the link. + + + + + Flag indicating whether the user completed the drawing. If set to true, no further drawing is performed. + Otherwise, the default drawing is done. + + + + + Initializes a new instance of the DrawLinkEventArgs class + + The Graphics object to draw on. + The command link to draw. + The bounding rectangle of the link. + Flag indicating whether the user completed the drawing. + + + + Represents the method that will handle a DrawLink event. + + The source of the event. + A DrawLinkEventArgs object that contains the event data. + + + + Provides data for the DrawBar event. + + + + + The Graphics object to draw on. + + + + + The bounding rectangle of the bar (menu or toolbar). + + + + + The graphics path bounding the bar (menu or toolbar). + + + + + Flag indicating whether the user completed the drawing. If set to true, no further drawing is performed. + Otherwise, the default drawing is done. + + + + + Initializes a new instance of the DrawBarEventArgs class + + The Graphics object to draw on. + The bounding rectangle of the bar + The graphics path bounding the bar + Flag indicating whether the user completed the drawing. + + + + Represents the method that will handle a DrawBar event. + + The source of the event. + A DrawBarEventArgs object that contains the event data. + + + + Provides data for the MeasurePage event. + + + + + The C1OutPage object to measure. + + + + + Specifies the Graphics object to use for measuring. + + + + + The height of the page caption. + + + + + Initializes a new instance of the MeasurePageEventArgs class + + Specifies the Graphics object to use for measuring. + The C1OutPage object to measure. + The height of the page caption. + + + + Represents the method that will handle a MeasurePage event. + + The source of the event. + A MeasurePageEventArgs object that contains the event data. + + + + Provides data for the DrawPage event. + + + + + The page to draw. + + + + + The Graphics object to draw on. + + + + + The bounding rectangle of the page. + + + + + Flag indicating whether the user completed the drawing. If set to true, no further drawing is performed. + Otherwise, the default drawing is done. + + + + + Initializes a new instance of the DrawPageEventArgs class. + + The Graphics object to draw on. + The page to draw. + The bounding rectangle of the page. + Flag indicating whether the user completed the drawing. + + + + Represents the method that will handle a DrawPage event. + + The source of the event. + A DrawPageEventArgs object that contains the event data. + + + + Provides data for the PageClick event. + + + + + The page clicked. + + + + + Initializes a new instance of the DrawPageEventArgs class. + + The page clicked. + + + + Represents the method that will handle a DrawPage event. + + The source of the event. + A PageClickEventArgs object that contains the event data. + + + + Provides data for the MeasureTab event. + + + + + The C1DockingTabPage object to measure. + + + + + Specifies the Graphics object to use for measuring. + + + + + The width of the tab. + + + + + Initializes a new instance of the MeasureTabEventArgs class. + + Specifies the Graphics object to use for measuring. + The C1DockingTabPage object to measure. + The width of the tab.. + + + + Represents the method that will handle a MeasureTab event. + + The source of the event. + A MeasureTabEventArgs object that contains the event data. + + + + Provides data for the AutoCreatedDockingTab event. + + + + + Gets the new DockingTab. + + + + + Initializes a new instance of the AutoCreatedDockingTabEventArgs class + + The new DockingTab. + + + + Represents the method that will handle a AutoCreatedDockingTab event. + + The source of the event. + A AutoCreatedDockingTabEventArgs object that contains the event data. + + + + Provides data for the DrawTab event. + + + + + The tab page to draw. + + + + + The Graphics object to draw on. + + + + + The bounding rectangle of the tab. + + + + + Flag indicating whether the user completed the drawing. If set to true, no further drawing is performed. + Otherwise, the default drawing is done. + + + + + Initializes a new instance of the DrawTabEventArgs class + + The Graphics object to draw on. + The tab page to draw. + The bounding rectangle of the tab. + Flag indicating whether the user completed the drawing. + + + + Represents the method that will handle a DrawTab event. + + The source of the event. + A DrawTabEventArgs object that contains the event data. + + + + Provides data for the DrawArrow event. + + + + + The Graphics object to draw on. + + + + + The bounding rectangle of the Arrow button. + + + + + Gets the value if button is enabled. + + + + + Gets the value if button is pressed. + + + + + Indicates if Up button is drawn or not. + + + + + Flag indicating whether the user completed the drawing. + + + + + Initializes a new instance of the DrawArrowEventArgs class + + The Graphics object to draw on. + The bounding rectangle of the Arrow button. + Gets the value if button is enabled. + Gets the value if button is pressed. + Indicates if Up button is drawn or not. + Flag indicating whether the user completed the drawing. + + + + Represents the method that will handle a DrawArrow event. + + The source of the event. + A DrawArrowEventArgs object that contains the event data. + + + + Provides data for the MeasureFloatingCaption event. + + + + + The Graphics object to use for measuring. + + + + + The height of the floating caption. + + + + + Initializes a new instance of the MeasureFloatingCaptionEventArgs class + + The Graphics object to use for measuring. + The height of the floating caption. + + + + Represents the method that will handle a MeasureFloatingCaption event. + + The source of the event. + A MeasureFloatingCaptionEventArgs object that contains the event data. + + + + Provides data for the DrawFloatingCaption event. + + + + + The Graphics object to draw on. + + + + + The bounding rectangle of the floating caption. + + + + + Flag indicating whether the user completed the drawing. If set to true, no further drawing is performed. + Otherwise, the default drawing is done. + + + + + Initializes a new instance of the DrawFloatingCaptionEventArgs class + + The Graphics object to draw on. + The bounding rectangle of the floating caption. + Flag indicating whether the user completed the drawing. + + + + Represents the method that will handle a DrawFloatingCaption event. + + The source of the event. + A DrawFloatingCaptionEventArgs object that contains the event data.. + + + + Provides data for the CommandLinkAdded or CommandLinkRemoved event. + + + + + Gets the command link. + + + + + Initializes a new instance of the CommandLinkEventArgs class + + + + + + + Represents the method that will handle a CommandLinkAdded or CommandLinkRemoved event. + + The source of the event. + A CommandLinkEventArgs object that contains the event data. + + + + Provides data for the SelectedIndexChanging event. + + + + + Indicates the new index of the selected tab page. + + + + + Indicates whether the change of the selected index can be cancelled by the event handler. + + + + + Initializes a new instance of the SelectedIndexChangingEventArgs class + + Indicates the new index of the selected tab page. + Indicates whether the change of the selected index can be cancelled by the event handler. + + + + Represents the method that will handle a SelectedIndexChanging event. + + The source of the event. + A SelectedIndexChanging object that contains the event data. + + + + Provides data for the TabPageClosed event. + + + + + Indicates the tab page. + + + + + Initializes a new instance of the TabPageEventArgs class + + Indicates the tab page. + + + + Represents the method that will handle a TabPageClosed event. + + The source of the event. + A TabPageEventArgs object that contains the event data. + + + + Provides data for the TabPageClosing event. + + + + + Indicates the tab page. + + + + + Initializes a new instance of the TabPageCancelEventArgs class + + Indicates the tab page + + + + Represents the method that will handle a TabPageClosing event. + + The source of the event. + A TabPageCancelEventArgs object that contains the event data. + + + + Provides data for the PanelClosed event. + + + + + Indicates the tab page. + + + + + Initializes a new instance of the PanelEventArgs class + + Indicates the navbar panel. + + + + Represents the method that will handle a PanelClosed event. + + The source of the event. + A PanelEventArgs object that contains the event data. + + + + Provides data for the PanelClosing event. + + + + + Indicates the nav bar panel. + + + + + Initializes a new instance of thePanelCancelEventArgs class + + Indicates the nav bar panel + + + + Represents the method that will handle a PanelClosing event. + + The source of the event. + A PanelCancelEventArgs object that contains the event data. + + + + Type of topic bar element at a specific point on the control. + + + + + The point is out of the C1TopicBar's area. + + + + + The point is in the C1TopicBar's empty area. + + + + + The point is on empty space of a page title area (not over a text, image or expand/collapse indicator). + + + + + The point is on expand/collapse indicator of a page title. + + + + + The point is on image of a page title. + + + + + The point is on text of a page title. + + + + + The point is on a page body (but not on a link). + + + + + The point is on empty space of a link (not over a text or image). + + + + + The point is on image of a link. + + + + + The point is on text of a link. + + + + + Contains information, such as the page and the link + in the control. + + + Use the method to obtain a value. + + + + + Gets a that describes the type of element described by a . + + + This property allows you to determine whether the point corresponds to a topic link or + to special elements such as title image or text, and so on. + + + + Get the at the point being tested (if the point does not correspond to a page, it returns null). + + + + + Get the at the point being tested (if the point does not correspond to a page, it returns null). + + + + + Static class containing UI strings used by the designer. + + + + + Represents a radial menu. + + + + + Initializes a new instance of the C1RadialMenu class. + + + + This method is for internal use only. + + + This method is for internal use only. + + + + Shows the radial menu at the specified screen point. + If the menu is currently visible at another location, it is hidden first. + + The owner form. + The radial menu center's screen coordinates. + Indicates whether the menu should show initially expanded. + + + + Hides the radial menu if it is currently visible. + + + + + Moves the radial menu if it is currently visible, + does nothing otherwise. + + The X offset. + The Y offset. + + + + Occurs when a public property has changed. + + + + + Occurs when the menu is closed. + + + + + Occurs when a menu item is clicked. + + + If the clicked item has its own Click event associated with it, + that event occurs immediately before this one. + + + + + Gets or sets the menu radius in the expanded state. + The default value is 160. + + + + Gets or sets the radius of the central button. + The default value is 28. + + + + Gets or sets the radius separating the area filled with items' background color on the outside + from the inner area filled with radial menu's own background. + The default value is 70. + + + + Gets or sets the width of the radial menu's outer border. + The default value is 24. + + + + Gets or sets the position of the tooltip relative to the radial menu. + The default value is "left". + + + + Gets or sets a value indicating whether the menu should use animation effects. + The default value is true. + + + + Gets or sets the collection of items contained in this menu. + + + + + Gets or sets the image shown in the radial menu's center button. + + + + + Gets or sets the cursor used by the radial menu. + The default value is "hand". + + + + Gets or sets a value indicating whether the radial menu should automatically hide + on certain events (such as lost focus etc). + The default is true. + + + + Gets or sets a value indicating whether the radial menu is enabled. + The default is true. + + + + Gets a value indicating whether the radial menu is currently visible. + + + + + Gets a value indicating whether the radial menu is currently expanded. + + + + + Gets or sets the screen coordinates of the menu's center. + If the menu is currently invisible ( is false), + setting this property throws an exception. + + + + + Arguments for the RadialMenuItemClickEventHandler event handler. + + + + + Initializes a new instance of the RadialMenuItemClickEventArgs class. + + The item that was clicked. + + + + Gets the item that was clicked. + This may be either an object of a type derived from , + or a . + + + + + If the clicked item was a , returns that item; + otherwise, returns null. + + + + + If the clicked item was a , returns that link; + otherwise, returns null. + + + + + Represents the method that will handle a RadialMenuItemClick event. + + The source of the event. + A RadialMenuItemClickEventArgs object that contains the event data. + + + + Specifies where to show menu tooltips relative to the radial menu. + + + + + Tooltips are not shown. + + + + + Tooltips are shown to the left of the menu. + + + + + Tooltips are shown above the menu. + + + + + Tooltips are shown to the right of the menu. + + + + + Tooltips are shown below the menu. + + + + + Abstract base class for items in a radial menu. + + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + + Gets or sets the name used to identify the item. + + + + + Gets or sets the text associated with the menu item. + + + + + Gets or sets the tooltip associated with the menu item. + + + + + Gets or sets the image associated with the menu item. + + + + + Gets or sets a value indicating whether the menu item is checked. + + + + + Gets or sets a value indicating whether the menu item is enabled. + + + + + Represents a radial menu item, possibly with a sub-menu. + + + + + Initializes a new instance of the RadialMenuItem class. + + + + + Invokes the Click event. + + + + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + + Gets or sets the collection of items contained in this menu item. + + + + + Occurs when the menu item is clicked. + + + + + Gets the parent of this menu item (which may be either a , + or another ). + + + + + Gets or sets the background color of this menu item. + Empty (default) means that item background specified for the whole menu is used. + + + + + Gets or sets the highlight color of this menu item. + Empty (default) means that item highlight color specified for the whole menu is used. + + + + + Gets or sets the check mark color of this menu item. + Empty (default) means that item check mark color specified for the whole menu is used. + + + + + Gets or sets the non-expandable border color of this menu item. + Empty (default) means that item non-expandable border color specified for the whole menu is used. + + + + + Gets or sets the hot expandable border color of this menu item. + Empty (default) means that style specified for the whole menu is used. + + + + + Gets or sets an arbitrary object that can be associated with this menu item. + + + + + Represents a radial menu item associated with a . + + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + + Gets or sets the associated with this menu item. + + + + + Overridden. Gets or sets the text shown by this menu item. + Note that setting this property does not change the text + on the associated C1Command. + + + + + Overridden. Gets or sets the tooltip shown by this menu item. + Note that setting this property does not change the tooltip + on the associated C1Command. + + + + + Overridden. Gets or sets the image shown by this menu item. + Note that setting this property does not change the image + on the associated C1Command. + + + + + Simple stack with indexed access, based on System.Collections.ArrayList + + + + + Provides data for a Hook event. + + + + + Hook code. + + + + + WPARAM argument. + + + + + LPARAM argument. + + + + + Hook Types + + + + + Installs a hook procedure that monitors messages generated as a result of an input event in a dialog box, message box, menu, or scroll bar. + + + + + Installs a hook procedure that records input messages posted to the system message queue. + + + + + Installs a hook procedure that posts messages previously recorded by a WH_JOURNALRECORD hook procedure. + + + + + Installs a hook procedure that monitors keystroke messages. + + + + + Installs a hook procedure that monitors messages posted to a message queue. + + + + + Installs a hook procedure that monitors messages before the system sends them to the destination window procedure. + + + + + Installs a hook procedure that receives notifications useful to a computer-based training (CBT) application. + + + + + Installs a hook procedure that monitors messages generated as a result of an input event in a dialog box, message box, menu, or scroll bar. + + + + + Installs a hook procedure that monitors mouse messages. + + + + + This hook is not currently implemented in Win32. + + + + + Installs a hook procedure useful for debugging other hook procedures. + + + + + Installs a hook procedure that receives notifications useful to shell applications. + + + + + Installs a hook procedure that will be called when the application's foreground thread is about to become idle. + + + + + Installs a hook procedure that monitors messages after they have been processed by the destination window procedure. + + + + + Installs a hook procedure that monitors low-level keyboard input events. + + + + + Installs a hook procedure that monitors low-level mouse input events. + + + + \ No newline at end of file diff --git a/Logbuch/Logbuch/bin/Debug/C1.Win.C1Command.4.dll b/Logbuch/Logbuch/bin/Debug/C1.Win.C1Command.4.dll new file mode 100644 index 0000000..93a1262 Binary files /dev/null and b/Logbuch/Logbuch/bin/Debug/C1.Win.C1Command.4.dll differ diff --git a/Logbuch/Logbuch/bin/Debug/C1.Win.C1Command.4.xml b/Logbuch/Logbuch/bin/Debug/C1.Win.C1Command.4.xml new file mode 100644 index 0000000..00300fc --- /dev/null +++ b/Logbuch/Logbuch/bin/Debug/C1.Win.C1Command.4.xml @@ -0,0 +1,11056 @@ + + + + C1.Win.C1Command.4 + + + + + Represents a handler for an item related event. + + + + + Provides data for an item related event. + + + + + Gets key of the item being added or changed. + + The key. + + + + Gets the string value. + + The value. + + + + Gets a value indicating whether this instance is default. + + + true if this instance is default; otherwise, false. + + + + + Gets the description. + + The description. + + + + Represents a collection of end user visible UI strings. + + + + + Adds a string to the collection, specifying the ordinal. + + The key of the string. + The ordinal of the string. + The string. + The description of the string. + + + + Adds a string to the collection in alphabetical order. + + The key of the string. + The string. + The description of the string. + + + + Adds a string to the collection, preserving the order. + + The key of the string. + The string. + The description of the string. + + + + Sets all strings in collection to their default values. + + + + + Indicates whether any of the strings in the current collection + have non-default values. + + + true if any of the strings have non-default values, false otherwise. + + + + Tests whether a string in the collection has default value. + + The key of the string to test. + + true if the string has default value, false otherwise. + + + + Returns the description of a string. + + The key of the string to get the description of. + The string's description + + + + Resets a string to its default value. + + The key of the string to reset. + + + + Returns the key of an item with the specified index. + + The item index. + The item's key. + + + + Gets the string by its index. + + The string index. + The string. + + + + Sets the value of a string with the specified index. + + The string index. + The new string value. + + + + Fires the event. + + The event data. + + + + Fires the event. + + The event data. + + + + Fires the event. + + The event data. + + + + Gets the number of elements contained in the collection. + + + + + Occurs when a new item is added to the collection. + + + + + Occurs when an item in the collection is changed. + + + + + Occurs when the collection has been changed. + + + + + Provides type conversion for the type. + + + + + For internal use. + + + + + + + + + + + + + + + For internal use. + + + + + + + + + + + + + For internal use. + + + + + + + + + C1CommandLink serves as a link to a C1Command component. + C1CommandLink can be added to menu/tool bars and customized as needed. + The actual action is performed by the C1Command proxy points to. + + + + + Initializes a new instance of the C1CommandLink class. + + + + + Initializes a new instance of the C1CommandLink class. + + + + + + + Releases the resources used by the C1CommandLink. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Occurs when the value of the Command property of the command link changes. + + + + + Event fired when the ToolTip property of commandlink is changed. + + + + + Event fired when the Text property of commandlink is changed. + + + + + Event fired when the Delimiter property of commandlink is changed. + + + + + Event fired when the ButtonLook property of commandlink is changed. + + + + + Event fired when the AlwaysRecent property of commandlink is changed. + + + + + Event fired when the MergeType property of commandlink is changed. + + + + + Event fired when the MergeOrder property of commandlink is changed. + + + + + Event fired when the NewColumn property of commandlink is changed. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + Gets or sets the linked command. + + + + + If set, overrides the Command text. + + + + + If set, overrides the Command tooltip text. + + + + + Gets or sets a value indicating whether this item is default in a dropdown or context menu. + + + + + Gets or sets a value indicating whether this item is owner-drawn. + + + + + Gets or sets a value indicating whether a delimiter should be drawn before this item. + + + + + Gets or sets the value indicating whether this link starts a new column in the menu. + + + + + Gets or sets a value controlling how to show the item. + + + + + Gets or sets a value indicating the behavior of this menu item when its menu is merged with another. + + + + + Gets or sets a value indicating the relative position of the menu item when it is merged with another. + + + + + Gets or sets a value determining the relative position of the item. + + + + + Gets or sets the value indicating whether the item is always recent (is never hidden when hiding non-recent links is on) + + + + + Shortcut to linked command's Enabled property. + + + + + Shortcut to linked command's Visible property. + + + + + Returns true if the linked command is enabled and contains a submenu. + + + + + Gets the object (menu, toolbar etc.) containing this command link. + + + + + Gets the current state of the command link (normal, hot, pressed, open). + + + + + Gets the current index in CommandLinks collection for recent links. + + + + + Indicates whether this link is a service link (more, customize, scroll button). + + + + + Indicates whether this link is a More link. + + + + + Represents a main customization form. + + + + + A TabPage, describing toolbars. + + + + + A TabPage, describing available commands. + + + + + OK button. + + + + + Cancel button. + + + + + A button for adding a new toolbar. + + + + + A button for deleting toolbar. + + + + + A list of all command categories. + + + + + A Label control. + + + + + A Label control. + + + + + A Label control. + + + + + A RadioButton control. + + + + + A RadioButton control. + + + + + A RadioButton control. + + + + + A RadioButton control. + + + + + A RadioButton control. + + + + + A RadioButton control. + + + + + A RadioButton control. + + + + + A RadioButton control. + + + + + A button for saving toolbar layout. + + + + + A button to restoring toolbar layout. + + + + + A Panel control. + + + + + A Panel control. + + + + + A Label control. + + + + + A StatusBar control. + + + + + A StatusBarPanel control. + + + + + A button to reset toolbar layout. + + + + + A list of all customizable toolbars. + + + + + A GroupBox control. + + + + + A GroupBox control. + + + + + A CheckBox switching visibility of Customize link in the selected toolbar. + + + + + A TabControl control. + + + + + A GroupBox control. + + + + + A GroupBox control. + + + + + A RadioButton control. + + + + + A RadioButton control. + + + + + A RadioButton control. + + + + + A TabPage control. + + + + + A GroupBox control. + + + + + A CheckBox control. + + + + + A GroupBox control. + + + + + A button to call Font dialog. + + + + + A button to call Color dialog. + + + + + A button to call Color dialog. + + + + + A Font dialog. + + + + + A Color dialog. + + + + + A NumericUpDown control. + + + + + A CheckedListBox control. + + + + + A ComboBox control. + + + + + A Label control. + + + + + A Label control. + + + + + Initializes a new instance of the C1CustomizerForm class. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Finds first command in C1CommandHolder belongs to category. + + Category name. + + + + + + Finds next command in C1CommandHolder belongs to category. + + Category name. + + + + + + The form, which is owner for this form. + + + + + Represents dialog for entering a new toolbar name. + + + + + The Textbox control + + + + + The Label control + + + + + OK button + + + + + Cancel button + + + + + Initializes a new instance of the C1NewToolbarForm class. + + + + + Releases the resources used by the C1NewToolbarForm. + + + + + + + The name of new toolbar + + + + + The C1CommandDock control provides docking and floating capabilities to C1Command toolbars (class C1ToolBar) and tab controls (class C1DockingTab). + + + + + Initializes a new instance of the C1CommandDock class. + + + + + Releases the resources used by the C1CommandDock. + + + + + + + Docs or floats the specified control. + + The child control. + The x- and y-coordinates of the point where the child control will be moved. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This property is for internal use only. + + + + + Indicates whether to automatically create a dock area on the left. + + + + + Indicates whether to automatically create a dock area at the top. + + + + + Indicates whether to automatically create a dock area on the right. + + + + + Indicates whether to automatically create a dock area at the bottom. + + + + + Indicates whether to allow floating C1ToolBar and C1DockingTab controls. + + + + + Sets or returns whether the dock automatically adjusts its size. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + Specifies docking behavior of C1DockingTab controls. + + + + If the DockingStyle property is set to Default, + docking works without the selectors: when you drag a floating panel over another panel, + a gray frame appears to show you the position that the instance of C1DockingTab will + have once you release it. + + + The VS2005 docking style feedback is similar to Visual Studio 2005, using docking zone + selectors to specify where the dragged view will be docked if you release it. + + + + + + Defines behavior of floating windows when the application loses focus. + + + + + This class implements the familiar tab control interface: several overlaying pages (each of which can + contain arbitrary controls) accessible via tabs at the side of the control. + + + + + Initializes a new instance of the C1DockingTab class. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Resets the BackColor property to its default value. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Releases the resources used by the C1DockingTab. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Returns true if the specified tab is in the hot state, otherwise false. + + + + + Temporarily suspends the layout logic for the control. + + + + + Resumes normal layout logic. + + + + + Closes the tab page specified. + + + + + + + Hides the page by sliding it to the side. + + + + + Shows the page by sliding it out. + + + + + + + Shows the page by sliding it out. + + + + + + + Returns the page with the specified tab text. + + + + + + + + + Scrolls the tabs if necessary so that the tab of the currently selected page is visible. + + + + + Returns the row and column of the specified tab in the tabs of the C1DockingTab. + + + + + + + + + + + Returns the collection of all C1DockingTab components that were automatically + created as the result of user interaction with the current C1DockingTab + (e.g. when a page is teared off and dropped to float outside of the form). + + The array of automatically created C1DockingTab controls. + + + + This method is for internal use only. + + + + + + + + + Raises the event. + + An EventArgs that contains the event data. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Occurs when the property value changes. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + Saves layout of all C1DockingTab controls on the form to the stream. + + + + + + + + + Saves layout of all C1DockingTab controls on the form to the specified file. + + + + + + + + + Restoress layout of all C1DockingTab controls on the form from the stream. + + + + + + + + + Restores layout of all C1DockingTab controls on the form from the specified file. + + + + + + + + + Floats the page out from the form. + + The tab page to float out. + + Floats out the page to a default position. + + + + + Floats the specified tab page out from the form. + + The tab page to float. + The position. + + + + Floats the specified tab page out from the form. + + The tab page to float. + The x coordinate of the screen point to float to. + The y coordinate of the screen point to float to. + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + List of controls whose children are excluded from SaveLayout / RestoreLayout. + + + + + Fired when a new C1DockingTab is automatically created in response to user actions (e.g. tearing off a tab and dropping it elsewhere). + + + + + Occurs when the Alignment property is changed. + + + + + Occurs when the AutoHiding property is changed. + + + + + Occurs when the CanAutoHide property is changed. + + + + + Occurs when the CanCloseTabs property is changed. + + + + + Occurs when the ShowTabs property is changed. + + + + + Occurs when the ShowTabList property is changed. + + + + + Occurs when the CanMoveTabs property is changed. + + + + + Allows to override the standard drawing of the tabs with custom drawing. + + + + + Occurs when the HotTrack property is changed. + + + + + Occurs when the Indent property is changed. + + + + + Occurs when the ItemSize property is changed. + + + + + Allows to arbitrarily change the size of the tabs. + + + + + Occurs when the MultiLine property is changed. + + + + + Occurs when the Padding property is changed. + + + + + Event fired when the index of the currently selected page is about to change. Allows to cancel the change. + + + + + Occurs when the SelectedIndex property is changed. + + + + + Event fired when the SelectedTab is changed. + + + + + Occurs when the ShowToolTips property is changed. + + + + + Occurs when the ShowSingleTab property is changed. + + + + + Occurs when the ShowCaption property is changed. + + + + + Occurs when the TabLook property is changed. + + + + + Occurs when the TabLayout property is changed. + + + + + Event fired when the currently selected page is about to be closed by the user. Allows to cancel closing the page. + + + + + Event fired after a page has been closed. + + + + + Occurs when the TabSizeMode property is changed. + + + + + Occurs when the AlignTabs property is changed. + + + + + Occurs when the TabStyle property is changed. + + + + + Occurs when the Floating property is changed. + + + + + Occurs when the RightToLeftLayout property is changed. + + + + + Occurs when the VisualStyle property has changed. + + + + + Gets or sets a value indicating whether tabs should display focus rectangles. + + + + + Gets or sets position of close box. + + + This property has effect only if is True. + + + + + Gets or sets modifier key which, if pressed, will prevent the floating control from docking when it is moved around at runtime. + + + If several modifier keys are specified, pressing any one will work. + + + + + Gets or sets the mode used to draw window outline while moving the window. + + + + + Gets the collection of tab pages in this control. + + + + + Gets or sets the currently selected page. + + + + + Gets or sets the index of the currently selected page. + + + + + Gets or sets the image list used to provide images to show on the control’s tabs. + + + + + Gets or sets the look of the tabs (whether to show text, image or both). + + + + + Gets or sets the layout of text and images on the tabs. + + + + + Gets or sets the amount of space around images and text shown on the tabs. + + + + + Gets or sets the area of the control (top, bottom, left or right) where the tabs are aligned. + + + + + Gets or sets the way in which the tabs are sized. + + + + + Gets or sets a value indicating whether the end user can rearrange tabs by dragging them around at runtime. + + + + + Gets or sets a value indicating whether the end user can rename tabs by double clicking on the tab's text. + + + + + Gets or sets a value indicating whether the control's tabs change in appearance when the mouse passes over them. + + + + + Gets or sets the value indicating how tabs are aligned along the side of the page content area. + + + + + Gets or sets a value indicating whether to use animation when showing or hiding the control. + + + + + Gets or sets a value indicating whether more than one row of tabs can be displayed. + + + + + Gets the text of the currently selected tab (runtime-only). + + + + + Gets the number of pages in the control. + + + + + Gets the number of tab rows (runtime-only). + + + + + Gets or sets the indentation of the first tab from the side of the control. + + + + + Gets or sets the size of the tabs (if empty, the size is calculated automatically based on content). + + + + + Gets the value indicating whether tabs scrolling arrows are currently shown (runtime-only). + + + + + Gets or sets the value indicating whether the pages of the tab control are in auto-hiding mode. + + + + + Gets or sets a value indicating whether the tool tip is shown when the mouse passes over the tab. + + + + + Gets or sets a value indicating whether a tab will be shown when there is only one page in the control. + + + + + Gets or sets a value indicating whether individual tab pages can be closed by the end user. If CanCloseTabs is true, a close icon appears either in the caption area (if ShowCaption is true), or in the tabs area otherwise. + + + + + Gets or sets a value indicating whether a tab page closed by the end user should be kept in an internal array (used when a previously saved tabs layout is restored). The default is true. + + + + + Gets or sets a value indicating whether caption is shown on the pages. + + + + + Gets or sets a value indicating whether the pages can auto-hide (if both CanAutoHide and ShowCaption are true, a pin icon appears in the caption area). + + + + + Gets or sets the width of automatic splitters drawn between pages of the control when page docking is enabled. + + + + + Gets or sets the direction of the text drawn on the tabs. + + + + + Gets or sets the docking of the control in the parent container. Can be specified only for controls not parented in a C1CommandDock. + + + + + Indicates the border style for the DockingTab. + + + + + Indicates the tab style for the DockingTab. + + + + + Gets or sets a value indicating whether tabs can receive focus on mouse click. + + + + + Gets or sets a value indicating whether the control handles Ctrl-Tab and Ctrl-Shift-Tab keys. + + + + + Gets the C1DockingTab which automatically created this instance in response to user actions. + + + + + Gets or sets the background color for the control. + + + + + Gets or sets the background color for the tab area. + + + + + Gets the value indicating whether the C1DockingTab is currently floating (runtime-only). + + + + + Gets the array of user interface strings. + + + + + Gets or sets the value indicating whether to draw border around the tab area. + + + + + Gets or sets the distance between tabs (may be negative to overlap tabs). + + + + + Gets or sets the spacing between the edge of the tab area and the tabs. + + + + + Gets or sets the value indicating whether to draw selected tab text with bold font. + + + + + Gets or sets the value indicating whether to show a button with dropdown list of all tabs (ignored in multiline mode). + + + + + Gets or sets whether tabs area is displayed within the . + + + Use the ShowTabs property to control the display of the tabs. + If this property is set to false, the tabs area is not displayed. + + + + + Gets or sets a value indicating whether right-to-left mirror placement is turned on. + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + Gets or sets the visual style of the control. + + + + + Provides a type converter to convert TabStyleEnum objects to and from various other representations. + + + + + Represents a single tab page in a C1DockingTab. + + + + + Initializes a new instance of the C1DockingTabPage class. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Resets the BackColor property to its default value. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + Floats the page out from the form to a default position. + + + + + Floats the page out from the form to the specified position. + + The position. + + + + Floats the page out from the form to the specified coordinates. + + The x coordinate of the screen point to float to. + The y coordinate of the screen point to float to. + + + + Docks the page to the another target page. + + The target page. + + The page becomes the next page after the target page. + If you want to Dock this page the first use DockTo(C1DockingTab)/> + + + + + Docks the page to the target DockingTab. + + The target docking tab. + + The page becomes the first page at the target DockingTab. + + + + + Releases the resources used by the C1DockingTabPage. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Raises the HandleCreated event. + + An EventArgs that contains the event data. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Occurs when the caption text changes. + + + + + Occurs when the tooltip text changes. + + + + + Occurs when the visibility of the tab changes. + + + + + Event fired when the page is about to be closed by the user. Allows to cancel closing the page. + + + + + Event fired after the page has been closed. + + + + + Gets or sets the index of the tab image in the tab control's ImageList. + + + + + Gets or sets the tab image. + + + + + Gets or sets the text shown on the tab. + + + + + Gets or sets the text in the caption area of the page. If not specified, defaults to the value of the Text property. + + + + + Gets or sets the ToolTip text for the tab. + + + + + Gets the value indicating whether this page is currently selected. + + + + + Gets or sets the value indicating whether the tab is visible. + + + + + Defines behavior on C1DockingTabPage's CloseBox click. + + + + + Returns the tab bounds of the page. + + + + + Gets or sets the background color for the control. + + + + + Gets or sets the background color for the tab. + + + + + Gets or sets the background color for the selected tab. + + + + + Gets or sets the text color for the nonselected tab. + + + + + Gets or sets the text color for the selected tab. + + + + + Gets a value indicating whether the mouse pointer is located over tab area of the page. + + + + + This method is for internal use only. + + + + + Represents a collection of C1DockingTabPage elements. + + + + + Represents a a base class for page collections of a paged-like control. + + + + + Initializes a new instance of thePagedControlsCollectionBase class. + + + + + + + This [method|property|class] is for internal use only. + + + + + + + + + This [method|property|class] is for internal use only. + + + + + + + This [method|property|class] is for internal use only. + + + + + + + + + This [method|property|class] is for internal use only. + + + + + This [method|property|class] is for internal use only. + + + + + This [method|property|class] is for internal use only. + + + + + + + + + This [method|property|class] is for internal use only. + + + + + + + + + Removes the first occurrence of a specific object from the IList. + + + + + + + Determines whether the IList contains a specific value. + + + + + + + + + Determines the index of a specific item in the IList. + + + + + + + + + Adds an item to the IList. + + + + + + + + + Removes all items from the IList. + + + + + Inserts an item to the IList at the specified position. + + + + + + + + + Removes the IList item at the specified index. + + + + + + + Copies the elements of the ICollection to an Array, starting at a particular Array index. + + + + + + + + + Returns an enumerator that can iterate through the PagedControlsCollectionBase. + + + + + + + Copies the PagedControlsCollectionBase to a one-dimensional array. + + + + + + + Copies the ArrayList or a portion of it to a one-dimensional array. + + + + + + + + + + + + + Adds the elements of an ICollection to the end. + + + + + + + Removes a range of elements. + + + + + + + + + This [method|property|class] is for internal use only. + + + + + Gets a value indicating whether the IList is read-only. + + + + + Gets a value indicating whether the IList has a fixed size. + + + + + Gets a value indicating whether access to the ICollection is synchronized + + + + + Gets the number of elements contained in the ICollection. + + + + + Gets an object that can be used to synchronize access to the ICollection. + + + + + Supports a simple iteration over a collection. + + + + + Sets the enumerator to its initial position, which is before the first element in the collection. + + + + + Advances the enumerator to the next element of the collection. + + + + + + + Gets the current element in the collection. + + + + + This method is for internal use only. + + + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + Returns the index of the first occurrence of the C1DockingTabPage with the specified key. + + + + + + + + + Returns number of pages where TabVisible property is True. + + + + + Gets or sets the element at the specified index. + + + + + + + + + Gets a dockingtab page with the specified key from the collection. + + + + + + + + + This class is for internal use only. + + + + + Initializes a new instance of the AllDockingTabs class. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + + + + + + + This property is for internal use only. + + + + + This class is for internal use only. + + + + + Initializes a new instance of the C1CommandDockReflector class. + + + + + This method is for internal use only. + + + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This class is for internal use only. + + + + + Initializes a new instance of the C1DockingTabReflector class. + + + + + This method is for internal use only. + + + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This class is for internal use only. + + + + + Initializes a new instance of the C1DockingTabPageReflector class. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + Type of topic bar element at a specific point on the control. + + + + + The point is out of the C1TopicBar's area. + + + + + The point is in the C1TopicBar's empty area. + + + + + The point is on empty space of a page title area (not over a text, image or expand/collapse indicator). + + + + + The point is on expand/collapse indicator of a page title. + + + + + The point is on image of a page title. + + + + + The point is on text of a page title. + + + + + The point is on a page body (but not on a link). + + + + + The point is on empty space of a link (not over a text or image). + + + + + The point is on image of a link. + + + + + The point is on text of a link. + + + + + Contains information, such as the page and the link + in the control. + + + Use the method to obtain a value. + + + + + Gets a that describes the type of element described by a . + + + This property allows you to determine whether the point corresponds to a topic link or + to special elements such as title image or text, and so on. + + + + Get the at the point being tested (if the point does not correspond to a page, it returns null). + + + + + Get the at the point being tested (if the point does not correspond to a page, it returns null). + + + + + Static class containing UI strings used by the designer. + + + + + The base for specialized commands such as button (a plain button, the only action is invoke), + submenu (points to a menu or a toolbar), textbox (text entry), list, combo etc. etc. + + + + + Empty command + + + + + Initializes a new instance of the C1Command class. + + + + + Releases the resources used by the C1Command. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Invokes the command. + + + + + + + Generates a click event for the C1Command. + + + + + Raises the Select event for the C1Command. + + + + + Fires the CommandStateQuery event, updates any changed properties. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + Copy another command properties to this command + + + + + + + Returns true if the change has actually been made + and the control is not initializing (i.e. on change should be fired) + + + + + + + + + + + C1CommandHolder containing this command. + + + + + Gets or sets the text of the command. + + + + + Gets or sets the name of the command. + + + + + Gets or sets the tool tip text. + + + + + Gets or sets the command category. + + + + + Gets or sets the command visibility. + + + + + Gets or sets whether the command is enabled. + + + + + Gets or sets whether the command is checked. + + + + + Gets or sets whether the command is pressed. + + + + + Gets or sets whether the command has a drop down arrow when it is in a toolbar. + + + + + If true, the Checked property value is toggled automatically when this command is invoked. + + + + + Gets or sets the keyboard shortcut associated with the command. + + + + + Gets or sets the shortcut text associated with the command. + + + >Use this property to localize shortcuts. + If property is empty or is False, then the has no any effect. + If property is empty, then default value is used for the shortcut. + + + + + Indicates whether the shortcut for this command will be shown. + + + + + Indicates whether this command's text will be shown as tooltip. + + + + + Gets or sets the command icon. + + + + + Gets or sets the index of the command image (in C1CommandHolder.ImageList). + + + + + Gets or sets the command image. + + + + + Arbitrary data that can be associated with the command. + + + + + Determines whether this command is a non-empty submenu. + + + + + Returns the value of the mnemonic character, or the character following the ampersand, to be used as an access key. + + + + + Gets or sets the C1ContextMenu component associated with this command. + + + + + Event fired when the command is invoked by the user. + + + + + Event fired when the command is selected by the user. + + + + + Event fired when the Checked property has changed. + + + + + Event fired when the Pressed property has changed. + + + + + Event fired when the command state has to be verified. + + + + + Event fired after a command link was linked to this command. + + + + + Event fired after a command link was unlinked from this command. + + + + + Event fired when the Text property of command is changed. + + + + + Event fired when the Image or ImageIndex or Icon property of command is changed. + + + + + Event fired when the Enabled property of command is changed. + + + + + Event fired when the Visible property of command is changed. + + + + + Event fired when the Category property of command is changed. + + + + + Event fired when the ToolTip property of command is changed. + + + + + Event fired when the ShowShortcut property of command is changed. + + + + + Event fired when the ShowTextAsToolTip property of command is changed. + + + + + Event fired when the drop down arrow is clicked on the toolbar button. + + + + + Returns true if the command has focus and "firmly" keeps it + (e.g. if it is C1CommandControl and user clicked inside the control). + + + + + Provides a type converter to convert C1Command to and from various other representations. + + + + + Initializes a new instance of the TypeConverter class. + + + + + + + Returns whether this object supports properties. + + + + + + + + + Converts the given value object to the specified type. + + An ITypeDescriptorContext that provides a format context. + A CultureInfo object. + The Object to convert. + The Type to convert the value parameter to. + + + + + + Represents a collection of C1Command + + + + + Initializes a new instance of the C1Commands class. + + + + + + + Returns the index of the first occurrence of the C1Command with the specified key. + + + + + + + + + Removes all elements + + + + + Adds an object to the end. + + + + + + + + + Adds the elements of an ICollection to the end. + + + + + + + Inserts an element into the C1Commands at the specified index. + + + + + + + + + Inserts the elements of a collection into the C1Commands at the specified index. + + + + + + + + + Removes the element at the specified index. + + + + + + + Removes a range of elements + + + + + + + + + Copies the elements of a collection over a range of elements. + + + + + + + + + Gets or sets the element at the specified index. + + + + + + + + + Gets a command with the specified key from the collection. + + + + + + + + + Arbitrary controls can be contained in toolbars. This functionality is provided by the class C1CommandControl, derived from C1Command. + + + + + Initializes a new instance of the C1CommandControl class. + + + + + Invokes the command. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Event fired when the Control property of command is changed. + + + + + Event fired when the CommandActive property of command is changed. + + + + + Gets or sets the arbitrary control attached to the command. + + + + + Gets or sets whether the command is enabled. + + + + + Gets or sets the value indicating whether the command link can be clicked. + + + + + Gets or sets the value indicating whether the embedded control receives the Return key. + + + + + Gets or sets the value indicating how the hot frame around the link is drawn. + + + + + This method is for internal use only. + + + + + This class is for internal use only. + + + + + Initializes a new instance of the C1CommandException class + + + + + Initializes a new instance of the C1CommandException class + + + + + + + Holds C1Command objects defined on the form. + + + + + Initializes a new instance of the C1CommandHolder class. + + + + + Releases the resources used by the C1CommandHolder. + + + + + + + Creates a command holder and initializes it. + + Form for which the command holder is created. + The command holder created. + + + + Returns the command holder for the specified form, if it exists. + + Form whose command holder is returned. + The command holder for the specified form, or null. + + + + Gets a context menu contained within the C1CommandHolder. + + The control or NotifyIcon for which to retrieve the context menu. + + + + + + Sets a context menu contained within the C1CommandHolder. + + The control or NotifyIcon for which to set the context menu. + The context menu to attach to the control. + + + + This method is for internal use only. + + + + + + + + + This method is for internal use only. + + + + + + + Determines the command (of the type C1Command or inherited) invoked when the control's default (or, if there is none, Click) event fires. + + + + + + + + + Set the command (of the type C1Command or inherited) invoked when the control's default (or, if there is none, Click) event fires. + + + + + + + + + This method is for internal use only. + + + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Gets the C1Command associated with the shortcut. + + The shortcut keys associated with the command. + + + + + + Creates a new command and adds it to the Commands collection. + + + + + + + Creates a new command and adds it to the Commands collection. + + + + + + + + + Invokes toolbar customizer. + + + + + Merges command links from links1 and links2 into result, using merge rules specified with links, similar to MDI merge. + + + + + + + + + + + Merges command links from links1 and links2 into result, using merge rules specified with links, similar to MDI merge. + + + + + + + + + + + + + Unmerges the two collections of links merged previously by MergeCommandLinks. + + + + + + + Unmerges the two collections of links merged previously by MergeCommandLinks. + + + + + + + + + + + This method is for internal use only. + + + + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + called for restoring layout of a single toolbar + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Sets the current layout to be the default (the one the customizer's reset button reverts to). + + + + + Saves the layout data into the application config file. + + + + + Loads layout data from the application config file. + + + + + Reset layout. + + + + + Called for restoring layout of a single toolbar. + + + + + + + This property is for internal use only. + + + + + Gets the collection of commands. + + + + + Returns the main menu for the form. + + + + + Gets or sets the image list for command images. + + + + + Gets or sets the transparent color for images not in image list. + + + + + Gets or sets the toolbars layout; To enable automatic layout persistence, add this property to dynamic properties. + + + + + Gets or sets a name of layout dynamic key in application config file. + + + + + Gets or sets the value indicating whether to automatically save the toolbars layout (for this to work, Layout must be added to dynamic properties). + + + + + Gets or sets the value indicating whether to update commands' status when idle. + + + + + Gets or sets a value indicating whether the user can give the focus to the CommandLink using keys when the Command is disabled. + + + + + Draw smooth images for currently unselected items. + + + + + Gets or sets the visual style of all C1Command controls on the form (can be overridden by individual controls). + + + + + Gets the array of user interface strings. + + + + + Gets or sets the class name of the Customizer form. + + + + + Gets or sets the class name of the Customizer's new toolbar dialog form. + + + + + Gets or sets the class name of the MDI child selection dialog form. + + + + + Gets or sets the value indicating how many times the app must be run before rarely used menu items start hiding. + + + + + Gets or sets the threshold (in percent) for an item to be considered rarely used. The higher the value, the more items are hidden. + + + + + Gets or sets the delay (in seconds) for the mouse to hover over the parent menu item in order to show all rarely used item. + + + + + Gets or sets the value indicating whether invisible menu and toolbar items are shown at design time. + + + + + Gets or sets a value indicating whether to use animation in menus. + + + + + Occurs when layout string must be loaded from app config file. + + + + + Occurs when layout string must be saved in app config file. + + + + + Occurs when customization mode starts. + + + + + Occurs when customization mode finishes. + + + + + Occurs when a new toolbar is added or a hidden toolbar becomes visible during customization. + + + + + Occurs when a visible toolbar is hidden during customization. + + + + + Occurs when a new command link is added to an existing toolbar during customization. + + + + + Occurs when a command link is removed from a toolbar during customization. + + + + + Occurs when the command is invoked by the user. + + + + + Occurs when the VisualStyle property has changed. + + + + + Occurs when the value of the RecentLinksRunCount property changes. + + + + + Occurs when the value of the RecentLinksRunCount property changes. + + + + + Occurs when the value of the ShowNonRecentLinksHoverDelay property changes. + + + + + C1CommandLinks + + + + + Removes all elements + + + + + Adds an object to the end. + + + + + + + + + Adds the elements of an ICollection to the end. + + + + + + + Adds the elements of an ICollection to the end. + + + + + + + Inserts an element into the C1CommandLinks at the specified index. + + + + + + + + + Inserts the elements of a collection into the C1CommandLinks at the specified index. + + + + + + + + + Copies the elements of a collection over a range of elements. + + + + + + + + + Removes the element. + + + + + + + Removes the element at the specified index. + + + + + + + Removes a range of elements + + + + + + + + + Moves an element to the specified index. + + + + + + + + + This method prevents the control from painting until the EndUpdate method is called. + + + + + Resumes painting after painting is suspended by the BeginUpdate method. + + + + + Resets all counters stored for recent link showing + + + + + Gets or sets the element at the specified index. + + + + + + + + + C1CommandMdiList. + + + + + Initializes a new instance of the C1CommandMdiList class. + + + + + Releases the resources used by the C1CommandMdiList. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method should not be called directly, as there is no clear meaning in invoking a command which is actually a placeholder for commands created on the fly. + + + + + + + Populates and shows the popup window with the list of all currently available MDI child windows. + + + + + Returns true if there are currently no items in the list. + + + + + + + Occurs before the Select Window dialog is shown. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + Sets or returns the maximum number of menu items created. + + + + + Gets or sets the value indicating whether to list hidden windows. + + + + + Summary description for C1CommandMenu. + + + + + This member is for internal use only. + + + + + This member is for internal use only. + + + + + This member is for internal use only. + + + + + This member is for internal use only. + + + + + This member is for internal use only. + + + + + This member is for internal use only. + + + + + Initializes a new instance of the C1CommandMenu class. + + + + + Releases the resources used by the C1CommandMenu. + + + + + + + Invokes the command. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + Determines whether this command is a non-empty submenu. + + + + + Occurs before the command's submenu is displayed. + + + + + Occurs after the command's submenu is closed. + + + + + Event fired when the LargeMenuDisplay property of menu is changed. + + + + + Event fired when the Font property of menu is changed. + + + + + Event fired when the Width property of menu is changed. + + + + + Event fired when the SideCaption property of menu is changed. + + + + + Event fired when the ShowToolTips property of menu is changed. + + + + + Occurs when the value of the BackColor property changes. + + + + + Occurs when the value of the ForeColor property changes. + + + + + Occurs when the value of the BackHiColor property changes. + + + + + Occurs when the value of the ForeHiColor property changes. + + + + + Occurs when the value of the BackgroundImage property changes. + + + + + Occurs when the value of the HideNonRecentLinks property changes. + + + + + Occurs when an owner drawn link needs to be measured. + + + + + Occurs when an owner drawn link needs to be drawn. + + + + + Occurs when an owner drawn menu or toolbar needs to be drawn. + + + + + Occurs when the current command link changes. + + + + + Occurs when an owner drawn link needs to layout its text, image and control within the link bounds. + + + + + Occurs when the VisualStyle property has changed. + + + + + Gets or sets a value indicating whether the control should hide the first delimiter. + + + C1CommandLink.Delimiter property shows a delimiter before a C1CommandLink present at C1ContextMenu. The HideFirstDelimiter property hides the delimiter for the first visible C1CommandLink even the Delimiter property of the C1CommandLink is True. + + + + + Gets or sets the visual style of the control. + + + + + Gets or sets the base background color of the menu. + + + + + Gets or sets the text color of the menu. + + + + + Gets or sets the base background color of the highlighted item. + + + + + Gets or sets the text color of the highlighted item. + + + + + Gets or sets the background image displayed in the menu. + + + + + Gets or sets the background image layout in the menu. + + + + + Gets or sets the minimum width of the menu. + + + + + Gets or sets the width of the image/checkbox bar in the menu. If set to 0, the width is calculated automatically. + + + + + This property is for internal use only. + + + + + Determines the way large menus (when all items cannot fit in one column) are displayed. + + + + + Gets or sets the value indicating whether to hide rarely used menu items. + + + + + Gets or sets the font of menu. + + + + + Gets the collection of commandlinks. + + + + + Gets or sets the value indicating whether to show tooltip texts when mouse cursor is over menu item. + + + + + Gets or sets the value indicating whether to show check marks instead of images or in a separate bar. + + + + + Allows to specify a caption (text and/or image) to be shown alongside the left edge of the menu. + + + + + Gets or sets the value indicating whether to close the menu when an item is clicked. + + + + + This class is for internal use only. + + + + + This class is for internal use only. + + + + + Hook code. + + + + + The FilterFunc value. + + + + + The HookType value. + + + + + This method is for internal use only. + + + + + + + Initializes a new instance of the LocalWindowsHook class. + + + + + + + Initializes a new instance of the LocalWindowsHook class. + + + + + + + + + Default filter function. + + Hook code. + WPARAM argument. + LPARAM argument. + + + + + + Installs the hook. + + + + + Uninstalls the hook. + + + + + Win32: SetWindowsHookEx() + + + + + + + + + + + + + + + Win32: UnhookWindowsHookEx() + + + + + + + + + Win32: CallNextHookEx() + + + + + + + + + + + + + + + A HookInvoked event. + + + + + The FilterFunc value. + + + + + Filter function delegate. + + Hook code. + WPARAM argument. + LPARAM argument. + + + + + + Represents the method that handles a Hook event. + + The source of the event. + A HookEventArgs that contains the event data. + + + + Initializes a new instance of the C1CommandMsgHookProc class. + + + + + + + + + + + + + Initializes a new instance of the C1CommandMsgHookProc class. + + + + + Context menu. + + + + + Shows the menu at the specified location. + + The control where the context menu is to be shown. + The point in the control client area where the context menu is to be shown. + + + + Closes the currently open context menu if there is one. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Gets the control that is displaying the shortcut menu. + + + This property enables you to determine which control currently displays the shortcut menu defined in the . + If the shortcut menu is not currently displayed, you can use this property to determine which control last displayed the shortcut menu. + You can use this property in the event to ensure that the control displays the proper menu items. + You can also use this property to pass a reference to the control to a method that performs the tasks associated with a menu command displayed in the shortcut menu. + + + The following code example creates an event handler for the event of the . + The code in the event handler determines which of two controls a PictureBox named pictureBox1 and a TextBox named textBox1 is the control + displaying the shortcut menu. + Depending on which control caused the to display its shortcut menu, the control shows or hides the appropriate + menu items of . + This example requires that you have an instance of the class, + named c1ContextMenu1, defined within the form. c1ContextMenu should have "Copy", "Find", "Change Picture" menu items. + This example also requires that you have a TextBox and PictureBox added to a form and that the C1ContextMenu property of these controls is set to c1ContextMenu1. + + + private void c1ContextMenu1_Popup(object sender, EventArgs e) + { + Control c = c1ContextMenu1.SourceControl; + // Copy and Find is dispayed for textBox1 + c1CommandCopy.Visible = (c == textBox1); + c1CommandFind.Visible = (c == textBox1); + // Change Picture is dispayed for pictureBox1 + c1CommandChangePicture.Visible = (c == pictureBox1); + } + + + + + + This event is for internal use only. + + + + + C1MainMenu. + + + + + Initializes a new instance of the C1MainMenu class. + + + + + Releases the resources used by the C1MainMenu. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + Occurs when the value of the Wrap property changes. + + + + + Occurs when the value of the ShowToolTips property changes. + + + + + Occurs when the value of the CanMerge property changes. + + + + + Occurs when the value of the BackHiColor property changes. + + + + + Occurs when the value of the ForeHiColor property changes. + + + + + Occurs when the current command link changes. + + + + + Occurs when it is necessary to measure the owner-drawn link. + + + + + Occurs when the owner-drawn C1CommandLink should be redrawn. + + + + + Occurs when the owner-drawn menu should be redrawn. + + + + + Occurs when an OwnerDraw command link needs to layout its text, image and control within the link bounds. + + + + + Occurs when the VisualStyle property has changed. + + + + + Gets or sets a value indicating whether the control should hide the first delimiter. + + + C1CommandLink.Delimiter property shows a delimiter before a C1CommandLink present at C1MainMenu. The HideFirstDelimiter property hides the delimiter for the first visible C1CommandLink even the Delimiter property of the C1CommandLink is True. + + + + + Gets or sets the visual style of the control. + + + + + Gets or sets the background color of the highlighted item. + + + + + Gets or sets the text color of the highlighted item. + + + + + Gets the collection of commandlinks. + + + + + Gets or sets the value indicating whether to show background image in the image bar of dropdown menus. + + + + + Gets or sets the value indicating whether to wrap the menu or show a \"More...\" button if not all items fit on a single line. + + + + + Gets or sets the value indicating whether to merge MDI child menu with MDI parent menu. + + + + + Gets or sets the font of the C1MainMenu. + + + + + Gets or sets the background color of the C1MainMenu. + + + + + Gets or sets the value indicating whether to show tooltip texts when mouse cursor is over menu item. + + + + + Gets or sets the value indicating whether the menu that is + automatically created when some items do not fit on the toolbar closes + when an item on that menu is clicked. + + + + + Summary description for C1SelectMdiChildForm. + + + + + The list of available existing windows. + + + + + OK button. + + + + + Cancel button. + + + + + Initializes a new instance of the C1SelectMdiChildForm class. + + + + + Clean up any resources being used. + + + + + This method is for internal use only. + + + + + + + A list of available forms + + + + + A form being selected. + + + + + A ListBox control for displaying available windows. + + + + + OK button. + + + + + Cancel button. + + + + + Represents one window in the window list + + + + + A Form control + + + + + Initializes a new instance of the WindowItem class. + + + + + + + Converts WindowItem to it's string representation. + + + + + + + Represents a class for SideCaption property of a C1CommandMenu + + + + + Initializes a new instance of the C1SideCaption class. + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Gets or sets the text shown in the SideCaption. + + + + + Gets or sets the width of the SideCaption. + + + + + Gets or sets the gradient direction (horizontal, vertical, forward diagonal, or backward diagonal) in the SideCaption. + + + + + Gets or sets the direction of the text in the SideCaption. + + + + + Gets or sets the text alignment (near, far, or center) in the SideCaption. + + + + + Gets or sets the text layout for the SideCaption. + + + + + Gets or sets the font of the SideCaption. + + + + + Gets or sets the text color of the SideCaption. + + + + + Gets or sets the beginning color of the gradient for the SideCaption. + + + + + Gets or sets the ending color of the gradient for the SideCaption. + + + + + Gets or sets the SideCaption image. + + + + + Gets or sets the index of the image for the SideCaption in C1CommandHolder.ImageList. + + + + + Gets or sets the SideCaption icon. + + + + + Provides a type converter to convert C1Command to and from various other representations. + + + + + Returns whether this object supports properties. + + + + + + + + + Converts the given value object to the specified type. + + + + + + + + + + + + + + + This property is for internal use only. + + + + + Members of this enumeration are used to determine the value of the ClickSource property in the ClickEventArgs class. + + + + + Click source undefined. + + + + + Click source is a menu. + + + + + Click source is a shortcut key. + + + + + Click source is external. + + + + + Describes data related to the invokation of a context menu + + + + + Initializes a new instance of the ContextInfo class + + The control where the context menu was shown. + The location inside the Source control where the context menu was shown. + + + + Returns the control where the context menu was shown. + + + + + Return the location inside the Source control where the context menu was shown. + + + + + Arguments for the command Click event handler. + + + + + ClickEventArgs with empty arguments + + + + + Initializes a new instance of the ClickEventArgs class + + Determines whether the click event was caused by a menu selection, shortcut key, or other means. + Gets the command link which caused the click event to occur. + Gets the context info for clicks which originated in a context menu. + + + + Determines whether the click event was caused by a menu selection, shortcut key, or other means. + + + + + Gets the command link which caused the click event to occur. + + + + + Gets the context info for clicks which originated in a context menu. + + + + + Represents the method that will handle a Click event. + + The source of the event. + A ClickEventArgs object that contains the event data. + + + + Arguments for the CommandClick event handler. + + + + + CommandClickEventArgs with empty arguments + + + + + Initializes a new instance of the CommandClickEventArgs class + + The command invoked by the user. + Determines what caused the click event to occur. + Gets the command link which was clicked by the user. + Gets the context info for events fired from a context menu. + + + + Initializes a new instance of the CommandClickEventArgs class + + The command invoked by the user. + A BeforeSelectWindowEventArgs object that contains the event data. + + + + Gets the command clicked. + + + + + Represents the method that will handle a CommandClick event. + + The source of the event. + A CommandClickEventArgs object that contains the event data. + + + + Arguments for the check auto toggle event handler. + + + + + Initializes a new instance of the CheckedChangedEventArgs class + + A new value of Checked property. + + + + Returns a new value of Checked property. + + + + + Represents the method that will handle a CheckedChanged event. + + The source of the event. + A CheckedChangedEventArgs object that contains the event data. + + + + Arguments for the command status query event handler. + + + + + Determines whether the command is visible. + + + + + Determines whether the command is enabled. + + + + + Determines whether the command is checked. + + + + + Determines whether the command is pressed. + + + + + Represents the method that will handle a CommandStateQuery event. + + The source of the event. + A CommandStateQueryEventArgs object that contains the event data. + + + + Arguments for the before select MDI child window event handler. + + + + + Initializes a new instance of the BeforeSelectWindowEventArgs class + + The window or dialog box selected. + + + + The window or dialog box selected. + + + + + Represents the method that will handle a BeforeSelectWindow event. + + The source of the event. + A BeforeSelectWindowEventArgs object that contains the event data. + + + + Provides data for the CustomizeToolBar event. + + + + + Gets the tool bar. + + + + + Initializes a new instance of the CustomizeToolBarEventArgs class + + The tool bar just customized + + + + Represents the method that will handle a CustomizeToolBar event. + + The source of the event. + A CustomizeToolBarEventArgs object that contains the event data. + + + + Provides data for the CustomizeLink event. + + + + + Gets the tool bar for the command link. + + + + + Gets the command link. + + + + + Initializes a new instance of the CustomizeLinkEventArgs class + + Gets the tool bar for the command link. + Gets the command link. + + + + Represents the method that will handle a CustomizeLink event. + + The source of the event. + A CustomizeLinkEventArgs object that contains the event data. + + + + Provides data for the DropDown event. + + + + + Gets the command link which was selected by the user. + + + + + Gets the screen coordinates of command link. + + + + + Initializes a new instance of the DropDownEventArgs class + + Gets the command link which was selected by the user. + Gets the screen coordinates of command link. + + + + Represents the method that will handle a DropDown event. + + The source of the event. + A DropDownEventArgs object that contains the event data. + + + + Provides data for the MeasureLink event. + + + + + Initializes a new instance of the MeasureLinkEventArgs class + + Specifies the Graphics object to use for measuring. + Specifies the link that needs to be measured. + Specifies the width of the link. + Specifies the height of the link. + + + + Specifies the link that needs to be measured. + + + + + Specifies the Graphics object to use for measuring. + + + + + Specifies the width of the link. + + + + + Specifies the height of the link. + + + + + Represents the method that will handle a MeasureLink event. + + The source of the event. + A MeasureLinkEventArgs object that contains the event data. + + + + Provides data for the LayoutLink event. + + + + + Specifies the command link for the layout. + + + + + The bounding rectangle of the command link. + + + + + Text rectangle layout. + + + + + Image rectangle layout. + + + + + The location of the nested control (valid only if the command is a C1CommandControl). + + + + + Initializes a new instance of the LayoutLinkEventArgs class + + Specifies the command link for the layout. + The bounding rectangle of the command link. + Text rectangle layout. + Image rectangle layout. + The location of the nested control + + + + Represents the method that will handle a LayoutLink event. + + The source of the event. + A LayoutLinkEventArgs object that contains the event data. + + + + Provides data for the DrawLink event. + + + + + The command link to draw. + + + + + The Graphics object to draw on. + + + + + The bounding rectangle of the link. + + + + + Flag indicating whether the user completed the drawing. If set to true, no further drawing is performed. + Otherwise, the default drawing is done. + + + + + Initializes a new instance of the DrawLinkEventArgs class + + The Graphics object to draw on. + The command link to draw. + The bounding rectangle of the link. + Flag indicating whether the user completed the drawing. + + + + Represents the method that will handle a DrawLink event. + + The source of the event. + A DrawLinkEventArgs object that contains the event data. + + + + Provides data for the DrawBar event. + + + + + The Graphics object to draw on. + + + + + The bounding rectangle of the bar (menu or toolbar). + + + + + The graphics path bounding the bar (menu or toolbar). + + + + + Flag indicating whether the user completed the drawing. If set to true, no further drawing is performed. + Otherwise, the default drawing is done. + + + + + Initializes a new instance of the DrawBarEventArgs class + + The Graphics object to draw on. + The bounding rectangle of the bar + The graphics path bounding the bar + Flag indicating whether the user completed the drawing. + + + + Represents the method that will handle a DrawBar event. + + The source of the event. + A DrawBarEventArgs object that contains the event data. + + + + Provides data for the MeasurePage event. + + + + + The C1OutPage object to measure. + + + + + Specifies the Graphics object to use for measuring. + + + + + The height of the page caption. + + + + + Initializes a new instance of the MeasurePageEventArgs class + + Specifies the Graphics object to use for measuring. + The C1OutPage object to measure. + The height of the page caption. + + + + Represents the method that will handle a MeasurePage event. + + The source of the event. + A MeasurePageEventArgs object that contains the event data. + + + + Provides data for the DrawPage event. + + + + + The page to draw. + + + + + The Graphics object to draw on. + + + + + The bounding rectangle of the page. + + + + + Flag indicating whether the user completed the drawing. If set to true, no further drawing is performed. + Otherwise, the default drawing is done. + + + + + Initializes a new instance of the DrawPageEventArgs class. + + The Graphics object to draw on. + The page to draw. + The bounding rectangle of the page. + Flag indicating whether the user completed the drawing. + + + + Represents the method that will handle a DrawPage event. + + The source of the event. + A DrawPageEventArgs object that contains the event data. + + + + Provides data for the PageClick event. + + + + + The page clicked. + + + + + Initializes a new instance of the DrawPageEventArgs class. + + The page clicked. + + + + Represents the method that will handle a DrawPage event. + + The source of the event. + A PageClickEventArgs object that contains the event data. + + + + Provides data for the MeasureTab event. + + + + + The C1DockingTabPage object to measure. + + + + + Specifies the Graphics object to use for measuring. + + + + + The width of the tab. + + + + + Initializes a new instance of the MeasureTabEventArgs class. + + Specifies the Graphics object to use for measuring. + The C1DockingTabPage object to measure. + The width of the tab.. + + + + Represents the method that will handle a MeasureTab event. + + The source of the event. + A MeasureTabEventArgs object that contains the event data. + + + + Provides data for the AutoCreatedDockingTab event. + + + + + Gets the new DockingTab. + + + + + Initializes a new instance of the AutoCreatedDockingTabEventArgs class + + The new DockingTab. + + + + Represents the method that will handle a AutoCreatedDockingTab event. + + The source of the event. + A AutoCreatedDockingTabEventArgs object that contains the event data. + + + + Provides data for the DrawTab event. + + + + + The tab page to draw. + + + + + The Graphics object to draw on. + + + + + The bounding rectangle of the tab. + + + + + Flag indicating whether the user completed the drawing. If set to true, no further drawing is performed. + Otherwise, the default drawing is done. + + + + + Initializes a new instance of the DrawTabEventArgs class + + The Graphics object to draw on. + The tab page to draw. + The bounding rectangle of the tab. + Flag indicating whether the user completed the drawing. + + + + Represents the method that will handle a DrawTab event. + + The source of the event. + A DrawTabEventArgs object that contains the event data. + + + + Provides data for the DrawArrow event. + + + + + The Graphics object to draw on. + + + + + The bounding rectangle of the Arrow button. + + + + + Gets the value if button is enabled. + + + + + Gets the value if button is pressed. + + + + + Indicates if Up button is drawn or not. + + + + + Flag indicating whether the user completed the drawing. + + + + + Initializes a new instance of the DrawArrowEventArgs class + + The Graphics object to draw on. + The bounding rectangle of the Arrow button. + Gets the value if button is enabled. + Gets the value if button is pressed. + Indicates if Up button is drawn or not. + Flag indicating whether the user completed the drawing. + + + + Represents the method that will handle a DrawArrow event. + + The source of the event. + A DrawArrowEventArgs object that contains the event data. + + + + Provides data for the MeasureFloatingCaption event. + + + + + The Graphics object to use for measuring. + + + + + The height of the floating caption. + + + + + Initializes a new instance of the MeasureFloatingCaptionEventArgs class + + The Graphics object to use for measuring. + The height of the floating caption. + + + + Represents the method that will handle a MeasureFloatingCaption event. + + The source of the event. + A MeasureFloatingCaptionEventArgs object that contains the event data. + + + + Provides data for the DrawFloatingCaption event. + + + + + The Graphics object to draw on. + + + + + The bounding rectangle of the floating caption. + + + + + Flag indicating whether the user completed the drawing. If set to true, no further drawing is performed. + Otherwise, the default drawing is done. + + + + + Initializes a new instance of the DrawFloatingCaptionEventArgs class + + The Graphics object to draw on. + The bounding rectangle of the floating caption. + Flag indicating whether the user completed the drawing. + + + + Represents the method that will handle a DrawFloatingCaption event. + + The source of the event. + A DrawFloatingCaptionEventArgs object that contains the event data.. + + + + Provides data for the CommandLinkAdded or CommandLinkRemoved event. + + + + + Gets the command link. + + + + + Initializes a new instance of the CommandLinkEventArgs class + + + + + + + Represents the method that will handle a CommandLinkAdded or CommandLinkRemoved event. + + The source of the event. + A CommandLinkEventArgs object that contains the event data. + + + + Provides data for the SelectedIndexChanging event. + + + + + Indicates the new index of the selected tab page. + + + + + Indicates whether the change of the selected index can be cancelled by the event handler. + + + + + Initializes a new instance of the SelectedIndexChangingEventArgs class + + Indicates the new index of the selected tab page. + Indicates whether the change of the selected index can be cancelled by the event handler. + + + + Represents the method that will handle a SelectedIndexChanging event. + + The source of the event. + A SelectedIndexChanging object that contains the event data. + + + + Provides data for the TabPageClosed event. + + + + + Indicates the tab page. + + + + + Initializes a new instance of the TabPageEventArgs class + + Indicates the tab page. + + + + Represents the method that will handle a TabPageClosed event. + + The source of the event. + A TabPageEventArgs object that contains the event data. + + + + Provides data for the TabPageClosing event. + + + + + Indicates the tab page. + + + + + Initializes a new instance of the TabPageCancelEventArgs class + + Indicates the tab page + + + + Represents the method that will handle a TabPageClosing event. + + The source of the event. + A TabPageCancelEventArgs object that contains the event data. + + + + Provides data for the PanelClosed event. + + + + + Indicates the tab page. + + + + + Initializes a new instance of the PanelEventArgs class + + Indicates the navbar panel. + + + + Represents the method that will handle a PanelClosed event. + + The source of the event. + A PanelEventArgs object that contains the event data. + + + + Provides data for the PanelClosing event. + + + + + Indicates the nav bar panel. + + + + + Initializes a new instance of thePanelCancelEventArgs class + + Indicates the nav bar panel + + + + Represents the method that will handle a PanelClosing event. + + The source of the event. + A PanelCancelEventArgs object that contains the event data. + + + + Provides data for a Hook event. + + + + + Hook code. + + + + + WPARAM argument. + + + + + LPARAM argument. + + + + + Hook Types + + + + + Installs a hook procedure that monitors messages generated as a result of an input event in a dialog box, message box, menu, or scroll bar. + + + + + Installs a hook procedure that records input messages posted to the system message queue. + + + + + Installs a hook procedure that posts messages previously recorded by a WH_JOURNALRECORD hook procedure. + + + + + Installs a hook procedure that monitors keystroke messages. + + + + + Installs a hook procedure that monitors messages posted to a message queue. + + + + + Installs a hook procedure that monitors messages before the system sends them to the destination window procedure. + + + + + Installs a hook procedure that receives notifications useful to a computer-based training (CBT) application. + + + + + Installs a hook procedure that monitors messages generated as a result of an input event in a dialog box, message box, menu, or scroll bar. + + + + + Installs a hook procedure that monitors mouse messages. + + + + + This hook is not currently implemented in Win32. + + + + + Installs a hook procedure useful for debugging other hook procedures. + + + + + Installs a hook procedure that receives notifications useful to shell applications. + + + + + Installs a hook procedure that will be called when the application's foreground thread is about to become idle. + + + + + Installs a hook procedure that monitors messages after they have been processed by the destination window procedure. + + + + + Installs a hook procedure that monitors low-level keyboard input events. + + + + + Installs a hook procedure that monitors low-level mouse input events. + + + + + Initializes a new instance of the C1NavBar class. + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Save current order and visibility options as the default button arrangement. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + Get the value of size for control in a collapsed state. + + + + + Gets or sets the image that is displayed on the header of the active panel. + + + + + Gets or sets the color to treat as transparent in PanelHeaderImage images. + + + + + Gets or sets the background color for the control. + + + + + Gets the collection of buttons in this navigation bar. + + + + + Gets the collection of panels in this navigation bar. + + + + + Gets the currently visible panel in this navigation bar. + + + + + Gets or sets the string defining the order and visibility for buttons in this navigation bar. + + + + + Gets the string with the default order and visibility options for the buttons. + + + + + Gets or sets the number of buttons displayed in the stack (-1 shows all buttons). + + + + + Gets or sets the maximum number of buttons in the stack (unlimited if -1). + + + + + Gets or sets index of the selected button in the Buttons collection. + + + + + Gets or sets the button, which is currently selected in the C1NavBar. + + + + + Gets or sets the index of the button to be selected when the form opens. + + + + + Returns the number of visible buttons in the C1NavBar. + + + + + Gets or sets a value indicating whether the close button is shown in panel caption, and what is closed when it is clicked. + + + + + Gets or sets a value indicating whether the runtime options menu is visible. + + + + + Gets or sets a value indicating whether the vertical text is displayed in collapsed C1NavBar control. + + + + + Gets or sets a value indicating whether the collapse button is visible. + + + + + Gets or sets a value indicating the direction in which to collapse the control. + + + + + Gets or set the value indicating whether the control is currently in a collapsed state. + + + + + Gets or sets the visual style of the control. + + + + + Gets or sets the height of the navigation bar panels' header. + + + + + Gets or sets the font used in panel headers. + + + + + Gets or sets the height of the section header within the navigation bar. + + + + + Gets or sets the font used in section headers. + + + + + Gets or sets the space before text caption in a section header. + + + + + Gets or sets the height of each stack button within the C1NavBar. + + + + + Gets or sets the font used to render text on a stack button. + + + + + Gets or sets the size of images displayed on stack buttons (24 x 24 pixels by default). + + + + + Gets or sets the space before the image on a stack button. + + + + + Gets or sets the space between the image and the text on a stack button. + + + + + Represents a set of color properties to customize appearance of C1NavBar. + + + The theme colors are reset when VisualStyle property is changed to a new value. + Some theme colors have effect only with certain visual styles. + + + List of the properties, which have effect in Classic, OfficeXP, Office2003 visual styles: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List of the properties, which have effect in WindowsXP visual style: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Note, Theme does not have effect in Office2007, Office2010 visual styles. + + + + + Gets or sets the height of the button strip at the bottom of the navigation bar. + + + + + Gets the array of user interface strings. + + + + + Occurs when the user presses the button on the C1NavBar. + + + + + Occurs when the close button on the panel header is clicked. + + + + + Occurs when the collapse button on the panel header is clicked. Allows to cancel collapsing. + + + + + Occurs when the currently selected panel is about to be closed by the user. Allows to cancel closing the panel. + + + + + Occurs when the panel header is clicked. + + + + + Occurs when the panel header is double clicked. + + + + + Occurs when the panel header image is clicked. + + + + + Occurs after a panel has closed. + + + + + Occurs when the ShowOptionsMenu property is changed. + + + + + Occurs when the AllowCollapse property is changed. + + + + + Occurs when the CollapseDirection property is changed. + + + + + Occurs when the CloseButton property is changed. + + + + + Occurs when the currently selected panel is about to be changed. Allows to cancel changing the panel. + + + + + Occurs when the selected panel is changed. + + + + + Occurs when the VisualStyle property has changed. + + + + + Gets the unique identifier, which is the same for the corresponding button and panel. + + + + + Gets or sets the image that is displayed on the button. + + + + + Gets or sets the small image that is displayed in the button strip. + + + + + Gets or sets the color to treat as transparent in Image and SmallImage images. + + + + + Gets or sets the text displayed on the stack button, or in a tooltip when the button is in the bottom strip. + + + + + Gets or sets the text shown on the panel header. + + + + + Gets or sets the visibility of the button. + + + + + Returns whether this object supports properties. + + + + + + + + + Converts the given value object to the specified type. + + + + + + + + + + + + + + + This property is for internal use only. + + + + + Creates a new button, puts the button into the collection, returns the created button. + + + + + Determines whether the IList contains a specific value. + + + + + + + + + Determines the index of a specific item in the IList. + + + + + + + + + Determines the index of the item in the collection + with the specified value of the ID property. + + The value of the ID property to search for. + Index of the button with the specified ID, + or -1 if no such button exists. + + + + Adds an item to the IList. + + + + + + + + + Removes all items from the IList. + + + + + Inserts an item to the IList at the specified position. + + + + + + + + + Removes the first occurrence of a specific object from the IList. + + + + + + + Removes the IList item at the specified index. + + + + + + + Copies the elements of the ICollection to an Array, starting at a particular Array index. + + + + + + + + + Returns an enumerator that can iterate through the PagedControlsCollectionBase. + + + + + + + Copies the ButtonCollection to a one-dimensional array. + + + + + + + Copies the ArrayList or a portion of it to a one-dimensional array. + + + + + + + + + + + + + Adds the elements of an ICollection to the end. + + + + + + + Removes a range of elements. + + + + + + + + + Gets a value indicating whether the IList is read-only. + + + + + Gets or sets the element at the specified index. + + + + + + + + + Gets a value indicating whether the IList has a fixed size. + + + + + Gets a value indicating whether access to the ICollection is synchronized + + + + + Gets the number of elements contained in the ICollection. + + + + + Gets an object that can be used to synchronize access to the ICollection. + + + + + Supports a simple iteration over a collection. + + + + + Sets the enumerator to its initial position, which is before the first element in the collection. + + + + + Advances the enumerator to the next element of the collection. + + + + + + + Gets the current element in the collection. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Initializes a new instance of the C1NavBarPanel class. + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + Resets the BackColor property to its default value. + + + + + This method is for internal use only. + + + + + + + Gets or sets the value indicating whether the panel is visible. + + + + + Gets or sets the corresponding button for this panel. + + + + + Gets or sets the background color for the control. + + + + + Looks for the panel in the collection with the specified value of the ID property. + + The value of the ID property to search for. + Panel with the specified ID, or null if no such panel exists. + + + + Determines the index of the item in the collection + with the specified value of the ID property. + + The value of the ID property to search for. + Index of the panel with the specified ID, + or -1 if no such panel exists. + + + + This method is for internal use only. + + + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + + + Returns the index of the first occurrence of the C1NavBarPanel with the specified key. + + + + + + + + + Gets or sets the element at the specified index. + + + + + + + + + Gets a C1NavBarPanel with the specified key from the collection. + + + + + + + + + Initializes a new instance of the C1NavBarSectionHeader class. + + + + + Gets the owner C1NavBar control. + + + + + Initializes a new instance of the C1NavBarHorizontalRule class. + + + + + Gets the owner C1NavBar control. + + + + + Represents a set of color properties to customize appearance of C1NavBar. + + + The theme colors are reset when VisualStyle property is changed to a new value. + Some theme colors have effect only with certain visual styles. + + + List of the properties, which have effect in Classic, OfficeXP, Office2003 visual styles: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List of the properties, which have effect in WindowsXP visual style: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Note, Theme does not have effect in Office2007, Office2010 visual styles. + + + + + Gets the theme that corresponds to the Windows Classic style. + + + + + Gets the theme that corresponds to the default blue color scheme. + + + + + Gets the theme that corresponds to the Olive Green color scheme. + + + + + Gets the theme that corresponds to the Silver color scheme. + + + + + Gets the theme that corresponds to the Media Center style. + + + + + Represents foreground color of panel header. + + + + + Represents 1st background gradient color of panel header. + + + + + Represents 2nd background gradient color of panel header. + + + + + Represents foreground color of section header. + + + + + Represents 1st background gradient color of section header. + + + + + Represents 2nd background gradient color of section header. + + + + + Represents color of horizontal rule in C1NavBar section header. + + + + + Represents color of horizontal rule between C1NavBar sections. + + + + + Represents 1st gradient color of grip line. + + + + + Represents 2nd gradient color of grip line. + + + + + Represents foreground color of button in normal state. + + + + + Represents 1st gradient color of button background in normal state. + + + + + Represents 2nd gradient color of button background in normal state. + + + + + Represents foreground color of button when it is highlighted. + + + + + Represents 1st gradient color of button background when it is highlighted. + + + + + Represents 2nd gradient color of button background when it is highlighted. + + + + + Represents foreground color of button when it is pressed. + + + + + Represents 1st gradient color of button background when it is pressed. + + + + + Represents 2nd gradient color of button background when it is pressed. + + + + + Represents foreground color of button when it is in checked state. + + + + + Represents 1st gradient color of button background when it is in checked state. + + + + + Represents 2nd gradient color of button background when it is in checked state. + + + + + Border color. + + + + + Outlook-style container/tab control. + + + + + Initializes a new instance of the C1OutBar class + + + + + Returns the index of the page with the specified text, or -1 if such a page does not exist. + + + + + + + + + Returns true if the specified page caption is in the pressed state, or false otherwise. + + + + + + + + + Returns true if the specified page caption is in the hot state, or false otherwise. + + + + + + + + + Scrolls embedded toolbar up. + + + + + + + Scrolls embedded toolbar down + + + + + + + Temporarily suspends the layout logic for the control. + + + + + Resumes normal layout logic. + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Occurs when the VisualStyle property has changed. + + + + + Event fired when the PageTitleHeight property of the outbar is changed. + + + + + Allows owner draw of C1OutBar's page scrolling arrows. + + + + + Occurs when the owner-drawn C1OutPage should be redrawn. + + + + + Occurs when the page title is clicked. + + + + + Fires when a C1OutBar's page caption must be measured. + + + + + Event fired when the SelectedIndex property of the outbar is changing. + + + + + Event fired when the SelectedIndex property of the outbar is changed. + + + + + Event fired when the SelectedPage property of the outbar is changed. + + + + + Occurs when the value of the ShowToolTips property changes. + + + + + Occurs when the value of the PageLayout property changes. + + + + + Occurs when the value of the BackHiColor property changes. + + + + + Occurs when the value of the ForeHiColor property changes. + + + + + Gets or sets the background color for the control. + + + + + Gets or sets the background color of the highlighted item. + + + + + Gets or sets the text color of the highlighted item. + + + + + Gets the collection of outbar pages. + + + + + Gets or sets the selected page. + + + + + Gets or sets the index of the selected page. + + + + + Gets or sets the height of each page title. + + + + + Gets or sets a value indicating whether scroll buttons for scrolling toolbar links are visible. + + + + + Gets or sets a value indicating whether to use animation when changing the selected page. + + + + + Gets or sets a value indicating whether tool tip is shown when the mouse is over the page title bar. + + + + + Gets or sets the ImageList that contains the images shown on page title bars. + + + + + Gets or sets the layout of text and image on pages' title bars. + + + + + Gets or sets the alignment of text and image on pages' title bars. + + + + + Gets or sets the value indicating whether invisible pages are shown at design time. + + + + + Gets or sets the visual style of the control. + + + + + Represents a single page in a C1OutBar. + + + + + Initializes a new instance of the C1OutPage class. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Resets the BackColor property to its default value. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Occurs when the PageVisible property changes. + + + + + Occurs when the tooltip text changes. + + + + + Gets or sets the value indicating whether the page is visible. + + + + + Returns the caption bounds of the page. + + + + + Gets or sets the caption of the page. + + + + + Gets the pressed state of the page caption. + + + + + Gets or sets the value indicating whether the title of this page is owner-drawn. + + + + + Returns true if the page is currently selected. + + + + + Gets a value indicating whether the mouse pointer is located over caption area of the page. + + + + + Gets or sets the tooltip text for the page. + + + + + Gets or sets the index of the page image in the outbar's ImageList. + + + + + Gets or sets the page image. + + + + + Gets or sets the background color for the control. + + + + + Represents a collection of control objects. + + + + + Initializes a new instance of the C1OutPageControlCollection class. + + + + + + + Adds the specified Control object to the collection. + + + + + + + The collection of outbar pages. + + + + + This method is for internal use only. + + + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + Returns the index of the first occurrence of the C1OutPage with the specified key. + + + + + + + + + Gets or sets the element at the specified index. + + + + + + + + + Gets an outpage with the specified key from the collection. + + + + + + + + + Represents a radial menu. + + + + + Initializes a new instance of the C1RadialMenu class. + + + + This method is for internal use only. + + + This method is for internal use only. + + + + Shows the radial menu at the specified screen point. + If the menu is currently visible at another location, it is hidden first. + + The owner form. + The radial menu center's screen coordinates. + Indicates whether the menu should show initially expanded. + + + + Hides the radial menu if it is currently visible. + + + + + Moves the radial menu if it is currently visible, + does nothing otherwise. + + The X offset. + The Y offset. + + + + Occurs when a public property has changed. + + + + + Occurs when the menu is closed. + + + + + Occurs when a menu item is clicked. + + + If the clicked item has its own Click event associated with it, + that event occurs immediately before this one. + + + + + Gets or sets the menu radius in the expanded state. + The default value is 160. + + + + Gets or sets the radius of the central button. + The default value is 28. + + + + Gets or sets the radius separating the area filled with items' background color on the outside + from the inner area filled with radial menu's own background. + The default value is 70. + + + + Gets or sets the width of the radial menu's outer border. + The default value is 24. + + + + Gets or sets the position of the tooltip relative to the radial menu. + The default value is "left". + + + + Gets or sets a value indicating whether the menu should use animation effects. + The default value is true. + + + + Gets or sets the collection of items contained in this menu. + + + + + Gets or sets the image shown in the radial menu's center button. + + + + + Gets or sets the cursor used by the radial menu. + The default value is "hand". + + + + Gets or sets a value indicating whether the radial menu should automatically hide + on certain events (such as lost focus etc). + The default is true. + + + + Gets or sets a value indicating whether the radial menu is enabled. + The default is true. + + + + Gets a value indicating whether the radial menu is currently visible. + + + + + Gets a value indicating whether the radial menu is currently expanded. + + + + + Gets or sets the screen coordinates of the menu's center. + If the menu is currently invisible ( is false), + setting this property throws an exception. + + + + + Arguments for the RadialMenuItemClickEventHandler event handler. + + + + + Initializes a new instance of the RadialMenuItemClickEventArgs class. + + The item that was clicked. + + + + Gets the item that was clicked. + This may be either an object of a type derived from , + or a . + + + + + If the clicked item was a , returns that item; + otherwise, returns null. + + + + + If the clicked item was a , returns that link; + otherwise, returns null. + + + + + Represents the method that will handle a RadialMenuItemClick event. + + The source of the event. + A RadialMenuItemClickEventArgs object that contains the event data. + + + + Specifies where to show menu tooltips relative to the radial menu. + + + + + Tooltips are not shown. + + + + + Tooltips are shown to the left of the menu. + + + + + Tooltips are shown above the menu. + + + + + Tooltips are shown to the right of the menu. + + + + + Tooltips are shown below the menu. + + + + + Abstract base class for items in a radial menu. + + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + + Gets or sets the name used to identify the item. + + + + + Gets or sets the text associated with the menu item. + + + + + Gets or sets the tooltip associated with the menu item. + + + + + Gets or sets the image associated with the menu item. + + + + + Gets or sets a value indicating whether the menu item is checked. + + + + + Gets or sets a value indicating whether the menu item is enabled. + + + + + Represents a radial menu item, possibly with a sub-menu. + + + + + Initializes a new instance of the RadialMenuItem class. + + + + + Invokes the Click event. + + + + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + + Gets or sets the collection of items contained in this menu item. + + + + + Occurs when the menu item is clicked. + + + + + Gets the parent of this menu item (which may be either a , + or another ). + + + + + Gets or sets the background color of this menu item. + Empty (default) means that item background specified for the whole menu is used. + + + + + Gets or sets the highlight color of this menu item. + Empty (default) means that item highlight color specified for the whole menu is used. + + + + + Gets or sets the check mark color of this menu item. + Empty (default) means that item check mark color specified for the whole menu is used. + + + + + Gets or sets the non-expandable border color of this menu item. + Empty (default) means that item non-expandable border color specified for the whole menu is used. + + + + + Gets or sets the hot expandable border color of this menu item. + Empty (default) means that style specified for the whole menu is used. + + + + + Gets or sets an arbitrary object that can be associated with this menu item. + + + + + Represents a radial menu item associated with a . + + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + This method is for internal use only. + + + + Gets or sets the associated with this menu item. + + + + + Overridden. Gets or sets the text shown by this menu item. + Note that setting this property does not change the text + on the associated C1Command. + + + + + Overridden. Gets or sets the tooltip shown by this menu item. + Note that setting this property does not change the tooltip + on the associated C1Command. + + + + + Overridden. Gets or sets the image shown by this menu item. + Note that setting this property does not change the image + on the associated C1Command. + + + + + C1ToolBar. + + + + + Initializes a new instance of the C1ToolBar class. + + + + + Releases the resources used by the C1ToolBar. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Resets the BackColor property to its default value. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Event fired when Reset command from Customize dialog is clicked. + + + + + Occurs when the value of the ButtonLookHors property changes. + + + + + Occurs when the value of the ButtonLookVert property changes. + + + + + Occurs when the value of the ButtonLookEnforceHors property changes. + + + + + Occurs when the value of the ButtonLookEnforceVert property changes. + + + + + Occurs when the value of the ButtonLayoutHors property changes. + + + + + Occurs when the value of the ButtonLayoutVert property changes. + + + + + Occurs when the value of the ButtonAlign property changes. + + + + + Occurs when the value of the ButtonWidth property changes. + + + + + Occurs when the value of the MinButtonSize property changes. + + + + + Occurs when the value of the CustomizeButton property changes. + + + + + Occurs when the value of the Border property changes. + + + + + Occurs when the value of the ToolBarStyle property changes. + + + + + Occurs when the value of the Horizontal property changes. + + + + + Occurs when the value of the ShowToolTips property changes. + + + + + Occurs when the value of the BackHiColor property changes. + + + + + Occurs when the value of the ForeHiColor property changes. + + + + + Occurs when an owner drawn link needs to be measured. + + + + + Occurs when an owner drawn link needs to layout its text, image and control within the link bounds. + + + + + Occurs when an owner drawn link needs to be drawn. + + + + + Occurs when an owner drawn menu or toolbar needs to be drawn. + + + + + Occurs when a floating toolbar's caption needs to be measured. Allows to customize the toolbar's size. + + + + + Occurs when a floating toolbar's caption needs to be drawn. Allows to owner draw the caption. + + + + + Occurs when the current command link changes. + + + + + Occurs when the value of the Wrap property changes. + + + + + Occurs when the value of the WrapText property changes. + + + + + Occurs when the VisualStyle property has changed. + + + + + Gets or sets a value indicating whether the control should hide the first delimiter. + + + C1CommandLink.Delimiter property shows a delimiter before a C1CommandLink present at C1ToolBar. The HideFirstDelimiter property hides the delimiter for the first visible C1CommandLink even the Delimiter property of the C1CommandLink is True. + + + + + Gets or sets the visual style of the control. + + + + + Gets or sets the background color for the control. + + + + + Gets or sets the background color of the highlighted item. + + + + + Gets or sets the text color of the highlighted item. + + + + + Indicates whether the toolbar is floating. + + + + + Gets or sets the orientation of the toolbar. + + + + + Gets or sets the value indicating whether the toolbar can be moved by the user. + + + + + Gets or sets the layout of the buttons when the toolbar is horizontal. + + + + + Gets or sets the layout of the buttons when the toolbar is vertical. + + + + + Gets or sets the default look of the buttons when the toolbar is horizontal. + + + + + Gets or sets the default look of the buttons when the toolbar is vertical. + + + + + Gets or sets the minimum size (width and height) of button in toolbar. + + + + + Gets or sets the width for all buttons (applies to horizontal toolbars only; if 0, buttons are individually sized). + + + + + Gets or sets the visibility of customize button. + + + + + Gets or sets the value indicating whether to force all buttons to comply with ButtonLookHorz. + + + + + Gets or sets the value indicating whether to force all buttons to comply with ButtonLookVert. + + + + + Gets the collection of commandlinks. + + + + + Gets the current layout of the buttons. + + + + + Gets the default look of the buttons in the current toolbar orientation. + + + + + Gets the value indicating whether to force all buttons to comply with ButtonLookCurrent. + + + + + Gets or sets the value indicating whether to show background image in the image bar of dropdown menus. + + + + + Gets or sets the appearance of the toolbar’s border. + + + + + Gets or sets the value indicating whether the toolbar automatically adjusts it size to fit all items. + + + + + Gets or sets the button alignment for vertical toolbars. + + + + + Gets or sets the style of the toolbar. + + + + + Gets or sets the value indicating whether to show tooltip texts when mouse cursor is over toolbutton. + + + + + Gets or sets the value indicating what can be customized in this toolbar. + + + + + Gets or sets the value indicating whether to wrap the toolbar or show a \"More...\" button if not all items fit on a single line. + + + + + Gets or sets the value indicating whether to wrap text in links when ButtonWidth is greater than zero and text doesn't fit. + + + + + Indicates whether the toolbar is in customize mode. + + + + + Gets or sets the value indicating whether the menu that is + automatically created when some items do not fit on the toolbar closes + when an item on that menu is clicked. + + + + + Represents a Topic Bar + + + + + Initializes a new instance of the C1TopicBar class + + + + + + + Resets the LinkStyle property to its default value. + + + + + Returns information about the control at at the current mouse position. + + A object that contains information about the point. + + + + Returns information about the control at a specified point on the control surface. + + The horizontal position of the client coordinate. + The vertical position of the client coordinate. + A object that contains information about the point. + + This method is useful when handling the , events or similar. + It allows you to determine whether the mouse is over a specific link, page title, etc. + + + + + Returns information about the control at a specified point on the control surface. + + + in client coordinates. + A object that contains information about the point. + + This method is useful when handling the , events or similar. + It allows you to determine whether the mouse is over a specific link, page title, etc. + + + The code below shows hit test information whenever the user moves the mouse: + + Private Sub C1TopicBar1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles C1TopicBar1.MouseMove + Dim ht As C1.Win.C1Command.C1TopicBarHitTestInfo = C1TopicBar1.HitTest(e.Location) + Label1.Text = ht.Type.ToString() + If (Not IsNothing(ht.Page)) Then + Label2.Text = ht.Page.Text + Else + Label2.Text = "" + End If + If (Not IsNothing(ht.Link)) Then + Label3.Text = ht.Link.Text + Else + Label3.Text = "" + End If + End Sub + + + + + Collapses the all pages + + + + + Expands the all pages + + + + + Returns the first page with the specified text, or null if such a page does not exist. + + + + + Returns the first page with the specified value, or null if such a page does not exist. + + + + + Returns the first link with the specified value, or null if such a page does not exist. + + + + + Returns index of the first page with the specified text, or -1 if such a page does not exist. + + + + + Returns the first link with the specified text, or null if such a link does not exist. + + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + Gets or sets the alignment of the topicbar pages caption. + + + + + Gets or sets the value indicating whether to use animation when collapsing/expanding pages. + + + + + Gets or sets the ImageList that contains the images shown on page title bars. + + + + + Gets or sets the padding between a page border and a link. + + + + + Gets or sets the space between pages. + + + + + Gets the collection of topic bar pages. + + + + + Gets or sets a value indicating whether tool tip is shown when the mouse is over the page title bar. + + + + + Gets or sets the value indicating whether invisible pages and links are shown at design time. + + + + + Gets the style of the links on pages. + + + + + Gets or sets the visual style of the control. + + + + + Gets or sets a value indicating whether pages and links should display focus rectangles. + + + + + Occurs when a link on this topic bar is clicked. + + + + + Occurs when a page is expanded. + + + + + Occurs when a page is collapsed. + + + + + Occurs when the LinkStyle property has changed. + + + + + Occurs when the VisualStyle property has changed. + + + + + Use members of this enumeration to set the value of the Style property of the C1Border class. + + + + + No border. + + + + + Flat border at dark color. + + + + + Grooved border. + + + + + Ridged border. + + + + + Inset border. + + + + + Outset border. + + + + + This class allows you to add borders to a C1ToolBar object. + + + + + Initializes a new instance of the C1Border class. + + + + + Initializes a new instance of the C1Border class. + + + + + + + Sets full border around toolbar or removes border. + + If True, sets all borders, otherwise removes them + + + + Checks if border is full and visible. + + + + + + + Checks if border is not visible. + + + + + + + This method is for internal use only. + + + + + + + + + Gets or sets the border style. + + + + + Gets or sets the border width in pixels. + + + + + Determines whether the border has a left edge. + + + + + Determines whether the border has a top edge. + + + + + Determines whether the border has a right edge. + + + + + Determines whether the border has a bottom edge. + + + + + Gets or sets the color of the border. + + + + + Gets or sets the color of the border. + + + + + Provides a type converter to convert C1Border objects to and from various other representations. + + + + + Returns whether this object supports properties. + + + + + + + + + Converts the given value object to the specified type. + + + + + + + + + + + + + + + This property is for internal use only. + + + + + Represents a topic bar link. + + + + + Gets or sets the index of the link image in the ImageList of the page. + + + + + Index of this link in the topic page. + + + + + Gets or sets the text of the link. + + + + + Gets or sets the tooltip text for the link. + + + + + Gets or sets the value indicating whether the link is visible. + + + + + Gets the owner topicpage. + + + + + Gets the owner topicbar. + + + + + Gets or sets arbitrary data that can be associated with the link. + + + + + Gets or sets the value indicating whether the link is enabled. + + + + + Represents a collection of C1TopicLink objects. + + + + + Adds the specified link to the collection. + + + + + Searches for the specified link and returns the zero-based index. + + + + + Inserts the link into the specified zero-based position. + + + + + Removes the first occurrence of a specified link from the collection. + + + + + + + Determines whether the collection contains a specified link. + + + + + Gets or sets the link at the specified index. + + + + + Summary description for CTopicPage. + + + + + Initializes a new instance of the C1TopicPage class. + + + + + Returns the first link with the specified text, or null if such a link does not exist. + + + + + Returns the first link with the specified value, or null if such a link does not exist. + + + + + Collapses the page + + + + + Expands the page + + + + + Gets the index of this page in the topic bar. + + + + + Gets or sets the alignment of links on the page. + + + + + Gets or sets the value indicating whether the page is collapsed or not. + + + + + Gets or sets the value indicating whether the page has a special dark title. + + + + + Gets or sets the value indicating whether the expand/collapse button is shown on the page title. + + + + + Gets or sets the ImageList that contains the images shown in page links. + + + + + Gets or sets the index of the page title image in the topic bar’s ImageList. + + + + + Gets the collection of links on the page. + + + + + Gets or sets the caption of the page. + + + + + Gets or sets the tooltip text for the page. + + + + + Gets or sets the value indicating whether the page is visible. + + + + + Gets or sets the value indicating whether wide link texts wrap. + + + + + Gets or sets arbitrary data that can be associated with the page. + + + + + Gets the owner topicbar. + + + + + Represents a collection of C1TopicPage objects. + + + + + Adds the specified page to the collection. + + + + + Searches for the specified page and returns the zero-based index. + + + + + Inserts the page into the specified zero-based position. + + + + + Removes the first occurrence of a specified page from the collection. + + + + + + + Determines whether the collection contains a specified page. + + + + + Gets or sets the page at the specified index. + + + + + Gets or sets the foreground color of the link. + + + + + Gets or sets the font of the link. + + + + + Gets the style of the links on page. + + + + + Gets the style of the links on page with special style. + + + + + Gets the style of the link. + + + + + Gets the style of the link when mouse cursor is over link. + + + + + Gets the style of the disabled link. + + + + + Gets the style of the pressed link. + + + + + Simple stack with indexed access, based on System.Collections.ArrayList + + + + + Use the members of this enumeration to set the values of ButtonLook, ButtonLookHorz, + and ButtonLookVert properties of the C1CommandLink class. + + The members of this enumeration can be combined using the bitwise OR operation. + + + + + Use the default value for the toolbar. + + + + + Show button text. + + + + + Show button image. + + + + + Show button text and image. + + + + + Specifies the relative location of text and image on toolbar buttons. + + Use members of this enumeration to set the ButtonLayoutHorz and ButtonLayoutVert properties of C1Toolbar. + + + + + Text is on the right of the image. + + + + + Text is on the left of the image. + + + + + Text is below the image. + + + + + Text is above the image. + + + + + Specifies position of close box in locked mode. + + + + + Default position of close box. + + + + + Close box on the active tab. + + + + + Close boxes on the all tabs. + + + + + Defines behavior on C1DockingTabPage's CloseBox click. + + + + + Closes the and removes it from collection. + + + + + Set the property to false. + + + + + Specifies the current state of a menu or toolbar item. + + + + + Normal (default) state. + + + + + Mouse is currently over the item. + + + + + Item has been pressed (either by the left mouse button or by the space key). + + + + + Item contains a submenu, which is currently open. + + + + + Item is being dragged during customizing or at design-time. + + + + + Specifies the behavior of a menu when all its items do not fit on the screen. + + Use the members of this enumeration to set the value of the LargeMenuDisplay property in the C1CommandMenu class. + + + + + When a menu does not fit on the screen, it is wrapped. + + + + + When a menu does not fit on the screen, it is scrolled. + + + + + Enumerates customizable user interface strings. + Elements of this enumeration can be used to index strings in the UIStrings array. + + + + + Text of the "More..." command. + + + + + Text of the "Toolbar Options" command. + + + + + Text of the "Add or Remove Buttons" command. + + + + + Text of the "Reset" command. + + + + + Text of the "Customize..." command. + + + + + Text of the Rename toolbar dialog command. + + + + + Allows to translate/customize the "duplicate toolbar" message in the customizer. + + + + + Text of the "More Windows" menu item created by C1CommandMdiList. + + + + + 'Allows to translate/customize the "confirm toolbar delete" question in the customizer. + + + + + Allows to translate/customize the status strings in the customizer. + + + + + Allows to translate/customize the status strings in the customizer. + + + + + Allows to translate/customize the status strings in the customizer. + + + + + Allows to translate/customize the status strings in the customizer. + + + + + Tooltip for the close C1DockingTab button. + + + + + Tooltip for the auto hide C1DockingTab button. + + + + + Tooltip for the scroll right C1DockingTab button. + + + + + Tooltip for the scroll left C1DockingTab button. + + + + + Tooltip for the tab list C1DockngTab button. + + + + + Show item in the NavBar menu. + + + + + Hide item in the NavBar menu. + + + + + Options item in the NavBar menu. + + + + + Add/remove item in the NavBar menu. + + + + + Customize item in the NavBar menu. + + + + + Collapsed bar text in the NavBar. + + + + + Specifies the look and feel of a control. + + + + + Office XP look and feel. + + + + + Classic look and feel. + + + + + Windows XP look and feel. + + + + + Office 2003 look and feel. + + + + + Office 2007 look and feel. + + + + + Office 2010 look and feel. + + + + + Specifies the style of the toolbar. + + Use members of this enumeration to set the value of the ToolBarStyle property of a C1ToolBar. + + + + + Specifies a toolbar in the default state. + + + + + Specifies drawing toolbar like DropDownMenu. + + + + + Specifies which customization options are available at runtime. + + Use members of this enumeration to set the value of the CustomizeOptions property of a C1ToolBar. + + The members of this enumeration can be combined using the bitwise OR operation. + + + + + Nothing is allowed. + + + + + Toolbars can be deleted. + + + + + A new C1CommandLink can be added to a toolbar. + + + + + Command links in toolbar can be removed. + + + + + Customize button can be enabled or disabled. + + + + + Hides Customize menu item from Add and Remove Buttons menu. + + + + + Allow all actions. + + + + + Specifies the text direction. + + Use members of this enumeration to set the value of the TabTextDirection property of a C1DockingTab. + + + + + The default direction: Horizontal for tabs on the top or bottom, VerticalLeft for tabs on the left, VerticalRight for tabs on the right. + + + + + Text is drawn horizontally. + + + + + Text is drawn vertically, turned 90 degrees counter-clockwise. + + + + + Text is drawn vertically, turned 90 degrees clockwise. + + + + + Specifies how tabs of a C1DockingTab are sized. + + Use members of this enumeration to set the value of the TabSizeMode property of a C1DockingTab. + + + + + The default sizing mode. + + + + + All tabs are squeezed to fit into the width of the tab control. + + + + + Tabs are stretched to take the whole width of the tab control. + + + + + The user can specify the tab size in the MeasureTab event. + + + + + Specifies how the tabs of a C1DockingTab control look. + + + + + Visual Studio 2003 look. + + + + + Use VS2003 instead. + + + + + Windows XP look. + + + + + Classic look. + + + + + Tabs are sloped on one side. + + + + + Tabs are rounded. + + + + + Tabs are drawn using the Office 2003 style. + + + + + Tabs are drawn using the Office 2007 style. + + + + + Tabs are drawn using the Office 2010 style. + + + + + Specifies how the window outline is drawn when the window is being moved. + + + + + Draws the outline with a checkered pattern of black and transparent pixels. + + + + + Draws a reversible line with a complimentary color. + + + + + Specifies how the hot frame is drawn on a command link with an embedded control. + + Use members of this enumeration to set the value of the HotFrame property of a C1CommandControl. + + + + + The frame encloses the whole link. + + + + + The frame encloses just the control. + + + + + Hot frame/selection is not drawn. + + + + + Defines behavior of floating windows when the application loses focus. + + + + + Default float hide behavior. + + + Same to float hide behavior. + + + + + Hides floating docking tabs when the application loses focus. + + + + + Never hides floating docking tabs. + + + + + Enumerates the Outlook-style navigation bar buttons. + + + + + Unspecified button. + + + + + Custom button. + + + + + Mail button. + + + + + Calendar button. + + + + + Contacts button. + + + + + Tasks button. + + + + + Notes button. + + + + + Folder button. + + + + + Shortcut button. + + + + + Journal button. + + + + + Specifies the visibility and function of the navigation bar's close button. + + + + + The close button is not shown. + + + + + Clicking the close button closes the currently selected panel. + + + + + Clicking the close button closes the whole navigation bar. + + + + + Specifies the direction in which the navigation bar is collapsed. + + + + + The direction in which the bar collapses is determined by the value of the control's Dock property. + + + + + The bar collapses to the left. + + + + + The bar collapses to the right. + + + + + The bar collapses to the top. + + + + + The bar collapses to the bottom. + + + + + Specifies how it is determined whether to animate the menus or not. + + + + + Animation is determined by the system-wide setting. + + + + + Animation is off. + + + + + Animation is on. + + + + + Determines the visual style of a control. + + + + + Custom style. + + + + + Standard system style. + + + + + MS Office 2010 Blue color scheme. + + + + + MS Office 2010 Black color scheme. + + + + + MS Office 2010 Silver color scheme. + + + + + MS Office 2007 Blue color scheme. + + + + + MS Office 2007 Black color scheme. + + + + + MS Office 2007 Silver color scheme. + + + + + MS Office 2003 Blue color scheme. + + + + + MS Office 2003 Olive color scheme. + + + + + MS Office 2003 Silver color scheme. + + + + + MS Office XP color scheme. + + + + + Classic color scheme. + + + + + Windows XP color scheme. + + + + + Specifies docking behavior of C1DockingTab controls. + + + + + Default docking style. + + + If the DockingStyle property is set to Default, + docking works without the selectors: when you drag a floating panel over another panel, + a gray frame appears to show you the position that the instance of C1DockingTab will + have once you release it. + + + + + Visual studio 2005 - like docking style. + + + The VS2005 docking style feedback is similar to Visual Studio 2005, using docking zone + selectors to specify where the dragged view will be docked if you release it. + + + + + Visual studio 2008 - like docking style. + + + The VS2008 docking style feedback is similar to Visual Studio 2008, using docking zone + selectors to specify where the dragged view will be docked if you release it. + + + + + Visual studio 2010 - like docking style. + + + The VS2010 docking style feedback is similar to Visual Studio 2010, using docking zone + selectors to specify where the dragged view will be docked if you release it. + + + + \ No newline at end of file diff --git a/Logbuch/Logbuch/bin/Debug/C1.Win.C1Input.2.dll b/Logbuch/Logbuch/bin/Debug/C1.Win.C1Input.2.dll new file mode 100644 index 0000000..2a92727 Binary files /dev/null and b/Logbuch/Logbuch/bin/Debug/C1.Win.C1Input.2.dll differ diff --git a/Logbuch/Logbuch/bin/Debug/C1.Win.C1Input.2.xml b/Logbuch/Logbuch/bin/Debug/C1.Win.C1Input.2.xml new file mode 100644 index 0000000..e101fc3 --- /dev/null +++ b/Logbuch/Logbuch/bin/Debug/C1.Win.C1Input.2.xml @@ -0,0 +1,9881 @@ + + + + C1.Win.C1Input.2 + + + + + Public class that derives from and wraps a C1Framework Element. + Add whatever object model you want, map to the inner Element as needed. + The class adds design-time support to controls that + contain objects, so you can select and edit them using the + property window. Serialization is also supported. + + + + + Public collection of objects. + The ElementWrapperCollection is a public wrapper for the Element.Children collection. + This class exposes methods that allow you to retrieve, add, and remove ElementWrappers + from the collection. Any changes made to this collection are automatically reflected + in the wrapped Element's Children collection. + + + + + Class with static methods used for enumerating and retrieving application + resources. + + + + + Returns all images from the entry assembly. + + A collection of name/image pairs. + + + + Returns all images from the specified assembly. + + An to load images from. + A collection of name/image pairs. + + + + Loads an image from the entry assembly. + + The case-insensitive name of the requested image. + The if it is found; null otherwise. + + + + Loads an image from the specified assembly. + + An to load image from. + The case-insensitive name of the requested image. + The if it is found; null otherwise. + + + + Loads the specified manifest resource from the entry assembly. + + The case-insensitive name of the manifest resource being requested. + A representing this manifest resource. + + + + Loads the specified manifest resource from the specified assembly. + + An to load resource from. + The case-insensitive name of the manifest resource being requested. + A representing this manifest resource. + + + + Decodes an image from a base-64-encoded string. + + String that contains the encoded image data. + The encoded in the string. + + + + Defines an abstract base class for controls that support auto-scrolling behavior. + + + + + Initializes the properties. + + + + + Override this method to get notifications when the control scrolls. + + + + + + + This method is used to set the scroll rectangle. + Override it to customize the scrolling behavior. + + + + + + + + + + + Handles scroll messages. + + + + + + + This member overrides . + Override this method to account for scrollbars size. + + + + + + + + + This member overrides . + + + + + + + This member overrides . + + + + + + + This member overrides . + + + + + + + This member overrides . + + + + + + + This member overrides . + + + + + + + Retrieves the specified scroll bar range. + + + + + + + + + Gets the scroll position of the specified scroll bar. + + + + + + + + + Gets the immediate position of the specified scroll box that the user is dragging. + + + + + + + + + Sets the position of the specified scroll bar. + + + + Specifies the new position of the scroll box. + The position must be within the scrolling range. + The previous position of the scroll box indicates success. + Zero indicates failure + + + + Gets or sets the text associated with the control. + + + + + Gets or sets which scroll bars should appear on the control. + + + + + Gets or sets the value determining the current scroll position. + + + + + Gets or sets the size of the document. + + + + + Gets or sets whether the control should scroll as the user drags the scrollbar thumb. + + + + + Gets or sets the value determining + the type of border around the control. + + + + + Gets or sets the that appears when + the mouse moves over the control. + + + + + This property is used to set the scroll page size. + Override it to customize the scrolling behavior. + + + + + This member overrides . + + + + + Gets or sets the distance to move a scroll bar in response to + a small scroll command. + + + + + Gets or sets a value determining whether control shows scroll bars. + + + + + Control that hosts X elements. + The control has an property that gets or + sets the element to be displayed. + The control is responsible for displaying the element, providing + scrolling, and routing mouse and keyboard events to the hosted element. + + + + + Initializes a new instance of the control. + + + + + Creates a object for the control. + + A object for the control. + + The object returned by this method reflects the current + settings for the and + properties. + + + + + Scrolls a given point into view. + + Point to scroll into view. + + + + Scrolls a given rectangle into view. + + Rectangle to scroll into view. + + + + Releases all resources used by the control. + + + + + + + Determines whether the specified key is a regular input key or + a special key that requires preprocessing. + + One of the values. + True if the specified key is a regular input key; otherwise, false. + + + + Raises the event. + + An that contains the event data. + + + + Raises the event. + + An that contains the event data. + + + + Raises the event. + + A that contains the event data. + + + + Raises the event. + + An that contains the event data. + + + + Raises the event. + + An + that contains the event data. + + + + Raises the event. + + An + that contains the event data. + + + + Raises the event. + + An + that contains the event data. + + + + Raises the event. + + + + + + + Raises the event. + + An + that contains the event data. + + + + Raises the event. + + An that contains the event data. + + + + Raises the event. + + An that contains the event data. + + + + Raises the event. + + An that contains the event data. + + + + Raises the event. + + An that contains the event data. + + + + Raises the event. + + An that contains the event data. + + + + Raises the event. + + An that contains the event data. + + + + Returns True if the mouse pointer is inside the XView control. + + + + + Raises the event. + + An that contains the event data. + + + + Remove hosted controls that belong to elements which became invisible or + belong to a different control now. + + + The host element is responsible for restoring the control's Parent property + when it updates its position. + Note: determines that a belongs to an + if the control's property contains + a reference to a object. + + + that contains the event data. + + + + Remove hosted controls before disposing of the parent control. + + + This allows the host element to remain valid even if their parent view is disposed. + To dispose of the hosted control, call Dispose on the hosted control directly. + Note: determines that a belongs to an + if the control's property contains + a reference to a object. + + + that contains the event data. + + + + Sets the scroll rectangle. + + Amount to scroll in the x direction, in pixels. + Amount to scroll in the y direction, in pixels. + + + + + + Represents a handler for an item related event. + + + + + Provides data for an item related event. + + + + + Gets key of the item being added or changed. + + The key. + + + + Gets the string value. + + The value. + + + + Gets a value indicating whether this instance is default. + + + true if this instance is default; otherwise, false. + + + + + Gets the description. + + The description. + + + + Represents a collection of end user visible UI strings. + + + + + Adds a string to the collection, specifying the ordinal. + + The key of the string. + The ordinal of the string. + The string. + The description of the string. + + + + Adds a string to the collection in alphabetical order. + + The key of the string. + The string. + The description of the string. + + + + Adds a string to the collection, preserving the order. + + The key of the string. + The string. + The description of the string. + + + + Sets all strings in collection to their default values. + + + + + Indicates whether any of the strings in the current collection + have non-default values. + + + true if any of the strings have non-default values, false otherwise. + + + + Tests whether a string in the collection has default value. + + The key of the string to test. + + true if the string has default value, false otherwise. + + + + Returns the description of a string. + + The key of the string to get the description of. + The string's description + + + + Resets a string to its default value. + + The key of the string to reset. + + + + Returns the key of an item with the specified index. + + The item index. + The item's key. + + + + Gets the string by its index. + + The string index. + The string. + + + + Sets the value of a string with the specified index. + + The string index. + The new string value. + + + + Fires the event. + + The event data. + + + + Fires the event. + + The event data. + + + + Fires the event. + + The event data. + + + + Gets the number of elements contained in the collection. + + + + + Occurs when a new item is added to the collection. + + + + + Occurs when an item in the collection is changed. + + + + + Occurs when the collection has been changed. + + + + + Provides type conversion for the type. + + + + + For internal use. + + + + + + + + + + + + + + + For internal use. + + + + + + + + + + + + + For internal use. + + + + + + + + + Base class for C1ColorPicker and C1FontPicker controls. + + + + + Base class for C1DateEdit and C1NumericEdit controls. Includes support for dropdown and up/down buttons. + + + + + The main data bound control used for entering and editing information in a text form. + Supports data formatting for all data types, including special features for date-time formats. + Also supports edit mask, data validation and other features. + + + + + Initializes a new instance of the C1TextBox class. + + + + + Releases the resources used by the C1TextBox. + + + + + + + Resets to the default value. + + + + + Tests whether should be serialized. + + True if should be serialized, false otherwise. + + + + This method works exactly as setting the Value property, except that it does not change the internal variable + storing the value before editing, so the user can press Esc and restore the previous value. + This method works only in edit mode. If the control is not in edit mode, this methods does nothing. + + Value to set to the control. + + + + This method temporarily disables numeric input mode + + True to suspend numeric input, False to resume it + If True, control's Value is updated, obtained from the current control text. + + + + Parses the Text string. + + Output parameter: Parsing result + Output parameter: Object detailing error information, if an error occurred. + + + + + + Sets culture. + + New culture. + + + + Checks the result of the ParseContent method. + + Value indicating the reason of validation failure + Parsed value of type DataType that was undergoing validation + Object detailing error information, if an error occurred + + + + + + Triggers parsing of the Text property and updating the Value. + + + + + + + Increments the currently selected field in DateTimeInput mode. + + + + + Decrements the currently selected field in DateTimeInput mode. + + + + + Validates current Text property in the same manner as it usually validated after the control loses focus. + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + + + + + This method is for internal use only. + + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Raises the event. + + An that contains the event data. + + Raising an event invokes the event handler through a delegate. + The OnBorderColorChanged method also allows derived classes to handle the event without attaching a delegate. + This is the preferred technique for handling the event in a derived class. + + Notes to Inheritors. When overriding OnBorderColorChanged in a derived class, + be sure to call the base class's OnBorderColorChanged method so that registered delegates receive the event. + + + + + + Updates the control's Text with the current Value. + + + + + This member is for internal use only. + + + + + This member is for internal use only. + + + + + This method is for internal use only. + + + + + + + Makes Fixed3D borders old-style looking (flat) + for System VisualStyle. + This property is only for compatibility with legacy applications only. + + + + + Draws a red dotted line if Value is empty. + + + + + Gets or sets the border color of the control. + + + Use the BorderColor property to specify the border color of the control. + This property is set using a object. + The BorderColor property has an effect only when the property is set to FixedSingle. + + + + + Gets or sets the visual style of the control. + + + + + Gets or sets the foreground color of the disabled control. + + + + + Gets or sets the foreground color of the control which contains negative value. + + + + + Indicates whether to honor the ColumnStyle properties defined on the + C1ViewColumn object that this control is bound to. + + + + + The culture ID. + + + + + Calendar, used to format date. + + + + + The name selected for the Culture property in the Properties grid + + + + + If True, current user regional settings override the selected culture. + + + + + The current CultureInfo object (available at runtime). + + + + + Format used to display the value when the control is not in edit mode (does not have input focus or is read-only). + + + + + Format used to display the value when the control is in edit mode (has input focus and is not read-only). + + + + + Defines rules to filter keyboard input. + + + + + Settings affecting parsing, that is, converting the string entered by the user to the data type. + + + + + Edit mask settings. + + + + + Gets or sets the maximum number of characters or bytes that the control can hold. + + + The number of characters or bytes (determined by the + LengthAsByte property) + that can be entered into the control.
The default is zero. +
+ + The MaxLength property allows you to limit the number of characters + a user can enter in the control. The default value is 0, + which does not limit the number of characters. Any number greater than 0 indicates + the maximum number of characters. + The effects the displayed result along with the MaxLength property. + + + If value is less than zero, an ArgumentOutOfRangeException is thrown. + +
+ + + Gets or sets the maximum number of lines. + + + An int value that indicates the maximum number of lines. +
The default is zero. +
+ + + MaxLineCount limits the acceptable lines of text when the + property is . + + + This property does not work with wrapped lines, so preferrable is to use MaxLineCount when + property is . + + + The default value of this property, zero, means no limit. + + + +
+ + + Gets or sets whether the maximum number of characters that fit in the control + are handled based on bytes, characters, or text elements. + + + Determines the unit for counting for the property. + The value LengthUnit.Byte means the MaxLength is counted by Byte. + The value LengthUnit.Char means the MaxLength is counted by Char. + + + + + True if string comparisons are case-sensitive; otherwise, False. Default: False + + + + + Enumeration value determining the formatting method, including standard .NET format specifiers, custom and programmatic formatting. + + + + + Custom format specifier used if FormatType = FormatTypeEnum.CustomFormat. + + + + + String representing a DBNull value. + + + + + If True, empty strings are interpreted as null values (DBNull). + + + + + If True, leading spaces are removed. + + + + + If True, trailing spaces are removed. + + + + + The edit mask string restricting user input. + + + + + Sets or gets a value indicating whether a special edit mode is used for numeric values. + + + + + Enables/disables the special keys used when NumericInput = True. Default: NumericInputKeyFlags.Standard. + + + + + Whether or not a special edit mode is applied to DateTime values. + + + + + If True, the control’s stored Value is in current time zone; otherwise, the Value is adjusted to the time zone defined by the GMTOffset property + + + + + The time zone of the Value property used if CurrentTimeZone = False. + + + + + If this property is False the month will be automatically incremented when the user spins the date past the end of the month. The same about other parts of the date/time value. + + + + + Gets or sets a value indicating whether the position of the caret is automatically moved to the first field when the last field is filled. + + + + + Gets or sets a value indicating whether the position of the character is automatically changed + + + + + The value specified in the GMTOffset property can be advanced or set back due to daylight-saving time changes. Default: NoAdjustments. + + + + + The minimum year that can be entered without leading zeros. + + + + + Validation rules applied before parsing, that is, before converting the string entered by the user to the DataType (raw string validation). + + + + + Validation rules applied after parsing, that is, after converting the string entered by the user to the DataType (typed validation). + + + + + Gets or sets a value indicating whether the control causes validation (i.e. calls Validated and Validating events) + + + + + Gets or sets the object that contains data about the control + + + + + This method is for internal use only. + + + + + Gets the length of text in the control. + + + + + The lines of text in a multiline control. + + + + + Specifies whether the Value and Text properties can be set independently. + + + + + The data source object to which the control is bound. + + + + + The field of the data source object to which the control is bound. + + + + + Type of the Value property. + + + + + Gets or sets a value indicating whether the Value is DBNull. + + + + + The main bindable property of a C1Input control. + + + + + Settings affecting error handling in the control. + + + + + Indicates if the Escape key that cancels modified value is handled by the control without passing it to the owner form (AcceptsEscape=True), or it is then passed to the form and can close it if the form has CancelButton (AcceptsEscape=False). + + + + + Indicates if Tab and Shift+Tab keys are accepted by control and move the focus to the next (previous) group of input characters in edit mask and in DateTimeInput mode. + + + + + Gets or sets a value that indicates that the control has been modified by the user since the control received the input focus or its Value last set. + + + + + Returns True, if the control has input focus and TextDetached = False. + + + + + Label control associated with this input field. + + + + + Determines the selection position when a control receives input focus. Default: InitialSelectionEnum.SelectAll. + + + + + Gets or sets whether the text box should be disabled when it is bound to an empty data source, i.e. CurrencyManager.Count = 0. + + + + + Specifies whether a focus rectangle should be displayed around the client area when the control has the input focus. + + + + + Specifies whether the context menu can be displayed for the control. + + + + + Gets or sets a value indicating whether the height of the control automatically adjusts when the font assigned to the control is changed. + + + + + Gets or sets a value indicating whether the control can respond to user interaction. + + + + + Gets or sets the vertical alignment of the content in the control. The default is VerticalAlignEnum.Top. + + + + + Gets or sets the spacing between the input control content and its edges, in pixels. Default: all margins are set to 0. + + + + + Allows backward compatibility with the old behavior, when the ValueChanged event previously fired on any text change. + + + + + Gets or sets whether the next control in the tab order receives the focus as + soon as the control is filled at the last character. + + + if the focus is moved to the next control in the tab order as soon as the control + is filled at the last character defined by the input control; otherwise, . +
+ The default is . +
+ + The input focus moves to the next control when the last entered character causes the text to exceed the limit of the control. + + +
+ + + Gets or sets whether the focus automatically moves to the previous or next control in the tab order + when pressing the left or right arrow keys. + + + One of the enumeration values. +
+ The default is . +
+ + The value of this property indicates the key which moves the input focus to the next control. + When the caret is at the last character of this control, focus moves out by pressing the right arrow key. + When the caret is before the first character of this control, focus moves out by pressing the left key. + + +
+ + + Occurs when the BorderColor property has changed. + + + + + Occurs when the VisualStyle property has changed. + + + + + CultureInfo can be set up (on startup) or has been changed. + + + + + Occurs when the control receives data that cannot be formatted according to the current format and edit mask settings. + + + + + Formatting the value programmatically. + + + + + Occurs after the value has been formatted. + + + + + Programmatic parsing of the input string. + + + + + Occurs after the input string value has been converted to the DataType. + + + + + Programmatic input string validation. + + + + + Occurs after the input string value has been validated. + + + + + Programmatic typed value validation. + + + + + Occurs after the typed value has been validated + + + + + Occurs when the DataType property changes. + + + + + Occurs when the Value changes. + + + + + Error occurred while parsing or validating the input string. + + + + + Occurs when Value is retrieved from the data source. + + + + + Occurs when Value is stored in the data source. + + + + + Occurs when the value of the VerticalAlign property has changed. + + + + + Occurs when the Margins property or one of the margins has changed. + + + + + Occurs when invalid character is in input. + + + + + Default path for the control in xml theme file. + + + + + Initializes a new instance of the C1DropDownControl class. + + + + + Releases the resources used by the C1DropDownControl. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Shows the dropdown. + + + + + Closes the dropdown. + + + + + Closes the dropdown. + + + + + + + Performs the spin up action. + + + This method has the same behavior as pressing the up key. + + + + + + Performs the spin down action. + + + This method has the same behavior as pressing the down key. + + + + + + This method is for internal use only. + + + + + + + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Called when a drop down form is created. + + The new dropdown form. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + Returns image size. + + The size object. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + + + Draws image in the control. + + Grapthics object. + Device context. + Rectangle to draw image in. + + + + Gets or sets a value indicating whether to open the combo box when the control receives the focus. + + + + + Determines the time when drop down form is created. + + + + + Has valid value only if ShowValueImage returns true. + + + + + Gets or sets the style of the combo box. + + + The DropDownStyle property specifies whether the text portion can be edited. + + If the value is Default, the text is editable and the dropdown list is displayed by clicking the down arrow. + + If the value is DropDownList, the text is not editable and the dropdown list is displayed by clicking any part of the control. + + + + + Gets or sets the button image. + + + + + Gets or sets the index of the button image in the ImageList. + + + + + Gets or sets the key of the button image in the ImageList. + + + + + Gets or sets the ImageList to get the images to display in the drop down items. + + + + + Gets or sets the image padding. + + + + + Gets or sets a value specifying which buttons are visible. The default is (UpDown Or DropDown). + + + + + Determines if the dropdown button is visible. + + + + + Determines if the up/down buttons are visible. + + + + + Determines if the modal button is visible. + + + + + Determines if the modal button is visible. + + + + + Determines if the up/down buttons intercept and handle Up and Down arrow keys. + + + + + Specifies the class name of a Form serving as the dropdown window. + + + + + Returns dropdown form instance associated with the control. + + + + + Specifies form class that is used by default as the dropdown for the control. + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + Run-time read-only property indicating if the dropdown is currently open. + + + + + Specifies the button width instead of using the default width. + + + + + Distance in pixels between the control edge and the dropdown. + + + + + Gets or sets whether the mouse click event is consumed or passed through after closing the dropdown. + + + + + Alignment of the dropdown form relative to the control. + + + + + The cursor that is displayed when the mouse is over a button. + + + + + Gets or sets the images for buttons + + + + + Gets or sets the cursor that is displayed when the mouse pointer is over the control. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + Gets or sets the alignment of the spin button. + + + + + Occurs just before the dropdown is opened. + + + + + Occurs just before the dropdown is opened. + + + + + Occurs after the dropdown is opened. + + + + + Occurs when the dropdown has been closed. + + + + + Occurs when UpDown buttons are clicked. + + + + + Occurs when the Modal button is clicked. + + + + + Occurs when the Custom button is clicked. + + + + + Occurs when the value of the DropDownFormAlign property has changed. + + + + + Occurs when the value of the DropDownAlign property has changed. + + + + + Event fired when the value of ButtonCursor property is changed. + + + + + This method is for internal use only. + + + + + Determines if image should be shown. + + + + + Default path + + + + + Initializes a new instance of the C1BasePicker class. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Should be overridden in deviced class and convert string to value. + + + + + + + + + Should be overridden in derived class and convert value to string. + + + + + + + + + Determines the style of the control's border. + + + + + Represents a Windows button control supporting additional visual styles. + + + + + Initializes a new instance of the C1Button class. + + + + + Releases the resources used by the C1Button. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Retrieves the size of a rectangular area into which a control can be fitted. + + The custom-sized area for a control. + An ordered pair of type representing the width and height of a rectangle. + + + + Resets to the default value. + + + + + Tests whether should be serialized. + + True if should be serialized, false otherwise. + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if VisualStyleBaseStyle should be serialized, false otherwise. + + + + Gets or sets the visual style of the control. + + + + + Occurs when the VisualStyle property has changed. + + + + + Default Theme root path. + + + + + In addition to the standard CheckBox functionality, + C1CheckBox supports data binding to data source fields of Boolean, String, or Integer types. + C1CheckBox has BorderStyle and BorderColor properties. + C1CheckBox supports visual styles. + + + + + Initializes a new instance of the C1CheckBox class. + + + + + Releases the resources used by the C1CheckBox. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Invokes the ValueChanged event. + + The event arguments. + + + + Invokes the CheckStateChanged event. + + The event arguments. + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + Retrieves the size of a rectangular area into which a control can be fitted. + + The custom-sized area for a control. + An ordered pair of type representing the width and height of a rectangle. + + + + The data source object to which the control is bound. + + + + + The field of the data source object to which the control is bound. + + + + + Type of the Value property. + + + + + Gets or sets whether the text box should be disabled when it is bound to an empty data source, i.e. CurrencyManager.Count = 0. + + + + + The main bindable property of a C1Input control. + + + + + Occurs when the Value property has changed. + + + + + Translates between string values and check box states. + + + + + Gets or sets the visual style of the control. + + + + + Occurs when the VisualStyle property has changed. + + + + + Gets or sets the border style of the C1CheckBox control. + + + + + Gets or sets the border color of the control. + + + Use the BorderColor property to specify the border color of the control. + This property is set using a object. + + + + + Default C1CheckBox path in Theme xml file. + + + + + Default C1Button path in Theme xml file. + + + + + Translates between string values and check box states. + + + + + Value for Checked state. + + + + + Value for Unchecked state. + + + + + Value for Indeterminate state. + + + + + Determines if DbNull is used for indeterminate state of check box. + + + + + Represents a Windows color picker control supporting additional visual styles. + + + + + Initializes a new instance of the C1ColorPicker class. + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + Gets or sets a value indicating whether the transparent color can de selected. + + + + + Gets or sets a value indicating whether the empty color can de selected. + + + + + Gets or sets the current color. + + + + + Gets or sets a caption for the empty color. + + + + + The main bindable property of a C1Input control. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + Fires when the property changes. + + + + + Default path for the control in xml theme file. + + + + + Represents drop down color picker form. + + + + + Base class for custom dropdown forms. + + + + + Initializes a new instance of the DropDownForm class. + + + + + Releases the resources used by the DropDownForm. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + This method is for internal use only. + + + + + + + + + Fires the PostChanges event. + + Contains arguments describing the event. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Closes the dropdown form. + + + + + Closes the dropdown form. + + + + + + + Gets a value indicating whether theme should be applied to dropdown form + when it applied to . This property returns true + by default. + + + + + Determines the style of the control's border. + + + + + This property is for internal use only. + + + + + Determine various behavioral options of the dropdown form. + + + + + Determines the control on the form that gets input focus when the form is shown. + + + + + Alignment of the dropdown form relative to the owner control. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + Occurs when Value property of the OwnerControl is updated by the dropdown form. + + + + + Occurs when changes made by dropdown form are cancelled. + + + + + Occurs when dropdown form is opened. + + + + + Occurs when OwnerControl.Text property is changed. + + + + + Occurs when OwnerControl.Value property is changed. + + + + + Initializes a new instance of the C1ColorPickerDropDownForm class. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Represents a composite control combining a textbox and a drop-down item list. + + + + + Initializes a new instance of the C1ComboBox class. + + + + + Sets items data source and data member for the C1ComboBox. + + Data source. + Data member. + + + + Sets items data source, data member and initially selected item index for the C1ComboBox. + + Data source. + Data member. + Initially selected item index. + + + + Creates a new instance of the item collection. + + A that represents the new item collection. + + + + Raises the event. + + + + + Raises the event. + + + + + Releases the resources used by the C1ComboBox. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Determines whether the spinner moves to the first item when it reaches the last, or to the last when it reaches the first. + + + + + Gets an object representing the collection of the items contained in this ComboBox. + + + + + Gets or sets the combobox item mode. + + + + + Gets or sets the pattern to build HTML representation of combobox items. + + + + + Gets or sets currently selected item in the ComboBox. + + + + + Gets or sets the index specifying the currently selected item. + + + + + Gets or sets the ImageList to get the images to display in the combobox items. + + + + + Gets the style of the drop down form and combobox items. + + + + + Gets or sets the index of the initially selected item. + + + + + Gets or sets the data source for items of this C1ComboBox. + + + + + Gets or sets the property to display items for this C1ComboBox control. + + + + + Gets or sets the path of the property to use as the actual value for the items in the C1ComboBox control. + + + + + Occurs when the changes. + + + + + Occurs when the changes. + + + + + Specifies how the visual representation of combo box items is building. + + + + + C1ComboBox displays text of combo box item in the drop drown list. + + + + + Each combo box item is fragment of HTML. parses the HTML fragment and displays it as the drop down items. + + + C1ComboBox uses the same subset of HTML as C1SuperLabel does. + It does not support the full HTML features. + + + + + Each combo box item is fragment of HTML defined by property. + parses the HTML pattern and replaces any of "{Text}" entires with the combo box item text. + + + C1ComboBox uses the same subset of HTML as C1SuperLabel does. + It does not support the full HTML features. + + + + + Specifies the style. + + + + + Text portion of the drop down control is editable and the drop down is displayed by clicking + the down arrow. + + + This means that the user can enter a new value and is not limited to selecting an existing value. + + + + + The drop down of the is displayed by clicking + on either the text portion of the control or drop down button. The text portion is not editable. + + + This means that the user cannot enter a value not existing in the drop down. + + + + + Represents collection of drop down items. + + + + + Raises the event with the provided arguments. + + + + + Occurs when an item is added, removed, changed, moved, or the entire list is refreshed. + + + + + Style for drop down form and combobox items. + + + + + Resets the style to default value. + + + + + Background color of the drop down form. + + + + + Color of border of the drop down form. + + + + + Gets or sets padding within the drop down form. + + + + + Default font of the combo box items. + + + + + Space around the textual parts of the combo box items. + + + + + Default text color of the combo box items. + + + + + Text color of the combo box items in hot state. + + + + + Border color of the combo box items in hot state. + + + + + Background color of the combo box items in hot state. + + + + + Used by C1DropDownControl.VisibleButtons properties. + + + + + Show without any button + + + + + Show up/down buttons. + + + + + Show dropdown button. + + + + + Show button to start a modal dialog. + + + + + Show a custom button. + + + + + Show all buttons + + + + + Represents the method that handles a UpDownButtonClick event. + + The source of the event. + An UpDownButtonClickEventArgs object that contains the event data. + + + + Provides data for a UpDownButtonClick event. + + + + + Set to 1 if Up button is pressed, to -1 if Down button is pressed. + + + + + Set to true in the user's UpDownButtonClick event handler. No built-in processing is done. This allows the user to override the default behavior of the buttons. + + + + + Provides data for a DropDownClosed event. + + + + + Returns True if a value is selected in dropdown dialog. + + + + + Initializes a new instance of the DropDownClosedEventArgs class. + + + + + + + Represents the method that handles a DropDownClosed event. + + The source of the event + A DropDownClosedEventArgs object that contains the event data. + + + + Images for C1DropDownControl buttons + + + + + Clears all custom images and returns standard images for C1DropDownControl buttons. + + + + + Returns True if any custom image is assigned + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Image for Up button + + + + + Image for Down button + + + + + Image for DropDown button + + + + + Image for Modal button + + + + + Image for Custom button + + + + + TypeConverter class for ButtonImages + + + + + This method is for internal use only. + + + + + + + + + This method is for internal use only. + + + + + + + + + + + + + + + This property is for internal use only. + + + + + Used by DropDownForm.Options property. + + + + + Indicates that none of the options are set. + + + + + Indicates that DropDownForm can contain focus. + + + + + The end users are not allowed to change the width of the dropdown form resizing it. + + + + + The end users are not allowed to change the height of the dropdown form resizing it. + + + + + If this flag is set, the changes to the control Value can only be cancelled explicitly, with Esc key + or using the CloseDropDown method, and implicit cancellation (when the form is closed because it loses focus) is disabled. + + + + + If this flag is set, pressing the Esc key does not close the form. + + + + + If this flag is set, pressing the Enter key does not close the form. + + + + + If set, the dropdown form width is automatically adjusted to the width of the owner control + before the form is shown. + + + + + = FixedWidth + FixedHeight + + + + + Represents a Windows font picker control supporting additional visual styles. + + + + + Initializes a new instance of the C1FontPicker class. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Gets a collection of fonts installed on system. + + + + + Gets or sets a width of drop down list of fonts. + + + + + This property is for internal use only. + + + + + Default path for the control in xml theme file. + + + + + Represents drop down font picker form. + + + + + Initializes a new instance of the C1FontPickerDropDownForm class. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Read-only data bound control displaying formatted data. C1Label supports all formatting features of the C1TextBox control. + + + + + Initializes a new instance of the C1Label class. + + + + + Releases the resources used by the C1Label. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Raises the event. + + An that contains the event data. + + Raising an event invokes the event handler through a delegate. + The OnBorderColorChanged method also allows derived classes to handle the event without attaching a delegate. + This is the preferred technique for handling the event in a derived class. + + Notes to Inheritors. When overriding OnBorderColorChanged in a derived class, + be sure to call the base class's OnBorderColorChanged method so that registered delegates receive the event. + + + + + + Invokes the event. + + An that contains the event data. + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + Invokes the event. + + An that contains the event data. + + + + Invokes the event. + + An that contains the event data. + + + + Invokes the event. + + An that contains the event data. + + + + Invokes the event. + + An that contains the event data. + + + + Invokes the event. + + An that contains the event data. + + + + Invokes the event. + + An that contains the event data. + + + + Retrieves the size of a rectangular area into which a control can be fitted. + + The custom-sized area for a control. + An ordered pair of type representing the width and height of a rectangle. + + + + Gets or sets the visual style of the control. + + + + + Gets or sets the border color of the control. + + + Use the BorderColor property to specify the border color of the control. + This property is set using a object. + The BorderColor property has an effect only when the property is set to FixedSingle. + + + + + Indicates whether to honor the ColumnStyle properties defined on the + C1ViewColumn object that this control is bound to. + + + + + The culture ID. + + + + + The name selected for the Culture property in the Properties grid. + + + + + If True, current user regional settings override the selected culture. + + + + + The current CultureInfo object (available at runtime). + + + + + Format used to display the value. + + + + + Edit mask settings. + + + + + True if string comparisons are case-sensitive; otherwise, False. + + + + + Enumeration value determining the formatting metod, including standard .NET format specifiers, custom and programmatic formatting. + + + + + Custom format specifier used if FormatType = FormatTypeEnum.CustomFormat. + + + + + String representing a DbNull value. + + + + + If True, empty strings are interpreted as null values (DbNull). + + + + + If True, leading spaces are removed. + + + + + If True, trailing spaces are removed. + + + + + If True, the control’s stored Value is in current time zone; otherwise, the Value is adjusted to the time zone defined by the GMTOffset property. + + + + + The time zone of the Value property used if CurrentTimeZone = False. + + + + + The value specified in the GMTOffset property can be advanced or set back due to daylight-saving time changes (used only if CurrentTimeZone = False). + + + + + Gets or sets the object that contains data about the control. + + + + + Gets or sets an ErrorProvider object used to indicate error state of the control. + + + + + The current text in the control. + + + + + Specifies whether the Value and Text properties can be set independently. + + + + + The data source object to which the control is bound. + + + + + The field of the data source object to which the control is bound. + + + + + Type of the Value property. + + + + + Gets or sets a value indicating whether the Value is DbNull. + + + + + The main bindable property of a C1Input control. + + + + + Gets or sets the padding within the control. + + + + + Occurs when the BorderColor property has changed. + + + + + Occurs when the VisualStyle property has changed. + + + + + CultureInfo can be set up (on startup) or has been changed. + + + + + Error occured while formatting the stored value. + + + + + Formatting the value programmatically. + + + + + Occurs after the value has been formatted. + + + + + Occurs when the DataType property changes. + + + + + Occurs when the Value changes. + + + + + Occurs when Value is retrieved from the data source. + + + + + Default path for the control in xml theme file. + + + + + The class contains static properties used for localization. + + + + + The object used for lookup resources. + + Set this property to the valid value if + you define resources in a Custom Control assembly. + + + + Returns default object used as fallback culture. + + + + + The calculator used as a dropdown in the C1NumericEdit control. + + + + + Initializes a new instance of the NumericEditCalculator class. + + + + + Releases the resources used by the NumericEditCalculator. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Resets to the default value. + + + + + Tests whether should be serialized. + + True if should be serialized, false otherwise. + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method called when theme is changed. + + New theme. + Base visual style. + + + + Gets or sets the visual style of the control. + + + + + Occurs when the VisualStyle property has changed. + + + + + Determines the style of the dropdown calculator buttons. + + + + + // patch: localization: added after StringTables.cs was created + + + + + Custom format specifier used to format the stored value of the dropdown calculator. + + + + + Gets or sets whether StoredFormat should be applied to the value entered in the dropdown calculator. + + + + + This property is for internal use only. + + + + + The collection of user interface strings. + + + + + Gets or sets the shortcut menu associated with the control. + + + + + Gets or sets whether Static Memory context menu should appear for the dropdown calculator. + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + Displays and edits date and/or time values. Includes a dropdown calendar for easy input of datetime values. + + + + + Initializes a new instance of the C1DateEdit class. + + + + + Releases the resources used by the C1DateEdit. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Performs spin up. + + + This method has the same behavior with the Up key pressed when day field selected and increments value by one day. + + + + + + Performs spin up. + + + The value that indicates the increment when spin up. + + + This method has the same behavior with the Up key pressed. + + + + + + Performs spin down. + + + This method has the same behavior with the Down key pressed when day field selected and decrements value by one day. + + + + + + Performs spin down. + + + The value that indicates the decrement when spin down. + + + This method has the same behavior with the Down key pressed. + + + + + + Determines whether the spinner moves to the when it reaches the , or to the when it reaches the . + + + + + Gets or sets a value indicating whether to retain the current time value when the date is changed via the drop down calendar. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + The dropdown calendar object. + + + + + Enumeration value determining the formatting metod, including standard .NET format specifiers, custom and programmatic formatting. + + + + + This property is for internal use only. + + + + + Data bound control providing buttons for convenient navigation over data source rows, moving to the first, + last, previous and next row and performing common data actions such as updating the data source and refreshing data. + + + + + Initializes a new instance of the C1DbNavigator class. + + + + + Releases the resources used by the C1DbNavigator. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + Raises the TextChanged event. + + An EventArgs that contains event data. + + + + Resets to the default value. + + + + + Tests whether should be serialized. + + True if should be serialized, false otherwise. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if VisualStyleBaseStyle should be serialized, false otherwise. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Raises event. + + The event data object. + + + + Performs the action associated with a navigator button. + + The button whose action is performed. + + + + Sets the DataSource and DataMember properties at run time. + + The data source object to which the control is bound. + For multi-table data sources, specifies a specific table to which the control is bound. + + + + This method is for internal use only. + + + + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + Retrieves the size of a rectangular area into which a control can be fitted. + + The custom-sized area for a control. + An ordered pair of type representing the width and height of a rectangle. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Gets or sets value of the Position textbox. + + + If the Position textbox is not visible, it returns empty string. + If you set the Text property when the Position textbox is not visible, + the action has no effect. + Changing the Text property causes the data source position change. + + + + + Occurs when the Text property value changes. + + + + + Gets or sets the visual style of the control. + + + + + Specifies if navigator buttons have color bitmaps. + + + + + Specifies if navigator buttons have color bitmaps. + + + + + If True, navigator buttons show color bitmaps when the mouse hovers over them. + + + + + Navigator border style. + + + + + Navigator button style. + + + + + Vertical alignment of navigator buttons. + + + + + Vertical margin between the border and the buttons. + + + + + Horizontal margin between the border and the buttons. + + + + + Gets or sets the ImageList to use when displaying button images without highlighting. + + + + + Gets or sets the ImageList to use when displaying button images in highlighted state. + + + + + Indicates whether tooltips are shown for the buttons. + + + + + This member overrides Control.ForeColor. + + + + + Time delay in milliseconds after pressing Next/Previous button before automatic scrolling begins. + + + + + Time delay in milliseconds between row moves in automatic scrolling. + + + + + Number of rows to skip when the user presses PageUp/Down. + + + + + Specifies whether the editable row position field and row captions are visible in the navigator. + + + + + This member overrides Control.TabStop. + + + + + Flags enumeration specifying which buttons are visible. + + + + + Flags enumeration specifying which buttons are enabled. + + + + + Whether a confirmation dialog is shown before deleting a record. + + + + + Whether the control in focus should be validated before a button click is handled by the navigator. + + + + + The data source object to which the control is bound. + + + + + "For multi-table data sources, specifies a specific table to which the control is bound. + + + + + Returns the number of rows in the table. + + + + + Gets or sets the current row position in the table (from 0 to RowCount - 1). + + + + + Gets or sets the CurrencyManager object navigated by the control. + + + + + The size of navigator buttons. + + + + + Controls how the text is positioned relative to the image in navigator buttons. + + + + + Gets or sets the texts displayed on the buttons. + + + + + The string collection defining navigator button tooltips. + + + + + Gets the collection of user interface strings. + + + + + Gets or sets an ErrorProvider object used to indicate error state of the current data row. + + + + + The cursor that is displayed when the mouse is over the navigator buttons. + + + + + Occurs when the VisualStyle property has changed. + + + + + Occurs when the Position has changed. + + + + + Occurs when the current row has been modified, some of its fields changed. + + + + + Occurs when a button is clicked, before the action is executed. + + + + + Occurs when Add button is pressed. + + + + + Occurs when Delete button is pressed. + + + + + Occurs when Edit button is pressed. + + + + + Occurs when Update button is pressed. + + + + + Occurs when Refresh button is pressed. + + + + + Occurs when a navigator button has been pressed, after the button action is performed. + + + + + Occurs when an exceptions is thrown performing an action on button click. + + + + + Event fired when the value of ButtonCursor property is changed. + + + + + A list of all available navigator buttons + + + + + First button. + + + + + Previous button. + + + + + Next button. + + + + + Last button. + + + + + Add button. + + + + + Delete button. + + + + + Edit button. + + + + + Apply button. + + + + + Cancel button. + + + + + Update button. + + + + + Refresh button. + + + + + Position text box + + + + + Represents the method that handles a BeforeAction event. + + The source of the event. + A NavigatorBeforeActionEventArgs object that contains the event data. + + + + Provides data for a BeforeAction event. + + + + + The clicked button. + + + + + Current row index in the data source (only for Delete and Edit buttons). + + + + + This argument is False by default. If you set it to True in your event code, the navigator control will skip the standard action associated with the button. + + + + + Represents the method that handles an Adding event. + + The source of the event. + A NavigatorAddingEventArgs object that contains the event data. + + + + Provides data for a Adding event. + + + + + This argument is False by default. If you set it to True in your event code, the navigator control will abort adding a new row. + + + + + Represents the method that handles a Deleting event. + + The source of the event. + A NavigatorDeletingEventArgs object that contains the event data. + + + + Provides data for a Deleting event. + + + + + The index of the row being deleted. + + + + + This argument is False by default. If you set it to True in your event code, the navigator control will abort deleting. + + + + + Represents the method that handles a Editing event. + + The source of the event. + A NavigatorEditingEventArgs object that contains the event data. + + + + Provides data for a Editing event. + + + + + The index of the row being edited. + + + + + Represents the method that handles a ButtonClick event. + + The source of the event. + A NavigatorButtonClickEventArgs object that contains the event data. + + + + Provides data for a ButtonClick event. + + + + + The clicked button. + + + + + Represents the method that handles an Error event. + + The source of the event. + A NavigatorErrorEventArgs object that contains the event data. + + + + Provides data for an Error event. + + + + + The clicked C1DbNavigator button. + + + + + Exception that occurred while performing the button action. + + + + + This argument is set to true by default. If it is set to False by event code, the standard message box is not shown. + + + + + Error message shown in the standard message box. + + + + + The caption of the standard message box. + + + + + Used by C1DbNavigator.ButtonStyle property. + + + + + Flat buttons showing "mouse hover". + + + + + Standard 3D-buttons. + + + + + Used by C1DbNavigator.VerticalAlign property. + + + + + Buttons are aligned with the top of the control. + + + + + Buttons are aligned with the center of the control. + + + + + Buttons are aligned with the bottom of the control. + + + + + Used by C1DbNavigator.ButtonTextAlign property. + + + + + Text appears to the right of the image. + + + + + Text appears underneath the image. + + + + + Used by C1DbNavigator.VisibleButtons property. + + + + + No buttons. + + + + + Moves to the first row. + + + + + Moves to the previous row. + + + + + Moves to the next row. + + + + + Moves to the last row. + + + + + Adds a new row to the table. + + + + + Deletes the current row. + + + + + Fires the Editing event. + + + + + Ends edit mode for the current row. + + + + + Cancels (reverts) modifications in the current row. + + + + + Fires the UpdateData event. + + + + + Fires the RefreshData event. + + + + + First + Previous + Next + Last buttons + + + + + All buttons. + + + + + Represents drop down calendar. + + + + + Creates the instance of the class. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Resets to the default value. + + + + + Tests whether should be serialized. + + True if should be serialized, false otherwise. + + + + Indicates whether the property should be persisted. + + + if the property value has been changed from its default; otherwise, . + + + + Sets the property to its default value. + + + + + Indicates whether the property should be persisted. + + + if the property value has been changed from its default; otherwise, . + + + + Sets the property to its default value. + + + + + Indicates whether the property should be persisted. + + + if the property value has been changed from its default; otherwise, . + + + + Sets the property to its default value. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Indicates whether the property should be persisted. + + + if the property value has been changed from its default; otherwise, . + + + + Sets the property to its default value. + + + + + Indicates whether the property should be persisted. + + + if the property value has been changed from its default; otherwise, . + + + + Sets the property to its default value. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Indicates whether the property should be persisted. + + + if the property value has been changed from its default; otherwise, . + + + + Clears . + + + + + Indicates whether the property should be persisted. + + + if the property value has been changed from its default; otherwise, . + + + + Clears . + + + + + Indicates whether the property should be persisted. + + + if the property value has been changed from its default; otherwise, . + + + + Clears . + + + + + Indicates whether the property should be persisted. + + + if the property value has been changed from its default; otherwise, . + + + + Clears . + + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Raises the event. + + An that contains the event data. + + + + Raises the event. + + An that contains the event data. + + + + + + + + + + + + Calls SuspendLayout on all DateEditMonthCalendar's child controls. + + + + + Calls ResumeLayout on all DateEditMonthCalendar's child controls. + + Indicates whether to invoke the layout logic now. + + + + Adds a day that is displayed in bold on an annual basis in the month calendar. + + The date to be displayed in bold. + + + + Adds a day to be displayed in bold in the month calendar. + + The date to be displayed in bold. + + + + Adds a day to be disabled in the month calendar. + + The date to be disabled. + + + + Adds a day that is displayed in bold on a monthly basis in the month calendar. + + The date to be displayed in bold. + + + + Removes all the annually bold dates. + + + + + Removes all the nonrecurring bold dates. + + + + + Removes the all disabled dates. + + + + + Removes all the monthly bold dates. + + + + + Removes the specified date from the list of annually bold dates. + + The date to remove from the date list. + + + + Removes the specified date from the list of nonrecurring bold dates. + + The date to remove from the date list. + + + + Removes the specified date from the list of disabled dates. + + The date to remove from the date list. + + + + Removes the specified date from the list of monthly bolded dates. + + The date to remove from the date list. + + + + Sets the number of columns and rows of months to display. + + The number of columns. + The number of rows. + + + + Sets a date as the currently selected date. + + The date to be selected. + + + + Retrieves date information that represents the low and high limits of the displayed dates of the control. + + true to retrieve only the dates that are fully contained in displayed months; otherwise, false. + The begin and end dates of the displayed calendar. + + + + Sets the selected dates in a month calendar control to the specified date range. + + The beginning date of the selection range. + The end date of the selection range. + + + + Returns an object with information on which portion of a month calendar control + is at a location specified by a System.Drawing.Point. + + A System.Drawing.Point containing the System.Drawing.Point.X and System.Drawing.Point.Y + coordinates of the point to be hit tested. + A System.Windows.Forms.MonthCalendar.HitTestInfo that contains information + about the specified point on the month calendar. + + + + Returns a System.Windows.Forms.MonthCalendar.HitTestInfo with information + on which portion of a month calendar control is at a specified x- and y-coordinate. + + The System.Drawing.Point.Y coordinate of the point to be hit tested. + The System.Drawing.Point.X coordinate of the point to be hit tested. + A System.Windows.Forms.MonthCalendar.HitTestInfo that contains information + about the specified point on the month calendar. + + + + This method is for internal use only. + + + + + + + Gets or sets the current month display offset. + + + This example shows current month at the center of the multi-dimensional + drop down calendar. + + c1DateEdit1.Calendar.CalendarDimensions = new Size(3, 1); + // Display current month at the center of the calendar. + // Other possible values: + // 0 - (Default) - at the Right + // 1 - Center + // 2 - Left + c1DateEdit1.Calendar.CurrentMonthDisplayOffset = 1; + + + + + Gets or sets VisualStyle. + + + + + Gets or sets the value that is used by DateEditMonthCalendar as today's date. + The default value is the current system date. + + + + + Gets or sets the minimum allowable date. The default value is DateTime.MinValue (01/01/0001). + + + The value is greater than the . + + + + + Gets or sets the maximum allowable date. + + + The value is less than the . + + + + + Gets or sets the value indicating that no date is currently selected in the calendar. + + + + + Gets or sets the background color of the control. + + + + + Gets or sets the foreground color of the control. + + + + + Gets or sets the selection foreground color. + + + + + Gets or sets the selection background color. + + + + + Gets or sets the line color. + + + + + Gets or sets the color of the arrows. + + + + + Gets or sets the color of the border around the current date. + + + + + Gets or sets a value indicating the color of days in months that are not + fully displayed in the control. + + + + + Gets or sets the day names' text color. + + + + + Gets or sets a value indicating the background color of the title area of the calendar. + + + + + Gets or sets a value indicating the foreground color of the title area of the calendar. + + + + + Gets the first day of the first fully shown month. + + + + + Gets the last day of the last fully shown month. + + + + + Gets or sets the selected date. + + + + + Gets or sets the number of columns and rows of months displayed. + + + + + Gets or sets the first day of the week as displayed in the month calendar. + + + + + Gets or sets the format to use for the calendar caption. + + + + + Gets or sets the maximum length of day names. + + + + + Gets or sets the title height. + + + + + Gets or sets the title font. + + + + + Gets or sets the day names font. + + + + + Gets or sets the array of System.DateTime objects that determines which nonrecurring dates are displayed in bold. + + + + + Gets or sets the array of System.DateTime objects that determines which annual days are displayed in bold. + + + + + Gets or sets the array of System.DateTime objects that determine which monthly days to bold. + + + + + Gets or sets the array of System.DateTime objects that determines which dates are disabled. + + + + + Gets or sets a value indicating whether the date represented by the TodayDate property is displayed at the bottom of the control. + + + + + Gets or sets a value indicating whether today's date is circled. + + + + + Determines if the Today button of the dropdown calendar is visible. + + + + + Determines if the Clear button of the dropdown calendar is visible. + + + + + Gets or sets the text of the "Today" button. + + + + + Gets or sets the text of the "Clear" button. + + + + + Gets or sets a value that specifies which rule is used to determine the first calendar week of the year. + + + + + Gets or sets a value indicating whether the month calendar control displays + week numbers (1-52) to the left of each row of days. + + + + + Gets or sets a value indicating whether control's elements are aligned to support locales using right-to-left fonts. + + + + + Gets or sets a value indicating whether the control is laid out from right to left. + + + + + Occurs when the VisualStyle property has changed. + + + + + Occurs when Today button is clicked. + + + + + Occurs when Clear button is clicked. + + + + + Occurs when Today button visibility is changed. + + + + + Occurs when Clear button visibility is changed. + + + + + Occurs when the value of the Date property is changed. + + + + + Occurs when the user selects a new value for the Date property. + + + + + Occurs when the value of the RightToLeftLayout property changes. + + + + + Handles the month change in the Dropdown calendar in C1DateEdit. + Occurs when the value of the or property changes. + + + Can be used to set some dates in the month to bold as user scrolls through the months. + + + This example sets a new bolded date in the selected month. + + private void c1DateEdit1_Calendar_MonthChanged(object sender, EventArgs e) + { + DateTime dt = c1DateEdit1.Calendar.FirstMonth; + c1DateEdit1.Calendar.AddBoldedDate(new DateTime(dt.Year, dt.Month, dt.Month)); + } + + + + + Get or sets current culture for the calendar. + + + + + Displays and edits numeric values. Includes a dropdown calculator for easy input of numeric values. + + + + + Initializes a new instance of the C1NumericEdit class. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + Performs spin up. + + + property is used to define the increment. + This method has the same behavior with the Up key pressed. + + + + + + Performs spin up. + + + The value that indicates the increment when spin up. + + + This method has the same behavior with the Up key pressed. + + + + + + Performs spin down. + + + property is used to define the decrement. + This method has the same behavior with the Down key pressed. + + + + + + Performs spin down. + + + The value that indicates the decrement when spin down. + + + This method has the same behavior with the Down key pressed. + + + + + + This method is for internal use only. + + + + + + + Shows the dropdown. + + + + + This method is for internal use only. + + + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + Type of the Value property. + + + + + Enumeration value determining the formatting metod, including standard .NET format specifiers, custom and programmatic formatting. + + + + + Indicates the amount to increment/decrement when the user clicks up/down buttons. + + + + + The dropdown calculator object. + + + + + This property is for internal use only. + + + + + Default path for the control in xml theme file. + + + + + In addition to the standard PictureBox functionality, C1PictureBox supports data binding to data source fields containing image data. + + + + + Initializes a new instance of the C1PictureBox class. + + + + + Releases the resources used by the C1PictureBox. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Returns the contents of an image. + + Image to return as a byte array. + Format in which to return the image contents. + + + + + + Converts a byte array to an image. + + The contents of an image. + + + + + + Copies the image currently in the control to the clipboard. + + + + + If the clipboard contains an image, this method replaces the contents of the Image property of the control + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + The data source object to which the control is bound. + + + + + The field of the data source object to which the control is bound. + + + + + Gets or sets whether the image should be put into the data source right after the Image property has been changed or it shouldn't be put there until the following call of the CurrencyManager.EndCurrentEdit() method. + + + + + The image displayed in the control. + + + + + Gets or sets the value indicating whether the picture box receives focus when clicked. + + + + + Occurs when Image is retrieved from the data source. + + + + + Occurs when Image is stored in the data source. + + + + + Occurs when the Image changes. + + + + + Represents a Windows range slider control supporting additional visual styles. + + + + + Initializes a new instance of the C1RangeSlider class. + + + + + Releases the resources used by the C1RangeSlider. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if Styles should be serialized, false otherwise. + + + + Resets to the default value. + + + + + Tests whether should be serialized. + + True if should be serialized, false otherwise. + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if VisualStyleBaseStyle should be serialized, false otherwise. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Gets or sets the current lower magnitude of the range control. + + + + + Gets or sets the current upper magnitude of the range control. + + + + + Gets or sets the minimum possible value of the range element. + + + + + Gets or sets the maximum possible value of the range element. + + + + + Gets or sets a value that indicates whether C1RangeSlider bar should be displayed. + + + + + Gets or sets a value indicating the horizontal or vertical orientation of the C1RangeSlider. + + + + + Gets or sets the direction of increasing value. + + + + + Gets or sets custom thumb path for lower value. + + + + + Gets or sets custom thumb path for upper value. + + + + + Gets or sets a value indicating whether the control can respond to user interaction. + + + + + Gets or sets a collection of named Style objects. + + + + + Gets or sets the visual style of the control. + + + + + Occurs when the VisualStyle property has changed. + + + + + Fires when the property changes. + + + + + Fires when the property changes. + + + + + Fires when any of the properties: LowerValue or UpperValue changes. + + + + + Fires when the property changes. + + + + + Fires when the property changes. + + + + + Default Theme root path. + + + + + Represents a collection of named Style objects. + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if BarStyle should be serialized, false otherwise. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if ThumbStyle should be serialized, false otherwise. + + + + Gets or sets a collection of named Style objects for bar. + + + + + Gets or sets a collection of named Style objects for thumb. + + + + + Represents a collection of named Style objects for bar. + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if BackSolor should be serialized, false otherwise. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if BorderColor should be serialized, false otherwise. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if DisabledBackColor should be serialized, false otherwise. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if DisabledBorderColor should be serialized, false otherwise. + + + + Gets or sets background color of bar. + + + + + Gets or sets border color of bar. + + + + + Gets or sets background color of bar if control is disabled. + + + + + Gets or sets border color of bar if control is disabled. + + + + + Represents a collection of named Style objects for thumb. + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if BackColor should be serialized, false otherwise. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if BorderColor should be serialized, false otherwise. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if HotBackColor should be serialized, false otherwise. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if HotBorderColor should be serialized, false otherwise. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if PressedBackColor should be serialized, false otherwise. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if PressedBorderColor should be serialized, false otherwise. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if DisabledBackColor should be serialized, false otherwise. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if DisabledBorderColor should be serialized, false otherwise. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if CornerRadius should be serialized, false otherwise. + + + + Gets or sets background color of thumb. + + + + + Gets or sets border color of thumb. + + + + + Gets or sets background color of thumb if mouse is over it. + + + + + Gets or sets border color of thumb if mouse is over it. + + + + + Gets or sets background color of thumb when user performs mouse click on it. + + + + + Gets or sets border color of thumb when user performs mouse click on it. + + + + + Gets or sets background color of thumb if control is disabled. + + + + + Gets or sets border color of thumb if control is disabled. + + + + + Gets or sets corner radius of thumb. + + + + + Calendar used with C1DateEdit. + + + + + Represents default calendar. + + + + + Represents Chinese Lunisolar Calendar + + + + + Represents East Asian Lunisolar Calendar + + + + + Represents Gregorian Calendar + + + + + Represents Hebrew Calendar + + + + + Represents Hijri Calendar + + + + + Represents Japanese Calendar + + + + + Represents Japanese Lunisolar Calendar + + + + + Represents Julian Calendar + + + + + Represents Korean Calendar + + + + + Represents Korean Lunisolar Calendar + + + + + Represents Taiwan Calendar + + + + + Represents Taiwan Lunisolar Calendar + + + + + Represents Thai Buddhist Calendar + + + + + Represents UmAlQuraCalendar + + + + + Specifies alignment of spin button of a . + + + + + Vertically stacked Up and Down buttons. + + + + + Up button on the left and down button on the right. + + + + + Up button on the right and down button on the left. + + + + + Represents drop down item for control. + + + + + Creates an instance of DropDownItem class. + + + + + Releases the resources used by the DropDownItem. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Raises the event. + + A that contains the event data. + + + + Raises the event. + + + + + Raises the event. + + + + + Raises the event. + + + that contains the event data. + + + + Raises the event. + + + that contains the event data. + + + + Raises the event. + + + that contains the event data. + + + + Raises the event. + + + + + Raises the event. + + + + + Raises the event. + + + + + Gets the that this belongs to. + + + + + Gets the collection of child items in that is associated with this DropDownItem. + + + + + Gets or sets a value that indicates whether the item should toggle its pressed state when it is clicked. + + + + + Gets or sets the text associated with the component. + + + + + Gets or sets a value that indicates whether the item is checked. + + + + + Gets or sets the dialog-box result produced in a modal form by clicking the button. + + + + + Gets or sets the image associated with the . + + + + + Gets or sets the index of the image in the ImageList. + + + + + Gets or sets the image key in the ImageList. + + + + + Gets or sets the size of the image that will be displayed on the button. + + + + + Gets or sets the alignment of the image within the bounds specified by the property. + + + The value of this property is only used if = Clip and + exceeds the original size of the image. + + + + + Gets or sets how the image will be scaled to fit within the bounds specified by the property. + + + + + Gets or sets a value indicating whether the item can respond to user interaction. + + + + + Gets or sets a value indicating whether the item is visible. + + + + + Gets or sets the object that contains data about the item. + + + + + Gets a value indicating whether the component has been disposed. + + + + + Fires when the drop-down portion of this element is shown. + + + + + Indicates that the drop-down portion of this element has closed. + + + + + Fires when the component is clicked. + + + + + Fires when a key is pressed while the component has focus. + + + + + Fires when a key is pressed while the component has focus. + + + + + Fires when a key is released while the component has focus. + + + + + Fires when the component receives the focus. + + + + + Fires when the component loses the focus. + + + + + Fires when the component is double-clicked. + + + + + Represents a composite button control supporting additional visual styles and drop down item list. + + + + + Initializes a new instance of the C1SplitButton class. + + + + + Releases the resources used by the C1SplitButton. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Raises event. + + A that contains the event data. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Retrieves the size of a rectangular area into which a control can be fitted. + + The custom-sized area for a control. + An ordered pair of type representing the width and height of a rectangle. + + + + Gets the collection of components on this button. + + + + + The ImageList to get the images to display in the drop down items. + + + + + Gets or sets the default drop down item. + + + + + Occurs when a is clicked. + + + + + Occurs when the dropdown has been closed. + + + + + Occurs after the dropdown is opened. + + + + + Run-time read-only property indicating if the dropdown is currently open. + + + + + Default path for the control in xml theme file. + + + + + Represents collection of drop down items. + + + + + Adds the specified item to the end of the collection. + + The to be added to the end of the collection. + The zero-based index value of the added to the collection. + + + + Returns the zero-based index of the first occurrence of a value in the list. + + The item to locate in the list. + The zero-based index of the first occurrence of value within the entire list, if found; otherwise, -1. + + + + Inserts the specified item into the collection at the specified location. + + The indexed location within the collection to insert the item. + The item to insert. + + + + Removes the specified item from the collection. + + The item to remove from the collection. + + + + Indicates whether the collection contains a specific . + + The object for which to search. + Whether the collection contains the specific object. + + + + Performs additional custom processes after inserting an + into the instance. + + + + + Performs additional custom processes after removing an + from the instance. + + + + + Performs additional custom processes after setting an + in the instance. + + + + + Performs additional custom processes when clearing the contents of + the instance. + + + + + Performs additional custom processes after clearing the contents of + the instance. + + + + + Gets or sets the item at the specified indexed location in the collection. + + The indexed location of the item in the collection. + An that represents the item at the specified indexed location. + + + + Specifies whether the layout should break the flow after the component. + + + + + The layout should not break the flow after the component. + + + + + Causes next component to be placed in a new row within the flow. + + + + + Creates a new column after this component. + + + + + Creates a new row starting below the current component, at the left edge of the current group. + + + + + Defines values for the content alignment within the . + + + + + Default value. + + + + + Near. + + + + + Far. + + + + + Center. + + + + + Spread. + + + + + Determines whether the user can edit a value in the text portion of the . + + + + + The text portion is editable. + + + + + The user cannot directly edit the text portion. + + + + + Defines values for the content alignment within the . + + + + + Default value. + + + + + Near. + + + + + Far. + + + + + Center. + + + + + Spread. + + + + + Specifies the image alignment on the input components. + + + + + Image is vertically aligned at the top, + and horizontally aligned on the left. + + + + + Image is vertically aligned at the top, + and horizontally aligned at the center. + + + + + Image is vertically aligned at the top, + and horizontally aligned on the right. + + + + + Image is vertically aligned in the middle, + and horizontally aligned on the left. + + + + + Image is vertically aligned in the middle, + and horizontally aligned at the center. + + + + + Image is vertically aligned in the middle, + and horizontally aligned on the right. + + + + + Image is vertically aligned at the bottom, + and horizontally aligned on the left. + + + + + Image is vertically aligned at the bottom, + and horizontally aligned at the center. + + + + + Image is vertically aligned at the bottom, + and horizontally aligned on the right. + + + + + Specifies the layout logic used to display the background image in a rich tooltip. + + + + + The image is left-aligned at the top across the control's client rectangle. + + + + + The image is tiled across the control's client rectangle. + + + + + The image is centered within the control's client rectangle. + + + + + The image is stretched across the control's client rectangle. + + + + + The image is enlarged within the control's client rectangle. + + + + + The image is split into nine pieces and tiled within the control's client rectangle. + Center tiles are stretched, corner tiles are rendered with the original size. + + + + + Specifies the image scaling on the input components. + + + + + Use the image's original size, clipping it to the display area if necessary. + + + + + Stretch the image to fill the display area. + This mode will usually change the image's aspect ratio. + + + + + Scale the image to fit the display area. + This mode may increase or reduce the size of the image while maintaining its aspect ratio. + + + + + Tile the image to fill the display area. + + + + + Tile the image into the 3x3 matrix and stretch it to fill the display area. + + + + + Tile the image into the row of 3 images and stretch it to fill the display area. + + + + + Tile the image into the column of 3 images and stretch it to fill the display area. + + + + + A list of all available navigator buttons. + + + + + The 'Move First' button. + + + + + The 'Move Previous' button. + + + + + The 'Move Next' button. + + + + + The 'Move Last' button. + + + + + The 'Add New' button. + + + + + The 'Delete' button. + + + + + The 'Edit' button. + + + + + The 'Apply' button. + + + + + The 'Cancel' button. + + + + + The 'Save Data' button. + + + + + The 'Reload Data' button + + + + + A set of navigator items. + + + + + No items are in the set. + + + + + The 'Move First' button. + + + + + The 'Move Previous' button. + + + + + The input box that changes the current position. + + + + + The text label that displays the total number of items. + + + + + The 'Move Next' button. + + + + + The 'Move Last' button. + + + + + The 'Add New' button. + + + + + The 'Delete' button. + + + + + The 'Apply' button. + + + + + The 'Cancel' button. + + + + + Includes all available items. + + + + + Specifies the display state of a component. + + + + + Display the component. + + + + + Do not display the element, but reserve space for the element in layout. + + + + + Do not display the element, and do not reserve space for it in layout. + + + + + Represents the method that will handle the event of the class. + + + + + + + + + Provides data for event. + + + + + Initializes a new instance of the DropDownItemClickedEventArgs class for the specified control. + + The to store in this event. + + + + Returns the clicked item. + + + + + Defines the category of a Unicode character. + + + + + Indicates that the character is not of a particular category. + + + + + Indicates that the character is a control code. + + + + + Indicates that the character is a numeric digit. + + + + + Indicates that the character is a mathematical symbol. + + + + + Indicates that the character is a symbol. + + + + + Indicates that the character is a punctuation. ( Open & Close ) + + + + + Indicates that the character is a space character. + + + + + Indicates that the character is an upper case letter. + + + + + Indicates that the character is a lower case letter. + + + + + Indicates that the character is a Japanese Katakana character. + + + + + Indicates that the character is a Japanese Hiragana character. + + + + + Indicates that the character is a CJK punctuation. + + + + + Indicates that the character is a Hangal character. + + + + + Indicates that the character is of full width. + + + + + Represents drop down calendar form. + + + + + Creates a new instance of class. + + + + + This method is for internal use only. + + + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Calendar. + + + + + Represents the class of dropdown calculator form. + + + + + Initializes a new instance of the DropDownCalculator class. + + + + + Releases the resources used by the DropDownCalculator. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + The calculator used in a DropDownCalculator form. + + + + + Used by ErrorInfo.ErrorAction property. + + + + + Control value remains as the user typed it. + + + + + Control value is set to ValueOnError. + + + + + Control value is reset to the value control had before entering edit mode. + + + + + Control value is reset to the value control had before entering edit mode, and an exception is thrown. + + + + + Settings affecting error handling. + + + + + This method is for internal use only. + + + + + + + Resets whole ErrorInfo property in base control + + + + + If True, the control beeps signaling an error. Default: False. + + + + + If True (default), the standard error message is shown. + + + + + Error message shown in the standard message box and/or in the exception. + + + + + The text to display in the title bar of the error message box. + + + + + Enumerated value that determines what action is performed on the control value when an error occurs. + + + + + Determines whether or not the control is allowed to lose focus after the error. + + + + + Value used to reset the control if ErrorAction = SetValueOnError. + + + + + Boolean property used to set ValueOnError to DbNull (only necessary at design time). + + + + + Gets or sets an ErrorProvider object used to indicate error state of the control. + + + + + Gets or sets an C1SuperErrorProvider object used to indicate error state of the control. + + + + + Run-time-only read-only property returning the original exception object that caused the error. + + + + + Type of the Value property. + + + + + Represents the method that handles a FormatError event. + + The source of the event. + A FormatErrorEventArgs object that contains the event data. + + + + Provides data for a FormatError event. + + + + + Source value for formatting. + + + + + Formatting target (ForEdit or ForDisplay). + + + + + The text to show in the control. Your code in FormatError event can set this argument to a text + you want to show in the control in case of a formatting error. + + + + + FormatInfo object that fired the event. + + + + + Error description shown as the tooltip in the ErrorProvider icon, if ErrorInfo.ErrorProvider property is set. + + + + + Used by ValidationErrorEventArgs.Reason and ValidationException.Reason properties. + + + + + All validation checks were successful. + + + + + Value does not match the edit mask. + + + + + Value was rejected before parsing (in PreValidation). + + + + + Parsing failed. + + + + + Value rejected after parsing (in PostValidation). + + + + + Value rejected by the data source, setting the data source field to that value failed. + + + + + Represents the method that handles a ValidationError event. + + The source of the event. + A ValidationErrorEventArgs object that contains the event data. + + + + Provides data for a ValidationError event. + + + + + Validation phase on which the error has been detected. + + + + + The input text that caused the error. + + + + + If Reason = ErrorReasonEnum.PostValidationError, this is the value that caused the error. Otherwise, this property is null or DBNull. + + + + + Error information. + + + + + An exception that follows the ValidationError event if ValidationErrorEventArgs.ErrorInfo is set to ErrorActionEnum.ThrowException. + + + + + Control that fired the exception. + + + + + Validation phase on which the error has been detected. + + + + + The input text that caused the error. + + + + + The typed value that caused the error. + + + + + An exception thrown by C1Input when a control's Value property is set, but the new value is rejected by the data source, + setting the data field to that value is cancelled by the data source throwing an exception. + + + + + Control that caused the exception. + + + + + Current value in the control that caused the exception. + + + + + Used by FormatInfo.Inherit property. + + + + + Indicates that none of the properties are inherited from the control. + + + + + Indicates that the FormatType property is inherited from the control. + + + + + Indicates that the CustomFormat property is inherited from the control. + + + + + Indicates that the NullText property is inherited from the control. + + + + + Indicates that the EmptyAsNull property is inherited from the control. + + + + + Indicates that the TrimStart property is inherited from the control. + + + + + Indicates that the TrimEnd property is inherited from the control. + + + + + Indicates that the CalendarType property is inherited from the control. + + + + + Indicates that values of FormatType, CustomFormat, NullText, EmptyAsNull, TrimStart, TrimEnd, CalendarType properties are inherited from the control. + + + + + Used by FormatEventArgs.Target property. + + + + + Formatting (or Formatted) event was called while the control is not in edit mode. + + + + + Formatting (or Formatted) event was called while the control is in edit mode. + + + + + Represents the method that handles Formatting or Formatted events. + + The source of the event. + A FormatEventArgs object that contains the event data + + + + Provides data for Formatting or Formatted events. + + + + + Source value for formatting. + + + + + Formatting target (ForEdit or ForDisplay). + + + + + The out parameter for the resulting string (in Formatting), or the in parameter for the formatted string (in Formatted). + + + + + FormatInfo object that fired the event. + + + + + The out parameter for specifying error description if Succeeded is set to False. + + + + + Formatting result (assigned in the event code in Formatting). Default: True + + + + + Settings for data formatting, converting data to string. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Resets whole FormatInfo property of base control + + + + + Formats a value, converts it to a string. + + Typed value to convert to a string + + + + + + Formats a value, converts it to a string. + + Typed value to convert to a string. + Format method or specifier used for conversion. + Culture used for conversion. + + + + + + Manages inheritance of the FormatInfo properties from the host control properties. + + + + + Enumeration value determining the formatting method, including standard .NET format specifiers, custom and programmatic formatting. + + + + + Calendar, used to format date. + + + + + Custom format specifier used if FormatType = FormatTypeEnum.CustomFormat. + + + + + String representing a DbNull value. + + + + + If True, empty strings are interpreted as null values (DbNull). + + + + + If True, leading spaces are removed. + + + + + If True, trailing spaces are removed. + + + + + Used by MaskInfo.Inherit property. + + + + + Indicates that none of the properties are inherited from the control. + + + + + Indicates that the CaseSensitive property is inherited from the control. + + + + + Indicates that the EmptyAsNull property is inherited from the control. + + + + + Indicates that the ErrorMessage property is inherited from the control. + + + + + Indicates that all properties are inherited from the control. + + + + + Used by MaskInfo.ShowLiterals property. + + + + + The whole mask is shown when editing begins (empty spaces filled with PromptChar). + + + + + The mask is validated on exit (no literals or prompt chars displayed automatically). + + + + + The literals will be inserted after the user enters the first character of the field that follows the literals. + + + + + Literals that follows the input mask will be inserted after the user enters the last character in the current field. + + + + + Contains edit mask settings. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Returns True if EditMask is non-empty and the control is in edit mode. + + + + + + + Resets whole MaskInfo property of base control + + + + + Resets the text to the string representing a DBNull value. + + + + + Returns a string formatted for display using edit mask. + + String containing characters entered by the user, including those on optional positions that were left blank (skipped). + If set to True, the result will omit blank positions. If set to False, the resulting text will contain PromptChar on blank positions + + + + + + Returns the string that will be stored in the database, in accordance with current values of SaveLiterals, SaveBlanks and StoredEmptyChar properties. + + String containing characters entered by the user, including those on optional positions that were left blank (skipped). + + + + + + Returns the string containing characters entered by the user, including those on optional positions that were left blank (skipped). + + Text to parse. + Same as MaskInfo.SaveLiterals property. + Same as MaskInfo.SaveBlanks property. + Same as MaskInfo.StoredEmptyChar property + + + + + + Returns True if the input string is valid with respect to the edit mask. + + + + + + + The edit mask string restricting user input. + + + + + Manages inheritance of the MaskInfo properties from the host control properties. + + + + + True if comparison with mask literals is case-sensitive; otherwise, False. + + + + + If True, text copied to the clipboard includes literals. + + + + + If True, empty strings are interpreted as null values (DbNull). + + + + + Error message shown in the standard message box and/or if an exception occurs. + + + + + If True, focus automatically moves to the next control when the mask is filled. + + + + + Character displayed on empty mask positions in edit mode. + + + + + If True (default), optional mask positions are automatically skipped until the first position allowing the typed character. + + + + + If True (default), the stored text includes literals. + + + + + If True, the stored text includes blank positions as StoredEmptyChar. + + + + + Character stored in empty mask positions. + + + + + Literal display method. + + + + + The collection of user-defined mask characters. + + + + + Returns the number of editable positions in the edit mask. + + + + + Text entered by the user without literals (mask literals stripped). + + + + + Text in a readable format, with literals and without blanks. + + + + + The stored string obtained from the user input string. + + + + + Defines rules to filter keyboard input. + + + + + Only single byte characters are allowed. + + + + + Only double byte characters are allowed. + + + + + Letters allowed. + + + + + Numbers are allowed. + + + + + Symbols are allowed. + + + + + Only upper case letters are allowed. + + + + + Only lower case letters are allowed. + + + + + Only katakana is allowed. + + + + + Only hiragana is allowed. + + + + + Only big kana letters are allowed. + + + + + Auto conversion if possible. + + + + + Used by C1TextBox.NumericInputKeys property. + + + + + Indicates that none of the Input Keys are used. + + + + + Indicates that F2 enters negative infinity (-Infinity). + + + + + Indicates that F3 enters positive infinity (+Infinity). + + + + + Indicates that F4 enters the "not a number" value (NaN). + + + + + Indicates that F9 toggles the sign of the displayed number. + + + + + Indicates that '-' makes the displayed number negative. + + + + + Indicates that '+' makes the displayed number positive. + + + + + Indicates that Decimal key enters a decimal separator regardless of culture settings. + + + + + Indicates that the X key starts entry of the exponent part in scientific-notation numbers. + + + + + This value is a combination of the F9, Minus, Plus, Decimal, and X values. + + + + + This value is a combination of all enum values + + + + + Used by ParseInfo.Inherit property. + + + + + Indicates that none of the properties are inherited from the control. + + + + + Indicates that the value of the CaseSensitive property is inherited from the control. + + + + + Indicates that the value of the FormatType property is inherited from the control. + + + + + Indicates that the value of the CustomFormat property is inherited from the control. + + + + + Indicates that the value of the NullText property is inherited from the control. + + + + + Indicates that the value of the EmptyAsNull property is inherited from the control. + + + + + Indicates that the value of the ErrorMessage property is inherited from the control. + + + + + Indicates that the value of the TrimStart property is inherited from the control. + + + + + Indicates that the value of the TrimEnd property is inherited from the control. + + + + + Indicates that all properties are inherited from the control. + + + + + Used by ParseInfo.NumberStyle property. + + + + + Indicates that none of the bit styles are allowed. + + + + + Indicates that the numeric string is parsed as currency if it contains a currency symbol; otherwise, it is parsed as a number. + + + + + Indicates that the numeric string can have a decimal point. + + + + + Indicates that the numeric string can be in exponential notation. + + + + + Indicates that the numeric string can have notation that signifies that the number is hexadecimal. + + + + + Indicates that the numeric string can have a leading sign. + + + + + Indicates that a leading white-space character is ignored during parsing. + + + + + Indicates that the numeric string can have one pair of parentheses enclosing the number. + + + + + Indicates that the numeric string can have group separators. + + + + + Indicates that the numeric string can have a trailing sign. + + + + + Indicates that trailing white-space character must be ignored during parsing. + + + + + Indicates that all the AllowXXX bit styles are used. + + + + + Indicates all styles except AllowExponent and AllowHexSpecifier. + + + + + Indicates that the AllowLeadingWhite, AllowTrailingWhite, AllowLeadingSign, + AllowDecimalPoint, and AllowExponent styles are used. + + + + + Indicates that the AllowLeadingWhite, AllowTrailingWhite, and AllowHexSpecifier styles are used. + + + + + Indicates that the AllowLeadingWhite, AllowTrailingWhite, and AllowLeadingSign styles are used. + + + + + Indicates that the AllowLeadingWhite, AllowTrailingWhite, AllowLeadingSign, + AllowTrailingSign, AllowDecimalPoint, and AllowThousands styles are used. + + + + + Used by ParseInfo.DateTimeStyle property. + + + + + Indicates that the default formatting options must be used. + + + + + Indicates that extra white space characters in the middle of the string must be ignored during parsing. + + + + + Indicates that leading white space characters must be ignored during parsing. + + + + + Indicates that trailing white space characters must be ignored during parsing. + + + + + Indicates that extra white space characters anywhere in the string must be ignored during parsing. + + + + + Indicates that, if the parsed string contains only the time and not the date, the parsing methods + assume the Gregorian date with year = 1, month = 1, and day = 1. If this value is not used, the current date is assumed. + + + + + Represents the method that handles Parsing or Parsed events. + + The source of the event. + A ParseEventArgs object that contains the event data. + + + + Provides data for Parsing or Parsed events. + + + + + Source string for parsing. + + + + + Data type to convert the string to. + + + + + Parse result (assigned in the event code in Parsing). Default: True + + + + + Property to save the result to (in Parsing) or to get the resulting value from (in Parsed). + + + + + Error information in case of parsing failure. Can be set in event code in Parsing. + + + + + ParseInfo object that fired the event. + + + + + Contains settings affecting parsing, that is, converting a string to the required data type. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Resets whole ParseInfo property of base control + + + + + Returns True if the argument represents a null value (DBNull). + + The string to parse. + Culture used in parsing. + + + + + + Converts the text to a Decimal value using a fixed numeric format. + + The string to parse. + Format type used in parsing. + Culture used in parsing. + + + + + + Converts the text to a Double value using a float numeric format. + + The string to parse. + Format type used in parsing. + Culture used in parsing. + + + + + + Converts the text to Int64 value using an integer numeric format. + + + + + + + + + + + + + Converts the text to a Boolean value. + + The string to parse. + Format type used in parsing. + Culture used in parsing. + + + + + + Converts text to a value using one of DateTime formats. + + The string to parse. + Format type used in parsing. + Culture used in parsing. + + + + + + Converts text to the specified data type. + + The string to parse. + Type to which the string is converted. + Conversion result. + Object detailing error information, if an error occurred. + + + + + + Manages inheritance of the ParseInfo properties from the host control properties. + + + + + True if string comparisons are case-sensitive; otherwise, False. + + + + + The format used for parsing. + + + + + Custom format specifier (in parsing used for DateTime and Boolean types only). + + + + + The string representing DbNull value. + + + + + If True, empty strings are interpreted as null values (DbNull). + + + + + Error message shown in the standard message box and/or in the exception. + + + + + If True, leading spaces are removed before parsing. + + + + + If True, trailing spaces are removed before parsing. + + + + + Determines the styles (flags) permitted in input strings representing numbers. + + + + + Determines the styles (flags) permitted in input strings representing date/time. + + + + + Used by PostValidation.Inherit property. + + + + + Indicates that none of the properties are inherited from the control. + + + + + Indicates that the value of the CaseSensitive property is inherited from the control. + + + + + Indicates that the value of the ErrorMessage property is inherited from the control. + + + + + Indicates that all properties are inherited from the control. + + + + + Used by PostValidation.Validation property. + + + + + Validation using Values and Intervals. + + + + + Using the PostValidating event. + + + + + Represents the method that handles PostValidating or PostValidated events. + + The source of the event. + A PostValidationEventArgs object that contains the event data. + + + + Provides data for PostValidating or PostValidated events. + + + + + The value to validate. + + + + + PostValidation object that fired the event. + + + + + Error information in case of validation failure. Can be set in event code in PostValidating. + + + + + Validation result (assigned in the event code in PostValidating). Default: True + + + + + An interval in a collection of intervals of possible values used in post-validation. + + + + + Initializes a new instance of the ValueInterval class. + + + + + ValueInterval Constructor. + + MinValue property value. + MaxValue property value. + IncludeMin property value. + IncludeMax property value. + + + + Initializes a new instance of the ValueInterval class. + + + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + The type of lower and upper bounds (taken from the control’s DataType). + + + + + Lower bound. + + + + + Upper bound. + + + + + If False (default), the lower bound is negative infinity. + + + + + If False (default), the upper bound is positive infinity. + + + + + If True (default), the lower bound is included. + + + + + If True (default), the upper bound is included. + + + + + A collection of ValueInterval objects used by a PostValidation object. + The collection is used if the Validation = PostValidationTypeEnum.ValuesAndIntervals + or if the user calls the ValidateValuesAndIntervals method. + + + + + Adds the elements of an array to the end of the collection. + + The array whose elements should be added to the end of the collection. + + + + Adds a new value interval to the collection. + + The ValueInterval to add. + + + + Inserts a new value interval to the collection at the specified position. + + The zero-based index at which ValueInterval should be inserted. + The ValueInterval to insert. + + + + This method is for internal use only. + + + + + + + + + This method is for internal use only. + + + + + + + + + + + Returns True if the collection contains the specific value interval, False otherwise. + + The ValueInterval to locate in the collection. + + + + + + Determines the index of a specific value interval in the collection, return -1 if this item not found. + + The ValueInterval to locate in the collection. + + + + + + Removes a specific value interval from the collection. + + The ValueInterval to remove from the collection. + + + + Copies elements of the collection to an array starting at a particular array index. + + The one-array that is the destination of the elements copied from the collection. + The zero-based index in array at which copying begins. + + + + Gets the collection element at the specified index. + + + + + + + + + Validating the typed value after parsing, after the input string has been converted to the DataType. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Resets whole PostValidation property of base control + + + + + Performs validation of the value against the collections of Values, ValuesExcluded and Intervals. + + The value to validate. + Error information filled in case of failure. + + + + + + Performs validation using the current settings of the PostValidation object. Returns true if vaidation was successful. + + The value to validate. + Error information filled in case of failure. + + + + + + Validation method. + + + + + Determines whether it is possible to enter DbNull value in the control. + + + + + Manages inheritance of the PostValidation properties from the host control properties. + + + + + True if string comparisons are case-sensitive; otherwise, False. + + + + + Error message shown in the standard message box and/or in the exception. + + + + + Predefined values used for matching the input value. + + + + + List of values that are not permitted as input value. + + + + + Collection of intervals. The input value must belong to one of these intervals. + + + + + Used by PreValidation.Inherit property. + + + + + Indicates that none of the properties are inherited from the control. + + + + + Indicates that the value of the CaseSensitive property is inherited from the control. + + + + + Indicates that the value of the ErrorMessage property is inherited from the control. + + + + + Indicates that the value of the TrimStart property is inherited from the control. + + + + + Indicates that the value of the TrimEnd property is inherited from the control. + + + + + Indicates that all properties are inherited from the control. + + + + + Used by PreValidation.Validation property. + + + + + The PatternString property contains a list of possible values separated by the ItemSeparator. + + + + + Using the PreValidating event. + + + + + The PatternString property contains a list of wildcard patterns separated by the ItemSeparator. + + + + + The PatternString property contains a regular expression. + + + + + Used by PreValidation.RegexOptions property. + + + + + Specifies that no options are set. + + + + + Enables ECMAScript-compliant behavior for the expression. This flag can be used only + in conjunction with the IgnoreCase, Multiline, and Compiled flags. + + + + + Specifies that the only valid captures are explicitly named or numbered groups of the form. + + + + + Eliminates unescaped white space from the pattern and enables comments marked with #. + + + + + Multiline mode. Changes the meaning of ^ and $ so they match at the beginning and end, + respectively, of any line, and not just the beginning and end of the entire string. + + + + + Specifies that the search will be from right to left instead of from left to right. + + + + + Specifies single-line mode. Changes the meaning of the dot (.) so it matches every character (instead of every character except \n). + + + + + Represents the method that handles PreValidating or PreValidated events. + + The source of the event. + A PreValidationEventArgs object that contains the event data. + + + + Provides data for PreValidating or PreValidated events. + + + + + The text to validate. + + + + + PreValidation object that fired the event. + + + + + Error information in case of validation failure. Can be set in event code in PreValidating. + + + + + Validation result (assigned in the event code in PreValidating). Default: True. + + + + + Validating the input string entered by the user, before parsing. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Resets whole PreValidation property of base control + + + + + Returns True if the input text matches one of the exact list items specified in PatternString. + + The input string to match. + Error information filled in case of failure. + + + + + + Returns True if the input text matches the specified wildcard pattern passed as argument. + + The input string to match. + The wildcard pattern. + + + + + + Returns True if the input text matches at least one of the wildcard patterns specified in PatternString. + + The input string to match. + Error information filled in case of failure. + + + + + + Returns True if the input text matches the regular expression pattern specified in PatternString. + + The input string to match. + Error information filled in case of failure. + + + + + + Returns True if the text successfully passes validation using the current settings of the PreValidation object. + + The input string to validate. + Error information filled in case of failure. + + + + + + Validation method. + + + + + Manages inheritance of the PreValidation properties from the host control properties. + + + + + True if string comparisons are case-sensitive; otherwise, False. + + + + + Error message shown in the standard message box and/or in the exception. + + + + + If True, leading spaces are removed before validation. + + + + + If True, trailing spaces are removed before validation. + + + + + String containing the validation pattern. + + + + + String separating list items in PatternString. + + + + + The collection of user-defined characters to use in a wildcard pattern. + + + + + Settings affecting regular expression matching. + + + + + Represents the method that handles DateValueChanged and DateValueSelected events. + + The source of the event. + A NullableDateTimeEventArgs object that contains the event data. + + + + Provides data for DateValueChanged and DateValueSelected events. + + + + + The date value. + + + + + Set to True if the date value is null. + + + + + Determines when drop down form will be created. + + + + + At the host control creation time. + + + + + On first call of the drop down form. + + + + + Defines the LengthUnit enumeration. + + + + + Indicates the calculational unit is a .Net character when calculating the length of the string. + + + + + Indicates the calculational unit is a byte when calculating the length of the string. + + + + + Determines the visual style of a control. + + + + + Custom style. + + + + + Standard system style. + + + + + MS Office 2007 Blue color scheme. + + + + + MS Office 2007 Black color scheme. + + + + + MS Office 2007 Silver color scheme. + + + + + MS Office 2010 Blue color scheme. + + + + + MS Office 2010 Black color scheme. + + + + + MS Office 2010 Silver color scheme. + + + + + Used by FormatType property. + + + + + Conversion using TypeConverter.ConvertToString(). + + + + + Conversion performed by user code in the Formatting (or Parsing) event. + + + + + Formatting uses the string assigned to the CustomFormat property. + Parsing uses NumberStyle, DateTimeStyle, and CustomFormat properties. + + + + + The number is converted to the most compact decimal form, using fixed point or scientific notation. + + + + + The number is converted to a string that represents a currency amount. + + + + + The number is converted to a string of the form “-ddd.ddd…” where each 'd' indicates a digit (0-9). + + + + + The number is converted to a string of the form "-d,ddd,ddd.ddd…", where each 'd' indicates a digit (0-9). + + + + + The number is converted to a string that represents a percent as defined by the NumberFormatInfo.PercentNegativePattern property + or the NumberFormatInfo.PercentPositivePattern property. + + + + + The number is converted to a string of the form "-d.ddd…E+ddd" or "-d.ddd…e+ddd", where each 'd' indicates a digit (0-9). + + + + + The round-trip specifier guarantees that a numeric value converted to a string will be parsed back + into the same numeric value. This format is supported by floating-point types only. + + + + + Displays number as a string that contains the value of the number in Decimal (base 10) format. This format is supported for integral types only. + + + + + The number is converted to a string of hexadecimal digits. This format is supported for integral types only. + + + + + Converts to Boolean and shows No for false, Yes for true. + + + + + Converts to Boolean and shows True or False. + + + + + Converts to Boolean and shows Off for false, On for true. + + + + + General date/time pattern (short time). + + + + + Displays a date according to specified CultureInfo's long date format. + + + + + Displays a date using the medium date format ("dd-MMM-yy"). + + + + + Displays a date using specified CultureInfo's short date format. + + + + + Displays a time using your locale's long time format; includes hours, minutes, seconds. + + + + + Displays time in 12-hour format using hours and minutes and the AM/PM designator ("hh:mm tt"). + + + + + Displays a time using the 24-hour format, for example, 17:45. + + + + + Displays the long date and short time according to specified CultureInfo's format. + + + + + Displays the long date and long time according to specified CultureInfo's format. + + + + + Displays the short date and short time according to specified CultureInfo's format. + + + + + Displays the short date and long time according to specified CultureInfo's format. + + + + + Displays the month and the day of a date. + + + + + Formats the date and time as Greenwich Mean Time (GMT). + + + + + Formats the date and time as a sortable index. + + + + + Formats the date and time as a GMT sortable index. + + + + + Formats the date and time with the long date and long time as GMT. + + + + + Formats the date as the year and month. + + + + + This enum is for internal use only + + + + + Any type of data. + + + + + Only number data type. + + + + + Only DateTime data type. + + + + + Used by DropDownForm.DropDownAlign and C1DropDownControl.DropDownFormAlign properties. + + + + + In a C1DropDownControl, the alignment of the dropdown form is determined by the + DropDownAlign property of the drop down form. + + + + + Left alignment. + + + + + Center alignment. + + + + + Right alignment. + + + + + Used by C1TextBox.VerticalAlign property. + + + + + Text is aligned with the top of the enclosing control. + + + + + Text is aligned with the center of the enclosing control. + + + + + Text is aligned with the bottom of the enclosing control. + + + + + Used by C1Label.DaylightTimeAdjustment and C1TextBox.DaylightTimeAdjustment properties. + + + + + No daylight-saving time adjustments. + + + + + Use this option if the GMTOffset property corresponds to the standard time offset. + For the daylight-saving time GMTOffset should be advanced by an hour. + + + + + Use this option if the GMTOffset property is set to the daylight time offset. + So, for the standard time it should be set back by an hour. + + + + + Used by C1TextBox.InitialSelection property. + + + + + The whole text is selected. + + + + + Nothing selected, the caret is moved at the beginning of the text. + + + + + Nothing selected, the caret is moved at the end of the text. + + + + + Used by C1TextBox.ValueChangedBehavior. + + + + + The ValueChanged event is fired only when the Value property changes. + + + + + The ValueChanged event is fired on any text change. + + + + + Specifies the action for the left or right arrow key. + + + The left or right key causes focus to be lost when the caret is at the left-most or right-most position. + + + + + Specifies no action. + + + + + Specifies to move to the previous control when pressing left or Ctrl+left keys on the first character of the control. + + + + + Specifies to move to the next control when pressing right or Ctrl+right keys on the last character of the control. + + + + + Specifies to move to the previous or next control when pressing the left or right or Ctrl+left or Ctrl+right keys on the first or last character of the control. + + + + + Represents the method that handles a CultureInfoSetup event. + + The source of the event. + A CultureInfoSetupEventArgs object that contains the event data. + + + + Provides data for a CultureInfoSetup event. + + + + + Regional settings. + + + + + Represents the four margins around a control’s content. + + + + + Initializes a new instance of the Margins class. + + + + + Initializes a new instance of the Margins class. + + + + + + + + + + + + + Creates an identical copy of the current Margins. + + + + + + + Overloaded. Determines whether two Object instances are equal. + + + + + + + + + Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + Converts this Margins to a human readable string. + + + + + + + Overloaded. Sets the margin values. + + + + + + + + + + + + + Overloaded. Sets the margin values. + + + + + + + Sets all margins to zero. + + + + + Returns true if at least one margin differs from the default zero value. Otherwise, returns false. + + + + + + + Gets or sets the left margin, in pixels. + + + + + Gets or sets the right margin, in pixels. + + + + + Gets or sets the top margin, in pixels. + + + + + Gets or sets the bottom margin, in pixels. + + + + + Custom user-defined characters (placeholders) used in edit mask and in wildcard patterns in pre-validation + + + + + Initializes a new instance of the CustomPlaceholder class. + + + + + Initializes a new instance of the CustomPlaceholder class. + + The value of the Placeholder property. + The value of the Optional property. + The value of the LookupChars property. + The value of the CaseSensitive property. + The value of the Excluding property. + + + + Initializes a new instance of the CustomPlaceholder class. + + The value of the Placeholder property. + The value of the Optional property. + The value of the LookupChars property. + The value of the CaseSensitive property. + The value of the Excluding property. + + + + Initializes a new instance of the CustomPlaceholder class. + + + + + + + + + The special character used as a user-defined placeholder. + + + + + True if character is optional and can be omitted. + + + + + The list (string) of characters matching the placeholder (see also Excluding). + + + + + True if string comparison is case-sensitive; otherwise, False. + + + + + Specifies whether the LookupChars are interpreted as allowed or disallowed characters. + + + + + A collection of CustomPlaceholder objects. + + + + + Adds the special characters of an ICollection to the end of the PlaceholderCollection. + + The ICollection whose elements should be added. + + + + Checks validity of the placeholder + + + + + + + Adds a new special character to the collection. + + The CustomPlaceholder to add. + + + + Inserts a new special character to the collection at the specified position. + + The zero-based index at which CustomPlaceholder should be inserted. + The CustomPlaceholder to insert. + + + + This method is for internal use only. + + + + + + + + + Determines whether a character is in the placeholder collection. + + The character argument. + + + + + + Returns the index of a character in the placeholder collection, or –1 if it does not belong to the collection. + + The character argument. + + + + + + Removes a specific character from the collection. + + The character to remove from the collection. + + + + Copies elements of the collection to an array starting at a particular array index. + + The one-array that is the destination of the elements copied from the collection. + The zero-based index in array at which copying begins. + + + + Returns the CustomPlaceholder object corresponding to the character argument, or null if it does not belong to the collection. + + The character argument. + + + + + + This method is for internal use only. + + + + + + + Occurs when PlaceholderCollection is changed + + + + + Gets or sets the the special character at the specified index. + + The zero-based index of the element to get or set. + + + +
+
\ No newline at end of file diff --git a/Logbuch/Logbuch/bin/Debug/C1.Win.C1Input.4.dll b/Logbuch/Logbuch/bin/Debug/C1.Win.C1Input.4.dll new file mode 100644 index 0000000..2691ba0 Binary files /dev/null and b/Logbuch/Logbuch/bin/Debug/C1.Win.C1Input.4.dll differ diff --git a/Logbuch/Logbuch/bin/Debug/C1.Win.C1Input.4.xml b/Logbuch/Logbuch/bin/Debug/C1.Win.C1Input.4.xml new file mode 100644 index 0000000..7172e20 --- /dev/null +++ b/Logbuch/Logbuch/bin/Debug/C1.Win.C1Input.4.xml @@ -0,0 +1,10006 @@ + + + + C1.Win.C1Input.4 + + + + + Defines the Japanese char converting mode. + + + + + Converts the Japanese character to the Half Width Katakana mode. + + + + + Convert the Japanese character to the Full Width Katakana mode. + + + + + Converts the Japanese character to the Hiragana mode. + + + + + Determines how the IME should handle sentences. + + + + + Inherit the IME sentence mode of the parent control. + + + + + Do not control the IME sentence mode. + + + + + Use phrase information to predict the next character. + + + + + The IME uses plural clause information to carry out conversion processing. + + + + + The IME uses conversation mode. This is useful for chat applications. + + + + + No information for sentence. + + + + + A class is used to control the output behavior of the reading string. + + + + + Initializes a new instance of the class. + + + A indicates the target object. + + + A controls the output behaviors. + + + + + Indicates whether this instance and a specified object are equal. + + Another object to compare to. + + if obj and this instance are the same type and represent the same value; otherwise, . + + + + + Declares the "==" operator. + + + + + Declares the "!=" operator. + + + + + Gets the hash code of this object. + + + An indicates the hash code of the ime. + + + + + Gets a empty output. + + + + + Gets or sets a control used to receive the output. + + + A indicates the target control. + + + + + Gets or sets an object used to receieve the output string. + + + An object indicates the output target. + + + To make sure the string could be receieved, the output target object should either have a public property named 'Text' or 'Value'. + In addition, a string typed property is valid. + + + + + Gets or sets the output mode. + + + A controls the output behaviors. + + + + + Indicates the output mode of the reading string. + + + + + Adds the new text at the end of the old text. + + + + + Replaces all text of the target control. + + + + + Maintain the reading string output automatically. + + + + + Provides the data for the ResultString event. + + + The ResultString takes place when there has been changes + made in the IME conversion window. + + + + + Initializes a new instance of the + class with the specified reading string. + + + A indicates the source control that creates the reading string. + + + A string indicates the specified reading string. + + + + + Gets the control that creates the reading string. + + + A indicates the source control. + + + + + Gets the reading string. + + + A value indicating the reading string. + + + + + Class with static methods used for enumerating and retrieving application + resources. + + + + + Returns all images from the entry assembly. + + A collection of name/image pairs. + + + + Returns all images from the specified assembly. + + An to load images from. + A collection of name/image pairs. + + + + Loads an image from the entry assembly. + + The case-insensitive name of the requested image. + The if it is found; null otherwise. + + + + Loads an image from the specified assembly. + + An to load image from. + The case-insensitive name of the requested image. + The if it is found; null otherwise. + + + + Loads the specified manifest resource from the entry assembly. + + The case-insensitive name of the manifest resource being requested. + A representing this manifest resource. + + + + Loads the specified manifest resource from the specified assembly. + + An to load resource from. + The case-insensitive name of the manifest resource being requested. + A representing this manifest resource. + + + + Decodes an image from a base-64-encoded string. + + String that contains the encoded image data. + The encoded in the string. + + + + Defines an abstract base class for controls that support auto-scrolling behavior. + + + + + Initializes the properties. + + + + + Override this method to get notifications when the control scrolls. + + + + + + + This method is used to set the scroll rectangle. + Override it to customize the scrolling behavior. + + + + + + + + + + + Handles scroll messages. + + + + + + + This member overrides . + Override this method to account for scrollbars size. + + + + + + + + + This member overrides . + + + + + + + This member overrides . + + + + + + + This member overrides . + + + + + + + This member overrides . + + + + + + + This member overrides . + + + + + + + Retrieves the specified scroll bar range. + + + + + + + + + Gets the scroll position of the specified scroll bar. + + + + + + + + + Gets the immediate position of the specified scroll box that the user is dragging. + + + + + + + + + Sets the position of the specified scroll bar. + + + + Specifies the new position of the scroll box. + The position must be within the scrolling range. + The previous position of the scroll box indicates success. + Zero indicates failure + + + + Gets or sets the text associated with the control. + + + + + Gets or sets which scroll bars should appear on the control. + + + + + Gets or sets the value determining the current scroll position. + + + + + Gets or sets the size of the document. + + + + + Gets or sets whether the control should scroll as the user drags the scrollbar thumb. + + + + + Gets or sets the value determining + the type of border around the control. + + + + + Gets or sets the that appears when + the mouse moves over the control. + + + + + This property is used to set the scroll page size. + Override it to customize the scrolling behavior. + + + + + This member overrides . + + + + + Gets or sets the distance to move a scroll bar in response to + a small scroll command. + + + + + Gets or sets a value determining whether control shows scroll bars. + + + + + Control that hosts X elements. + The control has an property that gets or + sets the element to be displayed. + The control is responsible for displaying the element, providing + scrolling, and routing mouse and keyboard events to the hosted element. + + + + + Initializes a new instance of the control. + + + + + Creates a object for the control. + + A object for the control. + + The object returned by this method reflects the current + settings for the and + properties. + + + + + Scrolls a given point into view. + + Point to scroll into view. + + + + Scrolls a given rectangle into view. + + Rectangle to scroll into view. + + + + Releases all resources used by the control. + + + + + + + Determines whether the specified key is a regular input key or + a special key that requires preprocessing. + + One of the values. + True if the specified key is a regular input key; otherwise, false. + + + + Raises the event. + + An that contains the event data. + + + + Raises the event. + + An that contains the event data. + + + + Raises the event. + + A that contains the event data. + + + + Raises the event. + + An that contains the event data. + + + + Raises the event. + + An + that contains the event data. + + + + Raises the event. + + An + that contains the event data. + + + + Raises the event. + + An + that contains the event data. + + + + Raises the event. + + + + + + + Raises the event. + + An + that contains the event data. + + + + Raises the event. + + An that contains the event data. + + + + Raises the event. + + An that contains the event data. + + + + Raises the event. + + An that contains the event data. + + + + Raises the event. + + An that contains the event data. + + + + Raises the event. + + An that contains the event data. + + + + Raises the event. + + An that contains the event data. + + + + Returns True if the mouse pointer is inside the XView control. + + + + + Raises the event. + + An that contains the event data. + + + + Remove hosted controls that belong to elements which became invisible or + belong to a different control now. + + + The host element is responsible for restoring the control's Parent property + when it updates its position. + Note: determines that a belongs to an + if the control's property contains + a reference to a object. + + + that contains the event data. + + + + Remove hosted controls before disposing of the parent control. + + + This allows the host element to remain valid even if their parent view is disposed. + To dispose of the hosted control, call Dispose on the hosted control directly. + Note: determines that a belongs to an + if the control's property contains + a reference to a object. + + + that contains the event data. + + + + Sets the scroll rectangle. + + Amount to scroll in the x direction, in pixels. + Amount to scroll in the y direction, in pixels. + + + + + + Represents a handler for an item related event. + + + + + Provides data for an item related event. + + + + + Gets key of the item being added or changed. + + The key. + + + + Gets the string value. + + The value. + + + + Gets a value indicating whether this instance is default. + + + true if this instance is default; otherwise, false. + + + + + Gets the description. + + The description. + + + + Represents a collection of end user visible UI strings. + + + + + Adds a string to the collection, specifying the ordinal. + + The key of the string. + The ordinal of the string. + The string. + The description of the string. + + + + Adds a string to the collection in alphabetical order. + + The key of the string. + The string. + The description of the string. + + + + Adds a string to the collection, preserving the order. + + The key of the string. + The string. + The description of the string. + + + + Sets all strings in collection to their default values. + + + + + Indicates whether any of the strings in the current collection + have non-default values. + + + true if any of the strings have non-default values, false otherwise. + + + + Tests whether a string in the collection has default value. + + The key of the string to test. + + true if the string has default value, false otherwise. + + + + Returns the description of a string. + + The key of the string to get the description of. + The string's description + + + + Resets a string to its default value. + + The key of the string to reset. + + + + Returns the key of an item with the specified index. + + The item index. + The item's key. + + + + Gets the string by its index. + + The string index. + The string. + + + + Sets the value of a string with the specified index. + + The string index. + The new string value. + + + + Fires the event. + + The event data. + + + + Fires the event. + + The event data. + + + + Fires the event. + + The event data. + + + + Gets the number of elements contained in the collection. + + + + + Occurs when a new item is added to the collection. + + + + + Occurs when an item in the collection is changed. + + + + + Occurs when the collection has been changed. + + + + + Provides type conversion for the type. + + + + + For internal use. + + + + + + + + + + + + + + + For internal use. + + + + + + + + + + + + + For internal use. + + + + + + + + + Base class for C1ColorPicker and C1FontPicker controls. + + + + + Base class for C1DateEdit and C1NumericEdit controls. Includes support for dropdown and up/down buttons. + + + + + The main data bound control used for entering and editing information in a text form. + Supports data formatting for all data types, including special features for date-time formats. + Also supports edit mask, data validation and other features. + + + + + Initializes a new instance of the C1TextBox class. + + + + + Releases the resources used by the C1TextBox. + + + + + + + Resets to the default value. + + + + + Tests whether should be serialized. + + True if should be serialized, false otherwise. + + + + This method works exactly as setting the Value property, except that it does not change the internal variable + storing the value before editing, so the user can press Esc and restore the previous value. + This method works only in edit mode. If the control is not in edit mode, this methods does nothing. + + Value to set to the control. + + + + This method temporarily disables numeric input mode + + True to suspend numeric input, False to resume it + If True, control's Value is updated, obtained from the current control text. + + + + Parses the Text string. + + Output parameter: Parsing result + Output parameter: Object detailing error information, if an error occurred. + + + + + + Sets culture. + + New culture. + + + + Checks the result of the ParseContent method. + + Value indicating the reason of validation failure + Parsed value of type DataType that was undergoing validation + Object detailing error information, if an error occurred + + + + + + Triggers parsing of the Text property and updating the Value. + + + + + + + Increments the currently selected field in DateTimeInput mode. + + + + + Decrements the currently selected field in DateTimeInput mode. + + + + + Validates current Text property in the same manner as it usually validated after the control loses focus. + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + + + + + This method is for internal use only. + + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Raises the event. + + An that contains the event data. + + Raising an event invokes the event handler through a delegate. + The OnBorderColorChanged method also allows derived classes to handle the event without attaching a delegate. + This is the preferred technique for handling the event in a derived class. + + Notes to Inheritors. When overriding OnBorderColorChanged in a derived class, + be sure to call the base class's OnBorderColorChanged method so that registered delegates receive the event. + + + + + + Updates the control's Text with the current Value. + + + + + This member is for internal use only. + + + + + This member is for internal use only. + + + + + This method is for internal use only. + + + + + + + Makes Fixed3D borders old-style looking (flat) + for System VisualStyle. + This property is only for compatibility with legacy applications only. + + + + + Draws a red dotted line if Value is empty. + + + + + Gets or sets the border color of the control. + + + Use the BorderColor property to specify the border color of the control. + This property is set using a object. + The BorderColor property has an effect only when the property is set to FixedSingle. + + + + + Gets or sets the visual style of the control. + + + + + Gets or sets the foreground color of the disabled control. + + + + + Gets or sets the foreground color of the control which contains negative value. + + + + + Indicates whether to honor the ColumnStyle properties defined on the + C1ViewColumn object that this control is bound to. + + + + + The culture ID. + + + + + Calendar, used to format date. + + + + + The name selected for the Culture property in the Properties grid + + + + + If True, current user regional settings override the selected culture. + + + + + The current CultureInfo object (available at runtime). + + + + + Format used to display the value when the control is not in edit mode (does not have input focus or is read-only). + + + + + Format used to display the value when the control is in edit mode (has input focus and is not read-only). + + + + + Defines rules to filter keyboard input. + + + + + Settings affecting parsing, that is, converting the string entered by the user to the data type. + + + + + Edit mask settings. + + + + + Gets or sets the maximum number of characters or bytes that the control can hold. + + + The number of characters or bytes (determined by the + LengthAsByte property) + that can be entered into the control.
The default is zero. +
+ + The MaxLength property allows you to limit the number of characters + a user can enter in the control. The default value is 0, + which does not limit the number of characters. Any number greater than 0 indicates + the maximum number of characters. + The effects the displayed result along with the MaxLength property. + + + If value is less than zero, an ArgumentOutOfRangeException is thrown. + +
+ + + Gets or sets the maximum number of lines. + + + An int value that indicates the maximum number of lines. +
The default is zero. +
+ + + MaxLineCount limits the acceptable lines of text when the + property is . + + + This property does not work with wrapped lines, so preferrable is to use MaxLineCount when + property is . + + + The default value of this property, zero, means no limit. + + + +
+ + + Gets or sets whether the maximum number of characters that fit in the control + are handled based on bytes, characters, or text elements. + + + Determines the unit for counting for the property. + The value LengthUnit.Byte means the MaxLength is counted by Byte. + The value LengthUnit.Char means the MaxLength is counted by Char. + + + + + True if string comparisons are case-sensitive; otherwise, False. Default: False + + + + + Enumeration value determining the formatting method, including standard .NET format specifiers, custom and programmatic formatting. + + + + + Custom format specifier used if FormatType = FormatTypeEnum.CustomFormat. + + + + + String representing a DBNull value. + + + + + If True, empty strings are interpreted as null values (DBNull). + + + + + If True, leading spaces are removed. + + + + + If True, trailing spaces are removed. + + + + + The edit mask string restricting user input. + + + + + Sets or gets a value indicating whether a special edit mode is used for numeric values. + + + + + Enables/disables the special keys used when NumericInput = True. Default: NumericInputKeyFlags.Standard. + + + + + Whether or not a special edit mode is applied to DateTime values. + + + + + If True, the control’s stored Value is in current time zone; otherwise, the Value is adjusted to the time zone defined by the GMTOffset property + + + + + The time zone of the Value property used if CurrentTimeZone = False. + + + + + If this property is False the month will be automatically incremented when the user spins the date past the end of the month. The same about other parts of the date/time value. + + + + + Gets or sets a value indicating whether the position of the caret is automatically moved to the first field when the last field is filled. + + + + + Gets or sets a value indicating whether the position of the character is automatically changed + + + + + The value specified in the GMTOffset property can be advanced or set back due to daylight-saving time changes. Default: NoAdjustments. + + + + + The minimum year that can be entered without leading zeros. + + + + + Validation rules applied before parsing, that is, before converting the string entered by the user to the DataType (raw string validation). + + + + + Validation rules applied after parsing, that is, after converting the string entered by the user to the DataType (typed validation). + + + + + Gets or sets a value indicating whether the control causes validation (i.e. calls Validated and Validating events) + + + + + Gets or sets the object that contains data about the control + + + + + This method is for internal use only. + + + + + Gets the length of text in the control. + + + + + The lines of text in a multiline control. + + + + + Specifies whether the Value and Text properties can be set independently. + + + + + The data source object to which the control is bound. + + + + + The field of the data source object to which the control is bound. + + + + + Type of the Value property. + + + + + Gets or sets a value indicating whether the Value is DBNull. + + + + + The main bindable property of a C1Input control. + + + + + Settings affecting error handling in the control. + + + + + Indicates if the Escape key that cancels modified value is handled by the control without passing it to the owner form (AcceptsEscape=True), or it is then passed to the form and can close it if the form has CancelButton (AcceptsEscape=False). + + + + + Indicates if Tab and Shift+Tab keys are accepted by control and move the focus to the next (previous) group of input characters in edit mask and in DateTimeInput mode. + + + + + Gets or sets a value that indicates that the control has been modified by the user since the control received the input focus or its Value last set. + + + + + Returns True, if the control has input focus and TextDetached = False. + + + + + Label control associated with this input field. + + + + + Determines the selection position when a control receives input focus. Default: InitialSelectionEnum.SelectAll. + + + + + Gets or sets whether the text box should be disabled when it is bound to an empty data source, i.e. CurrencyManager.Count = 0. + + + + + Specifies whether a focus rectangle should be displayed around the client area when the control has the input focus. + + + + + Specifies whether the context menu can be displayed for the control. + + + + + Gets or sets a value indicating whether the height of the control automatically adjusts when the font assigned to the control is changed. + + + + + Gets or sets a value indicating whether the control can respond to user interaction. + + + + + Gets or sets the vertical alignment of the content in the control. The default is VerticalAlignEnum.Top. + + + + + Gets or sets the spacing between the input control content and its edges, in pixels. Default: all margins are set to 0. + + + + + Allows backward compatibility with the old behavior, when the ValueChanged event previously fired on any text change. + + + + + Gets or sets whether the next control in the tab order receives the focus as + soon as the control is filled at the last character. + + + if the focus is moved to the next control in the tab order as soon as the control + is filled at the last character defined by the input control; otherwise, . +
+ The default is . +
+ + The input focus moves to the next control when the last entered character causes the text to exceed the limit of the control. + + +
+ + + Gets or sets whether the focus automatically moves to the previous or next control in the tab order + when pressing the left or right arrow keys. + + + One of the enumeration values. +
+ The default is . +
+ + The value of this property indicates the key which moves the input focus to the next control. + When the caret is at the last character of this control, focus moves out by pressing the right arrow key. + When the caret is before the first character of this control, focus moves out by pressing the left key. + + +
+ + + Occurs when the BorderColor property has changed. + + + + + Occurs when the VisualStyle property has changed. + + + + + CultureInfo can be set up (on startup) or has been changed. + + + + + Occurs when the control receives data that cannot be formatted according to the current format and edit mask settings. + + + + + Formatting the value programmatically. + + + + + Occurs after the value has been formatted. + + + + + Programmatic parsing of the input string. + + + + + Occurs after the input string value has been converted to the DataType. + + + + + Programmatic input string validation. + + + + + Occurs after the input string value has been validated. + + + + + Programmatic typed value validation. + + + + + Occurs after the typed value has been validated + + + + + Occurs when the DataType property changes. + + + + + Occurs when the Value changes. + + + + + Error occurred while parsing or validating the input string. + + + + + Occurs when Value is retrieved from the data source. + + + + + Occurs when Value is stored in the data source. + + + + + Occurs when the value of the VerticalAlign property has changed. + + + + + Occurs when the Margins property or one of the margins has changed. + + + + + Occurs when invalid character is in input. + + + + + Default path for the control in xml theme file. + + + + + Initializes a new instance of the C1DropDownControl class. + + + + + Releases the resources used by the C1DropDownControl. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Shows the dropdown. + + + + + Closes the dropdown. + + + + + Closes the dropdown. + + + + + + + Performs the spin up action. + + + This method has the same behavior as pressing the up key. + + + + + + Performs the spin down action. + + + This method has the same behavior as pressing the down key. + + + + + + This method is for internal use only. + + + + + + + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Called when a drop down form is created. + + The new dropdown form. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + Returns image size. + + The size object. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + + + Draws image in the control. + + Grapthics object. + Device context. + Rectangle to draw image in. + + + + Default path + + + + + Gets or sets a value indicating whether to open the combo box when the control receives the focus. + + + + + Determines the time when drop down form is created. + + + + + Has valid value only if ShowValueImage returns true. + + + + + Gets or sets the style of the combo box. + + + The DropDownStyle property specifies whether the text portion can be edited. + + If the value is Default, the text is editable and the dropdown list is displayed by clicking the down arrow. + + If the value is DropDownList, the text is not editable and the dropdown list is displayed by clicking any part of the control. + + + + + Gets or sets the button image. + + + + + Gets or sets the index of the button image in the ImageList. + + + + + Gets or sets the key of the button image in the ImageList. + + + + + Gets or sets the ImageList to get the images to display in the drop down items. + + + + + Gets or sets the image padding. + + + + + Gets or sets a value specifying which buttons are visible. The default is (UpDown Or DropDown). + + + + + Determines if the dropdown button is visible. + + + + + Determines if the up/down buttons are visible. + + + + + Determines if the modal button is visible. + + + + + Determines if the modal button is visible. + + + + + Determines if the up/down buttons intercept and handle Up and Down arrow keys. + + + + + Specifies the class name of a Form serving as the dropdown window. + + + + + Returns dropdown form instance associated with the control. + + + + + Specifies form class that is used by default as the dropdown for the control. + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + Run-time read-only property indicating if the dropdown is currently open. + + + + + Specifies the button width instead of using the default width. + + + + + Distance in pixels between the control edge and the dropdown. + + + + + Gets or sets whether the mouse click event is consumed or passed through after closing the dropdown. + + + + + Alignment of the dropdown form relative to the control. + + + + + The cursor that is displayed when the mouse is over a button. + + + + + Gets or sets the images for buttons + + + + + Gets or sets the cursor that is displayed when the mouse pointer is over the control. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + Gets or sets the alignment of the spin button. + + + + + Occurs just before the dropdown is opened. + + + + + Occurs just before the dropdown is opened. + + + + + Occurs after the dropdown is opened. + + + + + Occurs when the dropdown has been closed. + + + + + Occurs when UpDown buttons are clicked. + + + + + Occurs when the Modal button is clicked. + + + + + Occurs when the Custom button is clicked. + + + + + Occurs when the value of the DropDownFormAlign property has changed. + + + + + Occurs when the value of the DropDownAlign property has changed. + + + + + Event fired when the value of ButtonCursor property is changed. + + + + + This method is for internal use only. + + + + + Determines if image should be shown. + + + + + Initializes a new instance of the C1BasePicker class. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Should be overridden in deviced class and convert string to value. + + + + + + + + + Should be overridden in derived class and convert value to string. + + + + + + + + + Determines the style of the control's border. + + + + + Represents a Windows color picker control supporting additional visual styles. + + + + + Initializes a new instance of the C1ColorPicker class. + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + Gets or sets a value indicating whether the transparent color can de selected. + + + + + Gets or sets a value indicating whether the empty color can de selected. + + + + + Gets or sets the current color. + + + + + Gets or sets a caption for the empty color. + + + + + The main bindable property of a C1Input control. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + Fires when the property changes. + + + + + Default path for the control in xml theme file. + + + + + Represents drop down color picker form. + + + + + Base class for custom dropdown forms. + + + + + Initializes a new instance of the DropDownForm class. + + + + + Releases the resources used by the DropDownForm. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + This method is for internal use only. + + + + + + + + + Fires the PostChanges event. + + Contains arguments describing the event. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Closes the dropdown form. + + + + + Closes the dropdown form. + + + + + + + Gets a value indicating whether theme should be applied to dropdown form + when it applied to . This property returns true + by default. + + + + + Determines the style of the control's border. + + + + + This property is for internal use only. + + + + + Determine various behavioral options of the dropdown form. + + + + + Determines the control on the form that gets input focus when the form is shown. + + + + + Alignment of the dropdown form relative to the owner control. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + Occurs when Value property of the OwnerControl is updated by the dropdown form. + + + + + Occurs when changes made by dropdown form are cancelled. + + + + + Occurs when dropdown form is opened. + + + + + Occurs when OwnerControl.Text property is changed. + + + + + Occurs when OwnerControl.Value property is changed. + + + + + Initializes a new instance of the C1ColorPickerDropDownForm class. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Represents a composite control combining a textbox and a drop-down item list. + + + + + Initializes a new instance of the C1ComboBox class. + + + + + Sets items data source and data member for the C1ComboBox. + + Data source. + Data member. + + + + Sets items data source, data member and initially selected item index for the C1ComboBox. + + Data source. + Data member. + Initially selected item index. + + + + Creates a new instance of the item collection. + + A that represents the new item collection. + + + + Raises the event. + + + + + Raises the event. + + + + + Releases the resources used by the C1ComboBox. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Determines whether the spinner moves to the first item when it reaches the last, or to the last when it reaches the first. + + + + + Gets an object representing the collection of the items contained in this ComboBox. + + + + + Gets or sets the combobox item mode. + + + + + Gets or sets the pattern to build HTML representation of combobox items. + + + + + Gets or sets currently selected item in the ComboBox. + + + + + Gets or sets the index specifying the currently selected item. + + + + + Gets or sets the ImageList to get the images to display in the combobox items. + + + + + Gets the style of the drop down form and combobox items. + + + + + Gets or sets the index of the initially selected item. + + + + + Gets or sets the data source for items of this C1ComboBox. + + + + + Gets or sets the property to display items for this C1ComboBox control. + + + + + Gets or sets the path of the property to use as the actual value for the items in the C1ComboBox control. + + + + + Occurs when the changes. + + + + + Occurs when the changes. + + + + + Specifies how the visual representation of combo box items is building. + + + + + C1ComboBox displays text of combo box item in the drop drown list. + + + + + Each combo box item is fragment of HTML. parses the HTML fragment and displays it as the drop down items. + + + C1ComboBox uses the same subset of HTML as C1SuperLabel does. + It does not support the full HTML features. + + + + + Each combo box item is fragment of HTML defined by property. + parses the HTML pattern and replaces any of "{Text}" entires with the combo box item text. + + + C1ComboBox uses the same subset of HTML as C1SuperLabel does. + It does not support the full HTML features. + + + + + Specifies the style. + + + + + Text portion of the drop down control is editable and the drop down is displayed by clicking + the down arrow. + + + This means that the user can enter a new value and is not limited to selecting an existing value. + + + + + The drop down of the is displayed by clicking + on either the text portion of the control or drop down button. The text portion is not editable. + + + This means that the user cannot enter a value not existing in the drop down. + + + + + Represents collection of drop down items. + + + + + Raises the event with the provided arguments. + + + + + Occurs when an item is added, removed, changed, moved, or the entire list is refreshed. + + + + + Style for drop down form and combobox items. + + + + + Resets the style to default value. + + + + + Background color of the drop down form. + + + + + Color of border of the drop down form. + + + + + Gets or sets padding within the drop down form. + + + + + Default font of the combo box items. + + + + + Space around the textual parts of the combo box items. + + + + + Default text color of the combo box items. + + + + + Text color of the combo box items in hot state. + + + + + Border color of the combo box items in hot state. + + + + + Background color of the combo box items in hot state. + + + + + Displays and edits date and/or time values. Includes a dropdown calendar for easy input of datetime values. + + + + + Initializes a new instance of the C1DateEdit class. + + + + + Releases the resources used by the C1DateEdit. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Performs spin up. + + + This method has the same behavior with the Up key pressed when day field selected and increments value by one day. + + + + + + Performs spin up. + + + The value that indicates the increment when spin up. + + + This method has the same behavior with the Up key pressed. + + + + + + Performs spin down. + + + This method has the same behavior with the Down key pressed when day field selected and decrements value by one day. + + + + + + Performs spin down. + + + The value that indicates the decrement when spin down. + + + This method has the same behavior with the Down key pressed. + + + + + + Determines whether the spinner moves to the when it reaches the , or to the when it reaches the . + + + + + Gets or sets a value indicating whether to retain the current time value when the date is changed via the drop down calendar. + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + The dropdown calendar object. + + + + + Enumeration value determining the formatting metod, including standard .NET format specifiers, custom and programmatic formatting. + + + + + This property is for internal use only. + + + + + Represents drop down calendar. + + + + + Creates the instance of the class. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Resets to the default value. + + + + + Tests whether should be serialized. + + True if should be serialized, false otherwise. + + + + Indicates whether the property should be persisted. + + + if the property value has been changed from its default; otherwise, . + + + + Sets the property to its default value. + + + + + Indicates whether the property should be persisted. + + + if the property value has been changed from its default; otherwise, . + + + + Sets the property to its default value. + + + + + Indicates whether the property should be persisted. + + + if the property value has been changed from its default; otherwise, . + + + + Sets the property to its default value. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Indicates whether the property should be persisted. + + + if the property value has been changed from its default; otherwise, . + + + + Sets the property to its default value. + + + + + Indicates whether the property should be persisted. + + + if the property value has been changed from its default; otherwise, . + + + + Sets the property to its default value. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Indicates whether the property should be persisted. + + + if the property value has been changed from its default; otherwise, . + + + + Clears . + + + + + Indicates whether the property should be persisted. + + + if the property value has been changed from its default; otherwise, . + + + + Clears . + + + + + Indicates whether the property should be persisted. + + + if the property value has been changed from its default; otherwise, . + + + + Clears . + + + + + Indicates whether the property should be persisted. + + + if the property value has been changed from its default; otherwise, . + + + + Clears . + + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Raises the event. + + An that contains the event data. + + + + Raises the event. + + An that contains the event data. + + + + + + + + + + + + Calls SuspendLayout on all DateEditMonthCalendar's child controls. + + + + + Calls ResumeLayout on all DateEditMonthCalendar's child controls. + + Indicates whether to invoke the layout logic now. + + + + Adds a day that is displayed in bold on an annual basis in the month calendar. + + The date to be displayed in bold. + + + + Adds a day to be displayed in bold in the month calendar. + + The date to be displayed in bold. + + + + Adds a day to be disabled in the month calendar. + + The date to be disabled. + + + + Adds a day that is displayed in bold on a monthly basis in the month calendar. + + The date to be displayed in bold. + + + + Removes all the annually bold dates. + + + + + Removes all the nonrecurring bold dates. + + + + + Removes the all disabled dates. + + + + + Removes all the monthly bold dates. + + + + + Removes the specified date from the list of annually bold dates. + + The date to remove from the date list. + + + + Removes the specified date from the list of nonrecurring bold dates. + + The date to remove from the date list. + + + + Removes the specified date from the list of disabled dates. + + The date to remove from the date list. + + + + Removes the specified date from the list of monthly bolded dates. + + The date to remove from the date list. + + + + Sets the number of columns and rows of months to display. + + The number of columns. + The number of rows. + + + + Sets a date as the currently selected date. + + The date to be selected. + + + + Retrieves date information that represents the low and high limits of the displayed dates of the control. + + true to retrieve only the dates that are fully contained in displayed months; otherwise, false. + The begin and end dates of the displayed calendar. + + + + Sets the selected dates in a month calendar control to the specified date range. + + The beginning date of the selection range. + The end date of the selection range. + + + + Returns an object with information on which portion of a month calendar control + is at a location specified by a System.Drawing.Point. + + A System.Drawing.Point containing the System.Drawing.Point.X and System.Drawing.Point.Y + coordinates of the point to be hit tested. + A System.Windows.Forms.MonthCalendar.HitTestInfo that contains information + about the specified point on the month calendar. + + + + Returns a System.Windows.Forms.MonthCalendar.HitTestInfo with information + on which portion of a month calendar control is at a specified x- and y-coordinate. + + The System.Drawing.Point.Y coordinate of the point to be hit tested. + The System.Drawing.Point.X coordinate of the point to be hit tested. + A System.Windows.Forms.MonthCalendar.HitTestInfo that contains information + about the specified point on the month calendar. + + + + This method is for internal use only. + + + + + + + Gets or sets the current month display offset. + + + This example shows current month at the center of the multi-dimensional + drop down calendar. + + c1DateEdit1.Calendar.CalendarDimensions = new Size(3, 1); + // Display current month at the center of the calendar. + // Other possible values: + // 0 - (Default) - at the Right + // 1 - Center + // 2 - Left + c1DateEdit1.Calendar.CurrentMonthDisplayOffset = 1; + + + + + Gets or sets VisualStyle. + + + + + Gets or sets the value that is used by DateEditMonthCalendar as today's date. + The default value is the current system date. + + + + + Gets or sets the minimum allowable date. The default value is DateTime.MinValue (01/01/0001). + + + The value is greater than the . + + + + + Gets or sets the maximum allowable date. + + + The value is less than the . + + + + + Gets or sets the value indicating that no date is currently selected in the calendar. + + + + + Gets or sets the background color of the control. + + + + + Gets or sets the foreground color of the control. + + + + + Gets or sets the selection foreground color. + + + + + Gets or sets the selection background color. + + + + + Gets or sets the line color. + + + + + Gets or sets the color of the arrows. + + + + + Gets or sets the color of the border around the current date. + + + + + Gets or sets a value indicating the color of days in months that are not + fully displayed in the control. + + + + + Gets or sets the day names' text color. + + + + + Gets or sets a value indicating the background color of the title area of the calendar. + + + + + Gets or sets a value indicating the foreground color of the title area of the calendar. + + + + + Gets the first day of the first fully shown month. + + + + + Gets the last day of the last fully shown month. + + + + + Gets or sets the selected date. + + + + + Gets or sets the number of columns and rows of months displayed. + + + + + Gets or sets the first day of the week as displayed in the month calendar. + + + + + Gets or sets the format to use for the calendar caption. + + + + + Gets or sets the maximum length of day names. + + + + + Gets or sets the title height. + + + + + Gets or sets the title font. + + + + + Gets or sets the day names font. + + + + + Gets or sets the array of System.DateTime objects that determines which nonrecurring dates are displayed in bold. + + + + + Gets or sets the array of System.DateTime objects that determines which annual days are displayed in bold. + + + + + Gets or sets the array of System.DateTime objects that determine which monthly days to bold. + + + + + Gets or sets the array of System.DateTime objects that determines which dates are disabled. + + + + + Gets or sets a value indicating whether the date represented by the TodayDate property is displayed at the bottom of the control. + + + + + Gets or sets a value indicating whether today's date is circled. + + + + + Determines if the Today button of the dropdown calendar is visible. + + + + + Determines if the Clear button of the dropdown calendar is visible. + + + + + Gets or sets the text of the "Today" button. + + + + + Gets or sets the text of the "Clear" button. + + + + + Gets or sets a value that specifies which rule is used to determine the first calendar week of the year. + + + + + Gets or sets a value indicating whether the month calendar control displays + week numbers (1-52) to the left of each row of days. + + + + + Gets or sets a value indicating whether control's elements are aligned to support locales using right-to-left fonts. + + + + + Gets or sets a value indicating whether the control is laid out from right to left. + + + + + Occurs when the VisualStyle property has changed. + + + + + Occurs when Today button is clicked. + + + + + Occurs when Clear button is clicked. + + + + + Occurs when Today button visibility is changed. + + + + + Occurs when Clear button visibility is changed. + + + + + Occurs when the value of the Date property is changed. + + + + + Occurs when the user selects a new value for the Date property. + + + + + Occurs when the value of the RightToLeftLayout property changes. + + + + + Handles the month change in the Dropdown calendar in C1DateEdit. + Occurs when the value of the or property changes. + + + Can be used to set some dates in the month to bold as user scrolls through the months. + + + This example sets a new bolded date in the selected month. + + private void c1DateEdit1_Calendar_MonthChanged(object sender, EventArgs e) + { + DateTime dt = c1DateEdit1.Calendar.FirstMonth; + c1DateEdit1.Calendar.AddBoldedDate(new DateTime(dt.Year, dt.Month, dt.Month)); + } + + + + + Get or sets current culture for the calendar. + + + + + Represents drop down calendar form. + + + + + Creates a new instance of class. + + + + + This method is for internal use only. + + + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Calendar. + + + + + Data bound control providing buttons for convenient navigation over data source rows, moving to the first, + last, previous and next row and performing common data actions such as updating the data source and refreshing data. + + + + + Initializes a new instance of the C1DbNavigator class. + + + + + Releases the resources used by the C1DbNavigator. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + Raises the TextChanged event. + + An EventArgs that contains event data. + + + + Resets to the default value. + + + + + Tests whether should be serialized. + + True if should be serialized, false otherwise. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if VisualStyleBaseStyle should be serialized, false otherwise. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Raises event. + + The event data object. + + + + Performs the action associated with a navigator button. + + The button whose action is performed. + + + + Sets the DataSource and DataMember properties at run time. + + The data source object to which the control is bound. + For multi-table data sources, specifies a specific table to which the control is bound. + + + + This method is for internal use only. + + + + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + Retrieves the size of a rectangular area into which a control can be fitted. + + The custom-sized area for a control. + An ordered pair of type representing the width and height of a rectangle. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Gets or sets value of the Position textbox. + + + If the Position textbox is not visible, it returns empty string. + If you set the Text property when the Position textbox is not visible, + the action has no effect. + Changing the Text property causes the data source position change. + + + + + Occurs when the Text property value changes. + + + + + Gets or sets the visual style of the control. + + + + + Specifies if navigator buttons have color bitmaps. + + + + + Specifies if navigator buttons have color bitmaps. + + + + + If True, navigator buttons show color bitmaps when the mouse hovers over them. + + + + + Navigator border style. + + + + + Navigator button style. + + + + + Vertical alignment of navigator buttons. + + + + + Vertical margin between the border and the buttons. + + + + + Horizontal margin between the border and the buttons. + + + + + Gets or sets the ImageList to use when displaying button images without highlighting. + + + + + Gets or sets the ImageList to use when displaying button images in highlighted state. + + + + + Indicates whether tooltips are shown for the buttons. + + + + + This member overrides Control.ForeColor. + + + + + Time delay in milliseconds after pressing Next/Previous button before automatic scrolling begins. + + + + + Time delay in milliseconds between row moves in automatic scrolling. + + + + + Number of rows to skip when the user presses PageUp/Down. + + + + + Specifies whether the editable row position field and row captions are visible in the navigator. + + + + + This member overrides Control.TabStop. + + + + + Flags enumeration specifying which buttons are visible. + + + + + Flags enumeration specifying which buttons are enabled. + + + + + Whether a confirmation dialog is shown before deleting a record. + + + + + Whether the control in focus should be validated before a button click is handled by the navigator. + + + + + The data source object to which the control is bound. + + + + + "For multi-table data sources, specifies a specific table to which the control is bound. + + + + + Returns the number of rows in the table. + + + + + Gets or sets the current row position in the table (from 0 to RowCount - 1). + + + + + Gets or sets the CurrencyManager object navigated by the control. + + + + + The size of navigator buttons. + + + + + Controls how the text is positioned relative to the image in navigator buttons. + + + + + Gets or sets the texts displayed on the buttons. + + + + + The string collection defining navigator button tooltips. + + + + + Gets the collection of user interface strings. + + + + + Gets or sets an ErrorProvider object used to indicate error state of the current data row. + + + + + The cursor that is displayed when the mouse is over the navigator buttons. + + + + + Occurs when the VisualStyle property has changed. + + + + + Occurs when the Position has changed. + + + + + Occurs when the current row has been modified, some of its fields changed. + + + + + Occurs when a button is clicked, before the action is executed. + + + + + Occurs when Add button is pressed. + + + + + Occurs when Delete button is pressed. + + + + + Occurs when Edit button is pressed. + + + + + Occurs when Update button is pressed. + + + + + Occurs when Refresh button is pressed. + + + + + Occurs when a navigator button has been pressed, after the button action is performed. + + + + + Occurs when an exceptions is thrown performing an action on button click. + + + + + Event fired when the value of ButtonCursor property is changed. + + + + + A list of all available navigator buttons + + + + + First button. + + + + + Previous button. + + + + + Next button. + + + + + Last button. + + + + + Add button. + + + + + Delete button. + + + + + Edit button. + + + + + Apply button. + + + + + Cancel button. + + + + + Update button. + + + + + Refresh button. + + + + + Position text box + + + + + Represents the method that handles a BeforeAction event. + + The source of the event. + A NavigatorBeforeActionEventArgs object that contains the event data. + + + + Provides data for a BeforeAction event. + + + + + The clicked button. + + + + + Current row index in the data source (only for Delete and Edit buttons). + + + + + This argument is False by default. If you set it to True in your event code, the navigator control will skip the standard action associated with the button. + + + + + Represents the method that handles an Adding event. + + The source of the event. + A NavigatorAddingEventArgs object that contains the event data. + + + + Provides data for a Adding event. + + + + + This argument is False by default. If you set it to True in your event code, the navigator control will abort adding a new row. + + + + + Represents the method that handles a Deleting event. + + The source of the event. + A NavigatorDeletingEventArgs object that contains the event data. + + + + Provides data for a Deleting event. + + + + + The index of the row being deleted. + + + + + This argument is False by default. If you set it to True in your event code, the navigator control will abort deleting. + + + + + Represents the method that handles a Editing event. + + The source of the event. + A NavigatorEditingEventArgs object that contains the event data. + + + + Provides data for a Editing event. + + + + + The index of the row being edited. + + + + + Represents the method that handles a ButtonClick event. + + The source of the event. + A NavigatorButtonClickEventArgs object that contains the event data. + + + + Provides data for a ButtonClick event. + + + + + The clicked button. + + + + + Represents the method that handles an Error event. + + The source of the event. + A NavigatorErrorEventArgs object that contains the event data. + + + + Provides data for an Error event. + + + + + The clicked C1DbNavigator button. + + + + + Exception that occurred while performing the button action. + + + + + This argument is set to true by default. If it is set to False by event code, the standard message box is not shown. + + + + + Error message shown in the standard message box. + + + + + The caption of the standard message box. + + + + + Used by C1DbNavigator.ButtonStyle property. + + + + + Flat buttons showing "mouse hover". + + + + + Standard 3D-buttons. + + + + + Used by C1DbNavigator.VerticalAlign property. + + + + + Buttons are aligned with the top of the control. + + + + + Buttons are aligned with the center of the control. + + + + + Buttons are aligned with the bottom of the control. + + + + + Used by C1DbNavigator.ButtonTextAlign property. + + + + + Text appears to the right of the image. + + + + + Text appears underneath the image. + + + + + Used by C1DbNavigator.VisibleButtons property. + + + + + No buttons. + + + + + Moves to the first row. + + + + + Moves to the previous row. + + + + + Moves to the next row. + + + + + Moves to the last row. + + + + + Adds a new row to the table. + + + + + Deletes the current row. + + + + + Fires the Editing event. + + + + + Ends edit mode for the current row. + + + + + Cancels (reverts) modifications in the current row. + + + + + Fires the UpdateData event. + + + + + Fires the RefreshData event. + + + + + First + Previous + Next + Last buttons + + + + + All buttons. + + + + + Used by C1DropDownControl.VisibleButtons properties. + + + + + Show without any button + + + + + Show up/down buttons. + + + + + Show dropdown button. + + + + + Show button to start a modal dialog. + + + + + Show a custom button. + + + + + Show all buttons + + + + + Represents the method that handles a UpDownButtonClick event. + + The source of the event. + An UpDownButtonClickEventArgs object that contains the event data. + + + + Provides data for a UpDownButtonClick event. + + + + + Set to 1 if Up button is pressed, to -1 if Down button is pressed. + + + + + Set to true in the user's UpDownButtonClick event handler. No built-in processing is done. This allows the user to override the default behavior of the buttons. + + + + + Provides data for a DropDownClosed event. + + + + + Returns True if a value is selected in dropdown dialog. + + + + + Initializes a new instance of the DropDownClosedEventArgs class. + + + + + + + Represents the method that handles a DropDownClosed event. + + The source of the event + A DropDownClosedEventArgs object that contains the event data. + + + + Images for C1DropDownControl buttons + + + + + Clears all custom images and returns standard images for C1DropDownControl buttons. + + + + + Returns True if any custom image is assigned + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Image for Up button + + + + + Image for Down button + + + + + Image for DropDown button + + + + + Image for Modal button + + + + + Image for Custom button + + + + + TypeConverter class for ButtonImages + + + + + This method is for internal use only. + + + + + + + + + This method is for internal use only. + + + + + + + + + + + + + + + This property is for internal use only. + + + + + Represents a Windows font picker control supporting additional visual styles. + + + + + Initializes a new instance of the C1FontPicker class. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Gets a collection of fonts installed on system. + + + + + Gets or sets a width of drop down list of fonts. + + + + + This property is for internal use only. + + + + + Default path for the control in xml theme file. + + + + + Represents drop down font picker form. + + + + + Initializes a new instance of the C1FontPickerDropDownForm class. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Used by ErrorInfo.ErrorAction property. + + + + + Control value remains as the user typed it. + + + + + Control value is set to ValueOnError. + + + + + Control value is reset to the value control had before entering edit mode. + + + + + Control value is reset to the value control had before entering edit mode, and an exception is thrown. + + + + + Settings affecting error handling. + + + + + This method is for internal use only. + + + + + + + Resets whole ErrorInfo property in base control + + + + + If True, the control beeps signaling an error. Default: False. + + + + + If True (default), the standard error message is shown. + + + + + Error message shown in the standard message box and/or in the exception. + + + + + The text to display in the title bar of the error message box. + + + + + Enumerated value that determines what action is performed on the control value when an error occurs. + + + + + Determines whether or not the control is allowed to lose focus after the error. + + + + + Value used to reset the control if ErrorAction = SetValueOnError. + + + + + Boolean property used to set ValueOnError to DbNull (only necessary at design time). + + + + + Gets or sets an ErrorProvider object used to indicate error state of the control. + + + + + Gets or sets an C1SuperErrorProvider object used to indicate error state of the control. + + + + + Run-time-only read-only property returning the original exception object that caused the error. + + + + + Type of the Value property. + + + + + Represents the method that handles a FormatError event. + + The source of the event. + A FormatErrorEventArgs object that contains the event data. + + + + Provides data for a FormatError event. + + + + + Source value for formatting. + + + + + Formatting target (ForEdit or ForDisplay). + + + + + The text to show in the control. Your code in FormatError event can set this argument to a text + you want to show in the control in case of a formatting error. + + + + + FormatInfo object that fired the event. + + + + + Error description shown as the tooltip in the ErrorProvider icon, if ErrorInfo.ErrorProvider property is set. + + + + + Used by ValidationErrorEventArgs.Reason and ValidationException.Reason properties. + + + + + All validation checks were successful. + + + + + Value does not match the edit mask. + + + + + Value was rejected before parsing (in PreValidation). + + + + + Parsing failed. + + + + + Value rejected after parsing (in PostValidation). + + + + + Value rejected by the data source, setting the data source field to that value failed. + + + + + Represents the method that handles a ValidationError event. + + The source of the event. + A ValidationErrorEventArgs object that contains the event data. + + + + Provides data for a ValidationError event. + + + + + Validation phase on which the error has been detected. + + + + + The input text that caused the error. + + + + + If Reason = ErrorReasonEnum.PostValidationError, this is the value that caused the error. Otherwise, this property is null or DBNull. + + + + + Error information. + + + + + An exception that follows the ValidationError event if ValidationErrorEventArgs.ErrorInfo is set to ErrorActionEnum.ThrowException. + + + + + Control that fired the exception. + + + + + Validation phase on which the error has been detected. + + + + + The input text that caused the error. + + + + + The typed value that caused the error. + + + + + An exception thrown by C1Input when a control's Value property is set, but the new value is rejected by the data source, + setting the data field to that value is cancelled by the data source throwing an exception. + + + + + Control that caused the exception. + + + + + Current value in the control that caused the exception. + + + + + Used by FormatInfo.Inherit property. + + + + + Indicates that none of the properties are inherited from the control. + + + + + Indicates that the FormatType property is inherited from the control. + + + + + Indicates that the CustomFormat property is inherited from the control. + + + + + Indicates that the NullText property is inherited from the control. + + + + + Indicates that the EmptyAsNull property is inherited from the control. + + + + + Indicates that the TrimStart property is inherited from the control. + + + + + Indicates that the TrimEnd property is inherited from the control. + + + + + Indicates that the CalendarType property is inherited from the control. + + + + + Indicates that values of FormatType, CustomFormat, NullText, EmptyAsNull, TrimStart, TrimEnd, CalendarType properties are inherited from the control. + + + + + Used by FormatEventArgs.Target property. + + + + + Formatting (or Formatted) event was called while the control is not in edit mode. + + + + + Formatting (or Formatted) event was called while the control is in edit mode. + + + + + Represents the method that handles Formatting or Formatted events. + + The source of the event. + A FormatEventArgs object that contains the event data + + + + Provides data for Formatting or Formatted events. + + + + + Source value for formatting. + + + + + Formatting target (ForEdit or ForDisplay). + + + + + The out parameter for the resulting string (in Formatting), or the in parameter for the formatted string (in Formatted). + + + + + FormatInfo object that fired the event. + + + + + The out parameter for specifying error description if Succeeded is set to False. + + + + + Formatting result (assigned in the event code in Formatting). Default: True + + + + + Settings for data formatting, converting data to string. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Resets whole FormatInfo property of base control + + + + + Formats a value, converts it to a string. + + Typed value to convert to a string + + + + + + Formats a value, converts it to a string. + + Typed value to convert to a string. + Format method or specifier used for conversion. + Culture used for conversion. + + + + + + Manages inheritance of the FormatInfo properties from the host control properties. + + + + + Enumeration value determining the formatting method, including standard .NET format specifiers, custom and programmatic formatting. + + + + + Calendar, used to format date. + + + + + Custom format specifier used if FormatType = FormatTypeEnum.CustomFormat. + + + + + String representing a DbNull value. + + + + + If True, empty strings are interpreted as null values (DbNull). + + + + + If True, leading spaces are removed. + + + + + If True, trailing spaces are removed. + + + + + Used by MaskInfo.Inherit property. + + + + + Indicates that none of the properties are inherited from the control. + + + + + Indicates that the CaseSensitive property is inherited from the control. + + + + + Indicates that the EmptyAsNull property is inherited from the control. + + + + + Indicates that the ErrorMessage property is inherited from the control. + + + + + Indicates that all properties are inherited from the control. + + + + + Used by MaskInfo.ShowLiterals property. + + + + + The whole mask is shown when editing begins (empty spaces filled with PromptChar). + + + + + The mask is validated on exit (no literals or prompt chars displayed automatically). + + + + + The literals will be inserted after the user enters the first character of the field that follows the literals. + + + + + Literals that follows the input mask will be inserted after the user enters the last character in the current field. + + + + + Contains edit mask settings. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Returns True if EditMask is non-empty and the control is in edit mode. + + + + + + + Resets whole MaskInfo property of base control + + + + + Resets the text to the string representing a DBNull value. + + + + + Returns a string formatted for display using edit mask. + + String containing characters entered by the user, including those on optional positions that were left blank (skipped). + If set to True, the result will omit blank positions. If set to False, the resulting text will contain PromptChar on blank positions + + + + + + Returns the string that will be stored in the database, in accordance with current values of SaveLiterals, SaveBlanks and StoredEmptyChar properties. + + String containing characters entered by the user, including those on optional positions that were left blank (skipped). + + + + + + Returns the string containing characters entered by the user, including those on optional positions that were left blank (skipped). + + Text to parse. + Same as MaskInfo.SaveLiterals property. + Same as MaskInfo.SaveBlanks property. + Same as MaskInfo.StoredEmptyChar property + + + + + + Returns True if the input string is valid with respect to the edit mask. + + + + + + + The edit mask string restricting user input. + + + + + A representing the mask in regular expression style. + + + + + Manages inheritance of the MaskInfo properties from the host control properties. + + + + + True if comparison with mask literals is case-sensitive; otherwise, False. + + + + + If True, text copied to the clipboard includes literals. + + + + + If True, empty strings are interpreted as null values (DbNull). + + + + + Error message shown in the standard message box and/or if an exception occurs. + + + + + If True, focus automatically moves to the next control when the mask is filled. + + + + + Character displayed on empty mask positions in edit mode. + + + + + If True (default), optional mask positions are automatically skipped until the first position allowing the typed character. + + + + + If True (default), the stored text includes literals. + + + + + If True, the stored text includes blank positions as StoredEmptyChar. + + + + + Character stored in empty mask positions. + + + + + Literal display method. + + + + + The collection of user-defined mask characters. + + + + + Returns the number of editable positions in the edit mask. + + + + + Text entered by the user without literals (mask literals stripped). + + + + + Text in a readable format, with literals and without blanks. + + + + + The stored string obtained from the user input string. + + + + + Defines rules to filter keyboard input. + + + + + Only single byte characters are allowed. + + + + + Only double byte characters are allowed. + + + + + Letters allowed. + + + + + Numbers are allowed. + + + + + Symbols are allowed. + + + + + Only upper case letters are allowed. + + + + + Only lower case letters are allowed. + + + + + Only katakana is allowed. + + + + + Only hiragana is allowed. + + + + + Only big kana letters are allowed. + + + + + Auto conversion if possible. + + + + + Used by C1TextBox.NumericInputKeys property. + + + + + Indicates that none of the Input Keys are used. + + + + + Indicates that F2 enters negative infinity (-Infinity). + + + + + Indicates that F3 enters positive infinity (+Infinity). + + + + + Indicates that F4 enters the "not a number" value (NaN). + + + + + Indicates that F9 toggles the sign of the displayed number. + + + + + Indicates that '-' makes the displayed number negative. + + + + + Indicates that '+' makes the displayed number positive. + + + + + Indicates that Decimal key enters a decimal separator regardless of culture settings. + + + + + Indicates that the X key starts entry of the exponent part in scientific-notation numbers. + + + + + This value is a combination of the F9, Minus, Plus, Decimal, and X values. + + + + + This value is a combination of all enum values + + + + + Used by ParseInfo.Inherit property. + + + + + Indicates that none of the properties are inherited from the control. + + + + + Indicates that the value of the CaseSensitive property is inherited from the control. + + + + + Indicates that the value of the FormatType property is inherited from the control. + + + + + Indicates that the value of the CustomFormat property is inherited from the control. + + + + + Indicates that the value of the NullText property is inherited from the control. + + + + + Indicates that the value of the EmptyAsNull property is inherited from the control. + + + + + Indicates that the value of the ErrorMessage property is inherited from the control. + + + + + Indicates that the value of the TrimStart property is inherited from the control. + + + + + Indicates that the value of the TrimEnd property is inherited from the control. + + + + + Indicates that all properties are inherited from the control. + + + + + Used by ParseInfo.NumberStyle property. + + + + + Indicates that none of the bit styles are allowed. + + + + + Indicates that the numeric string is parsed as currency if it contains a currency symbol; otherwise, it is parsed as a number. + + + + + Indicates that the numeric string can have a decimal point. + + + + + Indicates that the numeric string can be in exponential notation. + + + + + Indicates that the numeric string can have notation that signifies that the number is hexadecimal. + + + + + Indicates that the numeric string can have a leading sign. + + + + + Indicates that a leading white-space character is ignored during parsing. + + + + + Indicates that the numeric string can have one pair of parentheses enclosing the number. + + + + + Indicates that the numeric string can have group separators. + + + + + Indicates that the numeric string can have a trailing sign. + + + + + Indicates that trailing white-space character must be ignored during parsing. + + + + + Indicates that all the AllowXXX bit styles are used. + + + + + Indicates all styles except AllowExponent and AllowHexSpecifier. + + + + + Indicates that the AllowLeadingWhite, AllowTrailingWhite, AllowLeadingSign, + AllowDecimalPoint, and AllowExponent styles are used. + + + + + Indicates that the AllowLeadingWhite, AllowTrailingWhite, and AllowHexSpecifier styles are used. + + + + + Indicates that the AllowLeadingWhite, AllowTrailingWhite, and AllowLeadingSign styles are used. + + + + + Indicates that the AllowLeadingWhite, AllowTrailingWhite, AllowLeadingSign, + AllowTrailingSign, AllowDecimalPoint, and AllowThousands styles are used. + + + + + Used by ParseInfo.DateTimeStyle property. + + + + + Indicates that the default formatting options must be used. + + + + + Indicates that extra white space characters in the middle of the string must be ignored during parsing. + + + + + Indicates that leading white space characters must be ignored during parsing. + + + + + Indicates that trailing white space characters must be ignored during parsing. + + + + + Indicates that extra white space characters anywhere in the string must be ignored during parsing. + + + + + Indicates that, if the parsed string contains only the time and not the date, the parsing methods + assume the Gregorian date with year = 1, month = 1, and day = 1. If this value is not used, the current date is assumed. + + + + + Represents the method that handles Parsing or Parsed events. + + The source of the event. + A ParseEventArgs object that contains the event data. + + + + Provides data for Parsing or Parsed events. + + + + + Source string for parsing. + + + + + Data type to convert the string to. + + + + + Parse result (assigned in the event code in Parsing). Default: True + + + + + Property to save the result to (in Parsing) or to get the resulting value from (in Parsed). + + + + + Error information in case of parsing failure. Can be set in event code in Parsing. + + + + + ParseInfo object that fired the event. + + + + + Contains settings affecting parsing, that is, converting a string to the required data type. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Resets whole ParseInfo property of base control + + + + + Returns True if the argument represents a null value (DBNull). + + The string to parse. + Culture used in parsing. + + + + + + Converts the text to a Decimal value using a fixed numeric format. + + The string to parse. + Format type used in parsing. + Culture used in parsing. + + + + + + Converts the text to a Double value using a float numeric format. + + The string to parse. + Format type used in parsing. + Culture used in parsing. + + + + + + Converts the text to Int64 value using an integer numeric format. + + + + + + + + + + + + + Converts the text to a Boolean value. + + The string to parse. + Format type used in parsing. + Culture used in parsing. + + + + + + Converts text to a value using one of DateTime formats. + + The string to parse. + Format type used in parsing. + Culture used in parsing. + + + + + + Converts text to the specified data type. + + The string to parse. + Type to which the string is converted. + Conversion result. + Object detailing error information, if an error occurred. + + + + + + Manages inheritance of the ParseInfo properties from the host control properties. + + + + + True if string comparisons are case-sensitive; otherwise, False. + + + + + The format used for parsing. + + + + + Custom format specifier (in parsing used for DateTime and Boolean types only). + + + + + The string representing DbNull value. + + + + + If True, empty strings are interpreted as null values (DbNull). + + + + + Error message shown in the standard message box and/or in the exception. + + + + + If True, leading spaces are removed before parsing. + + + + + If True, trailing spaces are removed before parsing. + + + + + Determines the styles (flags) permitted in input strings representing numbers. + + + + + Determines the styles (flags) permitted in input strings representing date/time. + + + + + Used by PostValidation.Inherit property. + + + + + Indicates that none of the properties are inherited from the control. + + + + + Indicates that the value of the CaseSensitive property is inherited from the control. + + + + + Indicates that the value of the ErrorMessage property is inherited from the control. + + + + + Indicates that all properties are inherited from the control. + + + + + Used by PostValidation.Validation property. + + + + + Validation using Values and Intervals. + + + + + Using the PostValidating event. + + + + + Represents the method that handles PostValidating or PostValidated events. + + The source of the event. + A PostValidationEventArgs object that contains the event data. + + + + Provides data for PostValidating or PostValidated events. + + + + + The value to validate. + + + + + PostValidation object that fired the event. + + + + + Error information in case of validation failure. Can be set in event code in PostValidating. + + + + + Validation result (assigned in the event code in PostValidating). Default: True + + + + + An interval in a collection of intervals of possible values used in post-validation. + + + + + Initializes a new instance of the ValueInterval class. + + + + + ValueInterval Constructor. + + MinValue property value. + MaxValue property value. + IncludeMin property value. + IncludeMax property value. + + + + Initializes a new instance of the ValueInterval class. + + + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + The type of lower and upper bounds (taken from the control’s DataType). + + + + + Lower bound. + + + + + Upper bound. + + + + + If False (default), the lower bound is negative infinity. + + + + + If False (default), the upper bound is positive infinity. + + + + + If True (default), the lower bound is included. + + + + + If True (default), the upper bound is included. + + + + + A collection of ValueInterval objects used by a PostValidation object. + The collection is used if the Validation = PostValidationTypeEnum.ValuesAndIntervals + or if the user calls the ValidateValuesAndIntervals method. + + + + + Adds the elements of an array to the end of the collection. + + The array whose elements should be added to the end of the collection. + + + + Adds a new value interval to the collection. + + The ValueInterval to add. + + + + Inserts a new value interval to the collection at the specified position. + + The zero-based index at which ValueInterval should be inserted. + The ValueInterval to insert. + + + + This method is for internal use only. + + + + + + + + + This method is for internal use only. + + + + + + + + + + + Returns True if the collection contains the specific value interval, False otherwise. + + The ValueInterval to locate in the collection. + + + + + + Determines the index of a specific value interval in the collection, return -1 if this item not found. + + The ValueInterval to locate in the collection. + + + + + + Removes a specific value interval from the collection. + + The ValueInterval to remove from the collection. + + + + Copies elements of the collection to an array starting at a particular array index. + + The one-array that is the destination of the elements copied from the collection. + The zero-based index in array at which copying begins. + + + + Gets the collection element at the specified index. + + + + + + + + + Validating the typed value after parsing, after the input string has been converted to the DataType. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Resets whole PostValidation property of base control + + + + + Performs validation of the value against the collections of Values, ValuesExcluded and Intervals. + + The value to validate. + Error information filled in case of failure. + + + + + + Performs validation using the current settings of the PostValidation object. Returns true if vaidation was successful. + + The value to validate. + Error information filled in case of failure. + + + + + + Validation method. + + + + + Determines whether it is possible to enter DbNull value in the control. + + + + + Manages inheritance of the PostValidation properties from the host control properties. + + + + + True if string comparisons are case-sensitive; otherwise, False. + + + + + Error message shown in the standard message box and/or in the exception. + + + + + Predefined values used for matching the input value. + + + + + List of values that are not permitted as input value. + + + + + Collection of intervals. The input value must belong to one of these intervals. + + + + + Used by PreValidation.Inherit property. + + + + + Indicates that none of the properties are inherited from the control. + + + + + Indicates that the value of the CaseSensitive property is inherited from the control. + + + + + Indicates that the value of the ErrorMessage property is inherited from the control. + + + + + Indicates that the value of the TrimStart property is inherited from the control. + + + + + Indicates that the value of the TrimEnd property is inherited from the control. + + + + + Indicates that all properties are inherited from the control. + + + + + Used by PreValidation.Validation property. + + + + + The PatternString property contains a list of possible values separated by the ItemSeparator. + + + + + Using the PreValidating event. + + + + + The PatternString property contains a list of wildcard patterns separated by the ItemSeparator. + + + + + The PatternString property contains a regular expression. + + + + + Used by PreValidation.RegexOptions property. + + + + + Specifies that no options are set. + + + + + Enables ECMAScript-compliant behavior for the expression. This flag can be used only + in conjunction with the IgnoreCase, Multiline, and Compiled flags. + + + + + Specifies that the only valid captures are explicitly named or numbered groups of the form. + + + + + Eliminates unescaped white space from the pattern and enables comments marked with #. + + + + + Multiline mode. Changes the meaning of ^ and $ so they match at the beginning and end, + respectively, of any line, and not just the beginning and end of the entire string. + + + + + Specifies that the search will be from right to left instead of from left to right. + + + + + Specifies single-line mode. Changes the meaning of the dot (.) so it matches every character (instead of every character except \n). + + + + + Represents the method that handles PreValidating or PreValidated events. + + The source of the event. + A PreValidationEventArgs object that contains the event data. + + + + Provides data for PreValidating or PreValidated events. + + + + + The text to validate. + + + + + PreValidation object that fired the event. + + + + + Error information in case of validation failure. Can be set in event code in PreValidating. + + + + + Validation result (assigned in the event code in PreValidating). Default: True. + + + + + Validating the input string entered by the user, before parsing. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + Resets whole PreValidation property of base control + + + + + Returns True if the input text matches one of the exact list items specified in PatternString. + + The input string to match. + Error information filled in case of failure. + + + + + + Returns True if the input text matches the specified wildcard pattern passed as argument. + + The input string to match. + The wildcard pattern. + + + + + + Returns True if the input text matches at least one of the wildcard patterns specified in PatternString. + + The input string to match. + Error information filled in case of failure. + + + + + + Returns True if the input text matches the regular expression pattern specified in PatternString. + + The input string to match. + Error information filled in case of failure. + + + + + + Returns True if the text successfully passes validation using the current settings of the PreValidation object. + + The input string to validate. + Error information filled in case of failure. + + + + + + Validation method. + + + + + Manages inheritance of the PreValidation properties from the host control properties. + + + + + True if string comparisons are case-sensitive; otherwise, False. + + + + + Error message shown in the standard message box and/or in the exception. + + + + + If True, leading spaces are removed before validation. + + + + + If True, trailing spaces are removed before validation. + + + + + String containing the validation pattern. + + + + + String separating list items in PatternString. + + + + + The collection of user-defined characters to use in a wildcard pattern. + + + + + Settings affecting regular expression matching. + + + + + Represents the method that handles DateValueChanged and DateValueSelected events. + + The source of the event. + A NullableDateTimeEventArgs object that contains the event data. + + + + Provides data for DateValueChanged and DateValueSelected events. + + + + + The date value. + + + + + Set to True if the date value is null. + + + + + Determines when drop down form will be created. + + + + + At the host control creation time. + + + + + On first call of the drop down form. + + + + + Defines the LengthUnit enumeration. + + + + + Indicates the calculational unit is a .Net character when calculating the length of the string. + + + + + Indicates the calculational unit is a byte when calculating the length of the string. + + + + + Determines the visual style of a control. + + + + + Custom style. + + + + + Standard system style. + + + + + MS Office 2007 Blue color scheme. + + + + + MS Office 2007 Black color scheme. + + + + + MS Office 2007 Silver color scheme. + + + + + MS Office 2010 Blue color scheme. + + + + + MS Office 2010 Black color scheme. + + + + + MS Office 2010 Silver color scheme. + + + + + Used by FormatType property. + + + + + Conversion using TypeConverter.ConvertToString(). + + + + + Conversion performed by user code in the Formatting (or Parsing) event. + + + + + Formatting uses the string assigned to the CustomFormat property. + Parsing uses NumberStyle, DateTimeStyle, and CustomFormat properties. + + + + + The number is converted to the most compact decimal form, using fixed point or scientific notation. + + + + + The number is converted to a string that represents a currency amount. + + + + + The number is converted to a string of the form “-ddd.ddd…” where each 'd' indicates a digit (0-9). + + + + + The number is converted to a string of the form "-d,ddd,ddd.ddd…", where each 'd' indicates a digit (0-9). + + + + + The number is converted to a string that represents a percent as defined by the NumberFormatInfo.PercentNegativePattern property + or the NumberFormatInfo.PercentPositivePattern property. + + + + + The number is converted to a string of the form "-d.ddd…E+ddd" or "-d.ddd…e+ddd", where each 'd' indicates a digit (0-9). + + + + + The round-trip specifier guarantees that a numeric value converted to a string will be parsed back + into the same numeric value. This format is supported by floating-point types only. + + + + + Displays number as a string that contains the value of the number in Decimal (base 10) format. This format is supported for integral types only. + + + + + The number is converted to a string of hexadecimal digits. This format is supported for integral types only. + + + + + Converts to Boolean and shows No for false, Yes for true. + + + + + Converts to Boolean and shows True or False. + + + + + Converts to Boolean and shows Off for false, On for true. + + + + + General date/time pattern (short time). + + + + + Displays a date according to specified CultureInfo's long date format. + + + + + Displays a date using the medium date format ("dd-MMM-yy"). + + + + + Displays a date using specified CultureInfo's short date format. + + + + + Displays a time using your locale's long time format; includes hours, minutes, seconds. + + + + + Displays time in 12-hour format using hours and minutes and the AM/PM designator ("hh:mm tt"). + + + + + Displays a time using the 24-hour format, for example, 17:45. + + + + + Displays the long date and short time according to specified CultureInfo's format. + + + + + Displays the long date and long time according to specified CultureInfo's format. + + + + + Displays the short date and short time according to specified CultureInfo's format. + + + + + Displays the short date and long time according to specified CultureInfo's format. + + + + + Displays the month and the day of a date. + + + + + Formats the date and time as Greenwich Mean Time (GMT). + + + + + Formats the date and time as a sortable index. + + + + + Formats the date and time as a GMT sortable index. + + + + + Formats the date and time with the long date and long time as GMT. + + + + + Formats the date as the year and month. + + + + + This enum is for internal use only + + + + + Any type of data. + + + + + Only number data type. + + + + + Only DateTime data type. + + + + + Used by DropDownForm.DropDownAlign and C1DropDownControl.DropDownFormAlign properties. + + + + + In a C1DropDownControl, the alignment of the dropdown form is determined by the + DropDownAlign property of the drop down form. + + + + + Left alignment. + + + + + Center alignment. + + + + + Right alignment. + + + + + Used by C1TextBox.VerticalAlign property. + + + + + Text is aligned with the top of the enclosing control. + + + + + Text is aligned with the center of the enclosing control. + + + + + Text is aligned with the bottom of the enclosing control. + + + + + Used by C1Label.DaylightTimeAdjustment and C1TextBox.DaylightTimeAdjustment properties. + + + + + No daylight-saving time adjustments. + + + + + Use this option if the GMTOffset property corresponds to the standard time offset. + For the daylight-saving time GMTOffset should be advanced by an hour. + + + + + Use this option if the GMTOffset property is set to the daylight time offset. + So, for the standard time it should be set back by an hour. + + + + + Used by C1TextBox.InitialSelection property. + + + + + The whole text is selected. + + + + + Nothing selected, the caret is moved at the beginning of the text. + + + + + Nothing selected, the caret is moved at the end of the text. + + + + + Used by C1TextBox.ValueChangedBehavior. + + + + + The ValueChanged event is fired only when the Value property changes. + + + + + The ValueChanged event is fired on any text change. + + + + + Specifies the action for the left or right arrow key. + + + The left or right key causes focus to be lost when the caret is at the left-most or right-most position. + + + + + Specifies no action. + + + + + Specifies to move to the previous control when pressing left or Ctrl+left keys on the first character of the control. + + + + + Specifies to move to the next control when pressing right or Ctrl+right keys on the last character of the control. + + + + + Specifies to move to the previous or next control when pressing the left or right or Ctrl+left or Ctrl+right keys on the first or last character of the control. + + + + + Represents the method that handles a CultureInfoSetup event. + + The source of the event. + A CultureInfoSetupEventArgs object that contains the event data. + + + + Provides data for a CultureInfoSetup event. + + + + + Regional settings. + + + + + Represents the four margins around a control’s content. + + + + + Initializes a new instance of the Margins class. + + + + + Initializes a new instance of the Margins class. + + + + + + + + + + + + + Creates an identical copy of the current Margins. + + + + + + + Overloaded. Determines whether two Object instances are equal. + + + + + + + + + Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + Converts this Margins to a human readable string. + + + + + + + Overloaded. Sets the margin values. + + + + + + + + + + + + + Overloaded. Sets the margin values. + + + + + + + Sets all margins to zero. + + + + + Returns true if at least one margin differs from the default zero value. Otherwise, returns false. + + + + + + + Gets or sets the left margin, in pixels. + + + + + Gets or sets the right margin, in pixels. + + + + + Gets or sets the top margin, in pixels. + + + + + Gets or sets the bottom margin, in pixels. + + + + + Custom user-defined characters (placeholders) used in edit mask and in wildcard patterns in pre-validation + + + + + Initializes a new instance of the CustomPlaceholder class. + + + + + Initializes a new instance of the CustomPlaceholder class. + + The value of the Placeholder property. + The value of the Optional property. + The value of the LookupChars property. + The value of the CaseSensitive property. + The value of the Excluding property. + + + + Initializes a new instance of the CustomPlaceholder class. + + The value of the Placeholder property. + The value of the Optional property. + The value of the LookupChars property. + The value of the CaseSensitive property. + The value of the Excluding property. + + + + Initializes a new instance of the CustomPlaceholder class. + + + + + + + + + The special character used as a user-defined placeholder. + + + + + True if character is optional and can be omitted. + + + + + The list (string) of characters matching the placeholder (see also Excluding). + + + + + True if string comparison is case-sensitive; otherwise, False. + + + + + Specifies whether the LookupChars are interpreted as allowed or disallowed characters. + + + + + A collection of CustomPlaceholder objects. + + + + + Adds the special characters of an ICollection to the end of the PlaceholderCollection. + + The ICollection whose elements should be added. + + + + Checks validity of the placeholder + + + + + + + Adds a new special character to the collection. + + The CustomPlaceholder to add. + + + + Inserts a new special character to the collection at the specified position. + + The zero-based index at which CustomPlaceholder should be inserted. + The CustomPlaceholder to insert. + + + + This method is for internal use only. + + + + + + + + + Determines whether a character is in the placeholder collection. + + The character argument. + + + + + + Returns the index of a character in the placeholder collection, or –1 if it does not belong to the collection. + + The character argument. + + + + + + Removes a specific character from the collection. + + The character to remove from the collection. + + + + Copies elements of the collection to an array starting at a particular array index. + + The one-array that is the destination of the elements copied from the collection. + The zero-based index in array at which copying begins. + + + + Returns the CustomPlaceholder object corresponding to the character argument, or null if it does not belong to the collection. + + The character argument. + + + + + + This method is for internal use only. + + + + + + + Occurs when PlaceholderCollection is changed + + + + + Gets or sets the the special character at the specified index. + + The zero-based index of the element to get or set. + + + + + + Represnts a Field class to define a base field. + + + This class will implement view function for single segment. And some input behavior will exposed to user, too. + This is final interface for our user. + When a field is created, it will create a segment and value module for it. Then configuration will be done on the + segment and the value module. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the name of the object. + + + A value indicating the name of the object. +
The default is . +
+
+ + + Read-only data bound control displaying formatted data. C1Label supports all formatting features of the C1TextBox control. + + + + + Initializes a new instance of the C1Label class. + + + + + Releases the resources used by the C1Label. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Raises the event. + + An that contains the event data. + + Raising an event invokes the event handler through a delegate. + The OnBorderColorChanged method also allows derived classes to handle the event without attaching a delegate. + This is the preferred technique for handling the event in a derived class. + + Notes to Inheritors. When overriding OnBorderColorChanged in a derived class, + be sure to call the base class's OnBorderColorChanged method so that registered delegates receive the event. + + + + + + Invokes the event. + + An that contains the event data. + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + Invokes the event. + + An that contains the event data. + + + + Invokes the event. + + An that contains the event data. + + + + Invokes the event. + + An that contains the event data. + + + + Invokes the event. + + An that contains the event data. + + + + Invokes the event. + + An that contains the event data. + + + + Invokes the event. + + An that contains the event data. + + + + Retrieves the size of a rectangular area into which a control can be fitted. + + The custom-sized area for a control. + An ordered pair of type representing the width and height of a rectangle. + + + + Gets or sets the visual style of the control. + + + + + Gets or sets the border color of the control. + + + Use the BorderColor property to specify the border color of the control. + This property is set using a object. + The BorderColor property has an effect only when the property is set to FixedSingle. + + + + + Indicates whether to honor the ColumnStyle properties defined on the + C1ViewColumn object that this control is bound to. + + + + + The culture ID. + + + + + The name selected for the Culture property in the Properties grid. + + + + + If True, current user regional settings override the selected culture. + + + + + The current CultureInfo object (available at runtime). + + + + + Format used to display the value. + + + + + Edit mask settings. + + + + + True if string comparisons are case-sensitive; otherwise, False. + + + + + Enumeration value determining the formatting metod, including standard .NET format specifiers, custom and programmatic formatting. + + + + + Custom format specifier used if FormatType = FormatTypeEnum.CustomFormat. + + + + + String representing a DbNull value. + + + + + If True, empty strings are interpreted as null values (DbNull). + + + + + If True, leading spaces are removed. + + + + + If True, trailing spaces are removed. + + + + + If True, the control’s stored Value is in current time zone; otherwise, the Value is adjusted to the time zone defined by the GMTOffset property. + + + + + The time zone of the Value property used if CurrentTimeZone = False. + + + + + The value specified in the GMTOffset property can be advanced or set back due to daylight-saving time changes (used only if CurrentTimeZone = False). + + + + + Gets or sets the object that contains data about the control. + + + + + Gets or sets an ErrorProvider object used to indicate error state of the control. + + + + + The current text in the control. + + + + + Specifies whether the Value and Text properties can be set independently. + + + + + The data source object to which the control is bound. + + + + + The field of the data source object to which the control is bound. + + + + + Type of the Value property. + + + + + Gets or sets a value indicating whether the Value is DbNull. + + + + + The main bindable property of a C1Input control. + + + + + Gets or sets the padding within the control. + + + + + Occurs when the BorderColor property has changed. + + + + + Occurs when the VisualStyle property has changed. + + + + + CultureInfo can be set up (on startup) or has been changed. + + + + + Error occured while formatting the stored value. + + + + + Formatting the value programmatically. + + + + + Occurs after the value has been formatted. + + + + + Occurs when the DataType property changes. + + + + + Occurs when the Value changes. + + + + + Occurs when Value is retrieved from the data source. + + + + + Default path for the control in xml theme file. + + + + + Represents a Windows button control supporting additional visual styles. + + + + + Initializes a new instance of the C1Button class. + + + + + Releases the resources used by the C1Button. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Retrieves the size of a rectangular area into which a control can be fitted. + + The custom-sized area for a control. + An ordered pair of type representing the width and height of a rectangle. + + + + Resets to the default value. + + + + + Tests whether should be serialized. + + True if should be serialized, false otherwise. + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if VisualStyleBaseStyle should be serialized, false otherwise. + + + + Default Theme root path. + + + + + Gets or sets the visual style of the control. + + + + + Occurs when the VisualStyle property has changed. + + + + + The calculator used as a dropdown in the C1NumericEdit control. + + + + + Initializes a new instance of the NumericEditCalculator class. + + + + + Releases the resources used by the NumericEditCalculator. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Resets to the default value. + + + + + Tests whether should be serialized. + + True if should be serialized, false otherwise. + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method called when theme is changed. + + New theme. + Base visual style. + + + + Gets or sets the visual style of the control. + + + + + Occurs when the VisualStyle property has changed. + + + + + Determines the style of the dropdown calculator buttons. + + + + + // patch: localization: added after StringTables.cs was created + + + + + Custom format specifier used to format the stored value of the dropdown calculator. + + + + + Gets or sets whether StoredFormat should be applied to the value entered in the dropdown calculator. + + + + + This property is for internal use only. + + + + + The collection of user interface strings. + + + + + Gets or sets the shortcut menu associated with the control. + + + + + Gets or sets whether Static Memory context menu should appear for the dropdown calculator. + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + Displays and edits numeric values. Includes a dropdown calculator for easy input of numeric values. + + + + + Initializes a new instance of the C1NumericEdit class. + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + + + + + + Performs spin up. + + + property is used to define the increment. + This method has the same behavior with the Up key pressed. + + + + + + Performs spin up. + + + The value that indicates the increment when spin up. + + + This method has the same behavior with the Up key pressed. + + + + + + Performs spin down. + + + property is used to define the decrement. + This method has the same behavior with the Down key pressed. + + + + + + Performs spin down. + + + The value that indicates the decrement when spin down. + + + This method has the same behavior with the Down key pressed. + + + + + + This method is for internal use only. + + + + + + + Shows the dropdown. + + + + + This method is for internal use only. + + + + + + + This property is for internal use only. + + + + + This property is for internal use only. + + + + + Type of the Value property. + + + + + Enumeration value determining the formatting metod, including standard .NET format specifiers, custom and programmatic formatting. + + + + + Indicates the amount to increment/decrement when the user clicks up/down buttons. + + + + + The dropdown calculator object. + + + + + This property is for internal use only. + + + + + Default path for the control in xml theme file. + + + + + Represents the class of dropdown calculator form. + + + + + Initializes a new instance of the DropDownCalculator class. + + + + + Releases the resources used by the DropDownCalculator. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + The calculator used in a DropDownCalculator form. + + + + + In addition to the standard PictureBox functionality, C1PictureBox supports data binding to data source fields containing image data. + + + + + Initializes a new instance of the C1PictureBox class. + + + + + Releases the resources used by the C1PictureBox. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Returns the contents of an image. + + Image to return as a byte array. + Format in which to return the image contents. + + + + + + Converts a byte array to an image. + + The contents of an image. + + + + + + Copies the image currently in the control to the clipboard. + + + + + If the clipboard contains an image, this method replaces the contents of the Image property of the control + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + The data source object to which the control is bound. + + + + + The field of the data source object to which the control is bound. + + + + + Gets or sets whether the image should be put into the data source right after the Image property has been changed or it shouldn't be put there until the following call of the CurrencyManager.EndCurrentEdit() method. + + + + + The image displayed in the control. + + + + + Gets or sets the value indicating whether the picture box receives focus when clicked. + + + + + Occurs when Image is retrieved from the data source. + + + + + Occurs when Image is stored in the data source. + + + + + Occurs when the Image changes. + + + + + Represents a Windows range slider control supporting additional visual styles. + + + + + Initializes a new instance of the C1RangeSlider class. + + + + + Releases the resources used by the C1RangeSlider. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if Styles should be serialized, false otherwise. + + + + Resets to the default value. + + + + + Tests whether should be serialized. + + True if should be serialized, false otherwise. + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if VisualStyleBaseStyle should be serialized, false otherwise. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Gets or sets the current lower magnitude of the range control. + + + + + Gets or sets the current upper magnitude of the range control. + + + + + Gets or sets the minimum possible value of the range element. + + + + + Gets or sets the maximum possible value of the range element. + + + + + Gets or sets a value that indicates whether C1RangeSlider bar should be displayed. + + + + + Gets or sets a value indicating the horizontal or vertical orientation of the C1RangeSlider. + + + + + Gets or sets the direction of increasing value. + + + + + Gets or sets custom thumb path for lower value. + + + + + Gets or sets custom thumb path for upper value. + + + + + Gets or sets a value indicating whether the control can respond to user interaction. + + + + + Gets or sets a collection of named Style objects. + + + + + Gets or sets the visual style of the control. + + + + + Occurs when the VisualStyle property has changed. + + + + + Fires when the property changes. + + + + + Fires when the property changes. + + + + + Fires when any of the properties: LowerValue or UpperValue changes. + + + + + Fires when the property changes. + + + + + Fires when the property changes. + + + + + Default Theme root path. + + + + + Represents a collection of named Style objects. + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if BarStyle should be serialized, false otherwise. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if ThumbStyle should be serialized, false otherwise. + + + + Gets or sets a collection of named Style objects for bar. + + + + + Gets or sets a collection of named Style objects for thumb. + + + + + Represents a collection of named Style objects for bar. + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if BackSolor should be serialized, false otherwise. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if BorderColor should be serialized, false otherwise. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if DisabledBackColor should be serialized, false otherwise. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if DisabledBorderColor should be serialized, false otherwise. + + + + Gets or sets background color of bar. + + + + + Gets or sets border color of bar. + + + + + Gets or sets background color of bar if control is disabled. + + + + + Gets or sets border color of bar if control is disabled. + + + + + Represents a collection of named Style objects for thumb. + + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if BackColor should be serialized, false otherwise. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if BorderColor should be serialized, false otherwise. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if HotBackColor should be serialized, false otherwise. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if HotBorderColor should be serialized, false otherwise. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if PressedBackColor should be serialized, false otherwise. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if PressedBorderColor should be serialized, false otherwise. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if DisabledBackColor should be serialized, false otherwise. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if DisabledBorderColor should be serialized, false otherwise. + + + + This method is for internal use only. + + + + + This method is for internal use only. + + True if CornerRadius should be serialized, false otherwise. + + + + Gets or sets background color of thumb. + + + + + Gets or sets border color of thumb. + + + + + Gets or sets background color of thumb if mouse is over it. + + + + + Gets or sets border color of thumb if mouse is over it. + + + + + Gets or sets background color of thumb when user performs mouse click on it. + + + + + Gets or sets border color of thumb when user performs mouse click on it. + + + + + Gets or sets background color of thumb if control is disabled. + + + + + Gets or sets border color of thumb if control is disabled. + + + + + Gets or sets corner radius of thumb. + + + + + In addition to the standard CheckBox functionality, + C1CheckBox supports data binding to data source fields of Boolean, String, or Integer types. + C1CheckBox has BorderStyle and BorderColor properties. + C1CheckBox supports visual styles. + + + + + Initializes a new instance of the C1CheckBox class. + + + + + Releases the resources used by the C1CheckBox. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Invokes the ValueChanged event. + + The event arguments. + + + + Invokes the CheckStateChanged event. + + The event arguments. + + + + Invokes the VisualStyleChanged event. + + The event arguments. + + + + Retrieves the size of a rectangular area into which a control can be fitted. + + The custom-sized area for a control. + An ordered pair of type representing the width and height of a rectangle. + + + + The data source object to which the control is bound. + + + + + The field of the data source object to which the control is bound. + + + + + Type of the Value property. + + + + + Gets or sets whether the text box should be disabled when it is bound to an empty data source, i.e. CurrencyManager.Count = 0. + + + + + The main bindable property of a C1Input control. + + + + + Occurs when the Value property has changed. + + + + + Translates between string values and check box states. + + + + + Gets or sets the visual style of the control. + + + + + Occurs when the VisualStyle property has changed. + + + + + Gets or sets the border style of the C1CheckBox control. + + + + + Gets or sets the border color of the control. + + + Use the BorderColor property to specify the border color of the control. + This property is set using a object. + + + + + Default C1CheckBox path in Theme xml file. + + + + + Default C1Button path in Theme xml file. + + + + + Translates between string values and check box states. + + + + + Value for Checked state. + + + + + Value for Unchecked state. + + + + + Value for Indeterminate state. + + + + + Determines if DbNull is used for indeterminate state of check box. + + + + + The class contains static properties used for localization. + + + + + The object used for lookup resources. + + Set this property to the valid value if + you define resources in a Custom Control assembly. + + + + Returns default object used as fallback culture. + + + + + Represents a composite button control supporting additional visual styles and drop down item list. + + + + + Initializes a new instance of the C1SplitButton class. + + + + + Releases the resources used by the C1SplitButton. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Raises event. + + A that contains the event data. + + + + This method is for internal use only. + + + + + + + This method is for internal use only. + + + + + + + Retrieves the size of a rectangular area into which a control can be fitted. + + The custom-sized area for a control. + An ordered pair of type representing the width and height of a rectangle. + + + + Gets the collection of components on this button. + + + + + The ImageList to get the images to display in the drop down items. + + + + + Gets or sets the default drop down item. + + + + + Occurs when a is clicked. + + + + + Occurs when the dropdown has been closed. + + + + + Occurs after the dropdown is opened. + + + + + Run-time read-only property indicating if the dropdown is currently open. + + + + + Default path for the control in xml theme file. + + + + + Represents collection of drop down items. + + + + + Adds the specified item to the end of the collection. + + The to be added to the end of the collection. + The zero-based index value of the added to the collection. + + + + Returns the zero-based index of the first occurrence of a value in the list. + + The item to locate in the list. + The zero-based index of the first occurrence of value within the entire list, if found; otherwise, -1. + + + + Inserts the specified item into the collection at the specified location. + + The indexed location within the collection to insert the item. + The item to insert. + + + + Removes the specified item from the collection. + + The item to remove from the collection. + + + + Indicates whether the collection contains a specific . + + The object for which to search. + Whether the collection contains the specific object. + + + + Performs additional custom processes after inserting an + into the instance. + + + + + Performs additional custom processes after removing an + from the instance. + + + + + Performs additional custom processes after setting an + in the instance. + + + + + Performs additional custom processes when clearing the contents of + the instance. + + + + + Performs additional custom processes after clearing the contents of + the instance. + + + + + Gets or sets the item at the specified indexed location in the collection. + + The indexed location of the item in the collection. + An that represents the item at the specified indexed location. + + + + Represents drop down item for control. + + + + + Creates an instance of DropDownItem class. + + + + + Releases the resources used by the DropDownItem. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Raises the event. + + A that contains the event data. + + + + Raises the event. + + + + + Raises the event. + + + + + Raises the event. + + + that contains the event data. + + + + Raises the event. + + + that contains the event data. + + + + Raises the event. + + + that contains the event data. + + + + Raises the event. + + + + + Raises the event. + + + + + Raises the event. + + + + + Gets the that this belongs to. + + + + + Gets the collection of child items in that is associated with this DropDownItem. + + + + + Gets or sets a value that indicates whether the item should toggle its pressed state when it is clicked. + + + + + Gets or sets the text associated with the component. + + + + + Gets or sets a value that indicates whether the item is checked. + + + + + Gets or sets the dialog-box result produced in a modal form by clicking the button. + + + + + Gets or sets the image associated with the . + + + + + Gets or sets the index of the image in the ImageList. + + + + + Gets or sets the image key in the ImageList. + + + + + Gets or sets the size of the image that will be displayed on the button. + + + + + Gets or sets the alignment of the image within the bounds specified by the property. + + + The value of this property is only used if = Clip and + exceeds the original size of the image. + + + + + Gets or sets how the image will be scaled to fit within the bounds specified by the property. + + + + + Gets or sets a value indicating whether the item can respond to user interaction. + + + + + Gets or sets a value indicating whether the item is visible. + + + + + Gets or sets the object that contains data about the item. + + + + + Gets a value indicating whether the component has been disposed. + + + + + Fires when the drop-down portion of this element is shown. + + + + + Indicates that the drop-down portion of this element has closed. + + + + + Fires when the component is clicked. + + + + + Fires when a key is pressed while the component has focus. + + + + + Fires when a key is pressed while the component has focus. + + + + + Fires when a key is released while the component has focus. + + + + + Fires when the component receives the focus. + + + + + Fires when the component loses the focus. + + + + + Fires when the component is double-clicked. + + + + + Specifies whether the layout should break the flow after the component. + + + + + The layout should not break the flow after the component. + + + + + Causes next component to be placed in a new row within the flow. + + + + + Creates a new column after this component. + + + + + Creates a new row starting below the current component, at the left edge of the current group. + + + + + Defines values for the content alignment within the . + + + + + Default value. + + + + + Near. + + + + + Far. + + + + + Center. + + + + + Spread. + + + + + Determines whether the user can edit a value in the text portion of the . + + + + + The text portion is editable. + + + + + The user cannot directly edit the text portion. + + + + + Defines values for the content alignment within the . + + + + + Default value. + + + + + Near. + + + + + Far. + + + + + Center. + + + + + Spread. + + + + + Specifies the image alignment on the input components. + + + + + Image is vertically aligned at the top, + and horizontally aligned on the left. + + + + + Image is vertically aligned at the top, + and horizontally aligned at the center. + + + + + Image is vertically aligned at the top, + and horizontally aligned on the right. + + + + + Image is vertically aligned in the middle, + and horizontally aligned on the left. + + + + + Image is vertically aligned in the middle, + and horizontally aligned at the center. + + + + + Image is vertically aligned in the middle, + and horizontally aligned on the right. + + + + + Image is vertically aligned at the bottom, + and horizontally aligned on the left. + + + + + Image is vertically aligned at the bottom, + and horizontally aligned at the center. + + + + + Image is vertically aligned at the bottom, + and horizontally aligned on the right. + + + + + Specifies the layout logic used to display the background image in a rich tooltip. + + + + + The image is left-aligned at the top across the control's client rectangle. + + + + + The image is tiled across the control's client rectangle. + + + + + The image is centered within the control's client rectangle. + + + + + The image is stretched across the control's client rectangle. + + + + + The image is enlarged within the control's client rectangle. + + + + + The image is split into nine pieces and tiled within the control's client rectangle. + Center tiles are stretched, corner tiles are rendered with the original size. + + + + + Specifies the image scaling on the input components. + + + + + Use the image's original size, clipping it to the display area if necessary. + + + + + Stretch the image to fill the display area. + This mode will usually change the image's aspect ratio. + + + + + Scale the image to fit the display area. + This mode may increase or reduce the size of the image while maintaining its aspect ratio. + + + + + Tile the image to fill the display area. + + + + + Tile the image into the 3x3 matrix and stretch it to fill the display area. + + + + + Tile the image into the row of 3 images and stretch it to fill the display area. + + + + + Tile the image into the column of 3 images and stretch it to fill the display area. + + + + + A list of all available navigator buttons. + + + + + The 'Move First' button. + + + + + The 'Move Previous' button. + + + + + The 'Move Next' button. + + + + + The 'Move Last' button. + + + + + The 'Add New' button. + + + + + The 'Delete' button. + + + + + The 'Edit' button. + + + + + The 'Apply' button. + + + + + The 'Cancel' button. + + + + + The 'Save Data' button. + + + + + The 'Reload Data' button + + + + + A set of navigator items. + + + + + No items are in the set. + + + + + The 'Move First' button. + + + + + The 'Move Previous' button. + + + + + The input box that changes the current position. + + + + + The text label that displays the total number of items. + + + + + The 'Move Next' button. + + + + + The 'Move Last' button. + + + + + The 'Add New' button. + + + + + The 'Delete' button. + + + + + The 'Apply' button. + + + + + The 'Cancel' button. + + + + + Includes all available items. + + + + + Specifies the display state of a component. + + + + + Display the component. + + + + + Do not display the element, but reserve space for the element in layout. + + + + + Do not display the element, and do not reserve space for it in layout. + + + + + Represents the method that will handle the event of the class. + + + + + + + + + Provides data for event. + + + + + Initializes a new instance of the DropDownItemClickedEventArgs class for the specified control. + + The to store in this event. + + + + Returns the clicked item. + + + + + Calendar used with C1DateEdit. + + + + + Represents default calendar. + + + + + Represents Chinese Lunisolar Calendar + + + + + Represents East Asian Lunisolar Calendar + + + + + Represents Gregorian Calendar + + + + + Represents Hebrew Calendar + + + + + Represents Hijri Calendar + + + + + Represents Japanese Calendar + + + + + Represents Japanese Lunisolar Calendar + + + + + Represents Julian Calendar + + + + + Represents Korean Calendar + + + + + Represents Korean Lunisolar Calendar + + + + + Represents Taiwan Calendar + + + + + Represents Taiwan Lunisolar Calendar + + + + + Represents Thai Buddhist Calendar + + + + + Represents UmAlQuraCalendar + + + + + Specifies alignment of spin button of a . + + + + + Vertically stacked Up and Down buttons. + + + + + Up button on the left and down button on the right. + + + + + Up button on the right and down button on the left. + + + + + Used by DropDownForm.Options property. + + + + + Indicates that none of the options are set. + + + + + Indicates that DropDownForm can contain focus. + + + + + The end users are not allowed to change the width of the dropdown form resizing it. + + + + + The end users are not allowed to change the height of the dropdown form resizing it. + + + + + If this flag is set, the changes to the control Value can only be cancelled explicitly, with Esc key + or using the CloseDropDown method, and implicit cancellation (when the form is closed because it loses focus) is disabled. + + + + + If this flag is set, pressing the Esc key does not close the form. + + + + + If this flag is set, pressing the Enter key does not close the form. + + + + + If set, the dropdown form width is automatically adjusted to the width of the owner control + before the form is shown. + + + + + = FixedWidth + FixedHeight + + +
+
\ No newline at end of file diff --git a/Logbuch/Logbuch/bin/Debug/C1.Win.C1TrueDBGrid.4.dll b/Logbuch/Logbuch/bin/Debug/C1.Win.C1TrueDBGrid.4.dll new file mode 100644 index 0000000..a1efa3e Binary files /dev/null and b/Logbuch/Logbuch/bin/Debug/C1.Win.C1TrueDBGrid.4.dll differ diff --git a/Logbuch/Logbuch/bin/Debug/C1.Win.C1TrueDBGrid.4.xml b/Logbuch/Logbuch/bin/Debug/C1.Win.C1TrueDBGrid.4.xml new file mode 100644 index 0000000..a591d57 --- /dev/null +++ b/Logbuch/Logbuch/bin/Debug/C1.Win.C1TrueDBGrid.4.xml @@ -0,0 +1,10561 @@ + + + + C1.Win.C1TrueDBGrid.4 + + + + + + + + + Gets the data source. + + + + + + + Gets the data view. + + + + + + + + + + + Sets the bound control. + + The bound control. + The name. + + + + Gets the size of the virtual segment. + + + + + + + Sets the visible row count. + + The value. + The name. + + + + Bounds the control scrolled. + + + + + + + + + Gets the first visible row. + + + + + + + Gets the visible row count. + + + + + + + Scrolls to row. + + The first visible row. + The row count. + + + + + + + + Requests the modification. + + + + + + + + + Sets the row filter. + + The value. + + + + Sets the sort. + + The value. + + + + Refreshes this instance. + + + + + Interfaces used by bound controls and other C1Data consumers: + Dynamic, late bound access to the interfaces, via reflection + + + + + Gets the data source. + + The obj. + + + + + + + + + + News the late binding I c1 complex bound control. + + The obj. + + + + + + + + + + Gets the data view. + + The obj. + + + + + + Holds a Graphics object together with (printer) device or bitmap that was used + to create it, if any. The point is to dispose the device or bitmap together + with the graphics when it is no longer needed (i.e. to avoid resource leaks). + + + + + An empty graphics holder instance. + + + + + Creates a graphics holder from a device context. + When the holder is disposed, both graphics and the device context are released (DeleteDC is called on the device context). + + The device context from which graphics is created. + The new instance of the graphics holder. + + + + Creates a graphics holder from a graphics instance. + When the holder is disposed, the graphics is left alone (i.e. NOT disposed). + + The graphics to store in the new holder. + The new instance of the graphics holder. + + + + Creates a graphics holder from screen. If that fails (e.g. on Azure), the graphics is created from a bitmap. + When the holder is disposed, both graphics and the bitmap are released. + + The new instance of the graphics holder. + + + + Creates a graphics holder from a bitmap. The graphics and the bitmap are released when the holder is disposed. + This should never fail. + + The new instance of the graphics holder. + + + + Disposes the current graphics holder. + + + + + Gets the graphics object held by the current instance. + + + + + Gets the horizontal resolution of graphics held by the current instance. + + + + + Gets the vertical resolution of graphics held by the current instance. + + + + + Represents an exception that occurred during C1DX or C1MDX serialization/deserialization + if the underlying zip stream has invalid format. + + + + + Abstract base class for and + classes. + + + + + Gets the list of strings describing the actions that lead to the exception that occurred + during serialization or deserialization. + + + + + Represents an exception that occurred during serialization. + + + + + Represents an exception that occurred during deserialization. + + + + + Gets the line number associated with the exception. + + + + + Gets the position in line associated with the exception. + + + + + Represents range of character codes. + + + + + Initialization of the range of character codes + + Adding character. + + + + Initialization of the range of character codes + + The first character code. + The last character code. + + + + + + + + + + + + + + + + + The begin code of character. + + + The end code of character. + + + + Represents collection of unique objects. + All CodeRange objects within collection not intersect and sorted + by First field. + + + + + Adds object to current without any check, typically used during deserialization. + + + to add. + + + + Gets the array of chars contained in this list of code ranges. + + Array of char + + + + Gets a value indicating whether the collection + contains all characters from 0x0000 to 0xFFFF. + + + + + + + Static class containing UI strings used by the designer. + + + + + Represents a handler for an item related event. + + + + + Provides data for an item related event. + + + + + Gets key of the item being added or changed. + + The key. + + + + Gets the string value. + + The value. + + + + Gets a value indicating whether this instance is default. + + + true if this instance is default; otherwise, false. + + + + + Gets the description. + + The description. + + + + Represents a collection of end user visible UI strings. + + + + + Adds a string to the collection, specifying the ordinal. + + The key of the string. + The ordinal of the string. + The string. + The description of the string. + + + + Adds a string to the collection in alphabetical order. + + The key of the string. + The string. + The description of the string. + + + + Adds a string to the collection, preserving the order. + + The key of the string. + The string. + The description of the string. + + + + Sets all strings in collection to their default values. + + + + + Indicates whether any of the strings in the current collection + have non-default values. + + + true if any of the strings have non-default values, false otherwise. + + + + Tests whether a string in the collection has default value. + + The key of the string to test. + + true if the string has default value, false otherwise. + + + + Returns the description of a string. + + The key of the string to get the description of. + The string's description + + + + Resets a string to its default value. + + The key of the string to reset. + + + + Returns the key of an item with the specified index. + + The item index. + The item's key. + + + + Gets the string by its index. + + The string index. + The string. + + + + Sets the value of a string with the specified index. + + The string index. + The new string value. + + + + Fires the event. + + The event data. + + + + Fires the event. + + The event data. + + + + Fires the event. + + The event data. + + + + Gets the number of elements contained in the collection. + + + + + Occurs when a new item is added to the collection. + + + + + Occurs when an item in the collection is changed. + + + + + Occurs when the collection has been changed. + + + + + Provides type conversion for the type. + + + + + For internal use. + + + + + + + + + + + + + + + For internal use. + + + + + + + + + + + + + For internal use. + + + + + + + + + C1TrueDBGrid control object. + + + + + Summary description for BaseGridFrame. + + + + + For internal use. + + + + + Ctor for the split container class. + + + + + Called when the class is being disposed. + + + True to cleanup. + + + + + Raised when the Binding Context changes. + + + + + + + ISupportInitialize interface. + + + + + ISupportInitialize interface. + + + + + Called after the control has been added to another container. + + + + + Inherited from Control. + + + + + + + Raises the VisibleChanged event when the Visible property value of the control's container changes. + + An that contains the event data. + + + + Initializes root and named styles. + + + + + Inherited from Control. + + + + + + + Inherited from Control. + + + + + + + Inherited from Control. + + + + + + + Inherited from Control. + + + + + + + Inherited from Control. + + + + + + + Inherited from Control. + + + + + + + Inherited from Control. + + + + + + + Inherited from Control. + + + + + + + Inherited from Control. + + + + + + + Inherited from Control. + + + + + + + Inherited from Control. + + + + + + + + + Inherited from Control. + + + + + + + + + Inherited from Control. + + + + + + + Inherited from Control. + + + + + + + Inherited from Control. + + + + + + + Inherited from Control. + + + + + + + Processes Windows messages. + + + + + + + Helper method for serializing images. + + + + + Recomputes the sizes of the splits based on the client size of the control. + + + + + Inherited from Control. + + + + + + + Inherited from Control. + + + + + + + Inherited from Control. + + + + + + + Inherited from Control. + + + + + + + Inherited from Control. + + + + + + + Inherited from Control. + + + + + + + Inherited from Control. + + + + + + + Inherited from Control. + + + + + + + Inherited from Control. + + + + + + + Creates the view. + + + + + + + Creates the view. + + The other. + + + + + + Called when the datasource changes. + + The new datasource. + The new datamember. + True to force a new binding. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Resets to the default value. + + + + + Tests whether should be serialized. + + True if should be serialized, false otherwise. + + + + Raises the event. + + The instance containing the event data. + + + + Raised after the datasource has been updated for a column. + + + + + + + Raised after a row has been deleted. + + + + + + + Raised after a row has been inserted. + + + + + + + Raised after a row has been updated. + + + + + + + Raised before a column has been updated. + + + + + + + Raised before a row is deleted. + + + + + + + Raised before a row is inserted. + + + + + + + Raised before a row is updated. + + + + + + + Raised when a column has been resized. + + + + + + + Raised when a column header has been clicked. + + + + + + + Raised when a column footer has been clicked. + + + + + + + Raised when a cell has to be rendered. + + + + + + + Raised when a cell has to be printed. + + + + + + + Raised when Page header needs to be printed. + + + + + + + Raised when a Page footer needs to be printed. + + + + + + + Raised before a row or column currency is changed. + + + + + + + Raised after a row or column currency has been changed. + + + + + + + Raised before a row is resized. + + + + + + + Raised when the grid scrolls. + + + + + + + Raised when a selection has changed. + + + + + + + Raised when split currency has changed. + + + + + + + Raised when a split has been added. + + + + + + + Raised when a split has been removed. + + + + + + + Raised when the grids cell content has been modified. + + + + + + + Raised to fetch data for an unbound column. + + + + + + + Raised when an unbound column has been updated. + + + + + + + Raised after a column has been edited. + + + + + + + Raised before a column edit. + + + + + + + Raised when a column has been edited. + + + + + + + Raised when the top row has changed. + + + + + + + Raised when the left column has changed. + + + + + + + Raised when a cell value needs custom formatting. + + + + + + + Raised when a button in a cell has been clicked. + + + + + + + Raised when a value in the combobox has been selected. + + + + + + + Raised when a value item is selected that's not in the ValueItems collection. + + + + + + + Raised when a custom style is to be used for rendering a cell. + + + + + + + Raised when a custom style is to be used for renderind a grouped cell. + + + + + + + Raised when a custom style is to be used for a row. + + + + + + + Raised when a new row is added. + + + + + + + Raised when a column is dragged. + + + + + + + Raised when a cell tip is to be displayed. + + + + + + + Raised when the grid is initialized. + + + + + + + Raised when the datasource is changed. + + + + + + + Raised when a band is collasped in a hierarchical grid. + + + + + + + Raised when a band is expanded in a hierarchical grid. + + + + + + + Raised when a grouped column is moved. + + + + + + + Raised when a column header in the grouping area is clicked. + + + + + + + Raised when scroll tips are to be displayed. + + + + + + + Raised when a filter condition has changed. + + + + + + + Raised when a button in the filter bar is clicked. + + + + + + + Raised before a child grid is displayed. + + + + + + + Rasied before a child grid is closed. + + + + + + + Raised when the datasource is sorted by clicking the column header. + + + + + + + Raised when AllowFilter is false. + + + + + + + Raised after the datasource has been filtered. + + + + + + + Raised after the datasource has been sorted. + + + + + + + Raised when the grid encounters an error through the UI. + + + + + + + Raised when custom values are to be used for the group text. + + + + + + + Raised when custom aggregates are used for a grouped grid. + + + + + + + Raised when custom group intervals are used for a grouped grid. + + + + + + + Binds the grid at runtime + + Source of the data + The table to bind to within the object returned by the DataSource property + True to preserve design time layout + /// True to keep previously expanded groups in GroupBy mode. + + + Binds the grid at runtime + + Source of the data + The table to bind to within the object returned by the DataSource property + True to preserve design time layout + + + + Binds the grid at runtime + + Source of the data + The table to bind to within the object returned by the DataSource property + The call to SetDataBinding(object dataSource, string dataMember) assumes false for the holdFields arguments. + + + + Configures the grid for use without a datasource. + + + + + Adds a row to an unbound grid. + + The data used to populate the new row. Column data is delimited by ';' char. + The index of the row that was added. + + + + Adds a row to an unbound grid. + + The data used to populate the new row. + Character used to separate the data fields. + The index of the row that was added. + + + + Adds the number of given rows to an unbound grid. + + The number of rows to add. + The index of the first row that was added. + + + + Deletes the given row from an unbound grid. + + The index of the row to remove. + + + + Deletes a range of rows from an unbound grid. + + The starting index of the row to remove. + The number of rows to remove. + + + + Creates a new System.Data.DataRow with the same schema as the unbound grid. + + + + + + + Gets the default size of the control. + + + + + The default of the control. + + + + + Allows us to set the borderstyle. + + + + + Gets the current position from the currency manager. + + + + + Gets or sets the border for the control. + + + + + Gets or sets a value indicating whether the InactiveStyle is applied to the grid when it loses focus. + + + + + Gets or sets a value indicating the ability of the grid to automatically sort data when a column header is clicked. + + + If True, and if the property is set to GroupBy, the grid will automatically filter column data upon grouping action. + If False, the grid will fire the event. + If the property is set to Group By and the user attempts to drag a column header into the grouping area, the grid will automatically sort the column data. + If False, the event allows the application to sort the data. + + + + + Gets or sets a value indicating the ability of the grid to automatically filter data. + + + If True, and if the Filter Bar is active, the grid will automatically filter data. + If False, the grid will fire the event. + If the property is true and the user attempts to filter column data, the grid will automatically filter the column data according to the value in the Filter Bar. + If False, the event allows the application to filter the data. + + + + + Gets or sets the grid's caption. + + + For a control, this property determines the text displayed in the caption bar at the top of the grid. + Setting the Caption property to an empty string for a control hides its caption bar. + For a object, this property determines the text displayed in the object's heading area. + Setting the Caption property to an empty string for a object clears the text in the column's heading area but does not hide the heading. Column captions are only displayed if the grid's property is set to True. + Setting the Caption property to an empty string for a object hides the heading area, even if other splits have non-empty captions. + + + + + Gets or sets the height of the grid's caption. + + This property requires that the property of the grid has a value. + + + + Gets or sets the height of grid rows. + + + + + Gets or sets the specific data member in a multimember data source that the grid binds to. + + + This property returns or sets the name of the data member used to populate the grid. Typically, a data member represents a database table or query. + A bound can expose multiple sets of data that consumers can bind to. Each set of data is called a data member, and is identified by a unique string. + + + + + Gets or sets the source containing a list of values used to populate the items within the control. + + The DataSource property specifies the list of values used to bind a or control. + + + + Gets or sets a value indicating whether the control should use an off-screen buffer when painting to redue flicker. + + + Setting this value to False may cause the grid to flicker when the control is painting. + You may want to set DoubleBuffer to False to increase performance when deploying applications that run on terminal servers. + + + + + Gets or sets the general appearance of 3D elements for the entire grid. + + + + + Gets the DataRowCollection for an unbound grid. + + + + + Gets or sets a value that controls how the grid scrolls when the scroll thumb is moved. + + + + + + The size of the split divider. + + + + Gets the number of rows in an unbound grid. + + + + + Gets or sets a value indicating whether Style information is applied from the datasource. + + + + + Occurs when visual style property has been changed. + + + + + Gets or sets a value that determines the overall appearance of the control. + + + This property allows you to quickly customize the appearance of the grid so + it matches the appearance of your application. + The settings available include System, various Microsoft Office color + schemes, and Custom, which relies on the controls standard styles and appearance + properties. + + + + + Gets or sets the renderer used to render visual styles. + + The renderer. + + + + Specifies whether text rendering should be compatible with previous releases of WinForms. + + + This property determines whether the control should render text using the + class (compatible with previous versions), or the new class + (available in .NET 2.0 and later). + The class supports complex scripts and Uniscribe APIs, making + it better suited for some international applications. + However, the class seems to render about 25% slower than the + traditional method. + You may want to try both modes and select the one that matches the appearance of other + controls and forms in your application. + + + + + The C1TrueDBGrid control. + + + + + Called when the class is being disposed. + + + True to cleanup. + + + + + Creates a new accessibility object for the control. + + A new for the control. + + + + Creates the view. + + + + + + + Creates the view. + + The other view. + + + + + + + + + + End initialization. + + + + + + + + + + + + + + + + + + + + + + + Gets a top-level object bound to the specified view row. + + Returns null if the specified view row is not a data row. + + + + Shoulds the width of the record selector be serialized. + + + + + + + Should the row divider be serialized. + + + + + + + + + + + + + Adds a row to an unbound grid. + + The data used to populate the new row. Column data is delimited by ';' char. + The index of the row that was added. + + + + Adds a row to an unbound grid. + + The data used to populate the new row. + Character used to separate the data fields. + The index of the row that was added. + + + + Adds the number of given rows to an unbound grid. + + The number of rows to add. + The index of the first row that was added. + + + + Instructs the grid to temporarily ignore IBindingList.ListChange notifications from the data source. + + + + + Resumes IBindingList.ListChange notifications from the data source to the grid. + + + + + Controls the used to change the appearance for cells meeting the specified condition. + + + Combination of one or more enumerations. + + + object that specifies appearance attributes. + + + + + Controls the used to change the appearance of cells according to their contents. + + + Combination of one or more enumerations. + + + object that specifies appearance attributes. + + + A regular expression string. + + + + + Returns the row index of the DataSource for a display row index. + + + The row index of the grid. + + + The underlying row index of the DataSource. + + + + + Removes a cell condition established with a previous call to the method. + + + Combination of one or more enumerations. + + + + + Removes a cell condition established with a previous call to the method. + + + Combination of one or more enumerations. + + + + + Removes a cell condition established with a previous call to the method. + + + Combination of one or more enumerations. + + + A regular expression string. + + + + + Restores the default grid layout. + + + + + Returns the column index for the column containing the specified X coordinate. + + + The horizontal coordinate (X value) in pixels. + + + The index of the column in the collection beneath the specified X coordinate. + + + + + Returns the column index for the column containing the specified point. + + + The point. + + + The index of the column in the collection beneath the specified point. + + [C1Description("Identifies the index of the DisplayColumn under a point")] + + + + Returns the zero-based index of the display row containing the Y specified coordinate. + + + The vertical coordinate (Y value) in pixels. + + + The display row index beneath the specified Y coordinate. + + + + + Returns the Y coordinate of the top of a visible row. + + + The displayed row index. + + + The Y coordinate of the specified display row, based on the client coordinates of the grid. + + + + + Scrolls the grid data area by the specified number of rows and columns. + + + Number of columns to scroll. + + + Number of rows to scroll. + + + + + Returns one of the enumerations, which indicates the kind of grid element beneath the specified coordinate. + + + The Point in client coordinates. + + + The enumerations under the given coordinate. + + + + + Returns one of the constants, which indicates the kind of grid element beneath the specified coordinate. + + + The x-coordinate. + + + The y-coordinate. + + + The enumerations under the given coordinate. + + + + + Reinitializes grid with data from its data source. + + + True to preserves current column layout. False retrieves the schema from the datasource. + + + + + + + + + Returns the of the split containing the specified coordinate. + + + The x-coordinate. + + + The y-coordinate. + + + The beneath the specified coordinate pair. + + + + + Updates any changes on the current row to the data source. + + + + + Moves the current row positions of the grid by the given offset. + + + The number of records to move. A positive value indicates forward movement; a negative value indicates backward movement. + + + + + Moves the current row positions of the grid by the given offset from the given row. + + + The number of records to move. A positive value indicates forward movement; a negative value indicates backward movement. + + + The origin of the relative movement. + + + + + Positions to the last row of the datasource. + + + + + Positions to the first row of the datasource. + + + + + Positions to the next row of the datasource. + + + + + Positions to the previous row of the datasource. + + + + + Deletes the current row. + + + + + Loads a saved layout from the given file. + + + The file containing a saved layout. + + + + + Loads a saved layout from the given stream. + + + The Stream containing a saved layout. + + + + + Saves the grid's layout. + + + File to contain the grid layout. + + + + + Saves the grid's layout. + + + The Stream to contain the grid layout. + + + + + Saves the grid's layout. + + + File to contain the grid layout. + + + Specifies whether default values are serialized. + + + + + Saves the grid's layout. + + + The Stream to contain the grid layout. + + + Specifies whether default values are serialized. + + + + + Returns the cell position for a set of coordinates. + + + The x-coordinate. + + + The y-coordinate. + + + The row under the coordinate pair. + + + The column index under the coordinate pair. + + + A value indicating whether a data cell is beneath the specified coordinate pair. + + + The CellContaining method combines the and methods into one call. If the coordinate pair specified by x and y points to a data cell, this method returns True, and the rowindex and colindex arguments receive zero-based indexes that identify the cell. + This method is useful when working with mouse and drag events when trying to determine where the user clicked or dropped another control in terms of a grid cell. + If the specified coordinate is outside of the grid's data area, this method returns False. Use the method to determine what kind of grid element, if any, is beneath the specified coordinate. + + + + + Invalidates the current row. + + + The RefreshRow method causes a repaint of the entire row in the grid. Normally, the grid repaints automatically as needed. However, if handlers have been written for the event, use this method to force a row to be repainted and hence cause the appropriate events to fire. + + + + + Invalidates the current row. + + + The row to refresh. + + + The RefreshRow method causes a repaint of the entire row in the grid. Normally, the grid repaints automatically as needed. However, if handlers have been written for the event, use this method to force a row to be repainted and hence cause the appropriate events to fire. + + + + + Invalidates the current column. + + + The RefreshCol method causes a repaint of the entire column in the grid. Normally, the grid repaints automatically as needed. However, if handlers have been written for the event, use this method to force a column to be repainted and hence cause the appropriate events to fire. + + + + + Invalidates the specified column. + + + The split column index to repaint. + + + The RefreshCol method causes a repaint of the entire column in the grid. Normally, the grid repaints automatically as needed. However, if handlers have been written for the event, use this method to force a column to be repainted and hence cause the appropriate events to fire. + + + + + Retreives data from the datasource for the current row and refreshes the row. + + + The RefetchRow method repopulates the specified row from a data source. It also repaints the row, firing all events necessary for redisplay. + By default, the grid retrieves data automatically as needed. In some circumstances, the underlying datasource may change without the grid receiving notification that a change has occurred. The RefetchRow method is provided for this purpose. + + + + + Retreives data from the datasource for the specified row and refreshes the row. + + + The row to refetch. + + + The RefetchRow method repopulates the specified row from a data source. It also repaints the row, firing all events necessary for redisplay. + By default, the grid retrieves data automatically as needed. In some circumstances, the underlying datasource may change without the grid receiving notification that a change has occurred. The RefetchRow method is provided for this purpose. + + + + + Expands the given row in GroupBy DataView. + + + The row to expand. + + + Expanding/collapsing a row in a GroupBy grid also expands/collapses the row in a split that shares the same vertical scroll group. + + + + + + + Expands the given row in GroupBy DataView and optionally exapands the subrows. + + The row to expand. + True to expand subrows. + + + + Collapses a grouped row. + + + + + Obtains the band given a column index. + + + + + Obtains the underlying row object for the given band and row. + + + + + Obtains the expanded state of a band for a hierarchical grid. + + + + + Collapses a gvien band in a hierarchical grid. + + + + + Expand the given band in a hierarchical grid. + + + + + Closes the Child Grid. + + + + + Displays the Child grid. + + + + + Exports the grid to an HTML file. + + + + + Exports the grid to a PDF file. + + + + + Exports the grid to an RTF file. + + + + + Exports the grid to a XLS file. + + + + + Exports the grid to a XLS file. + + + + + Opens a dialog in which the user can select the export format. + + + + + Exports the grid based upon the file extension. + + + + + Exports the specified rows from the grid to the specified file as delimited text. + + + + + Exports the specified rows from the grid to the specified file as delimited text. + + + + + Exports the specified rows from the grid to the specified file as delimited text. + + + + + Exports the specified rows from the grid to the specified file as delimited text. + + + + + Exports the specified rows from the grid to the specified file as delimited text. + + + + + Exports the specified rows from the grid to the specified file as delimited text. + + + + + Inserts vertical splits at the given position. + + + + + Removes all vertical splits at the given index. + + + + + + + + + Inserts new horizontal splits at the given position. + + + + + Removes all the horizontal splits at the given index. + + + + + Clears any cached styles and forces the grid to repaint. + + + + + Sets the focus to the given cell. + + The zero based index of the row. + The zero based index of the column. + + + + Extends the last column in each subrow so that all rows have the same width. + + + + + Raises the AfterColUpdate event. + + + + + + + Raises the AfterDelete event. + + + + + + + Raises the AfterInsert event. + + + + + + + Raises the AfterUpdate event. + + + + + + + Raises the BeforeColUpdate event. + + + + + + + Raises the BeforeDelete event. + + + + + + + Raises the BeforeInsert event. + + + + + + + Raises the BeforeUpdate event. + + + + + + + Raises the ColResize event. + + + + + + + Raises the HeadClick event. + + + + + + + Raises the FootClick event. + + + + + + + Raises the OwnerDrawCell event. + + + + + + + Raises the OwnerDrawCellPrint event. + + + + + + + Raises the OwnerDrawPageHeader event. + + + + + + + Raises the OwnerDrawPageFooter event. + + + + + + + Raises the BeforeRowColChange event. + + + + + + + Raises the RowColChange event. + + + + + + + Raises the RowResize event. + + + + + + + Raises the Scroll event. + + + + + + + Raises the SelChange event. + + + + + + + Raises the SplitChange event. + + + + + + + Raises the SplitRemoved event. + + + + + + + Raises the SplitRemoved event. + + + + + + + Raises the Change event. + + + + + + + Raises the UnboundColumnFetch event. + + + + + + + Raises the UnboundColumnUpdated event. + + + + + + + Raises the AfterColEdit event. + + + + + + + Raises the BeforeColEdit event. + + + + + + + Raises the ColEdit event. + + + + + + + Raises the FirstRowChange event. + + + + + + + Raises the LeftColChange event. + + + + + + + Raises the FromatText event. + + + + + + + Raises the ButtonClick event. + + + + + + + Raises the ComboSelect event. + + + + + + + Raises the ValueItemError event. + + + + + + + Raises the FetchCellStyle event. + + + + + + + Raises the FetchGroupCellStyle event. + + + + + + + Raises the FetchRowStyle event. + + + + + + + Raises the OnAddNew event. + + + + + + + Raises the ColMove event. + + + + + + + Raises the FetchCellTips event. + + + + + + + Raises the OnInit event. + + + + + + + Raises the DataSourceChanged event. + + + + + + + Raises the Collapse event. + + + + + + + Raises the Expand event. + + + + + + + Raises the GroupColMove event. + + + + + + + Raises the GroupText event. + + + + + + + Raises the GroupAggregate event. + + + + + + + Raises the GroupHeadClick event. + + + + + + + Raises the GroupInterval event. + + + + + + + Raises the FetchScrollTips event. + + + + + + + Raises the FilterChange event. + + + + + + + Raises the FilterButtonClick event. + + + + + + + Raises the BeforeOpen event. + + + + + + + Raises the BeforeClose event. + + + + + + + Raises the Sort event. + + + + + + + Raises the Filter event. + + + + + + + Raises the AfterFilter event. + + + + + + + Raises the AfterSort event. + + + + + + + Raises the Error event + + + + + + + + + + + + + Gets a top-level object bound to a current data row. + + Returns null if no data row is selected. + + + + Gets or sets the language to use when localizing the column filters. + + + + + Gets the row object associated with the given row. + + + + + Gets or sets the cell value at the given row and column. + + + + + Gets or sets the cell value at the given row and column. + + + + + Gets a value that describes the current AddNew state. + + + + + Gets or sets a value indicating the ability to delete records from the grid. + + + + + Gets or sets a value indicating the ability to add new rows. + + + + + Gets or sets a value indicating whether arrow keys can be used to navigate around the grid. + + + + + Gets or sets a value indicating the ability to move columns in the grid. + + + + + Gets or sets a value indicating the ability to select columns in the grid. + + + + + Gets or sets a value indicating the ability to drag from the grid. + + + + + Gets or sets a value indicating the ability to select rows in the grid. + + + + + Gets or sets a value indicating the ability of a user to modify data. + + + + + Gets or sets a value indicating how the grid updates modifed data when the grid loses focus. + + + + + Gets the number of levels within a hierarchical grid. + + + + + Gets or sets the current row position of the underlying CurrencyManager. + + + + + Gets or sets whether the grid displays a pop-up text window when the cursor is idle. + + + + + Gets or sets the amount of time in milliseconds before the cell tip window is displayed. + + + + + Gets or sets the width of the cell tip window. + + + + The CellTipsWidth property returns or sets the width of the cell tip window in pixels. + + + By default, this property is set to zero, which causes the cell tip window to grow or shrink to accommodate the cell tip text. Override this behavior and give the cell tip window a fixed width by specifying a non-zero value for this property. + + + + + + Gets or sets the column position of the current cell in the current split. + + + + + Gets or sets the color of the collapse icon. + + + + + Gets a reference to the cell editor that is currently active. + + + + + Gets the Split that has focus. + + + + + Gets or sets the default width for all grid columns. + + + + + Gets or sets the color of the expand icon in hierarchical grids. + + + + + Gets or sets a value indicating the visibility of column headers. + + + + + Gets or sets a value indicating the visibility of column footers. + + + + + Gets the collection of C1DataColumn objects. + + + + + Gets or sets a value indicating the visibility of the current cell in a split. + + + + + Gets or sets a value indicating the modification status of the current row. + + + + + Gets the split index which will be current after cell movement. + + + + + Gets the row which will be current after cell movement. + + + + + Gets the column which will be current after cell movement. + + + + + Gets or sets a value indicating the editing status of the current cell. + + + + + Gets or sets a value indicating whether editing will take place in a popup window or within cell boundaries. + + + + + Gets or sets a value that determines how the grid displays rows below the last data row. + + + + + Gets or sets the image used for ErrorProvider. + + + + + Gets or sets a value that determines how the last column will extend to fill the dead area of the grid. + + + + + Gets or sets how the rightmost column reacts when clicked by the user. + + + + + Gets or sets a value indicating whether the event will be raised. + + + + + Gets or sets a value indicating whether the filter bar has focus. + + + + + Gets or sets a value indicating the visibility of the FilterBar. + + + + + Gets or sets the row index for the first visible row in a grid or split. + + + + + Gets or sets the zero-based index of the leftmost column in a grid or split. + + + + + Gets or sets the MarqueeStyle for a grid. + + + + + Gets or sets the time (milliseconds) in which the incremental search string will reset for a dropdown when the property is True. + + + + + Gets or sets the selection state of the grid. + + + + + Gets or sets the Image used in the record selector to indicate the Current row. + + + + + Gets or sets the Image used in the record selector to indicate the Modified row. + + + + + Gets or sets the Image used in the record selector to indicate the AddNew row. + + + + + Gets or sets the Image used in the record selector to indicate the FilterBar row. + + + + + Gets or sets the Image used in the record selector to indicate the Standard row. + + + + + Gets or sets the Image used in the record selector to indicate the Header row. + + + + + Gets or sets the Image used in the record selector to indicate the Footer row. + + + + + Gets the object. + + + + + Gets the object. + + + + + Gets or sets a value indicating the visibility of row headers for a grid or split. + + + + + Gets or sets the width of the row headers. + + + + + Gets or sets the the current row. + + + + + Gets or sets a value that determines whether the grid displays a pop-up text window when the scrollbar thumb is dragged. + + + + + Gets the collection of rows that are currently selected. + + + + + Gets the collection of columns that are currently selected. + + + + + Gets or sets the number of characters selected within the grid's editing window. + + + + + Gets or sets the starting point of the text selection within the grid's editing window. + + + + + Gets or sets the string containing the currently selected text within the grid's editing window. + + + + + Gets a value indicating whether a range of cells has been selected. + + + + + Gets or sets the index of the current within the . + + + + + Gets or sets a value that determines how columns will resize when the grid is resized. + + + + + Gets or sets a value indicating the behavior of the tab and arrow keys at split borders. + + + + + Gets or sets the behavior of the tab key. + + + + + Gets the number of visible columns in the current Split. + + + + + Gets the number of visible rows in the current Split. + + + + + Gets or sets a value indicating the behavior of Tab and arrow keys at row boundaries. + + + + + Gets the object that controls the appearance of the vertical scrollbar. + + + + + Gets the object that controls the appearance of the horizontal scrollbar. + + + + + Gets or sets the layout by which the grid will display data. + + + + + Gets or sets a value that determines the relative position of the next cell when the user presses the Enter key. + + + + + Gets or sets the text displayed in the grouping area when no columns have been grouped. + + + + + Gets the collection of columns that are grouped. + + + + + Gets or sets a value indicating the visibility of the Grouping area of the grid when the property is set to GroupBy. + + + + + Gets the rectangle occupied by the grouping area. + + + + + Gets or sets the number of subrows of the grid when the property is set to MutlipleLinesFixed. + + + + + Gets or sets a value indicating the behavior of the grid and row currency when the grid's datasource is sorted. + + + + + Gets or sets the style of the border drawn between grid rows. + + + + + Gets or sets the color of the subrow divider in a multi-line grid. + + + + + Gets or sets the C1TrueDBGrid control used as a child grid in a hierarchical presentation. + + + + + Gets or sets the object that controls the appearance of the caption area. + + + + + Gets or sets the object that controls the appearance of the cell editor within a grid. + + + + + Gets or sets the object that controls the appearance of an even-numbered row when using . + + + + + Gets or sets the object that controls the appearance of the . + + + + + Gets or sets the object that controls the appearance of the . + + + + + Gets or sets the object that controls the appearance of column footers. + + + + + Gets or sets the object that controls the appearance of grouping area. + + + + + Gets or sets the object that controls the appearance of the grids column headers. + + + + + Gets or sets the object that controls the current row/cell when the is set to Highlight Row/Cell. + + + + + Gets or sets the object that controls the grids caption when it doesn't have focus. + + + + + Gets or sets the object that controls the appearance of an odd-numbered row when using . + + + + + Gets or sets the object that controls the appearance of the . + + + + + Gets or sets the object that controls the appearance of selected rows and columns. + + + + + Gets or sets the root object. + + + + + Gets the collection of named objects. + + + + + Gets or sets a value indicating whether the grid or split uses the for odd-numbered rows and for even-numbered rows. + + + + + Gets or sets how interactive row resizing is performed. + + + + + Gets or sets a value indicating whether a user is allowed to create horizontal splits. + + + + + Gets or sets a value indicating whether a user is allowed to create vertical splits. + + + + + Gets the collection of objects. + + + + + Gets or sets the width of a column when the is set to Inverted or Form. + + + + + Gets or sets the width of the column caption when the is set to Inverted or Form. + + + + + Occurs after a cell has been updated. + + + + + Occurs after a row has been deleted. + + + + + Occurs after a row has been added. + + + + + Occurs after a row has been updated. + + + + + Occurs before a cell is updated to the datasource. + + + + + Occurs before a row is deleted. + + + + + Occurs before a new row is added to the datasource. + + + + + Occurs before a row is updated to the datasource. + + + + + Occurs whenever a column is resized. + + + + + Occurs whenever a column header is clicked. + + + + + Occurs whenever a column footer is clicked. + + + + + Occurs before a cell is rendered and the is true. + + + + + Occurs before a cell is to be printed and the is true. + + + + + Occurs before the page header is to be printed. + + + + + Occurs before the page footer is to be printed. + + + + + Occurs prior to focus moving to another cell. + + + + + Occurs when the focus moves to a different cell. + + + + + Occurs whenever the user resizes a row. + + + + + Occurs whenever the user scrolls the grid. + + + + + Occurs whenever the user selected a different range of rows or columns. + + + + + Occurs whenever a Split changes focus. + + + + + Occurs when a split is removed. + + + + + Occurs when a split is added. + + + + + Occurs whenever the user changes the value of a cell. + + + + + Occurs when the grid needs to access the value of an unbound column. + + + + + Occurs when the value of an unbound column has been updated. + + + + + Occurs after editing is completed. + + + + + Occurs before a cell enters edit mode. + + + + + Occurs whenever a cell first enters edit mode. + + + + + Occurs whenever the first row changes. + + + + + Occurs whenever the left column changes. + + + + + Occurs whenever a cell is about to be rendered and whose property has been set to FormatTextEvent. + + + + + Occurs whenever a button is clicked in a cell. + + + + + Occurs whenever a selection has been made to the built-in combo or TrueDBDropdown. + + + + + Occurs whenever a user attempts to enter invalid data into a column that is using valueitems. + + + + + Occurs whenever a cell is to be rendered and the is true. + + + + + Occurs whenever a grouped cell that contains an aggregate is to be rendered and is true. + + + + + Occurs whenever the grid renders a row and the property has been set. + + + + + Occurs whenever an AddNew operation has been initiated. + + + + + Occurs whenever the user has finished moving a column. + + + + + Occurs when the grid needs to display CellTips. + + + + + Occurs after the grid has been initialized. + + + + + Occurs whenever the datasource changes. + + + + + Occurs whenever a hierarchical row is collapsed. + + + + + Occurs whenever a hierarchical row is expanded. + + + + + Occurs whenever a column is moved into or out of the grouping area. + + + + + Occurs when the property is set to custom. + + + + + Occurs when the is set to Custom for a grouped row. + + + + + Occurs whenever a column in the grouping area is clicked. + + + + + Occurs whenever a row is being grouped and a custom interval has been specified. + + + + + Occurs whenever the grid has focus and the scrollbar thumb is moved using the mouse. + + + + + Occurs when the contents of a cell in the filterbar changes. + + + + + Occurs when a button is clicked in the filterbar. + + + + + Occurs when the user attempts to open a child grid. + + + + + Occurs when the user attempts to close a child grid. + + + + + Occurs when the user drags a column into the grouping area. + + + + + Occurs when the user types in the filterbar and the property is false. + + + + + Occurs after the datasource has been filtered. + + + + + Occurs after a column has been sorted. + + + + + Occurs whenever an exception is thrown during end user interaction. + + + + + C1TrueDBDropdown control. + + + + + Creates a new instance of the object. + + + + + Called when the class is being disposed. + + + True to cleanup. + + + + + Creates the view. + + + + + + + Creates the view. + + The other. + + + + + + + + + + + + + + + + Controls the used to change the appearance for cells meeting the specified condition. + + + Combination of one or more enumerations. + + + object that specifies appearance attributes. + + + + + Controls the used to change the appearance of cells according to their contents. + + + Combination of one or more enumerations. + + + object that specifies appearance attributes. + + + A regular expression string. + + + + + Restores the default layout. + + + + + Removes a cell condition established with a previous call to the method. + + + Combination of one or more enumerations. + + + + + Restores the default layout. + + + + + Returns the column index for the column containing the specified X coordinate. + + + The horizontal coordinate (X value) in pixels. + + + The index of the column in the collection beneath the specified X coordinate. + + + + + Returns the zero-based index of the display row containing the Y specified coordinate. + + + The vertical coordinate (Y value) in pixels. + + + The display row index beneath the specified Y coordinate. + + + + + Reinitializes grid with data from its data source. + + + True to preserves current column layout. False retrieves the schema from the datasource. + + + + + + + + + Scrolls the data area by the specified number of rows and columns + + + + + + + + + Occurs when the user has moved a column. + + + + + Occurs when the user has resized a column. + + + + + Occurs when the grids DataSource has changed. + + + + + Occurs when the dropdown is opened. + + + + + Occurs when the dropdown closes. + + + + + Occurs whenever the grid is about to display a row of data and the FetchRowStyles property is True. + + + + + Occurs when the first displayed row of a control or split is changed. + + + + + Occurs when the user clicks on the column footer. + + + + + Occurs when the grid is about to display cell data in a column whose NumberFormat property is set to the string FormatText Event. + + + + + Occurs when the user clicks on the column header. + + + + + Occurs when the first visible column of a grid or split is changed. + + + + + Occurs when the focus moves to a different row. + + + + + Occurs when the user has finished resizing a grid row. + + + + + Occurs when the user scrolls the grid. + + + + + Occurs when the user selects a different range of rows or columns. + + + + + Occurs when the grid needs to display the value of a cell in an unbound column. + + + + + Occurs when the user attempts to enter invalid data into a column that is using value lists. + + + + + Occurs whenever the grid has focus and the scrollbar thumb is moved using the mouse. + + + + + Gets the current selected index. + + + + + + + + + + + + + + + + + + + Raises the MouseUp event. + + A MouseEventArgs that contains the event data. + + + + Raises event. + + A that contains the event data. + + + + Inherited from control. + + A that contains the event data. + + + + + + + + + + Gets the default size of the control. + + + + + The default of the control. + + + + + Gets or sets a value indicating the ability to move columns. + + + + + Gets or sets a value indicating the ability to select columns. + + + + + Gets or sets how interactive row resizing is performed. + + + + + Gets or sets a value indicating whether the dropdown uses the for odd-numbered rows and for even-numbered rows. + + + + + Gets or sets the current row position of the underlying CurrencyManager. + + + + + Gets or sets the column position. + + + + + Gets or sets a value indicating the visibility of column footers. + + + + + Gets or sets the height of column captions. + + + + + Gets or sets the height of column footers. + + + + + Gets or sets a value indicating the visibility of column headers. + + + + + Gets the collection of C1DataColumn objects. + + + + + Gets the collection of C1DisplayColumn objects. + + + + + Gets or sets a value indicating the visibility of the current cell. + + + + + Gets or sets the property used to update the associated grid column. + + + + + Gets or sets the default width for all grid columns. + + + + + Gets or sets the width of the dropdown. + + + + + Gets or sets a value that determines how the grid displays rows below the last data row. + + + + + Gets or sets the object that controls the appearance of an even-numbered row when using . + + + + + Gets or sets a value that determines how the last column will extend to fill the dead area of the dropdown. + + + + + Gets or sets a value indicating whether the event will be raised. + + + + + Gets or sets the row index for the first visible row. + + + + + Gets or sets the object that controls the appearance of column footers. + + + + + Gets or sets the object that controls the appearance of the grids column headers. + + + + + Gets or sets the object that controls the appearance of a highlighted row. + + + + + Gets or sets a value indicating whether the control should resize to avoid showing partial items. + + + + + Gets or sets the zero-based index of the leftmost column. + + + + + Gets or sets the property used for incremental search. + + + + + Gets or sets the object that controls the appearance of an odd-numbered row when using . + + + + + Gets or sets the the current row. + + + + + Gets or sets the style of the border drawn between rows. + + + + + Gets or sets the color of the subrow divider in a multi-line dropdown. + + + + + Gets or sets a value that determines if rows are highlighted under the mouse. + + + + + Gets the object that controls the appearance of the vertical scrollbar. + + + + + Gets the object that controls the appearance of the horizontal scrollbar. + + + + + Gets or sets a value that determines whether the grid displays a pop-up text window when the scrollbar thumb is dragged. + + + + + Gets or sets the root object. + + + + + Gets the collection of named objects. + + + + + Gets or sets a value that determines how the grid display values in a column. + + + + + Gets the number of visible columns in the dropdown. + + + + + Gets the number of visible rows in the dropdown. + + + + + Occurs when the user has moved a column. + + + + + Occurs when the user has resized a column. + + + + + Occurs when the grids DataSource has changed. + + + + + Occurs when the dropdown is opened. + + + + + Occurs when the dropdown closes. + + + + + Occurs whenever the grid is about to display a row of data and the FetchRowStyles property is True. + + + + + Occurs when the first displayed row of a control or split is changed. + + + + + Occurs when the user clicks on the column footer. + + + + + Occurs when the grid is about to display cell data in a column whose NumberFormat property is set to the string FormatText Event. + + + + + Occurs when the user clicks on the column header. + + + + + Occurs when the first visible column of a grid or split is changed. + + + + + Occurs when the focus moves to a different row. + + + + + Occurs when the user has finished resizing a grid row. + + + + + Occurs when the user scrolls the grid. + + + + + Occurs when the user selects a different range of rows or columns. + + + + + Occurs when the grid needs to display the value of a cell in an unbound column. + + + + + Occurs when the user attempts to enter invalid data into a column that is using value lists. + + + + + Occurs whenever the grid has focus and the scrollbar thumb is moved using the mouse. + + + + + Gets or sets the object that controls the appearance of the caption area. + + + + + Represents operators used in filter conditions. + + + + + Disables the operator. + + + + + Return true if the value equals the operator parameter. + + + + + Return true if the value does not equal the operator parameter. + + + + + Return true if the value is greater than the operator parameter. + + + + + Return true if the value is less than the operator parameter. + + + + + Return true if the value is greater than or equal to the operator parameter. + + + + + Return true if the value is less than or equal to the operator parameter. + + + + + Return true if the string representation of the value contains the operator parameter. + + + + + Return true if the string representation of the value does not contain the operator parameter. + + + + + Return true if the string representation of the value begins with the operator parameter. + + + + + Return true if the string representation of the value ends with the operator parameter. + + + + + Represents a condition within a . + + + Each contains up to two conditions that + can be combined with 'And' or 'Or' operators. + + + + + Clears this condition by setting the to 'None' + and the to null. + + + + + Applies the condition to a given value. + + Value to test. + True if the value satisfies the condition, false otherwise. + + + + Gets a value that indicates whether the condition is active. + + + + + Gets or sets the operator used by this condition. + + + + + Gets or sets the parameter used by this condition. + + + + + Gets or sets the parameter as a string used by this condition. + + + + + Specifies the type of filter to be used for a . + + + + + Filter column using a . + + + + + Filter column by values using a . + + + + + Filter column by conditions using a . + + + + + Filter column using a filter specified by the caller. + + + + + Do not provide a filter for this column. + + + + + Specifies the language to be used for localizing the control. + + + + + Localize the control to the language specified by the CurrentUICulture. + + + + + Localize the control to Arabic. + + + + + Localize the control to Czech. + + + + + Localize the control to Danish. + + + + + Localize the control to Dutch. + + + + + Localize the control to English. + + + + + Localize the control to Finnish. + + + + + Localize the control to French. + + + + + Localize the control to German. + + + + + Localize the control to Greek. + + + + + Localize the control to Hebrew. + + + + + Localize the control to Italian. + + + + + Localize the control to Japanese. + + + + + Localize the control to Norwegian. + + + + + Localize the control to Polish. + + + + + Localize the control to Portuguese. + + + + + Localize the control to Russian. + + + + + Localize the control to Slovak. + + + + + Localize the control to Spanish. + + + + + Localize the control to Swedish. + + + + + Localize the control to Chinese (simplified). + + + + + Localize the control to Turkish. + + + + + Base class for splits. + + + + + + + + + Releases the resources used by the view. + + + + + Releases the resources used by the view. + + + + + + + Returns the string that represents the current object. + + + + + + + Returns the style associated with a given cell. + + Row to fetch the style for. + Column to fetch the style for. + The text of the cell. + + + + + + Returns a value indicating whether a line should be rendered for a given row and column. + + The row index. + The column index. + + + + + + Raised when the scrollbar visibility changes. + + The scrollbar object. + The new visible state. + + + + + + + + + + + + + + + + + + + + Notifies what curent row or column is changed. + + + + + + + + + + + + + + + + + + + + + + + + + + + autosizes the height of the given row + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Performs internal reset. + + + + + + + + + + + + + + + + + checks to see if the mouse is over a 3d element + + + + + + + Called when C1DisplayColumn properties have been changed. + + + + + + + + + + + + + + + + + + + + + + + + + + + creates a datasource from the valueitems so for the internal combobox. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets or sets an XML string containing the current filter state. + + + + + potential properties + + + + + + + + + Gets or sets the type of border rendered for a split. + + + + + Base class for typeconverter. + + + + + Returns an object from it's string representation. + + + + + + + + + Returns a string representation from a given object. + + + + + + + + + Returns true if the source type is string. + + + + + + + + + + + Returns true of the type of string. + + + + + + + + + + + Overloaded. Returns whether this converter can convert an object of one type to the type of this converter. + + + + + + + + + + + + + Overloaded. Converts the given value object to the specified type. + + + + + + + + + + + + + + + Typeconverter for bitmaps. Used for serialization. + + + + + Override. Returns the object given a string. + + + + + + + + + Override. Returns a string given an object. + + + + + + + + + Expandable object converter that doesn't handle strings. + + + + + Overloaded. Returns whether this converter can convert an object of one type to the type of this converter. + + + + + + + + + + + Overloaded. Returns whether this converter can convert the object to the specified type. + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Converts from. + + The CTX. + The ci. + The obj. + + + + + + Defined the relationship of a column. + + + + + Column is not related. + + + + + Column is the parent. + + + + + Column is the child. + + + + + Represents a column that defines binding information for the datasource. + + + + + Creates a new instance of this object. + + + + + Creates a new instance of this object. + + The column caption. + The data type. + + + + Creates a new instance of this object. + + The column caption. + The field from the data source. + The data type. + + + + + + + + + + Resets ButtonPicture to its default value. + + + + + Resets FilterButtonPicture to its default value. + + + + + Gets the display value for a cell in a given row. + + The row to fetch. + The display value. + + + + Gets the cell value for a given row. + + The row to fetch. + The underlying data from the data source. + + + + Invalidate the current column in all visible rows. + + + + + Invalidates the current cell. + + + + + Invalidates the cell at the given row. + + Row to invalidate. + + + + Repopulate the entire grid from the data source. + + + + + Repopulates the current cell from the data source. + + + + + Repopulates the specified data from the data source. + + The row to refetch. + + + + Gets or sets the level of this column in a hierarchical data source. + + + + + + + + + + + + + Gets or sets the type of aggregate computed for a grouped row. + + + + + Gets or sets the image shown in a drop-down button in a column. + + + + + Index of button picture. + + + + + Tag of button picture. + + + + + Gets or sets the text in the column header. + + + + + Gets or sets a value indicating whether data in this column has been modified. + + + + + Gets or sets the database field name for a column. + + + + + Gets or sets the type of object stored for a column. + + + + + + + + + Gets or sets the maximum number of characters which may be entered for cells in this column. + + + + + Gets or sets the default value for a column when a new row is added by the grid. + + + + + Gets or sets the edit mask for a column. + + + The property allows an input mask to be specified for automatic input formatting and validation. The mask syntax is similar to the one used by Microsoft Access. Setting the input mask for a column will prevent the user from entering any information in the cell that is not in the format of the string. + The must be a string composed of the following symbols: + + Wildcards + + + + 0 + Digit. + + + 9 + Digit or space. + + + # + Digit or sign. + + + L + Letter. + + + ? + Letter or space. + + + A + Letter or digit. + + + a + Letter, digit or space. + + + & + Any character. + + + + Localized characters + + + + . + Localized decimal separator. + + + , + Localized thousand separator. + + + : + Localized time separator. + + + / + Localized date separator. + + + + Command characters + + + + \ + Next character is taken as a literal. + + + > + Translate letters to uppercase. + + + < + Translate letters to lowercase. + + + + + + + Gets or sets a value indicating whether literal characters in the edit mask are stored to the underlying data source. + + + + + Gets or sets the editor that is used to edit cell data. + + + + + Gets or sets a value indicating whether a DateTime picker is used to edit this column. + + + + + Gets or sets the image shown as the column's filter button. + + + + + + + + + Gets or sets the key used to initiate the filtering operation as the user types in the filterbar. + + + + + Gets the number of values in the filter drop-down list. + + + + + Gets or sets the text displayed in the column footer. + + + + + Gets or sets the characters that should be ignored when applying the filter criteria to the datasource. + + + + + Gets or sets the operator that is used for a filter expression. + + + + + Gets or sets the data associated with the value of the filter for a column. + + + + + Specifies the text that is rendered in an empty cell in the Filterbar. + + + + + Gets or sets a value indicating whether a drop-down list is displayed in the filter cell that lists all the values of the field. + + + + + Gets or sets the value indicating All when the FilterDropdown property is True. + + The filter dropdown text. + + + + Gets or sets a value indicating whether multiple values can be selected in the filter drop-down list. + + If FilterMultiSelect is true then the user is able to enter several values using comma separator. + + + + Gets or sets a character used to separate values in the filter drop-down list when multiple values are selected. + + + + + Gets or sets the text of Apply button in the filter drop-down list when the FilterMultiSelect property is True. + + + + + Gets or sets the text of Cancel button in the filter drop-down list when the FilterMultiSelect property is True. + + + + + Gets or sets the text of Clear button in the filter drop-down list when the FilterMultiSelect property is True. + + + + + Specifies the ImeMode used to edit this column. + + + + + Gets or sets the formatting string for a column. + + + + + Gets the object for this column. + + + + + Gets or sets the display value for the current cell. + + + + + Gets or sets the value of the current cell. + + + + + Gets or sets a user defined objects associated with this column. + + + + + Gets or sets a user defined object associated with this column. + + + + + Gets or sets the state of the sorting glyph in the column caption bar. + + + + + Gets or sets the associated with this column. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents an object used to render grid elements. + + + + + Creates a new instance of this object. + + + + + Called when the class is being disposed. + + + + + Called when the class is being disposed. + + + True to cleanup. + + + + + + + + + + + Renders the given string using the style properties. + + Graphics object to render too. + Rectangle to render in. + String to render. + + + + Renders the given string using the style properties. + + Graphics object to render too. + Rectangle to render in. + String to render. + The draw flags. + + + + Reset BackColor to its default value. + + + + + Resets ForeColor to its default value. + + + + + Resets Font to its default value. + + + + + Resets HorizontalAlignment to its default value. + + + + + Resets VerticalAlignment to its default value. + + + + + Resets BackgroundPictureDrawMode to its default value. + + + + + Resets the BackgroundImage to its default value. + + + + + Resets ForGroundImagePosition to its default value. + + + + + Resets ForegroundImage to its default value. + + + + + Resets Locked to its default value. + + + + + Resets WrapText to its default value. + + + + + Resets Trimming to its default value. + + + + + Resets all specialized attributes. + + + + + Gets the associated with this Style. + + + + + Gets or sets the background color associated with a Style. + + + + + Gets or sets the background color associated with a Style. + + + + + Gets or sets a value indicating whether gamma correction is enabled when a linear gradient style is rendered. + + + true if gamma correction is enabled; otherwise, false. + + + + Gets or sets the direction of a linear gradient. + + The gradient mode. + + + + Gets or sets the alpha component when the style is rendered. + + + + + Gets or sets the foreground color associated with a Style. + + + + + Gets or sets the Font associated with a Style. + + + + + Gets or sets the horizontal text alignment. + + + + + Gets or sets the vertical text alignment. + + + + + Gets or sets the rendering method for a . + + + + + Gets or sets the background image associated with a Style. + + + + + Gets or sets the position that the ForGroupImage is rendered. + + + + + Gets or sets the foreground image associated with a style. + + + + + Gets or sets a value indicating whether data entry is permitted for the assocated object. + + + + + Gets or sets a value indicating whether text is word-wrapped when it does not fit into a layout shape. + + + + + Gets or sets the name of the Style. + + + + + Gets or sets the trim characters for a string that does not completely fit into a layout shape. + + + + + Gets or sets the spacing between cell content and its edges. + + + + + Represents the border in a + + + + Gets or sets the type of border. + + + + + Gets or sets the width of the left border. + + + + + Gets or sets the width of the right border. + + + + + Gets or sets the width of the top border. + + + + + Gets or sets the width of the bottom border. + + + + + Gets or sets the color of the border. + + + + + Represents an object that defines how cells are rendered. + + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets a value indicating whether both Value and Display Value are rendenered when Display value is an image. + + + + + Gets or sets a value indicating whether users can cycle through by clicking on a cell. + + + + + Gets or sets the index of the default or -1 for no default. + + + + + Gets or sets the maximum number of visible rows in the combobox. + + + + + Gets or sets the method in which cells are rendered. + + + + + Gets or sets a value indicating whether data values are translated using matching . + + + + + Gets or sets a value indicating whether values entered by the user must match on of the objects. + + + + + Gets the collection of Value/Display Value pairs. + + + + + + + + + Represents a collection of objects. + + + + + Initializes a new instance of the class. + + + + + Adds a to the end of the collection. + + The ValueItem to add. + The index at which the ValueItem has been added. + + + + + + + + + + + + Inserts a at the specified index. + + The zero-based index at which the ValueItem should be inserted. + The ValueItem to insert. + + + + Gets the index of the specified . + + The ValueItem to search. + The index of the ValueItem. + + + + Gets or sets the specified from the collection at the specified index. + + + + + Represents an object that defines a value/display value pair. + + + + + Initializes a new instance of the ValueItem class. + + + + + Initializes a new instance of the ValueItem class. + + Underlying data value. + Translated value. + + + + Returns a string that represents the current object. + + + + + + + Gets or sets the raw (untranslated) value of this item. + + + + + Gets or sets the display value of this item. + + + + + + + + + + + + + Represents the columns in a split. + + + + + Releases the resources used by the component. + + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Releases the resources used by the component. + + + + + + + + + + + Gets the filter expression for the column. + + The filter expression for the column + Use this method in your implementations of custom filtering. + Example shows how to build a row filter using method. + "" Then + If sb.ToString() <> "" Then + sb.Append(" AND ") + End If + sb.Append(cond) + End If + + Next dc + ' filter the data + Me.DataSet11.Tables(0).DefaultView.RowFilter = sb.ToString() + End Sub]]> + + + + Controls the used to change the appearance for cells meeting the specified condition. + + + Combination of one or more enumerations. + + + object that specifies appearance attributes. + + + + + Controls the used to change the appearance of cells according to their contents. + + + Combination of one or more enumerations. + + + object that specifies appearance attributes. + + + A regular expression string. + + + + + Removes a cell condition established with a previous call to the method. + + + Combination of one or more enumerations. + + + + + Removes a cell condition established with a previous call to the method. + + + Combination of one or more enumerations. + + + + + Removes a cell condition established with a previous call to the method. + + + Combination of one or more enumerations. + + + A regular expression string. + + + + + Adjusts the width of a column to accommodate the longest visible field within that column. + + + + + Gets or sets a value indicating whether the dropdown opens automatically when a key is typed. + + + + + Gets or sets a value indicating whether the dropdown auto fills the edit portion with the matched entry. + + + + + Gets the vertical offset of the top of the cell for the current row. + + + + + Gets or sets a value indicating whether the dropdown acts like a dropdown list (text portion is not editable). + + + + + Gets or sets the that controls the appearance of the column headers. + + + + + Gets or sets the root for this column. + + + + + Gets or sets the object that controls the appearance of column footers. + + + + + Gets or sets the used for the cell editor. + + + + + Gets or sets the used to render the cell in the grouped header row. + + + + + Gets or sets the used to render the cell in the grouped footer row. + + + + + Gets or sets a value indicating the visibility of a column. + + + + + Gets or sets the style of the border drawn between columns. + + + + + Gets or sets the width of a column. + + + + + Gets or sets the height of the column. + + + + + Gets or sets a value indicating the ability of a column to receive focus. + + + + + Gets or sets a value indicating whether editing is permitted in a column. + + + + + Gets or sets a value indicating whether contiguous like-value cells of this column are merged into one large cell. + + + + + Gets or sets a value indicating whether this is frozen. + + + true if frozen; otherwise, false. + + + + Gets or sets a value indicating whether column resizing is allowed. + + + + + Gets or sets a value indicating whether cells in this column look like buttons. + + + + + Gets or sets a value indicating whether buttons will be displayed when the cell does not contain focus. + + + + + Gets or sets a value indicating whether a dropdown button will be displayed in this column. + + + + + Gets or sets a value indicating whether a dropdown button will be displayed in this column. + + + + + Gets or sets the minimum width a column can be resized to when in . + + + + + Gets or sets a value indicating whether to display the column divider in the header area. + + + + + Gets or sets a value indicating whether to display the column divider in the footer area. + + + + + Gets or sets a value indicating whether the FetchCellStyle event will be raised for a column. + + + + + Gets or sets a value indicating whether a column header will act like a button. + + + + + Gets or sets a value indicating whether a column footer will act like a button. + + + + + Gets or sets a value indicating whether cells in this column are drawn by the user in the OwnerDrawCell event. + + + + + Gets the associted associated with this object. + + + + + + + + + Gets the caption of the associated objects. + + + + + Enumerates the type of changes made to a display column for event listeners + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + TypeConverter for the GridLines object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Froms the STR. + + The STR. + + + + + + + + + + + + + + + + Represents the line used for row and column dividers. + + + + + Creates a new instance of this object. + + + + + Gets or sets the color of lines used for row and column dividers. + + + + + Gets or sets the style of lines used for row and column dividers. + + + + + + + + + Initializes a new instance of the class. + + + + + Gets or sets the width. + + The width. + + + + Gets or sets the border3D style. + + The border3D style. + + + + Represents a collection of ViewRow objects. + + + + + Performs additional custom processes when clearing the contents of the instance. + + + + + Performs additional custom processes when removing an element from the instance. + + The zero-based index at which value can be found. + The value of the element to remove from index. + + + + Owner of the row list. + + + + + Gets or sets the at the specified index. + + + + + Represents a row in a split. + + + + + Adjust the size of the row to fully display cell data. + + + + + Gets or sets the visiblity of a row. + + + + + Gets the type of row. + + + + + Gets or sets the height of a row. + + + + + Gets or sets the width of a row. + + + + + Gets index of the row in data source. + + + + Returns -1 if there is not corresponding data row. + For example, for a group row. + + + Use DataRowIndex property to translate view row index to data row index. + + + + + private void c1TrueDBGrid1_FetchCellStyle(object sender, C1.Win.C1TrueDBGrid.FetchCellStyleEventArgs e) + { + ViewRow row = this.c1TrueDBGrid1.Splits[0].Rows[e.Row]; + if (row.RowType == RowTypeEnum.DataRow) + { + bool val = (bool)this.c1TrueDBGrid1[row.DataRowIndex, 3]; + if (val == true) + e.CellStyle.BackColor = Color.Red; + } + } + + + + + + Represents a horizontal or vertical pane to display and edit data. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The f. + + + + Initializes a new instance of the class. + + The other. + + + + Called when the class is being disposed. + + + True to cleanup. + + + + + + + + + + + + + + + + + + + + + Draws the filter cell. + + The instance containing the event data. + The col. + + + + + + + + + + + + + + + + returns true if the data at the given row is the same as the passed in string + + + + absolute row number + + + + + + + + + + Called when C1DisplayColumn properties have been changed. + + + + + Returns the upper and lower bounds for a merged column. + + Starting row + Starting colum. + The CellRange object that defines the rows and columns for a merged cell. + + + + Exits editing mode. + + + + + + + short circuits exiting the editor on row change when actively filtering + + + + + + + + + + + + + + + + + + + + + + + + + + + Adds the row. + + The newrow. + + + + Deletes the rows. + + + + + Gets the drop down for the current column if one exists. + + + + + + + Determines whether we have an internal combo. + + + true if combo is not a valueitem otherwise, false. + + + + + Determines whether this instance has combo. + + + true if this instance has combo; otherwise, false. + + + + + Creates the internal dropdown for use in the filterbar. + + + + + + + Sets the flat mode. + + The mode. + + + + + + + + + + + + + + Controls the used to change the appearance for cells meeting the specified condition. + + + Combination of one or more enumerations. + + + object that specifies appearance attributes. + + + + + Controls the used to change the appearance of cells according to their contents. + + + Combination of one or more enumerations. + + + object that specifies appearance attributes. + + + A regular expression string. + + + + + Removes a cell condition established with a previous call to the method. + + + Combination of one or more enumerations. + + + + + Removes a cell condition established with a previous call to the method. + + + Combination of one or more enumerations. + + + + + Removes a cell condition established with a previous call to the method. + + + Combination of one or more enumerations. + + + A regular expression string. + + + + + Returns the Rectangle for the given Row and Column + + Visible row number + Visible column index + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets or sets a value indicating whether the split can recive focus. + + + + + Gets or sets a value indicating the ability to move columns. + + + + + Gets or sets a value indicating the ability to select columns. + + + + + Gets or sets a value indicating the ability to select rows. + + + + + Gets or sets the name of a split. + + + + + Gets or sets how interactive row resizing is performed. + + + + + Gets or sets a value indicating whether a user is allowed to resize horizontal splits. + + + + + Gets or sets a value indicating whether a user is allowed to resize vertical splits. + + + + + Gets or sets a value indicating whether the split uses the for odd-numbered rows and for even-numbered rows. + + + + + Gets or sets the caption. + + + + + Gets or sets the height of the caption. + + + + + Gets or sets the height of the column captions. + + + + + Gets or sets the height of column footers. + + + + + Gets or sets a value indicating the visibility of the current cell in a split. + + + + + Gets or sets a value that determines how the last column will extend to fill the dead area of the split. + + + + + Gets or sets a value indicating whether the event will be raised. + + + + + Gets or sets a value indicating whether the filter bar has focus. + + + + + Gets or sets a value indicating the visibility of the FilterBar. + + + + + Gets or sets the filter border style. + + The filter border style. + + + + Gets or sets the row index for the first visible row in a split. + + + + + Gets or sets the left most visible column for a split. + + + + + Gets or sets the MarqueeStyle for a Split. + + + + + Gets or sets a value indicating if the cells of a split can be edited. + + + + + Gets or sets the width of the row headers. + + + + + + + + + Gets or sets a value indicating the visibility of row headers for Split. + + + + + Gets the collection of Rows displayed in the Split. + + + + + Gets or sets the group which synchronizes verticall scrolling between splits. + + + + + Gets or sets the minimum width that a split can be interactively resized. + + + + + Gets or sets the minimum height that a split can be interactively resized. + + + + + Gets or sets the group which synchronizes horizontal scrolling between splits. + + + + + Gets or sets the position of the Horizontal scrollbar. + + + + + Gets or sets the position of the Vertical scrollbar. + + + + + Gets or sets a value that determines how columns will resize when the grid is resized. + + + + + Gets the object that controls the appearance of the vertical scrollbar. + + + + + Gets the object that controls the appearance of the horizontal scrollbar. + + + + + Gets or sets the size of a split. + + + + + Gets or sets the height of a split. + + + + + Gets or sets a value indicating how the property is used to determine the actual size of a split. + + + + + Gets or sets the object that controls the appearance of the caption area. + + + + + Gets or sets the object that controls the appearance of the cell editor within a grid. + + + + + Gets or sets the object that controls the appearance of an even-numbered row when using . + + + + + Gets or sets the object that controls the appearance of the . + + + + + Gets or sets the object that controls the appearance of the . + + + + + Gets or sets the object that controls the appearance of column footers. + + + + + Gets or sets the object that controls the appearance of the grids column headers. + + + + + Gets or sets the object that controls the current row/cell when the is set to Highlight Row/Cell. + + + + + Gets or sets the object that controls the grids caption when it doesn't have focus. + + + + + Gets or sets the object that controls the appearance of an odd-numbered row when using . + + + + + Gets or sets the object that controls the appearance of the . + + + + + Gets or sets the object that controls the appearance of selected rows and columns. + + + + + Gets or sets the root object for the Split. + + + + + Gets a collection of objects. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the struct. + + The row. + The col. + + + + Initializes a new instance of the struct. + + The row1. + The col1. + The row2. + The col2. + + + + Determines whether the range is a single cell. + + + true if [is single cell]; otherwise, false. + + + + + Represents a collection of named . + + + + + + + + + + + + + + + + + + + Adds a to the end of the collection. + + The Style to add. + The index at which the has been added. + + + + Inserts a at the specified index. + + The zero-based index at which the Style should be inserted. + The Style to insert. + + + + Gets the index of the specified . + + + + The index of the Style. + + + + Removes the at the specified index. + + Teh zero-based index of the Style to remove. + + + + Gets the specified Style from the collection given its index. + + + + + Gets the specified Style from the collection given its name. + + + + + Represents a collection of in a . + + + + + Inserts a at the specified index. + + The zero-based index at which the C1DisplayColumn should be inserted. + The C1DataColumn to insert. + + + + Gets the index of the . + + + + The index of the C1DisplayColumn. + + + + Gets the index of the specified by the . + + + + The index of the C1DisplayColumn. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the specified from the collection at the specified index. + + + + + Gets the specified from the collection wich contains the specified . + + + + + Gets the specified from the collection with the specified name. + + + + + Contains a collection of objects. + + + + + + + + + + + + + Removes all elements from the collection. + + + + + Adds a C1DataColumn to the end of the collection. + + The C1DataColumn to add. + The index at which the C1DataColumn has been added. + + + + Removes the C1DataColumn at the specified index. + + The zero-based index of the row to remove. + + + + Inserts a at the specified index. + + The zero-based index at which the C1DataColumn should be inserted. + The C1DataColumn to insert. + + + + Gets the index of the specified . + + + + The index of the the C1DataColumn. + + + + Gets the index of a with the specified DataField. + + + + The index of the the C1DataColumn. + + + + Gets the specified C1DataColumn from the collection at the specified index. + + + + + Gets the specified C1DataColumn from the collection with the specified name. + + + + + Contains a collection of objects that represent columns that are selected. + + + + + Removes all elements from the collection. + + + + + Removes the C1DataColumn at the specified index. + + The zero-based index of the row to remove. + + + + Adds a C1DataColumn to the end of the collection. + + The C1DataColumn to add. + The index at which the C1DataColumn has been added. + + + + Inserts a at the specified index. + + The zero-based index at which the C1DataColumn should be inserted. + The C1DataColumn to insert. + + + + Contains a collection of objects that represent columns that are grouped. + + + + + Removes all elements from the collection. + + + + + Exchanges the C1DataColumn objects at the specified index. + + The zero-based index of the first C1DataColumn. + The zero-based index of the second C1DataColumn. + + + + Removes the C1DataColumn at the specified index. + + The zero-based index of the row to remove. + + + + Adds a C1DataColumn to the end of the collection. + + The C1DataColumn to add. + The index at which the C1DataColumn has been added. + + + + Inserts a at the specified index. + + The zero-based index at which the C1DataColumn should be inserted. + The C1DataColumn to insert. + + + + Represents a collection of Selected rows. + + + + + Removes all elements from the collection. + + + + + Removes the row at the specified index. + + The zero-based index of the row to remove. + + + + Adds a row to the end of the collection. + + Row number to add. + The index at which the row has been added. + + + + Inserts a row at the specified index. + + The zero-based index at which row should be inserted. + The row to insert. + + + + Gets the index of the specified row. + + + + The index of the row. + + + + Gets or sets the specified Row index from the collection. + + + + + Represents a collection of Split objects. + + + + + This interface is used to allow objects and collection to serialize + types of their members in a custom way. + If a collection implements this interface, TypeToString is invoked during + serialization of collection items, and for all items for which it returns a + non-null string, that string is used as the element name of the item. + If a class implements this interface, AND a member of that class has + attribute TypeNameSerialization.Custom, AND does not have attribute + XmlAttribute (i.e. is serialized as an element), TypeToString is invoked + on the owner when that member is serialized, and if that returns a non-null + string, that string is used as the value of TypeName attribute. + When deserializing a collection which implements this interface, + StringToType is invoked for each new item in the collection, and if that + returns a non-null type, that type is used to create the item. Otherwise, + TypeNameSerialization attribute is used. + When deserializing a class which implements this interface, StringToType + is invoked on that class for members with TypeNameSerialization.Custom + attribute set. + + + + + Returns a string representing the type of the object + + + + + Returns the type restored from the serialized string + + + + + + + + + + + + + Gets the index if the specified Split. + + + + + + + + + Gets the specified Split object from the collection. + + + + + Gets the specified Split object from the collection. + + + + + Gets the specified Split object from the collection. + + + + + Gets the number of vertical splits in the collection. + + + + + Gets the number of horizontal splits in the collection. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies the glyph used to denote a sort direction in the column header. + + + + + Column is not sorted. + + + + + Column is sorted in ascending order. + + + + + Column is sorted in descending order. + + + + + Specifies the UI behavior for selecting rows and columns. + + + + + Multiple selection is disabled but single selection is permitted. When the user clicks a record selector, the current selection is cleared, and the clicked row is then selected and added to either the SelectedRows or SelectedCols collections. The Ctrl and Shift keys are ignored, and the user can only select one row at a time. + + + + + Multiple selection is enabled using the mouse. When the user clicks a record selector, the selection is cleared and the clicked row is selected and added to either the SelectedRows or Selected Cols collections. However, if the user holds down the Ctrl key while clicking, the clicked row is added to the current selection. The user can also select a range of rows by selecting the first row in the range, then selecting the last row in the range while holding down the Shift key. + + + + + Multiple selection is enabled using the mouse. The user can also select records with the following key combinations: Shift + Up Arrow, Shift + Down Arrow, Shift + PgUp, and Shift + PgDn. NOTE: The user will not be able to select a single cell, instead the entire corresponding row will be selected. + + + + + Specifies how 3D elements are rendered. + + + + + The grid’s column headers and recordselectors are rendered with an inset three-dimensional look + + + + + Three-dimensional elements appear flat + + + + + Three-dimensional elements are flat, but when the user drags the cursor over a column heading or recordselector, they become three-dimensional and appear to pop up. + + + + + Three-dimensional elements uses XP Themes if available. + + + + + Specifies the sizing mode for splits. + + + + + The indicates the relative size of the split with respect to other scalable splits. + + + + + The indicates the size of the split in pixels. + + + + + The indicates the number of columns displayed in the split. + + + + + Specifies the vertical alignment of text or images in a cell. + + + + + Text is rendered at the top of the cell. + + + + + Text is rendered at the center of the cell. + + + + + Text is rendered at the bottom of the cell. + + + + + Specifies the horizontal alignment of text or images in a cell. + + + + + Text is aligned Near and numeric values Far + + + + + Text is aligned to the left. + + + + + Text is aligned centered. + + + + + Text is aligned to the right. + + + + + Text is aligned with respect to the cells boundries. + + + + + Specifies the visibility of ScrollBars. + + + + + ScrollBars are never displayed. + + + + + ScrollBars are always displayed. + + + + + ScrollBars are displayed only if the object's contents extend beyond its borders. + + + + + Specifies the line style for row and column dividers. + + + + + No line. + + + + + Single line. + + + + + Double line. + + + + + Line with 3D raised appearance. + + + + + Line with 3D inset appearance. + + + + + Specifies how the grid displays its data. + + + + + The grid will only display flat files and will not support a hierarchical view. If the data source is a hierarchical dataset, the grid will only display data from the master table. + + + + + Rows will be represented horizontally and columns vertically. + + + + + The data will be displayed in a convenient data entry form. + + + + + A grouping area is created at the top of the grid; any columns that are placed into this area become part of the GroupedColumn collection. When in group mode, grid columns can be moved into or out of the grouping area with the Add and RemoveAt methods, respectively. Users can also perform this action by selecting and dragging a column into or out of the grouping. Users can customize the display of the grouped row with styles and automatically compute aggregates for columns that are grouped. The expanded/collapsed state of the grouping can also be specified. + + + + + The grid will display all the fields in the current grid area with multiple lines. + + + + + The grid will display DataSets in a hierarchical format. At run time, users can expand and collapse hierarchical recordset Bands using a treeview-like interface. + + + + + The grid will display all the fields in the current grid area with multiple lines. The number of subrows does not change once set. The number of subrows can be set using the LinesPerRow property. + + + + + Provides a description of the current addnew state with respect to the current cell. + + + + + The current cell is not on the addnew row. + + + + + The current cell is on the addnew row. + + + + + There is an Add New operation pending. + + + + + Specifies the behavior of the pop-up window when the cursor is idle over the grid. + + + + + No cell tips will be displayed. + + + + + Cell tips will be displayed in the bounding rectable of the cell. + + + + + Cell tips will be displayed under the mouse cursor. + + + + + Specifies how the grid exposes the rightmost column when it gets focus. + + + + + The grid will scroll to the left to display the rightmost column in its entirety. + + + + + The grid will not move when the rightmost column is clicked initially. However, if the user attempts to edit the cell, then the grid will scroll to the left to display the rightmost column in its entirety. + + + + + The grid will always leave the rightmost column clipped. + + + + + Specifies the location of the foreground image in a cell. + + + + + Image is rendered in the near side of the cell. + + + + + Image is rendered in the far side of the cell. + + + + + Image is rendered to the left of any text in the cell. + + + + + Image is rendered to the right of any text in the cell. + + + + + Image is rendered on top of any text in the cell. + + + + + Image is rendered below any text in the cell. + + + + + Text is not displayed. + + + + + Image is not displayed. + + + + + Specifies how the background image is rendered. + + + + + The image is rendered in the center of the cell. + + + + + The image is tiled in the cell. + + + + + The image is stretched to fit within the cell. + + + + + Specifies how rows can be resized. + + + + + Row can not be resized. + + + + + All rows will be sized to the same height or width. + + + + + Rows can be sized indepentently. + + + + + Specifies which rows are to be previewed/printed. + + + + + All rows are to be previewed/printed. + + + + + Only selected rows will be previewed/printed. + + + + + Only the current row will be previewed/printed. + + + + + Specifies the type of ui-element for a coordinate. + + + + + Coordinates are not in the grid. + + + + + Coordinates are in the caption area + + + + + Coordinates are in the split's header + + + + + Coordinates are in the split's resizing box + + + + + Coordinates are in the row selector. + + + + + Coordinates are in the row resizing box. + + + + + Coordinates are in the column headers. + + + + + Coordinates are in the column footers. + + + + + Coordinates are in the column resizing box. + + + + + Coordinates are in the data area. + + + + + Coordinates are in the grouping area. + + + + + Coordinates are in the group header. + + + + + Coordinates are in the empty row area. + + + + + Coordinates are in the addnew row. + + + + + Coordinates are in the empty column area. + + + + + Coordinates are in the filter bar. + + + + + Specifies how ValueItems are rendered. + + + + + Values are displayed as text or graphics. + + + + + Values are displayed as a group of Radio Buttons. + + + + + Values are displayed as a dropdown combobox. + + + + + Values are displayed as a dropdown combobox in sorted order. + + + + + Values are displayed as a checkbox. + + + + + Specifies how focus is handled when the Tab key is entered. + + + + + The tab key moves to the next or previous control on the form. + + + + + The tab key moves the current cell to the next or previous column. However, if this action would cause the current row to change, then the next or previous control on the form receives focus. + + + + + The tab key moves the current cell to the next or previous column. The behavior of the tab key at row boundaries is determined by the property. When this setting is used, the tab key never results in movement to another control. + + + + + Specifies the borders for a . + + + + + No borders. + + + + + Borders have a Flat appearance. + + + + + Borders have a 3D raised appearance. + + + + + Borders have a 3D inset appearance. + + + + + A line around the inside of the border. + + + + + A fillet type border. + + + + + Borders have a 3D raised with a bevel. + + + + + Borders have a 3D inset with a bevel. + + + + + Specifies which cell gets focus when the enter key is pressed. + + + + + Cell currency doesn't change. + + + + + The next cell will be the cell to the right of the current cell. + + + + + The next cell will be the cell below the current cell. + + + + + The next cell will be the cell to the left of the current cell. + + + + + The next cell will be the cell above the current cell. + + + + + Describes the disposition of a cell. + This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values. + + + + The cell satisfies none of the conditions. For grouped rows, this is the only applicable cell style. + + + + + The cell is the that currently has focus. At any given time, only one cell can have this status. When the MarqueeStyle property is set to Floating Editor, this condition is ignored. + + + + + The cell is part of a highlighted row marquee. When the MarqueeStyle property indicates that the entire current row is to be highlighted, all visible cells in the current row have this additional condition set. + + + + + The cell contents have been modified by the user but not yet written to the datasource. This condition is also set when cell contents have been modified in code with the Text or Value properties. + + + + + The cell is part of a row selected by the user or in code. The SelectedRowCollection contains the index for each selected row. + + + + + All cells. + + + + + Specifies how the current cell is highlighted. + + + + + The current cell within the current row will be highlighted by drawing a dotted border around the cell. In Microsoft Windows terminology, this is usually called a focus rectangle. + + + + + The current cell within the current row will be highlighted by drawing a solid box around the current cell. This is more visible than the dotted cell border, especially when 3D divider properties are used for the grid. + + + + + The entire current cell will be drawn using the attributes of the HighlightRowStyle property. This provides a very distinctive block-style highlight for the current cell. + + + + + The entire row containing the current cell will be drawn using the attributes of the HighlightRowStyle property. In this mode, it is not possible to visually determine which cell is the current cell, only the current row. When the grid or split is not editable, this setting is often preferred, since cell position is then irrelevant. + + + + + The entire row will be highlighted as in setting 3, but the current cell within the row will be "raised" so that it appears distinctive. This setting does not appear clearly with all background color and divider settings. The best effect is achieved by using 3D dividers and a light gray background. + + + + + The marquee will not be shown. This setting is useful for cases where the current row is irrelevant, or when not wanting to draw the user's attention to the grid until necessary. + + + + + The current cell will be highlighted by a floating text editor window with a blinking caret (as in Microsoft Access). + + + + + The entire current row will be highlighted by drawing a dotted border around it. This effect is similar to setting 0. + + + + + Identifies the type of scrollbar. + + + + + The Horizontal scrollbar. + + + + + The Vertical scrollbar. + + + + + Identifies the type of row. + + + + + Row is a datarow. + + + + + Row is a collapsed group row. + + + + + Row is an expanded group row. + + + + + Row is a footerrow. + + + + + Row is a childrow. + + + + + Specifies the initial expanded or collapsed state of a grouped row. + + + + + Grouped rows initial display is collapsed (default). + + + + + Grouped rows initial display is expanded. + + + + + Specifies how the grouped column should be displayed. + + + + + Grouped columns contain just a header row (default). + + + + + Grouped columns contain a header and footer row. + + + + + Grouped columns contain a header and footer row, but aggregates are shown only in the footer row. + + + + + Specifies the type of aggregate that is computed for a grouped row. + + + + + No aggregate is calculated or displayed. + + + + + Count of non-empty values. + + + + + Sum of numerical values. + + + + + Average of the numerical values. + + + + + Minimum value (numerical, string, or date). + + + + + Maximum value (numerical, string, or date). + + + + + Standard deviation (using formula for Sample, n-1). + + + + + Standard deviation (using formula for Population, n). + + + + + Variance (using formula for Sample, n-1). + + + + + Variance (using formula for Population, n). + + + + + Causes the GroupAggregate event to be raised. + + + + + Specifies the width of a C1TrueDBDropdown for a cell. + + + + + The width of the dropdown is the control width. + + + + + The width of the dropdown is the column width. + + + + + Specifies how columns are merged. + + + + + + + + + + + + + + + + + Specifies the type of gradient. + + + + + + + + + + + + + + + + + + + + + + + + + Specifies how rows are grouped. + + + + + Rows are grouped by their values. + + + + + Rows are grouped by the date portion of their values. + + + + + Rows are grouped by the month portion of their values. + + + + + Rows are grouped by the year portion of their values. + + + + + Rows are grouped by the first character of their values. + + + + + Rows are grouped according to their date values. + + + + + Rows are grouped by raising the event. + + + + + Raised before an action is performed on the grid and the action can be canceled. + + + + + Provides data for the , , , , , , , , and events. + + + + + Gets or sets a value indicating that the action should not be performed. + + + + + Provides data for the event. + + + + + Gets the current scroll position. + + + + + Gets the new scroll position. + + + + + Raised before a column enters edit mode. + + + + + Provides data for the BeforeColEdit event. + + + + + Gets or sets a value indicating that editing should be disallowed. + + If event procedure sets the Cancel argument to True, the cell will not enter edit mode. Otherwise, the ColEdit event is raised immediately, followed by the Change event for the KeyChar property, if non-zero. + + + + Indicates the character that initiated the editing operation. + + The BeforeColEdit event occurs just before the user enters edit mode by typing a character. If a floating editor marquee is not in use, this event also occurs when the user clicks the current cell or double clicks another cell. + + + + Indicates the position in the DisplayColumns collection. + + + + + Gets the C1DisplayColumn for the column being edited. + + + + + Raised after editing is completed in a cell. + + The BeforeColUpdate event occurs after editing is completed in a cell, but before data is moved from the cell to the grid's internal copy buffer. + The data specified by the OldValue argument moves from the cell to the grid's copy buffer when the user completes editing within a cell, as when tabbing to another column in the same row, pressing the Enter key, or clicking on another cell. Before the data has been moved from the cell into the grid's copy buffer, the BeforeColUpdate event is triggered. This event gives the application an opportunity to check the individual grid cells before they are committed to the grid's copy buffer. + If your event procedure sets the Cancel argument to True, the previous value is restored in the cell, the grid retains focus, and the AfterColUpdate event is not triggered. Change the current cell text by setting OldValue to the value wanted to display (other than the previous value). + To restore OldValue in the cell and permit the user to move focus off of the cell, set Cancel to False and set the cell to OldValue as follows: + + + + Provides data for the BeforeColUpdate event. + + + + + Gets or sets a value that prevents the user from moving focus to another cell. + + + + + Gets or sets the value of the original cell data. + + + + + Indicates the position in the DisplayColumns collection. + + + + + Gets the C1DisplayColumn for the column being edited. + + + + + Raised after a column has been resized. + + + + + Provides data for the ColReisize event. + + + + + Indicates the position in the DisplayColumns collection. + + + + + Gets or sets a value indicating that sizing should be ignored. + + + + + Gets the C1DisplayColumn for the column being sized. + + + + + Raised when an action is perfored on a column. + + + + + Provides data for the , , , , , , , , and events. + + + + + Indicates the position in the DisplayColumns collection. + + + + + Gets the C1DisplayColumn. + + + + + Raised when grouping columns. + + + + + Provides data for the event. + + + + + Indicates the position in the DisplayColumns collection. + + + + + The C1DataColumn that was clicked. + + + + + Raised when a cell is to rendered by the event code. + + + + + Provides data for the and events. + + + + + The bounding rectangle for the cell that needs to be rendered. + + + + + The index of the row for the cell being rendered. + + + + + The index of the split for the cell being rendered. + + + + + The index of the column in the DisplayColumns collection. + + + + + The GDI+ graphics object to render on. + + + + + The text of the cell. + + + + + The Style used to render the cell. + + + + + Indicates whether the event code rendered the cell. + + + + + The C1DisplayColumn being rendered. + + + + + Indicates whether the custom renderer handles the background, border or content. + + + + + Raised when custom page headers and footers need to be rendered. + + + + + Provides data for the and events. + + + + + The object used to render the custom header or footer + + + + + Raised after the current Row or Column changes. + + + + + Provides data for the event. + + + + + The previous row index. + + + + + The previous column index of the DisplayColumns collection. + + + + + Raised when an unbound column needs to be rendered. + + + + + Provides data for the event. + + + + + The index of the row. + + + + + Indicates the position in the Columns collection. + + + + + The object. + + + + + Gets or sets the value of the Column. + + + + + Raised when Split specific actions are performed. + + + + + Provides data for the and events. + + + + + Indicates the position of the Split in the Splits collection. + + + + + Raised when a cell needs custom formatting. + + + + + Provides data for the FromatText event. + + + + + Indicates the position in the Columns collection. + + + + + The row index for the cell to be formatted. + + + + + The value to format. + + + + + The object. + + + + + Raised when the used to render a cell needs customization. + + + + + Provides data for the event. + + + + + The sum of one or more constants describing the disposition of the cell being rendered. + + + + + Indicates the position in the Splits collection. + + + + + The index of the row for the cell being rendered. + + + + + The index of the column in the DisplayColumns collection. + + + + + The Style used to render the cell. + + + + + The C1DisplayColumn being rendered. + + + + + Provides data for the event. + + + + + Value that the data is being grouped on. + + + + + First row index that is being grouped. + + + + + Last row index that is being grouped. + + + + + Raised when the used to render a row needs customization. + + + + + Provides data for the event. + + + + + Indicates the position in the Splits collection. + + + + + The index of the row for the cell being rendered. + + + + + The Style used to render the row. + + + + + Raised when a column is being repositioned. + + + + + Provides data for the event. + + + + + Indicates the target index of the column being moved. + + + + + Indicates the starting position in the DisplayColumns collection. + + + + + Gets or sets a value indicating that the action should not be performed. + + + + + Gets the C1DisplayColumn that is being moved. + + + + + Raised when a column is moved into or out of the grouping area. + + + + + Provides data for the event. + + + + + The C1DataColumn for the column being moved. + + + + + Raised when cell tips are to be displayed. + + + + + Provides data for the event. + + + + + Indicates the position of the Split in the Splits collection. + + + + + Indicates the position in the DisplayColumns collection. + + + + + The index of the row for the cell tip. + + + + + The text to be displayed in the cell tip. + + + + + Indicates if the contents of the cell is fully displayed. + + + + + The Style used to render the cell tip. + + + + + The C1DisplayColumn that this tip is associated with. + + + + + Raised when a hierarchical node is expanded or collapsed. + + + + + Provides data for the and events. + + + + + Indicates the recordset level that holds the current row within a master-detail hierarchy. + + + + + Gets or sets a value indicating that the action should not be performed. + + + + + Raised when scroll tips are to be displayed. + + + + + Provides data for the event. + + + + + Indicates the position of the Split in the Splits collection. + + + + + Indicates the position in the DisplayColumns collection. + + + + + The index of the topmost row for the scroll tip. + + + + + Indicates the scrollbar that was moved. + + + + + The text to be displayed in the scroll tip. + + + + + The Style used to render the scroll tip. + + + + + The current C1DisplayColumn. + + + + + Raised when the grid is sorted or filtered. + + + + + Provides data for the , , , and + + + + The filter or sort condition. + + + + + Raised when an excpetion is thrown via the UI. + + + + + Provides data for the event. + + + + + The exception which caused the Event to be raised. + + + + + True if the exception has been handled. + + + + + True to continue as if no exception was raised. + + + + + Raised when text is grouped. + + + + + Provides data for the event. + + + + + Custom text for the grouped row. + + + + + Value that the data is being grouped on. + + + + + Column that is being grouped. + + + + + Type of row being grouped. + + + + + First row index that is being grouped. + + + + + Last row index that is being grouped. + + + + + Raised when text is grouped. + + + + + Provides data for the event. + + + + + Underlying value of the row being grouped. + + + + + Column that is being grouped. + + + + + Row index that is being grouped. + + + + + Object that represents a groupby split. + + + + + Gets the type of row. + + + + + Gets the text that is being grouped. + + + + + Gets the level of the grouping. + + + + + Gets the starting row index of the datasource that belong to this group. + + + + + Gets the ending row index of the datasource that belong to this group. + + + + + Gets the number of rows that belong to this group. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Interface used to provide feedback and the ability to cancel potentially long operations + + + + + + + + + + + + + + + + + + + + + + + + + + + Simple stack with indexed access, based on System.Collections.ArrayList + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + General purpose pair class. (Should be moved to gp utils.) + + + + + + + + + + + + + + + + + + + + + + + + + Attribute used to specify which properties get serialized when saving layouts. + + + + + Attribute used to specify which properties get serialized when saving layouts. + + + + + Determines how item types are serialized + + + + + Item type is not serialized (this is the default) + + + + + Item type is serialized as a fully qualified name + + + + + Item type is serialized as a fully qualified name and assembly name + + + + + Use owner's IMemberTypeEncoder for members + (for collection items, this is done automatically). + + + + + Helper class for implementors of IMemberTypeEncoder + + + + + + + + + + + + + + + + + + + + + Forces the serializer to serialize the type name of a property or field + + + + + + + + + + + + + + + + + + + + + This attribute allows to specify collection's element type name + (in that case there is no need to store it). + + + + + + + + + + + + + + + Serializes and deserializes objects into and from XML. + + + All the methods in this class are static (Shared in Visual Basic). + You cannot create an instance of this class. + + + + + Serializes the specified Object and writes the XML-document instance to a file using the specified Stream. + DOES NOT close the underlying stream. Useful for copying objects. + Caller is responsible to call out writer.Close() to close writer and underlying stream. + + The Stream used to write the XML-document instance + The Object to serialize + The XmlSerializerNamespaces referenced by the object + The XmlWriter object reference. Call writer.Close after working with stream/writer. + + + + Serializes the specified Object and writes the XML-document instance to a file using the specified Stream. + + The Stream used to write the XML-document instance + The Object to serialize + The XmlSerializerNamespaces referenced by the object + + + + Serializes the specified Object and writes the XML-document instance to a file using the specified XmlWriter + + The XmlWriter used to write the XML-document instance + The Object to serialize + The XmlSerializerNamespaces referenced by the object + + + + Serializes the specified Object and writes the XML-document instance to a file using the specified Stream. + DOES NOT close the underlying stream. Useful for copying objects. + Caller is responsible to call out writer.Close() to close writer and underlying stream. + + The Stream used to write the XML-document instance + The Object to serialize + The FieldInfo or MemberInfo object context for the object to serialize + The XmlSerializerNamespaces referenced by the object + The XmlWriter object reference. Call writer.Close after working with stream/writer. + + + + + + + + + + + + + + + + + + + + Serializes the specified Object and writes the XML-document instance to a file using the specified Stream. + + The Stream used to write the XML-document instance + The Object to serialize + The FieldInfo or MemberInfo object context for the object to serialize + The XmlSerializerNamespaces referenced by the object + + + + Serializes the specified Object and writes the XML-document instance to a file using the specified XmlWriter + + The XmlWriter used to write the XML-document instance + The Object to serialize + The FieldInfo or MemberInfo object context for the object to serialize + The XmlSerializerNamespaces referenced by the object + Array of attributes that specify what to serialize + + + + Serializes the specified object to an XML formatted string. + + + + + + + + + + + + + Deserializes an XML-document instance + + The Stream containing the XML-document instance to deserialize + The type of object being deserialized + The Object being deserialized + + + + Deserializes an XML-document instance + + The XmlReader containing the XML-document instance to deserialize + The type of object being deserialized + The Object being deserialized + + + + Deserializes object + + The XmlReader containing the XML-document instance to deserialize + The Object being deserialized + The type of object being deserialized + The type of array elements (in case the object is an array) + The Object being deserialized + + + + Deserializes an XML document string + + + + + + + + + + + Deserializes text of element or attribute into object of appropriate type + + The XmlReader containing the XML-document instance to deserialize + The type of object being deserialized + The Object being deserialized + + + + Sets or returns the object implementing IOnLongOpInProgressProvider interface + (can be used to provide visual feedback to the user during serialization). + + + + + Gets or sets a value indicating whether all the values are to be persistent. + + + + + Sets or returns formatting used by the XML writer. + + + + + Sets or returns indentation used by the XML writer. + + + + + Sets or returns serialization of non-public properties. If true non-public properties + are included, but are hidden by default. Public properties are always visible by default. + + + + + + + + + Initializes a new instance of the class. + + + + + Raises the event. + + + + + Raises the event. + + + true if this object can be changed; otherwise, false. + + + + + Gets the service object of the specified type. + + An object that specifies the type of service object to get. + + A service object of type . + -or- + null if there is no service object of type . + + + + + Gets the container representing this request. + + + + + Gets the object that is connected with this type descriptor request. + + + + + Gets the that is associated with the given context item. + + + + + The that describes the given context item; otherwise, null if there is no responsible for the call. + + + + + GroupInfo + Property of the C1DataColumn object, used to control grouping and + rendering of group headers and footers + + + + + Creates a new instance of the object. + + The column this object is associated with. + + + + Override. The string representation of the object. + + + + + + + Gets or sets the position of the grouped row. + + + + + Gets or sets the initial expanded/collapsed state of the grouped row. + + + + + Gets or sets the text that is displayed in the group header row. + + + + + Gets or sets the text that is displayed in the group footer row. + + + + + Gets or sets the text that is displayed with the Aggregates value + + + + + Gets or sets the way rows are grouped. + + + + + Gets or set a value indicating the visibility of a column when it's grouped. + + + + + Represents print/export options form. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new instance of the PrintOptionsFrom class. + + + + + Called when the class is being disposed. + + + True to cleanup. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets or sets the output file name. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new instance of the ActionItem class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Object to manage custom page headers and footers when printing and previewing. + + + + + Renders text for the document. + + X-coordinate to start the rendering. + Y-coordinate to start the rendering. + The text to render. + The width for the rendered text. + The font to use. + The color of the text. + The alignment to render the text. + + + + Renders an image for the document. + + X-coordinate. + Y-coordinate. + Image to render. + Width to render. + Height to render. + Alignment options. + + + + Renders a line for the document. + + Start x-coordinate. + Start y-coordinate. + End x-coordinate. + End y-coordinate. + Color of the line. + Width of the line. + + + + The height of drawing area in inches + + + + + Specifies how a should be printed + or exported when using such methods as + , + etc. + + + + + + + + + + + Indicates whether the property should be serialized. + + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + + true if should be serialized, false otherwise. + + + + Resets the property to its default value. + + + + + Indicates whether the property should be serialized. + + + true if should be serialized, false otherwise. + + + + Resets the property to its default value. + + + + + Opens a separate modal window in which end users can preview the output + that would be generated by the print operation. + + + allows to specify a custom form for + the preview dialog. + + + + + Prints the grid. + + + + + Prints the grid. + + Specifies the printer settings (including the printer) to use. + + + + Saves the current grid to a stream in C1D + (native C1PrintDocument) format. + + Note that unlike most other print/export methods, this method + does not require C1Report assemblies. + + The output stream. + + + The stream's Position is set to 0 when the method returns. + + This method does not show progress dialog + (ignoring property). + + + + + + Saves the current grid to a memory stream in C1D + (native C1PrintDocument) format. + + The stream's Position is set to 0 when the method returns. + + The stream containing the saved grid. + + + + Saves the current grid as a C1D file, which can later be loaded + into a C1PrintDocument (provided by C1Report product). + + Note that unlike most other print/export methods, this method + does not require C1Report assemblies. + + The name of the output file. + + true if the file was successfully saved, + false otherwise. + + + + Saves the current grid to a stream in C1D + (native C1PrintDocument) format. + + Note that unlike most other print/export methods, this method + does not require C1Report assemblies. + + The output stream. + + true if the stream was successfully written, + false otherwise. + + Unlike the method, + this method does not reset the stream's position after saving. + + + + + Gets or sets a value indicating whether the grid rows can split between pages. + + + This new property helps to print very long text in columns on multiple pages. + + + + + Gets or sets a value indicating whether the grid's color scheme is translated to the print page. + + + + + Gets or sets a value indicating whether the page header is owner-drawn. + + + + + Gets or sets a value indicating whether the page footer is owner-drawn. + + + + + Gets or sets the style used to render the page header. + + + + + Gets or sets the string to be printed at the top of each page. + + + + + Gets or sets the height of the Page header. + + + + + Gets or sets the style used to render the page footer. + + + + + Gets or sets the page footer height in hundredths of an inch. + + + + + Gets or sets a string to be printed at the bottom of each page. + + + + + Gets or sets a value indicating whether column footers should appear on each page. + + + + + Gets or sets a value indicating whether the grid caption should appear on each page. + + + + + Gets or sets a value inidcating whether split captions should appear on each page. + + + + + Gets or sets a value indicating whether horizontal splits are previewed and printed. + + + + + Gets or sets a value indicating whether column headers should appear on each page. + + + + + Gets or sets a value indicating how empty space left on a printed page is handled. + + + + + Gets or sets the horizontal page break mode. + + + + + Gets or sets a value that controls how text is wrapped in a cell. + + + + + Gets or sets a value whether to print a grid if it has no data rows. + + + + + Gets or sets the maximum row height in hundredths of an inch + (used if is ). + + + + + Gets or sets a value indicating how row height of the printed grid is determined. + + + + + Gets or sets a value indicating how grid lines are rendered. + + + + + Gets or sets a value indicating whether the options dialog is displayed + when the grid is printed or exported. + + + + + Gets or sets a value indicating whether the progress dialog is displayed when the grid is printed or exported. + + + + + Gets or sets a value indicating whether the grid in Form view style is printed each record per page. + + + + + Gets or sets a value indicating whether selected cells will be highlighted when previewing or printing. + + + + + Gets or sets the PageSettings for printing. + + + + + Gets or sets the caption of the print progress dialog. + + + + + Gets or sets the class name of the form used as the print options dialog. + + + + + Gets or sets the class name of the form used as the preview form. + + + + + Specifies how empty space left on a printed page is handled (filled or otherwise). + + + + + All columns are extended proportionally to fill the page. + + + + + Empty space on the right of the page is left as is. + + + + + Rightmost column on the page is extended to fill the empty space. + + + + + Specifies how grid is broken into extension (horizontal) pages + when it is too wide to fit into one page. + + + + + All columns are made narrow enough to fit into one page. + + + + + Columns that do not fit into one page are clipped. + + + + + Horizontal page breaks can be inserted on grid splits as necessary. + + + + + Horizontal page breaks can be inserted on any column as necessary. + + + + + Specifies how cell text is wrapped. + + + + + Text can wrap in any cell as needed. + + + + + Text in cells never wraps. + + + + + Use column's property. + + + + + Specifies how grid lines are rendered. + + + + + Grid lines are rendered. + + + + + Grid lines are not rendered. + + + + + Specifies how rows' heights are determined. + + + + + Stretch rows vertically to fit all data. + + + + + Use the grid's row height. + + + + + Stretch rows vertically but not greater than . + + + + + Specify allowed print options. + + + + + No print/export operations are allowed. + + + + + Printing is allowed. + + + + + Preview is allowed. + + + + + Export is allowed. + + + + + All print/export operations are allowed. + + + + + The print preview form. + + + + + Creates a new instance of the PrintFrom class. + + + + + Additional initialization of the form. + + + To override properties like FormBorderStyle, MaximizeBox, MinimizeBox, ControlBox etc. of a Form, + inherited from "C1.Win.C1TrueDBGrid.PrintForm", override the Init method of the PrintForm. + First call the base.Init(), then set the properties you want. + + + The example is a custom PrintForm which has sizable border, control box is on, and minimize and maximize boxes are off. + + public class CustPrintForm : C1.Win.C1TrueDBGrid.PrintForm + { + public CustPrintForm(): base() + { + } + + protected override void Init() + { + base.Init(); + FormBorderStyle = FormBorderStyle.Sizable; + this.ControlBox = true; + this.MinimizeBox = false; + this.MaximizeBox = false; + } + } + + + + + Overloaded. Overridden. Releases all resources used by the Control. + + + + + + + + + + + + + + + Represents exception that is thrown if printing or exporting + a is cancelled by the user. + + + + + Initializes a new instance of the class. + + + + + Specifies the characteristics of the print preview window + shown by the method. + + + + + + + + + + + + + + + + + Resets the array of UIStrings back to the default locale. + + + + + Gets or sets the caption of the preview window. + + + + + Gets or sets the position and manner in which the control is docked in the navigation page. + + + + + Gets or sets the location of the preview window. + + + + + Gets or sets a value indicating whether the end user has the ability to size the preview window. + + + + + Gets or sets the zoom factor for print preview. + + + + + Gets or sets the size of the form. + + + + + Gets or sets a value indicating the visibiity of toolbars. + + + + + Gets the array of user interface strings. + + + + + Print progress window. + + + + + Initializes a new instance of the C1PrintProgress class. + + + + + Initializes a new instance of the C1PrintProgress class with a language. + + UI Language + + + + Overloaded. Releases the resources used by the component. + + + + + Gets or sets the text used to display the current progress when the grid is printed/previewed. + + + + + Gets or sets the text for the Cancel button. + + + + + Gets or sets the text for the Windows caption. + + + + + Gets a value indicating if the print/preview was cancelled. + + + + + Base class for the grid's scrollbars + + + + + Initializes a new instance of the SBar class + + + + + + + + + Overloaded. Releases the resources used by the class. + + + + + + + Occurs when the scroll box has been moved by either a mouse or keyboard action. + + + + + + + + + Gets or sets the visibility of the scrollbars. + + + + + Gets or sets a value indicating whether the scrollbar is displayed. + + + + + Gets or sets a numeric value that represents the current position of the scroll box on the scroll bar control. + + + + + Represents a vertical scrollbar. + + + + + Initializes a new instance of the VBar class. + + + + + + + Overloaded. Occurs when the scroll box has been moved by either a mouse or keyboard action. + + + + + + + + + Returns a string the represents the current object. + + + + + + + Gets or sets a numeric value that represents the current position of the scroll box on the scroll bar control. + + + + + Gets or sets the width of the vertical scrollbar. + + + + + Represents a horizontal scrollbar. + + + + + Initializes a new instance of the VBar class. + + + + + + + Overloaded. Occurs when the scroll box has been moved by either a mouse or keyboard action. + + + + + + + + + Returns a string the represents the current object. + + + + + + + Gets or sets the height of the horizontal scrollbar. + + + + + Specifies which elements of the cell should be drawn by the grid. + + + This enumeration is used when rendering owner-drawn cells. + + + + + Draw nothing. + + + + + Draw the cell background. + + + + + Draw the cell border. + + + + + Draw the cell content (text, images, checkboxes, etc). + + + + + Draw all cell elements (background, border, and contents). + + + + + Specifies a visual style to use when rendering the control. + + + + + Do not use any visual styles. Render the control using the styles and properties only. + + + + + Render the control with an appearance based on the current system settings. + + + + + Render the control with an appearance based on the Office 2007 Blue color scheme. + + + + + Render the control with an appearance based on the Office 2007 Silver color scheme. + + + + + Render the control with an appearance based on the Office 2007 Black color scheme. + + + + + Render the control with an appearance based on the Office 2010 Blue color scheme. + + + + + Render the control with an appearance based on the Office 2010 Silver color scheme. + + + + + Render the control with an appearance based on the Office 2010 Black color scheme. + + + + + Base class for the grid renderers. + + + + + Initializes a new instance of the class. + + + + + + + + + Gets the background brush. + + The grid. + Type of the cell. + The r. + + + + + + Gets the border pen. + + Type of the cell. + + + + + + Styles the has custom background. + + The style. + + + + + + Styles the has custom border. + + The style. + + + + + + Styles the has right border. + + the style + + + True is has right border + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Logbuch/Logbuch/bin/Debug/FastReport.Bars.dll b/Logbuch/Logbuch/bin/Debug/FastReport.Bars.dll new file mode 100644 index 0000000..d19e9d1 Binary files /dev/null and b/Logbuch/Logbuch/bin/Debug/FastReport.Bars.dll differ diff --git a/Logbuch/Logbuch/bin/Debug/FastReport.Editor.dll b/Logbuch/Logbuch/bin/Debug/FastReport.Editor.dll new file mode 100644 index 0000000..d5a7e67 Binary files /dev/null and b/Logbuch/Logbuch/bin/Debug/FastReport.Editor.dll differ diff --git a/Logbuch/Logbuch/bin/Debug/FastReport.dll b/Logbuch/Logbuch/bin/Debug/FastReport.dll new file mode 100644 index 0000000..1651680 Binary files /dev/null and b/Logbuch/Logbuch/bin/Debug/FastReport.dll differ diff --git a/Logbuch/Logbuch/bin/Debug/FastReport.xml b/Logbuch/Logbuch/bin/Debug/FastReport.xml new file mode 100644 index 0000000..a79463c --- /dev/null +++ b/Logbuch/Logbuch/bin/Debug/FastReport.xml @@ -0,0 +1,52625 @@ + + + + FastReport + + + + + The class for representing visible digital signature in the report. + + + The class for representing visible digital signature in the report. + + + + + FastReport json connection + + + + + Name of json object table + + + + + Initialize a new instance + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents the JsonDataConnection connection string builder. + + + Use this class to parse connection string returned by the JsonDataConnection class. + + + + + Gets or sets json data + + + + + Gets or sets json schema + + + + + Gets or sets json url encoding + + + + + Initializes a new instance of the class with default settings. + + + + + Initializes a new instance of the class with + specified connection string. + + The connection string. + + + + JsonTableDataSource present a json array object + + + + + Gets or sets value for force update schema on init schema + + + + + + + + + + + + + + + + + + + + + + + This class represents a single data column in a . + + + + + + + + Gets or sets the business object property name which this column is bound to. + + + + + Gets or sets the business object property descriptor which this column is bound to. + + + + + Gets or sets the type of data supplied by this column. + + + + + Gets or sets a value that specifies the type of a control that will be created + when you drop this column on a report page. + + + If you need to specify the custom type, use the property instead. + + + + + Gets or sets a name of custom bindable control. + + + Use this property if you want to bind a column to custom object type. You need to + specify the type name of your object; that object must be registered in FastReport using the + RegisteredObjects.Add method. + + + + + Gets or sets the format of this column. + + + This property is used when you drag a column from the Data window to the report page. + FastReport will create a "Text" object and set its "Format" property to the corresponding format. + By default, this property is set to Auto. It means that the format will be determined + automatically depending on the property. + + + + + Gets or sets expression of the calculated column. + + + This property is used if the property is true. + + + + + Gets or sets a value that indicates whether this column is calculated. + + + You should specify the property for calculated columns. + + + + + Gets the collection of child columns. + + + + + Gets or sets the tag value. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the Column class with default settings. + + + + + + + + + + Initialize a new instance + + + + + + + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + The base class for all connection editors. This control is used when you edit + the connection in the Data Wizard. + + + + + Gets or sets a connection string. + + + + + This method should construct the connection string from values entered by user. + + The connection string. + + + + This method should parse the connection string and fill the user interface elements. + + The connection string. + + + + This method is called when form layout is complete. + + + + + Initializes a new instance of the class with default settings. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents a connection to xml file-based database. + + This example shows how to add a new connection to the report. + + Report report1; + XmlDataConnection conn = new XmlDataConnection(); + conn.XmlFile = @"c:\data.xml"; + report1.Dictionary.Connections.Add(conn); + conn.CreateAllTables(); + + + + + + + + + + + + + + + + + + Gets or sets the path to .xsd file. + + + + + Gets or sets the path to .xml file. + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Represents a total that is used to calculate aggregates such as Sum, Min, Max, Avg, Count. + + + + + + + + Gets or sets the total type. + + + + + Gets or sets the expression used to calculate the total. + + + + + Gets or sets the evaluator databand. + + + The total will be calculated for each row of this band. + + + + + This property is kept for compatibility only. + + + + + Gets or sets the band to print the total on. + + + The total will be resetted after the specified band has been printed. + + + + + Gets or sets a value that determines whether the total should be resetted after print. + + + + + Gets or sets a value that determines whether the total should be resetted if printed + on repeated band (i.e. band with "RepeatOnEveryPage" flag). + + + + + Gets or sets the condition which tells the total to evaluate. + + + + + Gets or sets a value that determines if invisible rows of the Evaluator should + be included into the total's value. + + + + + This property is not relevant to this class. + + + + + Gets the value of total. + + + + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Represents a datasource based on DataTable class. + + This example shows how to add a new table to the existing connection: + + Report report1; + DataConnectionBase conn = report1.Dictionary.Connections.FindByName("Connection1"); + TableDataSource table = new TableDataSource(); + table.TableName = "Employees"; + table.Name = "Table1"; + conn.Tables.Add(table); + + + + + + + + + Gets or sets the underlying DataTable object. + + + + + Gets or sets the table name. + + + + + Gets or sets SQL "select" command. + + + If this command contains parameters, you should specify them in the + property. + + + + + Gets a collection of parameters used by "select" command. + + + You must set up this property if the SQL query that you've specified in the + property contains parameters. + You can pass a value to the SQL parameter in two ways. + The right way is to define a report parameter. You can do this in the + "Data" window. Once you have defined the parameter, you can use it to pass a value + to the SQL parameter. To do this, set the SQL parameter's Expression property + to the report parameter's name (so it will look like [myReportParam]). + To pass a value to the report parameter from your application, use the + method. + The other way (unrecommended) is to find a datasource object and set its parameter from a code: + + TableDataSource ds = report.GetDataSource("My DataSource Name") as TableDataSource; + ds.Parameters[0].Value = 10; + + This way is not good because you hardcode the report object's name. + + + + + Gets or sets the parent object. + + + + + Gets or sets a value that determines whether it is necessary to store table data in a report file. + + + + + Gets or sets the table data. + + + This property is for internal use only. + + + + + If set, ignores the Connection (always returns null). Needed when we replace the + existing connection-based datasource with datatable defined in an application. + + + + + Gets or sets the query builder schema. + + + This property is for internal use only. + + + + + + + + + + + + + + + + + Refresh the table schema. + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Represents a master-detail relation between two data sources. + + + To setup a relation, you must specify parent and child datasources. For a parent datasource, + you must specify set of key columns; for child datasource, you must specify set of columns that + relate to the parent key columns. + This example shows how to create relation between Customers and Orders tables: + + Report report1; + DataSourceBase customersTable = report1.Dictionary.DataSources.FindByAlias("Customers"); + DataSourceBase ordersTable = report1.Dictionary.DataSources.FindByAlias("Orders"); + Relation rel = new Relation(); + rel.Name = "customersOrders"; + rel.ParentDataSource = customersTable; + rel.ChildDataSource = ordersTable; + rel.ParentColumns = new string[] { "CustomerID" }; + rel.ChildColumns = new string[] { "CustomerID" }; + report1.Dictionary.Relations.Add(rel); + + + + + + + + + + Gets or sets the parent datasource. + + + + + Gets or sets the child datasource. + + + + + Gets or sets an array of parent datasource columns. + + + Note: both and must have the + same number of elements. + + + + + Gets or sets an array of child datasource columns. + + + Note: both and must have the + same number of elements. + + + + + + + + Compares this relation with another one. + + Another relation to compare with. + true if both relations are equal; false otherwise. + + + + Initializes a new instance of the class with default settings. + + + + + Represents a connection to any OLE DB database. + + This example shows how to add a new connection to the report. + + Report report1; + OleDbDataConnection conn = new OleDbDataConnection(); + conn.ConnectionString = "your_connection_string"; + report1.Dictionary.Connections.Add(conn); + conn.CreateAllTables(); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a connection to any database through ODBC. + + This example shows how to add a new connection to the report. + + Report report1; + OdbcDataConnection conn = new OdbcDataConnection(); + conn.ConnectionString = "your_connection_string"; + report1.Dictionary.Connections.Add(conn); + conn.CreateAllTables(); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a connection to MS SQL database. + + This example shows how to add a new connection to the report. + + Report report1; + MsSqlDataConnection conn = new MsSqlDataConnection(); + conn.ConnectionString = "your_connection_string"; + report1.Dictionary.Connections.Add(conn); + conn.CreateAllTables(); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a connection to MS Access database (.mdb file). + + This example shows how to add a new connection to the report. + + Report report1; + MsAccessDataConnection conn = new MsAccessDataConnection(); + conn.DataSource = @"c:\data.mdb"; + report1.Dictionary.Connections.Add(conn); + conn.CreateAllTables(); + + + + + + + + + + + + Gets or sets the datasource file name. + + + + + Gets or sets the user name. + + + + + Gets or sets the password. + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + The base class for all data connection components such as . + + This example shows how to add a new MS Access connection to the report. + + Report report1; + MsAccessDataConnection conn = new MsAccessDataConnection(); + conn.DataSource = @"c:\data.mdb"; + report1.Dictionary.Connections.Add(conn); + conn.CreateAllTables(); + + + + + + + + + Gets a string that will identify a connection in the Data Wizard. + + The string that contains the connection type and some meaningful information. + + + + Gets the default type for a new parameter. + + The integer representation of a parameter type. + + + + Gets a control that will be used to edit the connection properties. + + The editor's control. + + + + + + + Tests the connection. + + + If test connection is not successful, this method throws an exception. Catch this exception to + show an error message. + + + + + Gets an internal DataSet object that contains all data tables. + + + + + Gets a collection of data tables in this connection. + + + To add a table to the connection, you must either create a new TableDataSource and add it + to this collection or call the method which will add + all tables available in the database. + + + + + Gets or sets a connection string that contains all connection parameters. + + + To modify some parameter of the connection, use respective + ConnectionStringBuilder class. + Security note: the connection string may contain a user name/password. + This information is stored in a report file. By default, it is crypted using the standard + FastReport's password. Since FastReport's source code is available to anyone who paid for it, + it may be insecure to use the standard password. For more security, you should use own + password. To do this, specify it in the Crypter.DefaultPassword property. + + This example demonstrates how to change a connection string: + + OleDbConnectionStringBuilder builder = new OleDbConnectionStringBuilder(oleDbConnection1.ConnectionString); + builder.PersistSecurityInfo = false; + oleDbConnection1.ConnectionString = builder.ToString(); + + + + + + Gets or sets an expression that returns a connection string. + + + Use this property to set the connection string dynamically. + The recommended way to do this is to define a report parameter. You can do this in the + "Data" window. Once you have defined the parameter, you can use it to pass a value + to the connection. Set the ConnectionStringExpression property of the + connection object to the report parameter's name (so it will look like [myReportParam]). + To pass a value to the report parameter from your application, use the + method. + + Once you set value for this property, the property will be ignored + when report is run. + + + + + + Gets or sets a value indicates if this connection is SQL-based. + + + + + Gets or sets a value indicating whether a login dialog appears immediately before opening a connection. + + + Set LoginPrompt to true to provide login dialog when establishing a connection. If this + property is false (by default), you should provide login information (user name and password) + in the property. Though that property is stored in a crypted form, + this may be insecure. + Another way to pass login information to the connection is to use + property that is bound to the report parameter. In that + case you supply the entire connection string from your application. + + + + + Gets or sets the command timeout, in seconds. + + + + + + + + Initializes a DataSet instance. + + The DataSet object. + + This method is used to support FastReport infrastructure. You don't need to use it. + + + + + Disposes a DataSet. + + + This method is used to support FastReport infrastructure. You don't need to use it. + + + + + Sets the connection string. + + New connection string. + + Use this method if you need to perform some actions when the connection string is set. + + + + + Gets a connection string that contains username and password specified. + + User name. + Password. + + Override this method to pass login information to the connection. Typical implementation + must get the existing , merge specified login information into it + and return the new value. + + + + + + + + + + + + + + + + + + + + + + + + + + Fills the collection with all tables available in the database. + + + This method does not read the table data; to do this, call the + method of each table. + + + + + Fills the collection with all tables available in the database. + + Set to true to initialize each table's schema. + + + + Creates the relations between tables. Applies to XmlDataConnection only. + + + + + Gets an array of table names available in the database. + + An array of strings. + + + + Returns a type of connection. + + Type instance. + + You should override this method if you developing a new connection component. + If your connection component does not use data connection, you need to override + the and methods instead. + + Here is the example of this method implementation: + + public override Type GetConnectionType() + { + return typeof(OleDbConnection); + } + + + + + + Returns a connection object. + + The DbConnection instance. + Either creates a new DbConnection instance of type provided by the + method, or returns the application connection if set + in the Config.DesignerSettings.ApplicationConnection. + + + + Opens a specified connection object. + + Connection to open. + + Use this method to open a connection returned by the method. + This method displays a login dialog if your connection has the + property set to true. Once you have entered an user name and password in + this dialog, it will remeber the entered values and will not used anymore in this report session. + + + + + Disposes a connection. + + The connection to dispose. + + + + Returns a object that is specific to this connection. + + The SQL command used to fetch a table data rows. + The connection object. + The select command parameters. + The DbDataAdapter object. + + You should override this method if you are developing a new connection component. In this method, + you need to create the adapter and set its SelectCommand's parameters. + If your connection does not use data adapter, you need to override + the and methods instead. + + Here is the example of this method implementation: + + public override DbDataAdapter GetAdapter(string selectCommand, DbConnection connection, + CommandParameterCollection parameters) + { + OleDbDataAdapter adapter = new OleDbDataAdapter(selectCommand, connection as OleDbConnection); + foreach (CommandParameter p in parameters) + { + OleDbParameter parameter = adapter.SelectCommand.Parameters.Add(p.Name, (OleDbType)p.DataType, p.Size); + parameter.Value = p.Value; + } + return adapter; + } + + + + + + Gets the type of parameter that is specific to this connection. + + The parameter's type. + + This property is used in the report designer to display available data types when you edit the + connection parameters. For example, the type of OleDbConnection parameter is a OleDbType. + + + + + Quotes the specified DB identifier such as table name or column name. + + Identifier to quote. + The opened DB connection. + The quoted identifier. + + + + Fills the table schema. + + DataTable to fill. + The SQL select command. + SQL parameters. + + Usually you don't need to use this method. Internally it uses the and + methods to fill the table schema. If you create own connection component + that does not use nor connection or adapter, then you need to override this method. + + + + + Fills the table data. + + DataTable to fill. + The SQL select command. + SQL parameters. + + Usually you don't need to use this method. Internally it uses the and + methods to fill the table data. If you create own connection component + that does not use nor connection or adapter, then you need to override this method. + + + + + Creates table. + For internal use only. + + + + + Deletes table. + For internal use only. + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + The base class for all data components such as data sources, columns. + + + + + + + + Gets or sets alias of this object. + + + Alias is a human-friendly name of this object. It may contain any symbols (including + spaces and national symbols). + + + + + Gets or sets a value indicates that object is enabled and thus can be used in a report. + + + This property is used to hide an object from the Data Dictionary window. Hidden + objects are still accessible in the "Data|Choose Data Source..." menu. + + + + + Gets or sets a name of the data object. + + + This property is used to support FastReport.Net infrastructure. Do not use it directly. + + + + + Gets or sets a reference to the data object. + + + This property is used to support FastReport.Net infrastructure. Do not use it directly. + + + + + Gets a value indicates that this object has an alias. + + + + + + + + + + + + + + Initializes the object before running a report. + + + This method is used by the report engine, do not call it directly. + + + + + Initializes a new instance of the class with default settings. + + + + + Represents a connection to csv file-based database. + + This example shows how to add a new connection to the report. + + Report report1; + CsvDataConnection conn = new CsvDataConnection(); + conn.CsvFile = @"c:\data.csv"; + report1.Dictionary.Connections.Add(conn); + conn.CreateAllTables(); + + + + + + + + + + + + + + + + + + The default field name. + + + + + Gets or sets the path to .csv file. + + + + + Gets or sets the codepage of the .csv file. + + + + + Gets or sets the separator of the .csv file. + + + + + Gets or sets the value indicating that field names should be loaded from the first string of the file. + + + + + Gets or sets the value indicating that quotation marks should be removed. + + + + + Gets or sets the value indicating that field types fhould be converted. + + + + + Initializes a new instance of the class. + + + + + + + + + + + + + + + + + + + + + + + + + + Obsolete. Specifies a set of flags used to convert business objects into datasources. + + + + + Specifies no actions. + + + + + Allows using the fields of a business object. + + + + + Allows using properties of a business object with BrowsableAttribute only. + + + + + Specifies a kind of property. + + + + + Specifies the property of a simple type (such as integer). + + + + + Specifies the complex property such as class with own properties. + + + + + Specifies the property which is a list of objects (is of IEnumerable type). + + + + + Represents a datasource based on business object of IEnumerable type. + + + Do not use this class directly. To register a business object, use the + Report.RegisterData method. + + + + + Occurs when FastReport engine loads data source with data from a business object. + + + Use this event if you want to implement load-on-demand. Event handler must load the data into + your business object. + + + + + + + + + + + + + + + + + + + + Represents the method that will handle the LoadBusinessObject event. + + The source of the event. + The event data. + + + + Provides data for event. + + + + + Parent object for this data source. + + + + + Specifies the format for the column value. + + + + + The format will be determined automatically depending on the column's DataType. + + + + + Specifies the General format (no formatting). + + + + + Specifies the Number format. + + + + + Specifies the Currency format. + + + + + Specifies the Date format. + + + + + Specifies the Time format. + + + + + Specifies the Percent format. + + + + + Specifies the Boolean format. + + + + + Specifies the type of an object that will be created when you drop the + data column on a report page. + + + + + The column will create the object. + + + + + The column will create the object. + + + + + The column will create the object. + + + + + The column will create the object. + + + + + The column will create the custom object, specified in the + property. + + + + + Represents the collection of objects. + + + + + Gets or sets a column. + + The index of a column in this collection. + The column with specified index. + + + + Finds a column by its name. + + The name of a column. + The object if found; otherwise null. + + + + Finds a column by its alias. + + The alias of a column. + The object if found; otherwise null. + + + + Returns an unique column name based on given name. + + The base name. + The unique name. + + + + Returns an unique column alias based on given alias. + + The base alias. + The unique alias. + + + + Sorts the collection of columns. + + + + + Initializes a new instance of the class with default settings. + + The owner of this collection. + + + + Represents the comparer class that used for sorting the collection of columns. + + + + + + + + This class represents a single parameter to use in the "select" command. + + + + + Gets or sets the parameter's data type. + + + + + Gets or sets the size of parameter's data. + + + This property is used if the property is set to String. + + + + + Gets or sets an expression that returns the parameter's value. + + + If this property is not set, the property will be used + to obtain a parameter's value. + + + + + Gets or sets a default value for this parameter. + + + This value is used when you designing a report. Also it is used when report is running + in case if you don't provide a value for the property. + + + + + Gets or sets the parameter's value. + + + + + This property is not relevant to this class. + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Represents the collection of objects. + + + This class is used to store the list of parameters defined in the datasource. See the + property for more details. + + + + + Gets or sets a parameter. + + The index of a parameter in this collection. + The parameter with specified index. + + + + Finds a parameter by its name. + + The name of a parameter. + The object if found; otherwise null. + + + + Returns an unique parameter name based on given name. + + The base name. + The unique name. + + + + Initializes a new instance of the class with default settings. + + The owner of this collection. + + + + Represents the collection of objects. + + + + + Gets or sets a data connection. + + The index of a data connection in this collection. + The data connection with specified index. + + + + Initializes a new instance of the class with default settings. + + The owner of this collection. + + + + Represents the CsvDataConnection connection string builder. + + + Use this class to parse connection string returned by the CsvDataConnection class. + + + + + Gets or sets the path to .csv file. + + + + + Gets or sets the codepage of .csv file. + + + + + Gets or sets the separator. + + + + + Gets or sets the value indicating that field names should be loaded from the first string of the file. + + + + + Gets or sets the value indicating that quotation marks should be removed. + + + + + Gets or sets the value indicating that field types should be converted. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a specified connection string. + + The connection string. + + + + Base class for all CubeSources such as . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Represents the collection of objects. + + + + + Gets or sets a data source. + + The index of a data source in this collection. + The data source with specified index. + + + + Finds a CubeSource by its name. + + The name of a CubeSource. + The object if found; otherwise null. + + + + Finds a CubeSource by its alias. + + The alias of a CubeSource. + The object if found; otherwise null. + + + + Initializes a new instance of the class with default settings. + + The owner of this collection. + + + + Base class for all datasources such as . + + + + + Occurs when the FastReport engine loads data source with data. + + + Use this event if you want to implement load-on-demand. Event handler must load the data + into the data object which this datasource is bound to (for example, the + TableDataSource uses data from the DataTable object bound to + the Table property). + + + + + Gets a number of data rows in this datasource. + + + You should initialize the datasource by the Init method before using this property. + + + + + Gets a value indicating that datasource has more rows, that is the + is less than the . + + + You should initialize the datasource by the Init method before using this property. + Usually this property is used with the following code block: + + dataSource.Init(); + while (dataSource.HasMoreRows) + { + // do something... + dataSource.Next(); + } + + + + + + Gets the current data row. + + + This property is updated when you call the method. + + + + + Gets an index of current data row. + + + You should initialize the datasource by the Init method before using this property. + This property is updated when you call the method. + + + + + Gets data stored in a specified column. + + Alias of a column. + The column's value. + + You should initialize the datasource by the Init method before using this property. + + + + + Gets data stored in a specified column. + + The column. + The column's value. + + You should initialize the datasource by the Init method before using this property. + + + + + Forces loading of data for this datasource. + + + This property is false by default. Set it to true if you need to reload data + each time when the datasource initialized. Note that this may slow down the performance. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + Gets the additional filter settings. + + + + + Gets data stored in a specified column. + + The column alias. + An object that contains the data. + + + + Gets data stored in a specified column. + + The column. + An object that contains the data. + + + + Initializes the datasource schema. + + + This method is used to support the FastReport.Net infrastructure. Do not call it directly. + + + + + Loads the datasource with data. + + + This method is used to support the FastReport.Net infrastructure. Do not call it directly. + + Rows to fill with data. + + + + Initializes this datasource. + + + This method fills the table with data. You should always call it before using most of + datasource properties. + + + + + Initializes this datasource and applies the specified filter. + + The filter expression. + + + + Initializes this datasource, applies the specified filter and sorts the rows. + + The filter expression. + The collection of sort descriptors. + + + + Initializes this datasource and filters data rows according to the master-detail relation between + this datasource and parentData. + + Parent datasource. + + To use master-detail relation, you must define the object that describes + the relation, and add it to the Report.Dictionary.Relations collection. + + + + + Initializes this datasource and filters data rows according to the master-detail relation between + this datasource and parentData. Also applies the specified filter and sorts the rows. + + Parent datasource. + The filter expression. + The collection of sort descriptors. + + To use master-detail relation, you must define the object that describes + the relation, and add it to the Report.Dictionary.Relations collection. + + + + + Initializes this datasource and filters data rows according to the master-detail relation. + Also applies the specified filter and sorts the rows. + + The master-detail relation. + The filter expression. + The collection of sort descriptors. + + To use master-detail relation, you must define the object that describes + the relation, and add it to the Report.Dictionary.Relations collection. + + + + + Initializes the data source if it is not initialized yet. + + + + + Navigates to the first row. + + + You should initialize the datasource by the Init method before using this method. + + + + + Navigates to the next row. + + + You should initialize the datasource by the Init method before using this method. + + + + + Navigates to the prior row. + + + You should initialize the datasource by the Init method before using this method. + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Represents the collection of objects. + + + + + Gets or sets a data source. + + The index of a data source in this collection. + The data source with specified index. + + + + Finds a datasource by its name. + + The name of a datasource. + The object if found; otherwise null. + + + + Finds a datasource by its alias. + + The alias of a datasource. + The object if found; otherwise null. + + + + Sorts data sources by theirs names. + + + + + Initializes a new instance of the class with default settings. + + The owner of this collection. + + + + Represents the comparer class that used for sorting the collection of data sources. + + + + + + + + Determines how to filter the data value. + + + The "Data value" is a value contained in the datasource which you filter. + The "Selected value" is a value you have entered or selected in the dialog control. + + + + + Data value is equal to selected value. + + + + + Data value is not equal to selected value. + + + + + Data value is less than selected value. + + + + + Data value is less than or equal to selected value. + + + + + Data value is greater than selected value. + + + + + Data value is greater than or equal to selected value. + + + + + Data string contains selected value. + + + + + Data string does not contain selected value. + + + + + Data string starts with selected value. + + + + + Data string does not start with selected value. + + + + + Data string ends with selected value. + + + + + Data string does not end with selected value. + + + + + This class stores all report data items such as datasources, connections, relations, parameters, + system variables. + + + You can access the report dictionary via Report.Dictionary property. + + + + + Gets a collection of connection objects available in a report. + + + + + Gets a collection of datasources available in a report. + + + Usually you don't need to use this property. It contains only datasources + registered using the RegisterData method. All other datasources are contained + in connection objects and may be accessed via property. + + + + + Gets a collection of relations. + + + + + Gets a collection of parameters. + + + Another way to access parameters is to use the Report.Parameters property + which is actually a shortcut to this property. You also may use the Report.GetParameter + and Report.GetParameterValue methods. + + + + + Gets a collection of system variables like Date, PageNofM etc. + + + Another way to access a system variable is to use the Report.GetVariableValue method. + + + + + Gets a collection of totals. + + + Another way to get a total value is to use the Report.GetTotalValue method. + + + + + Gets a collection of cubesources available in a report. + + + Usually you don't need to use this property. It contains only cubesources + registered using the RegisterData method. + + + + + Gets a list of registered items. + + + This property is for internal use only. + + + + + + + + Registers a DataView. + + The DataView to register. + The name of the data object. + Determines wheter to enable the object or not. + + This method is for internal use only. + + + + + Registers a business object. + + The business object. + The name of the object. + Maximum level of data nesting. + Determines wheter to enable the object or not. + + This method is for internal use only. + + + + + Registers a CubeLink. + + The CubeLink to register. + The name of the data object. + Determines wheter to enable the object or not. + + This method is for internal use only. + + + + + Registers a data object. + + The object to register. + The name of the object. + Determines wheter to enable the object or not. + + This method is for internal use only. + + + + + Unregisters the previously registered data. + + The application data. + + + + Unregisters the previously registered data. + + The application data. + The name of the data. + + You must specify the same data and name as when you call RegisterData. + + + + + Re-registers the data registered before. + + + This method is for internal use only. + + + + + Re-registers the data registered before. + + + + + + Clears all registered data. + + + + + Enables or disables relations between data tables. + + + Call this method if you create master-detail report from code. This method enables + relation between two data tables which Enabled flag is set to true. Relations + whose parent and child tables are disabled, gets disabled too. + + + + + Creates unique name for data item such as connection, datasource, relation, parameter or total. + + The base name. + The new unique name. + + Use this method to create unique name of the data item. It is necessary when you create new + items in code to avoid conflicts with existing report items. + This example show how to add a new parameter: + + Report report1; + Parameter par = new Parameter(); + par.Name = report1.Dictionary.CreateUniqueName("Parameter"); + report1.Parameters.Add(par); + + + + + + + Creates unique alias for data item such as connection, datasource or relation. + + The base alias. + The new unique alias. + + Use this method to create unique alias of the data item. It is necessary when you create new + items in code to avoid conflicts with existing report items. + This example show how to add a new table: + + Report report1; + DataConnectionBase conn = report1.Dictionary.Connections.FindByName("Connection1"); + TableDataSource table = new TableDataSource(); + table.TableName = "Employees"; + table.Name = report1.Dictionary.CreateUniqueName("EmployeesTable"); + table.Alias = report1.Dictionary.CreateUniqueAlias("Employees"); + conn.Tables.Add(table); + + + + + + + Finds a data item such as connection, datasource, relation, parameter or total by its name. + + The item's name. + The data item if found; otherwise, null. + + + + Finds a data item such as connection, datasource or relation by its alias. + + The item's alias. + The data item if found; otherwise, null. + + + + Finds a datasource that matches the specified DataTable. + + The DataTable object to check. + The DataSourceBase object if found. + + This method is for internal use only. + + + + + Finds a data component that matches the specified reference name. + + The name to check. + The DataComponentBase object if found. + + This method is for internal use only. + + + + + + + + + + + Saves the dictionary to a stream. + + Stream to save to. + + + + Saves the dictionary to a file. + + The name of a file to save to. + + + + Loads the dictionary from a stream. + + The stream to load from. + + + + Loads the dictionary from a file. + + The name of a file to load from. + + + + Merges this dictionary with another Dictionary. + + Another dictionary to merge the data from. + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Represents the item registered in a dictionary. + + + + + Gets the item data. + + + + + Gets the item name. + + + + + Represents a report parameter that is used to pass user data to a report. + + + See for details about using parameters. + + + + + Gets or sets the name of parameter. + + + + + Gets or sets the type of parameter. + + + + + Gets or sets the value of parameter. + + + You may specify the static value in this property. Note: if the + property is not empty, it will be calculated and its value will be returned. + + + + + Gets or sets value of the parameter as a string. + + + + + Gets or sets an expression of the parameter. + + + This expression will be calculated each time you access a parameter's Value. + + + + + Gets or sets the description of a parameter. + + + + + Gets a collection of nested parameters. + + + Parameters can have child (nested) parameters. To get or set a nested + parameter's value, use the method. + + + + + Gets the full name of the parameter. This is useful to get the nested parameter's full name. + + + + + This property is not relevant to this class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Initializes a new instance of the class with specified name. + + + + + Represents the collection of objects. + + + + + Gets or sets a parameter. + + The index of a parameter in this collection. + The parameter with specified index. + + + + Finds a parameter by its name. + + The name of a parameter. + The object if found; otherwise null. + + + + Returns an unique parameter name based on given name. + + The base name. + The unique name. + + + + Copies the parameters from other collection. + + Parameters to copy from. + + + + Initializes a new instance of the class with default settings. + + The owner of this collection. + + + + Represents the collection of objects. + + + + + Gets or sets a relation. + + The index of a relation in this collection. + The relation with specified index. + + + + Finds a relation by its name. + + The name of a relation. + The object if found; otherwise null. + + + + Finds a relation by its alias. + + The alias of a relation. + The object if found; otherwise null. + + + + Finds a relation that is equal to specified one. + + Another relation to compare with. + The object if found; otherwise null. + + + + Initializes a new instance of the class with default settings. + + The owner of this collection. + + + + Represents a datasource based on DataView class. + + + This class is used to support FastReport.Net infrastructure, do not use it directly. + If you want to use data from DataView object, call the + method of the Report. + + + + + Represents the collection of system variables. + + + + + Represents the base class for system variables. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + Returns date and time of the report's start. + + + + + + + + Returns current page number. + + + + + + + + Returns total number of pages in the report. To use this variable, you need + to enable the report's double pass. + + + + + + + + Returns a string containing the current page number in a form "Page N". + + + + + + + + Returns a string containing the current page number and total pages in a form "Page N of M". + To use this variable, you need to enable the report's double pass. + + + + + + + + Returns data row number inside the group. This value is reset at the start of a new group. + + + + + + + + Returns absolute number of data row. This value is never reset at the start of a new group. + + + + + + + + Returns current page number. + This variable is actually a macro. Its value is substituted when the component is viewed in + the preview window. That means you cannot use it in an expression. + + + + + + + + Returns the number of total pages in the report. + This variable is actually a macro. Its value is substituted when the component is viewed in + the preview window. That means you cannot use it in an expression. + + + + + + + + Returns the name of the printed copy. + This variable is actually a macro. Its value is substituted when the component is viewed in + the preview window. That means you cannot use it in an expression. + + + + + + + + Returns a level of hierarchy in the hierarchical report. + + + + + + + + Returns the row number like "1.2.1" in the hierarchical report. + + + + + + + + Represents the collection of objects. + + + + + Gets or sets a data table. + + The index of a data table in this collection. + The data table with specified index. + + + + Initializes a new instance of the class with default settings. + + The owner of this collection. + + + + Specifies the total type. + + + + + The total returns sum of values. + + + + + The total returns minimal value. + + + + + The total returns maximal value. + + + + + The total returns average value. + + + + + The total returns number of values. + + + + + Represents the collection of objects. + + + + + Gets or sets a total. + + The index of a total in this collection. + The total with specified index. + + + + Finds a total by its name. + + The name of a total. + The object if found; otherwise null. + + + + Returns an unique total name based on given name. + + The base name. + The unique name. + + + + Initializes a new instance of the class with default settings. + + The owner of this collection. + + + + Represents a datasource based on DataView class. + + + This class is used to support FastReport.Net infrastructure, do not use it directly. + If you want to use data from DataView object, call the + method of the Report. + + + + + Gets the underlying DataView object. + + + + + + + + + + + + + + + + + Represents the XmlDataConnection connection string builder. + + + Use this class to parse connection string returned by the XmlDataConnection class. + + + + + Gets or sets the path to .xml file. + + + + + Gets or sets the path to .xsd file. + + + + + Initializes a new instance of the class with default settings. + + + + + Initializes a new instance of the class with + specified connection string. + + The connection string. + + + + Allows working with JsonObject + + + + + Returns child object for JsonArray + + + + + + + Returns child object for JsonObject + + + + + + + Returns count of child object + + + + + Returns true if this object is JsonArray + + + + + Returns true if this object is JsonObject + + + + + Returns list of JsonObject keys + + + + + Pars json text string and return a new JsonBase Object + + + + + + + returns true + + + + + + + Serialize this object to sb + + + + indent in space, 0 = without indent + + + + Contains some configuration properties and settings that will be applied to the FastReport.Net + environment, including Report, Designer and Preview components. + + + Contains some configuration properties and settings that will be applied to the FastReport.Net + environment, including Report, Designer and Preview components. + + + + + Gets the autosaved report + + + + + Gets the atuosaved report path + + + + + Gets the folder to store auto save files + + + + + Gets or sets the settings for the report designer window. + + + + + Gets a value indicating that the ASP.NET hosting permission level is set to full trust. + + + + + Gets or sets a value indicating whether SplashScreen should be displayed while loading designer + + + + + Gets or sets the UI style. + + + This property affects both designer and preview windows. + + + + + Gets or sets a value indicating whether the Ribbon UI should be used + + + + + Gets or sets a value that determines whether to disable some functionality to run in web mode. + + + Use this property if you use FastReport in ASP.Net. Set this property to true before + you access any FastReport.Net objects. + + + + + Gets or sets a value indicating whether Welcome window feature enabled. + If false, interface elements associated with the Welcome window will not be visible. + + + + + Gets or sets a value indicating whether Welcome window shoud be displayed on startup + + + + + Restores the form state from the configuration file. + + The form to restore. + + + + Saves the form state to the configuration file. + + The form to save. + + + + Saves the form state to the configuration file. + + The name of the form. + True if the form is in maximized state. + True if the form is in minimized state. + The location of the form. + The size of the form. + + + + Is necessary to process abort and some other events in parallel + + + + + Checks the visibility of rectangle area on currently connected screens with small gap. + + Rectanle area for checking. + True for visible rect. + + + + Gets or sets the settings for the preview window. + + + + + Gets or sets the optimization of strings. Is experimental feature. + + + + + Enable or disable the compression in files with prepared reports (fpx). + + + + + Gets the application folder. + + + + + Gets an english culture information for localization purposes + + + + + Gets or sets the path used to load/save the configuration file. + + + By default, the configuration file is saved to the application local data folder + (C:\Documents and Settings\User_Name\Local Settings\Application Data\FastReport\). + Set this property to "" if you want to store the configuration file in the application folder. + + + + + Gets or sets the path used to font.list file. + + + By default, the font.list file is saved to the FastReport.config folder + If WebMode enabled (or config file path is null), then file is saved in the application folder. + + + + + Gets or sets the settings for the Report component. + + + + + Gets or sets a value indicating whether RTL layout should be used. + + + + + Gets or sets a value indicating whether hotkeys should be disabled. + + + + + Gets the root item of config xml. + + + + + Gets or sets the path to the temporary folder used to store temporary files. + + + The default value is null, so the system temp folder will be used. + + + + + Gets the path to the system temporary folder used to store temporary files. + + + + + Gets FastReport version. + + + + + Gets or sets the settings for the "Send Email" window. + + + + + Get access to font collection + + + + + Holds the information about the registered object. + + + + + Image. + + + + + Image index. + + + + + Button index. + + + + + Name of object or category. + + + + + The registered object. + + + + + The registered function. + + + + + Tooltip text. + + + + + Flags that will be used to create an object instance in the designer. + + + + + Indicates whether this object can be inserted several times simultaneously. + + + This is applied to Line object only. + + + + + Gets or sets the enabled flag for the object. + + + + + List of subitems. + + + + + Enumerates all objects. + + List that will contain enumerated items. + + + + + + + + + + + + + + + + + + + Contains all registered report items such as objects, export filters, wizards. + + + Use this class to register own components, wizards, export filters or another items that + need to be serialized to/from a report file. + + + + // register own wizard + RegisteredObjects.AddWizard(typeof(MyWizard), myWizBmp, "My Wizard", true); + // register own export filter + RegisteredObjects.AddExport(typeof(MyExport), "My Export"); + // register own report object + RegisteredObjects.Add(typeof(MyObject), "ReportPage", myObjBmp, "My Object"); + + + + + + Registers a new cloud storage client. + + Type of cloud storage client. + Text for cloud storage client's menu item. + + The obj must be of type. + + + + // register own cloud storage client + RegisteredObjects.AddCloud(typeof(MyCloud), "My Cloud"); + + + + + + Registers a new messenger. + + Type of messenger. + Text messenger's menu item. + + The obj must be of type. + + + + // register own messenger + RegisteredObjects.AddMessenger(typeof(MyMessenger), "My Messenger"); + + + + + + Registers a new wizard. + + Type of wizard. + Image for wizard item. + Text for wizard item. + true if this wizard creates some items in existing report. + + The obj must be of type. + + This example shows how to register own wizard that is used to create some items in the + current report. If you want to register a wizard that will be used to create a new report, + set the isReportItemWizard to false. + + // register own wizard + RegisteredObjects.AddWizard(typeof(MyWizard), myWizBmp, "My Wizard", true); + + + + + + + + + + + + + + Root object for all registered objects. + + + + + Checks whether the specified type is registered already. + + Type to check. + true if such type is registered. + + + + Registers a category that may contain several report objects. + + Category name. + Image for category button. + Text for category button. + + Category is a button on the "Objects" toolbar that shows context menu with nested items + when you click it. Consider using categories if you register several report objects. It can + save space on the "Objects" toolbar. For example, FastReport registers one category called "Shapes" + that contains the LineObject and different types of ShapeObject. + The name of category must starts either with "ReportPage," or "DialogPage," depending on + what kind of controls do you need to regiter in this category: report objects or dialog controls. + After the comma, specify the category name. So the full category name that you need to specify + in the name parameter, must be something like this: "ReportPage,Shapes". + + When register an object inside a category, you must specify the full category name in the + category parameter of the Add method. + + + + + Register Export category. + + Category name. + Category text. + + + + Registers a new export filter. + + Type of export filter. + Text for export filter's menu item. + + The obj must be of type. + + + + // register own export filter + RegisteredObjects.AddExport(typeof(MyExport), "My Export"); + + + + + + + + + + + Registers data connection. + + Type of connection. + + The obj must be of type. + + + + // register data connection + RegisteredObjects.AddConnection(typeof(MsSqlDataConnection)); + + + + + + Registers custom data connection. + + Type of connection. + Name of connection. + + The obj must be of type. + + + + // register data connection + RegisteredObjects.AddConnection(typeof(MyDataConnection), "My Data Connection"); + + + + + + Registers an object in the specified category. + + Type of object to register. + Name of category to register in. + Index of image for object's button. + + + + Registers an object in the specified category. + + Type of object to register. + Name of category to register in. + Index of image for object's button. + Index of object's button in toolbar. + + + + Registers an object in the specified category with button's image and text. + + Type of object to register. + Name of category to register in. + Image for object's button. + Text for object's button. + + You must specify either the page type name or existing category name in the category parameter. + The report objects must be registered in the "ReportPage" category or custom category that is + registered in the "ReportPage" as well. The dialog controls must be registered in the "DialogPage" + category or custom category that is registered in the "DialogPage" as well. + If you want to register an object that needs to be serialized, but you don't want + to show it on the toolbar, pass empty string in the category parameter. + + + + + // register the report object + RegisteredObjects.Add(typeof(MyReportObject), "ReportPage", myReportObjectBmp, "My Report Object"); + // register the dialog control + RegisteredObjects.Add(typeof(MyDialogControl), "DialogPage", myDialogControlBmp, "My Dialog Control"); + // add a category and register an object inside it + RegisteredObjects.AddCategory("ReportPage,MyCategory", myCategoryBmp, "My Category"); + // register another report object in MyCategory + RegisteredObjects.Add(typeof(MyReportObject), "ReportPage,MyCategory", + anotherReportObjectBmp, "Another Report Object"); + + + + + + Registers an object in the specified category with button's image, text and object's flags. + + Type of object to register. + Name of category to register in. + Image for object's button. + Text for object's button. + Integer value that will be passed to object's OnBeforeInsert method. + + See the method for more details. + To learn about flags, see the method. + + + + + Registers an object in the specified category with button's image, text, object's flags and multi-insert flag. + + Type of object to register. + Name of category to register in. + Image for object's button. + Text for object's button. + Integer value that will be passed to object's OnBeforeInsert method. + Specifies whether the object may be inserted several times until you + select the "arrow" button or insert another object. + + See the method for more details. + To learn about flags, see the method. + + + + + Adds a new function category. + + Short name of category. + Display name of category. + + Short name is used to reference the category in the subsequent + method call. It may be any value, for example, "MyFuncs". Display name of category is displayed + in the "Data" window. In may be, for example, "My Functions". + The following standard categories are registered by default: + + + "Math" + + + "Text" + + + "DateTime" + + + "Formatting" + + + "Conversion" + + + "ProgramFlow" + + + + + This example shows how to register a new category: + + RegisteredObjects.AddFunctionCategory("MyFuncs", "My Functions"); + + + + + + Adds a new function into the specified category. + + MethodInfo containing all necessary information about the function. + The name of category to register the function in. + + Your function must be a static, public method of a public class. + The following standard categories are registered by default: + + + "Math" + + + "Text" + + + "DateTime" + + + "Formatting" + + + "Conversion" + + + "ProgramFlow" + + + You may use one of the standard categories, or create a new category by the + method call. + FastReport uses XML comments to display your function's description. + To generate XML comments, enable it in your project's properties + ("Project|Properties..." menu, "Build" tab, enable the "XML documentation file" checkbox). + + + The following example shows how to register own functions: + + public static class MyFunctions + { + /// <summary> + /// Converts a specified string to uppercase. + /// </summary> + /// <param name="s">The string to convert.</param> + /// <returns>A string in uppercase.</returns> + public static string MyUpperCase(string s) + { + return s == null ? "" : s.ToUpper(); + } + + /// <summary> + /// Returns the larger of two 32-bit signed integers. + /// </summary> + /// <param name="val1">The first of two values to compare.</param> + /// <param name="val2">The second of two values to compare.</param> + /// <returns>Parameter val1 or val2, whichever is larger.</returns> + public static int MyMaximum(int val1, int val2) + { + return Math.Max(val1, val2); + } + + /// <summary> + /// Returns the larger of two 64-bit signed integers. + /// </summary> + /// <param name="val1">The first of two values to compare.</param> + /// <param name="val2">The second of two values to compare.</param> + /// <returns>Parameter val1 or val2, whichever is larger.</returns> + public static long MyMaximum(long val1, long val2) + { + return Math.Max(val1, val2); + } + } + + // register a category + RegisteredObjects.AddFunctionCategory("MyFuncs", "My Functions"); + + // obtain MethodInfo for our functions + Type myType = typeof(MyFunctions); + MethodInfo myUpperCaseFunc = myType.GetMethod("MyUpperCase"); + MethodInfo myMaximumIntFunc = myType.GetMethod("MyMaximum", new Type[] { typeof(int), typeof(int) }); + MethodInfo myMaximumLongFunc = myType.GetMethod("MyMaximum", new Type[] { typeof(long), typeof(long) }); + + // register simple function + RegisteredObjects.AddFunction(myUpperCaseFunc, "MyFuncs"); + + // register overridden functions + RegisteredObjects.AddFunction(myMaximumIntFunc, "MyFuncs,MyMaximum"); + RegisteredObjects.AddFunction(myMaximumLongFunc, "MyFuncs,MyMaximum"); + + + + + + Finds the registered object's info. + + The type of object to find. + The object's info. + This method can be used to disable some objects, for example: + RegisteredObjects.FindObject(typeof(PDFExport)).Enabled = false; + + + + + Register and override the method with method name in the type. + For property use the property name and _Get or _Set suffix. + + Type for registering method + Name of method fir registering + Method for registering + + + + Gets the method or null if method is not found + + Type for method finding + Name for method finfing + Use True value for inheritance the method from base type, use false for get the method only from the this type + + + + + Used to get localized values from the language resource file. + + + The resource file used by default is english. To load another locale, call + the method. It should be done at application start + before you use any FastReport classes. + + + + + Gets the standard images used in FastReport as an ImageList. + + ImageList object that contains standard images. + + FastReport contains about 240 truecolor images of 16x16 size that are stored in one + big image side-by-side. This image can be found in FastReport resources (the "buttons.png" resource). + + + + + Gets an image with specified index. + + Image index (zero-based). + The image with specified index. + + FastReport contains about 240 truecolor images of 16x16 size that are stored in one + big image side-by-side. This image can be found in FastReport resources (the "buttons.png" resource). + + + + + Gets an image with specified index and converts it to Icon. + + Image index (zero-based). + The Icon object. + + + + Gets or set the folder that contains localization files (*.frl). + + + + + Returns the current UI locale name, for example "en". + + + + + Loads the locale from a file. + + The name of the file that contains localized strings. + + + + Loads the locale from a stream. + + The stream that contains localized strings. + + + + Loads the english locale. + + + + + Gets a string with specified ID. + + The resource ID. + The localized string. + + Since the locale file is xml-based, it may contain several xml node levels. For example, + the file contains the following items: + + <Objects> + <Report Text="Report"/> + <Bands Text="Bands"> + <ReportTitle Text="Report Title"/> + </Bands> + </Objects> + + To get the localized "ReportTitle" value, you should pass the following ID + to this method: "Objects,Bands,ReportTitle". + + + + + Get builtin string. + + + + + + + Replaces the specified locale string with the new value. + + Comma-separated path to the existing locale string. + The new string. + + Use this method if you want to replace some existing locale value with the new one. + + + + Res.Set("Messages,SaveChanges", "My text that will appear when you close the designer"); + + + + + + Tries to get a string with specified ID. + + The resource ID. + The localized value, if specified ID exists; otherwise, the ID itself. + + + + Tries to get builtin string with specified ID. + + + + + + + Checks if specified ID exists. + + The resource ID. + true if specified ID exists. + + + + Resource loader class. + + + + + Gets a bitmap from specified assembly resource. + + Assembly name. + Resource name. + Bitmap object. + + + + Gets a bitmap from specified FastReport assembly resource. + + Resource name. + Bitmap object. + + + + Gets a cursor from specified assembly resource. + + Assembly name. + Resource name. + Cursor object. + + + + Gets a cursor from specified FastReport assembly resource. + + Resource name. + Cursor object. + + + + Gets an icon from specified assembly resource. + + Assembly name. + Resource name. + Icon object. + + + + Gets an icon from specified FastReport assembly resource. + + Resource name. + Icon object. + + + + Gets a stream from specified assembly resource. + + Assembly name. + Resource name. + Stream object. + + + + Gets a stream from FastReport assembly resource. + + Resource name. + Stream object. + + + + Gets a stream from specified assembly resource and unpacks it. + + Assembly name. + Resource name. + Stream object. + + + + Gets a stream from specified FastReport assembly resource and unpacks it. + + Resource name. + Stream object. + + + + The style of FastReport user interface. + + + + + Specifies the Microsoft Office 2003 style (blue). + + + + + Specifies the Microsoft Office 2007 style (blue). + + + + + Specifies the Microsoft Office 2007 style (silver). + + + + + Specifies the Microsoft Office 2007 style (black). + + + + + Specifies the Office 2010 (Blue) style. + + + + + Specifies the Office 2010 (Silver) style. + + + + + Specifies the Office 2010 (Black) style. + + + + + Specifies the Office 2013 style. + + + + + Specifies the Microsoft Visual Studio 2005 style. + + + + + Specifies the Visual Studio 2010 style. + + + + + Specifies the Visual Studio 2012 (Light) style. + + + + + Specifies the Microsoft Vista style (black). + + + + + Contains conversion methods between FastReport's UIStyle to various enums. + + + + + Contains visual style names. + + + + + Converts FastReport's UIStyle to eDotNetBarStyle. + + Style to convert. + Value of eDotNetBarStyle type. + + + + Converts FastReport's UIStyle to eTabStripStyle. + + Style to convert. + Value of eTabStripStyle type. + + + + Converts FastReport's UIStyle to eTabStripStyle. + + Style to convert. + Value of eTabStripStyle type. + + + + Converts FastReport's UIStyle to eOffice2007ColorScheme. + + Style to convert. + Value of eOffice2007ColorScheme type. + + + + Converts FastReport's UIStyle to eColorSchemeStyle. + + Style to convert. + Value of eColorSchemeStyle type. + + + + Returns app workspace color for the given style. + + UI style. + The color. + + + + Returns control color for the given style. + + UI style. + The color. + + + + Contains methods to call common editors. + + + Use this class if you are writing a new component for FastReport. + + + + + Invokes the expression editor. + + A reference to the report. + The expression to edit. + The new expression. + + + + Invokes the border editor. + + The Border to edit. + The new border. + + + + Invokes the data band columns editor. + + The data band columns to edit. + + + + + Invokes the fill editor. + + The fill to edit. + The new fill. + + + + Invokes the outline editor. + + The outline to edit. + The new outline. + + + + Provides the message functions. + + + + + Shows the Message Box with error message. + + + + + + Shows Message Box with confirmation. + + + + + + + + Shows information Message Box. + + + + + + The profiler. + + + + + Starts the profiler. + + + + + Finishes the profiler and displays results. + + + + + Base class for plugin's assembly initializer. + + + FastReport has an open architecture. That means you can extend it with own classes + such as report objects, wizards, export filters. Usually such classes are + placed in separate dlls (plugins). FastReport has mechanism to load plugin dlls. You can specify + which plugins to load at first start, in the FastReport configuration file (by default it is located in the + C:\Documents and Settings\User_Name\Local Settings\Application Data\FastReport\FastReport.config file). + To do this, add an xml item with your plugin name inside the <Plugins> item: + + <?xml version="1.0" encoding="utf-8"?> + <Config> + <Plugins> + <Plugin Name="c:\Program Files\MyProgram\MyPlugin.dll"/> + </Plugins> + </Config> + + When you run your application and use the Report object first time, all plugins will be loaded. + To register objects contained in a plugin, FastReport searches for classes of type + AssemblyInitializerBase and instantiates them. + Use this class to register custom report objects, controls, wizards, exports that + are contained in the assembly. To do this, make your own class of the AssemblyInitializerBase + type and override its default constructor. In the constructor, call RegisteredObjects.Add + methods to register all necessary items. + + + + + Registers plugins contained in this assembly. + + + This constructor is called automatically when the assembly is loaded. + + This example show how to create own assembly initializer to register own items. + + public class MyAssemblyInitializer : AssemblyInitializerBase + { + public MyAssemblyInitializer() + { + // register own wizard + RegisteredObjects.AddWizard(typeof(MyWizard), myWizBmp, "My Wizard", true); + // register own export filter + RegisteredObjects.AddExport(typeof(MyExport), "My Export"); + // register own report object + RegisteredObjects.Add(typeof(MyObject), "ReportPage", myObjBmp, "My Object"); + } + } + + + + + + Source of image, only for inline img tag + + + + + Class for ACMYK color conversions + + + + + Alpha transparency 0..255 + + + + + Cyan 0..100 + + + + + Magenta 0..100 + + + + + Yellow 0..100 + + + + + Black 0..100 + + + + + Returns ACMYK as string. + + + + + + Gets CMYKA from string. + + + + + + Converts Color value to ACMYK + + + + + + Converts separate ARGB values in ACMYK + + + + + + + + + Returns ARGB color value + + + + + + Creates CMYKColor from ARGB values + + + + + + + + + Creates CMYKColor from ACMYK values + + + + + + + + + + Creates CMYKColor from string (comma separated values) + + + + + + Creates CMYKColor from Color value + + + + + + Color Utilities + + + + + Return true for CMYK Jpeg image + + + + + + + Contains methods that peform string to object and vice versa conversions. + + + + + Converts an object to a string. + + The object to convert. + The string that contains the converted value. + + + + Converts a value to a string using the specified converter. + + The object to convert. + The type of converter. + The string that contains the converted value. + + + + Converts a string value to the specified data type. + + The data type to convert to. + The string to convert from. + The object of type specified in the type parameter that contains + a converted value. + + + + Converts a string to an object using the specified converter. + + The string to convert. + The type of converter. + The object that contains the converted value. + + + + Converts a string containing special symbols to the xml-compatible string. + + The string to convert. + The result string. + + This method replaces some special symbols like <, > into xml-compatible + form: &lt;, &gt;. To convert such string back to original form, use the + method. + + + + + Converts a string containing special symbols to the xml-compatible string. + + The string to convert. + Determines whether it is necessary to convert cr-lf symbols to xml form. + The result string. + + + + Converts a value to xml-compatible string. + + The value to convert. + The result string. + + + + Convert the xml-compatible string to the regular one. + + The string to convert. + The result string. + + This is counterpart to the method. + + + + + Decreases the precision of floating-point value. + + The initial value. + The number of decimal digits in the fraction. + The value with lesser precision. + + + + Converts a string value to the float. + + The string value to convert. + The float value. + + Both "." or "," decimal separators are allowed. + + + + + Converts a string value to the float. + + The string value to convert. + Indicates whether to ignore non-digit symbols. + The float value. + + + + Converts a string value to the float. + + The string value to convert. + Decimal separator. + The float value. + + + + Converts a string value to the float. + + The string value to convert. + Decimal separator. + Indicates whether to ignore non-digit symbols. + The float value. + + + + Converts the string containing several text lines to a collection of strings. + + The string to convert. + The collection instance. + + + + Converts a collection of strings to a string. + + The collection to convert. + The string that contains all lines from the collection. + + + + Converts null value to 0, false, empty string, depending on type. + + The data type. + The value of the type data type. + + + + Converts string value to byte[]. + + The string to convert + The value of the byte[] data type. + + + + Converts a string to NameValueCollection. + + The string to convert. + The NameValueCollection that contains the name/value pairs. + + + + Convert &amp;&Tab;&quot; etc to symbol and return result as string + + String for processing + Position for processing + Result of processing + True if successful + + + + Convert &amp;&Tab;&quot; etc to symbol and return result as string + + String for processing + Position for processing + Append result of processing to FastString + True if successful + + + + Calc the Crc32 checksum + + + + + Caclulate Streams checksum. + + + + + + + Calculate byte array checksum. + + + + + + + Calculate string checksum. + + + + + + + Begin the checksum + + + + + + Update the checksum + + + + + + + + + + End the checksum. + + + + + + + Contains methods used to crypt/decrypt a data. + + + + + Sets the password that is used to crypt connection strings stored in a report. + + + See the property for more details. + + + + + Crypts a stream using specified password. + + The destination stream that will receive the crypted data. + The password. + The stream that you need to write to. + + Pass the stream you need to write to, to the dest parameter. Write your data to the + stream that this method returns. When you close this stream, the dest stream will be + closed too and contains the crypted data. + + + + + Decrypts a stream using specified password. + + Stream that contains crypted data. + The password. + The stream that contains decrypted data. + + You should read from the stream that this method returns. + + + + + Checks if the stream contains a crypt signature. + + Stream to check. + true if stream is crypted. + + + + Encrypts the string using the default password. + + String to encrypt. + The encrypted string. + + The password used to encrypt a string can be set via property. + You also may use the method if you want to + specify another password. + + + + + Encrypts the string using specified password. + + String to encrypt. + The password. + The encrypted string. + + + + Decrypts the string using the default password. + + String to decrypt. + The decrypted string. + + The password used to decrypt a string can be set via property. + You also may use the method if you want to + specify another password. + + + + + Decrypts the string using specified password. + + String to decrypt. + The password. + The decrypted string. + + + + Computes hash of specified stream. Initial position in stream will be saved. + + Initial stream + + + + + Computes hash of specified array. + + Initial array + + + + + Computes hash of specified array. + + Initial array + + + + + MurmurHash is a non-cryptographic hash function suitable for general hash-based lookup. + It was created by Austin Appleby in 2008 and is currently hosted on Github along with its test suite named 'SMHasher'. + It also exists in a number of variants, all of which have been released into the public domain. + The name comes from two basic operations, multiply (MU) and rotate (R), used in its inner loop. + https://en.wikipedia.org/wiki/MurmurHash + Implementation of Murmur3 Hash by Adam Horvath + http://blog.teamleadnet.com/2012/08/murmurhash3-ultra-fast-hash-algorithm.html + + + + + READ_SIZE + + + + + ComputeHash function + + + + + + + Gets the Hash + + + + + Used to draw a text with non-standard angle or justification. + + + + + Draws a string. + + String to draw. + Graphics object to draw on. + Font that used to draw text. + Brush that determines the color and texture of the drawn text. + RectangleF structure that specifies the location of the drawn text. + StringFormat that specifies formatting attributes, such as line spacing and alignment, that are applied to the drawn text. + Horizontal alignment of the text. + Width ratio of the font used to draw a string. + Line height, in pixels. + Angle of the text, in degrees. + Indicates whther to draw string close to the printout. + Force justify for the last line. + + + + Initializes a new instance of the DrawText class with default settings. + + + + + The exception that is thrown when the user tried to set object's name that is already exists. + + + + + The exception that is thrown when the user tried to rename an object that is introduced in the ancestor report. + + + + + The exception that is thrown when loading bad formed xml report file. + + + + + The exception that is thrown when loading an encrypted report with wrong password. + + + + + The exception that is thrown if there is an error in the report's script code. + + + + + The exception that is thrown when trying to set an object's Parent property to + an object that not accepts children of this type. + + + + + The exception that is thrown when trying to load a report file that contains reference to an + unknown object type. + + + + + The exception that is thrown when initializing a table datasource which + TableName or Alias is not set properly. + + + + + The exception that is thrown when trying to access a row of a datasource that is not initialized yet. + + + + + The exception that is thrown if an error occurs in the TableObject.ManualBuild event. + + + + + The exception that is thrown if an error occurs in the MatrixObject.ManualBuild event. + + + + + The exception that is thrown if a report object's Name property is set to wrong value. + + + + + The exception that is thrown if an unknown value is supplied to some methods dealing with totals, variables etc. + + + + + throws this exception if an error occurs in the SaveReport method. + See inner exception for detailed information. + + + + + The exception that is thrown when the Group Header has no group condition. + + + + + The helper class used to create unique component names using the fastest method. + + + Note: you can create unique component's name using its CreateUniqueName method. + However, it is very slow and can't be used in some situations (when you create a report + layout in a code and have a lot of objects on a page). + + This example demonstrates how to use this class. + + FastNameCreator nameCreator = new FastNameCreator(Report.AllObjects); + foreach (Base c in Report.AllObjects) + { + if (c.Name == "") + nameCreator.CreateUniqueName(c); + } + + + + + + Creates the unique name for the given object. + + The object to create name for. + + + + Initializes a new instance of the FastNameCreator class with collection of + existing report objects. + + The collection of existing report objects. + + + + Fast alternative of StringBuilder. + + + + + Gets the Length of string. + + + + + Gets or sets the chars of string. + + + Char value + + + + Gets StringBuilder + + + + + Initialize the new array for chars. + + Length of initial array. + + + + Checks the empty array. + + True if string is empty. + + + + Converts the array in string. + + String value. + + + + Clears the string. + + FastString object. + + + + Appends the string by string value. + + String value. + FastString object. + + + + Appends the string by string value. + + String value. + FastString object. + + + + Append formatted string. + + + + + + + + Appends new line. + + FastString object. + + + + Appends the string by char value. + + Char value. + FastString object. + + + + Appends the another FastString object. + + FastString object. + FastString object. + + + + Appends the string by object data. + + Object value. + FastString object. + + + + Copies the substring in char array. + + Start index in source. + Destination array. + Destination index. + Count of chars + + + + Removes substring. + + Start index of removed string. + Length of removed string. + FastString object. + + + + Inserts string. + + Start index in existing string. + Value of inserting string. + FastString object. + + + + Replacing the substring on other. + + Old string value. + New string value. + FastString object. + + + + Index of substring. + + Substring for search. + Sarting position for search. + Position of substring. + + + + Compare of substring in position. + + Starting index for comparsion. + Value for compare. + True if substring is identical in position. + + + + Returns the substring. + + Starting index. + Length of substring. + Substring. + + + + Creates the new FastString object with initial capacity. + + Initial capacity. + + + + Creates the new FastString object with default capacity. + + + + + Creates the new FastString object from initial string. + + + + + + Represents a collection of float values. + + + + + Gets or sets the value at the specified index. + + Index of a value. + The value at the specified index. + + + + Adds the specified values to the end of this collection. + + + + + + Adds a value to the end of this collection. + + Value to add. + Index of the added value. + + + + Inserts a value into this collection at the specified index. + + The zero-based index at which value should be inserted. + The value to insert. + + + + Removes the specified value from the collection. + + Value to remove. + + + + Returns the zero-based index of the first occurrence of a value. + + The value to locate in the collection. + The zero-based index of the first occurrence of value within the entire collection, if found; + otherwise, -1. + + + + Determines whether a value is in the collection. + + The value to locate in the collection. + true if value is found in the collection; otherwise, false. + + + + Copies values from another collection. + + Collection to copy from. + + + + Represents a collection of FastReport base objects. + + + + + Gets an owner of this collection. + + + + + Adds the specified elements to the end of this collection. + + Range of elements. + + + + Adds the specified elements to the end of this collection. + + Collection of elements. + + + + Adds an object to the end of this collection. + + Object to add. + Index of the added object. + + + + Inserts an object into this collection at the specified index. + + The zero-based index at which value should be inserted. + The object to insert. + + + + Removes the specified object from the collection. + + Object to remove. + + + + Returns the zero-based index of the first occurrence of an object. + + The object to locate in the collection. + The zero-based index of the first occurrence of value within the entire collection, if found; + otherwise, -1. + + + + Determines whether an element is in the collection. + + The object to locate in the collection. + true if object is found in the collection; otherwise, false. + + + + Returns an array of collection items. + + + + + + Determines whether two collections are equal. + + The collection to compare with. + true if collections are equal; false otherwise. + + + + Copies the content to another collection. + + The collection to copy to. + + + + + + + + + + + + + Initializes a new instance of the FRCollectionBase class with default settings. + + + + + Initializes a new instance of the FRCollectionBase class with specified owner. + + The owner of this collection. + + + + Specifies the main mode of the designer's workspace. + + + + + Specifies selection mode. + + + + + Specifies insertion mode. + + + + + Specifies drag-drop mode. + + + + + Specifies the additional mode of the designer's workspace. + + + + + Specifies default mode. + + + + + Indicates that user moves the selected objects. + + + + + Indicates that user resizes the selected objects. + + + + + Indicates that user draw the selection rectangle. + + + + + Specifies a custom mode handled by the object. + + + + + Provides a data for mouse events. + + + + + The X mouse coordinate. + + + + + The Y mouse coordinate. + + + + + Current state of mouse buttons. + + + + + Current keyboard state. + + + + + Indicates that current object was handled the mouse message. + + + + + The delta of the mouse movement. + + + + + The mouse wheel delta. + + + + + Current cursor shape. + + + + + Additional mode of the designer's workspace. + + + + + Current sizing point if Mode is set to Size. + + + + + Current selection rectangle if mode is set to SelectionRect. + + + + + Active object that handles the mouse event. + + + + + The source object of drag-drop operation. + + + + + Multiple sources objects of drag-drop operation. + + + + + The target object of drag-drop operation. + + + + + The message to show when drag source is over the object. + + + + + Additional data supplied and handled by report objects. + + + + + Specifies the sizing point used to resize an object by mouse. + + + + + No sizing point. + + + + + Specifies left-top sizing point. + + + + + Specifies left-bottom sizing point. + + + + + Specifies right-top sizing point. + + + + + Specifies right-bottom sizing point. + + + + + Specifies top-center sizing point. + + + + + Specifies bottom-center sizing point. + + + + + Specifies left-center sizing point. + + + + + Specifies right-center sizing point. + + + + + Specifies a selection point used to resize an object. + + + + + The X coordinate of the point. + + + + + The Y coordinate of the point. + + + + + The size mode. + + + + + Initializes a new instance of the SelectionPoint class with specified location and size mode. + + The X coordinate. + The Y coordinate. + Size mode. + + + + Provides a data for paint event. + + + + + Gets a Graphics object to draw on. + + + + + Gets the X scale factor. + + + + + Gets the Y scale factor. + + + + + Gets the cache that contains graphics objects. + + + + + Initializes a new instance of the FRPaintEventArgs class with specified settings. + + Graphics object to draw on. + X scale factor. + Y scale factor. + Cache that contains graphics objects. + + + + The reader used to deserialize object's properties from a report file. + + + + + Gets a string that contains errors occured during the load. + + + + + Gets the current item name. + + + + + Gets or sets a value indicating whther is necessary to read the object's children. + + + + + Returns Root element for this reader + + + + + Gets or sets target of serialization. + + + + + Reads the specified object. + + The object to read. + + The object must implement the interface. This method + invokes the Deserialize method of the object. + + This example demonstrates the use of ReadProperties, ReadChildren, + NextItem, Read methods. + + public void Deserialize(FRReader reader) + { + // read simple properties like "Text", complex properties like "Border.Lines" + reader.ReadProperties(this); + + // moves the current reader item + while (reader.NextItem()) + { + // read the "Styles" collection + if (String.Compare(reader.ItemName, "Styles", true) == 0) + reader.Read(Styles); + else if (reader.ReadChildren) + { + // if read of children is enabled, read them + Base obj = reader.Read(); + if (obj != null) + obj.Parent = this; + } + } + } + + + + + + Reads an object from current xml node. + + The object. + + This method creates an instance of object described by the current xml node, then invokes + its Deserialize method. + + This example demonstrates the use of ReadProperties, ReadChildren, + NextItem, Read methods. + + public void Deserialize(FRReader reader) + { + // read simple properties like "Text", complex properties like "Border.Lines" + reader.ReadProperties(this); + + // moves the current reader item + while (reader.NextItem()) + { + // read the "Styles" collection + if (String.Compare(reader.ItemName, "Styles", true) == 0) + reader.Read(Styles); + else if (reader.ReadChildren) + { + // if read of children is enabled, read them + Base obj = reader.Read(); + if (obj != null) + obj.Parent = this; + } + } + } + + + + + + Reads properties of specified object. + + The object to read. + + This method reads simple properties like "Text", "Border.Lines" etc. for specified object. + To read nested properties like collections, you should override the + method of an object. + + This example demonstrates the use of ReadProperties, ReadChildren, + NextItem, Read methods. + + public void Deserialize(FRReader reader) + { + // read simple properties like "Text", complex properties like "Border.Lines" + reader.ReadProperties(this); + + // moves the current reader item + while (reader.NextItem()) + { + // read the "Styles" collection + if (String.Compare(reader.ItemName, "Styles", true) == 0) + reader.Read(Styles); + else if (reader.ReadChildren) + { + // if read of children is enabled, read them + Base obj = reader.Read(); + if (obj != null) + obj.Parent = this; + } + } + } + + + + + + Moves the current xml item. + + false if there is no more items to move on; true otherwise. + + This method is used to read child objects. + + This example demonstrates the use of ReadProperties, ReadChildren, + NextItem, Read methods. + + public void Deserialize(FRReader reader) + { + // read simple properties like "Text", complex properties like "Border.Lines" + reader.ReadProperties(this); + + // moves the current reader item + while (reader.NextItem()) + { + // read the "Styles" collection + if (String.Compare(reader.ItemName, "Styles", true) == 0) + reader.Read(Styles); + else if (reader.ReadChildren) + { + // if read of children is enabled, read them + Base obj = reader.Read(); + if (obj != null) + obj.Parent = this; + } + } + } + + + + + + Checks if current item has specified property. + + The property name to check. + true if current item has specified property. + + + + Reads the string property. + + Name of property. + Property value. + + + + Reads the boolean property. + + Name of property. + Property value. + + + + Reads the integer property. + + Name of property. + Property value. + + + + Reads the float property. + + Name of property. + Property value. + + + + Reads the double property. + + Name of property. + Property value. + + + + Reads the enum property. + + Name of property. + Type of property. + Property value. + + + + Reads the standalone property value. + + Property value. + + + + Disposes the reader, fixups the property references. + + + + + Loads the xml items from a stream. + + The stream to load from. + + + + Initializes a new instance of the FRReader class with specified report. + + Reference to a report. + + + + Initializes a new instance of the FRReader class with specified report and xml item with + contents to read. + + Reference to a report. + Xml item with contents to read. + + + + Specifies the target for the serialize operation. + + + + + Serialize to the report file. + + + + + Serialize to the preview pages. + + + + + Serialize to the source pages of a preview. + + + + + Serialize to the designer's clipboard. + + + + + Serialize to the designer's undo/redo buffer. + + + + + The writer used to serialize object's properties to a report file. + + + + + Gets or sets current xml item name. + + + + + Gets or sets target of serialization. + + + + + Gets the ethalon object to compare with. + + + + + Gets or sets a value that determines whether is necessary to serialize child objects. + + + + + Gets or sets a value that determines whether is necessary to add xml header. + + + + + Serializes the specified object. + + The object to serialize. + + The object must implement the interface. This method + invokes the Serialize method of the object. + + This example demonstrates the use of writer. + + public void Serialize(FRWriter writer) + { + // get the etalon object. It will be used to write changed properties only. + Base c = writer.DiffObject as Base; + + // write the type name + writer.ItemName = ClassName; + + // write properties + if (Name != "") + writer.WriteStr("Name", Name); + if (Restrictions != c.Restrictions) + writer.WriteValue("Restrictions", Restrictions); + + // write child objects if allowed + if (writer.SaveChildren) + { + foreach (Base child in ChildObjects) + { + writer.Write(child); + } + } + } + + + + + + Serializes the object using specified etalon. + + The object to serialize. + The etalon object. + + + + Writes a string property. + + Property name. + Property value. + + + + Writes a boolean property. + + Property name. + Property value. + + + + Writes an integer property. + + Property name. + Property value. + + + + Writes a float property. + + Property name. + Property value. + + + + Writes a double property. + + Property name. + Property value. + + + + Writes an enumeration property. + + Property name. + Property value. + + + + Writes an object reference property. + + Property name. + Property value. + + + + Writes a standalone property value. + + Name of property. + Property value. + + This method produces the following output: + <PropertyName>PropertyValue</PropertyName> + + + + + Determines if two objects are equal. + + The first object. + The second object. + true if objects will be serialized to the same value. + + + + Disposes the writer. + + + + + Saves the writer output to a stream. + + Stream to save to. + + + + Initializes a new instance of the FRWriter class with default settings. + + + + + Initializes a new instance of the FRWriter class with specified xml item that will + receive writer's output. + + The xml item that will receive writer's output. + + + + The interface for unifying methods for drawing objects into different graphics + + + + + in this case if a baseline is needed, it will not be calculated + + + + + Works with polygons only + + + + + + + Add rectangle to the graphics path + + + + + + + the interface for saving and restoring state + + + + + Drawing objects to a standard image in Bitmap + + + + + baseLine is ignored + + + + + Drawing objects to a svg string + + + + + For setting namespace, clear all attributes on setting, therefore use this property before setting other svg options + + + + + Initialize a new Graphics for SVG, it's rendered to xml, layer by layer, not one image, + set the Size of this graphics in Size property + + + + + Returns splited string + + text for splitting + index of first character of second string + second part of string + returns true if ends on enter + first part of string + + + + Check the line, and if last word is able to move next line, move it. + e.g. white space won't move to next line. + If word is not moved return current line. + else return new line + + the paragraph for lines + the line with extra words + the index of start last word in this line + width to place words + ref to current line width + + + + + Represents character placement. + + + + + Be care generates dictionary only one time + + + + + Return true if read char + + + + + + Represents a style used in HtmlTags mode. Color does not affect the equals function. + + + + + returns true if objects realy equals + + + + + + + Used to access to resource IDs inside the specified branch. + + + Using the method, you have to specify the full path to your resource. + Using this class, you can shorten the path: + + // using the Res.Get method + miKeepTogether = new ToolStripMenuItem(Res.Get("ComponentMenu,HeaderBand,KeepTogether")); + miResetPageNumber = new ToolStripMenuItem(Res.Get("ComponentMenu,HeaderBand,ResetPageNumber")); + miRepeatOnEveryPage = new ToolStripMenuItem(Res.Get("ComponentMenu,HeaderBand,RepeatOnEveryPage")); + + // using MyRes.Get method + MyRes res = new MyRes("ComponentMenu,HeaderBand"); + miKeepTogether = new ToolStripMenuItem(res.Get("KeepTogether")); + miResetPageNumber = new ToolStripMenuItem(res.Get("ResetPageNumber")); + miRepeatOnEveryPage = new ToolStripMenuItem(res.Get("RepeatOnEveryPage")); + + + + + + + Gets a string with specified ID inside the main branch. + + The resource ID. + The localized value. + + + + Initializes a new instance of the class with spevified branch. + + The main resource branch. + + + + Localized CategoryAttribute class. + + + + + + + + Initializes a new instance of the SRCategory class. + + The category name. + + + + Advanced text renderer is used to perform the following tasks: + - draw justified text, text with custom line height, text containing html tags; + - calculate text height, get part of text that does not fit in the display rectangle; + - get paragraphs, lines, words and char sequence to perform accurate export to such + formats as PDF, TXT, RTF + + Here is how one may operate the renderer items: + + foreach (AdvancedTextRenderer.Paragraph paragraph in renderer.Paragraphs) + { + foreach (AdvancedTextRenderer.Line line in paragraph.Lines) + { + foreach (AdvancedTextRenderer.Word word in line.Words) + { + if (renderer.HtmlTags) + { + foreach (AdvancedTextRenderer.Run run in word.Runs) + { + using (Font f = run.GetFont()) + using (Brush b = run.GetBrush()) + { + g.DrawString(run.Text, f, b, run.Left, run.Top, renderer.Format); + } + } + } + else + { + g.DrawString(word.Text, renderer.Font, renderer.Brush, word.Left, word.Top, renderer.Format); + } + } + } + } + + + + + + The scale for font tag + + + + + Paragraph represents single paragraph. It consists of one or several . + + + + + Line represents single text line. It consists of one or several . + Simple line (that does not contain tabs, html tags, and is not justified) has + single which contains all the text. + + + + + Word represents single word. It may consist of one or several , in case + when HtmlTags are enabled in the main class. + + + + + Represents character placement. + + + + + Represents a style used in HtmlTags mode. + + + + + Represents sequence of characters that have the same . + + + + + Represents inline Image. + + + + + Standard text renderer uses standard DrawString method to draw text. It also supports: + - text rotation; + - fonts with non-standard width ratio. + In case your text is justified, or contains html tags, use the + class instead. + + + + + Cache for rendering img tags in textobject. + You can use only HTTP[s] protocol with absolute urls. + + + + + Is serialized + + + + + Get or set WebClient for downloading imgs by url + + + + + Occurs before image load + + + + + Occurs after image load + + + + + Enumerates all values + + + + + + Return CacheItem by src + + Src attribute from img tag + + + + + + + + + + + + Set CacheItem by src + + Src attribute from img tag + CacheItem + + + + + Validate src attribute from image + + Src attribute from img tag + return true if src is valid + + + + + + + + + + + + Item of image cache Dictionary + + + + + Get Base64 string + + + + + Return true if has some error with Image + + + + + Get Image + + + + + Get byte array + + + + + Return error image and set true to error property + + + + + + Set value for cache item + + Image encoded base64 string + + + + Set value for cache item + + Image + + + + Set value for cache item + + Image + + + + + + + + + + WebClientEventArgs + + + + + Gets a cache + + + + + Gets or sets a value indicating whether the event was handled. + + + + + Gets or sets a url from src attribue of img tag + + + + + + + + + + + The report page units. + + + + + Specifies the units measured in millimeters. + + + + + Specifies the units measured in centimeters. + + + + + Specifies the units measured in inches. + + + + + Specifies the units measured in hundreths of inch. + + + + + Defines the constants used to convert between report units and screen pixels. + + + To convert pixels to millimeters, use the following code: + valueInMillimeters = valueInPixels / Units.Millimeters; + To convert millimeters to pixels, use the following code: + valueInPixels = valueInMillimeters * Units.Millimeters; + + + + + The number of pixels in one millimeter. + + + + + The number of pixels in one centimeter. + + + + + The number of pixels in one inch. + + + + + The number of pixels in 1/10 of ich. + + + + + The number of pixels in 1/100 of inch. + + + + + Represents a xml property./// + + + + Represents a property key. + + + + + Represents a property value. + + + + + Creates new property and assigns value + + Property key + Property value + + + + Represents a xml node. + + + + + Gets a number of children in this node. + + + + + Gets a list of children in this node. + + + + + Gets a child node with specified index. + + Index of node. + The node with specified index. + + + + Gets or sets the node name. + + + This property will return "Node" for a node like <Node Text="" Left="0"/> + + + + + Gets or sets a list of properties in this node. + + + + + Gets or sets the parent for this node. + + + + + Gets or sets the node value. + + + This property will return "ABC" for a node like <Node>ABC</Node> + + + + + Gets the root node which owns this node. + + + + + Clears the child nodes of this node. + + + + + Adds a new child node to this node. + + The new child node. + + + + Adds a specified node to this node. + + The node to add. + + + + Inserts a specified node to this node. + + Position to insert. + Node to insert. + + + + Finds the node with specified name. + + The name of node to find. + The node with specified name, if found; null otherwise. + + + + Finds the node with specified name. + + The name of node to find. + The node with specified name, if found; the new node otherwise. + + This method adds the node with specified name to the child nodes if it cannot find the node. + Do not dispose items, which has been created by this method + + + + + Gets the index of specified node in the child nodes list. + + The node to find. + Zero-based index of node, if found; -1 otherwise. + + + + Gets a property with specified name. + + The property name. + The value of property, if found; empty string otherwise. + + This property will return "0" when you request the "Left" property for a node + like <Node Text="" Left="0"/> + + + + + Removes all properties. + + + + + Sets the value for a specified property. + + The property name. + Value to set. + + For example, you have a node like <Node Text="" Left="0"/>. When you set the + "Text" property to "test", the node will be <Node Text="test" Left="0"/>. + If property with specified name is not exist, it will be added. + + + + + Removes a property with specified name. + + The property name. + Returns true if property is removed, false otherwise. + + + + Disposes the node and all its children. + + + + + Initializes a new instance of the XmlItem class with default settings. + + + + + Represents a xml document that contains the root xml node. + + + Use Load and Save methods to load/save the document. To access the root node + of the document, use the property. + + + + + Gets or sets a value indicating whether is necessary to indent the document + when saving it to a file/stream. + + + + + Gets or sets a value indicating whether is necessary to add xml header. + + + + + Gets the root node of the document. + + + + + Clears the document. + + + + + Saves the document to a stream. + + Stream to save to. + + + + Saves the document to a string. + + Writer to save to. + + + + Loads the document from a stream. + + Stream to load from. + + + + Saves the document to a file. + + The name of file to save to. + + + + Loads the document from a file. + + The name of file to load from. + + + + Disposes resources used by the document. + + + + + Initializes a new instance of the XmlDocument class with default settings. + + + + + + + + + + + + + Clear all files in archive. + + + + + Check for exisiting file in archive. + + + + + + + Adds the file form disk to the archive. + + + + + + Adds all files from directory (recursive) on the disk to the archive. + + + + + + Adds the stream to the archive. + + + + + + + Creates the zip and writes it to rhe Stream + + + + + + Creates the ZIP archive and writes it to the file. + + + + + + Gets or sets the Root Folder. + + + + + Gets or sets the errors. + + + + + Gets or sets the commentary to the archive. + + + + + Gets count of files in archive. + + + + + Creates the new zip archive. + + + + + Class helper for compile source code with path of assemblies + + + + + Generate a assembly in memory with some source code and several path for additional assemblies + + + + + + + + The FastReport.dll assembly initializer. + + + + + Registers all standard objects, wizards, export filters. + + + + + Base class for all bands. + + + + + + + + + + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This event occurs before the band layouts its child objects. + + + + + This event occurs after the child objects layout was finished. + + + + + Gets or sets a value indicating that the band should be printed from a new page. + + + New page is not generated when printing very first group or data row. This is made to avoid empty + first page. + + + + + Gets or sets a value that determines the number of repetitions of the same band. + + + + + Gets or sets a value indicating that the first row can start a new report page. + + + Use this property if is set to true. Normally the new page + is not started when printing the first data row, to avoid empty first page. + + + + + Gets or sets a value indicating that the band should be printed on the page bottom. + + + + + Gets or sets a value indicating that the band should be printed together with its child band. + + + + + Gets or sets an outline expression. + + + + Outline is a tree control displayed in the preview window. It represents the prepared report structure. + Each outline node can be clicked to navigate to the item in the prepared report. + + + To create the outline, set this property to any valid expression that represents the outline node text. + This expression will be calculated when band is about to print, and its value will be added to the + outline. Thus, nodes' hierarchy in the outline is similar to the bands' hierarchy + in a report. That means there will be the main and subordinate outline nodes, corresponding + to the main and subordinate bands in a report (a report with two levels of data or with groups can + exemplify the point). + + + + + + Gets or sets a child band that will be printed right after this band. + + + Typical use of child band is to print several objects that can grow or shrink. It also can be done + using the shift feature (via property), but in some cases it's not possible. + + + + + Gets a collection of report objects belongs to this band. + + + + + Gets a value indicating that band is reprinted on a new page. + + + This property is applicable to the DataHeaderBand and GroupHeaderBand only. + It returns true if its RepeatOnAllPages property is true and band is + reprinted on a new page. + + + + + Gets or sets a script event name that will be fired before the band layouts its child objects. + + + + + Gets or sets a script event name that will be fired after the child objects layout was finished. + + + + + + + + + + + Gets or sets collection of guide lines for this band. + + + + + Gets a row number (the same value returned by the "Row#" system variable). + + + This property can be used when running a report. It may be useful to print hierarchical + row numbers in a master-detail report, like this: + 1.1 + 1.2 + 2.1 + 2.2 + To do this, put the Text object on a detail data band with the following text in it: + [Data1.RowNo].[Data2.RowNo] + + + + + Gets an absolute row number (the same value returned by the "AbsRow#" system variable). + + + + + Gets a value indicating that this is the first data row. + + + + + Gets a value indicating that this is the last data row. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This method fires the BeforeLayout event and the script code connected to the BeforeLayoutEvent. + + Event data. + + + + This method fires the AfterLayout event and the script code connected to the AfterLayoutEvent. + + Event data. + + + + Initializes a new instance of the class with default settings. + + + + + Represents a barcode object. + Represents a barcode object. + + + The instance of this class represents a barcode. Here are some common + actions that can be performed with this object: + + + To select the type of barcode, use the property. + + + + To specify a static barcode data, use the property. + You also may use the or properties + to specify dynamic value for a barcode. + + + + To set a barcode orientation, use the property. + + + + To specify the size of barcode, set the property + to true and use the property to zoom the barcode. + If property is set to false, you need to specify the + size using the Width and + Height properties. + + + + + This example shows how to configure the BarcodeObject to display PDF417 barcode. + + BarcodeObject barcode; + ... + barcode.Barcode = new BarcodePDF417(); + (barcode.Barcode as BarcodePDF417).CompactionMode = CompactionMode.Text; + + + + + + + + + + + + + + + + + + + + + Gets or sets the barcode type. + + + + + Gets or sets the symbology name. + + + The following symbology names are supported: + + "2/5 Interleaved" + "2/5 Industrial" + "2/5 Matrix" + "Codabar" + "Code128" + "Code39" + "Code39 Extended" + "Code93" + "Code93 Extended" + "EAN8" + "EAN13" + "MSI" + "PostNet" + "UPC-A" + "UPC-E0" + "UPC-E1" + "Supplement 2" + "Supplement 5" + "PDF417" + "Datamatrix" + "QRCode" + + + + + barcode.SymbologyName = "PDF417"; + (barcode.Barcode as BarcodePDF417).CompactionMode = CompactionMode.Text; + + + + + + Gets or sets the angle of barcode, in degrees. + + + + + Gets or sets a value that determines whether the barcode should handle its width automatically. + + + + + Gets or sets a data column name bound to this control. + + + Value must be in the form "Datasource.Column". + + + + + Gets or sets an expression that contains the barcode data. + + + + + Enable or disable of using an expression in Text + + + + + Gets or sets brackets for using in expressions + + + + + Gets or sets a value that indicates if the barcode should display a human-readable text. + + + + + Gets or sets the barcode data. + + + + + Gets or sets padding within the BarcodeObject. + + + + + Gets or sets a zoom of the barcode. + + + + + Gets or sets a value that determines whether it is necessary to hide the object if the + barcode data is empty. + + + + + Gets or sets the text that will be displayed if the barcode data is empty. + + + + + Gets or sets values for forced use of a bitmap image instead of a vector + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + + + + + + + + + + + Aztec 2D code representation + + Rustam Abdullaev + + + + Compact or full symbol indicator + + + + + Size in pixels (width and height) + + + + + Number of levels + + + + + Number of data codewords + + + + + The symbol image + + + + + The class holds the available options for the AztecWriter + + + + + Representing the minimal percentage of error correction words. + Note: an Aztec symbol should have a minimum of 25% EC words. + + + + + Specifies the required number of layers for an Aztec code: + a negative number (-1, -2, -3, -4) specifies a compact Aztec code + 0 indicates to use the minimum number of layers (the default) + a positive number (1, 2, .. 32) specifies a normal (non-compact) Aztec code + + + + + A simple, fast array of bits, represented compactly by an array of ints internally. + + Sean Owen + + + Flips bit i. + + + bit to set + + + + + Gets the next set. + + first bit to check + index of first bit that is set, starting from the given index, or size if none are set + at or beyond this given index + + + + see getNextSet(int) + + index to start looking for unset bit + index of next unset bit, or if none are unset until the end + + + Sets a block of 32 bits, starting at bit i. + + + first bit to set + + the new value of the next 32 bits. Note again that the least-significant bit + corresponds to bit i, the next-least-significant to i+1, and so on. + + + + + Sets a range of bits. + + start of range, inclusive. + end of range, exclusive + + + Clears all bits (sets to false). + + + Efficient method to check if a range of bits is set, or not set. + + + start of range, inclusive. + + end of range, exclusive + + if true, checks that bits in range are set, otherwise checks that they are not set + + true iff all bits are set or not set in range, according to value argument + + IllegalArgumentException if end is less than or equal to start + + + + Appends the bit. + + The bit. + + + underlying array of ints. The first element holds the first 32 bits, and the least + significant bit is bit 0. + + + + + Appends the least-significant bits, from value, in order from most-significant to + least-significant. For example, appending 6 bits from 0x000001E will append the bits + 0, 1, 1, 1, 1, 0 in that order. + + containing bits to append + bits from value to append + + + + Toes the bytes. + + first bit to start writing + array to write into. Bytes are written most-significant byte first. This is the opposite + of the internal representation, which is exposed by BitArray + position in array to start writing + how many bytes to write + + + Reverses all bits in the array. + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Erstellt ein neues Objekt, das eine Kopie der aktuellen Instanz darstellt. + + + Ein neues Objekt, das eine Kopie dieser Instanz darstellt. + + + + +

Represents a 2D matrix of bits. In function arguments below, and throughout the common + module, x is the column position, and y is the row position. The ordering is always x, y. + The origin is at the top-left.

+

Internally the bits are represented in a 1-D array of 32-bit ints. However, each row begins + with a new int. This is done intentionally so that we can copy out a row into a BitArray very + efficiently.

+

The ordering of bits is row-major. Within each int, the least significant bits are used first, + meaning they represent lower x values. This is compatible with BitArray's implementation.

+
+ Sean Owen + dswitkin@google.com (Daniel Switkin) +
+ + The width of the matrix + + + + The height of the matrix + + + + This method is for compatibility with older code. It's only logical to call if the matrix + is square, so I'm throwing if that's not the case. + + + row/column dimension of this matrix + + + +

Gets the requested bit, where true means black.

+ +
+ The horizontal component (i.e. which column) + + The vertical component (i.e. which row) + + value of given bit in matrix + +
+ +

Flips the given bit.

+ +
+ The horizontal component (i.e. which column) + + The vertical component (i.e. which row) + +
+ + Clears all bits (sets to false). + + +

Sets a square region of the bit matrix to true.

+ +
+ The horizontal position to begin at (inclusive) + + The vertical position to begin at (inclusive) + + The width of the region + + The height of the region + +
+ + A fast method to retrieve one row of data from the matrix as a BitArray. + + + The row to retrieve + + An optional caller-allocated BitArray, will be allocated if null or too small + + The resulting BitArray - this reference should always be used even when passing + your own row + + + + + Sets the row. + + row to set + {@link BitArray} to copy from + + + + Modifies this {@code BitMatrix} to represent the same but rotated 180 degrees + + + + + This is useful in detecting the enclosing rectangle of a 'pure' barcode. + + {left,top,width,height} enclosing rectangle of all 1 bits, or null if it is all white + + + + This is useful in detecting a corner of a 'pure' barcode. + + {x,y} coordinate of top-left-most 1 bit, or null if it is all white + + + + These are a set of hints that you may pass to Writers to specify their behavior. + + dswitkin@google.com (Daniel Switkin) + + + + Specifies the width of the barcode image + type: + + + + + Specifies the height of the barcode image + type: + + + + + Don't put the content string into the output image. + type: + + + + + Specifies what character encoding to use where applicable. + type: + + + + + Specifies margin, in pixels, to use when generating the barcode. The meaning can vary + by format; for example it controls margin before and after the barcode horizontally for + most 1D formats. + type: + + + + + Specifies whether to use compact mode for PDF417. + type: + + + + + Don't append ECI segment. + That is against the specification of QR Code but some + readers have problems if the charset is switched from + ISO-8859-1 (default) to UTF-8 with the necessary ECI segment. + If you set the property to true you can use UTF-8 encoding + and the ECI segment is omitted. + type: + + + + + if true, don't switch to codeset C for numbers + + + + + Specifies the required number of layers for an Aztec code: + a negative number (-1, -2, -3, -4) specifies a compact Aztec code + 0 indicates to use the minimum number of layers (the default) + a positive number (1, 2, .. 32) specifies a normal (non-compact) Aztec code + + + + + Generates Aztec 2D barcodes. + + Rustam Abdullaev + + + + Encodes the given binary content as an Aztec symbol + + input data string + Aztec symbol matrix with metadata + + + + Encodes the given binary content as an Aztec symbol + + input data string + minimal percentage of error check words (According to ISO/IEC 24778:2008, + a minimum of 23% + 3 words is recommended) + if non-zero, a user-specified value for the number of layers + + Aztec symbol matrix with metadata + + + + + Defines an container for encoder options + + + + + Gets the data container for all options + + + + + Specifies the height of the barcode image + + + + + Specifies the width of the barcode image + + + + + Don't put the content string into the output image. + + + + + Specifies margin, in pixels, to use when generating the barcode. The meaning can vary + by format; for example it controls margin before and after the barcode horizontally for + most 1D formats. + + + + + Initializes a new instance of the class. + + + + +

This class contains utility methods for performing mathematical operations over + the Galois Fields. Operations use a given primitive polynomial in calculations.

+

Throughout this package, elements of the GF are represented as an {@code int} + for convenience and speed (but at the cost of memory). +

+
+ Sean Owen +
+ + + Create a representation of GF(size) using the given primitive polynomial. + + irreducible polynomial whose coefficients are represented by + * the bits of an int, where the least-significant bit represents the constant + * coefficient + the size of the field + the factor b in the generator polynomial can be 0- or 1-based + * (g(x) = (x+a^b)(x+a^(b+1))...(x+a^(b+2t-1))). + * In most cases it should be 1, but for QR code it is 0. + + + + Builds the monomial. + + The degree. + The coefficient. + the monomial representing coefficient * x^degree + + + + Implements both addition and subtraction -- they are the same in GF(size). + + sum/difference of a and b + + + + Exps the specified a. + + 2 to the power of a in GF(size) + + + + Logs the specified a. + + A. + base 2 log of a in GF(size) + + + + Inverses the specified a. + + multiplicative inverse of a + + + + Multiplies the specified a with b. + + A. + The b. + product of a and b in GF(size) + + + + Gets the size. + + + + + Gets the generator base. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + +

Represents a polynomial whose coefficients are elements of a GF. + Instances of this class are immutable.

+

Much credit is due to William Rucklidge since portions of this code are an indirect + port of his C++ Reed-Solomon implementation.

+
+ Sean Owen +
+ + + Initializes a new instance of the class. + + the {@link GenericGF} instance representing the field to use + to perform computations + coefficients as ints representing elements of GF(size), arranged + from most significant (highest-power term) coefficient to least significant + if argument is null or empty, + or if leading coefficient is 0 and this is not a + constant polynomial (that is, it is not the monomial "0") + + + + degree of this polynomial + + + + + Gets a value indicating whether this is zero. + + true iff this polynomial is the monomial "0" + + + + coefficient of x^degree term in this polynomial + + The degree. + coefficient of x^degree term in this polynomial + + + + evaluation of this polynomial at a given point + + A. + evaluation of this polynomial at a given point + + + + This produces nearly optimal encodings of text into the first-level of + encoding used by Aztec code. + It uses a dynamic algorithm. For each prefix of the string, it determines + a set of encodings that could lead to this prefix. We repeatedly add a + character and generate a new set of optimal encodings until we have read + through the entire input. + @author Frank Yellin + @author Rustam Abdullaev + + + + + Convert the text represented by this High Level Encoder into a BitArray. + + text represented by this encoder encoded as a + + + + Implements Reed-Solomon encoding, as the name implies. + + Sean Owen + William Rucklidge + + + + State represents all information about a sequence necessary to generate the current output. + Note that a state is immutable. + + + + + Create a new state representing this state with a latch to a (not + necessary different) mode, and then a code. + + + + + Create a new state representing this state, with a temporary shift + to a different mode to output a single value. + + + + + Create a new state representing this state, but an additional character + output in Binary Shift mode. + + + + + Create the state identical to this one, but we are no longer in + Binary Shift mode. + + + + + Returns true if "this" state is better (or equal) to be in than "that" + state under all possible circumstances. + + + + + Contains conversion support elements such as classes, interfaces and static methods. + + + + + Copies an array of chars obtained from a String into a specified array of chars + + The String to get the chars from + Position of the String to start getting the chars + Position of the String to end getting the chars + Array to return the chars + Position of the destination array of chars to start storing the chars + An array of chars + + + + Sets the capacity for the specified List + + The List which capacity will be set + The new capacity value + + + + Converts a string-Collection to an array + + The strings. + + + + + Joins all elements to one string. + + + The separator. + The values. + + + + + Fills the specified array. + (can't use extension method because of .Net 2.0 support) + + + The array. + The value. + + + + Fills the specified array. + (can't use extension method because of .Net 2.0 support) + + + The array. + The start index. + The end index. + The value. + + + + Generates the Code128 barcode. + + + This barcode supports three code pages: A, B and C. You need to set appropriate code page + in the barcode text, or use the auto encode feature. See the property + for more details. + + This example shows how to configure the BarcodeObject to display Code128 barcode. + + BarcodeObject barcode; + ... + barcode.Barcode = new Barcode128(); + (barcode.Barcode as Barcode128).AutoEncode = false; + + + + + + Gets or sets a value that determines whether the barcode should automatically + use appropriate encoding. + + + You may use this property to encode data automatically. If you set it to false, + you must specify the code page inside the data string. The following control codes are available: + + + Sequence + Code128 control code + + + &A; + START A / CODE A + + + &B; + START B / CODE B + + + &C; + START C / CODE C + + + + &S; + SHIFT + + + &1; + FNC1 + + + &2; + FNC2 + + + &3; + FNC3 + + + &4; + FNC4 + + + The following example shows how to specify control codes: + + BarcodeObject barcode; + barcode.Barcode = new Barcode128(); + (barcode.Barcode as Barcode128).AutoEncode = false; + barcode.Text = "&C;1234&A;ABC"; + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + The base class for 2D-barcodes such as PDF417 and Datamatrix. + + + + + Generates the "2/5 Interleaved" barcode. + + + + + Initializes a new instance of the class with default settings. + + + + + Generates the "2/5 Industrial" barcode. + + + + + Generates the "2/5 Matrix" barcode. + + + + + Initializes a new instance of the class with default settings. + + + + + Generates the Code39 barcode. + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Generates the Code39 extended barcode. + + + + + Generates the Code93 barcode. + + + + + + + + Generates the Code93 extended barcode. + + + + + Generates the 2D Aztec barcode. + + + + + Gets or sets the error correction percent. + + + + + Initializes a new instance of the class with default settings. + + + + + + + + The base class for all barcodes. + + + + + Gets the name of barcode. + + + + + Gets or sets the color of barcode. + + + + + Creates the exact copy of this barcode. + + The copy of this barcode. + + + + Assigns properties from other, similar barcode. + + Barcode object to assign properties from. + + + + Initializes a new instance of the class with default settings. + + + + + Generates the Codabar barcode. + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Specifies the Datamatrix encoding. + + + + + Specifies the auto encoding. + + + + + Specifies the ASCII encoding. + + + + + Specifies the C40 encoding. + + + + + Specifies the text encoding. + + + + + Specifies the binary encoding. + + + + + Specifies the X12 encoding. + + + + + Specifies the Edifact encoding. + + + + + Specifies the Datamatrix symbol size. + + + + + Specifies the auto size. + + + + + Specifies the 10x10 size. + + + + + Specifies the 12x12 size. + + + + + Specifies the 8x8 size. + + + + + Specifies the 14x14 size. + + + + + Specifies the 8x32 size. + + + + + Specifies the 16x16 size. + + + + + Specifies the 12x26 size. + + + + + Specifies the 18x18 size. + + + + + Specifies the 20x20 size. + + + + + Specifies the 12x36 size. + + + + + Specifies the 22x22 size. + + + + + Specifies the 16x36 size. + + + + + Specifies the 24x24 size. + + + + + Specifies the 26x26 size. + + + + + Specifies the 16x48 size. + + + + + Specifies the 32x32 size. + + + + + Specifies the 36x36 size. + + + + + Specifies the 40x40 size. + + + + + Specifies the 44x44 size. + + + + + Specifies the 48x48 size. + + + + + Specifies the 52x52 size. + + + + + Specifies the 64x64 size. + + + + + Specifies the 72x72 size. + + + + + Specifies the 80x80 size. + + + + + Specifies the 88x88 size. + + + + + Specifies the 96x96 size. + + + + + Specifies the 104x104 size. + + + + + Specifies the 120x120 size. + + + + + Specifies the 132x132 size. + + + + + Specifies the 144x144 size. + + + + + Generates the 2D Data Matrix barcode. + + + + + Gets or sets the symbol size. + + + + + Gets or sets the encoding mode. + + + + + Gets or sets the code page used for text conversion. + + + Use this property to encode non-ASCII characters. For example, set this + property to 1251 to use Window CP1251. + + + + + Gets or sets the size of the pixel. + + + + + + + + Initializes a new instance of the class with default settings. + + + + + The base class for EAN barcodes. + + + + + Initializes a new instance of the class with default settings. + + + + + Generates the EAN8 barcode. + + + + + Generates the EAN13 barcode. + + + + + Initializes a new instance of the class with default settings. + + + + + Generates the GS1-128 (formerly known as UCC-128 or EAN-128) barcode. + + + + + Initializes a new instance of the class with default settings. + + + + + Generates the Intelligent Mail (USPS) barcode. + + + + + Gets or sets the value indicating that quiet zone must be shown. + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Generates the 2D MaxiCode barcode. + + + + + Sets the MaxiCode mode to use. Only modes 2 to 6 are supported. + + + + + Initializes a new instance of the class with default settings. + + + + + + + Implements MaxiCode according to ISO 16023:2000. + + MaxiCode employs a pattern of hexagons around a central 'bulls-eye' + finder pattern. Encoding in several modes is supported, but encoding in + Mode 2 and 3 require primary messages to be set. Input characters can be + any from the ISO 8859-1 (Latin-1) character set. + + TODO: Add ECI functionality. + + @author Robin Stuart + @author Daniel Gredler + + + MaxiCode module sequence, from ISO/IEC 16023 Figure 5 (30 x 33 data grid). + + + ASCII character to Code Set mapping, from ISO/IEC 16023 Appendix A. + 1 = Set A, 2 = Set B, 3 = Set C, 4 = Set D, 5 = Set E. + 0 refers to special characters that fit into more than one set (e.g. GS). + + + ASCII character to symbol value, from ISO/IEC 16023 Appendix A. + + + Sets the MaxiCode mode to use. Only modes 2 to 6 are supported. + + @param mode the MaxiCode mode to use + + + Returns the MaxiCode mode being used. Only modes 2 to 6 are supported. + + @return the MaxiCode mode being used + + + If this MaxiCode symbol is part of a series of MaxiCode symbols appended in a structured format, this method sets the + position of this symbol in the series. Valid values are 1 through 8 inclusive. + + @param position the position of this MaxiCode symbol in the structured append series + + + Returns the position of this MaxiCode symbol in a series of symbols using structured append. If this symbol is not part of + such a series, this method will return 1. + + @return the position of this MaxiCode symbol in a series of symbols using structured append + + + If this MaxiCode symbol is part of a series of MaxiCode symbols appended in a structured format, this method sets the total + number of symbols in the series. Valid values are 1 through 8 inclusive. A value of 1 indicates that this symbol is not + part of a structured append series. + + @param total the total number of MaxiCode symbols in the structured append series + + + Returns the size of the series of MaxiCode symbols using structured append that this symbol is part of. If this symbol is + not part of a structured append series, this method will return 1. + + @return size of the series that this symbol is part of + + + Sets the primary data. Should only be used for modes 2 and 3. Must conform to the following structure: + + + + + + +
CharactersMeaning
1-9Postal code data which can consist of up to 9 digits (for mode 2) or up to 6 + alphanumeric characters (for mode 3). Remaining unused characters should be + filled with the SPACE character (ASCII 32).
10-12Three-digit country code according to ISO-3166.
13-15Three digit service code. This depends on your parcel courier.
+ + @param primary the primary data +
+ + Returns the primary data for this MaxiCode symbol. Should only be used for modes 2 and 3. + + @return the primary data for this MaxiCode symbol + + + {@inheritDoc} + + + Extracts the postal code, country code and service code from the primary data and returns the corresponding primary message + codewords. + + @return the primary message codewords + + + Returns the primary message codewords for mode 2. + + @param postcode the postal code + @param country the country code + @param service the service code + @return the primary message, as codewords + + + Returns the primary message codewords for mode 3. + + @param postcode the postal code + @param country the country code + @param service the service code + @return the primary message, as codewords + + + Formats text according to Appendix A, populating the {@link #set} and {@link #character} arrays. + + @return true if the content fits in this symbol and was formatted; false otherwise + + + Guesses the best set to use at the specified index by looking at the surrounding sets. In general, characters in + lower-numbered sets are more common, so we choose them if we can. If no good surrounding sets can be found, the default + value returned is the first value from the valid set. + + @param index the current index + @param Length the maximum Length to look at + @param valid the valid sets for this index + @return the best set to use at the specified index + + + Moves everything up so that the specified shift or latch character can be inserted. + + @param position the position beyond which everything needs to be shifted + @param c the latch or shift character to insert at the specified position, after everything has been shifted + + + Returns the error correction codewords for the specified data codewords. + + @param codewords the codewords that we need error correction codewords for + @param ecclen the number of error correction codewords needed + @return the error correction codewords for the specified data codewords + + + {@inheritDoc} + + + {@inheritDoc} + + + + Generates the MSI barcode. + + + + + Specifies the error correction level used for PDF417 barcode. + + + + + Indicates that correction level should be calculated automatically. + + + + + Specifies level 0. + + + + + Specifies level 1. + + + + + Specifies level 2. + + + + + Specifies level 3. + + + + + Specifies level 4. + + + + + Specifies level 5. + + + + + Specifies level 6. + + + + + Specifies level 7. + + + + + Specifies level 8. + + + + + Specifies the compaction mode used for PDF417 barcode. + + + + + Indicates that compaction mode should be calculated automatically. + + + + + Specifies the text compaction mode. + + + + + Specifies the numeric compaction mode. + + + + + Specifies the binary compaction mode. + + + + + Generates the 2D PDF417 barcode. + + This example shows how to configure the BarcodeObject to display PDF417 barcode. + + BarcodeObject barcode; + ... + barcode.Barcode = new BarcodePDF417(); + (barcode.Barcode as BarcodePDF417).CompactionMode = PDF417CompactionMode.Text; + + + + + + Gets or sets the barcode aspect ratio. + + + A ratio or 0.5 will make the barcode width twice as large as the height. + + + + + Gets or sets the number of barcode data columns. + + + To calculate the necessary number of columns and rows, set the + and properties to 0. In this case, the property + should be set to desired aspect ratio. + + + + + Gets or sets the number of barcode data rows. + + + To calculate the necessary number of columns and rows, set the + and properties to 0. In this case, the property + should be set to desired aspect ratio. + + + + + Gets or sets the error level correction used for the barcode. + + + + + Gets or sets the code page used for text conversion. + + + Use this property to encode non-ASCII characters. For example, set this + property to 1251 to use Window CP1251. + + + + + Gets or sets the compaction mode. + + + + + Gets or sets the size of the pixel. + + + + Paints the barcode. If no exception was thrown a valid barcode is available. + + + + + + + Initializes a new instance of the class with default settings. + + + + + Generates the Pharmacode barcode. + + + + + Gets or sets the value indicating that quiet zone must be shown. + + + + + + + + Initializes a new instance of the class with default settings. + + + + + + + + Generates the Plessey barcode. + + + + + Appends the given pattern to the target array starting at pos. + + encode black/white pattern into this array + position to start encoding at in target + lengths of black/white runs to encode + starting color - false for white, true for black + the number of elements added to target. + + + + Generates the PostNet barcode. + + + + + Specifies the QR code error correction level. + + + + + L = ~7% correction. + + + + + M = ~15% correction. + + + + + Q = ~25% correction. + + + + + H = ~30% correction. + + + + + Specifies the QR Code encoding. + + + + + UTF-8 encoding. + + + + + ISO 8859-1 encoding. + + + + + Shift_JIS encoding. + + + + + Windows-1251 encoding. + + + + + cp866 encoding. + + + + + Generates the 2D QR code barcode. + + + + + Gets or sets the error correction. + + + + + Gets or sets the encoding used for text conversion. + + + + + Gets or sets the value indicating that quiet zone must be shown. + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Generates the UPC E0 barcode. + + + + + Initializes a new instance of the class with default settings. + + + + + Generates the UPC E1 barcode. + + + + + Generates the UPC A barcode. + + + + + Generates the 2-digit supplement barcode. + + + + + Initializes a new instance of the class with default settings. + + + + + Generates the 5-digit supplement barcode. + + + + + The base class for linear (1D) barcodes. + + + + + Gets or sets a value that determines if the barcode object should calculate + the check digit automatically. + + + + + Gets or sets a relative width of wide bars in the barcode. + + + + + Gets the value indicating that the barcode is numeric. + + + + + Gets or sets a value indicating that leading/trailing whitespaces must be trimmed. + + + true if trim; otherwise, false. + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Specifies an origin where the new objects inserted from. + + + + + Specifies that a new object was inserted from the "Objects" toolbar or "Insert" menu. + + + + + Specifies that a new object was dragged from the "Dictionary" window. + + + + + Specifies that a new object was pasted from the clipboard. + + + + + Represents the root class of the FastReport object's hierarhy. + + + + + Gets a value indicating whether the object is selected in the designer. + + + + + Gets a value indicating whether one of the object's parent is selected in the designer. + + + + + Deletes the object in the designer. + + + This method is called when you delete the object in the designer. + Typically this method calls the method to delete the object and all + its children. You may override it to delete the object only, and keep children. + + + + + Called before inserting a new object in the designer. + + + Do not call this method directly. You may override it if you are developing a + new component for FastReport. + + Some objects are registered in the designer several times with the same object + type, but different flags. For example, the + represents different shapes: rectangle, roundrect, ellipse and so on. All these + shapes are registered in the designer using flags (the last parameter in this + code): + + RegisteredObjects.Add(typeof(ShapeObject), "ReportPage,Shapes", 108, "Objects,Shapes,Rectangle", 0); + RegisteredObjects.Add(typeof(ShapeObject), "ReportPage,Shapes", 109, "Objects,Shapes,RoundRectangle", 1); + RegisteredObjects.Add(typeof(ShapeObject), "ReportPage,Shapes", 110, "Objects,Shapes,Ellipse", 2); + + When we put the "Ellipse" object on a band, the designer creates the + ShapeObject instance and calls its OnBeforeInsert method with + flags value set to 2. In turn, the OnBeforeInsert method converts the + int value of the flags to the shape kind: + + public override void OnBeforeInsert(int flags) + { + FShape = (ShapeKind)flags; + } + + + + Object's flags. + + + + Called after the new object was inserted in the designer. + + + Do not call this method directly. You may override it if you are developing a new component + for FastReport. + This method is called when new object is inserted, pasted from clipboard or dragged from + "Dictionary" window. You may override this method if you need to perform some actions when object + is inserted. Typical implementation invokes the object's editor if "Edit after insert" flag is set + in the designer options. + + The insertion source. + + + + Called when the user selects another object in the designer. + + + This method is typically used by the in-place object's editor to check if selection was changed and close + the editor. + + + + + Gets the object's context menu. + + Null reference if object does not have a menu. + + Do not call this method directly. You may override it if you are developing a new component + for FastReport. + You may use base menu classes such as , + to create own context menus. + + + + + Gets or sets the name of the object. + + + Name of the report object must contain alpha, digit, underscore symbols only. + Data objects such as Variable, TableDataSource + etc. can have any characters in they names. Each component must have unique + name. + + The following code demonstrates how to find an object by its name: + + TextObject text1 = report1.FindObject("Text1") as TextObject; + + + Another object with such name exists. + Rename an object that was introduced in the ancestor report. + + + + Gets or sets the flags that restrict some actions in the designer. + + + Use this property to restrict some user actions like move, resize, edit, delete. For example, if + Restriction.DontMove flag is set, user cannot move the object in the designer. + + + + + Gets the flags that allow some functionality in the designer. + + + Use this property only if you developing a new FastReport object. + + + + + Gets or sets the parent of the object. + + + Each report object must have a parent in order to appear in the report. Parent must be able to + contain objects of such type. + Another way (preferred) to set a parent is to use specific properties of the parent object. + For example, the object has the collection. + To add a new page to the report, use the following code: report1.Pages.Add(new ReportPage()); + + + + Report report1; + ReportPage page = new ReportPage(); + page.Parent = report1; + + Parent object cannot contain this object. + + + + The base part of the object's name. + + + This property is used to automatically create unique object's name. See + + + + + Gets the short type name. + + + Returns the short type name, such as "TextObject". + + + + + Gets reference to the parent object. + + + + + Gets reference to the parent object. + + + + + Gets the collection of this object's child objects. + + + This property returns child objects that belongs to this object. For example, Report.ChildObjects + will return only pages that contains in the report, but not page childs such as bands. To return all + child objects, use property. + + + + + Gets the collection of all child objects. + + + This property returns child objects that belongs to this object and to child objects of this object. + For example, Report.AllObjects will return all objects that contains in the report - such as + pages, bands, text objects. + + + + + Gets or sets the Z-order of the object. + + + The Z-order is also called "creation order". It is the index of an object in the parent's objects list. + For example, put two text objects on a band. First object will have ZOrder = 0, second = 1. Setting the + second object's ZOrder to 0 will move it to the back of the first text object. + + + + + Gets a value indicating whether the object was introduced in the ancestor report. + + + + + Gets a value indicating whether the object is in the design state. + + + + + Gets a value indicating whether the object is currently printing. + + + + + Gets a value indicating whether the object is currently processed by the report engine. + + + + + Gets an original component for this object. + + + This property is used in the preview mode. Each object in the prepared report is bound to its + original (from the report template). This technique is used to minimize the prepared report's size. + + + + + Helper method, helps to set a reference-type value to the property. + + Old property value. + New property value. + + This method is used widely to set a new value to the property that references another FastReport object. + Method deals with the property. + + This is example of the DataBand.Header property: + public DataHeaderBand Header + { + get { return FHeader; } + set + { + SetProp(FHeader, value); + FHeader = value; + } + } + + + + + Checks if two float values are different. + + First value. + Second value. + true if values are not equal. + + This method is needed to compare two float values using some precision (0.001). It is useful + to compare objects' locations and sizes for equality. + + + + + Deserializes nested object properties. + + Reader object. + + Typically the object serializes all properties to the single xml item: + + <TextObject Name="Text2" Left="18.9" Top="37.8" Width="283.5" Height="28.35"/> + + Some objects like have child objects that serialized in subitems: + + <DataBand Name="Data1" Top="163" Width="718.2" Height="18.9"> + <TextObject Name="Text3" Left="18.9" Top="37.8" Width="283.5" Height="28.35"/> + </DataBand> + + To read such subitems, the DeserializeSubItems method is used. Base + implementation reads the child objects. You may override it to read some specific subitems. + + The following code is used to read report's styles: + + protected override void DeserializeSubItems(FRReader reader) + { + if (String.Compare(reader.ItemName, "Styles", true) == 0) + reader.Read(Styles); + else + base.DeserializeSubItems(reader); + } + + + + + + Replaces the macros in the given string and returns the new string. + + The text containing macros. + The text with macros replaced with its values. + + + + + + + Set object's flags. + + Flag to set. + true to set the flag, false to reset. + + + + Sets the reference to a Report. + + Report to set. + + + + Sets the object's name. + + + This method is for internal use only. It just sets a new name without any checks + (unlike the property setter). + + Name Property + New name. + + + + Sets the object's parent. + + + This method is for internal use only. You can use it if you are developing a new + component for FastReport. Override it to perform some actions when the parent of an + object is changing. This method checks that parent can contain a child. + + Parent object cannot contain this object. + New parent. + + + + Sets the object's parent. + + New parent. + + This method is for internal use only. You can use it if you are developing a new component for FastReport. + This method does not perform any checks, it just sets the new parent. + + + + + Searches for an object with given name. + + Name of the object to find. + Returns a null reference if object is not found + The following code demonstrates how to find an object by its name: + + TextObject text1 = report1.FindObject("Text1") as TextObject; + if (text1 != null) + { + // object found + } + + + + + + Creates the unique object's name. + + + Note: you have to set object's parent before calling this method. Method uses the + property to create a name. + Note: this method may be very slow on a report that contains lots of objects. Consider + using own naming logic in this case. + + + + TextObject textObj = new TextObject(); + dataBand1.Objects.Add(textObj); + textObj.CreateUniqueName(); + + + + + + Clears the object's state. + + + This method also disposes all object's children. + + + + + Serializes the object. + + + Do not call this method directly. You should override it if you are + developing a new component for FastReport. + This method is called when the object needs to save the state. It may happen + when: + + + saving the report to the file or stream; + + + saving the report to the designer's undo buffer; + + + + assigning the object to another object using the + or AssignAll methods; + + + + saving the object to the designer's clipboard; + + + saving the object to the preview (when run a + report). + + + + Writer object. + + + + Deserializes the object. + + + Do not call this method directly. You should override it if you are + developing a new component for FastReport. + This method is called when the object needs to restore the state. It may + happen when: + + + loading the report from a file or stream; + + + loading the report from the designer's undo + buffer; + + + assigning another object to this object using the + or AssignAll methods; + + + loading the object from the designer's + clipboard; + + loading the object from the preview pages. + + + Reader object. + + + + Assigns values from another source. + + + Note: this method is relatively slow because it serializes + an object to the xml and then deserializes it. + + Source to assign from. + + + Copies the contents of another, similar object. + + Call Assign to copy the properties from another object of the same type. + The standard form of a call to Assign is + destination.Assign(source); + + which tells the destination object to copy the contents of the + source object to itself. In this method, all child objects are + ignored. If you want to copy child objects, use the + AssignAll method. + + + + Report report1; + Report report2 = new Report(); + // copy all report settings, do not copy report objects + report2.Assign(report1); + + AssignAll Method + Source object to copy the contents from. + + + Copies the contents (including children) of another, similar object. + + + This method is similar to method. It copies child + objects as well. + + + + Report report1; + Report report2 = new Report(); + // copy all report settings and objects + report2.AssignAll(report1); + + + Source object to copy the state from. + + + + Gets a value indicating whether the object has the specified parent in its parent hierarhy. + + Parent object to check. + Returns true if the object has given parent in its parent hierarhy. + + + + Gets a value indicating whether the object has a specified flag in its property. + + Flag to check. + true if Flags property contains specified flag. + + + + Gets a value indicating whether the object has a specified restriction + in its property. + + Restriction to check. + true if Restrictions property contains specified restriction. + + + + Invokes script event. + + Name of the event to invoke. + Event parameters. + + Do not call this method directly. You should use it if you are developing a new component + for FastReport. + Use this method to call an event handler that is located in the report's script. + + Example of the OnBeforePrint method: + public void OnBeforePrint(EventArgs e) + { + if (BeforePrint != null) + BeforePrint(this, e); + InvokeEvent(BeforePrintEvent, e); + } + + + + + Called after all report objects were loaded. + + + Do not call this method directly. You may override it if you are developing a new component + for FastReport. + + + + + Gets all expressions contained in the object. + + Array of expressions or null if object contains no expressions. + + Do not call this method directly. You may override it if you are developing a + new component for FastReport. + + This method is called by FastReport each time before run a report. FastReport + do this to collect all expressions and compile them. For example, + GetExpressions method of the class + parses the text and returns all expressions found in the text. + + + + + + Returns a custom code that will be added to the report script before report is run. + + A custom script text, if any. Otherwise returns null. + + This method may return any valid code that may be inserted into the report script. Currently it is + used in the TableObject to define the following script methods: Sum, Min, Max, Avg, Count. + + + Note: you must take into account the current script language - C# or VB.Net. You may check it via + Report.ScriptLanguage property. + + + + + + Used to extract macros such as "TotalPages#" in the preview mode. + + + This method is used mainly by the TextObject to extract macros and replace it with + actual values passed in the pageIndex and totalPages parameters. This method + is called automatically when the object is being previewed. + + + + + Used to get information of the need to convertation if the function returns true, then the GetConvertedObjects function is called + + The export or the object, that call this method + By default returns false + + The functions IsHaveToConvert and GetConvertedObjects allow you to convert objects from one to another, + for example the export will convert object before adding it to the file and convert recursive, + i.e. If the new object has the ability to convert, + it will be converted again but limit is 10 times. + At the time of export it is called, only on objects inside the band, + the child objects of converted object will be returned, and the child objects of old object will be ignored. + + + + + Used to get an enumeration of the objects to which this object will be converted, before calling this function, the IsHaveToConvert function will be called + + By default returns this object + + The functions IsHaveToConvert and GetConvertedObjects allow you to convert objects from one to another, + for example the export will convert object before adding it to the file and convert recursive, + i.e. If the new object has the ability to convert, + it will be converted again but limit is 10 times. + At the time of export it is called, only on objects inside the band, + the child objects of converted object will be returned, and the child objects of old object will be ignored. + + + + + Gets the collection of all child objects, converts objects if necessary + + the object or export, that call this convertation + + + + Initializes a new instance of the Base class with default settings. + + + + + Represents a text object which draws each symbol of text in its own cell. + + + The text may be aligned to left or right side, or centered. Use the + property to do this. The "justify" align is not supported now, as well as vertical alignment. + The cell size is defined in the and properties. + These properties are 0 by default, in this case the size of cell is calculated automatically based + on the object's Font. + To define a spacing (gap) between cells, use the and + properties. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + + + + Gets or sets the width of cell, in pixels. + + + If zero width and/or height specified, the object will calculate the cell size + automatically based on its font. + + + + + Gets or sets the height of cell, in pixels. + + + If zero width and/or height specified, the object will calculate the cell size + automatically based on its font. + + + + + Gets or sets the horizontal spacing between cells, in pixels. + + + + + Gets or sets the vertical spacing between cells, in pixels. + + + + + + + + + + + + + + + + + Initializes a new instance of the class with the default settings. + + + + + Represents a check box object. + + + + + + + + + + + + + + Gets or set a value indicating whether the check box is in the checked state. + + + + + Gets or sets a symbol that will be displayed when the check box is in the checked state. + + + + + Gets or sets a symbol that will be displayed when the check box is in the unchecked state. + + + + + Gets or sets a color of the check symbol. + + + + + Gets or sets a data column name bound to this control. + + + Value must be in the form "[Datasource.Column]". + + + + + Gets or sets an expression that determines whether to show a check. + + + + + Gets or sets the check symbol width ratio. + + + Valid values are from 0.2 to 2. + + + + + Gets or sets a value determines whether to hide the checkbox if it is in the unchecked state. + + + + + Gets or sets editable for pdf export + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the CheckBoxObject class with default settings. + + + + + This class represents a child band. + + + Typical use of child band is to print several objects that can grow or shrink. It also can be done + using the shift feature (via property), but in some cases it's not possible. + + + + + + + + + + + Gets or sets a value indicating that band will be used to fill unused space on a page. + + + If you set this property to true, the band will be printed several times to fill + unused space on a report page. + + + + + Gets or sets a value that determines the overall number of data rows printed by the data band. + + + Using this property, you may complete the data band upto N data rows. + If the data band has less number of rows, this band will be used to print empty rows. + + + + + Gets or sets a value indicating that the band will be printed if its parent databand is empty. + + + The child band with this property set to true, connected to a databand can be used to print "No data" + text if the databand has no rows. + + + + + + + + + + + Box cloud storage client. + + + + + Gets or sets the client info. + + + + + Gets or sets the authorization code. + + + + + Gets or sets the access token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The storage client info. + + + + Initializes a new instance of the class. + + Client ID. + Client Secret. + + + + Gets the authorization URL. + + The authorization URL stirng. + + + + Gets the access token. + + The access token string. + + + + + + + + + + Represents form of Box storage client. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The information about Box client application. + The report template. + + + + + + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents the Client Info diabolg form. + + + + + Gets the client ID. + + + + + Gets the client secret. + + + + + Initializes a new instance of the class. + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents form of the web browser. + + + + + Gets obtained authorization code. + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + FastCloud storage client. + + + + + Gets or sets the access token. + + + + + Gets the report URL that can be used to download report from cloud. + + + + + Initializes a new instance of the class. + + + + + Gets the access token. + + The access token string. + + + + + + + + + + Represents form of FastCloud storage client. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The report template. + + + + + + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents form of FastCloud storage client. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The report template. + + + + Checks is the string numeric. + + The checking string. + True if string is numeric, otherwise false. + + + + Gets the proxy settings. + + The proxy settings. + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + FTP storage client. + + + + + Gets or sets the FTP server. + + + + + Gets or sets the username. + + + + + Gets or sets the password. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The FTP server. + The username. + The password. + + + + Saves the report to FTP storage. + + The report template that should be saved. + The export filter that should export template before. + True if report has been successfully saved. + + + + + + + + Represents form of the FTP storage client. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The FTP server. + The username. + The password. + The report template. + + + + + + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + The base class for all cloud storage clients. + + + + + Gets or sets the filename. + + + + + Gets or set the information is user authorized or not. + + + + + Gets or sets the proxy settings of a client. + + + + + Initializes a new instance of the class. + + + + + Prepares report before it will be saved to cloud storage. + + The report template. + The export filter. + Memory stream that contains prepared report. + + + + Creates a MemoryStream instance using a Stream instance. + + The Stream instance that should be converted. + The MemoryStream instance. + + + + Saves the report to cloud storage. + + The report template that should be saved. + The export filter that should export template before. + + + + + Saves the stream to cloud storage. + + The stream that contains report. + The filename in which stream will be saved in cloud. + + + + Represents form of Dropbox storage client. + + + + + Gets or sets the report template. + + + + + Gets or sets the list of exports. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The report template. + + + + Initializes the list of exports. + + + + + Gets the proxy settings. + + The proxy settings. + + + + Initializes the component. + + + + + Checks is the string numeric. + + The checking string. + True if string is numeric, otherwise false. + + + + Finishes the form work. + + Returns true if work has been successfully finished, otherwise false. + + + + + + + SelectedIndexChanged event handler for ComboBox File Type. + + Event sender. + Event args. + + + + Click event handler for Button Settings. + + Event sender. + Event args. + + + + FormClosing event handler for CloudStorageClientForm. + + Event sender. + Event args. + + + + Click event handler for button OK. + + Event sender. + Event args. + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Page File. + + + + + Page Proxy. + + + + + ComboBox File Type. + + + + + Label File Type. + + + + + Buttons Settings. + + + + + Label Colon. + + + + + Label Password. + + + + + Label Username. + + + + + Label Server. + + + + + TextBox Username. + + + + + TextBox Port. + + + + + TextBox Server. + + + + + TextBox Password. + + + + + PageControl. + + + + + Represents the Application Info diabolg form. + + + + + Gets the access token. + + + + + Initializes a new instance of the class. + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Dropbox cloud storage client. + + + + + The base URL for files_put command. + + + + + Gets or sets the application access token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The Dropbox application access token. + + + + + + + + + + Represents form of Dropbox storage client. + + + + + Initializes a new instance of the class. + + The Dropbox access token. + The report template. + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents the Client Info diabolg form. + + + + + Gets the client ID. + + + + + Gets the client secret. + + + + + Initializes a new instance of the class. + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Google Drive cloud storage client. + + + + + Gets or sets the client info. + + + + + Gets or sets the authorization code. + + + + + Gets or sets the access token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The storage client info. + + + + Initializes a new instance of the class. + + Client ID. + Client Secret. + + + + Gets the authorization URL. + + The authorization URL stirng. + + + + Gets the access token. + + The access token string. + + + + + + + + + + Represents form of Google Drive storage client. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The information about Google Drive client application. + The report template. + + + + + + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents form of the web browser. + + + + + Gets obtained authorization code. + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents form of the web browser. + + + + + Gets obtained authorization code. + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents the information about SkyDrive application. + + + + + Gets or sets the client name. + + + + + Gets or sets the client ID. + + + + + Gets or sets the client secret. + + + + + Initializes a new instance of the class. + + The client name. + The client ID. + The client secret. + + + + Represents the Client Info diabolg form. + + + + + Gets the client ID. + + + + + Gets the client secret. + + + + + Initializes a new instance of the class. + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents form of SkyDrive storage client. + + + + + Initializes a new instance of the class. + + The SkyDrive client info. + The report template. + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + SkyDrive cloud storage client. + + + + + Gets or sets the client info. + + + + + Gets or sets the authorization code. + + + + + Gets or sets the access token. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The client info. + + + + Initializes a new instance of the class. + + Client ID. + Client Secret. + + + + Gets the authorization URL. + + The authorization URL string. + + + + Gets the access token. + + The access token value. + + + + + + + + + + Represents the base form for cloud storage web browsers. + + + + + Gets or sets the url string. + + + + + Initizlizes a new instance of the class. + + + + + Initializes a new instance of the class. + + The url string. + + + + Handle the web browser form shown event. + + The event sender. + The event args. + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + The web browser component. + + + + + Represents an HTTP request method. + + + + + GET request method. + + + + + POST request method. + + + + + PUT request method. + + + + + Static class that contains HTTP utilities. + + + + + Encodes the URL string. + + The URL string. + The encoded URL string. + + + + Encodes the dictionary with URL parameters. + + The dictionary with parameters. + The encoded string. + + + + Decodes the URL string. + + The URL string. + The decoded URL string. + + + + Represents the consumer. + + + + + Gets the consumer key. + + + + + Gest the consumer secret. + + + + + Gets the consumer's signature method. + + + + + Initializes a new instance of the class. + + The consumer key. + The consumer secret. + + + + Represents parser for parse OAuth responses. + + + + + Parses token information in stream. + + The stream for parse. + The OAuth token. + + + + Parses token information in stream for SkyDrive. + + The stream for parse. + The SkyDrive access token. + + + + Parses token information in stream for Google Drive. + + The stream for parse. + The Google Drive access token. + + + + Parses token information in stream for FastCloud. + + The stream for parse. + The FastCloud access token. + + + + Represents the service provider. + + + + + Gets the request token URL. + + + + + Gets the user authorization URL. + + + + + Gets the callback URL. + + + + + Gets the access token URL. + + + + + Initializes a new instance of the class with a specified parameters. + + The request token URL. + The user authorization URL. + The callback URL. + The access token URL. + + + + Represents the OAuth token credentials. + + + + + Gets the token key. + + + + + Gets the token secret. + + + + + Initializes a new instance of the class. + + The token key. + The token secret. + + + + Represents the user. + + + + + API for OAuth protocol. + + + + + Builds signed URL. + + The base token URL. + The HTTP method. + The consumer context. + The request token. + Signed URL. + + + + Represents the signature method. + + + + + Signature method PLAINTEXT. + + + + + Signature method HMAC-SHA1. + + + + + Signature method RSA-SHA1. + + + + + Represents proxy settings of the cloud storage. + + + + + Gets or sets the type of proxy. + + + + + Gets or sets the proxy server. + + + + + Gets or sets the port number of proxy server. + + + + + Gets or sets the username. + + + + + Gets or sets the user's password. + + + + + Initializes a new instance of the class. + + The type of proxy. + The proxy server. + The port number of server. + The username. + The user's password. + + + + Represents the type of rpoxy. + + + + + The HTTP proxy type. + + + + + The SOCKS4 proxy type. + + + + + The SOCKS5 proxy type. + + + + + Provides utils for the web request. + + + + + Sets proxy settings for web request. + + The web request. + The cloud proxy settings. + + + + Represents the parameter of http request. + + + + + Gets the name of a request parameter. + + + + + Gets the value of a request parameter. + + + + + Initializes a naw instance of the class with a specified parameters. + + The name of a request parameter. + The value of a request paramter. + + + + Comparer class for comparing request parameters. + + + + + + + + This class is used to pass find arguments to some methods of the CodeUtils class. + + + + + The start position of the search. After the search, this property points to + the begin of an expression. + + + + + After the search, this property points to the end of an expression. + + + + + The char sequence used to find the expression's begin. + + + + + The char sequence used to find the expression's end. + + + + + The text with embedded expressions. + + + + + The last found expression. + + + + + This static class contains methods that may be used to find expressions embedded + in the object's text. + + + + + Returns expressions found in the text. + + Text that may contain expressions. + The char sequence used to find the start of expression. + The char sequence used to find the end of expression. + Array of expressions if found; otherwise return an empty array. + + + + Gets first expression found in the text. + + Object with find arguments. + Indicates whether to skip strings. + The expression if found; otherwise, returns an empty string. + + + + Class that implements some object's properties such as location, size and visibility. + + + + + Corrects the object's size and sizing point if the size becomes negative. + + Current mouse state. + Typically you don't need to use or override this method. + This method is called by the FastReport designer to check if the object's size becomes negative + when resizing the object by the mouse. Method must correct the object's size and/or position to + make it positive, also change the sizing point if needed. + + + + Checks if the object is inside its parent. + + if true, check now independent of any conditions. + + Typically you don't need to use or override this method. + When you move an object with the mouse, it may be moved outside its parent. If so, this method + must find a new parent for the object and correct it's Left, Top and Parent + properties. If immediately parameter is false, you can optimize the method + to search for new parent only if the object's bounds are outside parent. If this parameter is + true, you must skip any optimizations and search for a parent immediately. + + + + + Draws the object. + + Paint event args. + + This method is widely used in the FastReport. It is called each time when the object needs to draw + or print itself. + In order to draw the object correctly, you should multiply the object's bounds by the scale + parameter. + cache parameter is used to optimize the drawing speed. It holds all items such as + pens, fonts, brushes, string formats that was used before. If the item with requested parameters + exists in the cache, it will be returned (instead of create new item and then dispose it). + + + + + Draw the frame around the object to indicate that it accepts the drag&drop operation. + + Paint event args. + The color of frame. + + + + Draw the selection points. + + Paint event args. + + This method draws a set of selection points returned by the method. + + + + + + + + Gets the preferred size of an object. + + Preferred size. + + This method is called by the FastReport designer when you insert a new object. + + + + + Returns a "smart tag" menu. + + + "Smart tag" is a little button that appears near the object's top-right corner when we are in the + designer and move the mouse over the object. When you click that button you will see a popup window + where you can set up some properties of the object. FastReport uses smart tags to quickly choose + the datasource (for a band) or data column (for objects). + + + + + Handles double click event in the designer. + + + This method is called when the user doubleclicks the object in the designer. Typical implementation + invokes the object's editor (calls the InvokeEditor method) and sets the designer's + Modified flag. + + + + + Handles the DragDrop event in the designer. + + Current mouse state. + + This method is called when the user drops an item from the Data Tree window into this object. + This method should copy the information from the e.DraggedObject object and set the + e.Handled flag to true to complete the drag operation. + + + + + Handles the DragOver event in the designer. + + Current mouse state. + + This method is called when the user drags an item from the Data Tree window. This method should + check that the mouse (e.X, e.Y) is inside the object, then set the e.Handled flag + to true if an item can be dragged into this object. + + + + + Handles KeyDown event in the designer. + + The designer's workspace. + Keyboard event parameters. + + This method is called when the user presses any key in the designer. Typical implementation + does nothing. + + + + + Handles MouseDown event that occurs when the user clicks the mouse in the designer. + + + This method is called when the user press the mouse button in the designer. + The standard implementation does the following: + + checks if the mouse pointer is inside the object; + add an object to the selected objects list of the designer; + sets the e.Handled flag to true. + + + Current mouse state. + + + + Handles MouseMove event that occurs when the user moves the mouse in the designer. + + + This method is called when the user moves the mouse in the designer. Typical + use of this method is to change the mouse cursor to SizeAll when it is over + an object. The standard implementation does the following: + + checks if the mouse pointer is inside the object; + changes the cursor shape (e.Cursor property); + sets the e.Handled flag to true. + + + Current mouse state. + + + + Handles MouseMove event that occurs when the user moves the mouse in the designer. + + + This method is called when the user moves the mouse in the designer. The + standard implementation does the following: + + + if mouse button is not pressed, check that mouse pointer is inside one of + the selection points returned by the + method and set the e.SizingPoint member to the corresponding sizing + point; + + if mouse button is pressed, and e.SizingPoint member is not + SizingPoint.None, resize the object. + + + Current mouse state. + + + + Handles MouseUp event that occurs when the user releases the mouse button in the designer. + + + This method is called when the user releases the mouse button in the + designer. The standard implementation does the following: + + if e.Mode is WorkspaceMode2.SelectionRect, checks if object + is inside the selection rectangle and sets e.Handled flag if so; + + checks that object is inside its parent (calls the + method). + + + + Current mouse state. + + + + Handles mouse wheel event. + + Current mouse state. + + + + Checks if given point is inside the object's bounds. + + point to check. + true if point is inside the object's bounds. + + You can override this method if your objectis not of rectangular form. + + + + + Draws the selection point. + + Paint event args. + object. + object. + Left coordinate. + Top coordinate. + + + + Gets the object's selection points. + + Array of objects. + + Selection point is a small square displayed at the object's sides when object is selected + in the designer. You can drag this square by the mouse to change the object's size. For example, + the TextObject has eight selection points to change its width and height by the mouse. + If you are developing a new component for FastReport, you may override this method + if your object has non-standard set of selection points. For example, if an object has something like + "AutoSize" property, it would be good to disable all selection points if that property is true, + to disable resizing of the object by the mouse. + + + + + Gets a value indicating that given point is inside selection point. + + point's x coordinate. + point's y coordinate. + selection point. + true if (x,y) is inside the point + + + + Gets the absolute bottom coordinate of the object. + + + + + Gets the absolute bounding rectangle of the object. + + + + + Gets the absolute left coordinate of the object. + + + + + Gets the absolute right coordinate of the object. + + + + + Gets the absolute top coordinate of the object. + + + + + Gets or sets the edges of the container to which a control is bound and determines how a control + is resized with its parent. + + + Use the Anchor property to define how a control is automatically resized as its parent control + is resized. Anchoring a control to its parent control ensures that the anchored edges remain in the + same position relative to the edges of the parent control when the parent control is resized. + You can anchor a control to one or more edges of its container. For example, if you have a band + with a TextObject whose Anchor property value is set to Top, Bottom, the TextObject is stretched to + maintain the anchored distance to the top and bottom edges of the band as the height of the band + is increased. + + + + + Gets the bottom coordinate of the object in relation to its container. + + + To change the bottom coordinate, change the and/or properties. + + + + + Gets or sets the bounding rectangle of the object. + + + Assigning a value to this property is equal to assigning values to the , + , , properties. + + + + + Gets or sets the size of client area of the object. + + + This property is used in the class. + + + + + Gets or sets which control borders are docked to its parent control and determines how a control + is resized with its parent. + + + Use the Dock property to define how a control is automatically resized as its parent control is + resized. For example, setting Dock to DockStyle.Left causes the control to align itself with the + left edges of its parent control and to resize as the parent control is resized. + A control can be docked to one edge of its parent container or can be docked to all edges and + fill the parent container. + + + + + Gets or sets a group index. + + + Group index is used to group objects in the designer (using "Group" button). When you select + any object in a group, entire group becomes selected. To reset a group, set the GroupIndex + to 0 (default value). + + + + + Gets or sets the height of the object. + + + This property value is measured in the screen pixels. Use class to + convert a value to desired units. + + The following example demonstrates how to convert between pixels and units: + TextObject text1; + // set Height to 10mm + text1.Height = Units.Millimeters * 10; + // convert a value to millimeters + MessageBox.Show("Height = " + (text1.Height / Units.Millimeters).ToString() + "mm"); + + + + + Gets or sets the left coordinate of the object in relation to its container. + + + + This property value is measured in the screen pixels. Use + class to convert a value to desired units. + + + To obtain absolute coordinate, use property. + + + The following example demonstrates how to convert between pixels and units: + TextObject text1; + // set Left to 10mm + text1.Left = Units.Millimeters * 10; + // convert a value to millimeters + MessageBox.Show("Left = " + (text1.Left / Units.Millimeters).ToString() + "mm"); + + + + + Gets the right coordinate of the object in relation to its container. + + + To change the right coordinate, change the and/or properties. + + + + + Gets or sets the Tag string for this component. + + + + + Gets or sets the top coordinate of the object in relation to its container. + + + + This property value is measured in the screen pixels. Use + class to convert a value to desired units. + + + To obtain absolute coordinate, use property. + + + The following example demonstrates how to convert between pixels and units: + TextObject text1; + // set Top to 10mm + text1.Top = Units.Millimeters * 10; + // convert a value to millimeters + MessageBox.Show("Top = " + (text1.Top / Units.Millimeters).ToString() + "mm"); + + + + + Gets or sets a value indicating whether the object is displayed in the preview window. + + + Setting this property to false will hide the object in the preview window. + + The following report script will control the Text1 visibility depending on the value of the + data column: + private void Data1_BeforePrint(object sender, EventArgs e) + { + Text1.Visible = [Orders.Shipped] == true; + } + + + + + Gets or sets a value that determines if the object can be printed on the printer. + + + Object with Printable = false is still visible in the preview window, but not on the printout. + If you want to hide an object in the preview, set the property to false. + + + + + Gets or sets the width of the object. + + + This property value is measured in the screen pixels. Use class to + convert a value to desired units. + + The following example demonstrates how to convert between pixels and units: + TextObject text1; + // set Width to 10mm + text1.Width = Units.Millimeters * 10; + // convert a value to millimeters + MessageBox.Show("Width = " + (text1.Width / Units.Millimeters).ToString() + "mm"); + + + + + Initializes a new instance of the class with default settings. + + + + + + + + + + + Split Container Control + + + + + Constructor + + + + + TreeView control with multiselect support. + + + This control is for internal use only. + + + + + Creates a new instance of the TreeViewMultiSelect control. + + + + + Gets a copy of list of selected nodes. + + + + + + + + + + + + + + + + + + + + Represents the combobox used to select a data column. + + + + + Occurs when the text portion of the combobox is changed. + + + + + + + + Gets or sets the data source. + + + + + Gets or sets the Report. + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Specifies how text in a is horizontally aligned. + + + + + The text is aligned to the left. + + + + + The text is aligned to the right. + + + + + The text is aligned in the center. + + + + + The text is justified. + + + + + Gets or sets the alignment to apply to the current + selection or insertion point. + + + Replaces the SelectionAlignment from . + + + + + Convert between screen pixels and twips (1/1440 inch, used by Win32 API calls) + + Value in screen pixels + Value in twips + + + + Convert between screen pixels and twips (1/1440 inch, used by Win32 API calls) + + Value in twips + Value in screen pixels + + + + Calculate or render the contents of RichTextBox for printing + + Graphics object + Graphics object to measure richtext for + Bonding rectangle of the RichTextBox + Index of first character to be printed + Index of last character to be printed + If true, only the calculation is performed, + otherwise the text is rendered as well + (Index of last character that fitted on the page) + 1 + + + + Calculate or render the contents of RichTextBox for printing + + Graphics object + Graphics object to measure richtext for + Bonding rectangle of the RichTextBox + Index of first character to be printed + Index of last character to be printed + If true, only the calculation is performed, + otherwise the text is rendered as well + The calculated text height + (Index of last character that fitted on the page) + 1 + + + + This is an internal enum that represents the selected datatree item type. + + + + + Nothing selected. + + + + + Data column selected. + + + + + Total selected. + + + + + Parameter selected. + + + + + Function selected. + + + + + Dialog control selected. + + + + + This is an internal control that represents the data tree. + + + This control is for internal use only. + + + + + DataSource property + + + + + SelectedItem property + + + + + SelectedItemType property + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new instance of the DataTreeView control. + + + + + Represents a control that may contain several pages. It is similar to the TabControl + but contains no tabs. This control is widely used in wizards. + + + + + Occurs when page is selected. + + + + + Gets or sets a value that determines whether the selector area is visible or not. + + + + + Gets or sets the height of selector tab. + + + + + This property is not relevant to this class + + + + + Gets or sets the active page. + + + + + Gets or sets the index of active page. + + + + + Gets or sets the highlighted page index. + + + + + Gets the collection of pages. + + + + + + + + + + + + + + + + + Gets tab at specified mouse point. + + The mouse point. + Index of tab under mouse; -1 if mouse is outside tab area. + + + + Selects the next page. + + + + + Selects the previous page. + + + + + Initializes a new instance of the class with default settings. + + + + + This class represents a single page of the control. + + + + + Gets or sets the page caption text. + + + + + Represents the control that combines a textbox and a button. + + + + + Occurs when the textbox is changed. + + + + + Occurs when the button is clicked. + + + + + + + + Gets or sets the button's image. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Represents a combobox that allows to choose a color. + + + This control may be useful if you write own components for FastReport. + + + + + This event is raised when you select a color. + + + + + Gets or sets the selected color. + + + + + Gets or sets value indicating whether it is necessary to show a color name in a combobox. + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Represents a drop-down control that allows to choose a color. + + + This control may be useful if you write own components for FastReport. + + + + + This event is raised when you select a color. + + + + + Gets or sets the selected color. + + + + + Initializes a new instance of the class with default settings. + + + + + Represents a popup window that alows to choose a color. + + + This control may be useful if you write own components for FastReport. + + + + + This event is raised when you select a color. + + + + + Gets or sets the selected color. + + + + + Initializes a new instance of the class with default settings. + + The main form that owns this popup control. + + + + Represents the label with line. + + + + + + + + Initializes a new instance of the class. + + + + + Represents a popup form. + + + Use this form if you want to show some controls in non-modal borderless form that + behaves like other standard popup controls such as context menu. This form does not + move a focus from the parent form. + + + + + Shows the form. + + The control which location is used as a reference for pt parameter. + The location relative to the ctl control. + + + + Shows the form. + + The control which location is used as a reference for x, y parameters. + The x position relative to the ctl control. + The y position relative to the ctl control. + + + + Shows the form. + + The absolute screen location. + + + + Initializes a new instance of the class with default settings. + + The main form that owns this popup form. + + + + Handler which allows to prevent canceling of popup window + + Popup helper + Event arguments + + + + Contains event information for a PopupClosed event. + + + + + The popup form. + + + + + Gets the popup form which is being closed. + + + + + Constructs a new instance of this class for the specified + popup form. + + Popup Form which is being closed. + + + + Arguments to a PopupCancelEvent. Provides a + reference to the popup form that is to be closed and + allows the operation to be cancelled. + + + + + Whether to cancel the operation + + + + + Mouse down location + + + + + Popup form. + + + + + Constructs a new instance of this class. + + The popup form + The mouse location, if any, where the + mouse event that would cancel the popup occured. + + + + Gets the popup form + + + + + Gets the location that the mouse down which would cancel this + popup occurred + + + + + Gets/sets whether to cancel closing the form. Set to + true to prevent the popup from being closed. + + + + + Represents the method which responds to a PopupClosed event. + + + + + Represents the method which responds to a PopupCancel event. + + + + + A class to assist in creating popup windows like Combo Box drop-downs and Menus. + This class includes functionality to keep the title bar of the popup owner form + active whilst the popup is displayed, and to automatically cancel the popup + whenever the user clicks outside the popup window or shifts focus to another + application. + + + + + Event Handler to detect when the popup window is closed + + + + + Message filter to detect mouse clicks anywhere in the application + whilst the popup window is being displayed. + + + + + The popup form that is being shown. + + + + + The owner of the popup form that is being shown: + + + + + Whether the popup is showing or not. + + + + + Whether the popup has been cancelled, notified by PopupCancel, + rather than closed. + + + + + Raised when the popup form is closed. + + + + + Raised when the Popup Window is about to be cancelled. The + property can be + set to true to prevent the form from being cancelled. + + + + + Shows the specified Form as a popup window, keeping the + Owner's title bar active and preparing to cancel the popup + should the user click anywhere outside the popup window. + Typical code to use this message is as follows: + + frmPopup popup = new frmPopup(); + Point location = this.PointToScreen(new Point(button1.Left, button1.Bottom)); + popupHelper.ShowPopup(this, popup, location); + + Put as much initialisation code as possible + into the popup form's constructor, rather than the System.Windows.Forms.Load + event as this will improve visual appearance. + + Main form which owns the popup + Window to show as a popup + Location relative to the screen to show the popup at. + + + + Responds to the + event from the popup form. + + Popup form that has been closed. + Not used. + + + + Subclasses the owning form's existing Window Procedure to enables the + title bar to remain active when a popup is show, and to detect if + the user clicks onto another application whilst the popup is visible. + + Window Procedure Message + + + + Called when the popup is being hidden. + + + + + Raises the event. + + describing the + popup form that is being closed. + + + + Raises the event. + + describing the + popup form that about to be cancelled. + + + + Default constructor. + + Use the + method to attach this class to the form you want to show popups from. + + + + A Message Loop filter which detect mouse events whilst the popup form is shown + and notifies the owning class when a mouse + click outside the popup occurs. + + + + + Raised when the Popup Window is about to be cancelled. The + property can be + set to true to prevent the form from being cancelled. + + + + + The popup form + + + + + The owning object. + + + + + Constructs a new instance of this class and sets the owning + object. + + The object + which owns this class. + + + + Gets/sets the popup form which is being displayed. + + + + + Checks the message loop for mouse messages whilst the popup + window is displayed. If one is detected the position is + checked to see if it is outside the form, and the owner + is notified if so. + + Windows Message about to be processed by the + message loop + true to filter the message, false otherwise. + This implementation always returns false. + + + + Checks the mouse location and calls the OnCancelPopup method + if the mouse is outside the popup form. + + + + + Raises the event. + + The associated + with the cancel event. + + + + Updates HeaderWidth, HeaderHeight, BodyWidth, BodyHeight properties. + + + + + Represents the crossview object that is used to print cube slice or slicegrid. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + + + + + + + + + + Allows to modify the prepared matrix elements such as cells, rows, columns. + + + + + Gets or sets a value indicating whether to show a title row. + + + + + Gets or sets a value indicating whether to show a X Axis fields Caption. + + + + + Gets or sets a value indicating whether to show a Y Axis fields Caption. + + + + + Gets or sets a matrix style. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + See the event for more details. + + + + + + + + + + + + + + + + + + + + + + + + + Gets or sets a cube source. + + + + + Gets the object that holds data of Cube + + + See the class for more details. + + + + + + + + + + + + + + Creates or updates the matrix template. + + + Call this method after you modify the matrix descriptors using the + object's properties. + + + + + + + + + + + + + + + + + + + + This method fires the ModifyResult event and the script code connected to the ModifyResultEvent. + + Event data. + + + + Initializes a new instance of the class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents interface of the source for object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The descriptor that is used to describe one CrossView data cell. + + + The class is used to define one data cell of the CrossView. + To set visual appearance of the data cell, use the + property. + The collection of descriptors used to represent the CrossView data cells is stored + in the CrossViewObject.Data.Cells property. + + + + + Gets a value indicating that this is the "GrandTotal" element on X axis. + + + + + Gets a value indicating that this is the "GrandTotal" element on Y axis. + + + + + Gets a value indicating that this is the "Total" element on X axis. + + + + + Gets a value indicating that this is the "Total" element on Y axis. + + + + + Gets the name of field in X axis. + + + + + Gets the name of field in Y axis. + + + + + Gets the name of measure in cube. + + + + + Gets the x coordinate. + + + + + Gets the y coordinate. + + + + + + + + + + + Initializes a new instance of the class + + The Field Name in X axis. + The Field Name in Y axis. + The Measure Name. + Indicates the "XTotal" element. + Indicates the "YTotal" element. + Indicates the "XGrandTotal" element. + Indicates the "YGrandTotal" element. + + + + Initializes a new instance of the class + + + + + Represents a collection of CrossView data descriptors used in the . + + + + + Gets or sets the element at the specified index. + + Index of an element. + The element at the specified index. + + + + Adds the specified descriptors to the end of this collection. + + Array of descriptors to add. + + + + Adds a descriptor to the end of this collection. + + Descriptor to add. + Index of the added descriptor. + + + + Inserts a descriptor into this collection at the specified index. + + The zero-based index at which value should be inserted. + The descriptor to insert. + + + + Removes the specified descriptor from the collection. + + Descriptor to remove. + + + + Returns the zero-based index of the first occurrence of a descriptor. + + The descriptor to locate in the collection. + The zero-based index of the first occurrence of descriptor within + the entire collection, if found; otherwise, -1. + + + + Determines whether a descriptor is in the collection. + + The descriptor to locate in the collection. + true if descriptor is found in the collection; otherwise, false. + + + + Copies the elements of this collection to a new array. + + An array containing copies of this collection elements. + + + + + + + + + + + + + + + Contains a set of properties and methods to hold and manipulate the CrossView descriptors. + + + This class contains three collections of descriptors such as , + and . Descriptors are filled from FastCube Slice. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets a collection of column descriptors. + + + Note: after you change something in this collection, call the + method to refresh the CrossView. + + + + + Gets a collection of row descriptors. + + + Note: after you change something in this collection, call the + method to refresh the CrossView. + + + + + Gets a collection of data cell descriptors. + + + Note: after you change something in this collection, call the + method to refresh the CrossView. + + + + + The base class for matrix element descriptors such as and + . + + + + + Gets or sets an expression which value will be used to fill the matrix. + + + Expression may be any valid expression. Usually it's a data column: + [DataSource.Column]. + + + + + Gets or sets the template column bound to this descriptor. + + + This property is for internal use; usually you don't need to use it. + + + + + Gets or sets the template row bound to this descriptor. + + + This property is for internal use; usually you don't need to use it. + + + + + Gets or sets the template cell bound to this descriptor. + + + Using this property, you may access the matrix cell which is bound to + this descriptor. It may be useful to change the cell's appearance. + + Before using this property, you must initialize the matrix descriptors by + calling the method. + + + + + CrossViewObject crossView; + // change the fill color of the first matrix cell + crossView.Data.Cells[0].TemplateCell.Fill = new SolidFill(Color.Red); + + + + + + Assigns values from another descriptor. + + Descriptor to assign values from. + + + + + + + + + + Represents a collection of CrossView header descriptors used in the . + + + + + Gets or sets the element at the specified index. + + Index of an element. + The element at the specified index. + + + + Adds the specified descriptors to the end of this collection. + + Array of descriptors to add. + + + + Adds a descriptor to the end of this collection. + + Descriptor to add. + Index of the added descriptor. + + + + Inserts a descriptor into this collection at the specified index. + + The zero-based index at which value should be inserted. + The descriptor to insert. + + + + Removes the specified descriptor from the collection. + + Descriptor to remove. + + + + Returns the zero-based index of the first occurrence of a descriptor. + + The descriptor to locate in the collection. + The zero-based index of the first occurrence of descriptor within + the entire collection, if found; otherwise, -1. + + + + Determines whether a descriptor is in the collection. + + The descriptor to locate in the collection. + true if descriptor is found in the collection; otherwise, false. + + + + Copies the elements of this collection to a new array. + + An array containing copies of this collection elements. + + + + + + + + + + + + + + + The descriptor that is used to describe one element of the CrossView header. + + + The class is used to define one header element of the CrossView + (either the column element or row element). + To set visual appearance of the element, use the + property. + The collection of descriptors used to represent the CrossView header is stored + in the CrossViewObject.Data.Columns and CrossViewObject.Data.Rows properties. + + + + + Gets a value indicating that this is the "GrandTotal" element. + + + + + Gets a value indicating that this is the "Total" element. + + + + + Gets a value indicating that this is the "Measure" element. + + + + + Gets the name of field in cube. + + + + + Gets the name of measure in cube. + + + + + Gets the cell coordinate. + + + + + Gets the size in cell coordinate. + + + + + Gets the level coordinate. + + + + + Gets the size in level coordinate. + + + + + + + + + + + Initializes a new instance of the class + + The Field Name. + The Measure Name. + Indicates the "Total" element. + Indicates the "GrandTotal" element. + Indicates the "Measure" element. + + + + Initializes a new instance of the class + + + + + Represents the RDL import plugin. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a specified designer. + + The report designer. + + + + + + + + + + The RDL Size units. + + + + + Specifies the units measured in millimeters. + + + + + Specifies the units measured in centimeters. + + + + + Specifies the units measured in inches. + + + + + Specifies the units measured in points. + + + + + Specifies the units measured in picas. + + + + + Defines the constants used to convert between RDL Size and pixels. + + + To convert pixels to inches, use the code: + inches = pixels / SizeUnitsP.Inch; + To convert inches to pixels, use the code: + pixels = inches * SizeUnitsP.Inch; + + + + + The number of pixels in one millimeter. + + + + + The number of pixels in one centimeter. + + + + + The number of pixels in one inch. + + + + + The number of pixels in one point. + + + + + The number of pixels in one pica. + + + + + Defines the constants used to convert between RDL Size and millimeters. + + + To convert millimeters to inches, use the code: + inches = millimeters / SizeUnitsM.Inch; + To convert inches to millimeters, use the code: + millimeters = inches * SizeUnitsM.Inch; + + + + + The number of millimeters in one centimeter. + + + + + The number of millimeters in one inch. + + + + + The number of millimeters in one point. + + + + + The number of millimeters in one pica. + + + + + The RDL units converter. + + + + + Converts the RDL Boolean to bool value. + + The RDL Boolean value. + The bool value. + + + + Converts the RDL Color to Color. + + The RDL Color value. + The Color value. + + + + Converts the RDL Size to float value. + + The RDL Size value. + The RDL Size units measure. + The float value of RDL Size. + + + + Converts the RDL Size to int value. + + The RDL Size value. + The RDL Size units measure. + The int value of RDL Size. + + + + Converts the RDL Size to millimeters. + + The RDL Size value. + The float value of RDL Size in millimeters. + + + + Converts the RDL Size to pixels. + + The RDL Size value. + The float value of RDL Size in pixels. + + + + Converts the RDL FontStyle to FontStyle. + + The RDL FontStyle value. + The FontStyle value. + + + + Converts the RDL FontSize to float. + + The RDL FontSize value. + The float value of RDL FontSize in points. + + + + Converts the RDL TextAlign to HorzAlign. + + The RDL TextAlign value. + The HorzAlign value. + + + + Converts the RDL TextAlign to VerticalAlign. + + The RDL VerticalAlign value. + The VertAlign value. + + + + Converts the RDL WritingMode to Angle. + + The RDL WritingMode value. + The int value of RDL WritingMode in degree. + + + + Converts the RDL TextAlign to StringAlignment. + + The RDL TextAling value. + The StringAlignment value. + + + + Converts the RDL TextAlign and VerticalAlign to ContentAlignment. + + The RDL TextAlign value. + The RDL VerticalAlign value. + The ContentAlignment value. + + + + Converts the RDL BorderStyle to LineStyle. + + The RDL BorderStyle value. + The LineStyle value. + + + + Converts the RDL Sizing to PictureBoxSizeMode. + + The RDL Sizing value. + The PictureBoxSizeMode value. + + + + Converts the RDL GradientType to GradientStyle. + + The RDL GradientType value. + The GradientStyle value. + + + + Converts the RDL Chart.Type to SeriesChartType. + + The RDL Chart.Type value. + The SeriesChartType value. + + + + Converts the RDL Chart.Palette to ChartColorPalette. + + The RDL Chart.Palette value. + The RDL ChartColorPalette value. + + + + Converts the RDL Chart.Legend.Position to Legend.Docking and Legend.Alignment. + + The RDL Chart.Legend.Position value. + The Legend instance to convert to. + + + + Converts the RDL Chart.Legend.Layout to LegendStyle. + + The RDL Chart.Legend.Layout value. + The LegendStyle value. + + + + Converts the RDL BorderStyle to ChartDashStyle. + + The RDL BorderStyle value. + The ChartDashStyle value. + + + + Converts the RDL Axis.Visible to AxisEnabled. + + The RDL Axis.Visible value. + The AxisEnabled value. + + + + Converts the RDL TickMarkStyle to TickMarkStyle. + + The RDL TickMarkStyle value. + The TickMarkStyle value. + + + + Converts the RDL Shading to LightStyle. + + The RDL Shading value. + The LightStyle value. + + + + The components factory. + + + + + Creates a ReportPage instance in the specified Report. + + The Report instance. + The ReportPage instance. + + + + Creates a ReportTitleBand instance in the specified ReportPage. + + The ReportPage instance. + The ReportTitleBand instance. + + + + Creates a ReportSummaryBand instance in the specified ReportPage. + + The ReportPage instance. + The ReportSummaryBand instance. + + + + Creates a PageHeaderBand instance in the specified ReportPage. + + The ReportPage instance. + The PageHeaderBand instance. + + + + Creates a PageFooterBand instance in the specified ReportPage. + + The ReportPage instance. + The PageFooterBand instance. + + + + Creates a ColumnHeaderBand instance in the specified ReportPage. + + The ReportPage instance. + The ColumnHeaderBand instance. + + + + Creates a ColumnFooterBand instance in the specified ReportPage. + + The ReportPage instance. + The ColumnFooterBand instance. + + + + Creates a DataHeaderBand instance in the specified DataBand. + + The DataBand instance. + The DataHeaderBand instance. + + + + Creates a DataBand instance in the specified ReportPage. + + The ReportPage instance. + The DataBand instance. + + + + Creates a DataFooterBand instance in the specified DataBand. + + The DataBand instance. + The DataFooterBand instance. + + + + Creates a GroupHeaderBand instance in the specified ReportPage. + + The ReportPage instance. + The GroupHeaderBand instance. + + + + Creates a GroupFooterBand instance in the cpecified ReportPage. + + The ReportPage instance. + The GroupFooterBand instance. + + + + Creates a ChildBand instance in the specified BandBase. + + The BandBase instance. + The ChildBand instance. + + + + Creates an OverlayBand in the specified ReportPage. + + The ReportPage instance. + The OverlayBand instance. + + + + Creates a TextObject instance with specified name and parent. + + The name of the TextObject instance. + The parent of the TextObject instance. + The TextObject instance. + + + + Creates a PictureObject instance with specified name and parent. + + The name of the PictureObject instance. + The parent of the PictureObject instance. + The PictureObject instance. + + + + Creates a LineObject instance with specified name and parent. + + The name of the LineObject instance. + The parent of the LineObject instance. + The LineObject instance. + + + + Creates a ShapeObject instance with specified name and parent. + + The name of the ShapeObject instance. + The parent of the ShapeObject instance. + The ShapeObject instance. + + + + Creates a PolyLineObject instance with specified name and parent. + + The name of the PolyLineObject instance. + The parent of the PolyLineObject instance. + The PolyLineObject instance. + + + + Creates a PolygonObject instance with specified name and parent. + + The name of the PolygonObject instance. + The parent of the PolygonObject instance. + The PolygonObject instance. + + + + Creates a SubreportObject instance with specified name and parent. + + The name of the SubreportObject instance. + The parent of the SubreportObject instance. + The SubreportObject instance. + + + + Creates a CheckBoxObject instance with specified name and parent. + + The name of the CheckBoxObject instance. + The parent of the CheckBoxObject instance. + The CheckBoxObject instance. + + + + Creates a HtmlObject instance with specified name and parent. + + The name of the HtmlObject instance. + The parent of the HtmlObject instance. + The HtmlObject instance. + + + + Creates a TableObject instance with specified name and parent. + + The name of the TableObject instance. + The parent of the TableObject instance. + The TableObject instance. + + + + Creates a MatrixObject instance with specified name and parent. + + The name of the MatrixObject instance. + The parent of the MatrixObject instance. + The MatrixObject instance. + + + + Creates a BarcodeObject instance with specified name and parent. + + The name of the BarcodeObject instance. + The parent of the BarcodeObject instance. + The BarcodeObject instance. + + + + Creates a RichObject instance with specified name and parent. + + The name of the RichObject instance. + The parent of the RichObject instance. + The RichObject instance. + + + + Creates a MSChartObject instance with specified name and parent. + + The name of the MSChartObject instance. + The parent of the MSChartObject instance. + The MSChartObject instance. + + + + Creates a SparklineObject instance with specified name and parent. + + The name of the SparlineObject instance. + The parent of the SparlineObject instance. + + + + + Creates a ZipCodeObject instance with specified name and parent. + + The name of the ZipCodeObject instance. + The parent of the ZipCodeObject instance. + The ZipCodeObject instance. + + + + Creates a CellularTextObject instance with specified name and parent. + + The name of the CellularTextObject instance. + The parent ot the CellularTextObject instance. + The CellularTextObject instance. + + + + Creates a MapObject instance with specified name and parent. + + The name of the MapObject instance. + The parent of the MapObject instance. + The MapObject instance. + + + + Creates a LinearGauge instance with specified name and parent. + + The name of the LinearGauge instance. + The parent of the LinearGauge instance. + The LinearGauge instance. + + + + Creates a SimpleGauge instance with specified name and parent. + + The name of the SimpleGauge instance. + The parent of the SimpleGauge instance. + The SimpleGauge instance. + + + + Represents the DevExpess import plubin. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a specified designer. + + The report designer. + + + + + + + The DevExpress units converter. + + + + + Converts SizeF to pixels. + + SizeF value as string. + The value in pixels. + + + + Converts DevExpress Color. + + The DevExpress Color value as string. + The Color value. + + + + Converts DevExpress BackColor. + + The DevExpress BackColor value as string. + The Color value. + + + + Converts the DevExpress BorderDashStyle to LineStyle. + + The DevExpress BorderDashStyle value. + The LineStyle value. + + + + Converts the DevExpress LineStyle to LineStyle. + + The DevExpress LineStyle value. + The LineStyle value. + + + + Converts the DevExpress TextAlignment to HorzAlignment. + + The DevExpress TextAlignment value. + The HorzAlign value. + + + + Converts the DevExpress TextAlignment to VertAlignment. + + The DevExpress TextAlignment value. + The VertAlign value. + + + + Converts the DevExpress ImageSizeMode to PictureBoxSizeMode. + + The ImageSizeMode value as string. + The PictureBoxSizeMode value. + + + + Converts the DevExpress Shape to ShapeKind. + + The DevExpress Shape value as string. + The ShapeKind value. + + + + Converts the DevExpress Barcode.Symbology to Barcode.Barcode. + + The DevExpress Barcode.Symbology value as string. + The BarcodeObject instance. + + + + Represents the List and Label import plugin. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a specified designer. + + The report designer. + + + + + + + + + + The List and Label units converter. + + + + + Converts List and Label units to millimeters. + + The List and Label unit as string. + The value in millimeters. + + + + Converts List and Label units to pixels. + + The List and Label unit as string. + The value in pixels. + + + + Converts List and Label paper orientation. + + The List and Label paper orientation value as string. + Returns true if orientation is landscape. + + + + Converts List and Label bool. + + The List and Label bool value as string. + A bool value. + + + + Converts List and Label text Align. + + The List and Label text Align value as string. + A HorzAlign value. + + + + Convert List and Label LineType to LineStyle. + + The List and Label LineType value as string. + A LineStyle value. + + + + Converts List and Label rounding to float. + + The List and Label rounding value as string. + A float value. + + + + The base class for all designer commands. + + + + + Gets a value indicating that the command is enabled. + + + If you use own controls that invoke designer commands, use this property to refresh + the Enabled state of a control that is bound to this command. + + + + + Defines a custom action for this command. + + + Using custom action, you can override the standard behavior of this designer's command. + + + This example demonstrates how to override the "New..." command behavior. + + // add an event handler that will be fired when the designer is run + Config.DesignerSettings.DesignerLoaded += new EventHandler(DesignerSettings_DesignerLoaded); + + void DesignerSettings_DesignerLoaded(object sender, EventArgs e) + { + // override "New..." command behavior + (sender as Designer).cmdNew.CustomAction += new EventHandler(cmdNew_CustomAction); + } + + void cmdNew_CustomAction(object sender, EventArgs e) + { + // show the "Label" wizard instead of standard "Add New Item" dialog + Designer designer = sender as Designer; + LabelWizard wizard = new LabelWizard(); + wizard.Run(designer); + } + + + + + + Gets a value for the Enabled property. + + true if command is enabled. + + + + Invokes the command. + + + + + Invokes the command with specified sender and event args. + + Sender. + Event args. + + This method is compatible with standard and can be passed + to the event handler constructor directly. + + + + + Represents the "File|New" command. + + + + + + + + + + + Represents the "New Page" toolbar command. + + + + + + + + + + + Represents the "New Dialog" toolbar command. + + + + + + + + + + + Represents the "File|Open..." command. Also can be used for loading a file + from the recent files list. + + + + + + + + + + + Loads a specified report file. + + File to load. + + + + Represents the "File|Save" command. + + + + + + + + + + + Represents the "File|Save As..." command. + + + + + + + + + + + Represents the "File|Save All" command. + + + + + + + + + + + Represents the "File|Close" command. + + + + + + + + + + + Represents the "Window|Close All" command. + + + + + + + + Represents the "File|Preview..." command. + + + + + + + + + + + Represents the "File|Page Setup..." command. + + + + + + + + + + + Represents the "Report|Options..." command. + + + + + + + + + + + Represents the "File|Printer Setup..." command. + + + + + + + + + + + Represents the "Edit|Undo" command. + + + + + + + + + + + Undo several actions. + + Number of actions to undo. + + + + Represents the "Edit|Redo" command. + + + + + + + + + + + Redo several actions. + + Number of actions to redo. + + + + Represents the "Edit|Cut" command. + + + + + + + + + + + Represents the "Edit|Copy" command. + + + + + + + + Represents the "Edit|Copy Page" command. + + + + + + + + + + + Represents the "Edit|Paste" command. + + + + + + + + + + + Represents the "Format Painter" toolbar command. + + + + + + + + + + + Represents the "Edit|Delete" command. + + + + + + + + + + + Represents the "Edit|Delete Page" command. + + + + + + + + + + + Represents the "Edit|Select All" command. + + + + + + + + + + + Represents the "Edit|Group" command. + + + + + + + + + + + Represents the "Edit|Ungroup" command. + + + + + + + + Represents the "Edit" command. + + + + + + + + + + + Represents the "Edit|Find..." command. + + + + + + + + + + + Represents the "Edit|Replace..." command. + + + + + Represents the "Bring To Front" context menu command. + + + + + + + + + + + Represents the "Send To Back" context menu command. + + + + + + + + Represents the "Insert" command. + + + This command has no default action associated with it. Check the Enabled property + to see if the insert operation is enabled. + + + + + + + + Represents the "Insert Band" command. + + + This command has no default action associated with it. Check the Enabled property + to see if the insert operation is enabled. + + + + + + + + Represents the "Data|Add Data Source..." command. + + + + + + + + + + + Represents the "Data|Sort Data Sources" command. + + + + + + + + + + + Represents the "Data|Choose Report Data..." command. + + + + + + + + + + + Represents the "Recent Files" command. + + + This command has no default action associated with it. Check the Enabled property + to see if the recent files list is enabled. + + + + + + + + Represents the "File|Select Language..." command. + + + + + + + + Represents the "View|Options..." command. + + + + + + + + Represents the "View|Start Page" command. + + + + + + + + + + + Represents the "Select polygon move" command. + + + + + + + + + + + Represents the "Report|Styles..." command. + + + + + + + + + + + Represents the "Help|Help Contents..." command. + + + + + + + + + + + Represents the "Help|About..." command. + + + + + + + + Represents the "Show welcome window..." command. + + + + + + + + + + + Represents the report's designer control. + + + Usually you don't need to create an instance of this class. The designer can be called + using the method of + the instance. + This control represents pure designer surface + Objects toolbar. If you need + standard menu, statusbar, toolbars and tool windows, use the + control instead. Also you may + decide to use a designer's form () + instead of a control. + To run a designer, you need to attach a Report instance to it. This can be done via + the property. + To call the designer in MDI (Multi-Document Interface) mode, use the + property. + To set up some global properties, use the static class + or component that you can use in the Visual Studio IDE. + + + + + Occurs when designer's UI state changed. + + + + + Gets or sets the edited report. + + + To initialize the designer, you need to pass a Report instance to this property. + This will create the designer's surface associated with the report. + + Designer designer = new Designer(); + designer.Parent = form1; + designer.Report = report1; + + + + + + Gets active report object. + + + May be null if Start Page selected, or no reports opened. + + + + + Gets a collection of global plugins such as menu, properties window, etc. + + + + + Gets a collection of objects on the active page of the active report. + + + + + Gets a collection of selected objects on the active page of the active report. + + + + + Gets a collection of selected objects of the ComponentBase type. + + + + + Gets a collection of selected objects of the ReportComponentBase type. + + + + + Gets a collection of selected objects of the TextObject type. + + + + + Gets or sets a value indicating that the report was modified. + + + + + Gets or sets a value that determines whether to ask user to save changes when closing the designer. + + + + + Gets the designer restrictions. + + + + + Gets or sets a value indicating that designer is run in MDI mode. + + + To call the designer in MDI (Multi-Document Interface) mode, use the following code: + + DesignerControl designer = new DesignerControl(); + designer.MdiMode = true; + designer.ShowDialog(); + + + + + + Gets or sets the visual style. + + + + + Gets a value indicating that designer is used to edit a preview page. + + + + + The "File|New" command. + + + + + The "New Page" toolbar command. + + + + + The "New Dialog" toolbar command. + + + + + The "File|Open..." command. + + + + + The "File|Save" command. + + + + + The "File|Save As..." command. + + + + + The "File|Save All" command. + + + + + The "File|Close" command. + + + + + The "Window|Close All" command. + + + + + The "File|Preview..." command. + + + + + The "File|Printer Setup..." command. + + + + + The "File|Page Setup..." command. + + + + + The "Data|Add New Data Source..." command. + + + + + The "Data|Sort Data Sources" command. + + + + + The "Data|Choose Report Data..." command. + + + + + The "Edit|Undo" command. + + + + + The "Edit|Redo" command. + + + + + The "Edit|Cut" command. + + + + + The "Edit|Copy" command. + + + + + The "Edit|Paste" command. + + + + + The "Format Painter" toolbar command. + + + + + The "Edit|Delete" command. + + + + + The "Edit|Copy Page" command. + + + + + The "Edit|Delete Page" command. + + + + + The "Edit|Select All" command. + + + + + The "Edit|Group" command. + + + + + The "Edit|Ungroup" command. + + + + + The "Edit" command. + + + + + The "Edit|Find..." command. + + + + + The "Polygon move command" command. + + + + + The "Polygon point move" command. + + + + + The "Polygon add new point" command. + + + + + The "Polygon berier" command. + + + + + The "Polygon remove point" command. + + + + + The "Edit|Replace..." command. + + + + + The "Bring To Front" command. + + + + + The "Send To Back" command. + + + + + The "Insert" command. + + + + + The "Insert Band" command. + + + + + The "Recent Files" command. + + + + + The "File|Select Language..." command. + + + + + The "View|Start Page" command. + + + + + The "Report|Options..." command. + + + + + The "View|Options..." command. + + + + + The "Report|Styles..." command. + + + + + The "Help|Help Contents..." command. + + + + + The "Help|About..." command. + + + + + The "Show welcome window..." command. + + + + + Gets or sets the layout state of the designer. + + + This property is used to store layout in Visual Studio design time. You may also use + it to save and restore the designer's layout in your code. However, consider using the + and methods that use FastReport + configuration file. + + + + + Fires when the layout is changed. + + + This event is for internal use only. + + + + + Initializes designer plugins such as toolbars and toolwindows. + + + + + + + + Cancels paste mode. + + + + + AutoSave system initialization. + + + + + Stops the AutoSave system. + + + + + Call this method if you change something in the report. + + + This method adds the current report state to the undo buffer and updates all plugins. + + + + + Call this method if you change something in the report. + + The object that was modified. + The undo action name. + + This method adds the current report state to the undo buffer and updates all plugins. + + + + + Call this method if you change something in the report. + + The object that was modified. + The undo action name. + The name of modified object. + + + + Call this method to tell the designer that current selection is changed. + + The plugin that changes the selection (may be null). + + + + Locks all plugins. + + + This method is usually called when we destroy the report to prevent unexpected + errors - such as trying to draw destroyed objects. + + + + + Unlocks all plugins. + + + Call this method after the Lock. + + + + + Call this method to refresh all plugins' content. + + The plugin that we don't need to refresh. + + + + Saves config to a FastReport configuration file. + + + + + Restores config from a FastReport configuration file. + + + Call this method to restore the designer's layout. You need to do this after the + designer's control is placed on a form. + + + + + Refresh the designer's toolbars and toolwindows layout. + + + Call this method if you use + DesignerControl. To restore + the layout that you've created in VS design time, you need to call this method in the form's + Load event handler. If you don't do this, tool windows like Properties, Data, Report Tree + will not be available. + + + + + + + + + + + Initializes the workspace after the new report is loaded. + + + + + Tries to create a new empty report. + + true if report was created successfully; false if user cancels the action. + + + + Displays a message in the "Messages" window. + + Message text. + + + + Clears the "Messages" window. + + + + + Shows the selected object's information in the designer's statusbar. + + Object's location. + Object's size. + Textual information about the selected object. + + + + Close all opened reports, ask to save changes. + + true if all tabs closed succesfully. + + Use this method to close all opened documents and save changes when you closing the main form + that contains the designer control. To do this, create an event handler for your form's FormClosing + event and call this method inside the handler. If it returns false, set e.Cancel to true. + + + + + Initializes a new instance of the class with default settings. + + + + + Required designer variable. + + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Base class for all export plugins. + + + + + Gets or sets the name of plugin. + + + + + Gets or sets the filter string used in the "Save File" dialog. + + + + + Gets or sets reference to the designer. + + + + + Gets or sets reference to the report. + + + + + Initializes a new instance of the class with default settings. + + + + + Initializes a new instance of the class with a specified designer. + + The report designer. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a file filter for a save dialog. + + String that contains a file filter, for example: "Bitmap image (*.bmp)|*.bmp" + + + + Saves the specified report into specified file. + + Report object. + File name. + + + + Represents the FR3 export plugin. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a specified designer. + + The report designer. + + + + + + + + + + The FR3 units converter. + + + + + Converts Color to TColor. + + Color value. + String that contains TColor value. + + + + Converts font style. + + FontStyle value. + String that contains converted value. + + + + Converts horizontal alignment of text. + + HorzAlign value. + String that contains converted value. + + + + Converts vertical alignment of text. + + VertAlign value. + String that contains coverted value. + + + + Converts font size to delphi font height. + + Font size value. + String that contains font height value. + + + + Convert line style to frame style. + + Line style value. + String that contains converted value. + + + + Converts barcode type. + + BarcodeBase instance. + String that contains converted value. + + + + Converts BorderLines value. + + BorderLines instance. + String that contains converted value. + + + + Converts CheckedSymbol value. + + CheckeSymbol instance. + String that contains converted value. + + + + Converts ScaleDock value. + + ScaleDock instance. + String that contains converted value. + + + + Converts DashStyle value. + + DashStyle instance. + String that contains converted value. + + + + Converts TotalType value. + + TotalType instance. + String that contains converted value. + + + + Converts MapLabelKind value. + + MapLabelKind instance. + String that contains converted value. + + + + Converts MapPalette value. + + MapPalette instance. + String that contains converted value. + + + + Converts ShapeKind value. + + ShapeKind instance. + String that contains coverted value. + + + + Represents the RDL export plugin. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a specified designer. + + The report designer. + + + + + + + + + + The FR units converter. + + + + + Converts the float size in pixels to string value in millimeters. + + The float value in pixels. + The string value in millimeters. + + + + Converts the float size in millimeters to string value in millimeters. + + The float value in millimeters. + The string value in millimeters. + + + + Converts the bool value to string. + + The bool value. + The string value. + + + + Converts the int size in pixels to string value in pt. + + The int value in pixels. + The string value in pt. + + + + Converts the Color value to string. + + The Color value. + The string representation of Color value. + + + + Converts the LineStyle value to RDL BorderStyle value. + + The LineStyle value. + The string with RDL BorderStyle value. + + + + Converts the GradientStyle value to RDL GradientType value. + + The GradientStyle value. + The string with RDL GradientType value. + + + + Converts the FontStyle value to RDL FontStyle value. + + The FontStyle value. + The string with RDL FontStyle value. + + + + Converts the FontFamily value to RDL FontFamily value. + + The FontFamily value. + The string with RDL FontFamily value. + + + + Converts the HorzAlign value to RDL TextAlign value. + + The HorzAlign value. + The string with RDL TextAling value. + + + + Converts the VertAling value to RDL VerticalAling value. + + The VertAling value. + The string with RDL VerticalAlign value. + + + + Converts the Angle value to RDL WritingMode value. + + The Angle value. + The string with RDL WritingMode value. + + + + Converts the FontSize value to RDL FontSize value. + + The FontSize value. + The string with RDL FontSize value. + + + + Converts the PictureBoxSizeMode value to RDL Sizing value. + + The PictureBoxSizeMode value. + The string with RDL Sizing value. + + + + Converts the SeriesChartType value to RDL Chart.Type value. + + The SeriesChartType value. + The string with RDL Chart.Type value. + + + + Converts the ChartColorPalette value to RDL Chart.Palette value. + + The ChartColorPalette value. + The string with RDL Chart.Palette value. + + + + Converts the Legend.Docking and Legend.Alignment values to RDL Chart.Legend.Position value. + + The Legend.Docking value. + The Legend.Alignment value. + The string with RDL Chart.Legend.Position value. + + + + Converts the LegendStyle value to Chart.Legend.Layout value. + + The LegendStyle value. + The string with RDL Chart.Legend.Layout value. + + + + Converts the LightStyle value to RDL Shading value. + + The LightStyle value. + The string with RDL Shading value. + + + + Converts the ChartDashStyle value to RDL BorderStyle value. + + The ChartDashStyle value. + The string with RDL ChartDahsStyle value. + + + + Converts the ContentAlignment value to RDL TextAlign value. + + The ContentAlignment value. + The string with RDL TextAlign value. + + + + Converts the ContentAlignment value to RDL VerticalAlign value. + + The ContentAlignment value. + The string with RDL VerticalAlign value. + + + + Converts the AxisEnabled value to RDL Axis.Visible value. + + The AxisEnabled value. + The string with RDL Axis.Visible value. + + + + Converts the TickMarkStyle value to RDL TickMarkStyle value. + + The TickMarkStyle value. + The string with RDL TickMarkStyle value. + + + + Converts the StringAlignment value to RDL TextAlign value. + + The StringAlignment value. + The string with RDL TextAlign value. + + + + Represents the standard report designer. + + + This control extends the control with + standard menu, status bar, and toolbars. + To choose toolbars and tool windows in design-time, click the "View" menu + in this control and select what you want to see. Toolbars can be reordered using the mouse. + To restore the designer layout at runtime, you need to call the + RefreshLayout method in your + form's Load event handler. + + + + + Gets the main menu. + + + + + Gets or sets a value indicating whether the main menu should be displayed or not. + + + + + Gets or sets a value indicating whether the status bar should be displayed or not. + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Initializes a new instance of the class for compatibility with new statusbar and using with ribbon UI. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents standard designer's form. + + + This form contains the . Use the + property to get access to this control. + Usually you don't need to create an instance of this class. The designer can be called + using the method of + the instance. + If you decided to use this class, you need: + + + create an instance of this class; + + + set the Designer.Report property to report that you need to design; + + + call either ShowModal or Show methods to display a form. + + + + + + + Gets a reference to the control which is actually a designer. + + + + + Gets a list of File menu buttons + + + + + Creates a new instance of the class with default settings. + + + + + Creates a new instance of the class with default settings. + + enables welcome window + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents the designer's main menu. + + + To get this menu, use the following code: + + Designer designer; + DesignerMenu menu = designer.Plugins.FindType("DesignerMenu") as DesignerMenu; + + + + + + The "File" menu. + + + + + The "File|New..." menu. + + + + + The "File|Open..." menu. + + + + + The "File|Close" menu. + + + + + The "File|Save" menu. + + + + + The "File|Save as..." menu. + + + + + The "File|Save All" menu. + + + + + The "File|Page Setup..." menu. + + + + + The "File|Printer Setup..." menu. + + + + + The "File|Preview..." menu. + + + + + The "File|Select Language" menu. + + + + + The "File|Exit" menu. + + + + + The "Edit" menu. + + + + + The "Edit|Undo" menu. + + + + + The "Edit|Redo" menu. + + + + + The "Edit|Cut" menu. + + + + + The "Edit|Copy" menu. + + + + + The "Edit|Paste" menu. + + + + + The "Edit|Delete" menu. + + + + + The "Edit|Copy Page" menu. + + + + + The "Edit|Delete Page" menu. + + + + + The "Edit|Select All" menu. + + + + + The "Edit|Group" menu. + + + + + The "Edit|Ungroup" menu. + + + + + The "Edit|Find..." menu. + + + + + The "Edit|Replace..." menu. + + + + + The "View" menu. + + + + + The "View|Toolbars" menu. + + + + + The "View|Start Page" menu. + + + + + The "View|Options..." menu. + + + + + The "Insert" menu. + + + + + The "Report" menu. + + + + + The "Report|Options..." menu. + + + + + The "Data" menu. + + + + + The "Data|Choose Report Data..." menu. + + + + + The "Data|Add Data Source..." menu. + + + + + The "Data|Show Data Dictionary" menu. + + + + + The "Window" menu. + + + + + The "Window|Close All" menu. + + + + + The "Help" menu. + + + + + The "Help|Help Contents..." menu. + + + + + The "Help|About..." menu. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new menu item. + + New menu item. + + + + Creates a new menu item. + + Click handler. + New menu item. + + + + Creates a new menu item. + + Item's image. + Click handler. + New menu item. + + + + Creates a new menu item. + + Item's text. + Click handler. + New menu item. + + + + Creates a new menu item. + + Item's image. + Item's text. + Click handler. + New menu item. + + + + Initializes a new instance of the class with default settings. + + The report designer. + + + + Represents the designer's statusbar. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Updates the information about location and size. + + The location. + The size. + + + + Updates the name and text information. + + The text. + + + + Initializes a new instance of the class with default settings. + + The report designer. + + + + Base class for all designer toolbars. + + + Use this class to write own designer's toolbar. To do this: + - in the constructor, set the Name property and create toolbar buttons. + The Name will be used to restore toolbar's state; + - override the SelectionChanged method. This method is called when current selection + is changed. In this method, you should update buttons state to reflect the current selection. + Selected objects can be accessed via Designer.SelectedObjects property; + - override the UpdateContent method. This method is called when the report + content was changed. Typically you need to do the same actions in SelectionChanged and + UpdateContent methods; + - to register a toolbar, add its type to the global collection: + + DesignerPlugins.Add(typeof(MyToolbar)); + + + + + + + Gets the report designer. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new button. + + Button's name. + Button's image. + Click handler. + New button. + + + + Creates a new button. + + Button's name. + Button's image. + Button's tooltip text. + Click handler. + New button. + + + + Initializes a new instance of the class with default settings. + + The report designer. + + You don't need to call this constructor. The designer will do this automatically. + + + + + Provides a data for the designer ReportLoaded event. + + + + + The current report. + + + + + Represents the method that will handle the designer ReportLoaded event. + + The source of the event. + The event data. + + + + Provides a data for the designer ObjectInserted event. + + + + + Gets the inserted object. + + + + + Gets the source where the object is inserted from. + + + + + Represents the method that will handle the designer ObjectInserted event. + + The source of the event. + The event data. + + + + Provides a data for the designer's custom dialog events. + + + + + Gets or sets a file name. + + + This property contains the location of a report. If you work with files (like the + standard "Open" and "Save" dialogs do), treat this property as a file name. + + + + + Gets or sets a value indicating that the dialog was cancelled. + + + This property is used to tell the designer that the user was cancelled the dialog. + + + + + Gets or sets the custom data that is shared across events. + + + You may set the Data in the OpenDialog event and use it later in the OpenReport event. + + + + + Gets a report designer. + + + + + Represents the method that will handle the designer's custom dialogs event. + + The source of the event. + The event data. + + + + Provides a data for the designer's custom dialog events. + + + + + Gets a report. + + + Use this report in the load/save operations. + + + + + Gets a file name. + + + This property contains the location of a report that was selected by the user in the + open/save dialogs. If you work with files (like the standard "Open" and "Save" dialogs do), + treat this property as a file name. + + + + + Gets the custom data that was set in the OpenDialog event. + + + + + Represents the method that will handle the designer's custom dialogs event. + + The source of the event. + The event data. + + + + Provides data for the FilterConnectionTables event. + + + + + Gets the Connection object. + + + + + Gets the table name. + + + + + Gets or sets a value that indicates whether this table should be skipped. + + + + + Represents the method that will handle the FilterConnectionTables event. + + The source of the event. + The event data. + + + + Provides data for the CustomQueryBuilder event. + + + + + Gets the Connection object. + + + + + Gets or sets the query text. + + + + + Gets or sets the query parameters. + + + + + Represents the method that will handle the CustomQueryBuilder event. + + The source of the event. + The event data. + + + + This class contains settings that will be applied to the report designer. + + + + + Occurs when the designer is loaded. + + + Use this event if you want to customize some aspects of the designer, for example, + to hide some menu items. + + + This example demonstrates how to hide the "File|Select Language..." menu item. + + Config.DesignerSettings.DesignerLoaded += new EventHandler(DesignerSettings_DesignerLoaded); + + void DesignerSettings_DesignerLoaded(object sender, EventArgs e) + { + (sender as DesignerControl).MainMenu.miFileSelectLanguage.Visible = false; + } + + + + + + Occurs when the designer is closed. + + + + + Occurs when the report is loaded. + + + + + Occurs when a report page or a dialog form is added to the report. + + + Use this event if you want to customize the page properties. + + + This example demonstrates how to change the default page margins. + + Config.DesignerSettings.PageAdded += new EventHandler(DesignerSettings_PageAdded); + + void DesignerSettings_PageAdded(object sender, EventArgs e) + { + if (sender is ReportPage) + (sender as ReportPage).TopMargin = 0; + } + + + + + + Occurs when object is inserted. + + + + + Occurs when the report designer is about to show the "Open" dialog. + + Use this event to attach own "Open" dialog to the designer. In the event handler, you must + display a dialog window to allow user to choose a report file. + If dialog was executed successfully, you must return e.Cancel = false and set the + e.FileName to the selected file name. + You also need to use event to provide code that + will open the report. + + + This example shows how to attach own "Open" and "Save" dialogs to the designer. + It uses the following events: , , + , . + + private void CustomOpenDialog_Handler(object sender, OpenSaveDialogEventArgs e) + { + using (OpenFileDialog dialog = new OpenFileDialog()) + { + dialog.Filter = "Report files (*.frx)|*.frx"; + + // set e.Cancel to false if dialog was succesfully executed + e.Cancel = dialog.ShowDialog() != DialogResult.OK; + // set e.FileName to the selected file name + e.FileName = dialog.FileName; + } + } + + private void CustomSaveDialog_Handler(object sender, OpenSaveDialogEventArgs e) + { + using (SaveFileDialog dialog = new SaveFileDialog()) + { + dialog.Filter = "Report files (*.frx)|*.frx"; + // get default file name from e.FileName + dialog.FileName = e.FileName; + + // set e.Cancel to false if dialog was succesfully executed + e.Cancel = dialog.ShowDialog() != DialogResult.OK; + // set e.FileName to the selected file name + e.FileName = dialog.FileName; + } + } + + private void CustomOpenReport_Handler(object sender, OpenSaveReportEventArgs e) + { + // load the report from the given e.FileName + e.Report.Load(e.FileName); + } + + private void CustomSaveReport_Handler(object sender, OpenSaveReportEventArgs e) + { + // save the report to the given e.FileName + e.Report.Save(e.FileName); + } + + + + + + Occurs when the report designer is about to show the "Save" dialog. + + Use this event to attach own "Save" dialog to the designer. In the event handler, you must + display a dialog window to allow user to choose a report file. + If dialog was executed successfully, you must return e.Cancel = false and set the + e.FileName to the selected file name. + You also need to use event to provide code that + will save the report. + + + This example shows how to attach own "Open" and "Save" dialogs to the designer. + It uses the following events: , , + , . + + private void CustomOpenDialog_Handler(object sender, OpenSaveDialogEventArgs e) + { + using (OpenFileDialog dialog = new OpenFileDialog()) + { + dialog.Filter = "Report files (*.frx)|*.frx"; + + // set e.Cancel to false if dialog was succesfully executed + e.Cancel = dialog.ShowDialog() != DialogResult.OK; + // set e.FileName to the selected file name + e.FileName = dialog.FileName; + } + } + + private void CustomSaveDialog_Handler(object sender, OpenSaveDialogEventArgs e) + { + using (SaveFileDialog dialog = new SaveFileDialog()) + { + dialog.Filter = "Report files (*.frx)|*.frx"; + // get default file name from e.FileName + dialog.FileName = e.FileName; + + // set e.Cancel to false if dialog was succesfully executed + e.Cancel = dialog.ShowDialog() != DialogResult.OK; + // set e.FileName to the selected file name + e.FileName = dialog.FileName; + } + } + + private void CustomOpenReport_Handler(object sender, OpenSaveReportEventArgs e) + { + // load the report from the given e.FileName + e.Report.Load(e.FileName); + } + + private void CustomSaveReport_Handler(object sender, OpenSaveReportEventArgs e) + { + // save the report to the given e.FileName + e.Report.Save(e.FileName); + } + + + + + + Occurs when the report designer is about to load the report. + + This event is used together with the event. + Use this event to attach own "Open" dialog to the designer. In the event handler, you must + load the e.Report from the location specified in the e.FileName property. + For example, if you work with files: e.Report.Load(e.FileName); + + + This example shows how to attach own "Open" and "Save" dialogs to the designer. + It uses the following events: , , + , . + + private void CustomOpenDialog_Handler(object sender, OpenSaveDialogEventArgs e) + { + using (OpenFileDialog dialog = new OpenFileDialog()) + { + dialog.Filter = "Report files (*.frx)|*.frx"; + + // set e.Cancel to false if dialog was succesfully executed + e.Cancel = dialog.ShowDialog() != DialogResult.OK; + // set e.FileName to the selected file name + e.FileName = dialog.FileName; + } + } + + private void CustomSaveDialog_Handler(object sender, OpenSaveDialogEventArgs e) + { + using (SaveFileDialog dialog = new SaveFileDialog()) + { + dialog.Filter = "Report files (*.frx)|*.frx"; + // get default file name from e.FileName + dialog.FileName = e.FileName; + + // set e.Cancel to false if dialog was succesfully executed + e.Cancel = dialog.ShowDialog() != DialogResult.OK; + // set e.FileName to the selected file name + e.FileName = dialog.FileName; + } + } + + private void CustomOpenReport_Handler(object sender, OpenSaveReportEventArgs e) + { + // load the report from the given e.FileName + e.Report.Load(e.FileName); + } + + private void CustomSaveReport_Handler(object sender, OpenSaveReportEventArgs e) + { + // save the report to the given e.FileName + e.Report.Save(e.FileName); + } + + + + + + Occurs when the report designer is about to save the report. + + This event is used together with the event. + Use this event to attach own "Save" dialog to the designer. In the event handler, you must + save the e.Report to the location specified in the e.FileName property. + For example, if you work with files: e.Report.Save(e.FileName); + + + This example shows how to attach own "Open" and "Save" dialogs to the designer. + It uses the following events: , , + , . + + private void CustomOpenDialog_Handler(object sender, OpenSaveDialogEventArgs e) + { + using (OpenFileDialog dialog = new OpenFileDialog()) + { + dialog.Filter = "Report files (*.frx)|*.frx"; + + // set e.Cancel to false if dialog was succesfully executed + e.Cancel = dialog.ShowDialog() != DialogResult.OK; + // set e.FileName to the selected file name + e.FileName = dialog.FileName; + } + } + + private void CustomSaveDialog_Handler(object sender, OpenSaveDialogEventArgs e) + { + using (SaveFileDialog dialog = new SaveFileDialog()) + { + dialog.Filter = "Report files (*.frx)|*.frx"; + // get default file name from e.FileName + dialog.FileName = e.FileName; + + // set e.Cancel to false if dialog was succesfully executed + e.Cancel = dialog.ShowDialog() != DialogResult.OK; + // set e.FileName to the selected file name + e.FileName = dialog.FileName; + } + } + + private void CustomOpenReport_Handler(object sender, OpenSaveReportEventArgs e) + { + // load the report from the given e.FileName + e.Report.Load(e.FileName); + } + + private void CustomSaveReport_Handler(object sender, OpenSaveReportEventArgs e) + { + // save the report to the given e.FileName + e.Report.Save(e.FileName); + } + + + + + + Occurs when previewing a report from the designer. + + + Use this event to show own preview window. + + + + Config.DesignerSettings.CustomPreviewReport += new EventHandler(MyPreviewHandler); + + private void MyPreviewHandler(object sender, EventArgs e) + { + Report report = sender as Report; + using (MyPreviewForm form = new MyPreviewForm()) + { + report.Preview = form.previewControl1; + report.ShowPreparedReport(); + form.ShowDialog(); + } + } + + + + + + Occurs when getting available table names from the connection. + + + Use this handler to filter the list of tables returned by the connection object. + + + This example demonstrates how to hide the table with "Table 1" name from the Data Wizard. + + Config.DesignerSettings.FilterConnectionTables += DesignerSettings_FilterConnectionTables; + + private void DesignerSettings_FilterConnectionTables(object sender, FilterConnectionTablesEventArgs e) + { + if (e.TableName == "Table 1") + e.Skip = true; + } + + + + + + Occurs when the query builder is called. + + + Subscribe to this event if you want to replace the embedded query builder with your own one. + + + + + Gets or sets the icon for the designer window. + + + + + Gets or sets the default font used in a report. + + + + + Gets or sets a value indicating whether the designer window is displayed in the Windows taskbar. + + + + + Gets the designer restrictions flags. + + + + + Gets or sets the title text for the designer window. + + + If no text is set, the default text "FastReport -" will be used. + + + + + Gets or sets application-defined DbConnection object that will be used in the designer + to create a new datasource. + + + The application connection object is used in the "Data Wizard" to create new datasources. + In this mode, you can't create any other connections in the wizard; only application + connection is available. You still able to choose tables or create a new queries inside + this connection. The connection information (ConnectionString) is not stored in the report file. + + + + + Gets the toolstrip renderer. + + + + + Adds a custom connection used in the "Data Wizard" window. + + + Use this method to provide own connection strings for the "Data Wizard" dialog. To do this, you need + to pass the type of connection object and connection string associated with it. You must use one of the + connection objects registered in FastReport that inherit from the + class. + To clear the custom connections, use the method. + + + This example shows how to add own connection string. + + Config.DesignerSettings.AddCustomConnection(typeof(MsAccessDataConnection), @"Data Source=c:\data.mdb"); + + + + + + Clears the custom connections added by the AddCustomConnection method. + + + + + Initializes a new instance of the class. + + + + + Base class for all import plugins. + + + + + Gets or sets the name of plugin. + + + + + Gets or sets the filter string used in the "Open File" dialog. + + + + + Gets or sets reference to the designer. + + + + + Gets or sets reference to the report. + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Initializes a new instance of the class with a specified designer. + + The report designer. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a file filter for a open dialog. + + String that contains a file filter, for example: "Bitmap image (*.bmp)|*.bmp" + + + + Loads the specified file into specified report. + + Report object. + File name. + + + + Represents a set of designer's restrictions. + + + + + Gets or sets a value that enables or disables the "Open" action. + + + + + Gets or sets a value that enables or disables the "Save/Save as" actions. + + + + + Gets or sets a value that enables or disables the "New..." action. + + + + + Gets or sets a value that enables or disables the "Preview" action. + + + + + Gets or sets a value that enables or disables the recent files list. + + + + + Gets or sets a value that enables or disables the "Code" tab. + + + + + Gets or sets a value that enables or disables the "Data" menu. + + + + + Gets or sets a value that enables or disables the "Data|Add New Data Source..." menu. + + + + + Gets or sets a value that enables or disables the "Data|Sort Data Sources" menu. + + + + + Gets or sets a value that enables or disables the "Report|Options..." menu. + + + + + Gets or sets a value that enables or disables insertion of objects. + + + + + Gets or sets a value that enables or disables the insertion of bands. + + + + + Gets or sets a value that enables or disables the "Delete Page" action. + + + + + Gets or sets a value that enables or disables the creation of report/dialog pages. + + + + + Gets or set a value that enables or disbles the "Copy Page" action. + + + + + Gets or sets a value that enables or disables the "Page Setup" action. + + + + + Copies the contents of another, similar object. + + Source object to copy the contents from. + + + + Creates exact copy of this object. + + The copy of this object. + + + + Represents the "Messages" window. + + + To get this window, use the following code: + + Designer designer; + MessagesWindow window = designer.Plugins.FindType("MessagesWindow") as MessagesWindow; + + + + + + + + + Clears the message list. + + + + + Adds a new message. + + The message text. + The name of object related to a message. + + + + Adds a new script-related message. + + The message text. + The line of the script. + The column of the script. + + + + Initializes a new instance of the class with default settings. + + The report designer. + + + + Represents the "Data Dictionary" window. + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + The report designer. + + + + Describes an item dragged from the "Data Dictionary" window. + + + + + The dragged object. + + + + + The text of dragged object. + + + + + Collection of dragged items. + + + + + Represents the "Properties" window. + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + The report designer. + + + + Represents the "Report Tree" window. + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + The report designer. + + + + Base class for all tool windows such as "Properties", "Data Dictionary" etc. + + + Use this class to create own tool window. To do this: + - in the constructor, set the Name and Image properties and create necessary controls. + The Name will be used to restore window's state; + - override the SelectionChanged method. This method is called when current selection + is changed. In this method, you should update buttons state to reflect the current selection. + Selected objects can be accessed via Designer.SelectedObjects property; + - override the UpdateContent method. This method is called when the report + content was changed. Typically you need to do the same actions in SelectionChanged and + UpdateContent methods; + - to register a toolwindow, add its type to the global collection: + + DesignerPlugins.Add(typeof(MyToolWindow)); + + + + + + + Gets the report designer. + + + + + Gets a value indicating that window is locked. + + + + + Gets or sets shortcut keys used to show this toolwindow. + + + + + + + + Gets or sets a value indicating that the toolwindow can be closed by the x button. + + + + + Gets a parent control that contains all controls. + + + Add your control to the parent control Controls collection. + + + + + + + + Shows the toolwindow. + + + + + Hides the toolwindow. + + + + + + + + + + + + + + + + + + + + + + + + + + Implements method. + + The options page, if implemented; otherwise, null. + + + + + + + Initializes a new instance of the class with default settings. + + The report designer. + + You don't need to call this constructor. The designer will do this automatically. + + + + + Represents collection of designer plugins. + + + This class is used in the Designer.Plugins property. + To register own plugin, add its type to the global collection: + + DesignerPlugins.Add(typeof(MyToolbar)); + + + + + + + Finds a plugin by its name. + + The plugin's name. + The plugin, if found; otherwise, null. + This example shows how to find a plugin. + + MessagesWindow window = designer.Plugins.Find("MessagesWindow") as MessagesWindow; + + + + + + Finds a plugin by its type name. + + The plugin's type name. + The plugin, if found; otherwise, null. + This example shows how to find a plugin. + + MessagesWindow window = designer.Plugins.FindType("MessagesWindow") as MessagesWindow; + + + + + + Represents list of registered design plugins. + + + + + Adds a new plugin's type. + + The type of a plugin. + + + + Provides functionality required for report designer plugins such as toolbars and toolwindows. + + + + + Gets the plugin name. + + + + + Saves the plugin state. + + This example shows how to save the state: + + public void SaveState() + { + XmlItem xi = Config.Root.FindItem("Designer").FindItem(Name); + xi.SetProp("ShowGrid", DialogWorkspace.ShowGrid ? "1" : "0"); + } + + + + + + Restores the plugin state. + + This example shows how to restore the state: + + public void RestoreState() + { + XmlItem xi = Config.Root.FindItem("Designer").FindItem(Name); + DialogWorkspace.ShowGrid = xi.GetProp("ShowGrid") != "0"; + } + + + + + + Updates plugin state when current selection was changed. + + + Typically you need to do the same work in the and + methods. + + + + + Updates plugin state when the report was modified. + + + Typically you need to do the same work in the and + methods. + + + + + Locks the plugin. + + + This method is called by the designer when report is loading. It may be needed to disable + some operations (like painting) that use the report. + + + + + Unlocks the plugin. + + This method is called by the designer when report is loaded. It follows the Lock + method call and must reset the lock. + + + + Localizes the plugin. + + + This method is called by the designer when current localization is changed. + + + + + Gets an options page that will be used in the Designer Options dialog to edit the plugin options. + + The options page, if implemented; otherwise, null. + + + + Updates UI style of the plugin. + + + The plugin should update its style according to the designer's UIStyle property. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a Windows CheckBox. + Wraps the control. + + + + + + + + Occurs when the value of the Checked property changes. + Wraps the event. + + + + + Gets an internal CheckBox. + + + + + Gets or sets the value that determines the appearance of a CheckBox control. + Wraps the property. + + + + + Gets or sets the horizontal and vertical alignment of the check mark on a CheckBox control. + Wraps the property. + + + + + Gets or set a value indicating whether the CheckBox is in the checked state. + Wraps the property. + + + + + Gets or sets the state of the CheckBox. + Wraps the property. + + + + + Gets or sets a value indicating whether the CheckBox will allow three check states rather than two. + Wraps the property. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + + + + + + + + + + + + + This method fires the CheckedChanged event and the script code connected to the CheckedChangedEvent. + + Event data. + + + + Initializes a new instance of the CheckBoxControl class with default settings. + + + + + Represents a Windows combo box control. + Wraps the control. + + + + + + + + + + + + + + Occurs after the selection has been changed. + Wraps the event. + + + + + Occurs each time an owner-drawn ComboBox item needs to be drawn and + when the sizes of the list items are determined. + Wraps the event. + + + + + Occurs when a visual aspect of an owner-drawn ComboBox changes. + Wraps the event. + + + + + Gets an internal ComboBox. + + + + + Gets or sets a value indicating whether your code or the operating system will handle drawing of elements in the list. + Wraps the property. + + + + + Gets or sets a value specifying the style of the combo box. + Wraps the property. + + + + + Gets or sets the width of the of the drop-down portion of a combo box. + Wraps the property. + + + + + Gets or sets the height in pixels of the drop-down portion of the ComboBox. + Wraps the property. + + + + + Gets or sets the height of an item in the combo box. + Wraps the property. + + + + + Gets a collection of the items contained in this ComboBox. + Wraps the property. + + + + + Gets or sets the maximum number of items to be shown in the drop-down portion of the ComboBox. + Wraps the property. + + + + + Gets or sets a value indicating whether the items in the combo box are sorted. + Wraps the property. + + + + + Gets or sets the string that contains all items text. + + + + + Gets or sets the index specifying the currently selected item. + Wraps the property. + + + + + Gets or sets currently selected item in the ComboBox. + Wraps the property. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + + + + + + + + + + + + + + + + + + + This method fires the SelectedIndexChanged event and the script code connected to the SelectedIndexChangedEvent. + + Event data. + + + + This method fires the MeasureItem event and the script code connected to the MeasureItemEvent. + + Event data. + + + + This method fires the DrawItem event and the script code connected to the DrawItemEvent. + + Event data. + + + + Initializes a new instance of the ComboBoxControl class with default settings. + + + + + Implements base behavior of button controls. + + + + + This property is not relevant to this class. + + + + + Gets or sets a value that indicates whether the control resizes based on its contents. + Wraps the property. + + + + + Gets or sets the image that is displayed on a button control. + Wraps the property. + + + + + Gets or sets the alignment of the image on the button control. + Wraps the property. + + + + + Gets or sets the alignment of the text on the button control. + Wraps the property. + + + + + Gets or sets the position of text and image relative to each other. + Wraps the property. + + + + + + + + + + + Represents a Windows button control. + Wraps the control. + + + + + + + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + Gets an internal Button. + + + + + Gets or sets a value that is returned to the parent form when the button is clicked. + Wraps the property. + + + + + + + + Initializes a new instance of the ButtonControl class with default settings. + + + + + Displays a ListBox in which a check box is displayed to the left of each item. + Wraps the control. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + Occurs after item's check state was changed. + Wraps the event. + + + + + Gets an internal CheckedListBox. + + + + + Gets or sets a value indicating whether the check box should be toggled when an item is selected. + Wraps the property. + + + + + Collection of checked indexes in this CheckedListBox. + Wraps the property. + + + + + Collection of checked items in this CheckedListBox. + Wraps the property. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + + + + + + + + + + + + + + + + This method fires the ItemCheck event and the script code connected to the ItemCheckEvent. + + Event data. + + + + Initializes a new instance of the CheckedListBoxControl class with default settings. + + + + + Displays a hierarchical collection of labeled items, each represented by a TreeNode. + Wraps the control. + + + + + This property is not relevant to this class. + + + + + + + + + + + Occurs after the tree node is selected. + Wraps the event. + + + + + Gets an internal TreeView. + + + + + Gets or sets a value indicating whether check boxes are displayed next to the tree nodes in the tree view control. + Wraps the property. + + + + + Gets or sets a value indicating whether lines are drawn between tree nodes in the tree view control. + Wraps the property. + + + + + Gets or sets a value indicating whether lines are drawn between the tree nodes that are at the root of the tree view. + Wraps the property. + + + + + Gets or sets the ImageList that contains the Image objects used by the tree nodes. + Wraps the property. + + + + + Gets the collection of tree nodes that are assigned to the tree view control. + Wraps the property. + + + + + Gets or sets the tree node that is currently selected in the tree view control. + Wraps the property. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + + + + + + + + + + This method fires the AfterSelect event and the script code connected to the AfterSelectEvent. + + Event data. + + + + Initializes a new instance of the class with default settings. + + + + + Represents a Windows text box control. + Wraps the control. + + + + + + + + + + + + + + + + + Gets an internal TextBox. + + + + + Gets or sets a value indicating whether pressing ENTER in a multiline TextBox control creates a new line of text in the control or activates the default button for the form. + Wraps the property. + + + + + Gets or sets a value indicating whether pressing the TAB key in a multiline text box control types a TAB character in the control instead of moving the focus to the next control in the tab order. + Wraps the property. + + + + + Gets or sets whether the TextBox control modifies the case of characters as they are typed. + Wraps the property. + + + + + Gets or sets the maximum number of characters the user can type or paste into the text box control. + Wraps the property. + + + + + Gets or sets a value indicating whether this is a multiline TextBox control. + Wraps the property. + + + + + Gets or sets a value indicating whether text in the text box is read-only. + Wraps the property. + + + + + Gets or sets which scroll bars should appear in a multiline TextBox control. + Wraps the property. + + + + + Gets or sets how text is aligned in a TextBox control. + Wraps the property. + + + + + Gets or sets a value indicating whether the text in the TextBox control should appear as the default password character. + Wraps the property. + + + + + Indicates whether a multiline text box control automatically wraps words to the beginning of the next line when necessary. + Wraps the property. + + + + + + + + + + + + + + Initializes a new instance of the TextBoxControl class with default settings. + + + + + Enables the user to select a single option from a group of choices when paired with other RadioButton controls. + Wraps the control. + + + + + + + + Occurs when the value of the Checked property changes. + Wraps the event. + + + + + Gets an internal RadioButton. + + + + + Gets or sets the location of the check box portion of the RadioButton. + Wraps the property. + + + + + Gets or sets a value indicating whether the control is checked. + Wraps the property. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + + + + + + + + + + + + + This method fires the CheckedChanged event and the script code connected to the CheckedChangedEvent. + + Event data. + + + + Initializes a new instance of the RadioButtonControl class with default settings. + + + + + Represents a Windows picture box control for displaying an image. + Wraps the control. + + + + + This property is not relevant to this class. + + + + + + + + Gets an internal PictureBox. + + + + + Indicates the border style for the control. + Wraps the property. + + + + + Gets or sets the image that the PictureBox displays. + Wraps the property. + + + + + Indicates how the image is displayed. + Wraps the property. + + + + + + + + Initializes a new instance of the PictureBoxControl class with default settings. + + + + + Base class for controls that may contain child controls. + + + + + + + + + + + + + + + + + Gets the collection of child controls. + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the ParentControl class with default settings. + + + + + Used to group collections of controls. + Wraps the control. + + + + + This property is not relevant to this class. + + + + + Gets an internal Panel. + + + + + Indicates the border style for the control. + Wraps the property. + + + + + + + + + + + Initializes a new instance of the PanelControl class with default settings. + + + + + Represents a Windows spin box (also known as an up-down control) that displays numeric values. + Wraps the control. + + + + + This property is not relevant to this class. + + + + + + + + + + + + + + Occurs when the Value property has been changed in some way. + Wraps the event. + + + + + Gets an internal NumericUpDown. + + + + + Gets or sets the number of decimal places to display in the up-down control. + Wraps the property. + + + + + Gets or sets a value indicating whether the up-down control should display the value it contains in hexadecimal format. + Wraps the property. + + + + + Gets or sets the value to increment or decrement the up-down control when the up or down buttons are clicked. + Wraps the property. + + + + + Gets or sets the maximum value for the up-down control. + Wraps the property. + + + + + Gets or sets the minimum value for the up-down control. + Wraps the property. + + + + + Gets or sets a value indicating whether a thousands separator is displayed in the up-down control when appropriate. + Wraps the property. + + + + + Gets or sets the value assigned to the up-down control. + Wraps the property. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + + + + + + + + + + + + + + + + This method fires the ValueChanged event and the script code connected to the ValueChangedEvent. + + Event data. + + + + Initializes a new instance of the NumericUpDownControl class with default settings. + + + + + Represents a Windows control that enables the user to select a date using a visual monthly calendar display. + Wraps the control. + + + + + + + + + + + + + + + + + Occurs when the date selected in the MonthCalendar changes. + Wraps the event. + + + + + Gets an internal MonthCalendar. + + + + + Gets or sets the number of columns and rows of months displayed. + Wraps the property. + + + + + Gets or sets the first day of the week as displayed in the month calendar. + Wraps the property. + + + + + Gets or sets the maximum allowable date. + Wraps the property. + + + + + Gets or sets the maximum number of days that can be selected in a month calendar control. + Wraps the property. + + + + + Gets or sets the minimum allowable date. + Wraps the property. + + + + + Gets or sets a value indicating whether the date represented by the TodayDate property is displayed at the bottom of the control. + Wraps the property. + + + + + Gets or sets a value indicating whether today's date is circled. + Wraps the property. + + + + + Gets or sets a value indicating whether the month calendar control displays week numbers (1-52) to the left of each row of days. + Wraps the property. + + + + + Gets or sets the value that is used by MonthCalendar as today's date. + Wraps the property. + + + + + Gets or sets the array of DateTime objects that determines which annual days are displayed in bold. + Wraps the property. + + + + + Gets or sets the array of DateTime objects that determines which nonrecurring dates are displayed in bold. + Wraps the property. + + + + + Gets or sets the array of DateTime objects that determine which monthly days to bold. + Wraps the property. + + + + + Gets or sets the end date of the selected range of dates. + Wraps the property. + + + + + Gets or sets the selected range of dates for a month calendar control. + Wraps the property. + + + + + Gets or sets the start date of the selected range of dates. + Wraps the property. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + + + + + + + + + + + + + This method fires the DateChanged event and the script code connected to the DateChangedEvent. + + Event data. + + + + Initializes a new instance of the MonthCalendarControl class with default settings. + + + + + Uses a mask to distinguish between proper and improper user input. + Wraps the control. + + + + + + + + + + + + + + + + + Gets an internal MaskedTextBox. + + + + + Gets or sets the input mask to use at run time. + Wraps the property. + + + + + Gets or sets a value indicating whether the user is allowed to reenter literal values. + Wraps the property. + + + + + Gets or sets how text is aligned in a masked text box control. + Wraps the property. + + + + + + + + + + + + + + Initializes a new instance of the MaskedTextBoxControl class with default settings. + + + + + Represents a Windows list view control, which displays a collection of items that can be displayed using one of four different views. + Wraps the control. + + + + + This property is not relevant to this class. + + + + + + + + + + + Occurs when the checked state of an item changes. + Wraps the event. + + + + + Occurs when the index of the selected item in the list view control changes. + Wraps the event. + + + + + Gets an internal ListView. + + + + + Gets or sets a value indicating whether a check box appears next to each item in the control. + Wraps the property. + + + + + Gets or sets a value indicating whether multiple items can be selected. + Wraps the property. + + + + + Gets or sets a value indicating whether items are displayed in groups. + Wraps the property. + + + + + Gets or sets how items are displayed in the control. + Wraps the property. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets the indexes of the currently checked items in the control. + Wraps the property. + + + + + Gets the currently checked items in the control. + Wraps the property. + + + + + Gets the collection of all column headers that appear in the control. + Wraps the property. + + + + + Gets the collection of ListViewGroup objects assigned to the control. + Wraps the property. + + + + + Gets a collection containing all items in the control. + Wraps the property. + + + + + Gets or sets the ImageList to use when displaying items as large icons in the control. + Wraps the property. + + + + + Gets the indexes of the selected items in the control. + Wraps the property. + + + + + Gets the items that are selected in the control. + Wraps the property. + + + + + Gets or sets the ImageList to use when displaying items as small icons in the control. + Wraps the property. + + + + + + + + + + + + + + This method fires the ItemChecked event and the script code connected to the ItemCheckedEvent. + + Event data. + + + + This method fires the SelectedIndexChanged event and the script code connected to the SelectedIndexChangedEvent. + + Event data. + + + + Initializes a new instance of the ListViewControl class with default settings. + + + + + Base class for list box controls such as ListBoxControl, CheckedListBoxControl. + + + + + This property is not relevant to this class. + + + + + + + + + + + Occurs when the SelectedIndex property has changed. + Wraps the event. + + + + + Occurs when an owner-drawn ListBox is created and the sizes of the list items are determined. + Wraps the event. + + + + + Occurs when a visual aspect of an owner-drawn ListBox changes. + Wraps the event. + + + + + Gets or sets the width of columns in a multicolumn ListBox. + Wraps the property. + + + + + Gets or sets the drawing mode for the control. + Wraps the property. + + + + + Gets or sets the height of an item in the ListBox. + Wraps the property. + + + + + Gets the items of the ListBox. + Wraps the property. + + + + + Gets or sets a value indicating whether the ListBox supports multiple columns. + Wraps the property. + + + + + Gets or sets the method in which items are selected in the ListBox. + Wraps the property. + + + + + Gets or sets a value indicating whether the items in the ListBox are sorted alphabetically. + Wraps the property. + + + + + Gets or sets a value indicating whether the ListBox can recognize and expand tab characters when drawing its strings. + Wraps the property. + + + + + Gets or sets the string that contains all items text. + + + + + Gets or sets the zero-based index of the currently selected item in a ListBox. + Wraps the property. + + + + + Gets a collection that contains the zero-based indexes of all currently selected items in the ListBox. + Wraps the property. + + + + + Gets or sets the currently selected item in the ListBox. + Wraps the property. + + + + + Gets a collection containing the currently selected items in the ListBox. + Wraps the property. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + + + + + + + + + + + + + This method fires the SelectedIndexChanged event and the script code connected to the SelectedIndexChangedEvent. + + Event data. + + + + This method fires the MeasureItem event and the script code connected to the MeasureItemEvent. + + Event data. + + + + This method fires the DrawItem event and the script code connected to the DrawItemEvent. + + Event data. + + + + Represents a standard Windows label. + Wraps the control. + + + + + + + + Gets an internal Label. + + + + + Gets or sets a value indicating whether the control is automatically resized to display its entire contents. + Wraps the property. + + + + + Gets or sets the alignment of text in the label. + Wraps the property. + + + + + + + + Initializes a new instance of the LabelControl class with default settings. + + + + + Displays data in a customizable grid. + Wraps the control. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + Gets an internal DataGridView. + + + + + Gets or sets the data source that the DataGridView is displaying data for. + + + + + Gets or sets a value indicating whether the option to add rows is displayed to the user. + Wraps the property. + + + + + Gets or sets a value indicating whether the user is allowed to delete rows from the DataGridView. + Wraps the property. + + + + + Gets or sets the default cell style applied to odd-numbered rows of the DataGridView. + Wraps the property. + + + + + Gets or sets a value indicating how column widths are determined. + Wraps the property. + + + + + Gets or sets a value indicating how row heights are determined. + Wraps the property. + + + + + Gets or sets the background color of the DataGridView. + Wraps the property. + + + + + Gets or sets the border style for the DataGridView. + Wraps the property. + + + + + Gets the cell border style for the DataGridView. + Wraps the property. + + + + + Gets the border style applied to the column headers. + Wraps the property. + + + + + Gets or sets the default column header style. + Wraps the property. + + + + + Gets or sets the height, in pixels, of the column headers row. + Wraps the property. + + + + + Gets or sets a value indicating whether the height of the column headers is adjustable and whether it can be adjusted by the user or is automatically adjusted to fit the contents of the headers. + Wraps the property. + + + + + Gets or sets a value indicating whether the column header row is displayed. + Wraps the property. + + + + + Gets the collection of objects that represents the grid columns. + + + + + Gets or sets the default cell style to be applied to the cells in the DataGridView if no other cell style properties are set. + Wraps the property. + + + + + Gets or sets the color of the grid lines separating the cells of the DataGridView. + Wraps the property. + + + + + Gets or sets a value indicating whether the user is allowed to select more than one cell, row, or column of the DataGridView at a time. + Wraps the property. + + + + + Gets a value indicating whether the user can edit the cells of the DataGridView control. + Wraps the property. + + + + + Gets or sets the border style of the row header cells. + Wraps the property. + + + + + Gets or sets the default style applied to the row header cells. + Wraps the property. + + + + + Gets or sets a value indicating whether the column that contains row headers is displayed. + Wraps the property. + + + + + Gets or sets the width, in pixels, of the column that contains the row headers. + Wraps the property. + + + + + Gets or sets a value indicating whether the width of the row headers is adjustable and whether it can be adjusted by the user or is automatically adjusted to fit the contents of the headers. + Wraps the property. + + + + + Gets or sets the default style applied to the row cells of the DataGridView. + Wraps the property. + + + + + Gets or sets the type of scroll bars to display for the DataGridView control. + Wraps the property. + + + + + Gets or sets a value indicating how the cells of the DataGridView can be selected. + Wraps the property. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the GridControl class with default settings. + + + + + Represents the special kind of report page that wraps the + and used to display dialog forms. + + + Use the property to add/remove controls to/from a dialog form. + If you set the Visible property to false, this dialog form will be + skippen when you run a report. + + This example shows how to create a dialog form with one button in code. + + DialogPage form = new DialogPage(); + // set the width and height in pixels + form.Width = 200; + form.Height = 200; + form.Name = "Form1"; + // create a button + ButtonControl button = new ButtonControl(); + button.Location = new Point(20, 20); + button.Size = new Size(75, 25); + button.Text = "The button"; + // add the button to the form + form.Controls.Add(button); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Occurs before a form is displayed for the first time. + Wraps the event. + + + + + Occurs after the form is closed. + Wraps the event. + + + + + Occurs before the form is closed. + Wraps the event. + + + + + Occurs whenever the form is first displayed. + Wraps the event. + + + + + Occurs when the form is resized. + Wraps the event. + + + + + Occurs when the form is redrawn. + Wraps the event. + + + + + Gets an internal Form. + + + + + Gets or sets an active state in Web application. + + + + + Gets or sets the button on the form that is clicked when the user presses the ENTER key. + Wraps the property. + + + + + Gets or sets the button control that is clicked when the user presses the ESC key. + Wraps the property. + + + + + Gets or sets the background color for the form. + Wraps the property. + + + + + Gets or sets the font of the text displayed by the control. + Wraps the property. + + + + + Gets or sets the border style of the form. + Wraps the property. + + + + + Gets or sets a value indicating whether control's elements are aligned to support locales using right-to-left fonts. + Wraps the property. + + + + + Gets or sets the text associated with this form. + Wraps the property. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets the collection of controls contained within the form. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Shows the form as a modal dialog box with the currently active window set as its owner. + Wraps the method. + + One of the DialogResult values. + + + + This method fires the Load event and the script code connected to the LoadEvent. + + Event data. + + + + This method fires the FormClosed event and the script code connected to the FormClosedEvent. + + Event data. + + + + This method fires the FormClosing event and the script code connected to the FormClosingEvent. + + Event data. + + + + This method fires the Shown event and the script code connected to the ShownEvent. + + Event data. + + + + This method fires the Resize event and the script code connected to the ResizeEvent. + + Event data. + + + + This method fires the Paint event and the script code connected to the PaintEvent. + + Event data. + + + + Initializes a new instance of the DialogPage class. + + + + + Base class for all dialog controls such as ButtonControl, TextBoxControl. + + + + + Determines whether is necessary to serialize the BackColor property. + + true if serialization is necessary. + + + + Determines whether is necessary to serialize the Cursor property. + + true if serialization is necessary. + + + + Determines whether is necessary to serialize the ForeColor property. + + true if serialization is necessary. + + + + + + + Draws the selection point. + + Graphics object to draw on. + object. + object. + Left coordinate. + Top coordinate. + + + + + + + + + + Creates the empty event handler for the ClickEvent event in the report's script. + + true if event handler was created successfully. + + + + + + + Occurs when the control is clicked. + Wraps the event. + + + + + Occurs when the control is double-clicked. + Wraps the event. + + + + + Occurs when the control is entered. + Wraps the event. + + + + + Occurs when the input focus leaves the control. + Wraps the event. + + + + + Occurs when a key is pressed while the control has focus. + Wraps the event. + + + + + Occurs when a key is pressed while the control has focus. + Wraps the event. + + + + + Occurs when a key is released while the control has focus. + Wraps the event. + + + + + Occurs when the mouse pointer is over the control and a mouse button is pressed. + Wraps the event. + + + + + Occurs when the mouse pointer is moved over the control. + Wraps the event. + + + + + Occurs when the mouse pointer is over the control and a mouse button is released. + Wraps the event. + + + + + Occurs when the mouse pointer enters the control. + Wraps the event. + + + + + Occurs when the mouse pointer leaves the control. + Wraps the event. + + + + + Occurs when the control is resized. + Wraps the event. + + + + + Occurs when the Text property value changes. + Wraps the event. + + + + + Occurs when the control is redrawn. + Wraps the event. + + + + + Gets an internal Control. + + + + + Gets or sets the background color for the control. + Wraps the property. + + + + + Gets or sets the cursor that is displayed when the mouse pointer is over the control. + Wraps the property. + + + + + Gets or sets a value indicating whether the control can respond to user interaction. + Wraps the property. + + + + + Gets or sets the font of the text displayed by the control. + Wraps the property. + + + + + Gets or sets the foreground color of the control. + Wraps the property. + + + + + Gets or sets a value indicating whether control's elements are aligned to support locales using right-to-left fonts. + Wraps the property. + + + + + Gets or sets the tab order of the control within its container. + Wraps the property. + + + + + Gets or sets a value indicating whether the user can give the focus to this control using the TAB key. + Wraps the property. + + + + + Gets or sets the text associated with this control. + Wraps the property. + + + + + Gets or sets which control borders are docked to its parent control and determines how a control is resized with its parent. + Wraps the property. + + + + + Gets or sets the edges of the container to which a control is bound and determines how a control is resized with its parent. + Wraps the property. + + + + + Gets or sets a value indicating whether the control is displayed. + Wraps the property. + + + + + Gets or sets a property that returns actual data contained in a control. This value is used + in the "Data" window. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + + + + + + + + + + + + + + + + Called when the control's Enabled state changed. + + + + + Attaches Control events to its event handlers. + + + Override this method if your custom control has own events. + + See the example of AttachEvents implementation used in the CheckBoxControl: + + protected override void AttachEvents() + { + base.AttachEvents(); + CheckBox.CheckedChanged += new EventHandler(CheckBox_CheckedChanged); + } + + private void CheckBox_CheckedChanged(object sender, EventArgs e) + { + if (CheckedChanged != null) + CheckedChanged(this, e); + InvokeEvent(CheckedChangedEvent, e); + } + + + + + + Detaches Control events from its event handlers. + + + Override this method if your custom control has own events. In this method, you should + detach control's events that were attached in the method. + + See the example of DetachEvents implementation used in the CheckBoxControl: + + protected override void DetachEvents() + { + base.DetachEvents(); + CheckBox.CheckedChanged -= new EventHandler(CheckBox_CheckedChanged); + } + + + + + + + + + + + + Initializes the control before display it in the dialog form. + + + This method is called when report is run. + + + + + Finalizes the control after its parent form is closed. + + + This method is called when report is run. + + + + + Sets input focus to the control. + + + + + Conceals the control from the user. + + + + + Displays the control to the user. + + + + + This method fires the Click event and the script code connected to the ClickEvent. + + Event data. + + + + This method fires the DoubleClick event and the script code connected to the DoubleClickEvent. + + Event data. + + + + This method fires the Enter event and the script code connected to the EnterEvent. + + Event data. + + + + This method fires the Leave event and the script code connected to the LeaveEvent. + + Event data. + + + + This method fires the KeyDown event and the script code connected to the KeyDownEvent. + + Event data. + + + + This method fires the KeyPress event and the script code connected to the KeyPressEvent. + + Event data. + + + + This method fires the KeyUp event and the script code connected to the KeyUpEvent. + + Event data. + + + + This method fires the MouseDown event and the script code connected to the MouseDownEvent. + + Event data. + + + + This method fires the MouseMove event and the script code connected to the MouseMoveEvent. + + Event data. + + + + This method fires the MouseUp event and the script code connected to the MouseUpEvent. + + Event data. + + + + This method fires the MouseEnter event and the script code connected to the MouseEnterEvent. + + Event data. + + + + This method fires the MouseLeave event and the script code connected to the MouseLeaveEvent. + + Event data. + + + + This method fires the Resize event and the script code connected to the ResizeEvent. + + Event data. + + + + This method fires the TextChanged event and the script code connected to the TextChangedEvent. + + Event data. + + + + This method fires the Paint event and the script code connected to the PaintEvent. + + Event data. + + + + Base class for all dialog components. + + + + + + + + + + + + + + + + + Gets or sets the coordinates of the upper-left corner of the control relative to the upper-left corner of its container. + + + + + Gets or sets the height and width of the control. + + + + + + + + Initializes a new instance of the DialogComponentBase class with default settings. + + + + + Represents the control with two lists (available items and selected items). + + + The control allows to select one or several items and then filter the datasource which it is connected to. + All you need is to setup the DataColumn property. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + Gets or sets a value indicating that the items must be sorted. + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the DataSelectorControl class with default settings. + + + + + Represents a Windows control that allows the user to select a date and a time and to display the date and time with a specified format. + Wraps the control. + + + + + This property is not relevant to this class. + + + + + + + + + + + + + + Occurs after the date has been changed. + Wraps the event. + + + + + Gets an internal DateTimePicker. + + + + + Gets or sets a value indicating whether the Value property has been set with a valid date/time value and the displayed value is able to be updated. + Wraps the property. + + + + + Gets or sets the custom date/time format string. + Wraps the property. + + + + + Gets or sets the alignment of the drop-down calendar on the DateTimePicker control. + Wraps the property. + + + + + Gets or sets the format of the date and time displayed in the control. + Wraps the property. + + + + + Gets or sets the maximum date and time that can be selected in the control. + Wraps the property. + + + + + Gets or sets the minimum date and time that can be selected in the control. + Wraps the property. + + + + + Gets or sets a value indicating whether a check box is displayed to the left of the selected date. + Wraps the property. + + + + + Gets or sets a value indicating whether a spin button control (also known as an up-down control) is used to adjust the date/time value. + Wraps the property. + + + + + Gets or sets the date/time value assigned to the control. + Wraps the property. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + + + + + + + + + + + + + This method fires the ValueChanged event and the script code connected to the ValueChangedEvent. + + Event data. + + + + Initializes a new instance of the DateTimePickerControl class with default settings. + + + + + Represents the 's column. + Wraps the class. + + + + + Gets or sets the mode by which the column automatically adjusts its width. + Wraps the property. + + + + + Gets or sets the data column attached to this column. + + + + + Gets or sets the caption text on the column's header cell. + Wraps the property. + + + + + Gets or sets the column's default cell style. + Wraps the property. + + + + + Gets or sets a value that represents the width of the column when it is in fill mode relative to the widths of other fill-mode columns in the control. + Wraps the property. + + + + + Gets or sets the current width of the column. + Wraps the property. + + + + + Gets or sets a value indicating whether the column is visible. + Wraps the property. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + + + + Initializes a new instance of the GridControlColumn class with default settings. + + + + + Represents the collection of GridControl columns. + + + + + Gets or sets a column. + + The index of a column in this collection. + The column with specified index. + + + + + + + + + + Serializes the collection. + + Writer object. + + This method is for internal use only. + + + + + Deserializes the collection. + + Reader object. + + This method is for internal use only. + + + + + Initializes a new instance of the class with default settings. + + + + + Initializes a new instance of the class with default settings. + + The owner of this collection. + + + + Represents a Windows rich text box control. + Wraps the control. + + + + + Gets an internal RichTextBox. + + + + + Gets or sets the text of the RichTextBox control, including all rich text format (RTF) codes. + Wraps the property. + + + + + Gets or sets the type of scroll bars to display in the RichTextBox control. + Wraps the property. + + + + + + + + Loads rtf from a file. + + File to load from. + + + + Loads rtf from a stream using specified stream type. + + Stream to load from. + Type of a stream. + + + + Loads rtf from a file using specified stream type. + + File to load from. + Type of a stream. + + + + Initializes a new instance of the RichTextBoxControl class with default settings. + + + + + Represents a Windows control that displays a frame around a group of controls with an optional caption. + Wraps the control. + + + + + Gets an internal GroupBox. + + + + + Initializes a new instance of the GroupBoxControl class with default settings. + + + + + The base class for all controls that support the data filtering feature. + + + The data filtering allows you to bind the control to a . + It will be automatically filled by data from the datasource's column. When you select/check + item(s) and close the dialog with OK button, it will filter the datasource according to your selection. + You can set the filter operation using the property. + + + + + Occurs after the control is filled with data. + + + + + Gets or sets a value that determines whether to fill the control with data automatically. + + + The default value of this property is true. If you set it to false, + you need to call the method manually. + + + + + Gets or sets a value that determines whether to filter the datasource automatically + when you close the dialog by OK button. + + + The default value of this property is true. If you set it to false, + you need to call the method manually. + + + + + Gets or sets a data column name that will be used to fill this control with data. + + + This property must contain both datasource name and column name, for example: + Orders.OrderID. You also may use relations, for example: Orders.Customers.CompanyName. + + + + + Gets or sets name of report parameter which value will be set to value contained + in this control when you close the dialog. + + + + + Gets or sets a value that specifies the filter operation. + + + + + Gets or sets the detail control used in cascaded filtering. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + + + Fills the control with data. + + The data source. + The data column. + Here is the example of FillData method implementation: + + protected override void FillData(DataSourceBase dataSource, Column column) + { + Items.Clear(); + dataSource.First(); + while (dataSource.HasMoreRows) + { + Items.Add(dataSource[column].ToString()); + dataSource.Next(); + } + } + + + + + + Returns list of values that can be used to fill control with data. + + The data source. + The data column. + List of string values. + + This method is used by the FillData method to fill list-type controls + such as ListBox with data. The result list contains distinct values. + + + + + Returns value entered in the control. + + The value of type supported by this control. + + This method must return a value entered by the user. For example, TextBox + control must return its Text property value. If this control supports multi-selection, + return selected values in an array, for example string[] array for CheckedListBox. + + + + + Handles the cascaded filter internal logic. + + + This method should be called in your custom dialog control that supports data filtering. + Call it when the value in your control is changed. + + + + + + + + + + + + + + Fills the control with data from a datasource. + + + Call this method if you set the property to false. + + + + + Fills the control with data from a datasource. + + Parent data source + + Call this method if you need to implement cascaded filter. In the parentData parameter, + pass the parent data source that will be used to set up master-detail relationship with + data source in this control. + + + + + Fills the control with data from a datasource. + + Parent control + + Call this method if you need to implement cascaded filter. In the parentControl parameter, + pass the parent control which performs filtering on a parent data source. + + + + + Applies the filter to a datasource. + + + Call this method if you set the property to false. + + + + + Resets the filter set by this control. + + + + + This method fires the DataLoaded event and the script code connected to the DataLoadedEvent. + + Event data. + + + + Initializes a new instance of the DataFilterBaseControl class with default settings. + + + + + Represents the collection of dialog components. + + + + + Gets or sets a component. + + The index of a component in this collection. + The component with specified index. + + + + Initializes a new instance of the class with default settings. + + + + + Initializes a new instance of the class with default settings. + + The owner of this collection. + + + + Represents a Windows control to display a list of items. + Wraps the control. + + + + + Gets an internal ListBox. + + + + + + + + + + + Initializes a new instance of the ListBoxControl class with default settings. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + The form for message box with text editor + + + + + Gets or sets text + + + + + Defualt constructor + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + Initializes a new instance of the class. + + + + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for . + For internal use only. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Base form for all export options dialog forms. + + + + + Represents the "Open after export" button visibility. + + + + + Gets a reference to the currently editing export filter. + + + + + + + + + + + + + + Called when editing is done. + + + Override this method to pass edited values from the dialog controls to the export filter. + + See the example of this method implementation that is used in the ImageExport. + + protected override void Done() + { + base.Done(); + ImageExport imageExport = Export as ImageExport; + imageExport.ImageFormat = (ImageExportFormat)cbxImageFormat.SelectedIndex; + imageExport.Resolution = (int)udResolution.Value; + imageExport.JpegQuality = (int)udQuality.Value; + imageExport.SeparateFiles = cbSeparateFiles.Checked; + } + + + + + + + + + Initializes controls with initial values. + + The export filter to edit. + + Override this method to pass values from the export filter to the dialog controls. + + See the example of this method implementation that is used in the ImageExport. + + public override void Init(ExportBase export) + { + base.Init(export); + ImageExport imageExport = Export as ImageExport; + cbxImageFormat.SelectedIndex = (int)imageExport.ImageFormat; + udResolution.Value = imageExport.Resolution; + udQuality.Value = imageExport.JpegQuality; + cbSeparateFiles.Checked = imageExport.SeparateFiles; + } + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + "Page Range" groupbox. + + + + + "Page Numbers" label. + + + + + "Page Numbers" textbox. + + + + + "Page Numbers" radiobutton. + + + + + "Current Page" radiobutton. + + + + + "All Pages" radiobutton. + + + + + PageControl. + + + + + Pages panel. + + + + + "Open after export" checkbox. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents a Windows Form used to show a table when View Data clicked on a DataSource. + + + + + Gets or sets the data grid. + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents the Splash Screen showing during loading designer + + + + + Initializes a new instance of the class. + + + + + Filters mouse events. + For internal use only. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents the Welcome window displayed on the designer startup + + + + + Initializes a new instance of the class. + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + The "Advanced Connection Properties" form. + + + + + Gets or sets the connection string builder which contains the connection properties. + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents the FastReport exception form. + + + + + + + + Creates a new instance ofthe form. + + The exception object which data to display in the form. + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + + + + + + Gets Aborted state + + + + + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Form for barcode editor + + + + + Generated text for barcode object + + + + + Initializes a new instance of the class. + + Text data for parsing + Report object for nodes + Brackets symbols + Editor for rich barcode? + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Base class for all dialog forms with two buttons, OK and Cancel. + + + + + Localizes the dialog controls. + + + Use this method to set control's captions specific to the current locale. + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + The OK button. + + + + + The Cancel button. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + The base class for designer plugin's options page. + + + Use this class if you develop a designer plugin that may be configured in the + "View|Options..." menu. You need to implement an options page for your + plugin and return it in the IDesignerPlugin.GetOptionsPage method. + + + + + The TabControl control. + + + + + The TabPage control. + + + + + Initializes controls on this options page. + + + Override this method to fill options page's controls with initial values. + + + + + Finalizes the options page. + + The dialog result. + + Override this method to pass controls' values to the plugin. Do this if result is + DialogResult.OK. + + + + + Initializes a new instance of the DesignerOptionsPage class with default settings. + + + Usually you need to define another contructor which takes one parameter - the plugin. + + This example shows how to define own constructor which takes a plugin: + + public DialogPageOptions(DialogPageDesigner pd) : base() + { + FPageDesigner = pd; + InitializeComponent(); + } + + + + + + read current token, returns next + + + + + + + + read current token, returns next + + + + + + + + ignore current token, read from next, returns current i.e not next + + + + + + + + For internal use only. + + + + + For internal use only. + + + + + For internal use only. + + + + + For internal use only. + + + + + For internal use only. + + + + + For internal use only. + + + + + For internal use only. + + + + + + + + For internal use only. + + + + + For internal use only. + + + + + For internal use only. + + + + + For internal use only. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents the report engine. + + + + + Shows band at the current position. + + Band to show. + + After the band is shown, the current position is advanced by the band's height. + + + + + Gets or sets the current X offset. + + + This property specifies the X offset where the current band will be printed. + + + + + Gets or sets the current Y offset. + + + This property specifies the Y offset where the current band will be printed. + After the band is printed, this value is incremented by the band's height. + + + + + Gets the index of currently printing column in the multi-column report. + + + This value is 0-based. + + + + + Gets or sets index of current prepared page the current band will print on. + + + Note: the page with specified index must exists. This property is used to print side-by-side + subreports and Table object. Usually you don't need to use it. + + + + + Gets the current page width, in pixels. + + + This property returns a paper width minus left and right margins. + + + + + Gets the current page height, in pixels. + + + This property returns a paper height minus top and bottom margins. + + + + + Gets the value indicating whether the page has unlimited height. + + + + + Gets the value indicating whether the page has unlimited width. + + + + + Gets or sets the current height of unlimited page. + + + + + Gets or sets the current width of unlimited page. + + + + + Gets the height of page footer (including all its child bands), in pixels. + + + + + Gets the height of column footer (including all its child bands), in pixels. + + + + + Gets the free space on the current page, in pixels. + + + This property returns the page height minus footers height minus CurY value. + + + + + Gets the current prepared page number. + + + This value is 1-based. The initial value (usually 1) is set in the Report.InitialPageNumber property. + + + + + Gets the number of total pages in a prepared report. + + + To use this property, your report must be two-pass. Set the + property to true. + + + + + Gets the string that represents the current page number. + + + This property returns a locale-based value, for example: "Page 1". + + + + + Gets the string that represents the "Page N of M" number. + + + This property returns a locale-based value, for example: "Page 1 of 10". + + + + + Gets the current row number of currently printing band. + + + This value is 1-based. It resets to 1 on each new group. + + + + + Gets the running current row number of currently printing band. + + + This value is 1-based. + + + + + Gets the date of report start. + + + + + Gets a value indicating whether the report is executing the final pass. + + + This property is true if report is one-pass, or if report is two-pass and + the second pass is executing. + + + + + Gets a value indicating whether the report is executing the first pass. + + + This property is true if report is one-pass, or if report is two-pass and + the first pass is executing. + + + + + Gets a level of hierarchy when printing hierarchical bands. + + + The first level of hierarchy has 0 index. + + + + + Gets the row number like "1.2.1" when printing hierarchical bands. + + + + + Returns true of keeping is enabled + + + + + Returns keeping position + + + + + Starts the keep mechanism. + + + Use this method along with the method if you want to keep + several bands together. Call StartKeep method before printing the first band + you want to keep, then call the EndKeep method after printing the last band you want to keep. + + + + + Ends the keep mechanism. + + + Use this method along with the method if you want to keep + several bands together. Call StartKeep method before printing the first band + you want to keep, then call the EndKeep method after printing the last band you want to keep. + + + + + Gets xml containing outline nodes. + + + + + Creates a new outline element with specified text. + + Text of element. + + After you call this method, the element will be added to the current position in the outline. + The next call to AddOutline will add new element as a child of this element. + To shift the position, use the or + OutlineUp methods. + + + + + Sets the current outline position to root. + + + + + Shifts the current outline position one level up. + + + + + Creates a new bookmark with specified name at current position. + + + + + + Gets a page number for the specified bookmark name. + + Name of bookmark. + Page number if bookmark with such name found; 0 otherwise. + + Use this method to print the table of contents in your report. Normally it can be done + using bookmarks. + + You must set your report to double pass to use this method. + + + + + + Resets the logical page numbers. + + + + + Called when the number of pages increased during DoublePass + + + + + Starts a new page. + + + + + Starts a new column. + + + + + Processes the specified text object which ProcessAt property is set to Custom. + + The text object to process. + + + + Excel 2003 export class + + + + + + + + Gets or sets a value that determines whether the wysiwyg mode should be used + for better results. + + + + + Gets or sets a value that determines whether to insert page breaks in the output file or not. + + + + + Read and parse Excel document + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Related to DRAWING group. Used once + + + + + Provides API to binary stream + + + + + + + + + + Represents the CSV export filter. + + + + + + + + Gets or set the resulting file encoding. + + + + + Gets or set the separator character used in csv format. + + + + + Gets or sets a value that determines whether to export the databand rows only. + + + + + Gets or sets a value that disable quotation marks for text. + + + + + Gets or sets a value that disable escaping quotation marks for text. + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Represents the export to DBF. + + + + + + + + Gets or sets the encoding. + + + + + Gets or sets a value that determines whether to export the databand rows only. + + + + + Gets or sets the list of field names. + + + The field names must be separated by ";" symbol, for example: Column1;Column2;Column3 + + + + + Initializes a new instance of the class. + + + + + + + + + + + + + + + + + + + + + + + + + + Represents the record. + + + + + Gets or sets the field with a specified index. + + + + + Gets the count of a fields. + + + + + Gets the size of a fields. + + + + + Initializes a new instance of the class. + + + + + Adds the new item into a list of fields. + + + + + Clears the list of fields. + + + + + Represents the email export. + + + In order to use this class, you need to set up at least the following properties: + , , . Use the + property to choose the format of an attachment. If you leave it empty, the attachment will be + in the .FRP format (FastReport prepared report). When you done with settings, call the + method to send an email. + + + This example demonstrates the bare minimum required to send an email. + + EmailExport export = new EmailExport(); + export.Account.Address = "my@address.net"; + export.Account.Host = "myhost"; + export.Address = "recipient@address.net"; + export.Subject = "Re: analysis report"; + // the report1 report must be prepared at this moment + export.SendEmail(report1); + + + + + + Displays the dialog box in which you can set up all parameters. + + true if user pressed OK button in the dialog. + + + + Gets or sets the recipient's address. + + + This property must contain value in form "john@url.com". + + + + + Gets or sets the carbon copy adresses. + + + This property must contain an array of values in form "john@url.com". + + + + + Gets or sets the subject of the message. + + + + + Gets or sets the message body. + + + + + Gets or sets the export filter which will be used to export a report. + + + Set this property to instance of any export filter. When you send the email, the report + will be exported using that export filter. + By default, this property is set to null. In this case the report will be send + in .FRP format. + + + + + Gets the email account settings such as host, user name, password. + + + + + Gets the parent Report object + + + + + Sends an email. + + Reports that will be sent as attachments. + + Before using this method, set up the following properties (it's a bare minimum): + , , . + The report that you pass in this method must be prepared using the Prepare method. + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Initializes a new instance of the class with default settings. + + + + + Form for . + For internal use only. + + + + + Hides attachment settings. + For internal use only. + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Allows to send message using MAPI interface. + + + + + Sends a message. + + Parent window handle. + Files to attach. + Email subject. + Email body. + Recipient names. + Recipient addresses. + Error code. 0 if operation was completed succesfully. + + + + Returns a text describing an error. + + The error code. + The text describing an error. + + + + Contains the email account settings such as host, email address, name. + + + You have to set up at least the and properties. If your + host requires authentication, provide the and + properties as well. + Set property to true if you want to use default email client + such as Outlook to send an email. In this case, all other properties will be ignored. + + + + + Gets or sets the sender's email address. + + + This property contains your email address (for example, "john@site.com"). + + + + + Gets or sets the sender's name. + + + This property contains your name (for example, "John Smith"). + + + + + Gets or sets the template that will be used to create a new message. + + + + + Gets or sets the SMTP host name or IP address. + + + + + Gets or sets the SMTP port. + + + The default value for this property is 25. + + + + + Gets or sets the user name. + + + Specify the and properties if your host requires + authentication. + + + + + Gets or sets the password. + + + Specify the and properties if your host requires + authentication. + + + + + Gets or sets a value that determines whether to enable the SSL protocol. + + + + + Gets or sets a value that determines whether the account setting page + in the "Send Email" window is enabled. + + + + + Gets or sets a value that determines whether to use MAPI instead of SMTP when sending an email. + + + + + Copies email settings from another source. + + Source to copy settings from. + + + + Initializes a new instance of the class with default settings. + + + + + The base class for all export filters. + + + + + Exports the report to a file. + + Report to export. + true if report was succesfully exported. + + This method displays an export options dialog, then prompts a file name using standard "Open file" + dialog. If both dialogs were closed by OK button, exports the report and returns true. + + + + + Displays a dialog with export options. + + true if dialog was closed with OK button. + + + + Gets a report page with OverlayBand if it is a Demo or Academic. + + The prepared report page + The prepared report page with OverlayBand. + + + + Zoom factor for output file + + + + + File filter that can be used in the "Save file" dialog. + + + + + Range of pages to export. + + + + + Page numbers to export. + + + Use page numbers separated by comma and/or page ranges, for example: "1,3-5,12". Empty string means + that all pages need to be exported. + + + + + Current page number. + + + Page number need to be exported if user selects "Current page" radiobutton in the export options dialog. + This property is typically set to current page number in the preview window. + + + + + Open the document after export. + + + + + Allows or disables the OpenAfterExport feature. + + + + + Gets or sets a value that determines whether to show progress window during export or not. + + + + + Gets a list of files generated by this export. + + + + + Gets a value indicating that the export may produce multiple output files. + + + + + Gets or sets a value indicating that the report bands should be shifted, if page + has any non-exportable bands + + + + + Gets or sets the initial directory that is displayed by a save file dialog. + + + + + Stream to export to. + + + + + File name to export to. + + + + + Array of page numbers to export. + + + + + Returns a file filter for a save dialog. + + String that contains a file filter, for example: "Bitmap image (*.bmp)|*.bmp" + + + + This method is called when the export starts. + + + + + This method is called at the start of exports of each page. + + Page for export may be empty in this method. + + + + This method is called at the end of exports of each page. + + Page for export may be empty in this method. + + + + This method is called for each band on exported page. + + Band, dispose after method compite. + + + + This method is called when the export is finished. + + + + + Gets a report page with specified index. + + Zero-based index of page. + The prepared report page. + + + + + + + + + + Exports the report to a stream. + + Report to export. + Stream to export to. + + This method does not show an export options dialog. If you want to show it, call + method prior to calling this method, or use the "Export(Report report)" method instead. + + + + + Exports the report to a file. + + Report to export. + File name to export to. + + This method does not show an export options dialog. If you want to show it, call + method prior to calling this method, or use the "Export(Report report)" method instead. + + + + + Initializes a new instance of the class. + + + + + Represents the HTML export filter. + + + Represents the HTML export filter. + + + Represents the HTML export filter. + + + Represents the HTML export filter. + + + Represents the HTML export filter. + + + + + + + + Draw any custom controls + + + + + Draw any custom controls. + + + + + + Types of html export + + + + + Simple export + + + + + Web preview mode + + + + + Web print mode + + + + + hash:base64Image + + + + + Gets or sets images, embedded in html (hash:base64Image) + + + + + Sets a ID of report + + + + + Sets an onclick template + + + + + Enable or disable layers export mode + + + + + For internal use only. + + + + + For internal use only. + + + + + For internal use only. + + + + + For internal use only. + + + + + For internal use only. + + + + + Enable or disable showing of print dialog in browser when html document is opened + + + + + Enable or disable preview in Web settings + + + + + Enable or disable the breaks between pages in print preview when single page mode is enabled + + + + + Specifies the output format + + + + + Specifies the width units in HTML export + + + + + Specifies the height units in HTML export + + + + + Enable or disable the pictures in HTML export + + + + + Enable or disable embedding pictures in HTML export + + + + + Enable or disable the WEB mode in HTML export + + + + + Gets or sets html export mode + + + + + Enable or disable the single HTML page creation + + + + + Enable or disable the page navigator in html export + + + + + Enable or disable the sub-folder for files of export + + + + + Gets or sets the Wysiwyg quality of export + + + + + Gets or sets the image format. + + + + + Gets print page data + + + + + Gets list of generated streams. + + + + + Enable or disable saving streams in GeneratedStreams collection. + + + + + Enable or disable margins for pages. Works only for Layers-mode. + + + + + Enable or disable export of vector objects such as Barcodes in SVG format. + + + + + + + + + + + + + + + + + Process Page with number p and real page ReportPage + + + + + + + + Process Page with number p and real page ReportPage + + + + + + + + + + + + + For internal use only. + + + + + Initializes a new instance of the class. + + + + + + + + Event arguments for custom drawing of report objects. + + + + + Report object + + + + + ReportObject. + + + + + Resulting successfull drawing flag. + + + + + Resulting HTML string. + + + + + Resulting CSS string. + + + + + Layers mode when true or Table mode when false. + + + + + Zoom value for scale position and sizes. + + + + + Left position. + + + + + Top position. + + + + + Width of object. + + + + + Height of object. + + + + + Represents the HTML export templates. + + + + + Page Template Title + + + + + Page Template Footer + + + + + Navigator Template + + + + + OutlineTemplate + + + + + Index Template + + + + + Initializes a new instance of the class. + + + + + Represents the HTML export format enum + + + + + Represents the message-HTML type + + + + + Represents the HTML type + + + + + Specifies the image format in HTML export. + + + + + Specifies the .bmp format. + + + + + Specifies the .png format. + + + + + Specifies the .jpg format. + + + + + Specifies the .gif format. + + + + + Specifies the units of HTML sizes. + + + + + Specifies the pixel units. + + + + + Specifies the percent units. + + + + + For internal use only. + + + + + For internal use only. + + + + + For internal use only. + + + + + For internal use only. + + + + + For internal use only. + + + + + For internal use only. + + + + + For internal use only. + + + + + For internal use only. + + + + + For internal use only. + + + + + For internal use only. + + + + + Represents the MHT export filter. + + + + + + + + Enable or disable the pictures in MHT export + + + + + Gets or sets the Wysiwyg quality of export + + + + + Gets or sets the image format. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Represents the image export filter. + + + + + + + + Gets or sets the image format. + + + + + Gets or sets a value that determines whether to generate separate image file + for each exported page. + + + If this property is set to false, the export filter will produce one big image + containing all exported pages. Be careful using this property with a big report + because it may produce out of memory error. + + + + + Gets or sets image resolution, in dpi. + + + By default this property is set to 96 dpi. Use bigger values (300-600 dpi) + if you going to print the exported images. + + + + + Gets or sets horizontal image resolution, in dpi. + + + Separate horizontal and vertical resolution is used when exporting to TIFF. In other + cases, use the property instead. + + + + + Gets or sets vertical image resolution, in dpi. + + + Separate horizontal and vertical resolution is used when exporting to TIFF. In other + cases, use the property instead. + + + + + Gets or sets the jpg image quality. + + + This property is used if is set to Jpeg. By default + it is set to 100. Use lesser value to decrease the jpg file size. + + + + + Gets or sets the value determines whether to produce multi-frame tiff file. + + + + + Gets or sets a value that determines whether the Tiff export must produce monochrome image. + + + Monochrome tiff image is compressed using the compression method specified in the + property. + + + + + Gets or sets the compression method for a monochrome TIFF image. + + + This property is used only when exporting to TIFF image, and the property + is set to true. + The valid values for this property are: EncoderValue.CompressionNone, + EncoderValue.CompressionLZW, EncoderValue.CompressionRle, + EncoderValue.CompressionCCITT3, EncoderValue.CompressionCCITT4. + The default compression method is CCITT4. + + + + + Sets padding in non separate pages + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Specifies the image export format. + + + + + Specifies the .bmp format. + + + + + Specifies the .png format. + + + + + Specifies the .jpg format. + + + + + Specifies the .gif format. + + + + + Specifies the .tif format. + + + + + Specifies the .emf format. + + + + + Represents the JSON export filter. + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Represents the LaTeX export filter. + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Base class for any ODF exports + + + + + + + + Switch of page breaks + + + + + Wysiwyg mode, set for better results + + + + + Creator of the document + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Open Document Spreadsheet export (Open Office Calc) + + + + + + + + Initializes a new instance of the class. + + + + + Open Document Text export (Open Office Writer) + + + + + + + + Initializes a new instance of the class. + + + + + MS Word 2007 export class + + + + + + + + Types of table rows height + + + + + Exactly height + + + + + Minimum height + + + + + Enable or disable matrix view of document + + + + + Enable or disable Paragraph view of document + + + + + Gets or sets a value that determines whether the wysiwyg mode should be used + for better results. + + + Default value is true. In wysiwyg mode, the resulting Excel file will look + as close as possible to the prepared report. On the other side, it may have a lot + of small rows/columns, which will make it less editable. If you set this property + to false, the number of rows/columns in the resulting file will be decreased. + You will get less wysiwyg, but more editable file. + + + + + Gets or sets the type of height calculation. + + + + + Gets or sets the type of height calculation. + + + + + Enable or disable a resolution optimization. + + + + + Enable or disable DoNotExpandShiftReturn. + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the Word2007Export class. + + + + + Represents the PowerPoint 2007 export. + + + + + + + + Gets or sets the image format used when exporting. + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new instance of the class with the default settings. + + + + + Excel 2007 export class + + + + + + + + Defines Print Scaling Mode. + + + + + Print sheets at thier actual size. + + + + + Shrink the printout so that it fits on one page. + + + + + Shrink the printout so that it is one page wide. + + + + + Shrink the printout so that it is one page high. + + + + + Gets or sets the Print Fit Mode. + + + + + Gets or sets the font scale value. + Default value is 1 + + + + + Enable or disable a resolution optimization. + + + + + Each report page is placed on a new Excel page. + + + + + Gets or sets a value that determines whether the wysiwyg mode should be used + for better results. + + + Default value is true. In wysiwyg mode, the resulting Excel file will look + as close as possible to the prepared report. On the other side, it may have a lot + of small rows/columns, which will make it less editable. If you set this property + to false, the number of rows/columns in the resulting file will be decreased. + You will get less wysiwyg, but more editable file. + + + + + Gets or sets a value that determines whether to insert page breaks in the output file or not. + + + + + Gets or sets a value that determines whether to export the databand rows only. + + + + + Enable or disable export of page footers and next page headers without table breaks. + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Main class of XML export + + + + + + + + PicturesCount + + + + + HumanReadable + + + + + + + + + + + + + + + + + + + + + + + Constructor of XPSExport + + + + + Destructor of XPSExport + + + + + Save + + + + + + + Padding over ridh object + + + + + This prperty keep RTF to DOC translation result, i.e. DOCX XML fragment + + + + + Base class for Microsoft Office 2007 export objects + + + + + Default XML header + + + + + Base class for export Office Open objects + + + + + Core document properties + + + + + Core document properties + + + + + Power point shape + + + + + Power Point Layout Descriptor + + + + + Power Point base class for style element + + + + + Base class for styles group + + + + + Base class for slides, masters, and layouts + + + + + Slide masters object + + + + + Ordinaty slide + + + + + Slide layout object + + + + + Presentation class + + + + + PPt Application Properties class + + + + + Ppt Table styles class + + + + + Ppt Presentation properties class + + + + + Ppt View Properties class + + + + + Specifies the image format in PowerPoint export. + + + + + Specifies the .png format. + + + + + Specifies the .jpg format. + + + + + Drawing class + + + + + Share all strings in document + + + + + Share all URL in document + + + + + Document styles + + + + + Workbook + + + + + OoXMLSheet class + + + + + Picture container + + + + + List of all document fonts + + + + + Single page export + + + + + Document structure descriptor + + + + + Font container + + + + + Font obfuscation procedure + + + + + PDF export (Adobe Acrobat) + + + + + + + + Embedded File + + + + + Name of embedded file. + + + + + Description of embedded file. + + + + + Modify Date of embedded file. + + + + + Relationship between the embedded document and the PDF part. + + + + + Valid MIME type. + + + + + Stream of embedded file. + + + + + File reference. + + + + + ZUGFeRD Conformance Level. + + + + Initializes a new instance of the class. + + + + Default preview size. + + + + + Actual size + + + + + Fit Page + + + + + Fit Width + + + + + Default + + + + + 10% + + + + + 25% + + + + + 50% + + + + + 75% + + + + + 100% + + + + + 125% + + + + + 150% + + + + + 200% + + + + + 400% + + + + + 800% + + + + + Standard of PDF format. + + + + + PDF 1.5 + + + + + PDF/A-2a + + + + + PDF/A-2b + + + + + PDF/A-3a + + + + + PDF/A-3b + + + + + Pdf/X-3 + + + + + Pdf/X-4 + + + + + Color Space. + + + + + RGB color space + + + + + CMYK color space + + + + + Types of pdf export. + + + + + Simple export + + + + + Web print mode + + + + + Relationship between the embedded document and the PDF part. + + + + + The embedded file contains data which is used for the visual representation. + + + + + The embedded file contains the source data for the visual representation derived therefrom in the PDF part. + + + + + This data relationship should be used if the embedded data are an alternative representation of the PDF contents. + + + + + This data relationship is used if the embedded file serves neither as the source nor as the alternative representation, but the file contains additional information. + + + + + If none of the data relationships above apply or there is an unknown data relationship, this data relationship is used. + + + + + ZUGFeRD Conformance Level. + + + + + Basic level. + + + + + Comfort level. + + + + + Extended level. + + + + + Gets or sets PDF Compliance standard. + After set, do not change other settings, it may lead to fail compliance test. + + + + + Enable or disable of embedding the TrueType fonts. + + + + + Enable or disable of exporting the background. + + + + + Enable or disable export text in curves + + + + + Gets or sets PDF color space + + + + + Enables or disables saving images in their original resolution + + + + + Enables or disables optimization of images for printing + + + + + Enable or disable image jpeg compression + + + + + Sets the quality of images in the PDF + + + + + Title of the document. + + + + + Author of the document. + + + + + Subject of the document. + + + + + Keywords of the document. + + + + + Creator of the document. + + + + + Producer of the document. + + + + + Sets the owner password. + + + + + Sets the user password. + + + + + Enable or disable printing in protected document. + + + + + Enable or disable modifying in protected document. + + + + + Enable or disable copying in protected document. + + + + + Enable or disable annotating in protected document. + + + + + Enable or disable the print dialog window after opening + + + + + Enable or disable hide the toolbar. + + + + + Enable or disable hide the menu's bar. + + + + + Enable or disable hide the Windows UI. + + + + + Enable or disable of fitting the window + + + + + Enable or disable of centering the window. + + + + + Enable or disable of scaling the page for shrink to printable area. + + + + + Enable or disable of document's Outline. + + + + + Set default zoom on open document + + + + + Sets the quality of RichText objects in the PDF + + + + + Enable or disable the compression in PDF document. + + + + + Enable or disable of images transparency. + + + + + Enable or disable of displaying document's title. + + + + + Set default page on open document + + + + + Color Profile (ICC file). + If "null" then default profile will be used + + + + + Gets or sets pdf export mode + + + + + Gets pdf AcroForms compatibility, if set then EmbeddingFonts = false and PdfCompliance = PdfStandard.None + + + + + Enable or disable digital sign for pdf document + + + Be sure to specify a valid certificate for signing using the DigitalSignCertificate property. + Or using the DigitalSignCertificatePath and DigitalSignCertificatePassword properties. + + + + + Should save and serialize password for digital sign certificate. + Do not save password unless absolutely necessary!!! + + + + + Manualy sets digital sign certificate for exported documents. + + + This property is in priority, i.e. if a certificate is specified, + the DigitalSignCertificatePath and DigitalSignCertificatePassword properties will not be used. + + + + + The path for load digital sign certificate. + + + + + Sets digital sign certificate password. + + + + + Gets or sets the cpu host name or physical location of the signing + + + + + The reason for the signing, such as (I agree ...) + + + + + The information to enable the recipient to contact the signer to verify the signature + + + + + + + + + + + Begin exporting of page + + + + + + End exporting + + + + + + Export of Band + + + + + + + + + + + + Add an embedded XML file (only for PDF/A-3 standard). + + File name + Description + Modification date + File stream + + + + Add an embedded XML file (only for PDF/A-3 standard). + + File name + Description + Modification date + File stream + ZUGFeRD Conformance Level + + + + Add an embedded file (only for PDF/A-3 standard). + + File name + Description + Modification date + Relation type + MIME type + File stream + + + + Initializes a new instance of the class. + + + + + Calculates mask for image. + + + + + Calculates image bounds according to . + + + + + Writes pixels' colors without alpha to stream according to CMYK or RGB color space. + Pixels should be in the format. + + + + + Update stream position for object number, only for int value + + int value + + + + + + The pdf export + size of place for svg + + + + The interpolation of curves (svg) + + + + + The interpolation of curves (text) + + + + + Export svg object as image, not vector + + + + + Gradient interpolation, high value will lead beautiful the gradient, + but the file size will increase and the speed of work will decrease. + + + + + The quality of gradient, export as image or export as gradient grid + + + + + Added graphics path to pdf, + + size of rect for gradient filling + path, with positions in pdf scaling + Any brush + Interpolation value + + matrix for transform to pdf scale + + + + returns true if this gradient is fillable by gradient grid + + + + + + The enum of curves interpolation + + + + + Export as curves, without interpolation + + + + + Two points + + + + + Four points + + + + + Eight points + + + + + Sixteen points + + + + + The enum of gradient interpolation points + + + + + Two points + + + + + Four points + + + + + Eight points + + + + + Sixteen points + + + + + Thirty two points + + + + + Sixty four points + + + + + One hundred and twenty eight points + + + + + Two hundred and fifty six points + + + + + The quality of gradient export + + + + + Export as image + + + + + Export as low quality gradient grid, max size of interpolation points is 32 + + + + + Export as medium quality gradient grid, max size of interpolation points is 128 + + + + + Export as high quality gradient grid, max size of interpolation points is 256 + + + + + File name without extentions, for example "MetaDataX" + + + + Represents the PPML export filter. + + + + + + + + Enable or disable the pictures in PPML export + + + + + Gets list of generated streams + + + + + Gets or sets the image format used when exporting. + + + + + Enable or disable export text in curves + + + + + Add TextObject. + + + + + Add BandObject. + + + + + Add Line. + + + + + Add Shape. + + + + + + + + Begin exporting of page + + + + + + Export of Band + + + + + + End exporting + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Contains Dashes enum + + + + + Specifies the Dash. + + + + + Specifies the Dot. + + + + + Specifies the DashDot. + + + + + Specifies the DashDotDot. + + + + + Specifies the Double line. + + + + + Create Window. + + + + + Add image as PPMLObject + + + + + + + + + + Save svg file. + + + + + Save svg stream. + + + + + + + + + + Specifies the image format in PPML export. + + + + + Specifies the .png format. + + + + + Specifies the .jpg format. + + + + + Represents the ps export filter. + + + + + + + + Enable or disable the pictures in PS export + + + + + Gets list of generated streams + + + + + Gets or sets the image format used when exporting. + + + + + Enable or disable export text in curves + + + + + Add TextObject. + + + + + Add BandObject. + + + + + Add Line. + + + + + Add Shape. + + + + + + + + Begin exporting of page + + + + + + Export of Band + + + + + + End exporting + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Contains Dashes enum + + + + + Specifies the Dash. + + + + + Specifies the Dot. + + + + + Specifies the DashDot. + + + + + Specifies the DashDotDot. + + + + + Specifies the Double line. + + + + + Create Window. + + + + Add TextLine in curves + + + + Method for add TextObject. + + + + + Method to add rectangle. + + + + + Method for add ellips. + + + + + Method for add triangle. + + + + + Method for add Diamond. + + + + + Method for add line. + + + + + Method for add line with dash. + + + + + Add image + + + + + + + + + + + + Save file. + + + + + Save stream. + + + + + + + + + + Specifies the image format in ps export. + + + + + Specifies the .png format. + + + + + Specifies the .jpg format. + + + + + Represents the RTF export filter. + + + + + + + + Gets or sets the quality of Jpeg images in RTF file. + + + Default value is 90. This property will be used if you select Jpeg + in the property. + + + + + Gets or sets the image format that will be used to save pictures in RTF file. + + + Default value is Metafile. This format is better for exporting such objects as + MSChartObject and ShapeObject. + + + + + Gets or sets a value indicating that pictures are enabled. + + + + + Gets or sets a value indicating that page breaks are enabled. + + + + + Gets or sets a value that determines whether the wysiwyg mode should be used + for better results. + + + Default value is true. In wysiwyg mode, the resulting rtf file will look + as close as possible to the prepared report. On the other side, it may have a lot + of small rows/columns, which will make it less editable. If you set this property + to false, the number of rows/columns in the resulting file will be decreased. + You will get less wysiwyg, but more editable file. + + + + + Gets or sets the creator of the document. + + + + + Gets or sets a value that determines whether the rows in the resulting table + should calculate its height automatically. + + + Default value for this property is false. In this mode, each row in the + resulting table has fixed height to get maximum wysiwyg. If you set it to true, + the height of resulting table will be calculated automatically by the Word processor. + The document will be more editable, but less wysiwyg. + + + + + Gets or sets a value that determines whether the repot's RichObject will be + translated as picture or joined to generated RTF. + + + Default value for this property is false. In this mode, each RichObject + will be embedded as a picture. This is default behavior. If you set it to true, + the RichObject will be incorporated as a navive part of document. This is experimetal + feature. + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Specifies the image format in RTF export. + + + + + Specifies the .png format. + + + + + Specifies the .jpg format. + + + + + Specifies the .emf format. + + + + + Represents the SVG export filter. + + + + + + + + Enable or disable the pictures in SVG export + + + + + Gets list of generated streams + + + + + Gets or sets the image format used when exporting. + + + + + Embed images into svg + + + + + Returns svg root element + + + + + Returns XmlDocument + + + + + Returns svg G element + + + + + Gets or sets value indicating whether or not should to force uniform scaling of SVG document + + + + + Gets or sets value indicating whether or not should be added 'viewBox' attribute to the svg tag + + + + + Gets or sets value indicating whether or not should be added 'width' and 'height' attributes to the svg tag + + + + + Add TextObject. + + + + + Add BandObject. + + + + + Add Line. + + + + + Add Shape. + + + + + Create Window. + + + + + Add page + + + + + + Add SVGObject + + SVG object + + + + Save svg file. + + + + + Save svg stream. + + + + + + + + Begin exporting of page + + + + + + Export of Band + + + + + + End exporting + + + + + + + + + + + + + + + Export all report objects + + + + + + Initializes a new instance of the class. + + + + + Method to add rectangle. + + + + + Method for add ellips. + + + + + Method for add triangle. + + + + + Method for add Diamond. + + + + + Method for add line. + + + + + Method for add line with dash. + + + + + Add image in Base64 + + + + + + + + + + + + Add image + + + + + + + + + + + Appends attribute to element + + + + + + + + Specifies the alignment methods + + + + + Do not force uniform scaling. Scale the graphic content of the given element non-uniformly + if necessary such that the element's bounding box exactly matches the viewport rectangle. + + + + + Force uniform scaling. Align the min-x of the element's viewBox with the smallest X value + of the viewport. Align the min-y of the element's viewBox with the smallest Y value of the viewport. + + + + + Force uniform scaling. Align the midpoint X value of the element's viewBox with the midpoint + X value of the viewport. Align the min-y of the element's viewBox with the smallest Y value + of the viewport. + + + + + Force uniform scaling. Align the min-x+width of the element's viewBox with the maximum X value + of the viewport. Align the min-y of the element's viewBox with the smallest Y value of the viewport. + + + + + Force uniform scaling. Align the min-x of the element's viewBox with the smallest X value of + the viewport. Align the midpoint Y value of the element's viewBox with the midpoint Y value + of the viewport. + + + + + The default. Force uniform scaling. Align the midpoint X value of the element's viewBox + with the midpoint X value of the viewport. Align the midpoint Y value of the element's + viewBox with the midpoint Y value of the viewport. + + + + + Force uniform scaling. Align the min-x+width of the element's viewBox with the maximum X + value of the viewport. Align the midpoint Y value of the element's viewBox with the midpoint + Y value of the viewport. + + + + + Force uniform scaling. Align the min-x of the element's viewBox with the smallest X value of + the viewport. Align the min-y+height of the element's viewBox with the maximum Y value of the viewport. + + + + + Force uniform scaling. Align the midpoint X value of the element's viewBox with the midpoint X + value of the viewport. Align the min-y+height of the element's viewBox with the maximum Y value + of the viewport. + + + + + Force uniform scaling. Align the min-x+width of the element's viewBox with the maximum X value of + the viewport. Align the min-y+height of the element's viewBox with the maximum Y value of the viewport. + + + + + Specifies the svg scale types + + + + + (the default) - Scale the graphic such that: + - aspect ratio is preserved + - the entire viewBox is visible within the viewport + - the viewBox is scaled up as much as possible, while still meeting the other criteria + + + + + Scale the graphic such that: + - aspect ratio is preserved + - the entire viewport is covered by the viewBox + - the viewBox is scaled down as much as possible, while still meeting the other criteria + + + + + Describes scaling of a svg documents + + + + + Gets the align value + + + + + Gets the meetOrSlice value + + + + + Initializes a new instance of the class. + + + + + + Initializes a new instance of the class. + + Align value + meetOrSlice value + + + + Specifies the image format in SVG export. + + + + + Specifies the .png format. + + + + + Specifies the .jpg format. + + + + + Represents the text export. + + + + + + + + Enable or disable the Data loss avoiding. + Auto calculation of ScaleX and ScaleY will be launched when dialogue window will be off. + + + + + Gets or sets the count of copies for printing of results. + + + + + Gets or sets the printer name for printing of results. + + + + + Enable or disable the printing results after export. + + + + + Gets or sets the active index of registered printer type. + + + + + Gets or sets the list of printer types. + + + + + Gets or sets the scale by X axis for correct text objects placement. + + + + + Gets or sets the scale by Y axis for correct text objects placement. + + + + + Gets or sets the encoding of resulting document. + + + Windows ANSI encoding + TextExport.Encoding = Encoding.Default; + Unicode UTF-8 encoding + TextExport.Encoding = Encoding.UTF8; + OEM encoding for current system locale sessings + TextExport.Encoding = Encoding.GetEncoding(CultureInfo.CurrentCulture.TextInfo.OEMCodePage); + + + + + Enable or disable the data only output without any headers. Default value is false. + + + + + Enable or disable the breaks of pages in resulting document. Default value is true. + + + + + Enable or disable frames in resulting document. Default value is true. + + + + + Enable or disable the text (non graphic) frames in resulting document. Default value is false. + + + + + Enable or disable the output of empty lines in resulting document. Default value is false. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Exports the page. + + + + + + + Calculates scale. + + + + + + Initializes a new instance of the class. + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents the printer command class + + + + + Gets or sets the active state of command. Default value is false. + + + + + Gets or sets the command name. + + + + + Gets or sets the list of "on sequence". + + + + + Gets or sets the list of "off sequence". + + + + + Initializes a new instance of the class. + + + + + Represents of the printer type class. + + + + + Gets or sets the printer name. + + + + + Gets or sets the list of printer commands. + + + + + Initializes a new instance of the class. + + + + + Represents supplement class for print of any stream directly in printer. + + + + + Prints a stream. + + Printer name on which should be print. + Document title for printer spooler. + Count of copies. + Stream that will be printed. + This example demonstrates the printing of Stream. + + TextExportPrint.PrintStream("EPSON FX-1000", "My Report", 1, txtStream) + + + + + Represents the XAML export filter. + + + + + + + + Gets or sets the class name of XAML document + + + + + Enable or disable the pictures in XAML export + + + + + Gets list of generated streams + + + + + Gets or sets the image format used when exporting. + + + + + Get or set scrollbar settings + + + + + Get dictionary of saved images + + + + + Add TextObject. + + + + + Add BandObject. + + + + + Add Line. + + + + + Add Shape. + + + + + + + + Begin exporting of page + + + + + + Export of Band + + + + + + End exporting + + + + + + + + + + + + Gem MemoryStream what contain image + + + + + + + + + + Initializes a new instance of the class. + + + + + Contains Dashes enum + + + + + Specifies the Dash. + + + + + Specifies the Dot. + + + + + Specifies the DashDot. + + + + + Specifies the DashDotDot. + + + + + Specifies the Double line. + + + + + XAML generator + + + + + Create Window. + + + + + Create Grid. + + + + + Create Canvas. + + + + + Create StackPanel + + + + + Create StackPanel + + + + + Create Resources tag + + + + + Add resource for TextObject + + + + + Add resource for TextObject with angle + + + + + Add resource for Line + + + + + Add resource for Rectangle + + + + + Add resource for Ellipse + + + + + Add resource for Polygon + + + + + Add TextObject. + + + + + Method for add TextObject with angle + + + + + Add line. + + + + + Add line with dash. + + + + + Add rectangle. + + + + + Add ellips. + + + + + Add triangle. + + + + + Add Diamond. + + + + + Add image + + + + + + + + + + + + Add image without name + + + + + + + + + + + Add page to StackPanel + + + + + + Save xaml file. + + + + + Save xaml stream. + + + + + + + + + + + + + Specifies the image format in XAML export. + + + + + Specifies the .png format. + + + + + Specifies the .jpg format. + + + + + Represents the Excel 2003 XML export filter. + + + + + + + + Gets or sets a value that determines whether to insert page breaks in the output file or not. + + + + + Gets or sets a value that determines whether the wysiwyg mode should be used + for better results. + + + Default value is true. In wysiwyg mode, the resulting Excel file will look + as close as possible to the prepared report. On the other side, it may have a lot + of small rows/columns, which will make it less editable. If you set this property + to false, the number of rows/columns in the resulting file will be decreased. + You will get less wysiwyg, but more editable file. + + + + + Gets or sets the name of document creator. + + + + + Gets or sets a value that determines whether to export the databand rows only. + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Represents the Zpl export filter. + + + + + + + + Enum of densty types of Zebra printers. + + + + + 6 dpmm(152 dpi) + + + + + 8 dpmm(203 dpi) + + + + + 12 dpmm(300 dpi) + + + + + 24 dpmm(600 dpi) + + + + + Sets the density of printer. + + + + + Sets the init string for sending before printing the document. + + + + + Sets the code page of document. Default is UTF-8 (^CI28). + + + + + Sets the string for sending after printing the document. + + + + + Sets the string for sending before printing each page. + + + + + Sets the scale font size. + + + + + Sets the Printer Font, default value is "A". + + + + + Enable or disable export as bitmap. + + + + + Writes the string value in stream. + + + + + + + Writes the string value in stream with CRLF. + + + + + + + Gets the left position in zpl units. + + + + + + + Gets the top position in zpl units. + + + + + + + Exports the TableObject. + + + + + + Exports the LineObject. + + + + + + Exports the ShapeObject. + + + + + + Exports the TextObject. + + + + + + Gets the position of object in ZPL code. + + + + + + + + Gets the text attributes in ZPL code. + + + + + + + + + + + Gets the text with font width and height in ZPL code. + + + + + + + + + Gets the horiz align in ZPL code. + + + + + + + Gets the rectangle in ZPL code. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Specifies the export font class. + + + + + These fonts not support Bold or Itailc styles + + + + + Description of SCRIPT_STATE structure + + + + + data + + + + + uBidiLevel + + + + + SetRtl + + + + + Description of SCRIPT_ANALYSIS structure + + + + + data + + + + + state + + + + + Description of SCRIPT_CONTROL structure + + + + + data + + + + + Description of SCRIPT_DIGITSUBSTITUTE structure + + + + + NationalDigitLanguage + + + + + TraditionalDigitLanguage + + + + + DigitSubstitute + + + + + dwReserved + + + + + Description of SCRIPT_ITEM structure + + + + + iCharPos + + + + + analysis + + + + + Description of SCRIPT_VISATTR structure + + + + + data + + + + + Description of GOFFSET structure + + + + + du + + + + + dv + + + + + Description of ABC structure + + + + + abcA + + + + + abcB + + + + + abcC + + + + + Description of FontPanose structure + + + + + Description of FontRect structure + + + + + Description of FontPoint structure + + + + + Description of FontTextMetric structure + + + + + Return text metric structure, need to use after FillOutlineTextMetrix() + + + + + Gets or sets internal font name + + + + + Return source font used in constructor + + + + + Returns multiplier for stroke bold emulation + + + + + Gets or sets internal reference + + + + + Gets or sets internal property - save flag + + + + + True if bold style is not supported by font + + + + + True if italic style is not supported by font + + + + + Run fill outline text metric structure + + + + + Return glyph width + + + + + + + Return font file + + + + + + Get font data and set NeedSimulateBold and NeedSimulateItalic properties. Call this method after FillOutlineTextMetrix + + + + + Remap str in glyph indexes. Return string with glyph indexes. + + + + + + + + Return english name of source font + + + + + + Return PANOSE string + + + + + + Create object of ExportTTFFont. + + + + + + Destructor + + + + + This property for internal use only. + + + + + Binary tree class + + + + + Maximal value between child and parent + + + + + Nodes count + + + + + Root node + + + + + Nodes array. Accending sorting by node value. Available after close of tree. + + + + + Accecptable inaccuracy of new values. + + + + + Recursive add value to a node. + + + + + + + + Poll right child node for correct balance. + + + + + + Poll left child for correct balance. + + + + + + Recursive indexation of node and childs. + + + + + + Add new value in tree. All equals are skipped. + + + + + + Close the tree and make index array. + + + + + Seek of value index in the tree. + + + + + + + Find of value index in sub-tree of node. + + + + + + + + Borrow values form List in the tree + + + + + + Borrow values form array in the tree + + + + + + Clear tree + + + + + Tree constructor + + + + + Tree node class + + + + + Link to left child + + + + + Link to right child + + + + + Node value + + + + + Count of nodes in left sub-tree + + + + + Count of nodes in right sub-tree + + + + + Node index + + + + + Node constructor + + + + + + For internal use only. + + + + + Gets current page width. + + + + + + + Gets current page height. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed. Otherwise, false. + + + + Represents a linear gauge. + + + + + + + + + + + Gets or sets the value that specifies inverted gauge or not. + + + + + Gets or sets gauge label. + + + + + Initializes a new instance of the class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents a linear pointer. + + + + + Gets o sets the height of gauge pointer. + + + + + Gets or sets the width of a pointer. + + + + + Initializes a new instance of the + + The parent gauge object. + + + + + + + + + + + + + Represents a linear scale. + + + + + Initializes a new instance of the class. + + The parent gauge object. + + + + + + + + + + + + + Represents a linear gauge. + + + + + + + + + + + + + + + + + Returns centr of the gauge + + + + + The number of radians in one degree + + + + + Gets or sets the Radial Gauge type + + + + + Gats or sets the Radial Gauge position. Doesn't work for Full Radial Gauge. + + + + + Gets or sets the semicircles offset + + + + + Initializes a new instance of the class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Radial Gauge types + + + + + Full sized gauge + + + + + Half of the radial gauge + + + + + Quarter of the radial gauge + + + + + Radial Gauge position types + + + + + None + + + + + Top + + + + + Bottom + + + + + Left + + + + + Right + + + + + Represents a linear pointer. + + + + + Gets or sets the value, indicating that gradient should be rotated automatically + + + + + Initializes a new instance of the + + The parent gauge object. + The scale object. + + + + + + + + + + + + + Represents a linear scale. + + + + + Initializes a new instance of the class. + + The parent gauge object. + + + + + + + + + + + + + Represents a simple progress gauge. + + + + + + + + + + + Gets or sets gauge label. + + + + + Gets scale. Should be disabled for SimpleProgressGauge + + + + + Initializes a new instance of the class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + + + + Gets or sets the number of fractional digits + + + + + + + + + + + + + + SimpleProgressGauge pointer types + + + + + Full sized pointer + + + + + Small pointer + + + + + + + + Gets or sets the pointer type + + + + + Gets or sets the small pointer width ratio + + + + + + + + + + + + + + Represents a simple gauge. + + + + + + + + + + + Gets or sets gauge label. + + + + + Initializes a new instance of the class. + + + + + + + + + + + + + + + + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents a simple pointer. + + + + + Gets o sets the Left offset of gauge pointer. + + + + + Gets o sets the Top offset of gauge pointer. + + + + + Gets o sets the height of gauge pointer. + + + + + Gets or sets the width of a pointer. + + + + + Gets or sets the pointer ratio. + + + + + Gets or sets the pointer horizontal offset (cm). + + + + + Initializes a new instance of the class. + + The parent gauge object. + + + + + + + + + + + + + Represents a simple scale. + + + + + Gets or sets the first subscale (top or left). + + + + + Gets or sets the second subscale (right or bottom). + + + + + Initializes a new instance of the class. + + The parent gauge object. + + + + + + + + + + + + + Represent the subscale of simple scale. + + + + + Gets or sets a value that specifies enabled subscale or not. + + + + + Gets or sets a value that specifies show caption or not. + + + + + Initializes a new instance of the class. + + + + + Copies the contents of another SimpleSubScale. + + The SimpleSubScale instance to copy the contents from. + + + + Serializes the SimpleSubScale. + + Writer object. + SimpleSubScale property name. + Another SimpleSubScale to compare with. + + This method is for internal use only. + + + + + Represents a gauge object. + + + + + + + + + + + + + + Gets or sets the minimal value of gauge. + + + + + Gets or sets the maximal value of gauge. + + + + + Gets or sets the currenta value of gauge. + + + + + Gets or sets scale of gauge. + + + + + Gets or sets pointer of gauge. + + + + + Gets or sets gauge label. + + + + + Gets or sets an expression that determines the value of gauge object. + + + + + Gets a value that specifies is gauge vertical or not. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Minimum value of gauge. + Maximum value of gauge. + Current value of gauge. + + + + Initializes a new instance of the class. + + Minimum value of gauge. + Maximum value of gauge. + Current value of gauge. + Scale of gauge. + Pointer of gauge. + + + + + + + + + + + + + Draws the gauge. + + Draw event arguments. + + + + + + + Clone Gauge Object + + clone of this object + + + + Represents a label of a gauge. + + + + + Gets or sets the label text + + + + + Gets or sets the label font + + + + + Gets or sets the label color + + + + + Gets or sets the label parent + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Label text + Label font + Label color + Label parent + + + + Copies the contents of another GaugeLabel. + + The GaugeLabel instance to copy the contents from. + + + + Draws the gauge label. + + Draw event arguments. + + + + Serializes the gauge label. + + Writer object. + Gauge label property name. + Another GaugeLabel to compare with. + + This method is for internal use only. + + + + + Represents a pointer of gauge. + + + + + Gets or sets the parent gauge object. + + + + + Gets or sets the color of a pointer. + + + + + Gets or sets the border width of a pointer. + + + + + Gets or sets the border color of a pointer. + + + + + Initializes a new instance of the class. + + The parent gauge object. + + + + Copies the contents of another GaugePointer. + + The GaugePointer instance to copy the contents from. + + + + Draws the gauge pointer. + + Draw event arguments. + + + + Serializes the gauge pointer. + + Writer object. + Gauge pointer property name. + Another GaugePointer to compare with. + + This method is for internal use only. + + + + + Represents a scale of a gauge. + + + + + Gets or sets major ticks of scale. + + + + + Gets or sets minor ticks of scale. + + + + + Gets or sets the parent gauge object. + + + + + Gets or sets the font of scale. + + + + + Gets or sets the scale font color + + + + + Initializes a new instance of the class. + + The parent gauge object. + + + + Copies the contents of another GaugeScale. + + The GaugeScale instance to copy the contents from. + + + + Draws the scale of gauge. + + Draw event arguments. + + + + Serializes the gauge scale. + + Writer object. + Scale property name. + Another GaugeScale to compare with. + + This method is for internal use only. + + + + + Represents a scale ticks. + + + + + Gets or sets the length of ticks. + + + + + Gets or sets the width of ticks. + + + + + Gets or sets the color of ticks. + + + + + Gets or sets the count of ticks + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Ticks length. + Ticks width. + Ticks color. + + + + Initializes a new instance of the class. + + Ticks length. + Ticks width. + Ticks color. + Ticks count. + + + + Copies the contents of another ScaleTicks. + + The ScaleTicks instance to copy the contents from. + + + + Serializes the scale ticks. + + Writer object. + Scale ticks property name. + Another ScaleTicks to compare with. + + This method is for internal use only. + + + + + Provides a user interface for editing an expression. + + + + + + + + + + + + + + + + + + + + + Provides a user interface for editing an expression. + + + + + + + + + + + + + + + + + + + + + Provides a user interface for editing an expression. + + + + + + + + + + + + + + + + + + + + + Provides a user interface for choosing a data source. + + + + + + + + + + + Provides a user interface for editing a text outline. + + + + + + + + + + + Provides a user interface for choosing a relation. + + + + + Provides a user interface for selecting a component inside the report. + + + + + + + + + + + + + + Provides a user interface for selecting a component inside the same band. + + + + + + + + + + + + + + Provides a user interface for editing a flags enumeration. + + + + + + + + + + + Provides a user interface for choosing a data type. + + + + + + + + + + + Provides a user interface for choosing a data column. + + + + + + + + + + + + + + Provides a user interface for choosing a data source. + + + + + Provides a user interface for editing an expression. + + + + + + + + + + + Provides a user interface for editing an angle in degrees. + + + + + + + + + + + Provides a user interface for editing a component's border. + + + + + + + + + + + Provides a user interface for selecting a component inside the same page. + + + + + + + + + + + + + + Provides a user interface for choosing a color. + + + + + + + + + + + + + + + + + Provides a user interface for editing a fill. + + + + + + + + + + + Provides a user interface for editing a string collection. + + + + + + + + + + + Represents a map object. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets or sets the path to folder containing shapefiles. + + + This property is used by the map editor when selecting a shapefile. + + + + + Gets or sets the map zoom. + + + + + Gets or sets minimum zoom value. + + + + + Gets or sets maximum zoom value. + + + + + Gets or sets the X offset of the map. + + + + + Gets or sets the Y offset of the map. + + + + + Gets or sets the value indicating that mercator projection must be used to view the map. + + + + + Gets the color scale settings. + + + + + Gets or sets a collection of map layers. + + + + + Gets or sets padding within the map. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Loads a map from file. + + Name of file that contains a map. + + + + Creates unique names for all contained objects such as layers, shapes, etc. + + + + + Initializes a new instance of the class. + + + + + Represents a map point. + + + + + Gets or sets the X-coordinate of the point. + + + + + Gets or sets the Y-coordinate of the point. + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Represents a polygon shape. + + + + + Holds the largest bounding rectangle of this shape. + + + + + Gets or sets a bounding box of this shape. + + + + + Gets or sets a list of polygons in this shape. + + + + + Gets or sets the shape data in binary format. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed. Otherwise, false. + + + + Represents four coordinates that define a bounding box. + + + + + Gets or sets the minimum X-coordinate of a bounding box. + + + + + Gets or sets the minimum Y-coordinate of a bounding box. + + + + + Gets or sets the maximum X-coordinate of a bounding box. + + + + + Gets or sets the maximum Y-coordinate of a bounding box. + + + + + Copies the contents of another instance. + + Source box to copy the contents from. + + + + Defines the palette used to display map shapes. + + + + + No palette used. + + + + + Light palette. + + + + + Pastel palette. + + + + + Grayscale palette. + + + + + Earth tones palette. + + + + + Sea green palette. + + + + + Bright pastel palette. + + + + + Represents a set of color ranges used to highlight polygons based on analytical value. + + + + + Gets the list of ranges. + + + + + Gets or sets the number of ranges. + + + + + Gets or sets the start color. + + + + + Gets or sets the middle color. + + + + + Gets or sets the end color. + + + + + Gets or sets a value indicating that the map's color scale must display data from this color ranges. + + + + + Gets or sets ranges as a string. + + + + + Copies the contents of another ColorRanges. + + The ColorRanges instance to copy the contents from. + + + + Gets a color associated with given analytical value. + + The analytical value. + The color associated with this value, or Color.Transparent if no association found. + + + + Initializes a new instance of the class. + + + + + Represents a single color range. + + + + + Gets or sets color of the range. + + + + + Gets or sets start value of the range. + + + + + Gets or sets end value of the range. + + + + + Copies the contents of another ColorRange. + + The ColorRange instance to copy the contents from. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a specified parameters. + + The color of the range. + The start value of the range. + The end value of the range. + + + + Represents the color scale. + + + + + Gets or sets that must be displayed in this color scale. + + + + + Gets or sets the format string used to format data values. + + + + + Gets or sets a value indicating whether the color scale must be hidden if there is no data in it. + + + + + Gets or sets the text displayed in the color scale if there is no data in it. + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Represents a distance scale. + + + + + Initializes a new instance of the class. + + + + + Represents loading map data from dbf-file. + + + + + Gets or sets the filter string used in an open file dialog. + + + + + Initializes a new instance of the class. + + + + + Returns a file filter for an open file dialog. + + String that contains a file filter. + + + + Imports the map data from a specified file into a specfied layer. + + The MapObject for an importing map. + The name of a file that contains map. + + + + Represents the description of dBase field. + + + + + Gets the field name. + + + + + Gets the field type. + + + + + Gets the field length. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a specified parameters. + + The field name. + The field type. + The field length. + + + + Initializes a new instance of the class with a specified parameters. + + The field name. + The field type. + The field length. + + + + The type of dBase field. + + + + + Character field. + + + + + Date field. + + + + + Numeric field. + + + + + Logical field. + + + + + Memo field. + + + + + Represents a collection of objects. + + + + + Gets a layer with specified index. + + Index of a layer. + The layer with specified index. + + + + Specifies the type of objects that layer contains. + + + + + The layer contains points. + + + + + The layer contains lines. + + + + + The layer contains polygons. + + + + + Specifies the spatial source for the layer. + + + + + Source is ESRI shapefile. + + + + + Source is a latitude/longitude/name provided by an application. + + + + + Determines how map labels are displayed. + + + + + No label displayed. + + + + + The shape name is displayed. + + + + + The value is displayed. + + + + + Both name and value displayed. + + + + + Represents a map layer. + + + + + Gets or sets a type of layer. + + + + + Gets or sets the spatial source for the layer. + + + + + Gets or sets the name of ESRI shapefile. + + + + + Gets or sets the data source. + + + + + Gets or sets the datasource filter expression. + + + + + Gets or sets spatial column name. + + + This property is used if the is set to ShpFile. + + + + + Gets or sets an expression that returns spatial value. + + + This property is used if the is set to ShpFile. + + + + + Gets or sets an expression that returns latitude value. + + + This property is used if the is set to ApplicationData. + + + + + Gets or sets an expression that returns longitude value. + + + This property is used if the is set to ApplicationData. + + + + + Gets or sets an expression that returns label value. + + + This property is used if the is set to ApplicationData. + + + + + Gets or sets an expression that returns analytical value. + + + + + Gets or sets label's column name. + + + + + Gets or sets a value that determines how map labels are displayed. + + + + + Gets or sets the format of label's value. + + + + + Gets or sets the map accuracy. Lower value is better, but slower. + + + + + Gets or sets the value that determines the labels visiblity at a certain zoom value. + + + + + Gets or sets the aggregate function. + + + + + Gets or sets a value indicating that the layer is visible. + + + + + Gets or sets a bounding box of layer. + + + + + Gets a collection of map objects. + + + + + Gets the default style of shapes in this layer. + + + + + Gets or sets the palette used to highlight shapes. + + + + + Gets the color ranges used to highlight shapes based on analytical value. + + + + + Gets the size ranges used to draw points based on analytical value. + + + + + Gets or sets the expression that returns the name of polygon to zoom. + + + + + Gets or sets the bounding box as a string. + + + + + Gets a reference to the Map object. + + + + + + + + Draws the layer. + + The drawing parameters. + + + + Finds the shape under cursor. + + The cursor coordinates. + The ShapeBase object if found. + + + + + + + Creates unique names for all contained objects such as points, lines, polygons, etc. + + + + + Reduces the number of points in the shapes in this layer. + + The accuracy value. + + + + Loads the layer contents from ESRI shapefile (*.shp/*.dbf). + + The file name. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Adds application provided data. + + Latitude value. + Longitude value. + The name displayed as a label. + Analytical value. + + Use this method if the is set to ApplicationData. + + + + + Adds a spatial/analytical value pair to the list. + + The spatial value. + The analytical value. + + Use this method if the is set to ShpFile. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Represents a pair of double coordinates that defines a constituent point. + + + + + Gets or sets the X-coordinate of a point. + + + + + Gets or sets the Y-coordinate of a point. + + + + + Creates a new instance of the class with specified coordinates. + + X coordinate. + Y coordinate. + + + + Specifies the position of a scale control inside the map. + + + + + The scale is displayed at top left corner. + + + + + The scale is displayed at top center side. + + + + + The scale is displayed at top right corner. + + + + + The scale is displayed at middle left side. + + + + + The scale is displayed at middle right side. + + + + + The scale is displayed at bottom left corner. + + + + + The scale is displayed at bottom center side. + + + + + The scale is displayed at bottom right corner. + + + + + The base class for scale-type controls such as and . + + + + + Gets or sets the border. + + + + + Gets or sets the fill. + + + + + Gets or sets the title font. + + + + + Gets or sets the title text color. + + + + + Gets or sets the title text. + + + + + Gets or sets the font. + + + + + Gets or sets the text color. + + + + + Gets or sets the border color. + + + + + Gets or sets the location of the scale. + + + + + Gets or sets the visibility of a scale. + + + + + Copies the contents of another ScaleBase. + + The ScaleBase instance to copy the contents from. + + + + Serializes the scale. + + Writer object. + Scale property name. + Another ScaleBase to compare with. + + This method is for internal use only. + + + + + Gets the size of the scale, in pixels. + + The SizeF structure containing the size of the object. + + + + Draws the object. + + Draw parameters. + Parent map object. + + + + Initializes a new instance of the class. + + + + + The base class for shape objects such as , and . + + + + + Gets or sets the shape visibility. + + + + + Gets or sets a value indicating that custom shape style is used. + + + If this property is false, the layer's DefaultShapeStyle is used. + + + + + Gets a custom shape style. + + + To use this property, first set the property to true. + + + + + Gets or sets the center point X offset. + + + Use this property to adjust the label's position. + + + + + Gets or sets the center point Y offset. + + + Use this property to adjust the label's position. + + + + + Gets or sets the shape X offset. + + + Use this property to adjust the shape position. + + + + + Gets or sets the shape Y offset. + + + Use this property to adjust the shape position. + + + + + Gets or sets the scale factor for this shape. + + + Use this property to adjust the shape size. + + + + + Gets or sets the spatial data associated with this shape. + + + + + Gets or sets the value. + + + + + Gets a reference to the parent Map object. + + + + + Gets a reference to the parent Layer object. + + + + + + + + Draws the shape. + + Object that provides a data for paint event. + + + + Draws the label. + + Object that provides a data for paint event. + + + + Checks if the shape is under cursor. + + The cursor coordinates. + true if the cursor is over the shape. + + + + Reduces the number of points in the shape. + + The accuracy value. + + + + + + + Initializes a component before running a report. + + + + + Finalizes a component before running a report. + + + + + Saves the state of this component. + + + + + Restores the state of this component. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Holds the list of objects of type. + + + + + Gets or sets the element at the specified index. + + Index of an element. + The element at the specified index. + + + + Initializes a new instance of the class with default settings. + + + + + Initializes a new instance of the class with specified owner. + + + + + Represents a line shape. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Represents the spatial data of a shape. + + + + + Copies contents from another spatial data object. + + The object to copy contents from. + + + + Compares two spatial data objects. + + The spatial object to compare with. + true if spatial objects are identical. + + + + Gets a value by its key. + + The key of value. + The value. + + + + Sets a value by its key. + + The key of value. + The value. + + + + Gets a list of keys. + + The list of keys. + + + + Creates a new instance of the class. + + + + + Represents the style of a shape. + + + + + Gets or sets the border color. + + + + + Gets or sets the border style. + + + + + Gets or sets the border width. + + + + + Gets or sets the fill color. + + + + + Gets or sets the font. + + + + + Gets or sets the text color. + + + + + Gets or sets the point size, in pixels. + + + + + Copies contents from another similar object. + + The object to copy the contents from. + + + + Initializes a new instance of the class. + + + + + Represents a set of size ranges used to draw points based on analytical value. + + + + + Gets the list of ranges. + + + + + Gets or sets the number of ranges. + + + + + Gets or sets the start size. + + + + + Gets or sets the end size. + + + + + Gets or sets ranges as a string. + + + + + Copies the contents of another SizeRanges. + + The SizeRanges instance to copy the contents from. + + + + Gets a size associated with given analytical value. + + The analytical value. + The size associated with this value, or 0 if no association found. + + + + Initializes a new instance of the class. + + + + + Represents a single size range. + + + + + Gets or sets size of the range. + + + + + Gets or sets start value of the range. + + + + + Gets or sets end value of the range. + + + + + Copies the contents of another SizeRange. + + The SizeRange instance to copy the contents from. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a specified parameters. + + The size of the range. + The start value of the range. + The end value of the range. + + + + Represents the matrix object that is used to print pivot table (also known as cross-tab). + + + The matrix consists of the following elements: columns, rows and data cells. Each element is + represented by the descriptor. The class is used + for columns and rows; the is used for data cells. + The property holds three collections of descriptors - Columns, + Rows and Cells. + To create the matrix in a code, you should perform the following actions: + + + create an instance of the MatrixObject and add it to the report; + + + create descriptors for columns, rows and cells and add it to the + collections inside the property; + + + call the method to create the matrix template + that will be used to create a result; + + + modify the matrix template (change captions, set the visual appearance). + + + To connect the matrix to a datasource, use the property. If + this property is not set, the result matrix will be empty. In this case you may use + the event handler to fill the matrix. + + This example demonstrates how to create a matrix in a code. + + // create an instance of MatrixObject + MatrixObject matrix = new MatrixObject(); + matrix.Name = "Matrix1"; + // add it to the report title band of the first report page + matrix.Parent = (report.Pages[0] as ReportPage).ReportTitle; + + // create two column descriptors + MatrixHeaderDescriptor column = new MatrixHeaderDescriptor("[MatrixDemo.Year]"); + matrix.Data.Columns.Add(column); + column = new MatrixHeaderDescriptor("[MatrixDemo.Month]"); + matrix.Data.Columns.Add(column); + + // create one row descriptor + MatrixHeaderDescriptor row = new MatrixHeaderDescriptor("[MatrixDemo.Name]"); + matrix.Data.Rows.Add(row); + + // create one data cell + MatrixCellDescriptor cell = new MatrixCellDescriptor("[MatrixDemo.Revenue]", MatrixAggregateFunction.Sum); + matrix.Data.Cells.Add(cell); + + // connect matrix to a datasource + matrix.DataSource = Report.GetDataSource("MatrixDemo"); + + // create the matrix template + matrix.BuildTemplate(); + + // change the style + matrix.Style = "Green"; + + // change the column and row total's text to "Grand Total" + matrix.Data.Columns[0].TemplateTotalCell.Text = "Grand Total"; + matrix.Data.Rows[0].TemplateTotalCell.Text = "Grand Total"; + + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Allows to fill the matrix in code. + + + In most cases the matrix is connected to a datasource via the + property. When you run a report, the matrix is filled with datasource values automatically. + Using this event, you can put additional values to the matrix or even completely fill it + with own values (if is set to null. To do this, call the + Data.AddValue method. See the + method for more details. + + This example shows how to fill a matrix with own values. + + // suppose we have a matrix with one column, row and data cell. + // provide 3 one-dimensional arrays with one element in each to the AddValue method + Matrix1.Data.AddValue( + new object[] { 1996 }, + new object[] { "Andrew Fuller" }, + new object[] { 123.45f }); + Matrix1.Data.AddValue( + new object[] { 1997 }, + new object[] { "Andrew Fuller" }, + new object[] { 21.35f }); + Matrix1.Data.AddValue( + new object[] { 1997 }, + new object[] { "Nancy Davolio" }, + new object[] { 421.5f }); + + // this code will produce the following matrix: + // | 1996 | 1997 | + // --------------+--------+--------+ + // Andrew Fuller | 123.45| 21.35| + // --------------+--------+--------+ + // Nancy Davolio | | 421.50| + // --------------+--------+--------+ + + + + + + Allows to modify the prepared matrix elements such as cells, rows, columns. + + + + + Allows to modify the prepared matrix elements such as cells, rows, columns. + + + + + Gets or sets a value that determines whether the matrix must calculate column/row sizes automatically. + + + + + Gets or sets a value that determines how to print multiple data cells. + + + This property can be used if matrix has two or more data cells. Default property value + is false - that means the data cells will be stacked. + + + + + Gets or sets a value indicating that the side-by-side cells must be kept together on the same page. + + + + + Gets or sets a data source. + + + When you create the matrix in the designer by drag-drop data columns into it, + this property will be set automatically. However you need to set it if you create + the matrix in code. + + + + + Gets the row filter expression. + + + This property can contain any valid boolean expression. If the expression returns false, + the corresponding data row will be skipped. + + + + + Gets or sets a value indicating whether to show a title row. + + + + + Gets or sets a matrix style. + + + + + Gets or sets even style priority for matrix cells. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + See the event for more details. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + See the event for more details. + + + + + Gets or sets a script method name that will be used to handle the + event. + + + See the event for more details. + + + + + Gets the object that holds the collection of descriptors used + to build a matrix. + + + See the class for more details. + + + + + Gets or sets array of values that describes the currently printing column. + + + Use this property when report is running. It can be used to highlight matrix elements + depending on values of the currently printing column. To do this: + + + select the cell that you need to highlight; + + + click the "Highlight" button on the "Text" toolbar; + + + add a new highlight condition. Use the Matrix.ColumnValues to + refer to the value you need to analyze. Note: these values are arrays of System.Object, + so you need to cast it to actual type before making any comparisons. Example of highlight + condition: (int)Matrix1.ColumnValues[0] == 2000. + + + + + + + + Gets or sets array of values that describes the currently printing row. + + + Use this property when report is running. It can be used to highlight matrix elements + depending on values of the currently printing row. To do this: + + + select the cell that you need to highlight; + + + click the "Highlight" button on the "Text" toolbar; + + + add a new highlight condition. Use the Matrix.RowValues to + refer to the value you need to analyze. Note: these values are arrays of System.Object, + so you need to cast it to actual type before making any comparisons. Example of highlight + condition: (string)Matrix1.RowValues[0] == "Andrew Fuller". + + + + + + + + Gets or sets the index of currently printing column. + + + This property may be used to print even columns with alternate color. To do this: + + + select the cell that you need to highlight; + + + click the "Highlight" button on the "Text" toolbar; + + + add a new highlight condition that uses the Matrix.ColumnIndex, + for example: Matrix1.ColumnIndex % 2 == 1. + + + + + + + + Gets or sets the index of currently printing row. + + + This property may be used to print even rows with alternate color. To do this: + + + select the cell that you need to highlight; + + + click the "Highlight" button on the "Text" toolbar; + + + add a new highlight condition that uses the Matrix.RowIndex, + for example: Matrix1.RowIndex % 2 == 1. + + + + + + + + + + + + + + + + + Creates or updates the matrix template. + + + Call this method after you modify the matrix descriptors using the + object's properties. + + + + + + + + + + + + + + + + + + + + + + + + + + This method fires the ManualBuild event and the script code connected to the ManualBuildEvent. + + Event data. + + + + This method fires the ModifyResult event and the script code connected to the ModifyResultEvent. + + Event data. + + + + This method fires the AfterTotals event and the script code connected to the AfterTotalsEvent. + + Event data. + + + + Adds a value in the matrix. + + Array of column values. + Array of row values. + Array of data values. + + This is a shortcut method to call the matrix Data.AddValue. + See the method for more details. + + + + + Gets the value of the data cell with the specified index. + + Zero-based index of the data cell. + The cell's value. + + Use this method in the cell's expression if the cell has custom totals + (the total function is set to "Custom"). The example: + Matrix1.Value(0) / Matrix1.Value(1) + will return the result of dividing the first data cell's value by the second one. + + + + + Initializes a new instance of the class. + + + + + Specifies the aggregate function used in the . + + + + + No aggregates are used. + + + + + Specifies the sum of values. + + + + + Specifies the minimum of values. + + + + + Specifies the maximum of values. + + + + + Specifies the average of values. + + + + + Specifies the count of values. + + + + + Specifies the custom function. + + + + + Determines how matrix percents are calculated. + + + + + Do not calculate percent value. + + + + + Calculate percent of the column total value. + + + + + Calculate percent of the row total value. + + + + + Calculate percent of the grand total value. + + + + + The descriptor that is used to describe one matrix data cell. + + + The class is used to define one data cell of the matrix. + The key properties are and . + To set visual appearance of the data cell, use the + property. + The collection of descriptors used to represent the matrix data cells is stored + in the MatrixObject.Data.Cells property. + + + + + Gets or sets an aggregate function used to calculate totals for this cell. + + + + + Gets or sets a value that determines how to calculate the percent value for this cell. + + + + + + + + + + + Initializes a new instance of the class + with default settings. + + + + + Initializes a new instance of the class + with specified expression. + + The descriptor's expression. + + + + Initializes a new instance of the class + with specified expression and aggregate function. + + The descriptor's expression. + The aggregate function. + + + + Initializes a new instance of the class + with specified expression, aggregate function, and a percent. + + The descriptor's expression. + The aggregate function. + The percent setting. + + + + Represents a collection of matrix data descriptors used in the . + + + + + Gets or sets the element at the specified index. + + Index of an element. + The element at the specified index. + + + + Adds the specified descriptors to the end of this collection. + + Array of descriptors to add. + + + + Adds a descriptor to the end of this collection. + + Descriptor to add. + Index of the added descriptor. + + + + Inserts a descriptor into this collection at the specified index. + + The zero-based index at which value should be inserted. + The descriptor to insert. + + + + Removes the specified descriptor from the collection. + + Descriptor to remove. + + + + Returns the zero-based index of the first occurrence of a descriptor. + + The descriptor to locate in the collection. + The zero-based index of the first occurrence of descriptor within + the entire collection, if found; otherwise, -1. + + + + Determines whether a descriptor is in the collection. + + The descriptor to locate in the collection. + true if descriptor is found in the collection; otherwise, false. + + + + Copies the elements of this collection to a new array. + + An array containing copies of this collection elements. + + + + + + + + + + Contains a set of properties and methods to hold and manipulate the matrix descriptors. + + + This class contains three collections of descriptors such as , + and . Use collections' methods to add/remove + descriptors. When you are done, call the + method to refresh the matrix. + To fill a matrix in code, use the AddValue method. + + + + + Gets a collection of column descriptors. + + + Note: after you change something in this collection, call the + method to refresh the matrix. + + + + + Gets a collection of row descriptors. + + + Note: after you change something in this collection, call the + method to refresh the matrix. + + + + + Gets a collection of data cell descriptors. + + + Note: after you change something in this collection, call the + method to refresh the matrix. + + + + + Clears all descriptors. + + + + + Adds a value in the matrix. + + Array of column values. + Array of row values. + Array of data values. + + The number of elements in an array passed to this method must be the same as + a number of descriptors in the appropriate collection. That is, if your matrix + has one column, two row and one cell descriptors (in Columns, Rows and + Cells collections respectively), you have to pass one-element array for the + columnValues param, two-element array for the rowValues and one-element + array for the cellValues. + + This example demonstrates how to fill a simple matrix that contains one column, + row and cell. + + MatrixObject matrix; + matrix.Data.AddValue( + new object[] { 1996 }, + new object[] { "Andrew Fuller" }, + new object[] { 123.45f }); + + // this will produce the following result: + // | 1996 | + // --------------+----------+ + // Andrew Fuller | 123.45| + // --------------+----------+ + + + + + + Adds a value in the matrix. + + Array of column values. + Array of row values. + Array of data values. + Datasource row index. + + See the method for more details. + + + + + Gets a value with specified column, row and cell indicies. + + Index of a column. + Index of a row. + Index of a cell. + The value of a cell. + + + + Sets the cell's value. + + Index of a column. + Index of a row. + The new value. + + + + The base class for matrix element descriptors such as and + . + + + + + Gets or sets an expression which value will be used to fill the matrix. + + + Expression may be any valid expression. Usually it's a data column: + [DataSource.Column]. + + + + + Gets or sets the template column bound to this descriptor. + + + This property is for internal use; usually you don't need to use it. + + + + + Gets or sets the template row bound to this descriptor. + + + This property is for internal use; usually you don't need to use it. + + + + + Gets or sets the template cell bound to this descriptor. + + + Using this property, you may access the matrix cell which is bound to + this descriptor. It may be useful to change the cell's appearance. + + Before using this property, you must initialize the matrix descriptors by + calling the method. + + + + + MatrixObject matrix; + // change the fill color of the first matrix cell + matrix.Data.Cells[0].TemplateCell.Fill = new SolidFill(Color.Red); + + + + + + Assigns values from another descriptor. + + Descriptor to assign values from. + + + + + + + + + + Represents a collection of matrix header descriptors used in the . + + + + + Gets or sets the element at the specified index. + + Index of an element. + The element at the specified index. + + + + Adds the specified descriptors to the end of this collection. + + Array of descriptors to add. + + + + Adds a descriptor to the end of this collection. + + Descriptor to add. + Index of the added descriptor. + + + + Inserts a descriptor into this collection at the specified index. + + The zero-based index at which value should be inserted. + The descriptor to insert. + + + + Removes the specified descriptor from the collection. + + Descriptor to remove. + + + + Returns the zero-based index of the first occurrence of a descriptor. + + The descriptor to locate in the collection. + The zero-based index of the first occurrence of descriptor within + the entire collection, if found; otherwise, -1. + + + + Determines whether a descriptor is in the collection. + + The descriptor to locate in the collection. + true if descriptor is found in the collection; otherwise, false. + + + + Copies the elements of this collection to a new array. + + An array containing copies of this collection elements. + + + + Gets the list of indices of terminal items of this header. + + The list of indices. + + + + Gets the list of indices of terminal items of the header with specified address. + + The address of a header. + The list of indices. + + + + Removes a header item with the address specified. + + The address of a header. + + + + Gets an index of header with the address specified. + + The address of a header. + The index of header. + + + + Gets an index of header with the address specified. If there is no such header item, it will be created. + + The address of a header. + The index of header. + + + + + + + + + + The descriptor that is used to describe one element of the matrix header. + + + The class is used to define one header element of the matrix + (either the column element or row element). The key properties are + , and . + To set visual appearance of the element, use the + property. To set visual appearance of the "total" element, use the + property. + The collection of descriptors used to represent the matrix header is stored + in the MatrixObject.Data.Columns and MatrixObject.Data.Rows properties. + + + + + Gets or sets the sort order of header values. + + + This property determines how the values displayed in this element are sorted. The default sort + is ascending. + + + + + Gets or sets a value indicating that this element has associated "total" element. + + + To access the matrix cell that is bound to the "Total" element, use the + property. It may be useful to change the + "Total" text by something else. + + This example shows how to change the "Total" text of the total element. + + MatrixObject matrix; + matrix.Data.Rows[0].TemplateTotalCell.Text = "Grand Total"; + + + + + + Gets or sets the value indicating whether the total values must be printed before the data. + + + + + Gets or sets a value indicating that the page break must be printed before this element. + + + Page break is not printed before the very first element. + + + + + Gets or sets a value that determines whether it is necessary to suppress totals + if there is only one value in a group. + + + + + Gets or sets the template column bound to the "total" element of this descriptor. + + + This property is for internal use; usually you don't need to use it. + + + + + Gets or sets the template row bound to the "total" element of this descriptor. + + + This property is for internal use; usually you don't need to use it. + + + + + Gets or sets the template cell bound to the "total" element of this descriptor. + + + This property may be useful to change the "Total" text by something else. + + Before using this property, you must initialize the matrix descriptors by + calling the method. + + + This example shows how to change the "Total" element. + + MatrixObject matrix; + matrix.Data.Rows[0].TemplateTotalCell.Text = "Grand Total"; + matrix.Data.Rows[0].TemplateTotalCell.Fill = new SolidFill(Color.Green); + + + + + + + + + + + + Initializes a new instance of the class with + default settings. + + + + + Initializes a new instance of the class with + specified expression. + + The descriptor's expression. + + + + Initializes a new instance of the class with + specified expression and totals. + + The descriptor's expression. + Indicates whether to show the "total" element. + + + + Initializes a new instance of the class with + specified expression, sort order and totals. + + The descriptor's expression. + Sort order used to sort header values. + Indicates whether to show the "total" element. + + + + Updates HeaderWidth, HeaderHeight, BodyWidth, BodyHeight properties. + + + + + Describes how the even style is applied to a matrix. + + + + + The even style is applied to matrix rows. + + + + + The even style is applied to matrix columns. + + + + + Represents the chart object based on Microsoft Chart control. + + + FastReport uses Microsoft Chart library to display charts. This library is included + in .Net Framework 4.0. For .Net 3.5 it is available as a separate download here: + http://www.microsoft.com/downloads/details.aspx?FamilyID=130f7986-bf49-4fe5-9ca8-910ae6ea442c + This library requires .Net Framework 3.5 SP1. + To access Microsoft Chart object, use the property. It allows you + to set up chart appearance. For more information on available properties, refer to the + MS Chart documentation. + Chart object may contain one or several series. Each series is represented by two objects: + + + the Series that is handled by MS Chart. It is stored in the + Chart.Series collection; + + + the object that provides data for MS Chart series. + It is stored in the collection. + + + Do not operate series objects directly. To add or remove series, use + the and methods. These methods + handle Series and MSChartSeries in sync. + If you have a chart object on your Form and want to print it in FastReport, use + the method. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + + + + + + + + + + Gets the collection of objects. + + + + + Gets a reference to the MS Chart object. + + + + + Gets or set Force automatically created series. + + + + + Gets or sets the data source. + + + + + Gets or sets the filter expression. + + + This filter will be applied to all series in chart. You may also use the series' + property to filter each series individually. + + + + + Gets or sets a value indicating that all series' data point should be aligned by its X value. + + + Using this property is necessary to print stacked type series. These series must have + equal number of data points, and the order of data points must be the same for all series. + + + + + Gets or set the data column or expression for automatically created series. + + + In order to create auto-series, you need to define one series that will be used as a + template for new series, and set up the property. + The value of this property will be a name of new series. If there is no series + with such name yet, the new series will be added. + + + + + Gets or set the color for auto-series. + + + If no color is specified, the new series will use the palette defined in the chart. + + + + + Gets or sets sort order for auto-series. + + + + + + + + Adds a new series. + + The type of series. + The new MSChartSeries object. + + + + Deletes a series at a specified index. + + Index of series. + + + + Assigns chart appearance, series and data from the + System.Windows.Forms.DataVisualization.Charting.Chart object. + + Chart object to assign data from. + + Use this method if you have a chart in your application and want to print it in FastReport. + To do this, put an empty MSChartObject in your report and execute the following code: + + report.Load("..."); + MSChartObject reportChart = report.FindObject("MSChart1") as MSChartObject; + reportChart.AssignChart(applicationChart); + report.Show(); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the with default settings. + + + + + Represents the small chart object (called sparkline) fully based on MSChartObject. + + + + + + + + + + + Initializes a new instance of the with default settings. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Specifies how the series points are sorted. + + + + + Points are not sorted. + + + + + Points are sorted by X value. + + + + + Points are sorted by Y value. + + + + + Specifies the direction in which the series points are sorted. + + + + + Points are sorted in ascending order. + + + + + Points are sorted in descending order. + + + + + Specifies how the series points are grouped. + + + + + Points are not grouped. + + + + + Points are grouped by X value. + + + + + Points are grouped by number specified in the . + + + + + Points are grouped by Years. + + + + + Points are grouped by Months. + + + + + Points are grouped by Weeks. + + + + + Points are grouped by Days. + + + + + Points are grouped by Hours. + + + + + Points are grouped by Minutes. + + + + + Points are grouped by Seconds. + + + + + Points are grouped by Milliseconds. + + + + + Specifies which pie value to explode. + + + + + Do not explode pie values. + + + + + Explode the biggest value. + + + + + Explode the lowest value. + + + + + Explode the value specified in the property. + + + + + Specifies which data points to collect into one point. + + + + + Do not collect points. + + + + + Show top N points (N value is specified in the + property), collect other points into one. + + + + + Show bottom N points (N value is specified in the + property), collect other points into one. + + + + + Collect points which have Y value less than specified + in the property. + + + + + Collect points which have Y value less than percent specified + in the property. + + + + + Collect points which have Y value greater than specified + in the property. + + + + + Collect points which have Y value greater than percent specified + in the property. + + + + + Represents a MS Chart series wrapper. + + + This class provides a data for MS Chart series. The series itself is stored inside the + MS Chart and is accessible via the property. + You don't need to create an instance of this class directly. Instead, use the + method. + + + + + Gets os sets the data filter expression. + + + The filter is applied for this series only. You can also use the + property to set a filter that will be applied to all + series in a chart. + + + + + Gets or set the data column or expression for automatically created series. + + + In order to create auto-series, you need to define one series that will be used as a + template for new series, and set up the property. + The value of this property will be a name of new series. If there is no series + with such name yet, the new series will be added. + + + + + Gets or sets the sort method used to sort data points. + + + You have to specify the property as well. Data points in this series + will be sorted according selected sort criteria and order. + + + + + Gets or set Force automatically created series. + + + + + Gets or sets the sort order used to sort data points. + + + You have to specify the property as well. Data points in this series + will be sorted according selected sort criteria and order. + + + + + Gets or sets the group method used to group data points. + + + This property is mainly used when series is filled with data with several identical X values. + In this case, you need to set the property to XValue. All identical data points will be + grouped into one point, their Y values will be summarized. You can choose the summary function + using the property. + + + + + Gets or sets the group interval. + + + This value is used if property is set to Number. + + + + + Gets or sets the function used to group data points. + + + + + Gets or sets the collect method used to collect several data points into one. + + + This instrument for data processing allows to collect several series points into one point. + The collected point will be displaed using the text specified in the + property and color specified in the property. + For example, to display top 5 values, set this property to TopN and specify + N value (5) in the property. + + + + + Gets or sets the collect value used to collect several data points into one. + + + This property is used if the property is set to any value other than None. + + + + + Gets or sets the text for the collected value. + + + + + Gets or sets the color for the collected value. + + + If this property is set to Transparent (by default), the default palette color + will be used to display a collected point. + + + + + Gets or sets the method used to explode values in pie-type series. + + + + + Gets or sets the value that must be exploded. + + + This property is used if property is set + to SpecificValue. + + + + + Gets or sets the data column or expression that returns the X value of data point. + + + + + Gets or sets the data column or expression that returns the first Y value of data point. + + + + + Gets or sets the data column or expression returns the second Y value of data point. + + + + + Gets or sets the data column or expression returns the third Y value of data point. + + + + + Gets or sets the data column or expression returns the fourth Y value of data point. + + + + + Gets or sets the data column or expression that returns the color of data point. + + + + + Gets or sets the data column or expression returns the label value of data point. + + + + + Gets a reference to MS Chart Series object. + + + Use this property to set many options available for the Series object. These options + include: visual appearance, labels, marks, value types. Refer to the Microsoft Chart control + documentation to learn more. + + + + + Gets a number of Y value per data point. + + + Number of Y values depends on series type. Most of series have only one Y value. Financial + series such as Stock and Candlestick, use four Y values. + + + + + This property is not relevant to this class. + + + + + + + + + + + + + + Clears all data points in this series. + + + + + Adds a data point with specified X and Y values. + + X value. + Array of Y values. + + Note: number of values in the yValues parameter must be the same as value returned + by the property. + + + + + + + + Creates a new instance of the class with default settings. + + + + + Represents a collection of objects. + + + + + Gets the element at the specified index. + + Index of an element. + The element at the specified index. + + + + Resets series data. + + + + + Processes the current data row. + + + + + Finishes the series data. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Base class for report pages and dialog forms. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + Gets the snap size for this page. + + + + + Gets a page designer for this page type. + + The page designer. + + + + This method is called by the designer when you create a new page. + + + You may create the default page layout (add default bands, set default page size, etc). + + + + + Causes the page to refresh in the preview window. + + + Call this method when you handle object's MouseMove, MouseDown, MouseUp, MouseEnter, MouseLeave events + and want to refresh the preview window. + + If you have changed some objects on a page, the Refresh method will not save the changes. + This means when you print or export the page, you will see original (unmodified) page content. + If you want to save the changes, you have to use the method instead. + + + + + + Modifies the page content and refresh it in the preview window. + + + Call this method when you handle object's Click, MouseDown or MouseUp events + and want to modify an object and refresh the preview window. + + + + + Initializes a new instance of the class with default settings. + + + + + Represents the pages of a prepared report. + + + Prepared page is a page that you can see in the preview window. Prepared pages can be + accessed via property. + The common scenarios of using this object are: + + + Working with prepared pages after the report is finished: load + () or save () pages + from/to a .fpx file, get a page with specified index to work with its objects + (); modify specified page (). + + + + Using the , , + methods while report is generating to produce an output. + + + + + + + + + Gets the number of pages in the prepared report. + + + + + Specifies an action that will be performed on method call. + + + + + Gets or sets a value indicating whether the prepared pages can be uploaded to the file cache. + + + This property is used while report is generating. + Default value for this property is true. That means the prepared pages may be uploaded to + the file cache if needed. To prevent this (for example, if you need to access some objects + on previously generated pages), set the property value to false. + + + + + + + + Adds a source page to the prepared pages dictionary. + + The template page to add. + + Call this method before using AddPage and AddBand methods. This method adds + a page to the dictionary that will be used to decrease size of the prepared report. + + + + + Adds a new page. + + The original (template) page to add. + + Call the method before adding a page. This method creates + a new output page with settings based on page parameter. + + + + + Prints a band with all its child objects. + + The band to print. + true if band was printed; false if it can't be printed + on current page due to its PrintOn property value. + + Call the method before adding a band. + + + + + Gets a page with specified index. + + Zero-based index of page. + The page with specified index. + + + + Gets the size of specified page, in pixels. + + Index of page. + the size of specified page, in pixels. + + + + Replaces the prepared page with specified one. + + The index of prepared page to replace. + The new page to replace with. + + + + Modify the prepared page with new sizes. + + The name of prepared page to reSize. + + + + Removes a page with the specified index. + + The zero-based index of page to remove. + + + + Saves prepared pages to a stream. + + The stream to save to. + + + + Saves prepared pages to a .fpx file. + + The name of the file to save to. + + + + Loads prepared pages from a stream. + + The stream to load from. + + + + Loads prepared pages from a .fpx file. + + The name of the file to load from. + + + + Clears the prepared report's pages. + + + + + Creates the pages of a prepared report + + + + + + Initializes a new instance of the OutlineControl class with default settings. + + + + + Represents a Windows Forms control used to preview a report. + + + To use this control, place it on a form and link it to a report using the report's + property. To show a report, call + the Report.Show method: + + report1.Preview = previewControl1; + report1.Show(); + + Use this control's methods such as , etc. to + handle the preview. Call method to clear the preview. + You can specify whether the standard toolbar is visible in the + property. The property allows you to hide/show the statusbar. + + + + + + Occurs when current page number is changed. + + + + + Occurs when Print button clicked. + + + + + Occurs when Export button clicked. + + + + + Gets a reference to the report. + + + + + Obsolete. Gets or sets the color of page border. + + + + + Gets or sets the color of active page border. + + + + + Gets or sets the first page offset from the top left corner of the control. + + + + + Gets or sets a value indicating whether the toolbar is visible. + + + + + Gets or sets a value indicating whether the statusbar is visible. + + + + + Gets or sets a value indicating whether the outline control is visible. + + + + + Specifies the set of buttons available in the toolbar. + + + + + Specifies the set of exports that will be available in the preview's "save" menu. + + + + + Specifies the set of exports in clouds that will be available in the preview's "save" menu. + + + + + Gets or sets a value indicating whether the fast scrolling method should be used. + + + If you enable this property, the gradient background will be disabled. + + + + + Gets or sets the visual style. + + + + + Gets or sets a value indicating that the BackColor property must be used to draw the background area. + + + By default, the background area is drawn using the color defined in the current UIStyle. + + + + + Gets the preview window's toolbar. + + + + + Gets the preview window's statusbar. + + + + + Gets or sets the initial directory that is displayed by a save file dialog. + + + + + + + + Adds a new report tab to the preview control. + + The Report object that contains the prepared report. + The title for the new tab. + + Prepare the report using its Prepare method before you pass it to the report parameter. + + + + + Adds a new report tab to the preview control. + + The Report object that contains the prepared report. + The title for the new tab. + If true, makes the new tab active. + + Prepare the report using its Prepare method before you pass it to the report parameter. + + + + + Switches to the tab with specified text. + + Text of the tab. + true if the tab with specified text exists, or false if there is no such tab. + + + + Deletes the report tab with specified text. + + The text of the tab. + + + + Checks if the tab with specified text exists. + + The text of the tab. + true if the tab exists. + + + + Displays the text in the status bar. + + Text to display. + + + + Sets the focus to the preview control. + + + + + Prints the current report. + + true if report was printed; false if user cancels the "Print" dialog. + + + + Saves the current report to a .fpx file using the "Save FIle" dialog. + + + + + Saves the current report to a specified .fpx file. + + + + + Saves the current report to a stream. + + + + + Loads the report from a .fpx file using the "Open File" dialog. + + + + + Loads the report from a specified .fpx file. + + + + + Load the report from a stream. + + The stream to load from. + + + + Sends an email. + + + + + Finds the text in the current report using the "Find Text" dialog. + + + + + Finds the specified text in the current report. + + Text to find. + A value indicating whether the search is case-sensitive. + A value indicating whether the search matches whole words only. + true if text found. + + + + Finds the next occurence of text specified in the Find method. + + true if text found. + + + + Navigates to the first page. + + + + + Navigates to the previuos page. + + + + + Navigates to the next page. + + + + + Navigates to the last page. + + + + + Gets or sets the current page number. + + + This value is 1-based. + + + + + Gets the pages count in the current report. + + + + + Gets or sets the zoom factor. + + + 1 corresponds to 100% zoom. + + + + + Zooms in. + + + + + Zooms out. + + + + + Zooms to fit the page width. + + + + + Zooms to fit the whole page. + + + + + Edits the current page in the designer. + + + + + Copies the current page in preview. + + + + + Removes the current page in preview. + + + + + Edits the current report in the designer. + + + + + Edits the watermark. + + + + + Edits the page settings. + + + + + Navigates to the specified position inside a specified page. + + The page number (1-based). + The position inside a page, in pixels. + + + + Clears the preview. + + + + + Refresh the report. + + + + + Initializes a new instance of the class. + + + + + Required designer variable. + + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Gets or sets the initial directory that is displayed by a save file dialog. + + + + + Specifies an action that will be performed on PreparedPages.AddPage method call. + + + + + Do not add the new prepared page if possible, increment the CurPage instead. + + + + + Add the new prepared page. + + + + + Represents a report object. + + + The instance of this class contains a report. Here are some common + actions that can be performed with this object: + + + To load a report, use the + method or call static method. + + + To save a report, call the method. + + + To register application dataset for use it in a report, call one of the + RegisterData methods. + + + To pass some parameter to a report, use the + method. + + + To design a report, call the method. + + + To run a report and preview it, call the method. + Another way is to call the method, then call the + method. + + + To run a report and print it, call the method. + Another way is to call the method, then call the + method. + + + To load/save prepared report, use one of the LoadPrepared and + SavePrepared methods. + + + To set up some global properties, use the static class + or component that you can use in the Visual Studio IDE. + + + + The report consists of one or several report pages (pages of the + type) and/or dialog forms (pages of the type). + They are stored in the collection. In turn, each page may contain report + objects. See the example below how to create a simple report in code. + + This example shows how to create a report instance, load it from a file, + register the application data, run and preview. + + Report report = new Report(); + report.Load("reportfile.frx"); + report.RegisterData(application_dataset); + report.Show(); + + This example shows how to create simple report in code. + + Report report = new Report(); + // create the report page + ReportPage page = new ReportPage(); + page.Name = "ReportPage1"; + // set paper width and height. Note: these properties are measured in millimeters. + page.PaperWidth = 210; + page.PaperHeight = 297; + // add a page to the report + report.Pages.Add(page); + // create report title + page.ReportTitle = new ReportTitleBand(); + page.ReportTitle.Name = "ReportTitle1"; + page.ReportTitle.Height = Units.Millimeters * 10; + // create Text object and put it to the title + TextObject text = new TextObject(); + text.Name = "Text1"; + text.Bounds = new RectangleF(0, 0, Units.Millimeters * 100, Units.Millimeters * 5); + page.ReportTitle.Objects.Add(text); + // create data band + DataBand data = new DataBand(); + data.Name = "Data1"; + data.Height = Units.Millimeters * 10; + // add data band to a page + page.Bands.Add(data); + + + + + + Gets a reference to the report designer. + + + This property can be used when report is designing. In other cases it returns null. + + + + + Runs the report designer. + + true if report was modified, otherwise false. + + + + Runs the report designer. + + A value indicates whether the designer should run modally. + true if report was modified, otherwise false. + + + + Runs the report designer. + + The main MDI form which will be a parent for the designer. + true if report was modified, otherwise false. + + + + Gets the email settings such as recipients, subject, message body. + + + + + Gets or sets the report preview control. + + + Use this property to attach a custom preview to your report. To do this, place the PreviewControl + control to your form and set the report's Preview property to this control. + + + + + Gets the print settings such as printer name, copies, pages to print etc. + + + + + Prepares the report and prints it. + + + + + Prints the report with the "Print" dialog. + Report should be prepared using the method. + + + + + Prints the report without the "Print" dialog. + Report should be prepared using the method. + + Printer-specific settings. + + Use the following code if you want to show the "Print" dialog, then print: + + if (report.Prepare()) + { + PrinterSettings printerSettings = null; + if (report.ShowPrintDialog(out printerSettings)) + { + report.PrintPrepared(printerSettings); + } + } + + + + + + Prepares the report and shows it in the preview window. + + + + + Prepares the report and shows it in the preview window. + + A value that specifies whether the preview window should be modal. + + + + Prepares the report and shows it in the preview window. + + A value that specifies whether the preview window should be modal. + The owner of the preview window. + + + + Prepares the report and shows it in the preview window. + + The main MDI form which will be a parent for the preview window. + + + + Previews the report. The report should be prepared using the method. + + + + + Previews the prepared report. + + A value that specifies whether the preview window should be modal. + + + + Previews the prepared report. + + A value that specifies whether the preview window should be modal. + The owner of the preview window. + + + + Previews the prepared report. + + The main MDI form which will be a parent for the preview window. + + + + Shows the "Print" dialog. + + Printer-specific settings. + true if the dialog was closed by "Print" button. + + Use the following code if you want to show the "Print" dialog, then print: + + if (report.Prepare()) + { + PrinterSettings printerSettings = null; + if (report.ShowPrintDialog(out printerSettings)) + { + report.PrintPrepared(printerSettings); + } + } + + + + + + Occurs when calc execution is started. + + + + + Occurs when report is inherited and trying to load a base report. + + + Typical use of this event is to load the base report from a database instead of a file. + + + + + Occurs when report execution is started. + + + + + Occurs when report execution is finished. + + + + + Gets the pages contained in this report. + + + This property contains pages of all types (report and dialog). Use the is/as operators + if you want to work with pages of ReportPage type. + + The following code demonstrates how to access the first report page: + + ReportPage page1 = report1.Pages[0] as ReportPage; + + + + + + Gets the report's data. + + + The dictionary contains all data items such as connections, data sources, parameters, + system variables. + + + + + Gets the collection of report parameters. + + + Parameters are displayed in the "Data" window under the "Parameters" node. + Typical use of parameters is to pass some static data from the application to the report. + You can print such data, use it in the data row filter, script etc. + Another way to use parameters is to define some reusable piece of code, for example, + to define an expression that will return the concatenation of first and second employee name. + In this case, you set the parameter's Expression property to something like this: + [Employees.FirstName] + " " + [Employees.LastName]. Now this parameter may be used in the report + to print full employee name. Each time you access such parameter, it will calculate the expression + and return its value. + You can create nested parameters. To do this, add the new Parameter to the + Parameters collection of the root parameter. To access the nested parameter, you may use the + method. + To get or set the parameter's value, use the and + methods. To set the parameter's expression, use the + method that returns a Parameter object and set its + Expression property. + + + + + Gets or sets the report information such as report name, author, description etc. + + + + + Gets or sets the base report file name. + + + This property contains the name of a report file this report is inherited from. + Note: setting this property to non-empty value will clear the report and + load the base file into it. + + + + + Gets or sets the name of a file the report was loaded from. + + + This property is used to support the FastReport.Net infrastructure; + typically you don't need to use it. + + + + + Gets or sets the report script. + + + The script contains the ReportScript class that contains all report objects' + event handlers and own items such as private fields, properties, methods etc. The script + contains only items written by you. Unlike other report generators, the script does not + contain report objects declarations, initialization code. It is added automatically when + you run the report. + By default this property contains an empty script text. You may see it in the designer + when you switch to the Code window. + If you set this property programmatically, you have to declare the FastReport + namespace and the ReportScript class in it. Do not declare report items (such as bands, + objects, etc) in the ReportScript class: the report engine does this automatically when + you run the report. + Security note: since the report script is compiled into .NET assembly, it allows + you to do ANYTHING. For example, you may create a script that will read/write files from/to a disk. + To restrict such operations, use the property. + + + + + Gets or sets the script language of this report. + + + Note: changing this property will reset the report script to default empty script. + + + + + Gets or sets a value indicating whether the null DB value must be converted to zero, false or + empty string depending on the data column type. + + + This property is true by default. If you set it to false, you should check + the DB value before you do something with it (for example, typecast it to any type, use it + in a expression etc.) + + + + + Gets or sets a value that specifies whether the report engine should perform the second pass. + + + Typically the second pass is necessary to print the number of total pages. It also + may be used to perform some calculations on the first pass and print its results on the + second pass. + Use the Engine.FirstPass, Engine.FinalPass properties to determine which + pass the engine is performing now. + + + + + Gets or sets a value that specifies whether to compress the report file. + + + The report file is compressed using the Gzip algorithm. So you can open the + compressed report in any zip-compatible archiver. + + + + + Gets or sets a value that specifies whether to use the file cache rather than memory + to store the prepared report pages. + + + + + Gets or sets a value that specifies the quality of text rendering. + + + Note: the default property value is TextQuality.Default. That means the report + may look different depending on OS settings. This property does not affect the printout. + + + + + Gets or sets a value that specifies if the graphic objects such as bitmaps + and shapes should be displayed smoothly. + + + + + Gets or sets the report password. + + + When you try to load the password-protected report, you will be asked + for a password. You also may specify the password in this property before loading + the report. In this case the report will load silently. + Password-protected report file is crypted using Rijndael algorithm. + Do not forget your password! It will be hard or even impossible to open + the protected file in this case. + + + + + Gets or sets a value indicating whether it is necessary to automatically fill + DataSet registered with RegisterData call. + + + If this property is true (by default), FastReport will automatically fill + the DataSet with data when you trying to run a report. Set it to false if + you want to fill the DataSet by yourself. + + + + + Gets or sets the maximum number of generated pages in a prepared report. + + + Use this property to limit the number of pages in a prepared report. + + + + + Gets or sets the collection of styles used in this report. + + + + + Gets or sets an array of assembly names that will be used to compile the report script. + + + By default this property contains the following assemblies: "System.dll", "System.Drawing.dll", + "System.Windows.Forms.dll", "System.Data.dll", "System.Xml.dll". If your script uses some types + from another assemblies, you have to add them to this property. + + + + + Gets or sets a script event name that will be fired when the report starts. + + + + + Gets or sets a script event name that will be fired when the report is finished. + + + + + Gets a value indicating that report execution was aborted. + + + + + Gets or sets a value that determines whether to store the report in the application resources. + Use this property in the MS Visual Studio IDE only. + + + By default this property is true. When set to false, you should store your report + in a file. + + + + + Gets or sets the resource string that contains the report. + + + This property is used by the MS Visual Studio to store the report. Do not use it directly. + + + + + Gets a value indicating that this report contains dialog forms. + + + + + Gets or sets a set of permissions that will be restricted for the script code. + + + Since the report script is compiled into .NET assembly, it allows you to do ANYTHING. + For example, you may create a script that will read/write files from/to a disk. This property + is used to restrict such operations. + This example shows how to restrict the file IO operations in a script: + + using System.Security; + using System.Security.Permissions; + ... + PermissionSet ps = new PermissionSet(PermissionState.None); + ps.AddPermission(new FileIOPermission(PermissionState.Unrestricted)); + report1.ScriptRestrictions = ps; + report1.Prepare(); + + + + + + + Gets a reference to the graphics cache for this report. + + + This property is used to support the FastReport.Net infrastructure. Do not use it directly. + + + + + Gets a pages of the prepared report. + + + + + Gets a reference to the report engine. + + + This property can be used when report is running. In other cases it returns null. + + + + + Gets or sets the initial page number for PageN/PageNofM system variables. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + Gets the report operation that is currently performed. + + + + + Gets or sets the flag for refresh. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes the report's fields. + + + This method is for internal use only. + + + + + Generates the file (.cs or .vb) that contains the report source code. + + Name of the file. + + Use this method to generate the report source code. This code can be attached to your project. + In this case, you will need to call the following code to run a report: + + SimpleListReport report = new SimpleListReport(); + report.RegisterData(your_dataset); + report.Show(); + + + + + + Calculates an expression and returns the result. + + The expression to calculate. + If report is running, returns the result of calculation. + Otherwise returns null. + + The expression may be any valid expression such as "1 + 2". The expression + is calculated in the report script's ReportScript class instance context, + so you may refer to any objects available in this context: private fields, + methods, report objects. + + + + + Calculates an expression and returns the result. + + The expression to calculate. + The value of currently printing object. + If report is running, returns the result of calculation. + Otherwise returns null. + + Do not call this method directly. Use the Calc(string expression) method instead. + + + + + Returns an expression value. + + The expression. + The value of currently printing object. + Returns the result of calculation. + + This method is for internal use only, do not call it directly. + + + + + Invokes the script event handler with given name. + + The name of the script method. + The method parameters. + + + + Gets the data column's value. Automatically converts null value to 0, false or "" + depending on the column type. + + The name of the data column including the datasource name. + If report is running, returns the column value. Otherwise returns null. + + The return value of this method does not depend on the property. + + + + string employeeName = (string)report.GetColumnValue("Employees.FirstName"); + + + + + + Gets the data column's value. This method does not convert null values. + + The name of the data column including the datasource name. + If report is running, returns the column value. + Otherwise returns null. + + + + Gets the report parameter with given name. + + The name of the parameter. + The object if found, otherwise null. + + To find nested parameter, use the "." separator: "MainParameter.NestedParameter" + + + + + Gets a value of the parameter with given name. + + The name of the parameter. + The parameter's value if found, otherwise null. + + To find nested parameter, use the "." separator: "MainParameter.NestedParameter" + + + + + Sets the parameter's value. + + The name of the parameter. + Value to set. + + Use this method to pass a value to the parameter that you've created in the "Data" window. + Such parameter may be used everythere in a report; for example, you can print its value + or use it in expressions. + You should call this method after the report was loaded and before you run it. + To access a nested parameter, use the "." separator: "MainParameter.NestedParameter" + + This method will create the parameter if it does not exist. + + + This example shows how to pass a value to the parameter with "MyParam" name: + + // load the report + report1.Load("report.frx"); + // setup the parameter + report1.SetParameterValue("MyParam", 10); + // show the report + report1.Show(); + + + + + + Gets a value of the system variable with specified name. + + Name of a variable. + The variable's value if found, otherwise null. + + + + Gets a value of the total with specified name. + + Name of total. + The total's value if found, otherwise 0. + This method converts null values to 0 if the property is set to true. + Use the method if you don't want the null conversion. + + + + + Gets a value of the total with specified name. + + Name of total. + The total's value if found, otherwise null. + + + + Gets the datasource with specified name. + + Alias name of a datasource. + The datasource object if found, otherwise null. + + + + + + + Aborts the report execution. + + + + + + + + + + + Updates the report component's styles. + + + Call this method if you change the collection. + + + + + Sets prepared pages. + + + + + + This method fires the StartReport event and the script code connected + to the StartReportEvent. + + + + + This method fires the FinishReport event and the script code connected + to the FinishReportEvent. + + + + + + + + + + + Saves the report to a stream. + + The stream to save to. + + + + Saves the report to a file. + + The name of the file to save to. + + + + Loads report from a stream. + + The stream to load from. + + When you try to load the password-protected report, you will be asked + for a password. You also may specify the password in the + property before loading the report. In this case the report will load silently. + + + + + Loads the report from a file. + + The name of the file to load from. + + When you try to load the password-protected report, you will be asked + for a password. You also may specify the password in the + property before loading the report. In this case the report will load silently. + + + + + Loads the report from a string. + + The string that contains a stream in UTF8 or Base64 encoding. + + + + Saves the report to a string. + + The string that contains a stream. + + + + Saves the report to a string using the Base64 encoding. + + The string that contains a stream. + + + + Creates the report instance and loads the report from a stream. + + The stream to load from. + The new report instance. + + + + Creates the report instance and loads the report from a file. + + The name of the file to load from. + The new report instance. + + + + Creates the report instance and loads the report from a string. + + The string that contains a stream in UTF8 encoding. + The new report instance. + + + + Registers the application dataset with all its tables and relations to use it in the report. + + The application data. + + If you register more than one dataset, use the method. + + + + report1.Load("report.frx"); + report1.RegisterData(dataSet1); + + + + + + Registers the application dataset with all its tables and relations to use it in the report and enables all its tables. + + The application data. + The boolean value indicating whether all tables should be enabled. + + If you register more than one dataset, use the method. + + + + report1.Load("report.frx"); + report1.RegisterData(dataSet1, true); + + + + + + Registers the application dataset with specified name. + + The application data. + The name of the data. + + Use this method if you register more than one dataset. You may specify any value + for the name parameter: it is not displayed anywhere in the designer and used only + to load/save a report. The name must be persistent and unique for each registered dataset. + + + + report1.Load("report.frx"); + report1.RegisterData(dataSet1, "NorthWind"); + + + + + + Registers the application dataset with specified name and enables all its tables. + + The application data. + The name of the data. + The boolean value indicating whether all tables should be enabled. + + Use this method if you register more than one dataset. You may specify any value + for the name parameter: it is not displayed anywhere in the designer and used only + to load/save a report. The name must be persistent and unique for each registered dataset. + + + + report1.Load("report.frx"); + report1.RegisterData(dataSet1, "NorthWind", true); + + + + + + Registers the application data table to use it in the report. + + The application data. + The name of the data. + + + report1.Load("report.frx"); + report1.RegisterData(dataSet1.Tables["Orders"], "Orders"); + + + + + + Registers the application data view to use it in the report. + + The application data. + The name of the data. + + + report1.Load("report.frx"); + report1.RegisterData(myDataView, "OrdersView"); + + + + + + Registers the application data relation to use it in the report. + + The application data. + The name of the data. + + You may specify any value for the name parameter: it is not displayed anywhere + in the designer and used only to load/save a report. The name must be persistent + and unique for each registered relation. + + + + report1.Load("report.frx"); + report1.RegisterData(myDataRelation, "myRelation"); + + + + + + Obsolete. Registers the application business object to use it in the report. + + Application data. + Name of the data. + Not used. + Maximum nesting level of business objects. + + This method is obsolete. Use the method instead. + + + + + Registers the application business object to use it in the report. + + Application data. + Name of the data. + + + report1.Load("report.frx"); + report1.RegisterData(myBusinessObject, "Customers"); + + + + + + Registers the application business object to use it in the report. + + Application data. + Name of the data. + Maximum nesting level of business objects. + + This method creates initial datasource with specified nesting level. It is useful if + you create a report in code. In most cases, you don't need to specify the nesting level + because it may be selected in the designer's "Choose Report Data" dialog. + + + + + Registers the application cube link to use it in the report. + + The application data. + The name of the data. + + + report1.Load("report.frx"); + report1.RegisterData(myCubeLink, "Orders"); + + + + + + Prepares the report. + + true if report was prepared succesfully. + + + + Prepares the report. + + Specifies whether the new report should be added to a + report that was prepared before. + true if report was prepared succesfully. + + Use this method to merge prepared reports. + + This example shows how to merge two reports and preview the result: + + Report report = new Report(); + report.Load("report1.frx"); + report.Prepare(); + report.Load("report2.frx"); + report.Prepare(true); + report.ShowPrepared(); + + + + + + For internal use only. + + + + + For internal use only. + + + + + Refresh the current report. + + + Call this method in the Click or MouseUp event handler of a report object to refresh + the currently previewed report. Report will be generated again, but without dialog forms. + + + + + Refresh prepared report after intercative actions. + + + + + Prepare page + + + + + + Exports a report. Report should be prepared using the method. + + The export filter. + Stream to save export result to. + + + + Exports a report. Report should be prepared using the method. + + The export filter. + File name to save export result to. + + + + Saves the prepared report. Report should be prepared using the method. + + File name to save to. + + + + Saves the prepared report. Report should be prepared using the method. + + Stream to save to. + + + + Loads the prepared report from a .fpx file. + + File name to load form. + + + + Loads the prepared report from a .fpx file. + + Stream to load from. + + + + Initializes a new instance of the class with default settings. + + + + + Ensure that static constructor is called. + + + + + Create name for all unnamed elements with prefix and start with number + + Prefix for name + Number from which to start + + + + Base class for all report objects. + + + + + This event occurs when the user moves the mouse over the object in the preview window. + + + + + This event occurs when the user releases the mouse button in the preview window. + + + + + This event occurs when the user clicks the mouse button in the preview window. + + + + + This event occurs when the mouse enters the object's bounds in the preview window. + + + + + This event occurs when the mouse leaves the object's bounds in the preview window. + + + + + Copies event handlers from another similar object. + + The object to copy handlers from. + + + + This method fires the MouseMove event and the script code connected to the MouseMoveEvent. + + Event data. + + + + This method fires the MouseUp event and the script code connected to the MouseUpEvent. + + Event data. + + + + This method fires the MouseDown event and the script code connected to the MouseDownEvent. + + Event data. + + + + This method fires the MouseEnter event and the script code connected to the MouseEnterEvent. + + Event data. + + + + This method fires the MouseLeave event and the script code connected to the MouseLeaveEvent. + + Event data. + + + + This method is fired when the user scrolls the mouse in the preview window. + + Event data. + + + + + + + + + + + + + + + + Assigns a format from another, similar object. + + Source object to assign a format from. + + + + + + + + + + Draws the object's markers. + + Draw event arguments. + + + + Draws the object's markers. + + Draw event arguments. + Marker style + + + + + + + + + + + + + This event occurs before the object is added to the preview pages. + + + + + This event occurs after the object was added to the preview pages. + + + + + This event occurs after the object was filled with data. + + + + + This event occurs when the user clicks the object in the preview window. + + + + + Gets or sets a value that determines if the object can be exported. + + + + + Gets or sets an object's border. + + + + + Gets or sets an object's fill. + + + The fill can be one of the following types: , , + , . + To set the solid fill color, use the simpler property. + + This example shows how to set the new fill and change its properties: + + textObject1.Fill = new SolidFill(Color.Green); + (textObject1.Fill as SolidFill).Color = Color.Red; + + + + + + Gets or sets the fill color in a simple manner. + + + This property can be used in a report script to change the fill color of the object. It is + equivalent to: reportComponent1.Fill = new SolidFill(color); + + + + + Gets or sets a bookmark expression. + + + This property can contain any valid expression that returns a bookmark name. This can be, for example, + a data column. To navigate to a bookmark, you have to use the property. + + + + + Gets or sets a hyperlink. + + + The hyperlink is used to define clickable objects in the preview. + When you click such object, you may navigate to the external url, the page number, + the bookmark defined by other report object, or display the external report. + Set the Kind property of the hyperlink to select appropriate behavior. + Usually you should set the Expression property of the hyperlink to + any valid expression that will be calculated when this object is about to print. + The value of an expression will be used for navigation. + If you want to navigate to + something fixed (URL or page number, for example) you also may set the Value + property instead of Expression. + + + + + Determines if the object can grow. + + + This property is applicable to the bands or text objects that can contain several text lines. + If the property is set to true, object will grow to display all the information that it contains. + + + + + Determines if the object can shrink. + + + This property is applicable to the bands or text objects that can contain several text lines. + If the property is set to true, object can shrink to remove the unused space. + + + + + Determines if the object must grow to the band's bottom side. + + + If the property is set to true, object grows to the bottom side of its parent. This is useful if + you have several objects on a band, and some of them can grow or shrink. + + + + + Gets or sets a shift mode of the object. + + + See enumeration for details. + + + + + Gets or sets the style name. + + + Style is a set of common properties such as border, fill, font, text color. The Report + has a set of styles in the property. + + + + + Gets or sets a style name that will be applied to even band rows. + + + Style with this name must exist in the collection. + + + + + Gets or sets a style name that will be applied to this object when the mouse pointer is over it. + + + Style with this name must exist in the collection. + + + + + Gets or sets a value that determines which properties of the even style to use. + + + Usually you will need only the Fill property of the even style to be applied. If you want to + apply all style settings, set this property to StylePriority.UseAll. + + + + + Gets or sets a value that determines where to print the object. + + + See the enumeration for details. + + + + + Gets or sets a script event name that will be fired before the object will be printed in the preview page. + + + + + Gets or sets a script event name that will be fired after the object was printed in the preview page. + + + + + Gets or sets a script event name that will be fired after the object was filled with data. + + + + + Gets or sets a script event name that will be fired when the user click the object in the preview window. + + + + + Determines if the object has custom border and use only Border.Width, Border.Style and + Border.Color properties. + + + This flag is used to disable some toolbar buttons when such object is selected. Applicable to the + ShapeObject and LineObject. + + + + + Determines if the object uses the Border. + + + This flag is used to disable some toolbar buttons when such object is selected. + + + + + Determines if the object uses the fill. + + + This flag is used to disable some toolbar buttons when such object is selected. + + + + + Gets or sets a value indicates that object should not be added to the preview. + + + + + Determines if serializing the Style property is needed. + + + The Style property must be serialized last. Some ancestor classes may turn off the standard Style + serialization and serialize it by themselves. + + + + + Determines if an object can provide the hyperlink value automatically. + + + This flag is used in complex objects such as Matrix or Chart. These objects can provide + a hyperlink value automatically, depending on where you click. + + + + + Gets an object's parent band. + + + + + Gets an object's parent data band. + + + + + Gets or sets an object's cursor shape. + + + This property is used in the preview mode. + + + + + Gets or sets a script event name that will be fired when the user + moves the mouse over the object in the preview window. + + + + + Gets or sets a script event name that will be fired when the user + releases the mouse button in the preview window. + + + + + Gets or sets a script event name that will be fired when the user + clicks the mouse button in the preview window. + + + + + Gets or sets a script event name that will be fired when the + mouse enters the object's bounds in the preview window. + + + + + Gets or sets a script event name that will be fired when the + mouse leaves the object's bounds in the preview window. + + + + + + + + Applies the style settings. + + Style to apply. + + + + Saves the current style. + + + + + Restores the current style. + + + + + Draws the object's background. + + Draw event arguments. + + + + + + + Determines if the object is visible on current drawing surface. + + Draw event arguments. + + + + + + + + + + + + + This method fires the Click event and the script code connected to the ClickEvent. + + Event data. + + + + + + + Checks if there are any listeners to the Click event. + + + + + Initializes the object before running a report. + + + This method is used by the report engine, do not call it directly. + + + + + Performs a finalization after the report is finished. + + + This method is used by the report engine, do not call it directly. + + + + + Saves the object's state before printing it. + + + This method is called by the report engine before processing the object. + Do not call it directly. You may override it if you are developing a new FastReport component. + In this method you should save any object properties that may be changed during the object printing. + The standard implementation saves the object's bounds, visibility, bookmark and hyperlink. + + + + + Restores the object's state after printing it. + + + This method is called by the report engine after processing the object. + Do not call it directly. You may override it if you are developing a new FastReport component. + In this method you should restore the object properties that were saved by the method. + + + + + Calculates the object's height. + + Actual object's height, in pixels. + + Applicable to objects that contain several text lines, such as TextObject. Returns the height needed + to display all the text lines. + + + + + Gets the data from a datasource that the object is connected to. + + + This method is called by the report engine before processing the object. + Do not call it directly. You may override it if you are developing a new FastReport component. + In this method you should get the data from a datasource that the object is connected to. + + + + + + + + This method fires the BeforePrint event and the script code connected to the BeforePrintEvent. + + Event data. + + + + This method fires the AfterPrint event and the script code connected to the AfterPrintEvent. + + Event data. + + + + This method fires the AfterData event and the script code connected to the AfterDataEvent. + + Event data. + + + + Initializes a new instance of the class with default settings. + + + + + Represents a report page. + + + To get/set a paper size and orientation, use the , + and properties. Note that paper size is measured in millimeters. + Report page can contain one or several bands with report objects. Use the , + , , , + , , properties + to get/set the page bands. The property holds the list of data bands or groups. + Thus you may add several databands to this property to create master-master reports, for example. + + Report page can contain bands only. You cannot place report objects such as TextObject on a page. + + + + This example shows how to create a page with one ReportTitleBand and DataBand bands and add + it to the report. + + ReportPage page = new ReportPage(); + // set the paper in millimeters + page.PaperWidth = 210; + page.PaperHeight = 297; + // create report title + page.ReportTitle = new ReportTitleBand(); + page.ReportTitle.Name = "ReportTitle1"; + page.ReportTitle.Height = Units.Millimeters * 10; + // create data band + DataBand data = new DataBand(); + data.Name = "Data1"; + data.Height = Units.Millimeters * 10; + // add data band to the page + page.Bands.Add(data); + // add page to the report + report.Pages.Add(page); + + + + + + Gets or sets the paper source for the first printed page. + + + + This property represents the paper source (printer tray) that will be used when printing + the first page. To set the source for other pages, use the property. + + + Note: This property uses the raw number of the paper source. + + + + + + Gets or sets the paper source for all printed pages except the first one. + + + + This property represents the paper source (printer tray) that will be used when printing + all pages except the first one. To set source for the first page, use + the property. + + + Note: This property uses the raw number of the paper source. + + + + + + Gets or sets the printer duplex mode that will be used when printing this page. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + Gets a value indicating that imperial units (inches, hundreths of inches) are used. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Invokes the object's editor. + + + + + This event occurs when the report engine starts this page. + + + + + This event occurs when the report engine finished this page. + + + + + This event occurs when the report engine is about to print databands in this page. + + + + + Gets or sets a width of the paper, in millimeters. + + + + + Gets or sets a height of the paper, in millimeters. + + + + + Gets or sets the raw index of a paper size. + + + This property stores the RawKind value of a selected papersize. It is used to distiguish + between several papers with the same size (for ex. "A3" and "A3 with no margins") used in some + printer drivers. + It is not obligatory to set this property. FastReport will select the + necessary paper using the PaperWidth and PaperHeight values. + + + + + Gets or sets a value indicating whether the page has unlimited height. + + + + + Gets or sets the value indicating whether the unlimited page should be printed on roll paper. + + + + + Gets or sets a value indicating whether the page has unlimited width. + + + + + Get or set the current height of unlimited page. + + + + + Get or set the current width of unlimited page. + + + + + Gets the current page height in pixels. + + + + + Gets the current page width in pixels. + + + + + Gets or sets a value indicating that page should be in landscape orientation. + + + When you change this property, it will automatically swap paper width and height, as well as paper margins. + + + + + Gets or sets the left page margin, in millimeters. + + + + + Gets or sets the top page margin, in millimeters. + + + + + Gets or sets the right page margin, in millimeters. + + + + + Gets or sets the bottom page margin, in millimeters. + + + + + Gets or sets a value indicating that even pages should swap its left and right margins when + previewed or printed. + + + + + Gets the page columns settings. + + + + + Gets or sets the page border that will be printed inside the page printing area. + + + + + Gets or sets the page background fill. + + + + + Gets or sets the page watermark. + + + To enabled watermark, set its Enabled property to true. + + + + + Gets or sets a value indicating that ReportTitle band should be printed before the + PageHeader band. + + + + + Gets or sets an outline expression. + + + For more information, see property. + + + + + Gets or sets a value indicating whether to start to print this page on a free space of the previous page. + + + This property can be used if you have two or more pages in the report template. + + + + + Gets or sets a value indicating that FastReport engine must reset page numbers before printing this page. + + + This property can be used if you have two or more pages in the report template. + + + + + Gets or sets a value indicating whether the page has extra width in the report designer. + + + This property may be useful if you work with such objects as Matrix and Table. + + + + + Gets or sets a value indicating whether this page will start on an odd page only. + + + This property is useful to print booklet-type reports. Setting this property to true + means that this page will start to print on an odd page only. If necessary, an empty page + will be added to the prepared report before this page will be printed. + + + + + Uses this page as a back page for previously printed pages. + + + + + Gets or sets a report title band. + + + + + Gets or sets a report summary band. + + + + + Gets or sets a page header band. + + + + + Gets or sets a page footer band. + + + + + Gets or sets a column header band. + + + + + Gets or sets a column footer band. + + + + + Gets or sets an overlay band. + + + + + Gets the collection of data bands or group header bands. + + + The Bands property holds the list of data bands or group headers. + Thus you may add several databands to this property to create master-master reports, for example. + + + + + Gets or sets the page guidelines. + + + This property hold all vertical guidelines. The horizontal guidelines are owned by the bands (see + property). + + + + + Gets or sets the reference to a parent SubreportObject that owns this page. + + + This property is null for regular report pages. See the for details. + + + + + Gets or sets a script event name that will be fired when the report engine starts this page. + + + + + Gets or sets a script event name that will be fired when the report engine finished this page. + + + + + Gets or sets a script event name that will be fired when the report engine is about + to print databands in this page. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This method fires the StartPage event and the script code connected to the StartPageEvent. + + + + + This method fires the FinishPage event and the script code connected to the FinishPageEvent. + + + + + This method fires the ManualBuild event and the script code connected to the ManualBuildEvent. + + + + + Initializes a new instance of the class with default settings. + + + + + This class contains settings that will be applied to the Report component. + + + + + Occurs before displaying a progress window. + + + + + Occurs after closing a progress window. + + + + + Occurs after printing a report. + + + + + Occurs when progress state is changed. + + + + + Gets or sets a value that determines whether to show the progress window + when perform time-consuming operations such as run, print, export. + + + + + Gets or sets a value that determines whether to show the information about + the report performance (report generation time, memory consumed) in the + lower right corner of the preview window. + + + + + Occurs when database connection is about to open. + + Use this event to provide own connection string or user name/password to the connection + object that is about to open. + To provide own connection string, set the e.ConnectionString property. + In this case the new connection string will be used. + To provide own user name/password, set the e.UserName and e.Password properties. + You may ask these values in own login dialog. + This example shows how to provide username/password using own login dialog. + + private void report1_DatabaseLogin(object sender, DatabaseLoginEventArgs e) + { + using (MyLoginDialog dialog = new MyLoginDialog()) + { + if (dialog.ShowDialog() == DialogResult.OK) + { + e.UserName = dialog.UserName; + e.Password = dialog.Password; + } + } + } + + This example shows how to provide own connection string. + + private void report1_DatabaseLogin(object sender, DatabaseLoginEventArgs e) + { + e.ConnectionString = my_connection_string; + } + + + + + + Occurs after the database connection is established. + + + + + Occurs when discovering the business object's structure. + + + + + Occurs when determining the kind of business object's property. + + + + + Occurs when discovering the structure of business object of ICustomTypeDescriptor type + with no instance specified. + + + The event handler must return an instance of that type. + + + + + Gets or sets the default script language. + + + + + Gets or sets the default paper size used when creating a new report. + + + + + Gets or sets a value indicating that the business object engine will use property values + when possible to discover the BO structure. + + + + + Gets or sets the default path for root of PictureObject.ImageLocation path. + + + + + Initializes a new instance of the class. + + + + + Represents the base class for the report style or the highlight condition. + + + + + Gets or sets a value determines that the border must be applied. + + + + + Gets or sets a value determines that the fill must be applied. + + + + + Gets or sets a value determines that the font must be applied. + + + + + Gets or sets a value determines that the text fill must be applied. + + + + + Gets or sets a border. + + + + + Gets or sets a fill. + + + + + Gets or sets a font. + + + + + Gets or sets a text fill. + + + + + Initializes a new instance of the class with default settings. + + + + + Assigns values from another source. + + Source to assign from. + + + + Deserializes the style. + + Reader object. + + This method is for internal use only. + + + + + Serializes the style. + + Writer object. + + This method is for internal use only. + + + + + SVG object + + + + + + + + + + + Invokes the object's editor. + + true if object was edited succesfully. + + + + Gets or sets svg document + + + + + Gets or sets ViewBox value + + + + + Gets or sets AspectRatio value + + + + + + + + Gets or sets grayscale svg document + + + + + Gets or sets a value indicating that the image should be displayed in grayscale mode. + + + + + Returns SVG string + + + + + + + + + + + + + + + + + + + + + + + Returns clone of this object + + + + + + Sets svg object by SvgDocument + + SVG document + + + + Sets svg object from specified path + + path to SVG file + + + + Sets svg object from svg string + + SVG string + + + + Initializes a new instance of the class with default settings. + + + + + Represents a table row. + + + Use the property to set the height of a row. If + property is true, the row will calculate its height automatically. + You can also set the and properties + to restrict the row's height. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + + + + + + + Gets or sets a height of the row, in pixels. + + + The row height cannot exceed the range defined by the + and properties. + To convert between pixels and report units, use the constants defined + in the class. + + + + + Gets or sets the minimal height for this row, in pixels. + + + + + Gets or sets the maximal height for this row, in pixels. + + + + + Gets or sets a value determines if the row should calculate its height automatically. + + + The row height cannot exceed the range defined by the + and properties. + + + + + Gets the index of this row. + + + + + + + + Gets or sets the cell with specified index. + + Column index. + The TableCell object. + + + + Gets or sets the page break flag for this row. + + + + + Gets or sets the number of rows to keep on the same page. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Represents a table object that consists of several rows and columns. + + + To add/remove columns, use the collection. To add/remove + rows, use the collection. To initialize a table with specified number of + columns and rows, use and properties. + To print a table in code, use the event. In the manual build + mode, you can use aggregate functions. The following functions available: + + + Aggregate function + Description + + + Sum(cell) + Calculates the sum of values in specified table cell. + + + Min(cell) + Calculates the minimum of values in specified table cell. + + + Max(cell) + Calculates the maximum of values in specified table cell. + + + Avg(cell) + Calculates the average of values in specified table cell. + + + Count(cell) + Calculates the number of repeats of a specified table cell. + + + To print aggregate value, place the aggregate function call in the table cell: + [Count(Cell2)]. + + + + + + + + + + + + + + Allows to print table rows/columns dynamically. + + + This event is used to handle the table print process in a code. Using special methods + like , you can print specified rows/columns. + + First way is to repeat specified row(s) to get a table that will grow downwards. + To do this, you have to call the PrintRow method followed by the PrintColumns method. + + Another way is to repeat the specified column(s) to get a table that grows sidewards. + To do this, call the PrintColumn method followed by the PrintRows method. + + Finally, the third way is to repeat rows and columns. The table will grow downwards and + sidewards. To do this, call the PrintRow method followed by the PrintColumn + method (or vice versa). + + + + When you print a table row-by-row, you must call one of the PrintColumn, + PrintColumns methods right after the PrintRow method. + In the same manner, when you print a table column-by-column, call one of the + PrintRow, PrintRows methods right after the PrintColumn method. + If you ignore this rule you will get an exception. + + + + In this example, we will consider all three ways to print a table which has 3 rows and 3 columns. + Case 1: print a table downwards. + + // print table header (the first row) + Table1.PrintRow(0); + Table1.PrintColumns(); + // print table body (the second row) + for (int i = 0; i < 10; i++) + { + Table1.PrintRow(1); + Table1.PrintColumns(); + } + // print table footer (the third row) + Table1.PrintRow(2); + Table1.PrintColumns(); + + + Case 2: print a table sidewards. + + // print table header (the first column) + Table1.PrintColumn(0); + Table1.PrintRows(); + // print table body (the second column) + for (int i = 0; i < 10; i++) + { + Table1.PrintColumn(1); + Table1.PrintRows(); + } + // print table footer (the third column) + Table1.PrintColumn(2); + Table1.PrintRows(); + + + Case 3: print a table downwards and sidewards. + + // print the first row with all its columns + Table1.PrintRow(0); + // print header column + Table1.PrintColumn(0); + // print 10 data columns + for (int i = 0; i < 10; i++) + { + Table1.PrintColumn(1); + } + // print footer column + Table1.PrintColumn(2); + + // print table body (the second row) + for (int i = 0; i < 10; i++) + { + // print data row with all its columns + Table1.PrintRow(1); + Table1.PrintColumn(0); + for (int j = 0; j < 10; j++) + { + Table1.PrintColumn(1); + } + Table1.PrintColumn(2); + } + + // print table footer (the third row) + Table1.PrintRow(2); + // again print all columns in the table footer + Table1.PrintColumn(0); + for (int i = 0; i < 10; i++) + { + Table1.PrintColumn(1); + } + Table1.PrintColumn(2); + + + + + + Gets or sets a script method name that will be used to handle the + event. + + + If you use this event, you must handle the table print process manually. + See the event for details. + + + + + Determines whether to manage cell spans automatically during manual build. + + + The default value for this property is true. If you set it to false, you need to manage + spans in your ManualBuild event handler. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This method fires the ManualBuild event and the script code connected to the ManualBuildEvent. + + Event data. + + + + Prints a row with specified index. + + Index of a row to print. + + See the event for more details. + + + + + Prints rows with specified indices. + + Indices of rows to print. + + See the event for more details. + + + + + Prints all rows. + + + See the event for more details. + + + + + Prints a column with specified index. + + Index of a column to print. + + See the event for more details. + + + + + Prints columns with specified indices. + + Indices of columns to print. + + See the event for more details. + + + + + Prints all columns. + + + See the event for more details. + + + + + Adds a page before rows or columns. + + + Call this method to insert a page break before the next row or column that you intend to print + using PrintRow(s) or PrintColumn(s) methods. + See the event for more details. + + + + + Initializes a new instance of the class. + + + + + Represents a table column. + + + Use the property to set the width of a column. If + property is true, the column will calculate its width automatically. + You can also set the and properties + to restrict the column's width. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + + + + + + + Gets or sets a width of the column, in pixels. + + + The column width cannot exceed the range defined by the + and properties. + To convert between pixels and report units, use the constants defined + in the class. + + + + + Gets or sets the minimal width for this column, in pixels. + + + + + Gets or sets the maximal width for this column, in pixels. + + + + + Gets or sets a value determines if the column should calculate its width automatically. + + + The column width cannot exceed the range defined by the + and properties. + + + + + Gets the index of this column. + + + + + + + + Gets or sets the page break flag for this column. + + + + + Gets or sets the number of columns to keep on the same page. + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Represents a table cell. + + + Use , properties to set the cell's + column and row spans. To put an object inside the cell, use its property: + + TableCell cell1; + PictureObject picture1 = new PictureObject(); + picture1.Bounds = new RectangleF(0, 0, 32, 32); + picture1.Name = "Picture1"; + cell1.Objects.Add(picture1); + + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets a collection of objects contained in this cell. + + + + + Gets or sets the column span for this cell. + + + + + Gets or sets the row span for this cell. + + + + + + + + Gets the address of this cell. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + + + + Gets the TableBase object which this cell belongs to. + + + + + + + + Creates the exact copy of this cell. + + The copy of this cell. + + + + Determines if two cells have identical settings. + + Cell to compare with. + true if cells are equal. + + + + + + + Changes the cell's style. + + The new style. + + Each cell in a dynamic table object (or in a matrix) has associated style. + Several cells may share one style. If you try to change the cell's appearance directly + (like setting cell.TextColor), it may affect other cells in the table. + To change the single cell, use this method. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + The base class for table-type controls such as and + . + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + This property is not relevant to this class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets a collection of table rows. + + + + + Gets a collection of table columns. + + + + + Gets or sets the number of fixed rows that will be repeated on each page. + + + + + Gets or sets the number of fixed columns that will be repeated on each page. + + + + + Gets or sets a value that determines whether is necessary to repeat table header on each page. + + + To define a table header, set the and + properties. + + + + + Gets or sets a value that determines whether is necessary to repeat table Row header on each page. + + + To define a table Row header, set the + properties. + + + + + Gets or sets a value that determines whether is necessary to repeat table Column header on each page. + + + To define a table Column header, set the + properties. + + + + + Gets or sets the table layout. + + + This property affects printing the big table that breaks across pages. + + + + + Gets or sets gap between parts of the table in wrapped layout mode. + + + This property is used if you set the property to Wrapped. + + + + + Gets or sets a value that determines whether to adjust the spanned cell's width when breaking the table across pages. + + + If set to true, the spanned cell's width will be adjusted to accomodate all contained text. + + + + + Gets or sets the table cell. + + Column index. + Row index. + The TableCell object that represents a cell. + + + + Gets or sets a number of columns in the table. + + + + + Gets or sets a number of rows in the table. + + + + + Gets a table which contains the result of rendering dynamic table. + + + Use this property to access the result of rendering your table in dynamic mode. + It may be useful if you want to center or right-align the result table on a page. + In this case, you need to add the following code at the end of your ManualBuild event handler: + + // right-align the table + Table1.ResultTable.Left = Engine.PageWidth - Table1.ResultTable.CalcWidth() - 1; + + + + + + + + + + + + + + + Gets data of the table cell with specified column and row numbers. + + The column number. + The row number. + TableCellData instance containing data of the table cell. + + + + Creates unique names for all table elements such as rows, columns, cells. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Calculates and returns the table width, in pixels. + + + + + + + + + + + Calculates a sum of values in a specified cell. + + The cell. + The object that contains calculated value. + + This method can be called from the ManualBuild event handler only. + + + + + Calculates a minimum of values in a specified cell. + + The cell. + The object that contains calculated value. + + This method can be called from the ManualBuild event handler only. + + + + + Calculates a maximum of values in a specified cell. + + The cell. + The object that contains calculated value. + + This method can be called from the ManualBuild event handler only. + + + + + Calculates an average of values in a specified cell. + + The cell. + The object that contains calculated value. + + This method can be called from the ManualBuild event handler only. + + + + + Calculates number of repeats of a specified cell. + + The cell. + The object that contains calculated value. + + This method can be called from the ManualBuild event handler only. + + + + + Initializes a new instance of the class. + + + + + Specifies the layout that will be used when printing a big table. + + + + + The table is printed across a pages then down. + + + + + The table is printed down then across a pages. + + + + + The table is wrapped. + + + + + Represents data of the table cell. + + + + + Gets or sets parent table of the cell. + + + + + Gets or sets objects collection of the cell. + + + + + Gets or sets text of the table cell. + + + + + Gets or sets value of the table cell. + + + + + Gets or sets hyperlink value of the table cell. + + + + + Gets or sets column span of the table cell. + + + + + Gets or sets row span of the table cell. + + + + + Gets or sets the address of the table cell. + + + + + Gets the table cell. + + + + + Gets style of table cell. + + + + + Gets original the table cell. + + + + + Gets width of the table cell. + + + + + Gets height of the table cell. + + + + + Initializes a new instance of the class. + + + + + Attaches the specified table cell. + + The table cell instance. + This method is called when we load the table. + + + + Assigns another instance. + + The table cell data that used as a source. + This method is called when we copy cells or clone columns/rows in a designer. + + + + Assigns another instance at run time. + + The table cell data that used as a source. + This flag shows should children be copied or not. + This method is called when we print a table. We should create a copy of the cell and set the style. + + + + Sets style of the table cell. + + The new style of the table cell. + + + + Disposes the instance. + + + + + Calculates width of the table cell. + + The value of the table cell width. + + + + Calculates height of the table cell. + + The width of the table cell. + The value of the table cell height. + + + + Updates layout of the table cell. + + The width of the table cell. + The height of the table cell. + The new value of x coordinate. + The new value of y coordinate. + + + + Represents a collection of objects. + + + + + Gets a column with specified index. + + Index of a column. + The column with specified index. + + + + + + + + + + Represents a result table. + + + Do not use this class directly. It is used by the and + objects to render a result. + + + + + Occurs after calculation of table bounds. + + + You may use this event to change automatically calculated rows/column sizes. It may be useful + if you need to fit dynamically printed table on a page. + + + + + + + + + + + Creates a new instance of the class. + + + + + Represents a collection of objects. + + + + + Gets a row with specified index. + + Index of a row. + The row with specified index. + + + + + + + + + + Represents the Text object that may display one or several text lines. + + + Specify the object's text in the Text property. + Text may contain expressions and data items, for example: "Today is [Date]". When report + is running, all expressions are calculated and replaced with actual values, so the text + would be "Today is 01.01.2008". + The symbols used to find expressions in a text are set in the + Brackets property. You also may disable expressions + using the AllowExpressions property. + To format an expression value, use the property. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets or sets a paragraph format for a new html rendering type, not for others rendering + + + + + Gets or sets a value that determines if the text object should handle its width automatically. + + + + + Gets or sets a value that indicates whether the font size should shrink to + display the longest text line without word wrap. + + + To limit the minimum size, use the property. + + + + + Gets or sets the minimum size of font (or minimum width ratio) if the + mode is on. + + + This property determines the minimum font size (in case the property is set to + FontSize), or the minimum font width ratio (if AutoShrink is set to FontWidth). + The default value is 0, that means no limits. + + + + + Gets or sets the horizontal alignment of a text in the TextObject object. + + + + + Gets or sets the vertical alignment of a text in the TextObject object. + + + + + Gets or sets the text angle, in degrees. + + + + + Gets or sets a value that indicates whether the component should draw right-to-left for RTL languages. + + + + + Gets or sets a value that indicates if lines are automatically word-wrapped. + + + + + Gets or sets a value that determines if the text object will underline each text line. + + + + + Gets or sets the font settings for this object. + + + + + Gets or sets the fill color used to draw a text. + + + Default fill is . You may specify other fill types, for example: + + text1.TextFill = new HatchFill(Color.Black, Color.White, HatchStyle.Cross); + + Use the property to set the solid text color. + + + + + Gets or sets the text outline. + + + + + Gets or sets the text color in a simple manner. + + + This property can be used in a report script to change the text color of the object. It is + equivalent to: textObject1.TextFill = new SolidFill(color); + + + + + Gets or sets the string trimming options. + + + + + Gets or sets the width ratio of the font. + + + Default value is 1. To make a font wider, set a value grether than 1; to make a font narrower, + set a value less than 1. + + + + + Gets or sets the height of single text line, in pixels. + + + + + Gets or sets the offset of the first TAB symbol. + + + + + Gets or sets the width of TAB symbol, in pixels. + + + + + Gets or sets a value that indicates if text should be clipped inside the object's bounds. + + + + + Gets the collection of conditional highlight attributes. + + + Conditional highlight is used to change the visual appearance of the Text object + depending on some condition(s). For example, you may highlight negative values displayed by + the Text object with red color. To do this, add the highlight condition: + + TextObject text1; + HighlightCondition highlight = new HighlightCondition(); + highlight.Expression = "Value < 0"; + highlight.Fill = new SolidFill(Color.Red); + highlight.ApplyFill = true; + text1.Highlight.Add(highlight); + + + + + + Gets or sets a value that indicates if the text object should display its contents similar to the printout. + + + + + Forces justify for the last text line. + + + + + Allows handling html tags in the text. + + + The following html tags can be used in the object's text: <b>, <i>, <u>, + <strike>, <sub>, <sup>, </b>, </i>, </u>, + </strike>, </sub>, </sup>, + <font color=&...&>, </font>. Font size cannot + be changed due to limitations in the rendering engine. + + + + + Indicates handling html tags in the text. + + To set the value use the TextRenderer property. + + + + The type of text render + + /// + The following html tags can be used in the object's text: <b>, <i>, <u>, + <strike>, <sub>, <sup>, </b>, </i>, </u>, + </strike>, </sub>, </sup>, + <font color=&...&>, </font>. Font size cannot + be changed due to limitations in the rendering engine. + + + + + Gets or sets the paragraph offset, in pixels. For HtmlParagraph use ParagraphFormat.FirstLineIndent. + + + + + Cache for inline images + + + + + + + + + + + Draws a text. + + Paint event data. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Calculates the object's width. + + The width, in pixels. + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + + + + + + + Base class for text objects such as and . + + + This class implements common functionality of the text objects. + + + + + + + + + + + + + + Gets or sets a value indicating that the object's text may contain expressions. + + + + + Gets or sets the symbols that will be used to find expressions in the object's text. + + + The default property value is "[,]". As you can see, the open and close symbols are + separated by the comma. You may use another symbols, for example: "<,>" or "<%,%>". + You should use different open and close symbols. + + + + + Gets or sets the object's text. + + + Text may contain expressions and data items, for example: "Today is [Date]". + When report is running, all expressions are calculated and replaced with actual + values, so the text would be "Today is 01.01.2008". + + + + + Gets or sets padding within the text object. + + + + + Gets or sets a value indicating that zero values must be hidden. + + + + + Gets or sets a value that will be hidden. + + + Use this property to specify a value that you would like to hide. For example, specify "0" + if you want to hide zero values, or use property to do this. + You also may use this property to hide default DateTime values (such as 1/1/1900). + In this case you need to specify a string containing both date and time, for example: + "1/1/1900 0:00:00". + + FastReport uses the ToString conversion to compare the expression value with this property. + This conversion depends on regional settings selected in the Control Panel, so be aware of this + if you going to distribute your report worldwide. + + + + + + Gets or sets a string that will be displayed instead of a null value. + + + + + Gets or sets the formatter that will be used to format data in the Text object. + + + The default formatter does nothing, i.e. it shows expression values with no formatting. + To set another formatting, create a new formatter and assign it to this property. + If there are several expressions in the text, use the property + to format each expression value. + + This example shows how to set currency formatter. + + TextObject text1; + text1.Format = new CurrencyFormat(); + + + + + + Gets or sets a value that specifies how the report engine processes this text object. + + + Use this property to perform such task as "print a total value in the group header". Normally, + all total values are calculated in the footers (for example, in a group footer). If you try to print + a total value in the group header, you will get 0. If you set this property to + ProcessAt.DataFinished, FastReport will do the following: + + + print the object (with wrong value); + + + print all related data rows; + + + calculate the correct object's value and replace old (wrong) value with the new one. + + + + This option will not work if you set the to true. + + + + + + Gets the collection of formatters. + + + This property is used to set format for each expression contained in the text. + For example, if the TextObject contains two expressions: + Today is [Date]; Page [PageN] + you can use the following code to format these expressions separately: + + text1.Formats.Clear(); + text1.Formats.Add(new DateFormat()); + text1.Formats.Add(new NumberFormat()); + + + + + + Gets or sets a value that determines how to display duplicate values. + + + + + Gets a value of expression contained in the object's text. + + + + + Gets or sets editable for pdf export + + + + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Represents the "Blank Report" wizard. + + + + + + + + Represents the "Inherited Report" wizard. + + + + + + + + Represents the "Label" wizard. + + + + + Gets a selected label manufacturer. + + + + + Gets a selected label name. + + + + + Gets the XML item containing a selected label parameters. + + + + + + + + Initializes a new instance of the class with the default settings. + + + + + Represents the "New Data Source" wizard. + + + + + + + + Represents the "Standard Report" wizard. + + + + + + + + The base class for all report wizards. + + + To create own wizard, use this class as a base. All you need is to override + the method. To register a wizard, use the + method. + + + + + Runs the wizard. + + Report designer. + true if wizard was executed succesfully. + + This method is called when you select a wizard in the "Add New Item" window and + click "Add" button. You should do the work in this method. + + + + + Represents the "New Dialog" wizard. + + + + + + + + Represents the "New Page" wizard. + + + + + + + + Represents a zip code object. + + + This object is mainly used in Russia to print postal index on envelopes. It complies with the + GOST R 51506-99. + + + + + + + + + + + + + + + + + + + + Gets or sets the width of a single zipcode segment, in pixels. + + + + + Gets or sets the height of a single zipcode segment, in pixels. + + + + + Gets or sets the spacing between origins of segments, in pixels. + + + + + Gets or sets the number of segments in zipcode. + + + + + Gets or sets a value indicating whether the reference markers should be drawn. + + + Reference markers are used by postal service to automatically read the zipcode. + + + + + Gets or sets a value indicating whether the segment grid should be drawn. + + + + + Gets or sets a data column name bound to this control. + + + Value must be in the form "Datasource.Column". + + + + + Gets or sets an expression that contains the zip code. + + + + + Gets or sets the zip code. + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the with the default settings. + + + + + Represents a subreport object. + + + To create a subreport in code, you should create the report page first and + connect it to the subreport using the property. + + The following example shows how to create a subreport object in code. + + // create the main report page + ReportPage reportPage = new ReportPage(); + reportPage.Name = "Page1"; + report.Pages.Add(reportPage); + // create report title band + reportPage.ReportTitle = new ReportTitleBand(); + reportPage.ReportTitle.Name = "ReportTitle1"; + reportPage.ReportTitle.Height = Units.Millimeters * 10; + // add subreport on it + SubreportObject subreport = new SubreportObject(); + subreport.Name = "Subreport1"; + subreport.Bounds = new RectangleF(0, 0, Units.Millimeters * 25, Units.Millimeters * 5); + reportPage.ReportTitle.Objects.Add(subreport); + // create subreport page + ReportPage subreportPage = new ReportPage(); + subreportPage.Name = "SubreportPage1"; + report.Pages.Add(subreportPage); + // connect the subreport to the subreport page + subreport.ReportPage = subreportPage; + + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + + + + + + + + + + + + + + + + Gets or sets a report page that contains the subreport bands and objects. + + + + + Gets or sets a value indicating that subreport must print its objects on a parent band to which it belongs. + + + Default behavior of the subreport is to print subreport objects they own separate bands. + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Represents a shape object. + + + Use the property to specify a shape. To set the width, style and color of the + shape's border, use the Border.Width, Border.Style and Border.Color properties. + + + + + + + + + + + Gets or sets a shape kind. + + + + + Gets or sets a shape curvature if is RoundRectangle. + + + 0 value means automatic curvature. + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Represents a RichText object that can display formatted text. + + + Use the property to set the object's text. The text may include + the RTF formatting tags. + + + + + + + + + + + + + + Gets or sets the object's text. + + + This property returns the formatted text with rtf tags. + + + + + Gets or sets a name of the data column bound to this control. + + + Value must contain the datasource name, for example: "Datasource.Column". + + + + + Gets the actual text start. + + + This property is for internal use only; you should not use it in your code. + + + + + Gets the actual text length. + + + This property is for internal use only; you should not use it in your code. + + + + + Gets or sets the break style. + + + Set this property to true if you want editable rich text when you edit the prepared report page. + + + + + Experimental feature for translation of RichText into report objects + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Represents a report summary band. + + + + + This property is not relevant to this class. + + + + + + + + The style of the report object markers. + + + + + Rectangle marker. + + + + + Small markers at the object's corners. + + + + + Represents a poly line object. + + + Use the Border.Width, Border.Style and Border.Color properties to set + the line width, style and color. + + + + + + + + + + + Add point to end of polyline and recalculate bounds after add. + Can be first point. + Deprecated, use insert point + + local x - relative to left-top point + local y - relative to left-top point + + + + Add point to start of polyline and recalculate bounds after add + Can be first point + Deprecated, use insert point + + local x - relative to left-top point + local y - relative to left-top point + + + + + + + + + + Replace points with star + + Minimum value is 3 + + + + + + + + + + + + + + + + + + + Insert point to desired place of polyline + Recalculate bounds after insert + + Index of place from zero to count + local x - relative to left-top point + local y - relative to left-top point + + + + Insert point to near line + Recalculate bounds after insert + + local x - relative to left-top point + local y - relative to left-top point + depricated + Index of inserted point + + + + + + + + + + + + + + + + Delete point from polyline by index + Recalculate bounds after remove + + Index of point in polyline + + + + + + + Delete point from polyline by index. + Recalculate bounds. + + Index of point in polyline + + + + + + + + + + Returns best new point position based on mouse + + + + + + do not set this value, internal use only + + + + + Return points collection. + You can modify the collection for change this object. + + + + + Returns origin of coordinates relative to the top left corner + + + + + Returns origin of coordinates relative to the top left corner + + + + + Return points array of line + deprecated + + + + + Return point types array. 0 - Start of line, 1 - Keep on line + deprecated + + + + + Initializes a new instance of the class with default settings. + + + + + + + + + + + + + + Calculate GraphicsPath for draw to page + + Pen for lines + Left boundary + Top boundary + Right boundary + Bottom boundary + scale by width + scale by height + Always returns a non-empty path + + + + Recalculate position and size of element + + + + + + + + Add point to end of polyline, need to recalculate bounds after add + First point must have zero coordinate and zero type. + Recalculate bounds. + Method is slow do not use this. + + local x - relative to left-top point + local y - relative to left-top point + depreceted + + + + Delete point from polyline by index. + Recalculate bounds. + Method is slow do not use this. + + Index of point in polyline + + + + Draw polyline path to graphics + + Event arguments + + + + Insert point to desired place of polyline + recalculateBounds(); + Method is slow do not use this + + Index of place from zero to count + local x - relative to left-top point + local y - relative to left-top point + deprecated + + + + Represent a point for polygon object + + + + + Represents a polygon object. + + + Use the Border.Width, Border.Style and Border.Color properties to set + the line width, style and color. + + + + + + + + + Calculate GraphicsPath for draw to page + + Pen for lines + scale by width + scale by height + Always returns a non-empty path + + + + Draw polyline path to graphics + + Event arguments + + + + + + + Initializes a new instance of the class with default settings. + + + + + Represents a Picture object that can display pictures. + + + The Picture object can display the following kind of pictures: + + + picture that is embedded in the report file. Use the + property to do this; + + + picture that is stored in the database BLOb field. Use the + property to specify the name of data column you want to show; + + + picture that is stored in the local disk file. Use the + property to specify the name of the file; + + + picture that is stored in the Web. Use the + property to specify the picture's URL. + + + Use the property to specify a size mode. The + and properties can be used to restrict the image size if SizeMode + is set to AutoSize. + The property can be used to display an image with + transparent background. Use the property if you want to display + semi-transparent image. + + + + + + + + + + + Invokes the object's editor. + + true if object was edited succesfully. + + + + Gets or sets the image. + + + By default, image that you assign to this property is never disposed - you should + take care about it. If you want to dispose the image when this PictureObject is disposed, + set the property to true right after you assign an image: + + myPictureObject.Image = new Bitmap("file.bmp"); + myPictureObject.ShouldDisposeImage = true; + + + + + + Gets or sets a value indicating that the image should be displayed in grayscale mode. + + + + + Gets or sets a hash of grayscale svg image + + + + + Gets or sets the color of the image that will be treated as transparent. + + + + + Gets or sets the transparency of the PictureObject. + + + Valid range of values is 0..1. Default value is 0. + + + + + Gets or sets a value indicating that the image should be tiled. + + + + + Gets or sets a value indicating that the image stored in the + property should be disposed when this object is disposed. + + + By default, image assigned to the property is never disposed - you should + take care about it. If you want to dispose the image when this PictureObject is disposed, + set this property to true right after you assign an image to the property. + + + + + Gets or sets a bitmap transparent image + + + + + + + + + + + + + + + + + Draws the image. + + Paint event args. + + + + Sets image data to FImageData + + + + + + + + + + + + Loads image + + + + + Disposes image + + + + + + + + + + + + + + Forces loading the image from a data column. + + + Call this method in the AfterData event handler to force loading an image + into the property. Normally, the image is stored internally as byte[] array + and never loaded into the Image property, to save the time. The side effect is that you + can't analyze the image properties such as width and height. If you need this, call this method + before you access the Image property. Note that this will significantly slow down the report. + + + + + Initializes a new instance of the class with default settings. + + + + + Represents a line object. + + + Use the Border.Width, Border.Style and Border.Color properties to set + the line width, style and color. Set the property to true + if you want to show a diagonal line. + + + + + This property is not relevant to this class. + + + + + + + + + + + + + + + + + + + + + + + + + + Gets or sets a value indicating that the line is diagonal. + + + If this property is false, the line can be only horizontal or vertical. + + + + + Gets or sets the start cap settings. + + + + + Gets or sets the end cap settings. + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Represents the Text object that may display one or several text lines. + + + Specify the object's text in the Text property. + Text may contain expressions and data items, for example: "Today is [Date]". When report + is running, all expressions are calculated and replaced with actual values, so the text + would be "Today is 01.01.2008". + The symbols used to find expressions in a text are set in the + Brackets property. You also may disable expressions + using the AllowExpressions property. + To format an expression value, use the property. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets or sets a value that indicates whether the component should draw right-to-left for RTL languages. + + + + + + + + Draws a text. + + Paint event data. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Calculates the object's width. + + The width, in pixels. + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Base class for headers and footers which support the "Keep With Data" and "Repeat on Every Page" features. + + + + + + + + Gets or sets a value indicating that the band should be printed together with data band. + + + + + Gets or sets a value that determines whether to repeat this band on every page. + + + When band is repeated, its property is set to true. You can use + it to show any additional information on the band. To do this, + use the property which + can be set to "Rpeeated". In that case the object will be printed + only on the repeated band. + + + + + + + + + + + Represents a group header band. + + + A simple group consists of one GroupHeaderBand and the DataBand that is set + to the property. To create the nested groups, use the property. + + Only the last nested group can have data band. + + Use the property to set the group condition. The + property can be used to set the sort order for group's data rows. You can also use the Sort + property of the group's DataBand to specify additional sort. + + This example shows how to create nested groups. + + ReportPage page = report.Pages[0] as ReportPage; + + // create the main group + GroupHeaderBand mainGroup = new GroupHeaderBand(); + mainGroup.Height = Units.Millimeters * 10; + mainGroup.Name = "MainGroup"; + mainGroup.Condition = "[Orders.CustomerName]"; + // add a group to the page + page.Bands.Add(mainGroup); + + // create the nested group + GroupHeaderBand nestedGroup = new GroupHeaderBand(); + nestedGroup.Height = Units.Millimeters * 10; + nestedGroup.Name = "NestedGroup"; + nestedGroup.Condition = "[Orders.OrderDate]"; + // add it to the main group + mainGroup.NestedGroup = nestedGroup; + + // create a data band + DataBand dataBand = new DataBand(); + dataBand.Height = Units.Millimeters * 10; + dataBand.Name = "GroupData"; + dataBand.DataSource = report.GetDataSource("Orders"); + // connect the databand to the nested group + nestedGroup.Data = dataBand; + + + + + + + + + + + + + + + Gets or sets a nested group. + + + Use this property to create nested groups. + + Only the last nested group can have data band. + + + + This example demonstrates how to create a group with nested group. + + ReportPage page; + GroupHeaderBand group = new GroupHeaderBand(); + group.NestedGroup = new GroupHeaderBand(); + group.NestedGroup.Data = new DataBand(); + page.Bands.Add(group); + + + + + + Gets or sets the group data band. + + + Use this property to add a data band to a group. Note: only the last nested group can have Data band. + + + This example demonstrates how to add a data band to a group. + + ReportPage page; + GroupHeaderBand group = new GroupHeaderBand(); + group.Data = new DataBand(); + page.Bands.Add(group); + + + + + + Gets or sets a group footer. + + + + + Gets or sets a header band. + + + + + Gets or sets a footer band. + + + To access a group footer band, use the property. + + + + + Gets or sets the group condition. + + + This property can contain any valid expression. When running a report, this expression is calculated + for each data row. When the value of this condition is changed, FastReport starts a new group. + + + + + Gets or sets the sort order. + + + FastReport can sort data rows automatically using the value. + + + + + Gets or sets a value indicating that the group should be printed together on one page. + + + + + Gets or sets a value that determines whether to reset the page numbers when this group starts print. + + + Typically you should set the property to true as well. + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + This class represents the Data band. + + + Use the property to connect the band to a datasource. Set the + property if you want to filter data rows. The + property can be used to sort data rows. + + + + + + + + + + + + + + + + + Invokes column editor + + + + + Gets or sets a header band. + + + + + Gets a collection of detail bands. + + + + + Gets or sets a footer band. + + + + + Gets or sets a data source. + Please note: data source have to be enabled. + + + + + Gets or sets a number of rows in the virtual data source. + + + Use this property if your data band is not connected to any data source. In this case + the virtual data source with the specified number of rows will be used. + + + + + Limits the maximum number of rows in a datasource. 0 means no limit. + + + + + Gets or sets a relation used to establish a master-detail relationship between + this band and its parent. + + + Use this property if there are several relations exist between two data sources. + If there is only one relation (in most cases it is), you can leave this property empty. + + + + + Gets the collection of sort conditions. + + + + + Gets the row filter expression. + + + This property can contain any valid boolean expression. If the expression returns false, + the corresponding data row will not be printed. + + + + + Gets the band columns. + + + + + Gets or sets a value that determines whether to print a band if all its detail rows are empty. + + + + + Gets or sets a value that determines whether to print a band if its datasource is empty. + + + + + Gets or sets a value indicating that all band rows should be printed together on one page. + + + + + Gets or sets a value indicating that the band should be printed together with all its detail rows. + + + + + Gets or sets the key column that identifies the data row. + + + This property is used when printing a hierarchic list. + To print the hierarchic list, you have to setup three properties: IdColumn, + ParentIdColumn and Indent. First two properties are used to identify the data + row and its parent; the Indent property specifies the indent that will be used to shift + the databand according to its hierarchy level. + When printing hierarchy, FastReport shifts the band to the right + (by value specified in the property), and also decreases the + width of the band by the same value. You may use the Anchor property of the + objects on a band to indicate whether the object should move with the band, or stay + on its original position, or shrink. + + + + + Gets or sets the column that identifies the parent data row. + + + This property is used when printing a hierarchic list. See description of the + property for more details. + + + + + Gets or sets the indent that will be used to shift the databand according to its hierarchy level. + + + This property is used when printing a hierarchic list. See description of the + property for more details. + + + + + Gets or sets a value indicating that the databand should collect child data rows. + + + This property determines how the master-detail report is printed. Default behavior is: + MasterData row1 + -- DetailData row1 + -- DetailData row2 + -- DetailData row3 + MasterData row2 + -- DetailData row1 + -- DetailData row2 + When you set this property to true, the master databand will collect all child data rows + under a single master data row: + MasterData row1 + -- DetailData row1 + -- DetailData row2 + -- DetailData row3 + -- DetailData row4 + -- DetailData row5 + + + + + Gets or sets a value that determines whether to reset the page numbers when this band starts print. + + + Typically you should set the property to true as well. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes the data source connected to this band. + + + + + + + + Initializes a new instance of the class. + + + + + Specifies the shape of the CrossBandObject. + + + + + Specifies the vertical line shape. + + + + + Specifies the rectangle shape. + + + + + Represents an object that can be printed across several bands. + + + + + Gets or sets the object's shape. + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class with the default settings. + + + + + Contains the email settings such as recipient(s) address, name, subject, message body. + + + + + + + Gets or sets the recipient(s) email addresses. + + + This property contains one or several email addresses in the following form: "john@url.com". + + + + + Gets or sets the message subject. + + + + + Gets or sets the message body. + + + + + Copies email settings from another source. + + Source to copy settings from. + + + + Resets all settings to its default values. + + + + + Initializes a new instance of the class with default settings. + + + + + The DIGEST-MD5 SASL authentication mechanism. + + + + + The mechanism name. + + + + + Initializes a new instance of the class. + + The username. + The user's password. + + + + + + + The PLAIN SASL authentication mechanism. + + + + + The mechanism name. + + + + + Initializes a new instance of the class. + + The username. + The user's password. + + + + Computes the client response for server challenge. + + The challenge from server. Usually empty for PLAIN mechanism. + The response from client. + + + + The base abstarct class for all SASL mechanisms. + + + + + Gets or sets the name of mechanism. + + + + + Gets or sets the username. + + + + + Gets or sets the user's password. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with specified parameters. + + The username. + The user's password. + + + + Computes client response for server challenge. + + The server challenge. + The client response. + + + + Gets the base64-encoded client response fo the server challenge. + + The base64-string containing server challenge. + The base64-string containing client response. + + + + Gets the client response for the server challenge. + + Byte array containing server challenge. + Byte array containing client response. + + + + The base class for all messengers. + + + + + Gets the filename. + + + + + Gets or sets the proxy settings. + + + + + Initializes a new instance of the class. + + + + + Authorizes the user. + + True if user has been successfully authorized. + + + + Prepares the report before it will be send. + + The report template. + The export filter. + Memory stream that contains prepared report. + + + + Sends the report. + + The report template that should be sent. + The export filter that should export template before. + True if report has been successfully sent. + + + + Represents form of messenger. + + + + + Gets or sets the report template. + + + + + Gets or sets the list of exports. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The report template. + + + + Initializes the list of exports. + + + + + Gets the proxy settings. + + The proxy settings. + + + + Initializes the component. + + + + + Checks is the string numeric. + + The checking string. + True if string is numeric, otherwise false. + + + + Finishes the form work. + + Returns true if work has been successfully finished, otherwise false. + + + + + + + SelectedIndexChanged event handler for ComboBox File Type. + + Event sender. + Event args. + + + + Click event handler for Button Settings. + + Event sender. + Event args. + + + + FormClosing event handler for CloudStorageClientForm. + + Event sender. + Event args. + + + + Click event handler for button OK. + + Event sender. + Event args. + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Page File. + + + + + Page Proxy. + + + + + ComboBox File Type. + + + + + Label File Type. + + + + + Buttons Settings. + + + + + Label Colon. + + + + + Label Password. + + + + + Label Username. + + + + + Label Server. + + + + + TextBox Username. + + + + + TextBox Port. + + + + + TextBox Server. + + + + + TextBox Password. + + + + + PageControl pageControl1. + + + + + Represents proxy settings of the messenger. + + + + + Gets or sets the proxy server. + + + + + Gets or sets the port number of proxy server. + + + + + Gets or sets the username. + + + + + Gets or sets the user's password. + + + + + Gets or sets the type of proxy. + + + + + Initializes a new instance of the class. + + The proxy server. + The port number of server. + The username. + The user's password. + The type of proxy. + + + + Represents the type of rpoxy. + + + + + The HTTP proxy type. + + + + + The SOCKS4 proxy type. + + + + + The SOCKS5 proxy type. + + + + + Represents the IQ stanza. + + + + + Gets or sets the type of iq. + + + + + Initializes a new instance of the class with specified parameters. + + The namespace of the iq. + The type of iq. + The JID of the sender. + The JID of the recipient. + The ID of the iq. + The language of the iq. + The data of the iq. + + + + Initializes a new instance of the class using specified XmlElement instance. + + The XmlElement instance using like a data. + + + + Represents the XMPP message. + + + + + Gets or sets the type of message. + + + + + Initializes a new instance of the class with specified parameters. + + The namespace of the message. + The type of message. + The JID of the sender. + The JID of the recipient. + The ID of the message. + The language of the message. + The data of the message. + + + + Initializes a new instance of the class using specified XmlElement instance. + + The XmlElement instance using like a data. + + + + Represents the XMPP Presence. + + + + + Initializes a new instance of the class with specified parameters. + + The namespace of the presence. + The JID of the sender. + The JID of the recipient. + The ID of the presence. + The language of the presence. + The data of the presence. + + + + Initializes a new instance of the class using specified XmlElement instance. + + The XmlElement instance using like a data. + + + + Represents the base class for XML stanzas used in XMPP. + + + + + Gets the data of the stanza. + + + + + Gets or sets the JID of the sender. + + + + + Gets or sets the JID of the recipient. + + + + + Gets or sets the ID of the stanza. + + + + + Gets or sets the language of the stanza. + + + + + Initializes a new instance of the class with specified parameters. + + The namespace of the stanza. + The JID of the sender. + The JID of the recipient. + The ID of the stanza. + The language of the stanza. + The data of the stanza. + + + + Initializes a new instance of the class using specified XmlElement instance. + + The XmlElement instance using like a data. + + + + Converts stanza to string. + + String containing stanza value. + + + + The parser for XMPP XML-streams. + + + + + Initializes a new instance of the class. + + The stream for parsing. + True to leave the stream opened after closing the StreamReader instance. + + + + Read the XML stream up to opening "stream:stream" tag. + + + + + Reads the next XML element from the stream. + + The list of XML elements that are expected. + The XML element. + + + + Closes the stream parser. + + + + + Releases all resources used by the current instance of the class. + + + + + Represents a static class to simplify the work with XmlElement instance. + + + + + Creates a new XmlElement instance. + + The name of the element. + The namespace of the element. + A new instance of the class. + + + + Adds the specified child to the end of child nodes of element. + + The element for add the child to. + The child node to add. + A XmlElement instance. + + + + Adds the attribute to XmlElement with spefied name and value. + + The element for add the attribute to. + The name of attribute. + The value of attribute. + A XmlElement instance. + + + + Adds the specified text to the end of child nodes of element. + + The element for add the text to. + The text for add. + A XmlElement instance. + + + + Converts the XmlElement instance to a string. + + The element to convert to. + True if needed to include XML declaration. + True if needed to leave the tag of an empty element open. + The XmlElement instance as string. + + + + Represents the XMPP messenger. + + + + + Gets or sets the username. + + + + + Gets or sets the user's password. + + + + + Gets or sets the hostname of XMPP server. + + + + + Gets or sets the port number of the XMPP service of the server. + + + + + Gets or sets the username to send file to. + + + + + Gets or sets the JID to send from. + + + + + Gets or set the JID to send to. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with specified parameters. + + Username. + Password. + Hostname. + Port. + Username to send file to. + Send to user's resource. + + + + Initializes a new instance of the class with specified parameters. + + User's JID without resource. + User's password. + JID to send to with resource. + + + + Sends the specified string to the server. + + The string to send. + + + + Initiates the stream to the server. + + The hostname. + The features response of the server. + + + + Validates the server certificate. + + The sender object. + X509 certificate. + The X509 chain. + The SSL policy errors. + True if successfull. + + + + Secures the stream by TLS. + + The hostname. + The features response of the server. + + + + Selects the SASL authentication mechanism. + + List of mechanisms. + The string containing mechanism name. + + + + Authenticates the user on the server using Plain mechanism. + + + + + Authenticates the user on the server using Digest-MD5 mechanism. + + + + + Authenticates the user on the server. + + The SASL mechanisms list. + + + + Setups the connection with the server. + + + + + Binds resource and gets the full JID that will be associated with current session. + + The full session JID. + + + + Opens session between client and server. + + The id of the opened session. + + + + Connects to the server. + + + + + Sends the message. + + The text of the message. + True if message has been successfully sent. + + + + Sends the presence. + + The text of the presence. + True if presence has been successfully sent. + + + + Initiates the In Band Bytestream for sending the file (XEP-0047). + + True if bytestream has been successfully initiated. + + + + Sends the chunk to the XMPP server. + + The data of the chunk. + The number of the chunk. + + + + Sends the file using In Band Bytestream. + + The memory stream containing data of the file. + True if file has been successfully sent. + + + + Sends the file using FastReport Cloud as a proxy server. + + The report template. + The export filter to export report before sending. + True if file has been successfully sent. + + + + Disconnects from the server. + + + + + + + + + + + Closes the connection. + + + + + Releases all the resources used by the XMPP messenger. + + + + + Represents the form of the XMPP messenger. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with specified parameters. + + User's JID without resource. + User's password. + Send to user's JID. + Report template. + + + + + + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + This class contains some global settings that used in the FastReport.Net. + + + This component is intended for use in the Visual Studio IDE to quickly configure + FastReport global settings. To use it, drop the component on your Form and set up + its properties and events. + Here are some common actions that can be performed with this object: + + + To define own open/save dialogs that will be used in the report designer, + use the , , + , events; + + + + To pass connection string to the connection object defined in a report, + or to define own database login dialog, use the event; + + + + To adjust the connection object after it is opened, + use the event; + + + + To define own progress window, use the , + and events; + + + + To setup some common properties of the report, designer and preview, + use properties defined in this class; + + + + To set UI style of the designer and preview window, + use property. + + + + This component actually uses the static class which + contains , and + properties. You can use Config class as well. + + + + + Gets or sets the UI style of the designer and preview windows. + + + This property affects both designer and preview windows. + + + + + Indicates whether the Ribbon-style window should be used. + + + + + Occurs before displaying a progress window. + + + + + Occurs after closing a progress window. + + + + + Occurs when progress state is changed. + + + + + Occurs when database connection is about to open. + + Use this event to provide own connection string or user name/password to the connection + object that is about to open. + To provide own connection string, set the e.ConnectionString property. + In this case the new connection string will be used. + To provide own user name/password, set the e.UserName and e.Password properties. + You may ask these values in own login dialog. + This example shows how to provide username/password using own login dialog. + + private void report1_DatabaseLogin(object sender, DatabaseLoginEventArgs e) + { + using (MyLoginDialog dialog = new MyLoginDialog()) + { + if (dialog.ShowDialog() == DialogResult.OK) + { + e.UserName = dialog.UserName; + e.Password = dialog.Password; + } + } + } + + This example shows how to provide own connection string. + + private void report1_DatabaseLogin(object sender, DatabaseLoginEventArgs e) + { + e.ConnectionString = my_connection_string; + } + + + + + + Occurs after the database connection is established. + + + + + Occurs when discovering the business object's structure. + + + + + Occurs when determining the kind of business object's property. + + + + + Gets or sets the report settings. + + + + + Occurs when the designer is loaded. + + + Use this event if you want to customize some aspects of the designer, for example, + to hide some menu items. + + + This example demonstrates how to hide the "File|Select Language..." menu item. + + environmentSettings1.DesignerLoaded += new EventHandler(DesignerSettings_DesignerLoaded); + + void DesignerSettings_DesignerLoaded(object sender, EventArgs e) + { + (sender as DesignerControl).MainMenu.miFileSelectLanguage.Visible = false; + } + + + + + + Occurs when report is loaded in the designer. + + + Use this event handler to register application data in a report. + + + + + Occurs when object is inserted in the designer. + + + Use this event handler to set some object's properties when it is inserted. + + + + + Occurs when the report designer is about to show the "Open" dialog. + + Use this event to attach own "Open" dialog to the designer. In the event handler, you must + display a dialog window to allow user to choose a report file. + If dialog was executed successfully, you must return e.Cancel = false and set the + e.FileName to the selected file name. + You also need to use event to provide code that + will open the report. + + + This example shows how to attach own "Open" and "Save" dialogs to the designer. + It uses the following events: , , + , . + + private void CustomOpenDialog_Handler(object sender, OpenSaveDialogEventArgs e) + { + using (OpenFileDialog dialog = new OpenFileDialog()) + { + dialog.Filter = "Report files (*.frx)|*.frx"; + + // set e.Cancel to false if dialog was succesfully executed + e.Cancel = dialog.ShowDialog() != DialogResult.OK; + // set e.FileName to the selected file name + e.FileName = dialog.FileName; + } + } + + private void CustomSaveDialog_Handler(object sender, OpenSaveDialogEventArgs e) + { + using (SaveFileDialog dialog = new SaveFileDialog()) + { + dialog.Filter = "Report files (*.frx)|*.frx"; + // get default file name from e.FileName + dialog.FileName = e.FileName; + + // set e.Cancel to false if dialog was succesfully executed + e.Cancel = dialog.ShowDialog() != DialogResult.OK; + // set e.FileName to the selected file name + e.FileName = dialog.FileName; + } + } + + private void CustomOpenReport_Handler(object sender, OpenSaveReportEventArgs e) + { + // load the report from the given e.FileName + e.Report.Load(e.FileName); + } + + private void CustomSaveReport_Handler(object sender, OpenSaveReportEventArgs e) + { + // save the report to the given e.FileName + e.Report.Save(e.FileName); + } + + + + + + Occurs when the report designer is about to show the "Save" dialog. + + Use this event to attach own "Save" dialog to the designer. In the event handler, you must + display a dialog window to allow user to choose a report file. + If dialog was executed successfully, you must return e.Cancel = false and set the + e.FileName to the selected file name. + You also need to use event to provide code that + will save the report. + + + This example shows how to attach own "Open" and "Save" dialogs to the designer. + It uses the following events: , , + , . + + private void CustomOpenDialog_Handler(object sender, OpenSaveDialogEventArgs e) + { + using (OpenFileDialog dialog = new OpenFileDialog()) + { + dialog.Filter = "Report files (*.frx)|*.frx"; + + // set e.Cancel to false if dialog was succesfully executed + e.Cancel = dialog.ShowDialog() != DialogResult.OK; + // set e.FileName to the selected file name + e.FileName = dialog.FileName; + } + } + + private void CustomSaveDialog_Handler(object sender, OpenSaveDialogEventArgs e) + { + using (SaveFileDialog dialog = new SaveFileDialog()) + { + dialog.Filter = "Report files (*.frx)|*.frx"; + // get default file name from e.FileName + dialog.FileName = e.FileName; + + // set e.Cancel to false if dialog was succesfully executed + e.Cancel = dialog.ShowDialog() != DialogResult.OK; + // set e.FileName to the selected file name + e.FileName = dialog.FileName; + } + } + + private void CustomOpenReport_Handler(object sender, OpenSaveReportEventArgs e) + { + // load the report from the given e.FileName + e.Report.Load(e.FileName); + } + + private void CustomSaveReport_Handler(object sender, OpenSaveReportEventArgs e) + { + // save the report to the given e.FileName + e.Report.Save(e.FileName); + } + + + + + + Occurs when the report designer is about to load the report. + + This event is used together with the event. + Use this event to attach own "Open" dialog to the designer. In the event handler, you must + load the e.Report from the location specified in the e.FileName property. + For example, if you work with files: e.Report.Load(e.FileName); + + + This example shows how to attach own "Open" and "Save" dialogs to the designer. + It uses the following events: , , + , . + + private void CustomOpenDialog_Handler(object sender, OpenSaveDialogEventArgs e) + { + using (OpenFileDialog dialog = new OpenFileDialog()) + { + dialog.Filter = "Report files (*.frx)|*.frx"; + + // set e.Cancel to false if dialog was succesfully executed + e.Cancel = dialog.ShowDialog() != DialogResult.OK; + // set e.FileName to the selected file name + e.FileName = dialog.FileName; + } + } + + private void CustomSaveDialog_Handler(object sender, OpenSaveDialogEventArgs e) + { + using (SaveFileDialog dialog = new SaveFileDialog()) + { + dialog.Filter = "Report files (*.frx)|*.frx"; + // get default file name from e.FileName + dialog.FileName = e.FileName; + + // set e.Cancel to false if dialog was succesfully executed + e.Cancel = dialog.ShowDialog() != DialogResult.OK; + // set e.FileName to the selected file name + e.FileName = dialog.FileName; + } + } + + private void CustomOpenReport_Handler(object sender, OpenSaveReportEventArgs e) + { + // load the report from the given e.FileName + e.Report.Load(e.FileName); + } + + private void CustomSaveReport_Handler(object sender, OpenSaveReportEventArgs e) + { + // save the report to the given e.FileName + e.Report.Save(e.FileName); + } + + + + + + Occurs when the report designer is about to save the report. + + This event is used together with the event. + Use this event to attach own "Save" dialog to the designer. In the event handler, you must + save the e.Report to the location specified in the e.FileName property. + For example, if you work with files: e.Report.Save(e.FileName); + + + This example shows how to attach own "Open" and "Save" dialogs to the designer. + It uses the following events: , , + , . + + private void CustomOpenDialog_Handler(object sender, OpenSaveDialogEventArgs e) + { + using (OpenFileDialog dialog = new OpenFileDialog()) + { + dialog.Filter = "Report files (*.frx)|*.frx"; + + // set e.Cancel to false if dialog was succesfully executed + e.Cancel = dialog.ShowDialog() != DialogResult.OK; + // set e.FileName to the selected file name + e.FileName = dialog.FileName; + } + } + + private void CustomSaveDialog_Handler(object sender, OpenSaveDialogEventArgs e) + { + using (SaveFileDialog dialog = new SaveFileDialog()) + { + dialog.Filter = "Report files (*.frx)|*.frx"; + // get default file name from e.FileName + dialog.FileName = e.FileName; + + // set e.Cancel to false if dialog was succesfully executed + e.Cancel = dialog.ShowDialog() != DialogResult.OK; + // set e.FileName to the selected file name + e.FileName = dialog.FileName; + } + } + + private void CustomOpenReport_Handler(object sender, OpenSaveReportEventArgs e) + { + // load the report from the given e.FileName + e.Report.Load(e.FileName); + } + + private void CustomSaveReport_Handler(object sender, OpenSaveReportEventArgs e) + { + // save the report to the given e.FileName + e.Report.Save(e.FileName); + } + + + + + + Occurs when previewing a report from the designer. + + + Use this event to show own preview window. + + + + environmentSettings1.CustomPreviewReport += new EventHandler(MyPreviewHandler); + + private void MyPreviewHandler(object sender, EventArgs e) + { + Report report = sender as Report; + using (MyPreviewForm form = new MyPreviewForm()) + { + report.Preview = form.previewControl1; + report.ShowPreparedReport(); + form.ShowDialog(); + } + } + + + + + + Occurs when getting available table names from the connection. + + + Use this handler to filter the list of tables returned by the connection object. + + + This example demonstrates how to hide the table with "Table 1" name from the Data Wizard. + + environmentSettings1.FilterConnectionTables += DesignerSettings_FilterConnectionTables; + + private void DesignerSettings_FilterConnectionTables(object sender, FilterConnectionTablesEventArgs e) + { + if (e.TableName == "Table 1") + e.Skip = true; + } + + + + + + Gets or sets the designer settings. + + + + + Gets or sets the preview settings. + + + + + Gets or sets the email settings. + + + + + Specifies the set of buttons available in the preview. + + + + + No buttons visible. + + + + + The "Print" button is visible. + + + + + The "Open" button is visible. + + + + + The "Save" button is visible. + + + + + The "Email" button is visible. + + + + + The "Find" button is visible. + + + + + The zoom buttons are visible. + + + + + The "Outline" button is visible. + + + + + The "Page setup" button is visible. + + + + + The "Edit" button is visible. + + + + + The "Watermark" button is visible. + + + + + The page navigator buttons are visible. + + + + + The "Close" button is visible. + + + + + The "Design" button is visible. + + + + + The "Copy Page" button is visible. + + + + + The "Delete Page" button is visible. + + + + + All buttons are visible. + + + + + Specifies the set of export buttons available in the preview. + + + + + No exports visible. + + + + + The "Prepared" button is visible. + + + + + The "PDFExport" button is visible. + + + + + The "RTFExport" button is visible. + + + + + The "HTMLExport" button is visible. + + + + + The "MHTExport" button is visible. + + + + + The "XMLExport" export button is visible. + + + + + The "Excel2007Export" button is visible. + + + + + The "Excel2003Document" button is visible. + + + + + The "Word2007Export" button is visible. + + + + + The "PowerPoint2007Export" button is visible. + + + + + The "ODSExport" button is visible. + + + + + The "ODTExport" button is visible. + + + + + The "XPSExport" export button is visible. + + + + + The "CSVExport" button is visible. + + + + + The "DBFExport" button is visible. + + + + + The "TextExport" button is visible. + + + + + The "ZplExport" button is visible. + + + + + The "ImageExport" button is visible. + + + + + The "XAMLExport" button is visible. + + + + + The "SVGExport" button is visible. + + + + + The "PPMLExport" button is visible. + + + + + The "PSExport" button is visible. + + + + + The "JsonExport" button is visible. + + + + + The "LaTeXExport" button is visible. + + + + + The All export buttons is visible. + + + + + Specifies the set of export in clouds buttons available in the preview. + + + + + No exports in clouds visible. + + + + + The "Box" button is visible. + + + + + The "Dropbox" button is visible. + + + + + The "FastCloud" button is visible. + + + + + The "Ftp" button is visible. + + + + + The "GoogleDrive" button is visible. + + + + + The "SkyDrive" button is visible. + + + + + The "Xmpp" button is visible. + + + + + The All export in clouds buttons is visible. + + + + + Contains some settings of the preview window. + + + + + Occurs when the standard preview window opened. + + + You may use this event to change the standard preview window, for example, add an own button to it. + The sender parameter in this event is the PreviewControl. + + + + + Gets or sets a set of buttons that will be visible in the preview's toolbar. + + + Here is an example how you can disable the "Print" and "EMail" buttons: + Config.PreviewSettings.Buttons = PreviewButtons.Open | + PreviewButtons.Save | + PreviewButtons.Find | + PreviewButtons.Zoom | + PreviewButtons.Outline | + PreviewButtons.PageSetup | + PreviewButtons.Edit | + PreviewButtons.Watermark | + PreviewButtons.Navigator | + PreviewButtons.Close; + + + + + Specifies the set of exports that will be available in the preview's "save" menu. + + + + + Specifies the set of exports in clouds that will be available in the preview's "save" menu. + + + + + Gets or sets the number of prepared pages that can be stored in the memory cache during preview. + + + Decrease this value if your prepared report contains a lot of pictures. This will + save the RAM memory. + + + + + Gets or sets a value indicating whether the preview window is displayed in the Windows taskbar. + + + + + Gets or sets a value indicating whether the preview window should be displayed as a topmost form. + + + + + Gets or sets the icon for the preview window. + + + + + Gets or sets the text for the preview window. + + + If no text is set, the default text "Preview" will be used. + + + + + Gets or sets a value indicating whether the fast scrolling method should be used. + + + If you enable this property, the gradient background will be disabled. + + + + + Enables or disables the "Print to file" feature in the print dialog. + + + + + Gets or sets the initial directory that is displayed by a save file dialog. + + + + + Initializes a new instance of the PreviewSettings class with default settings. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + Looks up a localized resource of type System.Drawing.Bitmap. + + + + + The class introduces some menu items specific to the TextObjectBase. + + + + + The "Format" menu item. + + + + + The "Allow Expressions" menu item. + + + + + The "Hide Zeros" menu item. + + + + + Initializes a new instance of the TextObjectBaseMenu + class with default settings. + + The reference to a report designer. + + + + This class represents the context menu of the . + + + This class adds the "Can Break" menu item to the component context menu. + + + + + The "Can Break" menu item. + + + + + Initializes a new instance of the BreakableComponentMenu class with default settings. + + + + + Class represent a smart tag that is used to choose a data column. + + + + + Gets or sets the data column name. + + + + + + + + Gets a root datasource for the object currently edited. + + The DataSourceBase object if found; null otherwise. + + + + Initializes a new instance of the class with default settings. + + Report object that owns this smart tag. + + + + Represents a smart tag that is used to choose a data source. + + + + + Gets or sets a data source. + + + + + + + + Initializes a new instance of the class with default settings. + + Report object that owns this smart tag. + + + + Implements the object's editor. + + + + + Invokes the object's editor. + + true if object was succesfully edited. + + This method is called by FastReport when the object is doubleclicked in the designer. + + + + + Provides the "search" functionality in the preview and designer. + + + + + Finds the specified text inside the object. + + Text to find. + true to perform case-sensitive search. + true to find whole words only. + Array of character ranges that describes the occurences of text found; + null if text not found. + + + + Draws the highlight to show the text found. + + Draw event arguments. + Range of characters to highlight. + + + + The base class for smart tags. + + + + "Smart tag" is a little button that appears near the object's top-right corner when we are in the + designer and move the mouse over the object. When you click that button you will see a popup window + where you can set up some properties of the object. FastReport uses smart tags to quickly choose + the datasource (for a band) or data column (for objects). + + + Smart tag is internally a ContextMenuStrip. + + + + + + Gets the underlying context menu. + + + + + Gets the report object that invokes this smart tag. + + + + + Gets the report designer. + + + + + Called when the menu item is clicked. + + + Override this method to define a reaction on the menu item click. + + + + + Creates the smart tag menu items. + + + Override this method to create the smart tag menu. + + + + + Displays a smart tag at the specified screen location. + + + Do not call this method directly. It is called automatically when click on smart tag button. + + Screen location. + + + + Initializes a new instance of the class with default settings. + + Report object that owns this smart tag. + + + + Provides a type converter for a property representing a reference to another component in a report. + + + + + + + + + + + + + + + + + Provides a type converter for a property representing a value measured in the current report units. + + + + + + + + + + + + + + + + + Provides a type converter for a property representing an expandable object. + + + + + + + + + + + + + + + + + Provides a type converter for a property representing a data type. + + + + + + + + + + + + + + + + + The base class for the context menu of the report component. + + + This class represents a context menu of the report component that is displayed when the object + is right-clicked in the designer. This class implements the following actions: Edit, Cut, Copy, + Paste, Delete, Bring to Front, Send to Back. + + + + + The "Name" menu item. + + + + + The "Edit" menu item. + + + + + The "Cut" menu item. + + + + + The "Copy" menu item. + + + + + The "Paste" menu item. + + + + + The "Delete" menu item. + + + + + The "BringToFront" menu item. + + + + + The "SendToBack" menu item. + + + + + The reference to the report designer. + + + + + Gets a collection of menu items. + + + You should add new items to this collection. + + + + + This method is called to reflect changes in the designer. + + + + + Creates a new menu item. + + Item's text. + New item. + + + + Creates a new menu item. + + Item's text. + Click handler. + New item. + + + + Creates a new menu item. + + Item's image. + Item's text. + Click handler. + New item. + + + + Initializes a new instance of the ComponentBaseMenu class with default settings. + + The reference to a report designer. + + + + Specifies the report printing mode. + + + + + Specifies the default printing mode. One report page produces + one printed paper sheet of the same size. + + + + + Specifies the split mode. Big report page produces several smaller paper sheets. + Use this mode to print A3 report on A4 printer. + + + + + Specifies the scale mode. One or several report pages produce one bigger paper sheet. + Use this mode to print A5 report on A4 printer. + + + + + Specifies the number of report pages printed on one paper sheet. + + + + + Specifies one report page per sheet. + + + + + Specifies two report pages per sheet. + + + + + Specifies four report pages per sheet. + + + + + Specifies eight report pages per sheet. + + + + + Specifies the pages to print. + + + + + Print all report pages. + + + + + Print odd pages only. + + + + + Print even pages only. + + + + + This class contains the printer settings. + It is used in the property. + + + Typical use of this class is to setup a printer properties without using the "Print" + dialog. In this case, setup necessary properties and turn off the dialog via the + property. + + + + + Gets or sets the printer name. + + + + + Gets or sets a value indicating that the printer name should be saved in a report file. + + + If this property is set to true, the printer name will be saved in a report file. + Next time when you open the report, the printer will be automatically selected. + + + + + Gets or sets a value indicating that the printing output should be send + to a file instead of a printer. + + + Also set the property. + + + + + The name of a file to print the report to. + + + This property is used if property is true. + + + + + Gets or sets a value specifies the page range to print. + + + + + Gets or sets the page number(s) to print. + + + This property is used if property is set to PageNumbers. + You can specify the page numbers, separated by commas, or the page ranges. + For example: "1,3,5-12". + + + + + Gets or sets the number of copies to print. + + + + + Gets or sets a value indicating whether the printed document should be collated. + + + + + Gets or sets a value specifies the pages to print. + + + + + Gets or sets a value determines whether to print pages in reverse order. + + + + + Gets or sets the duplex mode. + + + + + Gets or sets the paper source. + + + This property corresponds to the RAW source number. Default value is 7 which + corresponds to DMBIN_AUTO. + + + + + Gets or sets the print mode. + + + See the enumeration for details. If you use + the mode other than Default, you must specify the sheet size in the + , properties. + + + + + Gets or sets the width of the paper sheet to print on. + + + This property is used if the property is not Default. + Specify the paper width in millimeters. + + + + + Gets or sets the height of the paper sheet to print on. + + + This property is used if the property is not Default. + Specify the paper height in millimeters. + + + + + Gets or sets the raw index of a paper size. + + + + + Gets or sets the number of pages per printed sheet. + + + This property is used if the property is set to Scale. + + + + + Gets or sets an array of printed copy names, such as "Original", "Copy", etc. + + + + + Specifies whether to display the "Print" dialog. + + + + + + + + Assigns values from another source. + + Source to assign from. + + + + Resets all settings to its default values. + + + + + Initializes a new instance of the class with default settings. + + + + + The class introduces some menu items specific + to the ReportComponentBase. + + + + + The "Can Grow" menu item. + + + + + The "Can Shrink" menu item. + + + + + The "Grow to Bottom" menu item. + + + + + The "Hyperlink" menu item. + + + + + The "Style" menu item. + + + + + Initializes a new instance of the ReportComponentBaseMenu + class with default settings. + + The reference to a report designer. + + + + Holds the list of objects currently selected in the designer. + + + This class is used by the "Alignment" toolbar. Use methods of this class to perform some + operations on the selected objects. + Note: after calling any method in this class, call the + Designer.SetModified method to reflect changes. + Note: this list contains only objects of type. If you want to access all + selected objects, use the property. + + + + + Gets the first selected object. + + + + + Gets the number of selected objects. + + + + + Aligns left edges of the selected objects. + + + + + Aligns right edges of the selected objects. + + + + + Aligns centers of the selected objects. + + + + + Aligns top edges of the selected objects. + + + + + Aligns bottom edges of the selected objects. + + + + + Aligns middles of the selected objects. + + + + + Makes the selected objects the same width as the first object. + + + + + Makes the selected objects the same height as the first object. + + + + + Makes the selected objects the same size as the first object. + + + + + Centers the selected objects horizontally. + + + + + Centers the selected objects vertically. + + + + + Aligns the selected objects to the grid. + + + + + Adjusts the size of selected objects to the grid. + + + + + Spaces the selected objects horizontally. + + + + + Increases horizontal spacing between the selected objects. + + + + + Decreases horizontal spacing between the selected objects. + + + + + Removes horizontal spacing between the selected objects. + + + + + Spaces the selected objects vertically. + + + + + Increases vertical spacing between the selected objects. + + + + + Decreases vertical spacing between the selected objects. + + + + + Removes vertical spacing between the selected objects. + + + + + Holds the list of objects currently selected in the designer. + + + This class is used by the "Border and Fill" toolbar. Use methods of this class to perform some + operations on the selected objects. + Note: after calling any method in this class, call the + Designer.SetModified method to reflect changes. + Note: this list contains only objects of type. + If you want to access all selected objects, use the property. + + + + + Gets the first selected object. + + + + + Gets the number of selected objects. + + + + + Gets a value indicating whether the operations are enabled. + + + + + Gets a value indicating whether the object with simple border is selected. + + + When the object has a simple border, you cannot change individual border lines. + Example of such an object is the "Shape" and "Line" objects. + + + + + Gets a value indicating whether the border operations are enabled. + + + + + Gets a value indicating whether the fill operations are enabled. + + + + + Sets the solid fill color for the selected objects. + + Fill color. + + + + Sets the fill for the selected objects. + + Fill. + + + + Sets the style for the selected objects. + + Style name. + + + + Sets the hyperlink for the selected objects. + + Hyperlink. + Indicates whether to modify the object's appearance. + Indicates whether it is necessary to change designer's modified state. + + + + Sets the CanGrow flag for the selected objects. + + Flag value. + + + + Sets the CanShrink flag for the selected objects. + + Flag value. + + + + Sets the GrowToBottom flag for the selected objects. + + Flag value. + + + + Toggles the specified border line for the selected objects. + + Border line. + Toggle value. + + + + Sets the border color for the selected objects. + + Border color. + + + + Sets the border width for the selected objects. + + Border width. + + + + Sets the border style for the selected objects. + + Border style. + + + + Sets the border for the selected objects. + + Border. + + + + Invokes the fill editor for the selected objects. + + true if editor was closed by the OK button. + + + + Invokes the border editor for the selected objects. + + true if editor was closed by the OK button. + + + + Invokes the hyperlink editor for the selected objects. + + true if editor was closed by the OK button. + + + + Holds the list of objects currently selected in the designer. + + + This class is used by the "Text" toolbar. Use methods of this class to perform some + operations on the selected objects. + Note: after calling any method in this class, call the + Designer.SetModified method to reflect changes. + Note: this list contains only objects of type. If you want to access all + selected objects, use the property. + + + + + Gets the first selected object. + + + + + Gets the number of selected objects. + + + + + Gets a value indicating whether the operations are enabled. + + + + + Sets the font name for the selected objects. + + Font name. + + + + Sets the font size for the selected objects. + + Font size. + + + + Toggles the specified font style for the selected objects. + + Font style. + Toggle value. + + + + Sets the horizontal text alignment for tthe selected objects. + + Alignment to set. + + + + Sets the vertical text alignment for tthe selected objects. + + Alignment to set. + + + + Sets the text color for the selected objects. + + Text color. + + + + Sets the angle for the selected objects. + + Angle to set. + + + + Sets the AutoWidth property value for the selected objects. + + Value to set. + + + + Sets the WordWrap property value for the selected objects. + + Value to set. + + + + Sets the highlight conditions for the selected objects. + + Highlight conditions. + + + + Clears the text of the selected objects. + + + + + Invokes the highlight editor for the selected objects. + + true if editor was closed with the OK button. + + + + The class introduces some menu items specific to the TextObject. + + + + + The "Clear" menu item. + + + + + The "Auto Width" menu item. + + + + + The "Word Wrap" menu item. + + + + + Initializes a new instance of the TextObjectMenu + class with default settings. + + The reference to a report designer. + + + + The class introduces some menu items specific to the TextObject. + + + + + Initializes a new instance of the TextObjectMenu + class with default settings. + + The reference to a report designer. + + + + Holds the list of selected objects of type. Used by the + . + + + + + Gets a value indicating that report page is selected. + + + + + Gets a value indicating that report is selected. + + + + + the base class for all picture objects + + + + + Draw an error image to Graphics g, when the image is designing + + + + + + + + + + + + + + + + + + + Invokes the object's editor. + + true if object was edited succesfully. + + + + Gets or sets the image rotation angle, in degrees. Possible values are 0, 90, 180, 270. + + + + + Gets or sets the data column name to get the image from. + + + + + Gets or sets a value indicating that the image should be displayed in grayscale mode. + + + + + + + + Gets or sets the path for the image to display in the PictureObject. + + + This property may contain the path to the image file as well as external URL. + + + + + Gets a value indicating that the image stored in the databases column + + + + + Gets a value indicating that the image stored in the separate file + + + + + Gets a value indicating that the image stored in the Web + + + + + Gets or sets the maximum height of a Picture object, in pixels. + + + Use this property to restrict the object size if the property + is set to AutoSize. + + + + + Gets or sets the maximum width of a Picture object, in pixels. + + + Use this property to restrict the object size if the property + is set to AutoSize. + + + + + Gets or sets padding within the PictureObject. + + + + + Gets or sets a value indicating whether the PictureObject should display + the error indicator if there is no image in it. + + + + + Gets or sets a value that specifies how an image is positioned within a PictureObject. + + + + + + + + Gets or sets the alignment of a image in the border. + + + + + Return base size of image, internal use only + + + + + Return base size of image, internal use only + + + + + + + + + + + Calculates URI from ImageLocation + + + + + + + + + gets points for transform this image + + the box where to draw image + image width + image height + scale horizontal + scale vertical + offset of left + offset of top + out start of vectors + out end of frist vector + out end of second vector + + + + Loads image + + + + + Moves the point on specified angle + + + + + + + + + + + + Rotates vector on specified angle + + + + + + + + + + + Draws not tiled image + + + + + + + + Reset index of image + + + + + When auto size was updated, internal use only + + + + + + + + The FastReport.dll assembly initializer. + + + + + Registers all core objects, wizards, export filters. + + + + + The FastReport.dll assembly initializer. + + + + + Registers all core objects, wizards, export filters. + + + + + Represents a collection of bands. + + + + + Gets or sets the element at the specified index. + + Index of an element. + The element at the specified index. + + + + Initializes a new instance of the class with default settings. + + + + + Initializes a new instance of the class with specified owner. + + Owner that owns this collection. + + + + The layout of the data band columns. + + + + + Print columns across then down. + + + + + Print columns down then across. + + + + + This class holds the band columns settings. It is used in the property. + + + + + Gets or sets the number of columns. + + + Set this property to 0 or 1 if you don't want to use columns. + + + + + The column width, in pixels. + + + + + Gets or sets the layout of the columns. + + + + + Gets or sets the minimum row count that must be printed. + + + This property is used if the Layout property is set to DownThenAcross. 0 means that + FastReport should calculate the optimal number of rows. + + + + + Assigns values from another source. + + Source to assign from. + + + + Initializes a new instance of the BandColumns class with default settings. + + + + + Specifies a set of actions that cannot be performed on the object in the design mode. + + + + + Specifies no restrictions. + + + + + Restricts moving the object. + + + + + Restricts resizing the object. + + + + + Restricts modifying the object's properties. + + + + + Restricts editing the object. + + + + + Restricts deleting the object. + + + + + Hides all properties of the object. + + + + + Specifies a set of actions that can be performed on the object in the design mode. + + + + + Specifies no actions. + + + + + Allows moving the object. + + + + + Allows resizing the object. + + + + + Allows deleting the object. + + + + + Allows editing the object. + + + + + Allows changing the Z-order of an object. + + + + + Allows moving the object to another parent. + + + + + Allows copying the object to the clipboard. + + + + + Allows drawing the object. + + + + + Allows grouping the object. + + + + + Allows write children in the preview mode by itself. + + + + + Allows write object's bounds into the report stream. + + + + + Allows the "smart tag" functionality. + + + + + Specifies that the object's name is global (this is true for all report objects + such as Text, Picture and so on). + + + + + Specifies that the object can display children in the designer's Report Tree window. + + + + + Specifies that the object supports mouse wheel in the preview window. + + + + + Specifies the style of a border line. + + + + + Specifies a solid line. + + + + + Specifies a line consisting of dashes. + + + + + Specifies a line consisting of dots. + + + + + Specifies a line consisting of a repeating pattern of dash-dot. + + + + + Specifies a line consisting of a repeating pattern of dash-dot-dot. + + + + + Specifies a double line. + + + + + Specifies the sides of a border. + + + + + Specifies no border lines. + + + + + Specifies the left border line. + + + + + Specifies the right border line. + + + + + Specifies the top border line. + + + + + Specifies the bottom border line. + + + + + Specifies all border lines. + + + + + Represents a single border line. + + + + + Gets or sets a color of the line. + + + + + Gets or sets a style of the line. + + + + + Gets or sets a width of the line, in pixels. + + + + + + + + + + + Represents a border around the report object. + + + Border consists of four lines. Each line has own color, style and width. Lines are accessible through + , , , properties. + + To turn on and off the lines, use the property. To set the same color, style or width + for each line, use , , properties of the Border. + + + + + Gets or sets a color of the border. + + + This property actually returns a color of the . When you assign a value + to this property, the value will be set to each border line. + + + + + Gets or sets a value determines whether to draw a shadow. + + + + + Gets or sets a shadow width, in pixels. + + + + + Gets or sets a shadow color. + + + + + Gets or sets a style of the border. + + + This property actually returns a style of the . When you assign a value + to this property, the value will be set to each border line. + + + + + Gets or sets a visible lines of a border. + + + + + Gets or sets a width of the border, in pixels. + + + This property actually returns a width of the . When you assign a value + to this property, the value will be set to each border line. + + + + + Gets or sets the left line of the border. + + + + + Gets or sets the top line of the border. + + + + + Gets or sets the right line of the border. + + + + + Gets or sets the bottom line of the border. + + + + + Gets or sets a value determines that Border must serialize only one line. + + + This property is for internal use only. + + + + + Creates the exact copy of this Border. + + A copy of this border. + + + + + + + + + + Serializes the border. + + Writer object. + Border property name. + Another Border to compare with. + + This method is for internal use only. + + + + + Draw the border using draw event arguments and specified bounding rectangle. + + Draw event arguments. + Bounding rectangle. + + This method is for internal use only. + + + + + Initializes a new instance of the class with default settings. + + + + + Base class for report components that can break across pages. + + + + + Gets or sets a value that determines if the component can break its contents across pages. + + + + + Gets or sets a reference to another similar object that will be used for displaying the + text that not fit in this object. + + + + + + + + + + + Breaks the contents of the object. + + Object to put the part of content to that does not fit in this object. These two + objects must have the same type. + true if there is enough space in this object to display at least one text line. + + + Do not call this method directly, it is used by the report engine. You should override it if + you are writing a new FastReport object. + + + This method must break the contents of the object. The part of content that fit in current object's + bounds should remain in this object, the part that does not fit should be transferred to breakTo + object. + + + + + + Initializes a new instance of the BreakableComponent class with default settings. + + + + + Specifies a line cap style. + + + + + Specifies a line without a cap. + + + + + Specifies a line with a circle cap. + + + + + Specifies a line with a square cap. + + + + + Specifies a line with a diamond cap. + + + + + Specifies a line with an arrow cap. + + + + + Specifies a start and end line caps. + + + + + Gets or sets a width of the cap. + + + + + Gets or sets a height of the cap. + + + + + Gets or sets a cap style. + + + + + Assigns values from another source. + + Source to assign from. + + + + Creates exact copy of this object. + + Copy of this object. + + + + + + + + + + Serializes the cap settings. + + Name of the cap property. + Writer object. + Another cap to compare with. + + This method is for internal use only. + + + + + Initializes a new instance of the CapSettings class with default settings. + + + + + Specifies a symbol that will be displayed when a is in the checked state. + + + + + Specifies a check symbol. + + + + + Specifies a diagonal cross symbol. + + + + + Specifies a plus symbol. + + + + + Specifies a filled rectangle. + + + + + Specifies a symbol that will be displayed when a is in the unchecked state. + + + + + Specifies no symbol. + + + + + Specifies a diagonal cross symbol. + + + + + Specifies a minus symbol. + + + + + This class represents a column footer band. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + Initializes a new instance of the class with default settings. + + + + + This class represents a column header band. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + Initializes a new instance of the class with default settings. + + + + + Represents a collection of highlight conditions used in the property + of the . + + + + + Gets or sets the element at the specified index. + + Index of an element. + The element at the specified index. + + + + Adds the specified elements to the end of this collection. + + Array of elements to add. + + + + Adds an object to the end of this collection. + + Object to add. + Index of the added object. + + + + Inserts an object into this collection at the specified index. + + The zero-based index at which value should be inserted. + The object to insert. + + + + Removes the specified object from the collection. + + Object to remove. + + + + Returns the zero-based index of the first occurrence of an object. + + The object to locate in the collection. + The zero-based index of the first occurrence of value within the entire collection, if found; + otherwise, -1. + + + + Determines whether an element is in the collection. + + The object to locate in the collection. + true if object is found in the collection; otherwise, false. + + + + + + + + + + Copies conditions from another collection. + + Collection to copy from. + + + + + + + + + + This class represents a data band footer. + + + + + This class represents a header of the data band. + + + + + Base class for all fills. + + + + + Creates exact copy of this fill. + + Copy of this object. + + + + Creates the GDI+ Brush object. + + Drawing rectangle. + Brush object. + + + + Creates the GDI+ Brush object with scaling. + + Drawing rectangle. + X scaling coefficient. + Y scaling coefficient. + Brush object. + + + + Serializes the fill. + + Writer object. + Name of the fill property. + Fill object to compare with. + + This method is for internal use only. + + + + + Fills the specified rectangle. + + Draw event arguments. + Drawing rectangle. + + + + Class represents the solid fill. + + + + + Gets or sets the fill color. + + + + + + + + + + + + + + + + + + + + + + + Initializes the class with Transparent color. + + + + + Initializes the class with specified color. + + + + + + Class represents the linear gradient fill. + + + + + Gets or sets the start color of the gradient. + + + + + Gets or sets the end color of the gradient. + + + + + Gets or sets the angle of the gradient. + + + + + Gets or sets the focus point of the gradient. + + + Value is a floating point value from 0 to 1. + + + + + Gets or sets the gradient contrast. + + + Value is a floating point value from 0 to 1. + + + + + + + + + + + + + + + + + + + + Initializes the class with default settings. + + + + + Initializes the class with start and end colors. + + Start color. + End color. + + + + Initializes the class with start, end colors and angle. + + Start color. + End color. + Angle. + + + + Initializes the class with start and end colors, angle, focus and contrast. + + Start color. + End color. + Angle. + Focus. + Contrast. + + + + The style of the path gradient. + + + + + Elliptic gradient. + + + + + Rectangular gradient. + + + + + Class represents the path gradient fill. + + + + + Gets or sets the center color of the gradient. + + + + + Gets or sets the edge color of the gradient. + + + + + Gets or sets the style of the gradient. + + + + + + + + + + + + + + + + + + + + Initializes the class with default settings. + + + + + Initializes the class with center, edge colors and style. + + Center color. + Edge color. + Gradient style. + + + + Class represents the hatch fill. + + + + + Gets or sets the foreground color. + + + + + Gets or sets the background color. + + + + + Gets or sets the hatch style. + + + + + + + + + + + + + + + + + + + + Initializes the class with default settings. + + + + + Initializes the class with foreground, background colors and hatch style. + + Foreground color. + Background color. + Hatch style. + + + + Class represents the glass fill. + + + + + Gets or sets the fill color. + + + + + Gets or sets the blend value. + + Value must be between 0 and 1. + + + + + Gets or sets a value determines whether to draw a hatch or not. + + + + + + + + + + + + + + + + + + + + + + + Initializes the class with default settings. + + + + + Initializes the class with given color, blend ratio and hatch style. + + Color. + Blend ratio (0..1). + Display the hatch. + + + + Class represents the Texture fill. + + + + + Gets or sets value, indicating that image should preserve aspect ratio + + + + + Gets or sets the image width + + + + + Gets or sets the image height + + + + + Gets or sets the texture wrap mode + + + + + Gets or sets the image index + + + + + Gets or sets the image data + + + + + Image left offset + + + + + Image top offset + + + + + Sets image data to imageData + + input image data + + + + Set image + + input image + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes the class with default texture. + + + + + Initializes the class with specified image. + + + + + + Initializes the class with specified image. + + + + + + Font descriptor + + + + + Indicates that the point is the start of a figure. + + + + + Indicates that the point is one of the two endpoints of a line. + + + + + Indicates that the point is an endpoint or control point of a cubic Bézier spline. + + + + + Masks all bits except for the three low-order bits, which indicate the point type. + + + + + Specifies that the point is a marker. + + + + + Specifies that the point is the last point in a closed subpath (figure). + + + + + FontHeader table + + + + + Define type of font file + + + + + Classic TrueType font + + + + + Collection of TrueType fonts + + + + + OpenType font format + + + + + GlyphSubstitution table + + + + + Return true if was applied + + + + + + + + + Return coverageIndex for ApplyForce or if fail then return -1 + + + + + + + + Apply this Substitution with specified coverageIndex, cant be called only after IsApply + + + + + + + + + Table with encoded glyphs' outline + + + + + HorizontalMetrix table + + + + + IndexToLocation table + + + + + Kerning table + + + + + MaximumProfile table + + + + + Name table keep human friendly description about font properties, including font names, author and copyright notes + + + + + OS/2 and Windows Metrics table + + + + + Description of FontTextMetric structure + + + + + Description of FontPanose structure + + + + + True Type Font Collectiom + + + + + Will be removed soon + + + + + Different caching strategies + + + + + Reference counter + + + + + Progress callback type definition + + Progress information + + + + Progress callback event + + + + + Open and parse TrueType file + + + + + + + + Find all fonts files in directory and it's subdirectories + + Directory where find fond files + Defines file which collect found fonts + + + + Get TrueType font from static collection + + String which identifies font - family name + "-B" for bold and "-I" for italic + + + + + Get font by its name and bold/italic attributes + + + TrueType font object + + + + Workaround function for avoid font duplicates + + if true then font append to collection, if false then font append to hash + Internal font structure + This parameter defines path to font file if file append to hash. Not used otherwise + + + + Parse raw image of font data and create TrueTypeFont objects from this image + + Defines font or collections + Pointer to memory of raw font data + + + + + Build list of fonts + + Optional path to font.list folder. + + + + Interface for TrueTypeFont object + + + + + TrueTypeFont object + + + + + Get or set current script + + + + + Get or set current Language + + + + + Get available scripts + + + + + Get available languages for script + + + + + + + Get available features for language and script + + + + + + + + Prepare tables for drawing, subsetting and so on + + always true + + + + Return raw image of the font + + Array of font bytes + + + + Cut some information from TTF file to reduce its size + + List of character codes to preserve them in font + If true then ignore CMAP table + + + + + Parse font supplement tables which store properties of the font + + + + + Get unique font identifier + + + + + + Create glyph outline assigned to specific position + + unicode character which will be drawn + size of the character + position of outline + outline of character + + + + Get glyph's outline + + unicode charter + outline image size + + + + + Create outline for group of characters + + text as array of glyph's indexes + position of text + font size + text in form of outline vectors + + + + Create outline for text string + + text which will be transformed to outline + position of text + font size in px + text in form of outline vectors + + + + + + + Constructor of TrueTypeFont object + + The start of RAW image of font or font collection + Actual address of font within RAW image + Reference count emulation + + + + Description of SCRIPT_STATE structure + + + + + data + + + + + uBidiLevel + + + + + SetRtl + + + + + Description of SCRIPT_ANALYSIS structure + + + + + data + + + + + state + + + + + Description of SCRIPT_CONTROL structure + + + + + data + + + + + Description of SCRIPT_DIGITSUBSTITUTE structure + + + + + NationalDigitLanguage + + + + + TraditionalDigitLanguage + + + + + DigitSubstitute + + + + + dwReserved + + + + + Description of SCRIPT_ITEM structure + + + + + iCharPos + + + + + analysis + + + + + Description of SCRIPT_VISATTR structure + + + + + data + + + + + Description of GOFFSET structure + + + + + du + + + + + dv + + + + + Description of ABC structure + + + + + abcA + + + + + abcB + + + + + abcC + + + + + Description of FontRect structure + + + + + Description of FontPoint structure + + + + + Description of OutlineTextMetric structure + + + + + Emulation of Uniscribe GetOutlineTextMetrics + + Reference to metric structure + + + + Translate text to positions of glyphs in glyph tables and glyphs width + + + size in px + + + + + + + + Destructor of TrueTypeFont object + + + + + Base class which is parent of any table in TrueType font or collection + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Defines how boolean values are formatted and displayed. + + + + + Gets or sets a string that will be displayed if value is false. + + + + + Gets or sets a string that will be displayed if value is true. + + + + + + + + + + + + + + + + + Initializes a new instance of the BooleanFormat class with default settings. + + + + + Defines how currency values are formatted and displayed. + + + + + Gets or sets a value that determines whether to use system locale settings to format a value. + + + + + Gets or sets the number of decimal places to use in currency values. + + + + + Gets or sets the string to use as the decimal separator in currency values. + + + + + Gets or sets the string that separates groups of digits to the left of the decimal in currency values. + + + + + Gets or sets the string to use as the currency symbol. + + + + + Gets or sets the format pattern for positive currency values. + + This property can have one of the values in the following table. + The symbol "$" is the CurrencySymbol and n is a number. + + ValueAssociated Pattern + 0$n + 1n$ + 2$ n + 3n $ + + + + + + Gets or sets the format pattern for negative currency values. + + This property can have one of the values in the following table. + The symbol "$" is the CurrencySymbol and n is a number. + + ValueAssociated Pattern + 0 ($n) + 1 -$n + 2 $-n + 3 $n- + 4 (n$) + 5 -n$ + 6 n-$ + 7 n$- + 8 -n $ + 9 -$ n + 10n $- + 11$ n- + 12$ -n + 13n- $ + 14($ n) + 15(n $) + + + + + + + + + + + + + + + + + + Initializes a new instance of the CurrencyFormat class with default settings. + + + + + Represents a format that uses the Format string to display values. + + + + + Gets or sets a format string. + + + Default format is "G". For example, if you want to format a date, use the following + format string: "MM/dd/yyyy". See the System.String.Format method for list + of possible format strings. + + + + + + + + + + + + + + + + + Initializes a new instance of the CustomFormat class with default settings. + + + + + Defines how date values are formatted and displayed. + + + + + + + + Initializes a new instance of the DateFormat class with default settings. + + + + + Base class for all formats. + + + The format is used to format expression value in a object. + + + + + Gets the short format name (e.g. without a "Format" suffix). + + + + + Creates exact copy of this format. + + The copy of this format. + + + + Formats the specified value. + + The value to format. + The string that represents the formatted value. + + + + + + + + + + Represents a collection of formats used by the and + objects. + + + + + Gets or sets the element at the specified index. + + Index of an element. + The element at the specified index. + + + + Adds the specified elements to the end of this collection. + + Array of elements to add. + + + + Adds an object to the end of this collection. + + Object to add. + Index of the added object. + + + + Inserts an object into this collection at the specified index. + + The zero-based index at which value should be inserted. + The object to insert. + + + + Removes the specified object from the collection. + + Object to remove. + + + + Returns the zero-based index of the first occurrence of an object. + + The object to locate in the collection. + The zero-based index of the first occurrence of value within the entire collection, if found; + otherwise, -1. + + + + Determines whether an element is in the collection. + + The object to locate in the collection. + true if object is found in the collection; otherwise, false. + + + + + + + + + + Copies formats from another collection. + + Collection to copy from. + + + + + + + + + + Represents a format used to display values with no formatting. + + + + + + + + + + + + + + + + + Defines how numeric values are formatted and displayed. + + + + + Gets or sets a value that determines whether to use system locale settings to format a value. + + + + + Gets or sets the number of decimal places to use in numeric values. + + + + + Gets or sets the string to use as the decimal separator in numeric values. + + + + + Gets or sets the string that separates groups of digits to the left of the decimal in numeric values. + + + + + Gets or sets the format pattern for negative numeric values. + + This property can have one of the values in the following table. + The symbol n is a number. + + ValueAssociated Pattern + 0(n) + 1-n + 2- n + 3n- + 4n - + + + + + + + + + + + + + + + + + + Initializes a new instance of the NumberFormat class with default settings. + + + + + Defines how percent values are formatted and displayed. + + + + + Gets or sets a value that determines whether to use system locale settings to format a value. + + + + + Gets or sets the number of decimal places to use in percent values. + + + + + Gets or sets the string to use as the decimal separator in percent values. + + + + + Gets or sets the string that separates groups of digits to the left of the decimal in percent values. + + + + + Gets or sets the string to use as the percent symbol. + + + + + Gets or sets the format pattern for positive percent values. + + This property can have one of the values in the following table. + The symbol "%" is the PercentSymbol and n is a number. + + ValueAssociated Pattern + 0n % + 1n% + 2%n + 3% n + + + + + + Gets or sets the format pattern for negative percent values. + + This property can have one of the values in the following table. + The symbol "%" is the PercentSymbol and n is a number. + + ValueAssociated Pattern + 0 -n % + 1 -n% + 2 -%n + 3 %-n + 4 %n- + 5 n-% + 6 n%- + 7 -%n + 8 n %- + 9 % n- + 10% -n + 11n- % + + + + + + + + + + + + + + + + + + Initializes a new instance of the PercentFormat class with default settings. + + + + + Defines how time values are formatted and displayed. + + + + + + + + Initializes a new instance of the TimeFormat class with default settings. + + + + + Based on code of Stefan Bцther, xprocs@hotmail.de + + + + + Contains standard functions registered in the "Data" window. + + + + + Returns the larger of two 32-bit signed integers. + + The first of two values to compare. + The second of two values to compare. + Parameter val1 or val2, whichever is larger. + + + + Returns the larger of two 64-bit signed integers. + + The first of two values to compare. + The second of two values to compare. + Parameter val1 or val2, whichever is larger. + + + + Returns the larger of two single-precision floating-point numbers. + + The first of two values to compare. + The second of two values to compare. + Parameter val1 or val2, whichever is larger. + + + + Returns the larger of two double-precision floating-point numbers. + + The first of two values to compare. + The second of two values to compare. + Parameter val1 or val2, whichever is larger. + + + + Returns the larger of two decimal numbers. + + The first of two values to compare. + The second of two values to compare. + Parameter val1 or val2, whichever is larger. + + + + Returns the smaller of two 32-bit signed integers. + + The first of two values to compare. + The second of two values to compare. + Parameter val1 or val2, whichever is smaller. + + + + Returns the smaller of two 64-bit signed integers. + + The first of two values to compare. + The second of two values to compare. + Parameter val1 or val2, whichever is smaller. + + + + Returns the smaller of two single-precision floating-point numbers. + + The first of two values to compare. + The second of two values to compare. + Parameter val1 or val2, whichever is smaller. + + + + Returns the smaller of two double-precision floating-point numbers. + + The first of two values to compare. + The second of two values to compare. + Parameter val1 or val2, whichever is smaller. + + + + Returns the smaller of two decimal numbers. + + The first of two values to compare. + The second of two values to compare. + Parameter val1 or val2, whichever is smaller. + + + + Returns an integer value representing the character code corresponding to a character. + + Character to convert. + The character code. + + + + Returns the character associated with the specified character code. + + Character code to convert. + The character. + + + + Inserts a specified string at a specified index position in the original string. + + The original string. + The index position of the insertion. + The string to insert. + A new string. + + + + Gets the number of characters in a string. + + The original string. + The number of characters. + + + + Converts a specified string to lowercase. + + The string to convert. + A string in lowercase. + + + + Right-aligns the characters in a string, padding with spaces on the left for a specified total length. + + The original string. + The number of characters in the resulting string. + Right-aligned string, padded on the left with spaces. + + + + Right-aligns the characters in a string, padding on the left with a specified character + for a specified total length. + + The original string. + The number of characters in the resulting string. + A padding character. + Right-aligned string, padded on the left with padding characters. + + + + Left-aligns the characters in a string, padding with spaces on the right, for a specified total length. + + The original string. + The number of characters in the resulting string. + Left-aligned string, padded on the right with spaces. + + + + Left-aligns the characters in a string, padding on the right with a specified character, + for a specified total length. + + The original string. + The number of characters in the resulting string. + A padding character. + Left-aligned string, padded on the right with padding characters. + + + + Converts the specified string to titlecase. + + The string to convert. + A new string. + + + + Deletes all the characters from a string beginning at a specified position. + + The original string. + The position to begin deleting characters. + A new string. + + + + Deletes a specified number of characters from a string beginning at a specified position. + + The original string. + The position to begin deleting characters. + The number of characters to delete. + A new string. + + + + Replaces all occurrences of a specified string in the original string, with another specified string. + + The original string. + A string to be replaced. + A string to replace all occurrences of oldValue. + A new string. + + + + Retrieves a substring from the original string, starting at a specified character position. + + The original string. + The starting character position of a substring. + A new string. + + + + Retrieves a substring from the original string, starting at a specified character position, + with a specified length. + + The original string. + The starting character position of a substring. + The number of characters in the substring. + A new string. + + + + Removes all occurrences of white space characters from the beginning and end of the original string. + + The original string. + A new string. + + + + Converts a specified string to uppercase. + + The string to convert. + A string in uppercase. + + + + Adds the specified number of days to the original date. + + The original date. + A number of whole and fractional days. + A new DateTime value. + + + + Adds the specified number of hours to the original date. + + The original date. + A number of whole and fractional hours. + A new DateTime value. + + + + Adds the specified number of minutes to the original date. + + The original date. + A number of whole and fractional minutes. + A new DateTime value. + + + + Adds the specified number of months to the original date. + + The original date. + A number of months. + A new DateTime value. + + + + Adds the specified number of seconds to the original date. + + The original date. + A number of whole and fractional seconds. + A new DateTime value. + + + + Adds the specified number of years to the original date. + + The original date. + A number of years. + A new DateTime value. + + + + Subtracts the specified date and time from the original date. + + The original date. + The date and time to subtract. + A TimeSpan interval between two dates. + + + + Initializes a new instance of the DateTime. + + The year. + The month. + The day. + A new DateTime value. + + + + Gets the day of the month. + + The date value. + The day component. + + + + Gets the localized name of the day of the week. + + The date value. + The name of the day of the week. + + + + Gets the day of the year. + + The date value. + The day of the year. + + + + Returns the number of days in the specified month and year. + + The year. + The month. + The number of days in month for the specified year. + + + + Gets the hour component of the date. + + The date. + The hour component. + + + + Gets the minute component of the date. + + The date. + The minute component. + + + + Gets the month component of the date. + + The date. + The month component. + + + + Gets the localized month name. + + The month number. + The month name. + + + + Gets the seconds component of the date. + + The date. + The seconds component. + + + + Gets the week of the year. + + The date value. + The week of the year. + + + + Gets the year component of the date. + + The date. + The year component. + + + + Replaces the format item in a specified String with the text equivalent of the value of a + corresponding Object instance in a specified array. + + A String containing zero or more format items. + An Object array containing zero or more objects to format. + A copy of format in which the format items have been replaced by the String equivalent of the corresponding instances of Object in args. + + + + Returns a string formatted as a currency value. + + The value to format. + The formatted string. + + + + Returns a string formatted as a currency value with specified number of decimal digits. + + The value to format. + Number of decimal digits. + The formatted string. + + + + Returns a string formatted as a date/time value. + + The value to format. + The formatted string. + + + + Returns a string formatted as a date/time value. + + The value to format. + The format specifier, one of the + "Long Date", "Short Date", "Long Time", "Short Time" values. + The formatted string. + + + + Returns a string formatted as a numeric value. + + The value to format. + The formatted string. + + + + Returns a string formatted as a numeric value with specified number of decimal digits. + + The value to format. + Number of decimal digits. + The formatted string. + + + + Returns a string formatted as a percent value. + + The value to format. + The formatted string. + + + + Returns a string formatted as a percent value with specified number of decimal digits. + + The value to format. + Number of decimal digits. + The formatted string. + + + + Converts a numeric value to Roman string representation. + + Integer value in range 0-3998. + The string in Roman form. + + + + Converts a currency value to an english (US) string representation of that value. + + The currency value to convert. + The string representation of the specified value. + + + + Converts a currency value to an english (US) string representation of that value, + using the specified currency. + + The currency value to convert. + The 3-digit ISO name of the currency, for example "EUR". + The string representation of the specified value. + + + + Converts a numeric value to an english (US) string representation of that value. + + The numeric value to convert. + The name in singular form, for example "page". + The name in plural form, for example "pages". + The string representation of the specified value. + + + + Converts a currency value to an english (GB) string representation of that value. + + The currency value to convert. + The string representation of the specified value. + + + + Converts a currency value to an english (GB) string representation of that value, + using the specified currency. + + The currency value to convert. + The 3-digit ISO name of the currency, for example "EUR". + The string representation of the specified value. + + + + Converts a numeric value to an english (GB) string representation of that value. + + The numeric value to convert. + The name in singular form, for example "page". + The name in plural form, for example "pages". + The string representation of the specified value. + + + + Converts a currency value to a spanish string representation of that value. + + The currency value to convert. + The string representation of the specified value. + + + + Converts a currency value to a spanish string representation of that value, + using the specified currency. + + The currency value to convert. + The 3-digit ISO name of the currency, for example "EUR". + The string representation of the specified value. + + + + Converts a numeric value to a spanish string representation of that value. + + The numeric value to convert. + The name in singular form, for example "page". + The name in plural form, for example "pages". + The string representation of the specified value. + + + + Converts a currency value to a russian string representation of that value. + + The currency value to convert. + The string representation of the specified value. + + + + Converts a currency value to a russian string representation of that value, + using the specified currency. + + The currency value to convert. + The 3-digit ISO name of the currency, for example "EUR". + The string representation of the specified value. + + + + Converts a numeric value to a russian string representation of that value. + + The numeric value to convert. + True if the name is of male gender. + The name in singular form, for example "страница". + The name in plural form, for example "страницы". + The name in plural form, for example "страниц". + The string representation of the specified value. + + + + Selects and returns a value from a list of arguments. + + A value between 1 and the number of elements passed in the "choice" argument. + Object parameter array. + One of the values in the "choice" argument. + + + + Returns one of two objects, depending on the evaluation of an expression. + + The expression you want to evaluate. + Returned if Expression evaluates to True. + Returned if Expression evaluates to False. + Either truePart os falsePart. + + + + Evaluates a list of expressions and returns a value corresponding to the first + expression in the list that is True. + + Parameter array consists of paired expressions and values. + The value corresponding to an expression which returns true. + + + + Checks if the specified object is null. + + The report instance. + Either a name of DB column, or a parameter name, or a total name to check. + true if the object's value is null. + + + + Represents a group footer band. + + + + + Specifies a sort order. + + + This enumeration is used in the group header and in the "Matrix" object. + + + + + Specifies no sort (natural order). + + + + + Specifies an ascending sort order. + + + + + Specifies a descending sort order. + + + + + Represents a single highlight condition used by the property + of the . + + + + + Gets or sets a highlight expression. + + + This property can contain any valid boolean expression. If value of this expression is true, + the fill and font settings will be applied to the TextObject. + + + + + Gets or sets the visibility flag. + + + If this property is set to false, the Text object will be hidden if the + condition is met. + + + + + + + + + + + Creates exact copy of this condition. + + A copy of this condition. + + + + + + + + + + Initializes a new instance of the class with default settings. + + + + + Specifies the hyperlink type. + + + + + Specifies the hyperlink to external URL such as "http://www.fast-report.com", "mailto:" + or any other system command. + + + + + Specifies hyperlink to a given page number. + + + + + Specifies hyperlink to a bookmark. + + + + + Specifies hyperlink to external report. This report will be run when you follow the hyperlink. + + + + + Specifies hyperlink to this report's page. The page will be run when you follow the hyperlink. + + + + + Specifies a custom hyperlink. No actions performed when you click it, you should handle it + in the object's Click event handler. + + + + + This class contains a hyperlink settings. + + + + + Gets or sets the kind of hyperlink. + + + Use the Kind property to define hyperlink's behavior. + The hyperlink may be used to navigate to the external url, the page number, + the bookmark defined by other report object, the external report, the other page of this report, + and custom hyperlink. + + + + + Gets or sets the expression which value will be used for navigation. + + + Normally you should set the Expression property to + any valid expression that will be calculated when this object is about to print. + The value of an expression will be used for navigation. + If you want to navigate to some fixed data (URL or page number, for example), + use the property instead. + + + + + Gets or sets a value that will be used for navigation. + + + Use this property to specify the fixed data (such as URL, page number etc). If you want to + navigate to some dynamically calculated value, use the property instead. + + + + + Gets or sets a value that indicate should be links open in new tab or not. + + + It works for HTML-export only! + + + + + Gets or sets an external report file name. + + + Use this property if is set to DetailReport. + When you follow the hyperlink, this report will be loaded and run. + You also may specify the report's parameter in the property. + + + + + Gets or sets the name of this report's page. + + + Use this property if is set to DetailPage. + When you follow the hyperlink, the specified page will be executed. It may contain the + detailed report. You also may specify the report's parameter in the + property. + + + + + Gets or sets a parameter's name that will be set to hyperlink's value. + + + Use this property if is set to DetailReport or DetailPage. + If you want to pass the hyperlink's value to the report's parameter, specify the + parameter name in this property. This parameter will be set to the hyperlink's value + before running a report. It may be used to display detailed information about clicked item. + It is also possible to pass multiple values to several parameters. If hyperlink's value + contains separators (the separator string can be set in the + property), it will be splitted to several values. That values will be passed to nested parameters + of the ReportParameter (you should create nested parameters by youself). For example, you have + the ReportParameter called "SelectedValue" which has two nested parameters: the first one is + "Employee" and the second is "Category". The hyperlink's value is "Andrew Fuller;Beverages". + It will be splitted to two values: "Andrew Fuller" and "Beverages". The first nested parameter + of the ReportParameter that is "Employee" in our case will be set to "Andrew Fuller"; + the second nested parameter ("Category") will be set to "Beverages". + Note: when you create a parameter in the detailed report, don't forget to set + its DataType property. It is used to convert string values to actual data type. + + + + + + Gets or sets a string that will be used as a separator to pass several values + to the external report parameters. + + + + + Assigns values from another source. + + Source to assign from. + + + + Provides the serialize/deserialize functionality. + + + + + Serializes the object. + + Writer object. + + + + Deserializes the object. + + Reader object. + + + + Implement this interface if your object can contain list of child objects. + + + + + Gets a value indicating that this object can contain the specified child object. + + Child object. + true if this object can contain the specified child object; otherwise, false. + + + + Gets a list of child objects. + + List to fill with values. + + + + Adds a child object to this object's childs. + + Object to add. + + + + Removes a specified object from this object's childs. + + + + + + Returns z-order of the specified child object. + + Child object. + Z-order of the specified object. + + This method must return the index of a specified child object in the internal child list. + + + + + Sets the z-order of the specified object. + + Child object. + New Z-order. + + This method must place the specified child object at the specified position in the internal child list. + + + + + Updates the children layout when the size of this object is changed by dx, dy values. + + X delta. + Y delta. + + This method must update positions/sizes of child objects whose Dock or Anchor properties + are set to non-default values. + + + + + Holds the list of objects of type. + + + + + Gets or sets the element at the specified index. + + Index of an element. + The element at the specified index. + + + + Initializes a new instance of the class with default settings. + + + + + Initializes a new instance of the class with specified owner. + + + + + Represents an overlay band. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + Initializes a new instance of the class with default settings. + + + + + Holds the list of objects of type. + + + + + Gets or sets the element at the specified index. + + Index of an element. + The element at the specified index. + + + + Initializes a new instance of the class with default settings. + + + + + Initializes a new instance of the class with specified owner. + + + + + This class contains the page columns settings. + It is used in the property. + + + + + Gets or sets the number of columns. + + + Set this property to 0 or 1 if you don't want to use columns. + + + + + Gets or sets the column width. + + + + + Gets or sets a list of column starting positions. + + + Each value represents a column starting position measured in the millimeters. + + + + + Assigns values from another source. + + Source to assign from. + + + + Represents a page footer band. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + Initializes a new instance of the class with default settings. + + + + + Represents a page header band. + + + + + This property is not relevant to this class. + + + + + This property is not relevant to this class. + + + + + Initializes a new instance of the class with default settings. + + + + + Specifies the alignment of a image in the border. + + + + + Specifies that image is not aligned in the layout rectangle. + + + + + Specifies that image is aligned in the top-left of the layout rectangle. + + + + + Specifies that image is aligned in the top-center of the layout rectangle. + + + + + Specifies that image is aligned in the top-right of the layout rectangle. + + + + + Specifies that image is aligned in the center-left of the layout rectangle. + + + + + Specifies that image is aligned in the center-center of the layout rectangle. + + + + + Specifies that image is aligned in the center-right of the layout rectangle. + + + + + Specifies that image is aligned in the center-left of the layout rectangle. + + + + + Specifies that image is aligned in the center-center of the layout rectangle. + + + + + Specifies that image is aligned in the center-right of the layout rectangle. + + + + + Specifies the language of the report's script. + + + + + The C# language. + + + + + The VisualBasic.Net language. + + + + + Specifies the quality of text rendering. + + + + + The default text quality, depends on system settings. + + + + + The regular quality. + + + + + The "ClearType" quality. + + + + + The AntiAlias quality. This mode may be used to produce the WYSIWYG text. + + + + + Specifies the report operation. + + + + + Specifies no operation. + + + + + The report is running. + + + + + The report is printing. + + + + + The report is exporting. + + + + + Specifies the page range to print/export. + + + + + Print all pages. + + + + + Print current page. + + + + + Print pages specified in the PageNumbers property of the PrintSettings. + + + + + The automatic shift mode. + + + + + Do not shift the object. + + + + + Shift the object up or down if any object above it shrinks or grows. + + + + + Shift the object up or down if any object above it shrinks or grows. + Objects must have overlapped x-coordinates. + + + + + Specifies where to print an object. + + + + + Do not print the object. + + + + + Print the object on the first page. If this flag is not set, the object will not + be printed on the first page. + + + + + Print the object on the last page. If this flag is not set, the object will not + be printed on the last page. You should set the report's double pass option to make + it work correctly. + + + + + Print the object on odd pages only. + + + + + Print the object on even pages only. + + + + + Print the object on band with "Repeat on Every Page" flag when that band is repeated. + + + + + Print the object if the report has single page only. + + + + + Specifies the style properties to use when style is applied. + + + + + Use the fill property of the style. + + + + + Use all style properties. + + + + + Holds the list of objects of type. + + + + + Gets or sets the element at the specified index. + + Index of an element. + The element at the specified index. + + + + Initializes a new instance of the class with default settings. + + + + + Initializes a new instance of the class with specified owner. + + + + + Provides data for the event. + + + + + Gets a name of the file to load the report from. + + + + + The reference to a report. + + + + + Initializes a new instance of the class using the specified + file name and the report. + + The name of the file to load the report from. + The report. + + + + Provides data for the event. + + + + + Gets an expression. + + + + + Gets or sets a object. + + + + + The reference to a report. + + + + + Initializes a new instance of the class using the specified + file name and the report. + + The text of expression. + The name of the file to load the report from. + The report. + + + + Represents the method that will handle the event. + + The source of the event. + The event data. + + + + Represents the method that will handle the event. + + The source of the event. + The event data. + + + + Provides data for the Progress event. + + + + + Gets a progress message. + + + + + Gets the current page number. + + + + + Gets the number of total pages. + + + + + Initializes a new instance of the class using the specified + message, page number and total number of pages. + + The progress message. + Current page number. + Number of total pages. + + + + Represents the method that will handle the Progress event. + + The source of the event. + The event data. + + + + Provides data for the DatabaseLogin event. + + + + + Gets or sets the connection string. + + + + + Gets or sets an user name. + + + + + Gets or sets a password. + + + + + Initializes a new instance of the class using the specified + connection string. + + The connection string. + + + + Represents the method that will handle the DatabaseLogin event. + + The source of the event. + The event data. + + + + Provides data for the AfterDatabaseLogin event. + + + + + Gets the DbConnection object. + + + + + Initializes a new instance of the class using + the specified connection. + + The connection object. + + + + Represents the method that will handle the AfterDatabaseLogin event. + + The source of the event. + The event data. + + + + Provides data for the FilterProperties event. + + + + + Gets the property descriptor. + + + + + Gets or sets a value that indicates whether this property should be skipped. + + + + + Represents the method that will handle the FilterProperties event. + + The source of the event. + The event data. + + + + Provides data for the GetPropertyKind event. + + + + + Gets the property name. + + + + + Gets the property type. + + + + + Gets or sets the kind of property. + + + + + Represents the method that will handle the GetPropertyKind event. + + The source of the event. + The event data. + + + + Provides data for the GetTypeInstance event. + + + + + Gets the type. + + + + + Gets or sets the instance of type. + + + + + Represents the method that will handle the GetPropertyKind event. + + The source of the event. + The event data. + + + + Specifies the Save Mode of designed report. + + + + + The saving allowed to all. + + + + + The saving in original place. + + + + + The saving allowed to current user. + + + + + The saving allowed to current role/group. + + + + + The saving allowed with other security permissions. + + + + + The saving not allowed. + + + + + Custom saving rules. + + + + + This class represents the report information such as name, author, description etc. + + + + + Gets or sets the name of a report. + + + + + Gets or sets the author of a report. + + + + + Gets or sets the report version. + + + + + Gets or sets the report description. + + + + + Gets or sets the picture associated with a report. + + + + + Gets or sets the report creation date and time. + + + + + Gets or sets a value indicating that report was modified in the designer. + + + + + Gets or sets a value that determines whether to fill the property + automatically. + + + + + Gets or sets the ratio that will be used when generating a preview picture. + + + + + Gets the version of FastReport that was created this report file. + + + + + Gets or sets the Tag string object for this report file. + + + + + Gets or sets SaveMode property. + + + + + Resets all properties to its default values. + + + + + Initializes a new instance of the class with default settings. + + + + + Specifies the default paper size used when creating a new report. + + + + + A4 paper (210 x 297 mm). + + + + + Letter paper (8.5 x 11 inches, 216 x 279 mm). + + + + + Represents a report title band. + + + + + Internal representation of RichText document + + + + + This class represents a RTF run. + + + + + Insert paragraph into list of paragraphs + + + + + Insert row into list of paragraphs + + + + + This class represents a RTF properies. + + + + + This class parses an entiry RTF document. + + + + + + + + + + + + + + Get RTF structure based on range of elements + + + + + + Save RTF document to text stream + + + + + This class represents a RTF document header. + + + Refer to RTF-1.7 spec for detail description + + + + + Parser of RTF header. + + + Return false on finish of header + + + + + This class represents a RTF text paragraph. + + + + + This class detect a RTF control sequences and text. + + + + + This class represents a RTF column description. + + + + + + Create RTF row + + + + + + + Save RTF document to plain text stream + + + + + Specifies a kind of the shape. + + + + + Specifies a rectangle shape. + + + + + Specifies a round rectangle shape. + + + + + Specifies an ellipse shape. + + + + + Specifies a triangle shape. + + + + + Specifies a diamond shape. + + + + + Represents a sort condition used in the . + + + + + Gets or sets an expression used to sort data band rows. + + + This property can contain any valid expression. + + + + + Gets or sets a value indicating that sort must be performed in descending order. + + + + + Serializes the class. + + Writer object. + + This method is for internal use only. + + + + + Deserializes the class. + + Reader object. + + This method is for internal use only. + + + + + Initializes a new instance of the class with default settings. + + + + + Initializes a new instance of the class with specified expression. + + + + + Initializes a new instance of the class with specified expression and sort order. + + + + + Represents a collection of sort conditions used in the . + + + + + Gets or sets the element at the specified index. + + Index of an element. + The element at the specified index. + + + + Adds the specified elements to the end of this collection. + + + + + + Adds an object to the end of this collection. + + Object to add. + Index of the added object. + + + + Inserts an object into this collection at the specified index. + + The zero-based index at which value should be inserted. + The object to insert. + + + + Removes the specified object from the collection. + + Object to remove. + + + + Returns the zero-based index of the first occurrence of an object. + + The object to locate in the collection. + The zero-based index of the first occurrence of value within the entire collection, if found; + otherwise, -1. + + + + Determines whether an element is in the collection. + + The object to locate in the collection. + true if object is found in the collection; otherwise, false. + + + + + + + + + + Assigns values from another collection. + + Collection to assign from. + + + + Represents a style. + + + + Style class holds border, fill, text fill and font settings. It can be applied to any report object of + type. + + + The Report object holds list of styles in its property. Each style has + unique name. To apply a style to the report component, set its + property to the style name. + + + + + + Gets or sets a name of the style. + + + The name must be unique. + + + + + + + + + + + Creates exact copy of this Style. + + Copy of this style. + + + + Initializes a new instance of the class with default settings. + + + + + Represents a collection of styles used in the . + + + + + Gets or sets the name of the style. + + + + + Gets or sets the element at the specified index. + + Index of an element. + The element at the specified index. + + + + Adds the specified elements to the end of this collection. + + + + + + Adds an object to the end of this collection. + + Object to add. + Index of the added object. + + + + Inserts an object into this collection at the specified index. + + The zero-based index at which value should be inserted. + The object to insert. + + + + Removes the specified object from the collection. + + Object to remove. + + + + Returns the zero-based index of the first occurrence of an object. + + The object to locate in the collection. + The zero-based index of the first occurrence of value within the entire collection, if found; + otherwise, -1. + + + + Returns the zero-based index of the first occurrence of a style with specified name. + + The name to locate in the collection. + The zero-based index of the first occurrence of value within the entire collection, if found; + otherwise, -1. + + + + Determines whether an element is in the collection. + + The object to locate in the collection. + true if object is found in the collection; otherwise, false. + + + + Determines whether a style with specified name is in the collection. + + The style name to locate in the collection. + true if object is found in the collection; otherwise, false. + + + + + + + + + + Saves the collection to a stream. + + Stream to save to. + + + + Saves the collection to a file. + + The name of the file. + + + + Loads the collection from a stream. + + Stream to load from. + + + + Loads the collection from a file. + + The name of the file. + + + + Creates exact copy of this collection. + + The copy of this collection. + + + + Initializes a new instance of the class with default settings. + + + + + Represents a collection of the objects. + + + + + Gets or sets the element at the specified index. + + Index of an element. + The element at the specified index. + + + + Adds the specified elements to the end of this collection. + + + + + + Adds an object to the end of this collection. + + Object to add. + Index of the added object. + + + + Inserts an object into this collection at the specified index. + + The zero-based index at which value should be inserted. + The object to insert. + + + + Removes the specified object from the collection. + + Object to remove. + + + + Returns the zero-based index of the first occurrence of an object. + + The object to locate in the collection. + The zero-based index of the first occurrence of value within the entire collection, if found; + otherwise, -1. + + + + Returns the zero-based index of the first occurrence of a style collection with specified name. + + The style collection name to locate in the collection. + The zero-based index of the first occurrence of value within the entire collection, if found; + otherwise, -1. + + + + Determines whether an element is in the collection. + + The object to locate in the collection. + true if object is found in the collection; otherwise, false. + + + + Determines whether a style collection with specified name is in the collection. + + The style collection name to locate in the collection. + true if object is found in the collection; otherwise, false. + + + + Gets an array containing all collection items. + + An array containing all collection items. + + + + Serializes the collection. + + Writer object. + + This method is for internal use only. + + + + + Deserializes the collection. + + Reader object. + + This method is for internal use only. + + + + + Saves the collection to a stream. + + Stream to save to. + + + + Saves the collection to a file with specified name. + + File name to save to. + + + + Loads the collection from a stream. + + Stream to load from. + + + + Loads the collection from a file with specified name. + + Name of a file. + + + + Specifies the horizontal alignment of a text in the TextObject object. + + + + + Specifies that text is aligned in the left of the layout rectangle. + + + + + Specifies that text is aligned in the center of the layout rectangle. + + + + + Specifies that text is aligned in the right of the layout rectangle. + + + + + Specifies that text is aligned in the left and right sides of the layout rectangle. + + + + + Specifies the vertical alignment of a text in the TextObject object. + + + + + Specifies that text is aligned in the top of the layout rectangle. + + + + + Specifies that text is aligned in the center of the layout rectangle. + + + + + Specifies that text is aligned in the bottom of the layout rectangle. + + + + + The type of text renderer + + + + + The default render + + + + + Render with some html tags and stable logic + + + + + Render with img tags, span etc. Experimental and unstable logic + + + + + The format of paragraph + + + + + The first line on each paragraph, not effect if value less then 0 + + + + + The distance between lines, not effect if value less then 0 + + + + + The spacing type for distance between line calculation + + + + + The value for a multiplication line height for adding spacing + + + + + Skip the line indent in the first paragraph, for broken paragraphs + + + + + clone with new scale; + + + + + + + The spacing type between lines + + + + + Single spacing, not effect from LineSpacing + + + + + Minimal spacing in exactly size + + + + + The specific distance between the lines, for some exports, does not work if the distance value is too small. + + + + + The calculated distance between lines, for some exports, does not work if the distance value is too small. + + + + + Specifies the behavior of the AutoShrink feature of TextObject. + + + + + AutoShrink is disabled. + + + + + AutoShrink decreases the Font.Size property of the TextObject. + + + + + AutoShrink decreases the FontWidthRatio property of the TextObject. + + + + + Specifies how to display the duplicate values. + + + + + The TextObject can show duplicate values. + + + + + The TextObject with duplicate value will be hidden. + + + + + The TextObject with duplicate value will be shown but with no text. + + + + + Several TextObject objects with the same value will be merged into one TextObject object. + + + + + Specifies how the report engine processes the text objects. + + + + + Specifies the default process mode. The text object is processed just-in-time. + + + + + Specifies that the text object must be processed when the entire report is finished. This mode + can be used to print grand total value (which is normally calculated at the end of report) in the + report title band. + + + + + Specifies that the text object must be processed when the entire report page is finished. This mode + can be used if the report template consists of several report pages. + + + + + Specifies that the text object must be processed when any report page is finished. This mode + can be used to print the page total (which is normally calculated at the page footer) in the + page header band. + + + + + Specifies that the text object must be processed when the column is finished. This mode + can be used to print the column total (which is normally calculated at the column footer) in the + column header band. + + + + + Specifies that the text object must be processed when the data block is finished. This mode can be + used to print a total value in the data header (which is normally available + in the data footer only). + + + + + Specifies that the text object must be processed when the group is finished. This mode can be + used to print a total value in the group header (which is normally available + in the group footer only). + + + + + Specifies that the text object is processed manually when you call the Engine.ProcessObject + method in the report script. + + + + + Represents text outline. + + + + + Gets or sets a value indicating that outline is enabled. + + + + + Enable or disable draw the outline behind of text. + + + + + Gets or sets the outline color. + + + + + Gets or sets the outline width. + + + + + Specifies the style of an outline. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with specified parameters. + + True if outline enabled. + Outline color. + Outline width. + Outline style. + True if outline should be drawn behind text. + + + + Copies the content of another TextOutline. + + The TextOutline instance to copy the contents from. + + + + Creates the exact copy of this outline. + + Copy of this outline. + + + + Serializes the TextOutline. + + Writer object. + TextOutline property name. + Another TextOutline to compare with. + + + + Represents a cache of graphics objects such as pens, brushes, fonts and text formats. + + + Cache holds all used graphics objects. There is no need to dispose objects returned + by GetXXX calls. + + This example demonstrates how to use graphic cache. + + public void Draw(FRPaintEventArgs e) + { + Brush brush = e.Cache.GetBrush(BackColor); + Pen pen = e.Cache.GetPen(BorderColor, 1, BorderStyle); + e.Graphics.FillRectangle(brush, Bounds); + e.Graphics.DrawRectangle(pen, Bounds); + } + + + + + + Gets a pen with specified settings. + + Color of a pen. + Width of a pen. + Dash style of a pen. + The Pen object. + + + + Gets a pen with specified settings. + + Color of a pen. + Width of a pen. + Dash style of a pen. + Line join of a pen. + The Pen object. + + + + Gets a brush with specified color. + + Color of a brush. + The SolidBrush object. + + + + Gets a font with specified settings. + + Name of a font. + Size of a font. + Style of a font. + The Font object. + + + + Gets a string format with specified settings. + + Text alignment information on the vertical plane. + Line alignment on the horizontal plane. + StringTrimming enumeration. + StringFormatFlags enumeration that contains formatting information. + The number of spaces between the beginning of a line of text and the first tab stop. + Distance between tab stops. + The StringFormat object. + + + + Disposes resources used by this object. + + + + + Initializes a new instance of the GraphicCache class with default settings. + + + + + A strongly typed object that readily casts an intrinsic + object to the other intrinsic types when possible. + + + The Variant class is an intrinsic object container structure + inspired by Visual Basic 6.0's Variant. The key features + of a Variant class include the ability to perform typecasts and + arithmetic between types that are not normally considered compatible. + For example, if a Variant class contains a string describing a + number, such as "1.1", then floating point arithmetic can be + performed on it. + Variants are normally considered dangerous because they + strip away the effectiveness of type safety, which is the + reason why the Visual Basic 6.0 Variant was left out of + Visual Basic .NET. However, this implementation restores the + Variant structure, both as a proof of concept and as a + restoration of the utility and positive merits of the Variant + where it can be used responsibly. + + + + + Creates a strongly typed object that readily casts a primitive + object to the other primitive types when possible. + + + + + The actual value being stored in its original , + returned as an . + + + + + The of the property. + + + + + Returns the for this instance. + + The enumerated constant that is the + of the class or value type that implements this interface. + + + + Returns the string equivalent of the property. + + + + + Attempts to convert or typecast to the specified type. + + The type to convert or cast to. + The object after typecasting. + + + + Attempts to convert or typecast to the specified type. + + The type to convert or cast to. + An + interface implementation that supplies culture-specific formatting information. + The object after typecasting. + + + + Returns true if the property implements + + + + + Returns true if the property + is a numeric intrinsic value. + + + + + Returns true if the property + is a numeric intrinsic value or else can be parsed into + a numeric intrinsic value. + + + + + Returns true if the value is a date or can be parsed into a date. + + + + + Returns true if the value is a TimeSpan. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance to + an equivalent value. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance to + an equivalent value using the specified culture-specific + formatting information. + + The culture-specific formatting information. + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent 8-bit unsigned integer. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent 8-bit unsigned integer using the specified + culture-specific formatting information. + + The culture-specific formatting information. + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent 16-bit signed integer. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance to + an equivalent 16-bit signed integer using the specified + culture-specific formatting information. + + The culture-specific formatting information. + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent 32-bit signed integer. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent 32-bit signed integer using the specified + culture-specific formatting information. + + The culture-specific formatting information. + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent 64-bit signed integer. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent 64-bit signed integer using the specified + culture-specific formatting information. + + The culture-specific formatting information. + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent double-precision floating-point number. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent double-precision floating-point number using the + specified culture-specific formatting information. + + The culture-specific formatting information. + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent single-precision floating-point number. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent single-precision floating-point number using the + specified culture-specific formatting information. + + The culture-specific formatting information. + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance to + an equivalent Decimal number. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance to + an equivalent Decimal number using the specified culture-specific + formatting information. + + The culture-specific formatting information. + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent 8-bit signed integer. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent 8-bit signed integer using the specified + culture-specific formatting information. + + The culture-specific formatting information. + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent 16-bit unsigned integer. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent 16-bit unsigned integer using the specified + culture-specific formatting information. + + The culture-specific formatting information. + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent 32-bit unsigned integer. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent 32-bit unsigned integer using the specified + culture-specific formatting information. + + The culture-specific formatting information. + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent 64-bit unsigned integer. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent 64-bit unsigned integer using the specified + culture-specific formatting information. + + The culture-specific formatting information. + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance to + an equivalent DateTime. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance to + an equivalent DateTime using the specified culture-specific + formatting information. + + The culture-specific formatting information. + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance to + an equivalent TimeSpan. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance to + an equivalent TimeSpan using the specified culture-specific + formatting information. + + The culture-specific formatting information. + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance to + an equivalent DateTimeOffset. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance to + an equivalent DateTimeOffset using the specified culture-specific + formatting information. + + The culture-specific formatting information. + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent Unicode character. + + + + + If is a , returns + as-is. Otherwise, attempts to convert the value of this instance + to an equivalent Unicode character using the specified + culture-specific formatting information. + + The culture-specific formatting information. + + + + Addition operator. + + + If the value on the right is a + or a , + the Variant is converted to a string and appended. + If the value on the right or the Variant + is a , arithmetic + is performed on the property and the + resulting value is set to the DateTime type. + Otherwise, if the value on the right is a number, both + the Variant and the value on the right are + converted to a , the arithmetic + is performed, and the resulting value is converted back to the + original type that the Variant previously represented. + If the type that the Variant previously represented + cannot contain the resulting value--such as if the type is a + and the value is -12--then the + type will be converted to a type that can contain + the value, such as . + + + + A new containing the resulting value. + + + + Subtraction operator. + + + If the value on the right or the Variant + is a , arithmetic + is performed on the property and the + resulting value is set to the DateTime type. + Otherwise, if the value on the right is a number, both + the Variant and the value on the right are + converted to a , the arithmetic + is performed, and the resulting value is converted back to the + original type that the Variant previously represented. + If the type that the Variant previously represented + cannot contain the resulting value--such as if the type is a + and the value is -12--then the + type will be converted to a type that can contain + the value, such as . + + + + A new containing the resulting value. + + + + Unary minus operator. + + + + + Greater than operator. + + + + + Greater than or equal operator. + + + + + Less than operator. + + + + + Less than or equal operator. + + + + + Multiplication operator. + + + If the value on the right or the Variant + is a , arithmetic + is performed on the property and the + resulting value is set to the DateTime type. + Otherwise, if the value on the right is a number, both + the Variant and the value on the right are + converted to a , the arithmetic + is performed, and the resulting value is converted back to the + original type that the Variant previously represented. + If the type that the Variant previously represented + cannot contain the resulting value--such as if the type is a + and the value is -12--then the + type will be converted to a type that can contain + the value, such as . + + + + A new containing the resulting value. + + + + Division operator. + + + If the value on the right or the Variant + is a , arithmetic + is performed on the property and the + resulting value is set to the DateTime type. + Otherwise, if the value on the right is a number, both + the Variant and the value on the right are + converted to a , the arithmetic + is performed, and the resulting value is converted back to the + original type that the Variant previously represented. + If the type that the Variant previously represented + cannot contain the resulting value--such as if the type is a + and the value is -12--then the + type will be converted to a type that can contain + the value, such as . + + + + A new containing the resulting value. + + + + Modulus operator. + + + If the value on the right or the Variant + is a , arithmetic + is performed on the property and the + resulting value is set to the DateTime type. + Otherwise, if the value on the right is a number, both + the Variant and the value on the right are + converted to a , the arithmetic + is performed, and the resulting value is converted back to the + original type that the Variant previously represented. + If the type that the Variant previously represented + cannot contain the resulting value--such as if the type is a + and the value is -12--then the + type will be converted to a type that can contain + the value, such as . + + + + A new containing the resulting value. + + + + Bitwise And operator. + + + If the value on the right or the Variant + is a , arithmetic + is performed on the property and the + resulting value is set to the DateTime type. + Otherwise, if the value on the right is a number, both + the Variant and the value on the right are + converted to a , the arithmetic + is performed, and the resulting value is converted back to the + original type that the Variant previously represented. + If the type that the Variant previously represented + cannot contain the resulting value--such as if the type is a + and the value is -12--then the + type will be converted to a type that can contain + the value, such as . + + + + A new containing the resulting value. + + + + Bitwise Or operator. + + + If the value on the right or the Variant + is a , arithmetic + is performed on the property and the + resulting value is set to the DateTime type. + Otherwise, if the value on the right is a number, both + the Variant and the value on the right are + converted to a , the arithmetic + is performed, and the resulting value is converted back to the + original type that the Variant previously represented. + If the type that the Variant previously represented + cannot contain the resulting value--such as if the type is a + and the value is -12--then the + type will be converted to a type that can contain + the value, such as . + + + + A new containing the resulting value. + + + + Inequality operator. + + + + + The opposite of == + + + + + Equality operator. + First attempts to compare the left value after + temporarily converting it to the type of the right value. + If the conversion cannot occur, such as if the value is not an + intrinsic value type, the comparison occurs at the + level using Object.Equals. + + + + + + + + Equality operator. + + + + + + + + Equality operator. + + + + + + + + Returns property unless the value on the right + is null. If the value on the right is null, returns "". + + + + + + Converts the value of this instance to an equivalent + using the specified culture-specific formatting information. + + + + + + + See . + + + + + + See . + + + + + + + Converts an object to a boolean. + For any type, if null, returns false. + For Boolean: true/false. + For String: "", "false", "0", etc. == false; + "1", "true", etc. == true, else true. + For numeric intrinsics: 0 == false, else true. + For any other non-null object, returns true. + + The string to be converted + The boolean value of this string. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies the watermark image size mode. + + + + + Specifies the normal (original) size. + + + + + Specifies the centered image. + + + + + Specifies the stretched image. + + + + + Specifies the stretched image that keeps its aspect ratio. + + + + + Specifies the tiled image. + + + + + Specifies the watermark text rotation. + + + + + Specifies a horizontal text. + + + + + Specifies a vertical text. + + + + + Specifies a diagonal text. + + + + + Specifies a backward diagonal text. + + + + + Represents the report page watermark. + + + Watermark can draw text and/or image behind the page objects on in front of them. To enable + watermark, set its Enabled property to true. + + + + + Gets or sets avalue indicating that watermark is enabled. + + + + + Gets or sets the watermark image. + + + + + Gets or sets the watermark image size mode. + + + + + Gets or sets an image transparency. + + + Valid values are 0..1. 1 means totally transparent image. + + + + + Gets or sets the watermark text. + + + + + Gets or sets a font of the watermark text. + + + + + Gets or sets a text fill. + + + + + Gets or sets a text rotation. + + + + + Gets or sets a value indicates that the text should be displayed on top of all page objects. + + + + + Gets or sets a value indicates that the image should be displayed on top of all page objects. + + + + + + + + + + Draws watermark image. + + + + + + + + + Draws watermark text. + + + + + + + + + Serializes the watermark. + + Writer object. + The watermark property name. + Another Watermark object to compare with. + + This method is for internal use only. + + + + + Disposes resources used by the watermark. + + + + + Assigns values from another source. + + Source to assign from. + + + + Creates exact copy of this Watermark. + + Copy of this watermark. + + + + Initializes a new instance of the class with default settings. + + + + + An SVG element to render circles to the document. + + + + + Gets the center point of the circle. + + The center. + + + + Gets the representing this element. + + + + + Renders the circle to the specified object. + + The graphics object. + + + + Initializes a new instance of the class. + + + + + Represents and SVG ellipse element. + + + + + Gets the for this element. + + + + + + Renders the and contents to the specified object. + + The object to render to. + + + + Initializes a new instance of the class. + + + + + Represents and SVG image + + + + + Initializes a new instance of the class. + + + + + Gets an representing the top left point of the rectangle. + + + + + Gets or sets the aspect of the viewport. + + + + + + Gets the bounds of the element. + + The bounds. + + + + Gets the for this element. + + + + + Renders the and contents to the specified object. + + + + + Represents and SVG line element. + + + + + Gets or sets the marker (end cap) of the path. + + + + + Gets or sets the marker (start cap) of the path. + + + + + Gets or sets the marker (start cap) of the path. + + + + + Renders the stroke of the to the specified + + The object to render to. + + + + Represents an element that is using a GraphicsPath as rendering base. + + + + + SvgPolygon defines a closed shape consisting of a set of connected straight line segments. + + + + + The points that make up the SvgPolygon + + + + + Gets or sets the marker (end cap) of the path. + + + + + Gets or sets the marker (start cap) of the path. + + + + + Gets or sets the marker (start cap) of the path. + + + + + Renders the stroke of the to the specified + + The object to render to. + + + + SvgPolyline defines a set of connected straight line segments. Typically, defines open shapes. + + + + + Gets or sets the marker (end cap) of the path. + + + + + Gets or sets the marker (start cap) of the path. + + + + + Gets or sets the marker (start cap) of the path. + + + + + Renders the stroke of the to the specified + + The object to render to. + + + + Represents an SVG rectangle that could also have rounded edges. + + + + + Initializes a new instance of the class. + + + + + Gets an representing the top left point of the rectangle. + + + + + Gets or sets the position where the left point of the rectangle should start. + + + + + Gets or sets the position where the top point of the rectangle should start. + + + + + Gets or sets the width of the rectangle. + + + + + Gets or sets the height of the rectangle. + + + + + Gets or sets the X-radius of the rounded edges of this rectangle. + + + + + Gets or sets the Y-radius of the rounded edges of this rectangle. + + + + + Gets or sets a value to determine if anti-aliasing should occur when the element is being rendered. + + + + + Gets the for this element. + + + + + Renders the and contents to the specified object. + + + + + The class that all SVG elements should derive from when they are to be rendered. + + + + + Gets the for this element. + + + + + Gets the bounds of the element. + + The bounds. + + + + Gets the associated if one has been specified. + + + + + Gets the associated if one has been specified. + + + + + Gets or sets the algorithm which is to be used to determine the clipping region. + + + + + Gets the associated if one has been specified. + + + + + Gets or sets a value to determine if anti-aliasing should occur when the element is being rendered. + + + + + Initializes a new instance of the class. + + + + + Renders the and contents to the specified object. + + The object to render to. + + + + Renders the fill of the to the specified + + The object to render to. + + + + Renders the stroke of the to the specified + + The object to render to. + + + + Sets the clipping region of the specified . + + The to have its clipping region set. + + + + Resets the clipping region of the specified back to where it was before the method was called. + + The to have its clipping region reset. + + + + Sets the clipping region of the specified . + + The to have its clipping region set. + + + + Resets the clipping region of the specified back to where it was before the method was called. + + The to have its clipping region reset. + + + + Gets or sets a value to determine whether the element will be rendered. + + + + + Gets or sets a value to determine whether the element will be rendered. + Needed to support SVG attribute display="none" + + + + + Gets or sets the fill of this element. + + + + + Defines the methods and properties that an must implement to support clipping. + + + + + Gets or sets the ID of the associated if one has been specified. + + + + + Specifies the rule used to define the clipping region when the element is within a . + + + + + Sets the clipping region of the specified . + + The to have its clipping region set. + + + + Resets the clipping region of the specified back to where it was before the method was called. + + The to have its clipping region reset. + + + + Defines a path that can be used by other elements. + + + + + Specifies the coordinate system for the clipping path. + + + + + Initializes a new instance of the class. + + + + + Gets this 's region to be used as a clipping region. + + A new containing the to be used for clipping. + + + + + + + + + + + Called by the underlying when an element has been added to the + collection. + + The that has been added. + An representing the index where the element was added to the collection. + + + + Called by the underlying when an element has been removed from the + collection. + + The that has been removed. + + + + Renders the and contents to the specified object. + + The object to render to. + + + + Indicates the algorithm which is to be used to determine the clipping region. + + + This rule determines the "insideness" of a point on the canvas by drawing a ray from + that point to infinity in any direction and then examining the places where a segment of the + shape crosses the ray. + + + + + This rule determines the "insideness" of a point on the canvas by drawing a ray from that point to infinity in any direction and then examining the places where a segment of the shape crosses the ray. Starting with a count of zero, add one each time a path segment crosses the ray from left to right and subtract one each time a path segment crosses the ray from right to left. After counting the crossings, if the result is zero then the point is outside the path. Otherwise, it is inside. + + + + + This rule determines the "insideness" of a point on the canvas by drawing a ray from that point to infinity in any direction and counting the number of path segments from the given shape that the ray crosses. If this number is odd, the point is inside; if even, the point is outside. + + + + + Provides properties and methods to be implemented by view port elements. + + + + + Gets or sets the viewport of the element. + + + + + Description of SvgAspectRatio. + + + + Specifies the color space for gradient interpolations, color animations and alpha compositing. + When a child element is blended into a background, the value of the ‘color-interpolation’ property on the child determines the type of blending, not the value of the ‘color-interpolation’ on the parent. For gradients which make use of the ‘xlink:href’ attribute to reference another gradient, the gradient uses the ‘color-interpolation’ property value from the gradient element which is directly referenced by the ‘fill’ or ‘stroke’ property. When animating colors, color interpolation is performed according to the value of the ‘color-interpolation’ property on the element being animated. + + + Indicates that the user agent can choose either the sRGB or linearRGB spaces for color interpolation. This option indicates that the author doesn't require that color interpolation occur in a particular color space. + + + Indicates that color interpolation should occur in the sRGB color space. + + + Indicates that color interpolation should occur in the linearized RGB color space as described above. + + + The value is inherited from the parent element. + + + Defines the coordinate system for attributes ‘markerWidth’, ‘markerHeight’ and the contents of the ‘marker’. + + + If markerUnits="strokeWidth", ‘markerWidth’, ‘markerHeight’ and the contents of the ‘marker’ represent values in a coordinate system which has a single unit equal the size in user units of the current stroke width (see the ‘stroke-width’ property) in place for the graphic object referencing the marker. + + + If markerUnits="userSpaceOnUse", ‘markerWidth’, ‘markerHeight’ and the contents of the ‘marker’ represent values in the current user coordinate system in place for the graphic object referencing the marker (i.e., the user coordinate system for the element referencing the ‘marker’ element via a ‘marker’, ‘marker-start’, ‘marker-mid’ or ‘marker-end’ property). + + + + Defines the various coordinate units certain SVG elements may use. + + + + + Indicates that the coordinate system of the owner element is to be used. + + + + + Indicates that the coordinate system of the entire document is to be used. + + + + This is the descriptor for the style of a font and takes the same values as the 'font-style' property, except that a comma-separated list is permitted. + + + Indicates that the font-face supplies all styles (normal, oblique and italic). + + + Specifies a font that is classified as 'normal' in the UA's font database. + + + Specifies a font that is classified as 'oblique' in the UA's font database. Fonts with Oblique, Slanted, or Incline in their names will typically be labeled 'oblique' in the font database. A font that is labeled 'oblique' in the UA's font database may actually have been generated by electronically slanting a normal font. + + + Specifies a font that is classified as 'italic' in the UA's font database, or, if that is not available, one labeled 'oblique'. Fonts with Italic, Cursive, or Kursiv in their names will typically be labeled 'italic' + + + The weight of a face relative to others in the same font family. + + + All font weights. + + + The value is inherited from the parent element. + + + Same as . + + + Same as . + + + One font weight darker than the parent element. + + + One font weight lighter than the parent element. + + + + + + + + + + + + Same as . + + + + + + + + + Same as . + + + + + + + + + + Represents an orientation in an Scalable Vector Graphics document. + + + + + Gets the value of the unit. + + + + + Gets the value of the unit. + + + + + Indicates whether this instance and a specified object are equal. + + Another object to compare to. + + true if and this instance are the same type and represent the same value; otherwise, false. + + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Overflow is not rendered. + + + The value is inherited from the parent element. + + + The overflow is rendered - same as "visible". + + + Overflow is rendered. + + + Overflow causes a scrollbar to appear (horizontal, vertical or both). + + + + Represents a list of used with the and . + + + + + A class to convert string into instances. + + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + An that provides a format context. + The to use as the current culture. + The to convert. + + An that represents the converted value. + + The conversion cannot be performed. + + + This property describes decorations that are added to the text of an element. Conforming SVG Viewers are not required to support the blink value. + + + The value is inherited from the parent element. + + + The text is not decorated + + + The text is underlined. + + + The text is overlined. + + + The text is struck through. + + + The text will blink. + + + Indicates the type of adjustments which the user agent shall make to make the rendered length of the text match the value specified on the ‘textLength’ attribute. + + The user agent is required to achieve correct start and end positions for the text strings, but the locations of intermediate glyphs are not predictable because user agents might employ advanced algorithms to stretch or compress text strings in order to balance correct start and end positioning with optimal typography. + Note that, for a text string that contains n characters, the adjustments to the advance values often occur only for n−1 characters (see description of attribute ‘textLength’), whereas stretching or compressing of the glyphs will be applied to all n characters. + + + + Indicates that only the advance values are adjusted. The glyphs themselves are not stretched or compressed. + + + Indicates that the advance values are adjusted and the glyphs themselves stretched or compressed in one axis (i.e., a direction parallel to the inline-progression-direction). + + + Indicates the method by which text should be rendered along the path. + + + Indicates that the glyphs should be rendered using simple 2x3 transformations such that there is no stretching/warping of the glyphs. Typically, supplemental rotation, scaling and translation transformations are done for each glyph to be rendered. As a result, with align, fonts where the glyphs are designed to be connected (e.g., cursive fonts), the connections may not align properly when text is rendered along a path. + + + Indicates that the glyph outlines will be converted into paths, and then all end points and control points will be adjusted to be along the perpendicular vectors from the path, thereby stretching and possibly warping the glyphs. With this approach, connected glyphs, such as in cursive scripts, will maintain their connections. + + + Indicates how the user agent should determine the spacing between glyphs that are to be rendered along a path. + + + Indicates that the glyphs should be rendered exactly according to the spacing rules as specified in Text on a path layout rules. + + + Indicates that the user agent should use text-on-a-path layout algorithms to adjust the spacing between glyphs in order to achieve visually appealing results. + + + + Represents a unit in an Scalable Vector Graphics document. + + + + + Gets and empty . + + + + + Gets an with a value of none. + + + + + Gets a value to determine whether the unit is empty. + + + + + Gets whether this unit is none. + + + + + Gets the value of the unit. + + + + + Gets the of unit. + + + + + Converts the current unit to one that can be used at render time. + + The container element used as the basis for calculations + The representation of the current unit in a device value (usually pixels). + + + + Converts the current unit to a percentage, if applicable. + + An of type . + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Initializes a new instance of the struct. + + The type. + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Defines the various types of unit an can be. + + + + + Indicates that the unit holds no value. + + + + + Indicates that the unit is in pixels. + + + + + Indicates that the unit is equal to the pt size of the current font. + + + + + Indicates that the unit is equal to the x-height of the current font. + + + + + Indicates that the unit is a percentage. + + + + + Indicates that the unit has no unit identifier and is a value in the current user coordinate system. + + + + + Indicates the the unit is in inches. + + + + + Indicates that the unit is in centimeters. + + + + + Indicates that the unit is in millimeters. + + + + + Indicates that the unit is in picas. + + + + + Indicates that the unit is in points, the smallest unit of measure, being a subdivision of the larger . There are 12 points in the . + + + + + Represents a list of . + + + + + A class to convert string into instances. + + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + An that provides a format context. + The to use as the current culture. + The to convert. + + An that represents the converted value. + + The conversion cannot be performed. + + + + It is often desirable to specify that a given set of graphics stretch to fit a particular container element. The viewBox attribute provides this capability. + + + + + Gets or sets the position where the viewport starts horizontally. + + + + + Gets or sets the position where the viewport starts vertically. + + + + + Gets or sets the width of the viewport. + + + + + Gets or sets the height of the viewport. + + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value. + The result of the conversion. + + + + Initializes a new instance of the struct. + + The min X. + The min Y. + The width. + The height. + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + An that provides a format context. + The to use as the current culture. + The to convert. + + An that represents the converted value. + + The conversion cannot be performed. + + + + Represents a list of re-usable SVG components. + + + + + Initializes a new instance of the class. + + + + + Renders the and contents to the specified object. + + The object to render to. + + + + Represents a list of re-usable SVG components. + + + + + Initializes a new instance of the class. + + + + + Renders the and contents to the specified object. + + The object to render to. + + + + An represents an SVG fragment that can be the root element or an embedded fragment of an SVG document. + + + + + Gets the SVG namespace string. + + + + + Gets or sets the position where the left point of the svg should start. + + + + + Gets or sets the position where the top point of the svg should start. + + + + + Gets or sets the width of the fragment. + + The width. + + + + Gets or sets the height of the fragment. + + The height. + + + + Gets or sets the viewport of the element. + + + + + + Gets or sets the aspect of the viewport. + + + + + + Refers to the size of the font from baseline to baseline when multiple lines of text are set solid in a multiline layout environment. + + + + + Indicates which font family is to be used to render the text. + + + + + Applies the required transforms to . + + The to be transformed. + + + + Gets the for this element. + + + + + + Gets the bounds of the svg element. + + The bounds. + + + + Initializes a new instance of the class. + + + + + An element used to group SVG shapes. + + + + + Gets the for this element. + + + + + + Gets the bounds of the element. + + The bounds. + + + + The �switch� element evaluates the �requiredFeatures�, �requiredExtensions� and �systemLanguage� attributes on its direct child elements in order, and then processes and renders the first child for which these attributes evaluate to true + + + + + Gets the for this element. + + + + + + Gets the bounds of the element. + + The bounds. + + + + Renders the and contents to the specified object. + + The object to render to. + + + + An element used to group SVG shapes. + + + + + Gets or sets the viewport of the element. + + + + + + Gets or sets the aspect of the viewport. + + + + + + Gets the for this element. + + + + + + Gets the bounds of the element. + + The bounds. + + + + Applies the required transforms to . + + The to be transformed. + + + + Applies the required transforms to . + + The to be transformed. + + + + Initializes a new instance of the class. + + + + + The �foreignObject� element allows for inclusion of a foreign namespace which has its graphical content drawn by a different user agent + + + + + Gets the for this element. + + + + + + Gets the bounds of the element. + + The bounds. + + + + Note: this is not used in calculations to bitmap - used only to allow for svg xml output + + + + + matrix | saturate | hueRotate | luminanceToAlpha + Indicates the type of matrix operation. The keyword 'matrix' indicates that a full 5x4 matrix of values will be provided. The other keywords represent convenience shortcuts to allow commonly used color operations to be performed without specifying a complete matrix. If attribute �type� is not specified, then the effect is as if a value of matrix were specified. + Note: this is not used in calculations to bitmap - used only to allow for svg xml output + + + + + + Gets or sets the radius of the blur (only allows for one value - not the two specified in the SVG Spec) + + + + + Note: this is not used in calculations to bitmap - used only to allow for svg xml output + + + + + The amount to offset the input graphic along the x-axis. The offset amount is expressed in the coordinate system established by attribute �primitiveUnits� on the �filter� element. + If the attribute is not specified, then the effect is as if a value of 0 were specified. + Note: this is not used in calculations to bitmap - used only to allow for svg xml output + + + + + The amount to offset the input graphic along the y-axis. The offset amount is expressed in the coordinate system established by attribute �primitiveUnits� on the �filter� element. + If the attribute is not specified, then the effect is as if a value of 0 were specified. + Note: this is not used in calculations to bitmap - used only to allow for svg xml output + + + + + A filter effect consists of a series of graphics operations that are applied to a given source graphic to produce a modified graphical result. + + + + + Gets or sets the position where the left point of the filter. + + + + + Gets or sets the position where the top point of the filter. + + + + + Gets or sets the width of the resulting filter graphic. + + + + + Gets or sets the height of the resulting filter graphic. + + + + + Gets or sets the color-interpolation-filters of the resulting filter graphic. + NOT currently mapped through to bitmap + + + + + Initializes a new instance of the class. + + + + + Renders the and contents to the specified object. + + The object to render to. + + + + Creates a new object that is a copy of the current instance. + + + A new object that is a copy of this instance. + + + + + Publish the element name to be able to differentiate non-svg elements. + + + + If specified, upon conversion, the default value will result in 'null'. + + + Creates a new instance. + + + Creates a new instance. + Specified the default value of the enum. + + + Attempts to convert the provided value to . + + + Attempts to convert the value to the destination type. + + + + Defines the methods and properties required for an SVG element to be styled. + + + + + Converts string representations of colours into objects. + + + + + Converts the given object to the converter's native type. + + A that provides a format context. You can use this object to get additional information about the environment from which this converter is being invoked. + A that specifies the culture to represent the color. + The object to convert. + + An representing the converted value. + + The conversion cannot be performed. + + + + + + + Converts HSL color (with HSL specified from 0 to 1) to RGB color. + Taken from http://www.geekymonkey.com/Programming/CSharp/RGB2HSL_HSL2RGB.htm + + + + + + + + + An unspecified . + + + + + A that should inherit from its parent. + + + + + A wrapper for a paint server which isn't defined currently in the parse process, but + should be defined by the time the image needs to render. + + + + + A wrapper for a paint server has a fallback if the primary server doesn't work. + + + + + Provides the base class for all paint servers that wish to render a gradient. + + + + + Initializes a new instance of the class. + + + + + Called by the underlying when an element has been added to the + collection. + + The that has been added. + An representing the index where the element was added to the collection. + + + + Called by the underlying when an element has been removed from the + collection. + + The that has been removed. + + + + Gets the ramp of colors to use on a gradient. + + + + + Specifies what happens if the gradient starts or ends inside the bounds of the target rectangle. + + + + + Gets or sets the coordinate system of the gradient. + + + + + Gets or sets another gradient fill from which to inherit the stops from. + + + + + Gets a representing the 's gradient stops. + + The parent . + The opacity of the colour blend. + + + Indicates what happens if the gradient starts or ends inside the bounds of the target rectangle. + + Possible values are: 'pad', which says to use the terminal colors of the gradient to fill the remainder of the target region, 'reflect', which says to reflect the gradient pattern start-to-end, end-to-start, start-to-end, etc. continuously until the target rectangle is filled, and repeat, which says to repeat the gradient pattern start-to-end, start-to-end, start-to-end, etc. continuously until the target region is filled. + If the attribute is not specified, the effect is as if a value of 'pad' were specified. + + + + Use the terminal colors of the gradient to fill the remainder of the target region. + + + Reflect the gradient pattern start-to-end, end-to-start, start-to-end, etc. continuously until the target rectangle is filled. + + + Repeat the gradient pattern start-to-end, start-to-end, start-to-end, etc. continuously until the target region is filled. + + + + Represents a colour stop in a gradient. + + + + + Gets or sets the offset, i.e. where the stop begins from the beginning, of the gradient stop. + + + + + Gets or sets the colour of the gradient stop. + + + + + Gets or sets the opacity of the gradient stop (0-1). + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The offset. + The colour. + + + + + Render this marker using the slope of the given line segment + + + + + + + + + Render this marker using the average of the slopes of the two given line segments + + + + + + + + + + Common code for rendering a marker once the orientation angle has been calculated + + + + + + + + + Create a pen that can be used to render this marker + + + + + + + Get a clone of the current path, scaled for the stroke width + + + + + + Adjust the given value to account for the width of the viewbox in the viewport + + + + + + + Adjust the given value to account for the height of the viewbox in the viewport + + + + + + + Represents the base class for all paint servers that are intended to be used as a fill or stroke. + + + + + An unspecified . + + + + + Initializes a new instance of the class. + + + + + Renders the and contents to the specified object. + + The object to render to. + + + + Gets a representing the current paint server. + + The owner . + The opacity of the brush. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + A pattern is used to fill or stroke an object using a pre-defined graphic object which can be replicated ("tiled") at fixed intervals in x and y to cover the areas to be painted. + + + + + Specifies a supplemental transformation which is applied on top of any + transformations necessary to create a new pattern coordinate system. + + + + + Gets or sets the aspect of the viewport. + + + + + + Gets or sets the width of the pattern. + + + + + Gets or sets the width of the pattern. + + + + + Gets or sets the width of the pattern. + + + + + Gets or sets the height of the pattern. + + + + + Gets or sets the X-axis location of the pattern. + + + + + Gets or sets the Y-axis location of the pattern. + + + + + Gets or sets another gradient fill from which to inherit the stops from. + + + + + Initializes a new instance of the class. + + + + + Gets a representing the current paint server. + + The owner . + The opacity of the brush. + + + + Determine how much (approximately) the path must be scaled to contain the rectangle + + Bounds that the path must contain + Path of the gradient + Scale factor + + This method continually transforms the rectangle (fewer points) until it is contained by the path + and returns the result of the search. The scale factor is set to a constant 95% + + + + Specifies the shape to be used at the end of open subpaths when they are stroked. + + + The value is inherited from the parent element. + + + The ends of the subpaths are square but do not extend past the end of the subpath. + + + The ends of the subpaths are rounded. + + + The ends of the subpaths are square. + + + Specifies the shape to be used at the corners of paths or basic shapes when they are stroked. + + + The value is inherited from the parent element. + + + The corners of the paths are joined sharply. + + + The corners of the paths are rounded off. + + + The corners of the paths are "flattened". + + + + Represents an SVG path element. + + + + + Gets or sets a of path data. + + + + + Gets or sets the length of the path. + + + + + Gets or sets the marker (end cap) of the path. + + + + + Gets or sets the marker (start cap) of the path. + + + + + Gets or sets the marker (start cap) of the path. + + + + + Gets the for this element. + + + + + Gets the bounds of the element. + + The bounds. + + + + Initializes a new instance of the class. + + + + + Renders the stroke of the to the specified + + The object to render to. + + + + Parses the specified string into a collection of path segments. + + A containing path data. + + + + Creates point with absolute coorindates. + + Raw X-coordinate value. + Raw Y-coordinate value. + Current path segments. + true if and contains relative coordinate values, otherwise false. + that contains absolute coordinates. + + + + Creates point with absolute coorindates. + + Raw X-coordinate value. + Raw Y-coordinate value. + Current path segments. + true if contains relative coordinate value, otherwise false. + true if contains relative coordinate value, otherwise false. + that contains absolute coordinates. + + + + Convenience wrapper around a graphics object + + + + + Initializes a new instance of the class. + + + + + Creates a new from the specified . + + from which to create the new . + + + + Creates a new from the specified . + + The to create the renderer from. + + + + + Indicates that the SVG shape rendering properties from the parent will be used. + + Based of parent. If parents are also not set, then + + + + Indicates that the user agent shall make appropriate tradeoffs to balance speed, crisp edges and geometric precision, but with geometric precision given more importance than speed and crisp edges. + + true + + + + Indicates that the user agent shall emphasize rendering speed over geometric precision and crisp edges. This option will sometimes cause the user agent to turn off shape anti-aliasing. + + false + + + + Indicates that the user agent shall attempt to emphasize the contrast between clean edges of artwork over rendering speed and geometric precision. To achieve crisp edges, the user agent might turn off anti-aliasing for all lines and curves or possibly just for straight lines which are close to vertical or horizontal. Also, the user agent might adjust line positions and line widths to align edges with device pixels. + + false + + + + Indicates that the user agent shall emphasize geometric precision over speed and crisp edges. + + false + + + + The creator of SVG content might want to provide a hint about what tradeoffs to make as the browser renders text. The text-rendering attribute provides these hints. + + https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/text-rendering + Not Implemented yet. + + + + Indicates that the SVG shape rendering properties from the parent will be used. + + + + + Indicates that the browser shall make appropriate tradeoffs to balance speed, legibility and geometric precision, but with legibility given more importance than speed and geometric precision. + + + + + Indicates that the user agent shall emphasize rendering speed over legibility and geometric precision. This option will sometimes cause some browsers to turn off text anti-aliasing. + + + + + Indicates that the browser shall emphasize legibility over rendering speed and geometric precision. The user agent will often choose whether to apply anti-aliasing techniques, built-in font hinting or both to produce the most legible text. + + + + + Indicates that the browser shall emphasize geometric precision over legibility and rendering speed. This option will usually cause the user agent to suspend the use of hinting so that glyph outlines are drawn with comparable geometric precision to the rendering of path data. + + + + + The image-rendering attribute provides a hint to the browser about how to make speed vs. quality tradeoffs as it performs image processing. + + https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/image-rendering + Not Implemented yet. + + + + Indicates that the SVG shape rendering properties from the parent will be used. + + + + + Indicates that the user agent shall make appropriate tradeoffs to balance speed and quality, but quality shall be given more importance than speed. + + + + + Indicates that the user agent shall emphasize rendering speed over quality. + + + + + Indicates that the user agent shall emphasize quality over rendering speed. + + + + + Specifies the SVG attribute name of the associated property. + + + + + Gets a containing the XLink namespace (http://www.w3.org/1999/xlink). + + + + + When overridden in a derived class, returns a value that indicates whether this instance equals a specified object. + + An to compare with this instance of . + + true if this instance equals ; otherwise, false. + + + + + Gets the name of the SVG attribute. + + + + + Gets the name of the SVG attribute. + + + + + Gets the namespace of the SVG attribute. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified attribute name. + + The name of the SVG attribute. + + + + Initializes a new instance of the class with the specified SVG attribute name and namespace. + + The name of the SVG attribute. + The namespace of the SVG attribute (e.g. http://www.w3.org/2000/svg). + + + + A collection of Scalable Vector Attributes that can be inherited from the owner elements ancestors. + + + + + Initialises a new instance of a with the given as the owner. + + The owner of the collection. + + + + Gets the attribute with the specified name. + + The type of the attribute value. + A containing the name of the attribute. + The attribute value if available; otherwise the default value of . + + + + Gets the attribute with the specified name. + + The type of the attribute value. + A containing the name of the attribute. + The value to return if a value hasn't already been specified. + The attribute value if available; otherwise the default value of . + + + + Gets the attribute with the specified name and inherits from ancestors if there is no attribute set. + + The type of the attribute value. + A containing the name of the attribute. + The attribute value if available; otherwise the ancestors value for the same attribute; otherwise the default value of . + + + + Gets the attribute with the specified name. + + A containing the attribute name. + The attribute value associated with the specified name; If there is no attribute the parent's value will be inherited. + + + + Fired when an Atrribute has changed + + + + + A collection of Custom Attributes + + + + + Initialises a new instance of a with the given as the owner. + + The owner of the collection. + + + + Gets the attribute with the specified name. + + A containing the attribute name. + The attribute value associated with the specified name; If there is no attribute the parent's value will be inherited. + + + + Fired when an Atrribute has changed + + + + + Create a deep copy of this . + + A deep copy of this + + + + Holds a dictionary of the default values of the SVG specification + + + + + Checks whether the property value is the default value of the svg definition. + + Name of the svg attribute + .NET value of the attribute + + + + The class used to create and load SVG documents. + + + + + Initializes a new instance of the class. + + + + + Gets an for this document. + + + + + Overwrites the current IdManager with a custom implementation. + Be careful with this: If elements have been inserted into the document before, + you have to take care that the new IdManager also knows of them. + + + + + + Gets or sets the Pixels Per Inch of the rendered image. + + + + + Gets or sets an external Cascading Style Sheet (CSS) + + + + + Retrieves the with the specified ID. + + A containing the ID of the element to find. + An of one exists with the specified ID; otherwise false. + + + + Retrieves the with the specified ID. + + A containing the ID of the element to find. + An of one exists with the specified ID; otherwise false. + + + + Opens the document at the specified path and loads the SVG contents. + + A containing the path of the file to open. + An with the contents loaded. + The document at the specified cannot be found. + + + + Opens the document at the specified path and loads the SVG contents. + + A containing the path of the file to open. + An with the contents loaded. + The document at the specified cannot be found. + + + + Opens the document at the specified path and loads the SVG contents. + + A containing the path of the file to open. + A dictionary of custom entity definitions to be used when resolving XML entities within the document. + An with the contents loaded. + The document at the specified cannot be found. + + + + Attempts to open an SVG document from the specified . + + The containing the SVG document to open. + + + + Attempts to create an SVG document from the specified string data. + + The SVG data. + + + + Opens an SVG document from the specified and adds the specified entities. + + The containing the SVG document to open. + Custom entity definitions. + The parameter cannot be null. + + + + Opens an SVG document from the specified . + + The containing the SVG document XML. + The parameter cannot be null. + + + + Renders the to the specified . + + The to render the document with. + The parameter cannot be null. + + + + Renders the to the specified . + + The to be rendered to. + The parameter cannot be null. + + + + Renders the and returns the image as a . + + A containing the rendered document. + + + + Renders the into a given Bitmap . + + + + + Renders the in given size and returns the image as a . + + A containing the rendered document. + + + + If both or one of raster height and width is not given (0), calculate that missing value from original SVG size + while keeping original SVG size ratio + + + + + + + + Maps a URI to an object containing the actual resource. + + The URI returned from + The current implementation does not use this parameter when resolving URIs. This is provided for future extensibility purposes. For example, this can be mapped to the xlink:role and used as an implementation specific argument in other scenarios. + The type of object to return. The current implementation only returns System.IO.Stream objects. + + A System.IO.Stream object or null if a type other than stream is specified. + + + is neither null nor a Stream type. + The specified URI is not an absolute URI. + + is null. + There is a runtime error (for example, an interrupted server connection). + + + + The base class of which all SVG elements are derived from. + + + + + Gets the name of the element. + + + + + Gets or sets the color of this element which drives the currentColor property. + + + + + Gets or sets the content of the element. + + + + + Gets an of all events belonging to the element. + + + + + Occurs when the element is loaded. + + + + + Gets a collection of all child . + + + + + Gets a value to determine whether the element has children. + + + + + Gets the parent . + + An if one exists; otherwise null. + + + + Gets the owner . + + + + + Gets a collection of element attributes. + + + + + Gets a collection of custom attributes + + + + + Applies the required transforms to . + + The to be transformed. + + + + Removes any previously applied transforms from the specified . + + The that should have transforms removed. + + + + Applies the required transforms to . + + The to be transformed. + + + + Removes any previously applied transforms from the specified . + + The that should have transforms removed. + + + + Gets or sets the element transforms. + + The transforms. + + + + Gets or sets the ID of the element. + + The ID is already used within the . + + + + Gets or sets the space handling. + + The space handling. + + + + Only used by the ID Manager + + + + + + Called by the underlying when an element has been added to the + collection. + + The that has been added. + An representing the index where the element was added to the collection. + + + + Fired when an Element was added to the children of this Element + + + + + Calls the method with the specified parameters. + + The that has been added. + An representing the index where the element was added to the collection. + + + + Called by the underlying when an element has been removed from the + collection. + + The that has been removed. + + + + Calls the method with the specified as the parameter. + + The that has been removed. + + + + Initializes a new instance of the class. + + + + + Renders this element to the . + + The that the element should use to render itself. + + + Derrived classes may decide that the element should not be written. For example, the text element shouldn't be written if it's empty. + + + + Renders the and contents to the specified object. + + The object to render to. + + + + Renders the children of this . + + The to render the child s to. + + + + Renders the and contents to the specified object. + + The object to render to. + + + + Recursive method to add up the paths of all children + + + + + + + Recursive method to add up the paths of all children + + + + + + + Creates a new object that is a copy of the current instance. + + + A new object that is a copy of this instance. + + + + + Fired when an Atrribute of this Element has changed + + + + + Fired when an Atrribute of this Element has changed + + + + + Gets or sets a value indicating whether this element's is dirty. + + + true if the path is dirty; otherwise, false. + + + + + Force recreation of the paths for the element and it's children. + + + + + Gets or sets the fill of this element. + + + + + Gets or sets the to be used when rendering a stroke around this element. + + + + + Gets or sets the opacity of this element's . + + + + + Gets or sets the width of the stroke (if the property has a valid value specified. + + + + + Gets or sets the opacity of the stroke, if the property has been specified. 1.0 is fully opaque; 0.0 is transparent. + + + + + Gets or sets the colour of the gradient stop. + + Apparently this can be set on non-sensical elements. Don't ask; just check the tests. + + + + Gets or sets the opacity of the element. 1.0 is fully opaque; 0.0 is transparent. + + + + + Refers to the AnitAlias rendering of shapes. + + + + + Gets or sets the text anchor. + + + + + Specifies dominant-baseline positioning of text. + + + + + Indicates which font family is to be used to render the text. + + + + + Refers to the size of the font from baseline to baseline when multiple lines of text are set solid in a multiline layout environment. + + + + + Refers to the style of the font. + + + + + Refers to the varient of the font. + + + + + Refers to the boldness of the font. + + + + + Refers to the boldness of the font. + + + + + Set all font information. + + + + + Get the font information based on data stored with the text object or inherited from the parent. + + + + + + Describes the Attribute which was set + + + + + Content of this whas was set + + + + + Describes the Attribute which was set + + + + + Represents the state of the mouse at the moment the event occured. + + + + + 1 = left, 2 = middle, 3 = right + + + + + Amount of mouse clicks, e.g. 2 for double click + + + + + Alt modifier key pressed + + + + + Shift modifier key pressed + + + + + Control modifier key pressed + + + + + Represents a string argument + + + + + Alt modifier key pressed + + + + + Shift modifier key pressed + + + + + Control modifier key pressed + + + + + Create a deep copy of this . + + A deep copy of this + + + This interface mostly indicates that a node is not to be drawn when rendering the SVG. + + + + Specifies the SVG name of an . + + + + + Gets the name of the SVG element. + + + + + Initializes a new instance of the class with the specified element name; + + The name of the SVG element. + + + + Represents a collection of s. + + + + + Initialises a new instance of an class. + + The owner of the collection. + + + + Returns the index of the specified in the collection. + + The to search for. + The index of the element if it is present; otherwise -1. + + + + Inserts the given to the collection at the specified index. + + The index that the should be added at. + The to be added. + + + + expensive recursive search for nodes of type T + + + + + + + expensive recursive search for first node of type T + + + + + + + Provides the methods required in order to parse and create instances from XML. + + + + + Gets a list of available types that can be used when creating an . + + + + + Creates an from the current node in the specified . + + The containing the node to parse into an . + The parameter cannot be null. + The CreateDocument method can only be used to parse root <svg> elements. + + + + Creates an from the current node in the specified . + + The containing the node to parse into a subclass of . + The that the created element belongs to. + The and parameters cannot be null. + + + + Contains information about a type inheriting from . + + + + + Gets the SVG name of the . + + + + + Gets the of the subclass. + + + + + Initializes a new instance of the struct. + + Name of the element. + Type of the element. + + + + Initializes a new instance of the class. + + + + + Provides methods to ensure element ID's are valid and unique. + + + + + Retrieves the with the specified ID. + + A containing the ID of the element to find. + An of one exists with the specified ID; otherwise false. + + + + Adds the specified for ID management. + + The to be managed. + + + + Adds the specified for ID management. + And can auto fix the ID if it already exists or it starts with a number. + + The to be managed. + Pass true here, if you want the ID to be fixed + If not null, the action is called before the id is fixed + true, if ID was altered + + + + Removed the specified from ID management. + + The to be removed from ID management. + + + + Ensures that the specified ID is valid within the containing . + + A containing the ID to validate. + Creates a new unique id . + + The ID cannot start with a digit. + An element with the same ID already exists within the containing . + + + + + Initialises a new instance of an . + + The containing the s to manage. + + + + Svg helpers + + + + + Gets the text value of the current node. + + + The value returned depends on the of the node. The following table lists node types that have a value to return. All other node types return String.Empty.Node Type Value AttributeThe value of the attribute. CDATAThe content of the CDATA section. CommentThe content of the comment. DocumentTypeThe internal subset. ProcessingInstructionThe entire content, excluding the target. SignificantWhitespaceThe white space within an xml:space= 'preserve' scope. TextThe content of the text node. WhitespaceThe white space between markup. XmlDeclarationThe content of the declaration. + + + + Gets the local name of the current node. + + + The name of the current node with the prefix removed. For example, LocalName is book for the element <bk:book>.For node types that do not have a name (like Text, Comment, and so on), this property returns String.Empty. + + + + Moves to the next attribute. + + + true if there is a next attribute; false if there are no more attributes. + + + + + Reads the next node from the stream. + + + true if the next node was read successfully; false if there are no more nodes to read. + + An error occurred while parsing the XML. + + + + Resolves the entity reference for EntityReference nodes. + + + + + Gets the text value of the current node. + + + The value returned depends on the of the node. The following table lists node types that have a value to return. All other node types return String.Empty.Node Type Value AttributeThe value of the attribute. CDATAThe content of the CDATA section. CommentThe content of the comment. DocumentTypeThe internal subset. ProcessingInstructionThe entire content, excluding the target. SignificantWhitespaceThe white space within an xml:space= 'preserve' scope. TextThe content of the text node. WhitespaceThe white space between markup. XmlDeclarationThe content of the declaration. + + + + Gets the local name of the current node. + + + The name of the current node with the prefix removed. For example, LocalName is book for the element <bk:book>.For node types that do not have a name (like Text, Comment, and so on), this property returns String.Empty. + + + + Moves to the next attribute. + + + true if there is a next attribute; false if there are no more attributes. + + + + + Reads the next node from the stream. + + + true if the next node was read successfully; false if there are no more nodes to read. + + An error occurred while parsing the XML. + + + + Resolves the entity reference for EntityReference nodes. + + + + + http://stackoverflow.com/questions/3633000/net-enumerate-winforms-font-styles + + + + + Evaluates the integral of the function over the integral using the specified number of points + + + + + + + + http://en.wikipedia.org/wiki/B%C3%A9zier_curve + + + http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/spline/Bezier/bezier-der.html + + + + Indicates which font family is to be used to render the text. + + + + + Refers to the size of the font from baseline to baseline when multiple lines of text are set solid in a multiline layout environment. + + + + + Refers to the style of the font. + + + + + Refers to the varient of the font. + + + + + Refers to the boldness of the font. + + + + + Gets or sets a of path data. + + + + + Gets the for this element. + + + + + Initializes a new instance of the class. + + + + + The element defines a graphics element consisting of text. + + + + + Initializes the class. + + + + + Initializes a new instance of the class. + + The text. + + + + Text anchor is used to align (start-, middle- or end-alignment) a string of text relative to a given point. + + + + The value is inherited from the parent element. + + + + The rendered characters are aligned such that the start of the text string is at the initial current text position. + + + + + The rendered characters are aligned such that the middle of the text string is at the current text position. + + + + + The rendered characters are aligned such that the end of the text string is at the initial current text position. + + + + + Gets or sets the text to be rendered. + + + + + Gets or sets the X. + + The X. + + + + Gets or sets the dX. + + The dX. + + + + Gets or sets the Y. + + The Y. + + + + Gets or sets the dY. + + The dY. + + + + Gets or sets the rotate. + + The rotate. + + + + The pre-calculated length of the text + + + + + Gets or sets the text anchor. + + The text anchor. + + + + Specifies spacing behavior between text characters. + + + + + Specifies spacing behavior between words. + + + + + Gets or sets the fill. + + + Unlike other s, has a default fill of black rather than transparent. + + The fill. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets the bounds of the element. + + The bounds. + + + + Renders the and contents to the specified object. + + The object to render to. + Necessary to make sure that any internal tspan elements get rendered as well + + + + Gets the for this element. + + + + + + Sets the path on this element and all child elements. Uses the state + object to track the state of the drawing + + State of the drawing operation + + + + Prepare the text according to the whitespace handling rules. SVG Spec. + + Text to be prepared + Prepared text + + + Empty text elements are not legal - only write this element if it has children. + + + + The element defines a graphics element consisting of text. + + + + + Represents and element that may be transformed. + + + + + Gets or sets an of element transforms. + + + + + Applies the required transforms to . + + The to be transformed. + + + + Removes any previously applied transforms from the specified . + + The that should have transforms removed. + + + + The class which applies custom transform to this Matrix (Required for projects created by the Inkscape). + + + + + The class which applies the specified shear vector to this Matrix. + + + + + The class which applies the specified skew vector to this Matrix. + + + + + Multiplies all matrices + + The result of all transforms + + + + Fired when an SvgTransform has changed + + + + + Converts the given object to the type of this converter, using the specified context and culture information. + + An that provides a format context. + The to use as the current culture. + The to convert. + + An that represents the converted value. + + The conversion cannot be performed. + + + The maximum allowed codepoint (defined in Unicode). + + + + Return the shortest form possible + + + + + exposed enumeration for the adding of separators into term lists + + + + + An implementation that generates + human-readable description of the selector. + + + + + Initializes the text. + + + + + Gets the generated human-readable description text. + + + + + Generates human-readable for a selector in a group. + + + + + Concludes the text. + + + + + Adds to the generated human-readable text. + + + + + Generates human-readable text of this type selector. + + + + + Generates human-readable text of this universal selector. + + + + + Generates human-readable text of this ID selector. + + + + + Generates human-readable text of this class selector. + + + + + Generates human-readable text of this attribute selector. + + + + + Generates human-readable text of this attribute selector. + + + + + Generates human-readable text of this attribute selector. + + + + + Generates human-readable text of this attribute selector. + + + + + Generates human-readable text of this attribute selector. + + + + + Generates human-readable text of this attribute selector. + + + + + Generates human-readable text of this attribute selector. + + + + + Generates human-readable text of this pseudo-class selector. + + + + + Generates human-readable text of this pseudo-class selector. + + + + + Generates human-readable text of this pseudo-class selector. + + + + + Generates human-readable text of this pseudo-class selector. + + + + + Generates human-readable text of this pseudo-class selector. + + + + + Generates human-readable text of this combinator. + + + + + Generates human-readable text of this combinator. + + + + + Generates human-readable text of this combinator. + + + + + Generates a combinator, + which separates two sequences of simple selectors. The elements represented + by the two sequences share the same parent in the document tree and the + element represented by the first sequence precedes (not necessarily + immediately) the element represented by the second one. + + + + + Generates human-readable text of this combinator. + + + + + Represents a selectors implementation for an arbitrary document/node system. + + + + + Generates a type selector, + which represents an instance of the element type in the document tree. + + + + + Generates a universal selector, + any single element in the document tree in any namespace + (including those without a namespace) if no default namespace + has been specified for selectors. + + + + + Generates a ID selector, + which represents an element instance that has an identifier that + matches the identifier in the ID selector. + + + + + Generates a class selector, + which is an alternative when + representing the class attribute. + + + + + Generates an attribute selector + that represents an element with the given attribute + whatever the values of the attribute. + + + + + Generates an attribute selector + that represents an element with the given attribute + and whose value is exactly . + + + + + Generates an attribute selector + that represents an element with the given attribute + and whose value is a whitespace-separated list of words, one of + which is exactly . + + + + + Generates an attribute selector + that represents an element with the given attribute , + its value either being exactly or beginning + with immediately followed by "-" (U+002D). + + + + + Generates an attribute selector + that represents an element with the attribute + whose value begins with the prefix . + + + + + Generates an attribute selector + that represents an element with the attribute + whose value ends with the suffix . + + + + + Generates an attribute selector + that represents an element with the attribute + whose value contains at least one instance of the substring . + + + + + Generates a pseudo-class selector, + which represents an element that is the first child of some other element. + + + + + Generates a pseudo-class selector, + which represents an element that is the last child of some other element. + + + + + Generates a pseudo-class selector, + which represents an element that is the N-th child of some other element. + + + + + Generates a pseudo-class selector, + which represents an element that has a parent element and whose parent + element has no other element children. + + + + + Generates a pseudo-class selector, + which represents an element that has no children at all. + + + + + Generates a combinator, + which represents a childhood relationship between two elements. + + + + + Generates a combinator, + which represents a relationship between two elements where one element is an + arbitrary descendant of some ancestor element. + + + + + Generates a combinator, + which represents elements that share the same parent in the document tree and + where the first element immediately precedes the second element. + + + + + Generates a combinator, + which separates two sequences of simple selectors. The elements represented + by the two sequences share the same parent in the document tree and the + element represented by the first sequence precedes (not necessarily + immediately) the element represented by the second one. + + + + + Generates a pseudo-class selector, + which represents an element that is the N-th child from bottom up of some other element. + + + + + Represent an implementation that is responsible for generating + an implementation for a selector. + + + + + Delimits the initialization of a generation. + + + + + Delimits the closing/conclusion of a generation. + + + + + Delimits a selector generation in a group of selectors. + + + + + Generates a type selector, + which represents an instance of the element type in the document tree. + + + + + Generates a universal selector, + any single element in the document tree in any namespace + (including those without a namespace) if no default namespace + has been specified for selectors. + + + + + Generates a ID selector, + which represents an element instance that has an identifier that + matches the identifier in the ID selector. + + + + + Generates a class selector, + which is an alternative when + representing the class attribute. + + + + + Generates an attribute selector + that represents an element with the given attribute + whatever the values of the attribute. + + + + + Generates an attribute selector + that represents an element with the given attribute + and whose value is exactly . + + + + + Generates an attribute selector + that represents an element with the given attribute + and whose value is a whitespace-separated list of words, one of + which is exactly . + + + + + Generates an attribute selector + that represents an element with the given attribute , + its value either being exactly or beginning + with immediately followed by "-" (U+002D). + + + + + Generates an attribute selector + that represents an element with the attribute + whose value begins with the prefix . + + + + + Generates an attribute selector + that represents an element with the attribute + whose value ends with the suffix . + + + + + Generates an attribute selector + that represents an element with the attribute + whose value contains at least one instance of the substring . + + + + + Generates a pseudo-class selector, + which represents an element that is the first child of some other element. + + + + + Generates a pseudo-class selector, + which represents an element that is the last child of some other element. + + + + + Generates a pseudo-class selector, + which represents an element that is the N-th child of some other element. + + + + + Generates a pseudo-class selector, + which represents an element that has a parent element and whose parent + element has no other element children. + + + + + Generates a pseudo-class selector, + which represents an element that has no children at all. + + + + + Generates a combinator, + which represents a childhood relationship between two elements. + + + + + Generates a combinator, + which represents a relationship between two elements where one element is an + arbitrary descendant of some ancestor element. + + + + + Generates a combinator, + which represents elements that share the same parent in the document tree and + where the first element immediately precedes the second element. + + + + + Generates a combinator, + which separates two sequences of simple selectors. The elements represented + by the two sequences share the same parent in the document tree and the + element represented by the first sequence precedes (not necessarily + immediately) the element represented by the second one. + + + + + Generates a pseudo-class selector, + which represents an element that is the N-th child from bottom up of some other element. + + + + + Represent a type or attribute name. + + + + + Represents a name from either the default or any namespace + in a target document, depending on whether a default namespace is + in effect or not. + + + + + Represents an empty namespace. + + + + + Represents any namespace. + + + + + Initializes an instance with a namespace prefix specification. + + + + + Gets the raw text value of this instance. + + + + + Indicates whether this instance represents a name + from either the default or any namespace in a target + document, depending on whether a default namespace is + in effect or not. + + + + + Indicates whether this instance represents a name + from any namespace (including one without one) + in a target document. + + + + + Indicates whether this instance represents a name + without a namespace in a target document. + + + + + Indicates whether this instance represents a name from a + specific namespace or not. + + + + + Indicates whether this instance and a specified object are equal. + + + + + Indicates whether this instance and another are equal. + + + + + Returns the hash code for this instance. + + + + + Returns a string representation of this instance. + + + + + Formats this namespace together with a name. + + + + + Semantic parser for CSS selector grammar. + + + + + Parses a CSS selector group and generates its implementation. + + + + + Parses a CSS selector group and generates its implementation. + + + + + Parses a tokenized stream representing a CSS selector group and + generates its implementation. + + + + + Parses a tokenized stream representing a CSS selector group and + generates its implementation. + + + + + Adds reading semantics to a base with the + option to un-read and insert new elements while consuming the source. + + + + + Initialize a new with a base + object. + + + + + Initialize a new with a base + object. + + + + + Indicates whether there is, at least, one value waiting to be read or not. + + + + + Pushes back a new value that will be returned on the next read. + + + + + Reads and returns the next value. + + + + + Peeks the next value waiting to be read. + + + Thrown if there is no value waiting to be read. + + + + + Returns an enumerator that iterates through the remaining + values to be read. + + + + + Disposes the enumerator used to initialize this object + if that enumerator supports . + + + + + Represents a selector implementation over an arbitrary type of elements. + + + + + A selector generator implementation for an arbitrary document/element system. + + + + + Initializes a new instance of this object with an instance + of and the default equality + comparer that is used for determining if two elements are equal. + + + + + Initializes a new instance of this object with an instance + of and an equality comparer + used for determining if two elements are equal. + + + + + Gets the selector implementation. + + + If the generation is not complete, this property returns the + last generated selector. + + + + + Gets the instance that this object + was initialized with. + + + + + Returns the collection of selector implementations representing + a group. + + + If the generation is not complete, this method return the + selectors generated so far in a group. + + + + + Adds a generated selector. + + + + + Delimits the initialization of a generation. + + + + + Delimits a selector generation in a group of selectors. + + + + + Delimits the closing/conclusion of a generation. + + + + + Generates a ID selector, + which represents an element instance that has an identifier that + matches the identifier in the ID selector. + + + + + Generates a class selector, + which is an alternative when + representing the class attribute. + + + + + Generates a type selector, + which represents an instance of the element type in the document tree. + + + + + Generates a universal selector, + any single element in the document tree in any namespace + (including those without a namespace) if no default namespace + has been specified for selectors. + + + + + Generates an attribute selector + that represents an element with the given attribute + whatever the values of the attribute. + + + + + Generates an attribute selector + that represents an element with the given attribute + and whose value is exactly . + + + + + Generates an attribute selector + that represents an element with the given attribute + and whose value is a whitespace-separated list of words, one of + which is exactly . + + + + + Generates an attribute selector + that represents an element with the given attribute , + its value either being exactly or beginning + with immediately followed by "-" (U+002D). + + + + + Generates an attribute selector + that represents an element with the attribute + whose value begins with the prefix . + + + + + Generates an attribute selector + that represents an element with the attribute + whose value ends with the suffix . + + + + + Generates an attribute selector + that represents an element with the attribute + whose value contains at least one instance of the substring . + + + + + Generates a pseudo-class selector, + which represents an element that is the first child of some other element. + + + + + Generates a pseudo-class selector, + which represents an element that is the last child of some other element. + + + + + Generates a pseudo-class selector, + which represents an element that is the N-th child of some other element. + + + + + Generates a pseudo-class selector, + which represents an element that has a parent element and whose parent + element has no other element children. + + + + + Generates a pseudo-class selector, + which represents an element that has no children at all. + + + + + Generates a combinator, + which represents a childhood relationship between two elements. + + + + + Generates a combinator, + which represents a relationship between two elements where one element is an + arbitrary descendant of some ancestor element. + + + + + Generates a combinator, + which represents elements that share the same parent in the document tree and + where the first element immediately precedes the second element. + + + + + Generates a combinator, + which separates two sequences of simple selectors. The elements represented + by the two sequences share the same parent in the document tree and the + element represented by the first sequence precedes (not necessarily + immediately) the element represented by the second one. + + + + + Generates a pseudo-class selector, + which represents an element that is the N-th child from bottom up of some other element. + + + + + An implementation that delegates + to two other objects, which + can be useful for doing work in a single pass. + + + + + Gets the first generator used to initialize this generator. + + + + + Gets the second generator used to initialize this generator. + + + + + Initializes a new instance of + with the two other objects + it delegates to. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Delegates to then generator. + + + + + Implementation for a selectors compiler that supports caching. + + + This class is primarily targeted for developers of selection + over an arbitrary document model. + + + + + Creates a caching selectors compiler on top on an existing compiler. + + + + + Creates a caching selectors compiler on top on an existing compiler. + An addition parameter specified a dictionary to use as the cache. + + + If is null then this method uses a + the implementation with an + ordinally case-insensitive selectors text comparer. + + + + + Represent a token and optionally any text associated with it. + + + + + Gets the kind/type/class of the token. + + + + + Gets text, if any, associated with the token. + + + + + Creates an end-of-input token. + + + + + Creates a star token. + + + + + Creates a dot token. + + + + + Creates a colon token. + + + + + Creates a comma token. + + + + + Creates a right parenthesis token. + + + + + Creates an equals token. + + + + + Creates a left bracket token. + + + + + Creates a right bracket token. + + + + + Creates a pipe (vertical line) token. + + + + + Creates a plus token. + + + + + Creates a greater token. + + + + + Creates an includes token. + + + + + Creates a dash-match token. + + + + + Creates a prefix-match token. + + + + + Creates a suffix-match token. + + + + + Creates a substring-match token. + + + + + Creates a general sibling token. + + + + + Creates an identifier token. + + + + + Creates an integer token. + + + + + Creates a hash-name token. + + + + + Creates a white-space token. + + + + + Creates a string token. + + + + + Creates a function token. + + + + + Creates an arbitrary character token. + + + + + Indicates whether this instance and a specified object are equal. + + + + + Returns the hash code for this instance. + + + + + Indicates whether the current object is equal to another object of the same type. + + + + + Gets a string representation of the token. + + + + + Performs a logical comparison of the two tokens to determine + whether they are equal. + + + + + Performs a logical comparison of the two tokens to determine + whether they are inequal. + + + + + Lexer for tokens in CSS selector grammar. + + + + + Parses tokens from a given text source. + + + + + Parses tokens from a given string. + + + + + Represents the classification of a token. + + + + + Represents end of input/file/stream + + + + + Represents {ident} + + + + + Represents "#" {name} + + + + + Represents "~=" + + + + + Represents "|=" + + + + + Represents "^=" + + + + + Represents "$=" + + + + + Represents "*=" + + + + + Represents {string} + + + + + Represents S* "+" + + + + + Represents S* ">" + + + + + Represents [ \t\r\n\f]+ + + + + + Represents {ident} ")" + + + + + Represents [0-9]+ + + + + + Represents S* "~" + + + + + Represents an arbitrary character + + +
+
diff --git a/Logbuch/Logbuch/bin/Debug/German.frl b/Logbuch/Logbuch/bin/Debug/German.frl new file mode 100644 index 0000000..c3bbb52 --- /dev/null +++ b/Logbuch/Logbuch/bin/Debug/German.frl @@ -0,0 +1,2235 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + +