From cf9808e706557808ce8fcdc0b86d4f7a02dba043 Mon Sep 17 00:00:00 2001 From: rida-fatima-aspose Date: Wed, 5 Apr 2017 00:17:30 +0500 Subject: [PATCH 01/80] Updated links in read me file --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index be58421..9c7d85d 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ##GroupDocs.Assembly for .NET -This package contains [Examples](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Examples), [Plugins](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Plugins) and [Showcases](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Showcases) for [GroupDocs.Assembly for .NET](http://groupdocs.com/dot-net/document-assembly-library) that will help you in understanding the API's working and writing your own applications. +This package contains [Examples](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Examples), [Plugins](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Plugins) and [Showcases](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Showcases) for [GroupDocs.Assembly for .NET](https://www.groupdocs.com/products/assembly/net) that will help you in understanding the API's working and writing your own applications. GroupDocs.Assembly for .NET is a .NET API engine designed to generate documents based on templates. In essence, the engine accepts a template document and some data, assembles data with the template document as per syntax defined by the template document and then, generates the output document in the same format as of the template document format. @@ -20,8 +20,8 @@ Directory | Description ## Resources + **Website:** [www.groupdocs.com](http://www.groupdocs.com) -+ **Product Home:** [GroupDocs.Assembly for .NET](http://groupdocs.com/dot-net/document-assembly-library) -+ **Download:** [Download GroupDocs.Assembly for .NET](http://groupdocs.com/Community/files/8/.net-libraries/groupdocs_assembly_for_.net/default.aspx) -+ **Documentation:** [GroupDocs.Assembly for .NET Documentation](http://groupdocs.com/docs/display/assemblynet/Introducing+GroupDocs.Assembly+for+.NET) ++ **Product Home:** [GroupDocs.Assembly for .NET](https://www.groupdocs.com/products/assembly/net) ++ **Download:** [Download GroupDocs.Assembly for .NET](https://downloads.groupdocs.com/assembly/net) ++ **Documentation:** [GroupDocs.Assembly for .NET Documentation](https://docs.groupdocs.com/display/assemblynet/Introducing+GroupDocs.Assembly+for+.NET) + **Forum:** [GroupDocs.Assembly for .NET Forum](http://groupdocs.com/Community/forums/groupdocs.assembly-product-family/8/showforum.aspx) -+ **Blog:** [GroupDocs.Assembly for .NET Blog](http://groupdocs.com/blog/simplest-api-for-document-automation-and-reports-generation) ++ **Blog:** [GroupDocs.Assembly for .NET Blog](https://blog.groupdocs.com/category/groupdocs-assembly-product-family/) From 7eda79e468f79edefb1d52c202710d955adc3021 Mon Sep 17 00:00:00 2001 From: rida-fatima-aspose Date: Mon, 10 Apr 2017 15:18:09 +0500 Subject: [PATCH 02/80] bar code image added --- Examples/Data/Screenshots/Barcode.png | Bin 0 -> 3019 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Examples/Data/Screenshots/Barcode.png diff --git a/Examples/Data/Screenshots/Barcode.png b/Examples/Data/Screenshots/Barcode.png new file mode 100644 index 0000000000000000000000000000000000000000..d8c39a521c7ef960db1e7c20b2430a275679c85e GIT binary patch literal 3019 zcmeHJTU3)*7LJoTKrzIrj$nzQ3{zo*3NEA$@F#z{iCjay1w|4f?RY`uZbHbVKtUOm zpr8yO1T5DHg<24TKtK>uqZmsRid@nVVwyk_LcoL&lKy?^%d9nP-p7Y?_TFplv(8@M z_nm!qVN7%=;{6ZbhrwWoutULzA=?G5lh%KPc4G&B2r`?}4~GWATA!m7Q1ITFfT#c% z>^{rZMA{6+HYtZrq{Co#P@>(?CVq0$7ciJ@LRfIXQ3^p-F~uo6W}jaV)<$TQ;m%v5 zhOM`65drrk&Ywj7v*;gLSoZKrpodG$J$T&*P4=gM+@$*KgZ!J#AB6;D)c*NwZA?Xl z`*<37KmOCW#7~lWnl3pU-mg{fd$V#{t?FUY`*NijZj9+@{v2PG;qkk(oXRw5`J~Yb zAB9kj)}oeyd0|qz8 zHKC81pKohVkpD^OEX?x>9d+g;%LW7-^h@+%c^u~K4E#9pw{zzR)$mMqE^V5FZ;Kw1 zl5u1f#V!lo;(Oli1l`^0IAOKsZLyzN8L)u<&iHRD_bcJLWmMDpb`#ef(}bye-bH=! z(5i)}d?ctH>jkWo*v+6i9C;qutos(-q29!4qkfmxwBJ*h^APul)iaj&I!H<5Sbdv4 zpyZ%iP6-XpfS!1EM$$?tz_!}C(}FW<1n z$T(AbPbhE&K(6UtqXg`-v;^5PWIYOfJFQ!oUGqkVg1!$-tZymkDf>v6w`%GyW=*A< z#Y@u5emlTRjfvX-aGJ5|wtlmpM_i`|u(2YtoK=j~OGXcfxAdEhNdgpxy1(V*gFSTB zZ9Kt7E@b0`J=?&xQ@xZ_!38l7a~G4{x!~?>GUn?3yz84jc)ZX)-J?4QuXRx z1qjDGMg9zod7`ednz{$jKHgSK>}QZRjH?p8n2FnfYI9$lY$;x&wxq@l)r;I3>TF&vL>MuZhpnjVm@R%-h)IXrZ)$m92X-D&eiGZN-fB zixVXag>A@^-BICSyo>fTO}D&yY5A#VBb;#mbjaT?FUA^AlIQxZr6V_b)Lf^m`I{*d z@#OmCKR94%6eIpGav^Bh0>Q@o*MVfh#J0x9)FXVl@?~?zS6ZJse@(A0+D~~-)R51k zuNTbpkQ?RNM$@x$?;!}vq1O+RM4S*>=2dU(`eJ)&j$!t$lO9SOd{G-T^s@Pg$YfyN z>sED6jjd-!oBXfu^xnOpSc$x(-C6XMBss?;zbDUs6eLs=k zpqD_iNW%qFz88<^d9uST%g`k)LID&nKtG*+?lKMU&m1($f5j{%AjpXW~LS8`(1hHoD|o(+m0Ys!FrW0C7>m>VGz(PrK}kscev9 z)89lo0F)F5pYtyf>>$l_xA#WwPUe$qnqilN*AKNJK+{r?kqRiSoM>M3XZHQ*Gmr7N z3}$p8`yyZ7C1zxESI6T-xD~@>=6q!`&*o{FCyvMpMV*0kzo1CcYPJ(|E_KW9czr1- z%`ohW)$VE>LCY5*ABCQ%0&~WPy`NC+ywo&^fW<6`mNye$?*2hiA8z ws)vZR59hBDM_5yeSQEFZX!yT7F@XlhV_R>;)kq1yjq9+mkm%snz=Ygi0r75xasU7T literal 0 HcmV?d00001 From 0a7acd68ea6e45eccf72ee318fa0040ff6c68847 Mon Sep 17 00:00:00 2001 From: rida-fatima-aspose Date: Mon, 10 Apr 2017 19:53:06 +0500 Subject: [PATCH 03/80] examples updated --- .../CommonUtilities.cs | 13 +- ...Docs.AssemblyExamples.BusinessLayer.csproj | 6 +- .../packages.config | 1 + ...nNameExtractingDocumentTableLoadHandler.cs | 14 + .../CustomDocumentTableLoadHandler.cs | 29 +++ .../GenerateReport.cs | 244 ++++++++++++++---- .../GroupDocs.AssemblyExamples.csproj | 8 +- .../GroupDocs.AssemblyExamples/Program.cs | 41 +-- .../packages.config | 2 +- .../Excel DataSource/Related Tables Data.xlsx | Bin 0 -> 9769 bytes .../Word DataSource/Multiple Tables Data.docx | Bin 0 -> 12455 bytes .../Bubble Chart_Json Report.docx | Bin 0 -> 20414 bytes .../Word Reports/Using Next Report.docx | Bin 0 -> 10484 bytes .../Changing Document Table Column Type.pptx | Bin 0 -> 33465 bytes ...ing Document Table Set as Data Source.pptx | Bin 0 -> 35234 bytes .../Data/Source/Word Templates/Barcode.docx | Bin 14756 -> 16429 bytes .../Using Document Table Relations.docx | Bin 0 -> 12389 bytes ...nNameExtractingDocumentTableLoadHandler.vb | 11 + .../CustomDocumentTableLoadHandler.vb | 26 ++ .../GenerateReport.vb | 135 +++++++++- .../GroupDocs.Assembly.Examples.vbproj | 7 +- .../GroupDocs.Assembly.Examples/Module1.vb | 9 + .../packages.config | 2 +- .../CommonUtilities.vb | 18 +- ...Docs.AssemblyExamples.BusinessLayer.vbproj | 5 +- .../packages.config | 1 + 26 files changed, 488 insertions(+), 84 deletions(-) create mode 100644 Examples/CSharp/GroupDocs.AssemblyExamples/ColumnNameExtractingDocumentTableLoadHandler.cs create mode 100644 Examples/CSharp/GroupDocs.AssemblyExamples/CustomDocumentTableLoadHandler.cs create mode 100644 Examples/Data/Data Sources/Excel DataSource/Related Tables Data.xlsx create mode 100644 Examples/Data/Data Sources/Word DataSource/Multiple Tables Data.docx create mode 100644 Examples/Data/Destination/Word Reports/Bubble Chart_Json Report.docx create mode 100644 Examples/Data/Destination/Word Reports/Using Next Report.docx create mode 100644 Examples/Data/Source/Presentation Templates/Changing Document Table Column Type.pptx create mode 100644 Examples/Data/Source/Presentation Templates/Using Document Table Set as Data Source.pptx create mode 100644 Examples/Data/Source/Word Templates/Using Document Table Relations.docx create mode 100644 Examples/VisualBasic/GroupDocs.Assembly.Examples/ColumnNameExtractingDocumentTableLoadHandler.vb create mode 100644 Examples/VisualBasic/GroupDocs.Assembly.Examples/CustomDocumentTableLoadHandler.vb diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs index 39561ba..bf02ac4 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs @@ -17,8 +17,9 @@ public static class CommonUtilities public const string sourceFolderPath = "../../../../Data/Source/"; public const string destinationFolderPath = "../../../../Data/Destination/"; + public const string dataSourcesFolderPath = "../../../../Data/Data Sources/"; //ExStart:LicenseFilePath - public const string licensePath = "../../GroupDocs.Assembly Product Family.lic"; + public const string licensePath = "D:/Aspose Projects/License/GroupDocs.Total.lic"; //ExEnd:LicenseFilePath #region DocumentDirectories @@ -44,6 +45,16 @@ public static string SetDestinationDocument(string outputFileName) return Path.Combine(Path.GetFullPath(destinationFolderPath), outputFileName); } + /// + /// Takes source file name as argument. + /// + /// Source file name + /// Returns explicit path by combining data source folder path and source file name. + public static string GetDataSourceDocument(string sourceFileName) + { + return Path.Combine(Path.GetFullPath(dataSourcesFolderPath), sourceFileName); + } + //ExEnd:DocumentDirectories #endregion diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj index 53eec06..7018141 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj @@ -32,9 +32,9 @@ 4 - - False - ..\..\packages\GroupDocs.Assembly.16.12.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.17.3.0\lib\net40-client\GroupDocs.Assembly.dll + True ..\..\packages\Newtonsoft.Json.8.0.2\lib\net45\Newtonsoft.Json.dll diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config index 62d4354..de52aa0 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config @@ -1,4 +1,5 @@  + \ No newline at end of file diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/ColumnNameExtractingDocumentTableLoadHandler.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/ColumnNameExtractingDocumentTableLoadHandler.cs new file mode 100644 index 0000000..b43dc11 --- /dev/null +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/ColumnNameExtractingDocumentTableLoadHandler.cs @@ -0,0 +1,14 @@ +using GroupDocs.Assembly.Data; + + +namespace GroupDocs.AssemblyExamples +{ + public class ColumnNameExtractingDocumentTableLoadHandler : IDocumentTableLoadHandler + { + public void Handle(DocumentTableLoadArgs args) + { + args.Options = new DocumentTableOptions(); + args.Options.FirstRowContainsColumnNames = true; + } + } +} diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/CustomDocumentTableLoadHandler.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/CustomDocumentTableLoadHandler.cs new file mode 100644 index 0000000..bd94c74 --- /dev/null +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/CustomDocumentTableLoadHandler.cs @@ -0,0 +1,29 @@ +using GroupDocs.Assembly.Data; +using System; + +namespace GroupDocs.AssemblyExamples +{ + public class CustomDocumentTableLoadHandler : IDocumentTableLoadHandler + { + public void Handle(DocumentTableLoadArgs args) + { + switch (args.TableIndex) + { + case 0: + // Do nothing. The table is to be loaded with default options. + break; + case 1: + // Discard loading of the table completely. + args.IsLoaded = false; + break; + case 2: + // Load the table with custom options. + args.Options = new DocumentTableOptions(); + args.Options.FirstRowContainsColumnNames = true; + break; + default: + throw new InvalidOperationException(); + } + } + } +} diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs index b3460a8..9a90472 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs @@ -13,6 +13,146 @@ namespace GroupDocs.AssemblyExamples { public static class GenerateReport { + /// + /// Shows how to load document Table set using default options + /// Features is supported by version 17.01 or greater + /// + /// name of the data source file + public static void LoadDocTableSet(string dataSource) + { + //ExStart:LoadDocTableSet + // Load all document tables using default options. + DocumentTableSet tableSet = new DocumentTableSet(CommonUtilities.GetDataSourceDocument("Word DataSource/" + dataSource)); + + // Check loading. + Debug.Assert(tableSet.Tables.Count == 3); + Debug.Assert(tableSet.Tables[0].Name == "Table1"); + Debug.Assert(tableSet.Tables[1].Name == "Table2"); + Debug.Assert(tableSet.Tables[2].Name == "Table3"); + //ExEnd:LoadDocTableSet + } + + /// + /// Show how to Load document table set using custom options + /// Features is supported by version 17.01 or greater + /// + /// name of the data source file + public static void LoadDocTableSetWithCustomOptions(string dataSource) + { + //ExStart:LoadDocTableSetWithCustomOptions + // Load document tables using custom options. + DocumentTableSet tableSet = new DocumentTableSet(CommonUtilities.GetDataSourceDocument("Word DataSource/" + dataSource), new CustomDocumentTableLoadHandler()); + + // Ensure that the second table is not loaded. + Debug.Assert(tableSet.Tables.Count == 2); + Debug.Assert(tableSet.Tables[0].Name == "Table1"); + Debug.Assert(tableSet.Tables[1].Name == "Table3"); + + // Ensure that default options are used to load the first table (that is, default column names are used). + Debug.Assert(tableSet.Tables[0].Columns.Count == 2); + Debug.Assert(tableSet.Tables[0].Columns[0].Name == "Column1"); + Debug.Assert(tableSet.Tables[0].Columns[1].Name == "Column2"); + + // Ensure that custom options are used to load the third table (that is, column names are extracted). + Debug.Assert(tableSet.Tables[1].Columns.Count == 2); + Debug.Assert(tableSet.Tables[1].Columns[0].Name == "Name"); + Debug.Assert(tableSet.Tables[1].Columns[1].Name == "Address"); + //ExEnd:LoadDocTableSetWithCustomOptions + } + + /// + /// Shows how to use document TableSet as DataSource + /// Features is supported by version 17.01 or greater + /// + /// Name of the data source file + /// name of the template file + public static void UseDocumentTableSetAsDataSource(string dataSource, string slideDoc) + { + //ExStart:UseDocumentTableSetAsDataSource + //setting up output document + const string outDocument = "Presentation Reports/Use Document Table Set As DataSource Output.pptx"; + //set up path for the template file + string templateFile = CommonUtilities.GetSourceDocument("Presentation Templates/" + slideDoc); + // Set table column names to be extracted from the document. + DocumentTableSet tableSet = new DocumentTableSet(CommonUtilities.GetDataSourceDocument("Word DataSource/" + dataSource), new ColumnNameExtractingDocumentTableLoadHandler()); + + // Set table names for conveniency. + tableSet.Tables[0].Name = "Planets"; + tableSet.Tables[1].Name = "Persons"; + tableSet.Tables[2].Name = "Companies"; + + // Pass DocumentTableSet as a data source. + DocumentAssembler assembler = new DocumentAssembler(); + assembler.AssembleDocument(templateFile, CommonUtilities.SetDestinationDocument(outDocument), tableSet); + //ExEnd:UseDocumentTableSetAsDataSource + } + + /// + /// Shows how to define document table relations + /// Feature is supported by version 17.01 or greater + /// + /// name of the data source file + /// name of the template file + public static void DefiningDocumentTableRelations(string relatedTables, string docTableRelations) + { + //ExStart:DefiningDocumentTableRelations + //setting up output document + const string outDocument = "Word Reports/document relations output.docx"; + //set up path for the related tables data source + string relatedTablesDataSource = CommonUtilities.GetDataSourceDocument("Excel DataSource/" + relatedTables); + //set up path for the template file + string templateFile = CommonUtilities.GetSourceDocument("Word Templates/" + docTableRelations); + + // Set table column names to be extracted from the document. + DocumentTableSet tableSet = new DocumentTableSet(relatedTablesDataSource, new ColumnNameExtractingDocumentTableLoadHandler()); + + // Define relations between tables. + // NOTE: For Spreadsheet documents, table names are extracted from sheet names. + tableSet.Relations.Add( + tableSet.Tables["CLIENT"].Columns["ID"], + tableSet.Tables["CONTRACT"].Columns["CLIENT_ID"]); + + tableSet.Relations.Add( + tableSet.Tables["MANAGER"].Columns["ID"], + tableSet.Tables["CONTRACT"].Columns["MANAGER_ID"]); + + // Pass DocumentTableSet as a data source. + DocumentAssembler assembler = new DocumentAssembler(); + assembler.AssembleDocument(templateFile, CommonUtilities.SetDestinationDocument(outDocument), tableSet); + //ExEnd:DefiningDocumentTableRelations + } + + /// + /// Shows how to change document table column type + /// Feature is supported by version 17.01 or greater + /// + /// + public static void ChangingDocumentTableColumnType(string document) + { + //ExStart:ChangingDocumentTableColumnType + //setting up data source document + const string dataSrcDocument = "Word DataSource/Managers Data.docx"; + //setting up output document + const string outDocument = "Presentation Reports/Out.pptx"; + + // Set table column names to be extracted from the document. + DocumentTableOptions options = new DocumentTableOptions(); + options.FirstRowContainsColumnNames = true; + + DocumentTable table = new DocumentTable(CommonUtilities.GetDataSourceDocument(dataSrcDocument), 1, options); + + // NOTE: For non-Spreadsheet documents, the type of a document table column is always string by default. + Debug.Assert(table.Columns["Total_Contract_Price"].Type == typeof(string)); + + // Change the column's type to double thus enabling to use arithmetic operations on values of the column + // such as summing in templates. + table.Columns["Total_Contract_Price"].Type = typeof(double); + + // Pass DocumentTable as a data source. + DocumentAssembler assembler = new DocumentAssembler(); + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(document), CommonUtilities.SetDestinationDocument(outDocument), table, "Managers"); + //ExEnd:ChangingDocumentTableColumnType + } public static void GenerateBubbleChart(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) { switch (strDocumentFormat) @@ -29,7 +169,7 @@ public static void GenerateBubbleChart(string strDocumentFormat, bool isDatabase { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Bubble Chart Report in open document format + //Call AssembleDocument to generate Bubble Chart Report in open document format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetOrdersDataDB(), "orders"); } catch (Exception ex) @@ -49,7 +189,7 @@ public static void GenerateBubbleChart(string strDocumentFormat, bool isDatabase { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Bubble Chart Report in open document format + //Call AssembleDocument to generate Bubble Chart Report in open document format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersAndOrdersDataDT()); } catch (Exception ex) @@ -69,7 +209,7 @@ public static void GenerateBubbleChart(string strDocumentFormat, bool isDatabase { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Bubble Chart Report in open document format + //Call AssembleDocument to generate Bubble Chart Report in open document format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds"); } catch (Exception ex) @@ -90,7 +230,7 @@ public static void GenerateBubbleChart(string strDocumentFormat, bool isDatabase { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Bubble Chart Report in document format + //Call AssembleDocument to generate Bubble Chart Report in document format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders"); } catch (Exception ex) @@ -193,7 +333,7 @@ public static void GenerateBubbleChart(string strDocumentFormat, bool isDatabase { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Bubble Chart Report in spreadsheet format + //Call AssembleDocument to generate Bubble Chart Report in spreadsheet format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders"); } catch (Exception ex) @@ -296,7 +436,7 @@ public static void GenerateBubbleChart(string strDocumentFormat, bool isDatabase { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Bubble Chart Report in presentation format + //Call AssembleDocument to generate Bubble Chart Report in presentation format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders"); } catch (Exception ex) @@ -404,7 +544,7 @@ public static void GenerateBulletedList(string strDocumentFormat, bool isDatabas { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Bulleted list report in open document format + //Call AssembleDocument to generate Bulleted list report in open document format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products"); } catch (Exception ex) @@ -507,7 +647,7 @@ public static void GenerateBulletedList(string strDocumentFormat, bool isDatabas { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate bulleted list in open spreadsheet format + //Call AssembleDocument to generate bulleted list in open spreadsheet format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products"); } catch (Exception ex) @@ -610,7 +750,7 @@ public static void GenerateBulletedList(string strDocumentFormat, bool isDatabas { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate bulleted list in open presentation format + //Call AssembleDocument to generate bulleted list in open presentation format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products"); } catch (Exception ex) @@ -718,7 +858,7 @@ public static void GenerateChartWithFilteringGroupingAndOrdering(string strDocum { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Chart with Filtering, Grouping, and Ordering report in document format + //Call AssembleDocument to generate Chart with Filtering, Grouping, and Ordering report in document format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders"); } catch (Exception ex) @@ -821,7 +961,7 @@ public static void GenerateChartWithFilteringGroupingAndOrdering(string strDocum { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Chart with Filtering, Grouping, and Ordering report in spreadsheet format + //Call AssembleDocument to generate Chart with Filtering, Grouping, and Ordering report in spreadsheet format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders"); } catch (Exception ex) @@ -924,7 +1064,7 @@ public static void GenerateChartWithFilteringGroupingAndOrdering(string strDocum { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Chart with Filtering, Grouping, and Ordering report in presentation format + //Call AssembleDocument to generate Chart with Filtering, Grouping, and Ordering report in presentation format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders"); } catch (Exception ex) @@ -1032,7 +1172,7 @@ public static void GenerateCommonList(string strDocumentFormat, bool isDatabase, { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Common List report in open document format + //Call AssembleDocument to generate Common List report in open document format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers"); } catch (Exception ex) @@ -1135,7 +1275,7 @@ public static void GenerateCommonList(string strDocumentFormat, bool isDatabase, { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Common List report in open spreadsheet format + //Call AssembleDocument to generate Common List report in open spreadsheet format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers"); } catch (Exception ex) @@ -1238,7 +1378,7 @@ public static void GenerateCommonList(string strDocumentFormat, bool isDatabase, { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Common List report in open presentation format + //Call AssembleDocument to generate Common List report in open presentation format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers"); } catch (Exception ex) @@ -1346,7 +1486,7 @@ public static void GenerateCommonMasterDetail(string strDocumentFormat, bool isD { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Common master-detail report in open document format + //Call AssembleDocument to generate Common master-detail report in open document format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers"); } catch (Exception ex) @@ -1449,7 +1589,7 @@ public static void GenerateCommonMasterDetail(string strDocumentFormat, bool isD { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Common master-detail report in open spreadsheet format + //Call AssembleDocument to generate Common master-detail report in open spreadsheet format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers"); } catch (Exception ex) @@ -1552,7 +1692,7 @@ public static void GenerateCommonMasterDetail(string strDocumentFormat, bool isD { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Common master-detail report in open presentation format + //Call AssembleDocument to generate Common master-detail report in open presentation format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers"); } catch (Exception ex) @@ -1660,7 +1800,7 @@ public static void GenerateInParagraphList(string strDocumentFormat, bool isData { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate In-Paragraph List report in open document format + //Call AssembleDocument to generate In-Paragraph List report in open document format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products"); } catch (Exception ex) @@ -1763,7 +1903,7 @@ public static void GenerateInParagraphList(string strDocumentFormat, bool isData { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate In-Paragraph List report in open spreadsheet format + //Call AssembleDocument to generate In-Paragraph List report in open spreadsheet format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products"); } catch (Exception ex) @@ -1866,7 +2006,7 @@ public static void GenerateInParagraphList(string strDocumentFormat, bool isData { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate In-Paragraph List report in open presentation format + //Call AssembleDocument to generate In-Paragraph List report in open presentation format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products"); } catch (Exception ex) @@ -1974,7 +2114,7 @@ public static void GenerateInTableListWithAlternateContent(string strDocumentFor { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate In-Table List with Alternate Content report in open document format + //Call AssembleDocument to generate In-Table List with Alternate Content report in open document format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders"); } catch (Exception ex) @@ -2077,7 +2217,7 @@ public static void GenerateInTableListWithAlternateContent(string strDocumentFor { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate In-Table List with Alternate Content report in open spreadsheet format + //Call AssembleDocument to generate In-Table List with Alternate Content report in open spreadsheet format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders"); } catch (Exception ex) @@ -2180,7 +2320,7 @@ public static void GenerateInTableListWithAlternateContent(string strDocumentFor { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate In-Table List with Alternate Content report in presentation format + //Call AssembleDocument to generate In-Table List with Alternate Content report in presentation format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders"); } catch (Exception ex) @@ -2288,7 +2428,7 @@ public static void GenerateInTableListWithFilteringGroupingAndOrdering(string st { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering report in open document format + //Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering report in open document format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders"); } catch (Exception ex) @@ -2391,7 +2531,7 @@ public static void GenerateInTableListWithFilteringGroupingAndOrdering(string st { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering report in open spreadsheet format + //Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering report in open spreadsheet format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders"); } catch (Exception ex) @@ -2494,7 +2634,7 @@ public static void GenerateInTableListWithFilteringGroupingAndOrdering(string st { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering report in open presentation format + //Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering report in open presentation format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders"); } catch (Exception ex) @@ -2602,7 +2742,7 @@ public static void GenerateInTableListWithHighlightedRows(string strDocumentForm { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate In-Table List with Highlighted Rows report in open document format + //Call AssembleDocument to generate In-Table List with Highlighted Rows report in open document format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders"); } catch (Exception ex) @@ -2705,7 +2845,7 @@ public static void GenerateInTableListWithHighlightedRows(string strDocumentForm { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate In-Table List with Highlighted Rows report in open spreadsheet format + //Call AssembleDocument to generate In-Table List with Highlighted Rows report in open spreadsheet format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders"); } catch (Exception ex) @@ -2808,7 +2948,7 @@ public static void GenerateInTableListWithHighlightedRows(string strDocumentForm { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate In-Table List with Highlighted Rows report in open presentation format + //Call AssembleDocument to generate In-Table List with Highlighted Rows report in open presentation format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders"); } catch (Exception ex) @@ -2916,7 +3056,7 @@ public static void GenerateInTableList(string strDocumentFormat, bool isDatabase { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate In-Table List report in open document format + //Call AssembleDocument to generate In-Table List report in open document format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers"); } catch (Exception ex) @@ -3019,7 +3159,7 @@ public static void GenerateInTableList(string strDocumentFormat, bool isDatabase { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate In-Table List report in open spreadsheet format + //Call AssembleDocument to generate In-Table List report in open spreadsheet format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers"); } catch (Exception ex) @@ -3122,7 +3262,7 @@ public static void GenerateInTableList(string strDocumentFormat, bool isDatabase { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate In-Table List report in open presentation format + //Call AssembleDocument to generate In-Table List report in open presentation format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers"); } catch (Exception ex) @@ -3230,7 +3370,7 @@ public static void GenerateInTableMasterDetail(string strDocumentFormat, bool is { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate In-Table Master-Detail report in open document format + //Call AssembleDocument to generate In-Table Master-Detail report in open document format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers"); } catch (Exception ex) @@ -3333,7 +3473,7 @@ public static void GenerateInTableMasterDetail(string strDocumentFormat, bool is { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate In-Table Master-Detail report in open spreadsheet format + //Call AssembleDocument to generate In-Table Master-Detail report in open spreadsheet format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers"); } catch (Exception ex) @@ -3436,7 +3576,7 @@ public static void GenerateInTableMasterDetail(string strDocumentFormat, bool is { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate In-Table Master-Detail report in open presentation format + //Call AssembleDocument to generate In-Table Master-Detail report in open presentation format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers"); } catch (Exception ex) @@ -3544,7 +3684,7 @@ public static void GenerateMulticoloredNumberedList(string strDocumentFormat, bo { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Multicolored Numbered List report in open document format + //Call AssembleDocument to generate Multicolored Numbered List report in open document format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products"); } catch (Exception ex) @@ -3647,7 +3787,7 @@ public static void GenerateMulticoloredNumberedList(string strDocumentFormat, bo { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Multicolored Numbered List report in open spreadsheet format + //Call AssembleDocument to generate Multicolored Numbered List report in open spreadsheet format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products"); } catch (Exception ex) @@ -3750,7 +3890,7 @@ public static void GenerateMulticoloredNumberedList(string strDocumentFormat, bo { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Multicolored Numbered List report in open presentation format + //Call AssembleDocument to generate Multicolored Numbered List report in open presentation format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products"); } catch (Exception ex) @@ -3858,7 +3998,7 @@ public static void GenerateNumberedList(string strDocumentFormat, bool isDatabas { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Numbered List report in open document format + //Call AssembleDocument to generate Numbered List report in open document format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products"); } catch (Exception ex) @@ -3961,7 +4101,7 @@ public static void GenerateNumberedList(string strDocumentFormat, bool isDatabas { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Numbered List report in open spreadsheet format + //Call AssembleDocument to generate Numbered List report in open spreadsheet format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products"); } catch (Exception ex) @@ -4064,7 +4204,7 @@ public static void GenerateNumberedList(string strDocumentFormat, bool isDatabas { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Numbered List report in open presentation format + //Call AssembleDocument to generate Numbered List report in open presentation format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products"); } catch (Exception ex) @@ -4172,7 +4312,7 @@ public static void GeneratePieChart(string strDocumentFormat, bool isDatabase, b { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Pie Chart report in document format + //Call AssembleDocument to generate Pie Chart report in document format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers"); } catch (Exception ex) @@ -4275,7 +4415,7 @@ public static void GeneratePieChart(string strDocumentFormat, bool isDatabase, b { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Pie Chart report in spreadsheet format + //Call AssembleDocument to generate Pie Chart report in spreadsheet format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers"); } catch (Exception ex) @@ -4378,7 +4518,7 @@ public static void GeneratePieChart(string strDocumentFormat, bool isDatabase, b { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Pie Chart report in presentation format + //Call AssembleDocument to generate Pie Chart report in presentation format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers"); } catch (Exception ex) @@ -4486,7 +4626,7 @@ public static void GenerateScatterChart(string strDocumentFormat, bool isDatabas { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Scatter Chart report in document format + //Call AssembleDocument to generate Scatter Chart report in document format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders"); } catch (Exception ex) @@ -4589,7 +4729,7 @@ public static void GenerateScatterChart(string strDocumentFormat, bool isDatabas { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Scatter Chart report in spreadsheet format + //Call AssembleDocument to generate Scatter Chart report in spreadsheet format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders"); } catch (Exception ex) @@ -4692,7 +4832,7 @@ public static void GenerateScatterChart(string strDocumentFormat, bool isDatabas { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Scatter Chart report in presentation format + //Call AssembleDocument to generate Scatter Chart report in presentation format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders"); } catch (Exception ex) @@ -4800,7 +4940,7 @@ public static void GenerateSingleRow(string strDocumentFormat, bool isDatabase, { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Single Row report in open document format + //Call AssembleDocument to generate Single Row report in open document format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetSingleCustomerDataJson(), "customer"); } catch (Exception ex) @@ -4903,7 +5043,7 @@ public static void GenerateSingleRow(string strDocumentFormat, bool isDatabase, { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Single Row report in open spreadsheet format + //Call AssembleDocument to generate Single Row report in open spreadsheet format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetSingleCustomerDataJson(), "customer"); } catch (Exception ex) @@ -5006,7 +5146,7 @@ public static void GenerateSingleRow(string strDocumentFormat, bool isDatabase, { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Single Row report in presentation format + //Call AssembleDocument to generate Single Row report in presentation format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetSingleCustomerDataJson(), "customer"); } catch (Exception ex) @@ -5342,7 +5482,7 @@ public static void ImportingWordProcessingTableIntoPresentation() { string strDocumentTemplate = "Presentation Templates/Importing Word Processing Table into Presentation.pptx"; string strDocumentReport = "Presentation Reports/Importing Word Processing Table into Presentation_Output.pptx"; - + // Assemble a document using the external document table as a data source. DocumentAssembler assembler = new DocumentAssembler(); diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj index 80b78e9..1c97f87 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj @@ -34,9 +34,9 @@ 4 - - False - ..\..\packages\GroupDocs.Assembly.16.12.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.17.3.0\lib\net40-client\GroupDocs.Assembly.dll + True @@ -47,6 +47,8 @@ + + diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs index 4b2028a..f1c5f0e 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs @@ -30,7 +30,7 @@ static void Main(string[] args) //Generate a Bulleted List report in presentation format //GenerateReport.GenerateBubbleChart("presentation", false, false, false, true); #endregion - + #region Generating Bulleted List Report //Generate a Bulleted List report in document processing format //GenerateReport.GenerateBulletedList("document", false, false, true, false); @@ -41,7 +41,7 @@ static void Main(string[] args) //Generate a Bulleted List report in presentation format //GenerateReport.GenerateBulletedList("presentation", false, false, true, false); #endregion - + #region Generating Chart report with Filtering, Grouping, and Ordering //Generate a Chart report with Filtering, Grouping, and Ordering in document processing format //GenerateReport.GenerateChartWithFilteringGroupingAndOrdering("document", false, false, true, false); @@ -52,7 +52,7 @@ static void Main(string[] args) //Generate a Chart report with Filtering, Grouping, and Ordering in presentation format //GenerateReport.GenerateChartWithFilteringGroupingAndOrdering("presentation", false, false, false, true); #endregion - + #region Generating Common List Report //Generate a Common List Report in document processing format //GenerateReport.GenerateCommonList("document", false, false, true, false); @@ -63,7 +63,7 @@ static void Main(string[] args) //Generate a Common List Report in presentation format //GenerateReport.GenerateCommonList("presentation", false, false, true, false); #endregion - + #region Generating Common Master-Detail Report //Generate a Common Master-Detail Report in document processing format //GenerateReport.GenerateCommonMasterDetail("document", false, false, false, true); @@ -74,7 +74,7 @@ static void Main(string[] args) //Generate a Common Master-Detail Report in presentation format //GenerateReport.GenerateCommonMasterDetail("presentation", false, false, false, true); #endregion - + #region Generating In-Paragraph List Report //Generate a In-Paragraph List Report in document processing format //GenerateReport.GenerateInParagraphList("document", false, false, false, true); @@ -85,7 +85,7 @@ static void Main(string[] args) //Generate a In-Paragraph List Report in presentation format //GenerateReport.GenerateInParagraphList("presentation", false, false, false, true); #endregion - + #region Generating In-Table with Alternate Content Report //Generate a In-Table List with Alternate Content Report in document processing format //GenerateReport.GenerateInTableListWithAlternateContent("document", false, false, false, true); @@ -96,7 +96,7 @@ static void Main(string[] args) //Generate a In-Table List with Alternate Content Report in presentation format //GenerateReport.GenerateInTableListWithAlternateContent("presentation", false, false, false, true); #endregion - + #region Generating In-Table with Filtering, Grouping and Ordering Report //Generate a In-Table List with Filtering, Grouping, and Ordering Report in document processing format //GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("document", false, false, false, true); @@ -107,7 +107,7 @@ static void Main(string[] args) //Generate a In-Table List with Filtering, Grouping, and Ordering Report in presentation format //GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("presentation", false, false, false, true); #endregion - + #region Generating In-Table List with Highlighted Rows Report //Generate a In-Table List with Highlighted Rows Report in document processing format //GenerateReport.GenerateInTableListWithHighlightedRows("document", false, false, false, true); @@ -118,7 +118,7 @@ static void Main(string[] args) //Generate a In-Table List with Highlighted Rows Report in presentation format //GenerateReport.GenerateInTableListWithHighlightedRows("presentation", false, false, false, true); #endregion - + #region Generating In-Table List Report //Generate a In-Table List Report in document processing format //GenerateReport.GenerateInTableList("document", false, false, false, true); @@ -129,7 +129,7 @@ static void Main(string[] args) //Generate a In-Table List Report in presentation format //GenerateReport.GenerateInTableList("presentation", false, false, false, true); #endregion - + #region Generating In-Table Master-Detail Report //Generate a In-Table Master-Detail Report in document processing format //GenerateReport.GenerateInTableMasterDetail("document", false, false, false, true); @@ -140,7 +140,7 @@ static void Main(string[] args) //Generate a In-Table Master-Detail Report in presentation format //GenerateReport.GenerateInTableMasterDetail("presentation", false, false, false, true); #endregion - + #region Generating Multicolored Number List Report //Generate a Multicolored Numbered List Report in document processing format //GenerateReport.GenerateMulticoloredNumberedList("document", false, false, false, true); @@ -151,7 +151,7 @@ static void Main(string[] args) //Generate a Multicolored Numbered List Report in presentation format //GenerateReport.GenerateMulticoloredNumberedList("presentation", false, false, false, true); #endregion - + #region Generating Numbered List Report //Generate a Numbered List Report in document processing format //GenerateReport.GenerateNumberedList("document", false, false, false, true); @@ -162,18 +162,18 @@ static void Main(string[] args) //Generate a Numbered List Report in presentation format //GenerateReport.GenerateNumberedList("presentation", false, false, false, true); #endregion - + #region Generating Pie Chart Report //Generate a Pie Chart Report in document processing format //GenerateReport.GeneratePieChart("document", false, false, false, true); - + //Generate a Pie Chart Report in spreadsheet format //GenerateReport.GeneratePieChart("spreadsheet", false, false, false, true); //Generate a Pie Chart Report in presentation format //GenerateReport.GeneratePieChart("presentation", false, false, true, false); #endregion - + #region Generating Scatter Chart Report //Generate a Scatter Chart Report in document processing format //GenerateReport.GenerateScatterChart("document", false, false, false, true); @@ -184,7 +184,7 @@ static void Main(string[] args) //Generate a Scatter Chart Report in presentation format //GenerateReport.GenerateScatterChart("presentation", false, false, false, true); #endregion - + #region Generating Single Row Report //Generate a Single Row Report in document processing format //GenerateReport.GenerateSingleRow("document", false, false, false, false); @@ -247,6 +247,15 @@ static void Main(string[] args) //Importing word processing table into presentation //GenerateReport.ImportingWordProcessingTableIntoPresentation(); + + //Load document table set using default options + //GenerateReport.LoadDocTableSet("Multiple Tables Data.docx"); + //Load document table set using custom options + //GenerateReport.LoadDocTableSetWithCustomOptions("Multiple Tables Data.docx"); + //Using DocumentTableSet as Data Source + //GenerateReport.UseDocumentTableSetAsDataSource("Multiple Tables Data.docx", "Using Document Table Set as Data Source.pptx"); + //GenerateReport.DefiningDocumentTableRelations("Related Tables Data.xlsx", "Using Document Table Relations.docx"); + //GenerateReport.ChangingDocumentTableColumnType("Presentation Templates/Changing Document Table Column Type.pptx"); } } } \ No newline at end of file diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config index b5f6975..bcbd2d5 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Examples/Data/Data Sources/Excel DataSource/Related Tables Data.xlsx b/Examples/Data/Data Sources/Excel DataSource/Related Tables Data.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..ab9805ff29e865834badbc020abdca87149d07e6 GIT binary patch literal 9769 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�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 literal 0 HcmV?d00001 diff --git a/Examples/Data/Destination/Word Reports/Bubble Chart_Json Report.docx b/Examples/Data/Destination/Word Reports/Bubble Chart_Json Report.docx new file mode 100644 index 0000000000000000000000000000000000000000..8d246df72e626efe87e74c819b004133565b04d6 GIT binary patch literal 20414 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

o3B=`hg*@tp4!5x@2-}HUVi3fJZBVAqH z+aHHn+f6zc;cATgRbAxd;n~AOy@q@Hsk9hnbuku>o!h*i|VQ_D_7>?WGK&B z+Zmad_TB2@RkqcMkTtZ}zFmG49TY8m?At#oU*X(~y(10q8;C^cr$IU+puzW5aIao` zd6bB+-GR{Ct$FZu;btmDEb0oy$gXMto^55C>Gqle&V6yBXOB!j^Hr^uA`{2a?@P@B zYa629hMh?H9#db_c|7T5dP;GZWMcbudMdra>B)pHvrSW`7_j@uVR>-myA~G)`l7^% z+z49pD2T4TC4@e|DTJ;J*d{iF&}BA+k|G8IX`v$_H80RWhYM_F2E>;ptlZb()_iB} zz)l4uIRkD9P;k2*5rCsMo>@9b++M*>q1FVlc>-<~*5Nk{uy$9ed-@jbI_U~W4N~nH zwi&=U(P>hsGQ#{G6bIus0nt6w41+uxgvlOzewM0Ris2gY)my>rgMf*68Cxp+OVPxY zz}E5YY+jY?s(}DOV5$$$6BoVAl$iRNE6{ouK?D2*<5otTM5@UV?=mD{!f|!$B)Bo7 zLBA7~$FQ=9W-fkOcxT=U6@CljtSD5{7p7*Wl{EXeK1XjpJ zDrC^0d(z;R+oIEv)6#kkLEd$EAu%{?@B7vk;*-^y>oe~bgw(JPvyXO&Oh_IV+2yu()r6hAZ0f{5I};RBDf zu%FC{-N8BT_WN!CXh^aR`Nvj=6U~rpkt^%AV$L|^P}M~`BIu2rDq)#g{Vg&4p6FY2 z#8#V`f2+bbrS*Bj?XC0;R9SBy?gE`y3|{6^-!pLCJ=TbNQ?NzXzHUY7Ps)zz`7zL| z_qEF%oQ}4GXYwndqkA-15WF?VNqicr3zu8$(W`uncn7X0S9NYW#%o@xzSsFfQ@0UE zFcslX6`%3t8Y7>E>S<1*Ac>T&ez6%0?p3!%|BBhR)q>DOJJQ$+9PtN;S06c-!2R-x_P6^~&2D z7$kglM#x1_fo2hyQelya(s7aLS=YqWY3Uf}mFmi$fGsf%{m@p!548L3>;2WOj>!h{ z4XXX#LWP!2AJwgv5KFIWO@;daf66ljAy59RtdZ$ecHB{fk7GO=K8F+l%#;T3bG@JnYL>IcVAwY6&~nlv*bHl-wsdPE2wUyJ zFU#o6fR-}W0&5~5b8RTQTDo4&MRbEdjwS;A`w-^}u<~=8#$e1g>py?JF)R81pb7rZ zGx6bDXhR7up@U>t!7$1H6Ygg}06ioEHPuEuHPH_1`lD-rpA

1Tl@lKorZu5%K@( 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 XqASY4fW-j-Ac4OSV3jSu{#E;bU6}cv literal 0 HcmV?d00001 diff --git a/Examples/Data/Source/Presentation Templates/Changing Document Table Column Type.pptx b/Examples/Data/Source/Presentation Templates/Changing Document Table Column Type.pptx new file mode 100644 index 0000000000000000000000000000000000000000..3f0157469d6a9d38736b6a27e149f36ccbf9a643 GIT binary patch literal 33465 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 A*8l(j literal 0 HcmV?d00001 diff --git a/Examples/Data/Source/Presentation Templates/Using Document Table Set as Data Source.pptx b/Examples/Data/Source/Presentation Templates/Using Document Table Set as Data Source.pptx new file mode 100644 index 0000000000000000000000000000000000000000..92769df4ca762a7b635b299b6e116ae64cf6fa32 GIT binary patch literal 35234 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 literal 14756 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 + ''' Shows how to load document Table set using default options + ''' Features is supported by version 17.01 or greater + ''' + ''' name of the data source file + Public Shared Sub LoadDocTableSet(dataSource As String) + 'ExStart:LoadDocTableSet + ' Load all document tables using default options. + Dim tableSet As New DocumentTableSet(CommonUtilities.GetDataSourceDocument(Convert.ToString("Word DataSource/") & dataSource)) + + ' Check loading. + Debug.Assert(tableSet.Tables.Count = 3) + Debug.Assert(tableSet.Tables(0).Name = "Table1") + Debug.Assert(tableSet.Tables(1).Name = "Table2") + Debug.Assert(tableSet.Tables(2).Name = "Table3") + 'ExEnd:LoadDocTableSet + End Sub + + '''

+ ''' Show how to Load document table set using custom options + ''' Features is supported by version 17.01 or greater + ''' + ''' name of the data source file + Public Shared Sub LoadDocTableSetWithCustomOptions(dataSource As String) + 'ExStart:LoadDocTableSetWithCustomOptions + ' Load document tables using custom options. + Dim tableSet As New DocumentTableSet(CommonUtilities.GetDataSourceDocument(Convert.ToString("Word DataSource/") & dataSource), New CustomDocumentTableLoadHandler()) + + ' Ensure that the second table is not loaded. + Debug.Assert(tableSet.Tables.Count = 2) + Debug.Assert(tableSet.Tables(0).Name = "Table1") + Debug.Assert(tableSet.Tables(1).Name = "Table3") + + ' Ensure that default options are used to load the first table (that is, default column names are used). + Debug.Assert(tableSet.Tables(0).Columns.Count = 2) + Debug.Assert(tableSet.Tables(0).Columns(0).Name = "Column1") + Debug.Assert(tableSet.Tables(0).Columns(1).Name = "Column2") + + ' Ensure that custom options are used to load the third table (that is, column names are extracted). + Debug.Assert(tableSet.Tables(1).Columns.Count = 2) + Debug.Assert(tableSet.Tables(1).Columns(0).Name = "Name") + Debug.Assert(tableSet.Tables(1).Columns(1).Name = "Address") + 'ExEnd:LoadDocTableSetWithCustomOptions + End Sub + + ''' + ''' Shows how to use document TableSet as DataSource + ''' Features is supported by version 17.01 or greater + ''' + ''' Name of the data source file + ''' name of the template file + Public Shared Sub UseDocumentTableSetAsDataSource(dataSource As String, slideDoc As String) + 'ExStart:UseDocumentTableSetAsDataSource + 'setting up output document + Const outDocument As String = "Presentation Reports/Use Document Table Set As DataSource Output.pptx" + 'set up path for the template file + Dim templateFile As String = CommonUtilities.GetSourceDocument(Convert.ToString("Presentation Templates/") & slideDoc) + ' Set table column names to be extracted from the document. + Dim tableSet As New DocumentTableSet(CommonUtilities.GetDataSourceDocument(Convert.ToString("Word DataSource/") & dataSource), New ColumnNameExtractingDocumentTableLoadHandler()) + + ' Set table names for conveniency. + tableSet.Tables(0).Name = "Planets" + tableSet.Tables(1).Name = "Persons" + tableSet.Tables(2).Name = "Companies" + + ' Pass DocumentTableSet as a data source. + Dim assembler As New DocumentAssembler() + assembler.AssembleDocument(templateFile, CommonUtilities.SetDestinationDocument(outDocument), tableSet) + 'ExEnd:UseDocumentTableSetAsDataSource End Sub + ''' + ''' Shows how to define document table relations + ''' Feature is supported by version 17.01 or greater + ''' + ''' name of the data source file + ''' name of the template file + Public Shared Sub DefiningDocumentTableRelations(relatedTables As String, docTableRelations As String) + 'ExStart:DefiningDocumentTableRelations + 'setting up output document + Const outDocument As String = "Word Reports/document relations output.docx" + 'set up path for the related tables data source + Dim relatedTablesDataSource As String = CommonUtilities.GetDataSourceDocument(Convert.ToString("Excel DataSource/") & relatedTables) + 'set up path for the template file + Dim templateFile As String = CommonUtilities.GetSourceDocument(Convert.ToString("Word Templates/") & docTableRelations) + + ' Set table column names to be extracted from the document. + Dim tableSet As New DocumentTableSet(relatedTablesDataSource, New ColumnNameExtractingDocumentTableLoadHandler()) + + ' Define relations between tables. + ' NOTE: For Spreadsheet documents, table names are extracted from sheet names. + tableSet.Relations.Add(tableSet.Tables("CLIENT").Columns("ID"), tableSet.Tables("CONTRACT").Columns("CLIENT_ID")) + + tableSet.Relations.Add(tableSet.Tables("MANAGER").Columns("ID"), tableSet.Tables("CONTRACT").Columns("MANAGER_ID")) + + ' Pass DocumentTableSet as a data source. + Dim assembler As New DocumentAssembler() + assembler.AssembleDocument(templateFile, CommonUtilities.SetDestinationDocument(outDocument), tableSet) + 'ExEnd:DefiningDocumentTableRelations + End Sub + + ''' + ''' Shows how to change document table column type + ''' Feature is supported by version 17.01 or greater + ''' + ''' + Public Shared Sub ChangingDocumentTableColumnType(document As String) + 'ExStart:ChangingDocumentTableColumnType + 'setting up data source document + Const dataSrcDocument As String = "Word DataSource/Managers Data.docx" + 'setting up output document + Const outDocument As String = "Presentation Reports/Out.pptx" + + ' Set table column names to be extracted from the document. + Dim options As New DocumentTableOptions() + options.FirstRowContainsColumnNames = True + + Dim table As New DocumentTable(CommonUtilities.GetDataSourceDocument(dataSrcDocument), 1, options) + + ' NOTE: For non-Spreadsheet documents, the type of a document table column is always string by default. + Debug.Assert(table.Columns("Total_Contract_Price").Type = GetType(String)) + + ' Change the column's type to double thus enabling to use arithmetic operations on values of the column + ' such as summing in templates. + table.Columns("Total_Contract_Price").Type = GetType(Double) + + ' Pass DocumentTable as a data source. + Dim assembler As New DocumentAssembler() + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(document), CommonUtilities.SetDestinationDocument(outDocument), table, "Managers") + 'ExEnd:ChangingDocumentTableColumnType + End Sub + + Public Shared Sub GenerateBubbleChart(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) Select Case strDocumentFormat Case "document" diff --git a/Examples/VisualBasic/GroupDocs.Assembly.Examples/GroupDocs.Assembly.Examples.vbproj b/Examples/VisualBasic/GroupDocs.Assembly.Examples/GroupDocs.Assembly.Examples.vbproj index f1c2c6a..8161fd5 100644 --- a/Examples/VisualBasic/GroupDocs.Assembly.Examples/GroupDocs.Assembly.Examples.vbproj +++ b/Examples/VisualBasic/GroupDocs.Assembly.Examples/GroupDocs.Assembly.Examples.vbproj @@ -48,8 +48,9 @@ On - - ..\..\packages\GroupDocs.Assembly.16.12.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.17.3.0\lib\net40-client\GroupDocs.Assembly.dll + True @@ -71,6 +72,8 @@ + + diff --git a/Examples/VisualBasic/GroupDocs.Assembly.Examples/Module1.vb b/Examples/VisualBasic/GroupDocs.Assembly.Examples/Module1.vb index 635bb49..587fd06 100644 --- a/Examples/VisualBasic/GroupDocs.Assembly.Examples/Module1.vb +++ b/Examples/VisualBasic/GroupDocs.Assembly.Examples/Module1.vb @@ -251,6 +251,15 @@ Namespace GroupDocs.AssemblyExamples 'Generate report from presentation data source 'GenerateReport.UsePresentationTableAsDataSource() + 'Load document table set using default options + 'GenerateReport.LoadDocTableSet("Multiple Tables Data.docx") + 'Load document table set using custom options + 'GenerateReport.LoadDocTableSetWithCustomOptions("Multiple Tables Data.docx") + 'Using DocumentTableSet as Data Source + 'GenerateReport.UseDocumentTableSetAsDataSource("Multiple Tables Data.docx", "Using Document Table Set as Data Source.pptx") + 'GenerateReport.DefiningDocumentTableRelations("Related Tables Data.xlsx", "Using Document Table Relations.docx") + 'GenerateReport.ChangingDocumentTableColumnType("Presentation Templates/Changing Document Table Column Type.pptx") + End Sub End Module diff --git a/Examples/VisualBasic/GroupDocs.Assembly.Examples/packages.config b/Examples/VisualBasic/GroupDocs.Assembly.Examples/packages.config index b5f6975..bcbd2d5 100644 --- a/Examples/VisualBasic/GroupDocs.Assembly.Examples/packages.config +++ b/Examples/VisualBasic/GroupDocs.Assembly.Examples/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.vb b/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.vb index af464fc..34b7c14 100644 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.vb +++ b/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.vb @@ -13,8 +13,10 @@ Namespace GroupDocs.AssemblyExamples.BusinessLayer Public Const sourceFolderPath As String = "../../../../Data/Source/" Public Const destinationFolderPath As String = "../../../../Data/Destination/" + Public Const dataSourcesFolderPath As String = "../../../../Data/Data Sources/" + 'ExStart:LicenseFilePath - Public Const licensePath As String = "../../GroupDocs.Assembly Product Family.lic" + Public Const licensePath As String = "D:/Aspose Projects/License/GroupDocs.Total.lic" 'ExEnd:LicenseFilePath #Region "DocumentDirectories" @@ -37,6 +39,18 @@ Namespace GroupDocs.AssemblyExamples.BusinessLayer Public Shared Function SetDestinationDocument(outputFileName As String) As String Return Path.Combine(Path.GetFullPath(destinationFolderPath), outputFileName) End Function + + + ''' + ''' Takes source file name as argument. + ''' + ''' Source file name + ''' Returns explicit path by combining data source folder path and source file name. + Public Shared Function GetDataSourceDocument(sourceFileName As String) As String + Return Path.Combine(Path.GetFullPath(dataSourcesFolderPath), sourceFileName) + End Function + + 'ExEnd:DocumentDirectories #End Region @@ -81,7 +95,7 @@ Namespace GroupDocs.AssemblyExamples.BusinessLayer ''' IEnumerable varlist ''' Delegate as parameter ''' It returns DataTable - _ + Public Function ToADOTable(Of T)(varlist As IEnumerable(Of T), fn As ConvertDataTable.CreateRowDelegate(Of T)) As DataTable Dim dtReturn As New DataTable() Dim oProps As PropertyInfo() = Nothing diff --git a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.vbproj b/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.vbproj index 7d7d9c9..340b005 100644 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.vbproj +++ b/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.vbproj @@ -45,8 +45,9 @@ On - - ..\..\packages\GroupDocs.Assembly.16.12.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.17.3.0\lib\net40-client\GroupDocs.Assembly.dll + True ..\..\packages\Newtonsoft.Json.8.0.2\lib\net45\Newtonsoft.Json.dll diff --git a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/packages.config b/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/packages.config index 62d4354..de52aa0 100644 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/packages.config +++ b/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/packages.config @@ -1,4 +1,5 @@  + \ No newline at end of file From 1202bb6d01b4ceabf83824edfff54981aaa305ee Mon Sep 17 00:00:00 2001 From: rida-fatima-aspose Date: Tue, 18 Apr 2017 23:29:32 +0500 Subject: [PATCH 04/80] examples updated for v 17.03 --- .../DataLayer.cs | 26 + .../GenerateReport.cs | 1961 +++++++++++++++-- .../GroupDocs.AssemblyExamples/Program.cs | 59 + .../HTML Reports/Bulleted List Report.html | 16 + .../Text Reports/Bulleted List Report.txt | 5 + .../Word Reports/Common List Report.odt | Bin 0 -> 12549 bytes .../Source/HTML Templates/Bulleted List.html | 10 + .../Source/HTML Templates/Common List.html | 8 + .../HTML Templates/Common Master-Detail.html | 9 + ...orting Spreadsheet into HTML Document.html | 19 + .../HTML Templates/In-Paragraph List.html | 5 + .../In-Table List with Alternate Content.html | 39 + ...ith Filtering, Grouping, and Ordering.html | 27 + .../In-Table List with Highlighted Rows.html | 33 + .../Source/HTML Templates/In-Table List.html | 34 + .../In-Table Master-Detail.html | 44 + .../Multicolored Numbered List.html | 10 + .../Source/HTML Templates/Numbered List.html | 10 + .../Source/HTML Templates/Single Row.html | 31 + .../Source/Text Templates/Bulleted List.txt | 3 + .../Source/Text Templates/Common List.txt | 2 + .../Text Templates/Common Master-Detail.txt | 4 + .../Text Templates/In-Paragraph List.txt | 1 + .../Source/Text Templates/Numbered List.txt | 3 + .../Data/Source/Text Templates/Single Row.txt | 2 + .../GenerateReport.vb | 1484 ++++++++++++- .../GroupDocs.Assembly.Examples/Module1.vb | 272 ++- .../DataLayer.vb | 119 +- 28 files changed, 3807 insertions(+), 429 deletions(-) create mode 100644 Examples/Data/Destination/HTML Reports/Bulleted List Report.html create mode 100644 Examples/Data/Destination/Text Reports/Bulleted List Report.txt create mode 100644 Examples/Data/Destination/Word Reports/Common List Report.odt create mode 100644 Examples/Data/Source/HTML Templates/Bulleted List.html create mode 100644 Examples/Data/Source/HTML Templates/Common List.html create mode 100644 Examples/Data/Source/HTML Templates/Common Master-Detail.html create mode 100644 Examples/Data/Source/HTML Templates/Importing Spreadsheet into HTML Document.html create mode 100644 Examples/Data/Source/HTML Templates/In-Paragraph List.html create mode 100644 Examples/Data/Source/HTML Templates/In-Table List with Alternate Content.html create mode 100644 Examples/Data/Source/HTML Templates/In-Table List with Filtering, Grouping, and Ordering.html create mode 100644 Examples/Data/Source/HTML Templates/In-Table List with Highlighted Rows.html create mode 100644 Examples/Data/Source/HTML Templates/In-Table List.html create mode 100644 Examples/Data/Source/HTML Templates/In-Table Master-Detail.html create mode 100644 Examples/Data/Source/HTML Templates/Multicolored Numbered List.html create mode 100644 Examples/Data/Source/HTML Templates/Numbered List.html create mode 100644 Examples/Data/Source/HTML Templates/Single Row.html create mode 100644 Examples/Data/Source/Text Templates/Bulleted List.txt create mode 100644 Examples/Data/Source/Text Templates/Common List.txt create mode 100644 Examples/Data/Source/Text Templates/Common Master-Detail.txt create mode 100644 Examples/Data/Source/Text Templates/In-Paragraph List.txt create mode 100644 Examples/Data/Source/Text Templates/Numbered List.txt create mode 100644 Examples/Data/Source/Text Templates/Single Row.txt diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/DataLayer.cs b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/DataLayer.cs index 31c5956..a31c95b 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/DataLayer.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/DataLayer.cs @@ -480,6 +480,32 @@ public static GroupDocs.Assembly.Data.DocumentTable ImportingWordDocToPresentati Debug.Assert(table.Columns[1].Name == "Column2"); return table; } + + /// + /// Import spread sheet to html document + /// + /// + public static GroupDocs.Assembly.Data.DocumentTable ImportingSpreadsheetToHtml() + { + + // Do not extract column names from the first row, so that the first row to be treated as a data row. + // Limit the largest row index, so that only the first four data rows to be loaded. + DocumentTableOptions options = new DocumentTableOptions(); + //options.MaxRowIndex = 3; + + // Use data of the _second_ table in the document. + DocumentTable table = new DocumentTable(excelDataFile, 0); + + // Check column count and names. + Debug.Assert(table.Columns.Count == 3); + + // NOTE: Default column names are used, because we do not extract the names from the first row. + Debug.Assert(table.Columns[0].Name == "A"); + Debug.Assert(table.Columns[1].Name == "B"); + Debug.Assert(table.Columns[2].Name == "C"); + return table; + } + /// /// Presentation file data source /// diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs index 9a90472..e137c09 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs @@ -780,6 +780,131 @@ public static void GenerateBulletedList(string strDocumentFormat, bool isDatabas //ExEnd:GenerateBulletedListinOpenPresentationFormat } break; + + case "html": + if (isDatabase) + { + //ExStart:GenerateBulletedListFromDatabaseinHtmlFormat + //Setting up source html template + const String strHtmlTemplate = "HTML Templates/Bulleted List.html"; + //Setting up destination html report + const String strHtmlReport = "HTML Reports/Bulleted List Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Bulleted List Report in open spreadsheet format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetProductsDataDB(), "products"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateBulletedListFromDatabaseinHtmlFormat + } + else if (isDataSet) + { + //ExStart:GenerateBulletedListFromDataSetinHtmlFormat + //Setting up source html template + const String strHtmlTemplate = "HTML Templates/Bulleted List.html"; + //Setting up destination html report + const String strHtmlReport = "HTML Reports/Bulleted List Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Bulleted List Report in open spreadsheet format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetProductsDT()); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateBulletedListFromDataSetinHtmlFormat + } + else if (isDataSourceXML) + { + //ExStart:GenerateBulletedListFromXMLinHtmlFormat + //Setting up source html template + const String strHtmlTemplate = "HTML Templates/Bulleted List.html"; + //Setting up destination html report + const String strHtmlReport = "HTML Reports/Bulleted List Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Bulleted List Report in open spreadsheet format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetAllDataFromXML(), "ds"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateBulletedListFromXMLinHtmlFormat + } + else if (isJson) + { + //ExStart:GenerateBulletedListFromJsoninHtml + //setting up source + const String strDocumentTemplate = "HTML Templates/Bulleted List.html"; + //Setting up destination + const String strDocumentReport = "HTML Reports/Bulleted List Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class + //Call AssembleDocument to generate bulleted list in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateBulletedListFromJsoninHtml + } + else + { + //ExStart:GenerateBulletedListinHTMLFormat + //Setting up source html template + const String strHtmlTemplate = "HTML Templates/Bulleted List.html"; + //Setting up destination html report + const String strHtmlReport = "HTML Reports/Bulleted List Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Bulleted List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetProductsData(), "products"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateBulletedListinHTMLFormat + } + break; + case "text": + { + //ExStart:GenerateBulletedListinTextFormat + //Setting up source text document template + const String strTextTemplate = "Text Templates/Bulleted List.txt"; + //Setting up destination text document report + const String strTextReport = "Text Reports/Bulleted List Report.txt"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Bulleted List Report in text format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strTextTemplate), CommonUtilities.SetDestinationDocument(strTextReport), DataLayer.GetProductsData(), "products"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateBulletedListinTextFormat + } + break; + } } public static void GenerateChartWithFilteringGroupingAndOrdering(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) @@ -1408,6 +1533,130 @@ public static void GenerateCommonList(string strDocumentFormat, bool isDatabase, //ExEnd:GenerateCommonListinOpenPresentationFormat } break; + + case "html": + if (isDatabase) + { + //ExStart:GenerateCommonListFromDatabaseinHtmlFormat + //Setting up source html document template + const String strDocumentTemplate = "HTML Templates/Common List.html"; + //Setting up destination html report + const String strDocumentReport = "HTML Reports/Common List_DB Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Common List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersDataDB(), "customers"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateCommonListFromDatabaseinHtmlFormat + } + else if (isDataSet) + { + //ExStart:GenerateCommonListFromDataSetinHtmlFormat + //Setting up source html template + const String strDocumentTemplate = "HTML Templates/Common List.html"; + //Setting up destination html report + const String strDocumentReport = "HTML Reports/Common List_DT Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Common List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersAndOrdersDataDT()); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateCommonListFromDataSetinHtmlFormat + } + else if (isDataSourceXML) + { + //ExStart:GenerateCommonListFromXMLinHtmlFormat + //Setting up source html template + const String strDocumentTemplate = "HTML Templates/Common List.html"; + //Setting up destination open document report + const String strDocumentReport = "HTML Reports/Common List_XML Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Common List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateCommonListFromXMLinHtmlFormat + } + else if (isJson) + { + //ExStart:GenerateCommonListReportFromJsoninHtml + //setting up source + const String strDocumentTemplate = "HTML Templates/Common List.html"; + //Setting up destination + const String strDocumentReport = "HTML Reports/Common List_HTML_Json Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class + //Call AssembleDocument to generate Common List report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateCommonListReportFromJsoninHtml + } + else + { + //ExStart:GenerateCommonListinHtmlFormat + //Setting up source html template + const String strDocumentTemplate = "HTML Templates/Common List.html"; + //Setting up destination html report + const String strDocumentReport = "HTML Reports/Common List Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Common List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.PopulateData(), "customers"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateCommonListinHtmlFormat + } + break; + case "text": + { + //ExStart:GenerateCommonListinTextFormat + //Setting up source text document template + const String strTxtDocumentTemplate = "Text Templates/Common List.txt"; + //Setting up destination text document report + const String strTxtDocumentReport = "Text Reports/Common List Report.txt"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Common List Report in text document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strTxtDocumentTemplate), CommonUtilities.SetDestinationDocument(strTxtDocumentReport), DataLayer.PopulateData(), "customers"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateCommonListinTextFormat + } + break; } } public static void GenerateCommonMasterDetail(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) @@ -1722,6 +1971,130 @@ public static void GenerateCommonMasterDetail(string strDocumentFormat, bool isD //ExEnd:GenerateCommonMasterDetailinOpenPresentationFormat } break; + + case "html": + if (isDatabase) + { + //ExStart:GenerateCommonMasterDetailFromDatabaseinHtmlFormat + //Setting up source html template + const String strDocumentTemplate = "HTML Templates/Common Master-Detail.html"; + //Setting up destination html report + const String strDocumentReport = "HTML Reports/Common Master-Detail_DB Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Common Master-Detail Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersDataDB(), "customers"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateCommonMasterDetailFromDatabaseinHtmlFormat + } + else if (isDataSet) + { + //ExStart:GenerateCommonMasterDetailFromDataSetinHtmlFormat + //Setting up source html template + const String strDocumentTemplate = "HTML Templates/Common Master-Detail.html"; + //Setting up destination html report + const String strDocumentReport = "HTML Reports/Common Master-Detail Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Common Master-Detail Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersAndOrdersDataDT()); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateCommonMasterDetailFromDataSetinHtmlFormat + } + else if (isDataSourceXML) + { + //ExStart:GenerateCommonMasterDetailFromXMLinHtmlFormat + //Setting up source html template + const String strDocumentTemplate = "HTML Templates/Common Master-Detail.html"; + //Setting up destination html report + const String strDocumentReport = "HTML Reports/Common Master-Detail_XML Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Common Master-Detail Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateCommonMasterDetailFromXMLinHtmlFormat + } + else if (isJson) + { + //ExStart:GenerateCommonMasterDetailReportFromJsoninHtml + //setting up source + const String strDocumentTemplate = "HTML Templates/Common Master-Detail.html"; + //Setting up destination + const String strDocumentReport = "HTML Reports/Common Master-Detail_Json Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class + //Call AssembleDocument to generate Common master-detail report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateCommonMasterDetailReportFromJsoninHtml + } + else + { + //ExStart:GenerateCommonMasterDetailinHtmlFormat + //Setting up source html template + const String strDocumentTemplate = "HTML Templates/Common Master-Detail.html"; + //Setting up destination html report + const String strDocumentReport = "HTML Reports/Common Master-Detail Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Common Master-Detail Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.PopulateData(), "customers"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateCommonMasterDetailinHtmlFormat + } + break; + case "text": + { + //ExStart:GenerateCommonMasterDetailinTextFormat + //Setting up source text document template + const String strTxtDocumentTemplate = "Text Templates/Common Master-Detail.txt"; + //Setting up destination text document report + const String strTxtDocumentReport = "Text Reports/Common Master-Detail Report.txt"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Common Master-Detail Report in text document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strTxtDocumentTemplate), CommonUtilities.SetDestinationDocument(strTxtDocumentReport), DataLayer.PopulateData(), "customers"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateCommonMasterDetailinTextFormat + } + break; } } public static void GenerateInParagraphList(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) @@ -2036,20 +2409,225 @@ public static void GenerateInParagraphList(string strDocumentFormat, bool isData //ExEnd:GenerateInParagraphListinOpenPresentationFormat } break; - } - } - public static void GenerateInTableListWithAlternateContent(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) - { - switch (strDocumentFormat) - { - case "document": + case "html": if (isDatabase) { - //ExStart:GenerateInTableListWithAlternateContentFromDatabaseinOpenDocumentProcessingFormat - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/In-Table List with Alternate Content_DB_OpenDocument.odt"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/In-Table List with Alternate Content_DB Report.odt"; + //ExStart:GenerateInParagraphListFromDatabaseinHtmlFormat + //Setting up source html template + const String strDocumentTemplate = "HTML Templates/In-Paragraph List.html"; + //Setting up destination html report + const String strDocumentReport = "HTML Reports/In-Paragraph List_DB Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Paragraph List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataDB(), "products"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInParagraphListFromDatabaseinHtmlFormat + } + else if (isDataSet) + { + //ExStart:GenerateInParagraphListFromDataSetinHtmlFormat + //Setting up source html template + const String strDocumentTemplate = "HTML Templates/In-Paragraph List.html"; + //Setting up destination html report + const String strDocumentReport = "HTML Reports/In-Paragraph List_DT Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Paragraph List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDT()); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInParagraphListFromDataSetinHtmlFormat + } + else if (isDataSourceXML) + { + //ExStart:GenerateInParagraphListFromXMLinHtmlFormat + //Setting up source html template + const String strDocumentTemplate = "HTML Templates/In-Paragraph List.html"; + //Setting up destination html report + const String strDocumentReport = "HTML Reports/In-Paragraph List_XML Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Paragraph List Report in htmlformat + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInParagraphListFromXMLinHtmlFormat + } + else if (isJson) + { + //ExStart:GenerateInParagraphListReportFromJsoninHtml + //setting up source + const String strDocumentTemplate = "HTML Templates/In-Paragraph List.html"; + //Setting up destination + const String strDocumentReport = "HTML Reports/In-Paragraph List_OpenDocument_Json Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class + //Call AssembleDocument to generate In-Paragraph List report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInParagraphListReportFromJsoninHtml + } + else + { + //ExStart:GenerateInParagraphListinHtmlFormat + //Setting up source html template + const String strDocumentTemplate = "HTML Templates/In-Paragraph List.html"; + //Setting up destination html report + const String strDocumentReport = "HTML Reports/In-Paragraph List Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Paragraph List Report in htmlformat + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsData(), "products"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInParagraphListinHtmlFormat + } + break; + + case "text": + if (isDatabase) + { + //ExStart:GenerateInParagraphListFromDatabaseinTextFormat + //Setting up source text document template + const String strDocumentTemplate = "Text Templates/In-Paragraph List.txt"; + //Setting up destination text document report + const String strDocumentReport = "Text Reports/In-Paragraph List_DB Report.txt"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Paragraph List Report in text document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataDB(), "products"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInParagraphListFromDatabaseinTextFormat + } + else if (isDataSet) + { + //ExStart:GenerateInParagraphListFromDataSetinTextFormat + //Setting up source text document template + const String strDocumentTemplate = "Text Templates/In-Paragraph List.txt"; + //Setting up destination text document report + const String strDocumentReport = "Text Reports/In-Paragraph List_DT Report.txt"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Paragraph List Report in text document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDT()); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInParagraphListFromDataSetinTextFormat + } + else if (isDataSourceXML) + { + //ExStart:GenerateInParagraphListFromXMLinTextFormat + //Setting up source text document template + const String strDocumentTemplate = "Text Templates/In-Paragraph List_XML_OpenDocument.txt"; + //Setting up destination text document report + const String strDocumentReport = "Text Reports/In-Paragraph List_XML Report.txt"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Paragraph List Report in text document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInParagraphListFromXMLinTextFormat + } + else if (isJson) + { + //ExStart:GenerateInParagraphListReportFromJsoninText + //setting up source + const String strDocumentTemplate = "Text Templates/In-Paragraph List.txt"; + //Setting up destination + const String strDocumentReport = "Text Reports/In-Paragraph List_Json Report.txt"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class + //Call AssembleDocument to generate In-Paragraph List report in text document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInParagraphListReportFromJsoninText + } + else + { + //ExStart:GenerateInParagraphListinTextFormat + //Setting up source text document template + const String strDocumentTemplate = "Text Templates/In-Paragraph List.txt"; + //Setting up destination text document report + const String strDocumentReport = "Text Reports/In-Paragraph List Report.txt"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Paragraph List Report in text document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsData(), "products"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInParagraphListinTextFormat + } + break; + } + } + public static void GenerateInTableListWithAlternateContent(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) + { + switch (strDocumentFormat) + { + case "document": + if (isDatabase) + { + //ExStart:GenerateInTableListWithAlternateContentFromDatabaseinOpenDocumentProcessingFormat + //Setting up source open document template + const String strDocumentTemplate = "Word Templates/In-Table List with Alternate Content_DB_OpenDocument.odt"; + //Setting up destination open document report + const String strDocumentReport = "Word Reports/In-Table List with Alternate Content_DB Report.odt"; try { //Instantiate DocumentAssembler class @@ -2350,6 +2928,108 @@ public static void GenerateInTableListWithAlternateContent(string strDocumentFor //ExEnd:GenerateInTableListWithAlternateContentinOpenPresentationFormat } break; + case "html": + if (isDatabase) + { + //ExStart:GenerateInTableListWithAlternateContentFromDatabaseinHtmlFormat + //Setting up source html template + const String strHtmlTemplate = "HTML Templates/In-Table List with Alternate Content.html"; + //Setting up destination html report + const String strHtmlReport = "HTML Reports/In-Table List with Alternate Content_DB Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Table List with Alternate Content Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetProductsDataDB(), "products"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInTableListWithAlternateContentFromDatabaseinHtmlFormat + } + else if (isDataSet) + { + //ExStart:GenerateInTableListWithAlternateContentFromDataSetinHtmlFormat + //Setting up source html template + const String strHtmlTemplate = "HTML Templates/In-Table List with Alternate Content.html"; + //Setting up destination html report + const String strHtmlReport = "HTML Reports/In-Table List with Alternate Content_DT Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Table List with Alternate Content Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetProductsDT(), "ds"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInTableListWithAlternateContentFromDataSetinHtmlFormat + } + else if (isDataSourceXML) + { + //ExStart:GenerateInTableListWithAlternateContentFromXMLinHtmlFormat + //Setting up source html template + const String strHtmlTemplate = "HTML Templates/In-Table List with Alternate Content.html"; + //Setting up destination html report + const String strHtmlReport = "HTML Reports/In-Table List with Alternate Content_XML Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Table List with Alternate Content Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetAllDataFromXML(), "ds"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInTableListWithAlternateContentFromXMLinHtmlFormat + } + else if (isJson) + { + //ExStart:GenerateInTableListwithAlternateContentReportFromJsoninHtml + //setting up source + const String strHtmlTemplate = "HTML Templates/In-Table List with Alternate Content.html"; + //Setting up destination + const String strHtmlReport = "HTML Reports/In-Table List with Alternate Content_OpenDocument_Json Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class + //Call AssembleDocument to generate In-Table List with Alternate Content report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomerOrderDataFromJson(), "orders"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInTableListwithAlternateContentReportFromJsoninHtml + } + else + { + //ExStart:GenerateInTableListWithAlternateContentinHtmlFormat + //Setting up source html template + const String strHtmlTemplate = "HTML Templates/In-Table List with Alternate Content.html"; + //Setting up destination html report + const String strHtmlReport = "HTML Reports/In-Table List with Alternate Content Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Table List with Alternate Content Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetOrdersData(), "orders"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInTableListWithAlternateContentinHtmlFormat + } + break; } } public static void GenerateInTableListWithFilteringGroupingAndOrdering(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) @@ -2664,106 +3344,209 @@ public static void GenerateInTableListWithFilteringGroupingAndOrdering(string st //ExEnd:GenerateInTableListWithFilteringGroupingAndOrderinginOpenPresentationFormat } break; - } - } - public static void GenerateInTableListWithHighlightedRows(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) - { - switch (strDocumentFormat) - { - case "document": + case "html": if (isDatabase) { - //ExStart:GenerateInTableListWithHighlightedRowsFromDatabaseinDocumentProcessingDocument - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/In-Table List with Highlighted Rows_DB_OpenDocument.odt"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/In-Table List with Highlighted Rows_DB Report.odt"; + //ExStart:GenerateInTableListWithFilteringGroupingAndOrderingFromDatabaseinHtmlDocument + //Setting up source html template + const String strHtmlTemplate = "HTML Templates/In-Table List with Filtering, Grouping, and Ordering.html"; + //Setting up destination html report + const String strHtmlReport = "HTML Reports/In-Table List with Filtering, Grouping, and Ordering_DB Report.html"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate In-Table List with Highlighted Rows Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetOrdersDataDB(), "orders"); + //Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetOrdersDataDB(), "orders"); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateInTableListWithHighlightedRowsFromDatabaseinDocumentProcessingDocument + //ExEnd:GenerateInTableListWithFilteringGroupingAndOrderingFromDatabaseinHtmlDocument } else if (isDataSet) { - //ExStart:GenerateInTableListWithHighlightedRowsFromDataSetinDocumentProcessingDocument - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/In-Table List with Highlighted Rows_DT_OpenDocument.odt"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/In-Table List with Highlighted Rows_DT Report.odt"; + //ExStart:GenerateInTableListWithFilteringGroupingAndOrderingFromDataSetinHtmlDocument + //Setting up source html template + const String strHtmlTemplate = "HTML Templates/In-Table List with Filtering, Grouping, and Ordering.html"; + //Setting up destination html report + const String strHtmlReport = "HTML Reports/In-Table List with Filtering, Grouping, and Ordering_DT Report.html"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate In-Table List with Highlighted Rows Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersAndOrdersDataDT(), "ds"); + //Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomersAndOrdersDataDT()); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateInTableListWithHighlightedRowsFromDataSetinDocumentProcessingDocument + //ExEnd:GenerateInTableListWithFilteringGroupingAndOrderingFromDataSetinHtmlDocument } else if (isDataSourceXML) { - //ExStart:GenerateInTableListWithHighlightedRowsFromXMLinDocumentProcessingDocument - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/In-Table List with Highlighted Rows_XML_OpenDocument.odt"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/In-Table List with Highlighted Rows_XML Report.odt"; + //ExStart:GenerateInTableListWithFilteringGroupingAndOrderingFromXMLinHtmlDocument + //Setting up source html template + const String strHtmlTemplate = "HTML Templates/In-Table List with Filtering, Grouping, and Ordering.html"; + //Setting up destination html report + const String strHtmlReport = "HTML Reports/In-Table List with Filtering, Grouping, and Ordering_XML Report.html"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate In-Table List with Highlighted Rows Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds"); + //Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetAllDataFromXML(), "ds"); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateInTableListWithHighlightedRowsFromXMLinDocumentProcessingDocument + //ExEnd:GenerateInTableListWithFilteringGroupingAndOrderingFromXMLinHtmlDocument } else if (isJson) { - //ExStart:GenerateInTableListwithHighlightedRowsReportFromJsoninOpenWord + //ExStart:GenerateInTableListwithFilteringGroupingAndOrderingReportFromJsoninHtml //setting up source - const String strDocumentTemplate = "Word Templates/In-Table List with Highlighted Rows_OpenDocument.odt"; + const String strHtmlTemplate = "HTML Templates/In-Table List with Filtering, Grouping, and Ordering_OpenDocument.html"; //Setting up destination - const String strDocumentReport = "Word Reports/In-Table List with Highlighted Rows_OpenDocument_Json Report.odt"; + const String strHtmlReport = "HTML Reports/In-Table List with Filtering, Grouping, and Ordering_OpenDocument_Json Report.html"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate In-Table List with Highlighted Rows report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders"); + //Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomerOrderDataFromJson(), "orders"); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateInTableListwithHighlightedRowsReportFromJsoninOpenWord + //ExEnd:GenerateInTableListwithFilteringGroupingAndOrderingReportFromJsoninHtml } else { - //ExStart:GenerateInTableListWithHighlightedRowsinDocumentProcessingDocument - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/In-Table List with Highlighted Rows_OpenDocument.odt"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/In-Table List with Highlighted Rows Report.odt"; + //ExStart:GenerateInTableListWithFilteringGroupingAndOrderinginHtmlDocument + //Setting up source html template + const String strHtmlTemplate = "HTML Templates/In-Table List with Filtering, Grouping, and Ordering.html"; + //Setting up destination html report + const String strHtmlReport = "HTML Reports/In-Table List with Filtering, Grouping, and Ordering Report.html"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate In-Table List with Highlighted Rows Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetOrdersData(), "orders"); + //Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetOrdersData(), "orders"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInTableListWithFilteringGroupingAndOrderinginHtmlDocument + } + break; + + } + } + public static void GenerateInTableListWithHighlightedRows(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) + { + switch (strDocumentFormat) + { + case "document": + if (isDatabase) + { + //ExStart:GenerateInTableListWithHighlightedRowsFromDatabaseinDocumentProcessingDocument + //Setting up source open document template + const String strDocumentTemplate = "Word Templates/In-Table List with Highlighted Rows_DB_OpenDocument.odt"; + //Setting up destination open document report + const String strDocumentReport = "Word Reports/In-Table List with Highlighted Rows_DB Report.odt"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Table List with Highlighted Rows Report in open document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetOrdersDataDB(), "orders"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInTableListWithHighlightedRowsFromDatabaseinDocumentProcessingDocument + } + else if (isDataSet) + { + //ExStart:GenerateInTableListWithHighlightedRowsFromDataSetinDocumentProcessingDocument + //Setting up source open document template + const String strDocumentTemplate = "Word Templates/In-Table List with Highlighted Rows_DT_OpenDocument.odt"; + //Setting up destination open document report + const String strDocumentReport = "Word Reports/In-Table List with Highlighted Rows_DT Report.odt"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Table List with Highlighted Rows Report in open document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersAndOrdersDataDT(), "ds"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInTableListWithHighlightedRowsFromDataSetinDocumentProcessingDocument + } + else if (isDataSourceXML) + { + //ExStart:GenerateInTableListWithHighlightedRowsFromXMLinDocumentProcessingDocument + //Setting up source open document template + const String strDocumentTemplate = "Word Templates/In-Table List with Highlighted Rows_XML_OpenDocument.odt"; + //Setting up destination open document report + const String strDocumentReport = "Word Reports/In-Table List with Highlighted Rows_XML Report.odt"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Table List with Highlighted Rows Report in open document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInTableListWithHighlightedRowsFromXMLinDocumentProcessingDocument + } + else if (isJson) + { + //ExStart:GenerateInTableListwithHighlightedRowsReportFromJsoninOpenWord + //setting up source + const String strDocumentTemplate = "Word Templates/In-Table List with Highlighted Rows_OpenDocument.odt"; + //Setting up destination + const String strDocumentReport = "Word Reports/In-Table List with Highlighted Rows_OpenDocument_Json Report.odt"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class + //Call AssembleDocument to generate In-Table List with Highlighted Rows report in open document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInTableListwithHighlightedRowsReportFromJsoninOpenWord + } + else + { + //ExStart:GenerateInTableListWithHighlightedRowsinDocumentProcessingDocument + //Setting up source open document template + const String strDocumentTemplate = "Word Templates/In-Table List with Highlighted Rows_OpenDocument.odt"; + //Setting up destination open document report + const String strDocumentReport = "Word Reports/In-Table List with Highlighted Rows Report.odt"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Table List with Highlighted Rows Report in open document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetOrdersData(), "orders"); } catch (Exception ex) { @@ -2978,6 +3761,109 @@ public static void GenerateInTableListWithHighlightedRows(string strDocumentForm //ExEnd:GenerateInTableListWithHighlightedRowsinOpenPresentationFormat } break; + + case "html": + if (isDatabase) + { + //ExStart:GenerateInTableListWithHighlightedRowsFromDatabaseinHtmlDocument + //Setting up source html template + const String strHtmlTemplate = "HTML Templates/In-Table List with Highlighted Rows.html"; + //Setting up destination html report + const String strHtmlReport = "HTML Reports/In-Table List with Highlighted Rows_DB Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Table List with Highlighted Rows Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetOrdersDataDB(), "orders"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInTableListWithHighlightedRowsFromDatabaseinHtmlDocument + } + else if (isDataSet) + { + //ExStart:GenerateInTableListWithHighlightedRowsFromDataSetinHtmlDocument + //Setting up source html template + const String strHtmlTemplate = "HTML Templates/In-Table List with Highlighted Rows.html"; + //Setting up destination html report + const String strHtmlReport = "HTML Reports/In-Table List with Highlighted Rows_DT Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Table List with Highlighted Rows Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomersAndOrdersDataDT(), "ds"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInTableListWithHighlightedRowsFromDataSetinHtmlDocument + } + else if (isDataSourceXML) + { + //ExStart:GenerateInTableListWithHighlightedRowsFromXMLinHtmlDocument + //Setting up source html template + const String strHtmlTemplate = "HTML Templates/In-Table List with Highlighted Rows_XML_OpenDocument.html"; + //Setting up destination html report + const String strHtmlReport = "HTML Reports/In-Table List with Highlighted Rows_XML Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Table List with Highlighted Rows Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetAllDataFromXML(), "ds"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInTableListWithHighlightedRowsFromXMLinHtmlDocument + } + else if (isJson) + { + //ExStart:GenerateInTableListwithHighlightedRowsReportFromJsoninHtml + //setting up source + const String strHtmlTemplate = "HTML Templates/In-Table List with Highlighted Rows_OpenDocument.html"; + //Setting up destination + const String strHtmlReport = "HTML Reports/In-Table List with Highlighted Rows_OpenDocument_Json Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class + //Call AssembleDocument to generate In-Table List with Highlighted Rows report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomerOrderDataFromJson(), "orders"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInTableListwithHighlightedRowsReportFromJsoninHtml + } + else + { + //ExStart:GenerateInTableListWithHighlightedRowsinHtmlDocument + //Setting up source html template + const String strHtmlTemplate = "HTML Templates/In-Table List with Highlighted Rows.html"; + //Setting up destination html report + const String strHtmlReport = "HTML Reports/In-Table List with Highlighted Rows Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Table List with Highlighted Rows Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetOrdersData(), "orders"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInTableListWithHighlightedRowsinHtmlDocument + } + break; } } public static void GenerateInTableList(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) @@ -3292,6 +4178,109 @@ public static void GenerateInTableList(string strDocumentFormat, bool isDatabase //ExEnd:GenerateInTableListinOpenPresentationFormat } break; + + case "html": + if (isDatabase) + { + //ExStart:GenerateInTableListFromDatabaseinHtmlDocument + //Setting up source html template + const String strHtmlTemplate = "HTML Templates/In-Table List.html"; + //Setting up destination html report + const String strHtmlReport = "HTML Reports/In-Table List_DB Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Table List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomersDataDB(), "customers"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInTableListFromDatabaseinHtmlDocument + } + else if (isDataSet) + { + //ExStart:GenerateInTableListFromDataSetinHtmlDocument + //Setting up source html template + const String strHtmlTemplate = "HTML Templates/In-Table List.html"; + //Setting up destination html report + const String strHtmlReport = "HTML Reports/In-Table List_DT Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Table List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomersAndOrdersDataDT(), "ds"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInTableListFromDataSetinHtmlDocument + } + else if (isDataSourceXML) + { + //ExStart:GenerateInTableListFromXMLinHtmlDocument + //Setting up source html template + const String strHtmlTemplate = "HTML Templates/In-Table List.html"; + //Setting up destination html report + const String strHtmlReport = "HTML Reports/In-Table List_XML Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Table List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetAllDataFromXML(), "ds"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInTableListFromXMLinHtmlDocument + } + else if (isJson) + { + //ExStart:GenerateInTableListReportFromJsoninHtml + //setting up source + const String strHtmlTemplate = "HTML Templates/In-Table List.html"; + //Setting up destination + const String strHtmlReport = "HTML Reports/In-Table List_OpenDocument_Json Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class + //Call AssembleDocument to generate In-Table List report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomerDataFromJson(), "customers"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInTableListReportFromJsoninHtml + } + else + { + //ExStart:GenerateInTableListinHtmlDocument + //Setting up source html template + const String strHtmlTemplate = "HTML Templates/In-Table List.html"; + //Setting up destination html report + const String strHtmlReport = "HTML Reports/In-Table List Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Table List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.PopulateData(), "customers"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInTableListinHtmlDocument + } + break; } } public static void GenerateInTableMasterDetail(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) @@ -3606,40 +4595,142 @@ public static void GenerateInTableMasterDetail(string strDocumentFormat, bool is //ExEnd:GenerateInTableMasterDetailinOpenPresentationFormat } break; - } - } - public static void GenerateMulticoloredNumberedList(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) - { - switch (strDocumentFormat) - { - case "document": + case "html": if (isDatabase) { - //ExStart:GenerateMulticoloredNumberedListFromDatabaseinOpenDocumentProcessingDocument - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/Multicolored Numbered List_OpenDocument.odt"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/Multicolored Numbered List_DB Report.odt"; + //ExStart:GenerateInTableMasterDetailFromDatabaseinHtmlFormat + //Setting up source html template + const String strHtmlTemplate = "HTML Templates/In-Table Master-Detail.html"; + //Setting up destination html report + const String strHtmlReport = "HTML Reports/In-Table Master-Detail_DB Report.html"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Multicolored Numbered List Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataDB(), "products"); + //Call AssembleDocument to generate In-Table Master-Detail Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomersDataDB(), "customers"); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateMulticoloredNumberedListFromDatabaseinOpenDocumentProcessingDocument + //ExEnd:GenerateInTableMasterDetailFromDatabaseinHtmlFormat } else if (isDataSet) { - //ExStart:GenerateMulticoloredNumberedListFromDataSetinOpenDocumentProcessingDocument - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/Multicolored Numbered List_OpenDocument.odt"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/Multicolored Numbered List_DT Report.odt"; + //ExStart:GenerateInTableMasterDetailFromDataSetinHtmlFormat + //Setting up source html template + const String strHtmlTemplate = "HTML Templates/In-Table Master-Detail.html"; + //Setting up destination html report + const String strHtmlReport = "HTML Reports/In-Table Master-Detail_DT Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Table Master-Detail Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomersAndOrdersDataDT(), "ds"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInTableMasterDetailFromDataSetinHtmlFormat + } + else if (isDataSourceXML) + { + //ExStart:GenerateInTableMasterDetailFromXMLinHtmlFormat + //Setting up source html template + const String strHtmlTemplate = "HTML Templates/In-Table Master-Detail.html"; + //Setting up destination html report + const String strHtmlReport = "HTML Reports/In-Table Master-Detail_XML Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Table Master-Detail Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetAllDataFromXML(), "ds"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInTableMasterDetailFromXMLinHtmlFormat + } + else if (isJson) + { + //ExStart:GenerateInTableMasterDetailReportFromJsoninHtml + //setting up source + const String strHtmlTemplate = "HTML Templates/In-Table Master-Detail.html"; + //Setting up destination + const String strHtmlReport = "HTML Reports/In-Table Master-Detail_Json Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class + //Call AssembleDocument to generate In-Table Master-Detail report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomerDataFromJson(), "customers"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInTableMasterDetailReportFromJsoninHtml + } + else + { + //ExStart:GenerateInTableMasterDetailinHtmlFormat + //Setting up source html template + const String strHtmlTemplate = "HTML Templates/In-Table Master-Detail.html"; + //Setting up destination html report + const String strHtmlReport = "HTML Reports/In-Table Master-Detail Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Table Master-Detail Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.PopulateData(), "customers"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInTableMasterDetailinHtmlFormat + } + break; + } + } + public static void GenerateMulticoloredNumberedList(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) + { + switch (strDocumentFormat) + { + case "document": + if (isDatabase) + { + //ExStart:GenerateMulticoloredNumberedListFromDatabaseinOpenDocumentProcessingDocument + //Setting up source open document template + const String strDocumentTemplate = "Word Templates/Multicolored Numbered List_OpenDocument.odt"; + //Setting up destination open document report + const String strDocumentReport = "Word Reports/Multicolored Numbered List_DB Report.odt"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Multicolored Numbered List Report in open document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataDB(), "products"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateMulticoloredNumberedListFromDatabaseinOpenDocumentProcessingDocument + } + else if (isDataSet) + { + //ExStart:GenerateMulticoloredNumberedListFromDataSetinOpenDocumentProcessingDocument + //Setting up source open document template + const String strDocumentTemplate = "Word Templates/Multicolored Numbered List_OpenDocument.odt"; + //Setting up destination open document report + const String strDocumentReport = "Word Reports/Multicolored Numbered List_DT Report.odt"; try { //Instantiate DocumentAssembler class @@ -3920,6 +5011,109 @@ public static void GenerateMulticoloredNumberedList(string strDocumentFormat, bo //ExEnd:GenerateMulticoloredNumberedListinOpenPresentationFormat } break; + case "html": + if (isDatabase) + { + //ExStart:GenerateMulticoloredNumberedListFromDatabaseinHtml + //Setting up source html template + const String strDocumentTemplate = "HTML Templates/Multicolored Numbered List.html"; + //Setting up destination html report + const String strDocumentReport = "HTML Reports/Multicolored Numbered List_DB Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Multicolored Numbered List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataDB(), "products"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateMulticoloredNumberedListFromDatabaseinHtml + } + else if (isDataSet) + { + //ExStart:GenerateMulticoloredNumberedListFromDataSetinHtml + //Setting up source html template + const String strDocumentTemplate = "HTML Templates/Multicolored Numbered List.html"; + //Setting up destination html report + const String strDocumentReport = "HTML Reports/Multicolored Numbered List_DT Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Multicolored Numbered List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDT()); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateMulticoloredNumberedListFromDataSetinHtml + } + else if (isDataSourceXML) + { + //ExStart:GenerateMulticoloredNumberedListFromXMLinHtml + //Setting up source html template + const String strDocumentTemplate = "HTML Templates/Multicolored Numbered List_XML.html"; + //Setting up destination html report + const String strDocumentReport = "HTML Reports/Multicolored Numbered List_XML Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Multicolored Numbered List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateMulticoloredNumberedListFromXMLinHtml + } + else if (isJson) + { + //ExStart:GenerateMulticoloredNumberedListReportFromJsoninHtml + //setting up source + const String strDocumentTemplate = "HTML Templates/Multicolored Numbered List.html"; + //Setting up destination + const String strDocumentReport = "HTML Reports/Multicolored Numbered List_Json Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class + //Call AssembleDocument to generate Multicolored Numbered List report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateMulticoloredNumberedListReportFromJsoninHtml + } + else + { + //ExStart:GenerateMulticoloredNumberedListinHtml + //Setting up source html template + const String strDocumentTemplate = "HTML Templates/Multicolored Numbered List.html"; + //Setting up destination html report + const String strDocumentReport = "HTML Reports/Multicolored Numbered List Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Multicolored Numbered List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsData(), "products"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateMulticoloredNumberedListinHtml + } + break; + } } public static void GenerateNumberedList(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) @@ -3985,253 +5179,458 @@ public static void GenerateNumberedList(string strDocumentFormat, bool isDatabas { Console.WriteLine(ex.Message); } - //ExEnd:GenerateNumberedListFromXMLinOpenDocumentProcessingFormat + //ExEnd:GenerateNumberedListFromXMLinOpenDocumentProcessingFormat + } + else if (isJson) + { + //ExStart:GenerateNumberedListReportFromJsoninOpenWord + //setting up source + const String strDocumentTemplate = "Word Templates/Numbered List_OpenDocument.odt"; + //Setting up destination + const String strDocumentReport = "Word Reports/Numbered List_OpenDocument_Json Report.odt"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class + //Call AssembleDocument to generate Numbered List report in open document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateNumberedListReportFromJsoninOpenWord + } + else + { + //ExStart:GenerateNumberedListinOpenDocumentProcessingFormat + //Setting up source open document template + const String strDocumentTemplate = "Word Templates/Numbered List_OpenDocument.odt"; + //Setting up destination open document report + const String strDocumentReport = "Word Reports/Numbered List Report.odt"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Numbered List Report in open document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsData(), "products"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateNumberedListinOpenDocumentProcessingFormat + } + break; + + case "spreadsheet": + if (isDatabase) + { + //ExStart:GenerateNumberedListFromDatabaseinOpenSpreadsheetFormat + //Setting up source open spreadsheet template + const String strSpreadsheetTemplate = "Spreadsheet Templates/Numbered List_OpenDocument.ods"; + //Setting up destination open spreadsheet report + const String strSpreadsheetReport = "Spreadsheet Reports/Numbered List_DB Report.ods"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Numbered List Report in open spreadsheet format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetProductsDataDB(), "products"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateNumberedListFromDatabaseinOpenSpreadsheetFormat + } + else if (isDataSet) + { + //ExStart:GenerateNumberedListFromDataSetinOpenSpreadsheetFormat + //Setting up source open spreadsheet template + const String strSpreadsheetTemplate = "Spreadsheet Templates/Numbered List_OpenDocument.ods"; + //Setting up destination open spreadsheet report + const String strSpreadsheetReport = "Spreadsheet Reports/Numbered List_DT Report.ods"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Numbered List Report in open spreadsheet format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetProductsDT()); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateNumberedListFromDataSetinOpenSpreadsheetFormat + } + else if (isDataSourceXML) + { + //ExStart:GenerateNumberedListFromXMLinOpenSpreadsheetFormat + //Setting up source open spreadsheet template + const String strSpreadsheetTemplate = "Spreadsheet Templates/Numbered List_XML_OpenDocument.ods"; + //Setting up destination open spreadsheet report + const String strSpreadsheetReport = "Spreadsheet Reports/Numbered List_XML Report.ods"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Numbered List Report in open spreadsheet format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetAllDataFromXML(), "ds"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateNumberedListFromXMLinOpenSpreadsheetFormat + } + else if (isJson) + { + //ExStart:GenerateNumberedListReportFromJsoninOpenSpreadsheet + //setting up source + const String strDocumentTemplate = "Spreadsheet Templates/Numbered List_OpenDocument.ods"; + //Setting up destination + const String strDocumentReport = "Spreadsheet Reports/Numbered List_OpenDocument_Json Report.ods"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class + //Call AssembleDocument to generate Numbered List report in open spreadsheet format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateNumberedListReportFromJsoninOpenSpreadsheet + } + else + { + //ExStart:GenerateNumberedListinOpenSpreadsheetFormat + //Setting up source open spreadsheet template + const String strSpreadsheetTemplate = "Spreadsheet Templates/Numbered List_OpenDocument.ods"; + //Setting up destination open spreadsheet report + const String strSpreadsheetReport = "Spreadsheet Reports/Numbered List Report.ods"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Numbered List Report in open spreadsheet format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetProductsData(), "products"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateNumberedListinOpenSpreadsheetFormat + } + break; + + case "presentation": + if (isDatabase) + { + //ExStart:GenerateNumberedListFromDatabaseinOpenPresentationFormat + //Setting up source open presentation template + const String strPresentationTemplate = "Presentation Templates/Numbered List_OpenDocument.odp"; + //Setting up destination open presentation report + const String strPresentationReport = "Presentation Reports/Numbered List_DB Report.odp"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Numbered List Report in open presentation format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetProductsDataDB(), "products"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateNumberedListFromDatabaseinOpenPresentationFormat + } + else if (isDataSet) + { + //ExStart:GenerateNumberedListFromDataSetinOpenPresentationFormat + //Setting up source open presentation template + const String strPresentationTemplate = "Presentation Templates/Numbered List_OpenDocument.odp"; + //Setting up destination open presentation report + const String strPresentationReport = "Presentation Reports/Numbered List_DT Report.odp"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Numbered List Report in open presentation format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetProductsDT()); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateNumberedListFromDataSetinOpenPresentationFormat + } + else if (isDataSourceXML) + { + //ExStart:GenerateNumberedListFromXMLinOpenPresentationFormat + //Setting up source open presentation template + const String strPresentationTemplate = "Presentation Templates/Numbered List_XML_OpenDocument.odp"; + //Setting up destination open presentation report + const String strPresentationReport = "Presentation Reports/Numbered List_XML Report.odp"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Numbered List Report in open presentation format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetAllDataFromXML(), "ds"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateNumberedListFromXMLinOpenPresentationFormat } else if (isJson) { - //ExStart:GenerateNumberedListReportFromJsoninOpenWord + //ExStart:GenerateNumberedListReportFromJsoninOpenPresentation //setting up source - const String strDocumentTemplate = "Word Templates/Numbered List_OpenDocument.odt"; + const String strDocumentTemplate = "Presentation Templates/Numbered List_OpenDocument.odp"; //Setting up destination - const String strDocumentReport = "Word Reports/Numbered List_OpenDocument_Json Report.odt"; + const String strDocumentReport = "Presentation Reports/Numbered List_OpenDocument_Json Report.odp"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Numbered List report in open document format + //Call AssembleDocument to generate Numbered List report in open presentation format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products"); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateNumberedListReportFromJsoninOpenWord + //ExEnd:GenerateNumberedListReportFromJsoninOpenPresentation } else { - //ExStart:GenerateNumberedListinOpenDocumentProcessingFormat - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/Numbered List_OpenDocument.odt"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/Numbered List Report.odt"; + //ExStart:GenerateNumberedListinOpenPresentationFormat + //Setting up source open presentation template + const String strPresentationTemplate = "Presentation Templates/Numbered List_OpenDocument.odp"; + //Setting up destination open presentation report + const String strPresentationReport = "Presentation Reports/Numbered List Report.odp"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Numbered List Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsData(), "products"); + //Call AssembleDocument to generate Numbered List Report in open presentation format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetProductsData(), "products"); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateNumberedListinOpenDocumentProcessingFormat + //ExEnd:GenerateNumberedListinOpenPresentationFormat } break; - case "spreadsheet": + case "html": if (isDatabase) { - //ExStart:GenerateNumberedListFromDatabaseinOpenSpreadsheetFormat - //Setting up source open spreadsheet template - const String strSpreadsheetTemplate = "Spreadsheet Templates/Numbered List_OpenDocument.ods"; - //Setting up destination open spreadsheet report - const String strSpreadsheetReport = "Spreadsheet Reports/Numbered List_DB Report.ods"; + //ExStart:GenerateNumberedListFromDatabaseinHtmlFormat + //Setting up source html template + const String strDocumentTemplate = "HTML Templates/Numbered List.html"; + //Setting up destination html report + const String strDocumentReport = "HTML Reports/Numbered List_DB Report.html"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Numbered List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetProductsDataDB(), "products"); + //Call AssembleDocument to generate Numbered List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataDB(), "products"); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateNumberedListFromDatabaseinOpenSpreadsheetFormat + //ExEnd:GenerateNumberedListFromDatabaseinHtmlFormat } else if (isDataSet) { - //ExStart:GenerateNumberedListFromDataSetinOpenSpreadsheetFormat - //Setting up source open spreadsheet template - const String strSpreadsheetTemplate = "Spreadsheet Templates/Numbered List_OpenDocument.ods"; - //Setting up destination open spreadsheet report - const String strSpreadsheetReport = "Spreadsheet Reports/Numbered List_DT Report.ods"; + //ExStart:GenerateNumberedListFromDataSetinHtmlFormat + //Setting up source html template + const String strDocumentTemplate = "HTML Templates/Numbered List.html"; + //Setting up destination html report + const String strDocumentReport = "HTML Reports/Numbered List_DT Report.html"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Numbered List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetProductsDT()); + //Call AssembleDocument to generate Numbered List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDT()); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateNumberedListFromDataSetinOpenSpreadsheetFormat + //ExEnd:GenerateNumberedListFromDataSetinHtmlFormat } else if (isDataSourceXML) { - //ExStart:GenerateNumberedListFromXMLinOpenSpreadsheetFormat - //Setting up source open spreadsheet template - const String strSpreadsheetTemplate = "Spreadsheet Templates/Numbered List_XML_OpenDocument.ods"; - //Setting up destination open spreadsheet report - const String strSpreadsheetReport = "Spreadsheet Reports/Numbered List_XML Report.ods"; + //ExStart:GenerateNumberedListFromXMLinHtmlFormat + //Setting up source html template + const String strDocumentTemplate = "HTML Templates/Numbered List_XML.html"; + //Setting up destination html report + const String strDocumentReport = "HTML Reports/Numbered List_XML Report.html"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Numbered List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetAllDataFromXML(), "ds"); + //Call AssembleDocument to generate Numbered List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds"); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateNumberedListFromXMLinOpenSpreadsheetFormat + //ExEnd:GenerateNumberedListFromXMLinHtmlFormat } else if (isJson) { - //ExStart:GenerateNumberedListReportFromJsoninOpenSpreadsheet + //ExStart:GenerateNumberedListReportFromJsoninHtml //setting up source - const String strDocumentTemplate = "Spreadsheet Templates/Numbered List_OpenDocument.ods"; + const String strDocumentTemplate = "HTML Templates/Numbered List.html"; //Setting up destination - const String strDocumentReport = "Spreadsheet Reports/Numbered List_OpenDocument_Json Report.ods"; + const String strDocumentReport = "HTML Reports/Numbered List_Json Report.html"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Numbered List report in open spreadsheet format + //Call AssembleDocument to generate Numbered List report in html format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products"); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateNumberedListReportFromJsoninOpenSpreadsheet + //ExEnd:GenerateNumberedListReportFromJsoninHtml } else { - //ExStart:GenerateNumberedListinOpenSpreadsheetFormat - //Setting up source open spreadsheet template - const String strSpreadsheetTemplate = "Spreadsheet Templates/Numbered List_OpenDocument.ods"; - //Setting up destination open spreadsheet report - const String strSpreadsheetReport = "Spreadsheet Reports/Numbered List Report.ods"; + //ExStart:GenerateNumberedListinHtmlFormat + //Setting up source html template + const String strDocumentTemplate = "HTML Templates/Numbered List.html"; + //Setting up destination html report + const String strDocumentReport = "HTML Reports/Numbered List Report.html"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Numbered List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetProductsData(), "products"); + //Call AssembleDocument to generate Numbered List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsData(), "products"); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateNumberedListinOpenSpreadsheetFormat + //ExEnd:GenerateNumberedListinHtmlFormat } break; - - case "presentation": + case "text": if (isDatabase) { - //ExStart:GenerateNumberedListFromDatabaseinOpenPresentationFormat - //Setting up source open presentation template - const String strPresentationTemplate = "Presentation Templates/Numbered List_OpenDocument.odp"; - //Setting up destination open presentation report - const String strPresentationReport = "Presentation Reports/Numbered List_DB Report.odp"; + //ExStart:GenerateNumberedListFromDatabaseinTextFormat + //Setting up source text document template + const String strDocumentTemplate = "Text Templates/Numbered List.txt"; + //Setting up destination text document report + const String strDocumentReport = "Text Reports/Numbered List_DB Report.txt"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Numbered List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetProductsDataDB(), "products"); + //Call AssembleDocument to generate Numbered List Report in text document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataDB(), "products"); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateNumberedListFromDatabaseinOpenPresentationFormat + //ExEnd:GenerateNumberedListFromDatabaseinTextFormat } else if (isDataSet) { - //ExStart:GenerateNumberedListFromDataSetinOpenPresentationFormat - //Setting up source open presentation template - const String strPresentationTemplate = "Presentation Templates/Numbered List_OpenDocument.odp"; - //Setting up destination open presentation report - const String strPresentationReport = "Presentation Reports/Numbered List_DT Report.odp"; + //ExStart:GenerateNumberedListFromDataSetinTextFormat + //Setting up source text document template + const String strDocumentTemplate = "Text Templates/Numbered List.txt"; + //Setting up destination text document report + const String strDocumentReport = "Text Reports/Numbered List_DT Report.txt"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Numbered List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetProductsDT()); + //Call AssembleDocument to generate Numbered List Report in text document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDT()); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateNumberedListFromDataSetinOpenPresentationFormat + //ExEnd:GenerateNumberedListFromDataSetinTextFormat } else if (isDataSourceXML) { - //ExStart:GenerateNumberedListFromXMLinOpenPresentationFormat - //Setting up source open presentation template - const String strPresentationTemplate = "Presentation Templates/Numbered List_XML_OpenDocument.odp"; - //Setting up destination open presentation report - const String strPresentationReport = "Presentation Reports/Numbered List_XML Report.odp"; + //ExStart:GenerateNumberedListFromXMLinTextFormat + //Setting up source text document template + const String strDocumentTemplate = "Text Templates/Numbered List_XML.txt"; + //Setting up destination text document report + const String strDocumentReport = "Text Reports/Numbered List_XML Report.txt"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Numbered List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetAllDataFromXML(), "ds"); + //Call AssembleDocument to generate Numbered List Report in text document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds"); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateNumberedListFromXMLinOpenPresentationFormat + //ExEnd:GenerateNumberedListFromXMLinTextFormat } else if (isJson) { - //ExStart:GenerateNumberedListReportFromJsoninOpenPresentation + //ExStart:GenerateNumberedListReportFromJsoninText //setting up source - const String strDocumentTemplate = "Presentation Templates/Numbered List_OpenDocument.odp"; + const String strDocumentTemplate = "Text Templates/Numbered List.txt"; //Setting up destination - const String strDocumentReport = "Presentation Reports/Numbered List_OpenDocument_Json Report.odp"; + const String strDocumentReport = "Text Reports/Numbered List_Json Report.txt"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Numbered List report in open presentation format + //Call AssembleDocument to generate Numbered List report in text document format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products"); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateNumberedListReportFromJsoninOpenPresentation + //ExEnd:GenerateNumberedListReportFromJsoninText } else { - //ExStart:GenerateNumberedListinOpenPresentationFormat - //Setting up source open presentation template - const String strPresentationTemplate = "Presentation Templates/Numbered List_OpenDocument.odp"; - //Setting up destination open presentation report - const String strPresentationReport = "Presentation Reports/Numbered List Report.odp"; + //ExStart:GenerateNumberedListinTextFormat + //Setting up source text document template + const String strDocumentTemplate = "Text Templates/Numbered List.txt"; + //Setting up destination text document report + const String strDocumentReport = "Text Reports/Numbered List Report.txt"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Numbered List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetProductsData(), "products"); + //Call AssembleDocument to generate Numbered List Report in text document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsData(), "products"); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateNumberedListinOpenPresentationFormat + //ExEnd:GenerateNumberedListinTextFormat } break; } @@ -5176,6 +6575,211 @@ public static void GenerateSingleRow(string strDocumentFormat, bool isDatabase, //ExEnd:GenerateSingleRowinOpenPresentationFormat } break; + case "html": + if (isDatabase) + { + //ExStart:GenerateSingleRowFromDatabaseinHtmlFormat + //Setting up source html template + const String strHtmlTemplate = "HTML Templates/Single Row.html"; + //Setting up destination html report + const String strHtmlReport = "HTML Reports/Single Row_DB Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Single Row Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetSingleCustomerDataDB(), "customer"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateSingleRowFromDatabaseinHtmlFormat + } + else if (isDataSet) + { + //ExStart:GenerateSingleRowFromDataSetinHtmlFormat + //Setting up source html template + const String strHtmlTemplate = "HTML Templates/Single Row.html"; + //Setting up destination html report + const String strHtmlReport = "HTML Reports/Single Row_DT Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Single Row Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetSingleCustomerDT(), "customer"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateSingleRowFromDataSetinHtmlFormat + } + else if (isDataSourceXML) + { + //ExStart:GenerateSingleRowFromXMLinHtmlFormat + //Setting up source html template + const String strHtmlTemplate = "HTML Templates/Single Row.html"; + //Setting up destination html report + const String strHtmlReport = "HTML Reports/Single Row_XML Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Single Row Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetSingleCustomerXML(), "customer"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateSingleRowFromXMLinHtmlFormat + } + else if (isJson) + { + //ExStart:GenerateSingleRowReportFromJsoninHtmlFormat + //setting up source + const String strHtmlTemplate = "HTML Templates/Single Row.html"; + //Setting up destination + const String strHtmlReport = "HTML Reports/Single Row_Json Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class + //Call AssembleDocument to generate Single Row report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetSingleCustomerDataJson(), "customer"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateSingleRowReportFromJsoninHtmlFormat + } + else + { + //ExStart:GenerateSingleRowinHtmlFormat + //Setting up source html template + const String strHtmlTemplate = "HTML Templates/Single Row.html"; + //Setting up destination html report + const String strHtmlReport = "HTML Reports/Single Row Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Single Row Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomerData(), "customer"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateSingleRowinHtmlFormat + } + break; + + case "text": + if (isDatabase) + { + //ExStart:GenerateSingleRowFromDatabaseinTextFormat + //Setting up source text format template + const String strTextTemplate = "Text Templates/Single Row.txt"; + //Setting up destination text format report + const String strDocumentReport = "Text Reports/Single Row_DB Report.txt"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Single Row Report in text format format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strTextTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetSingleCustomerDataDB(), "customer"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateSingleRowFromDatabaseinTextFormat + } + else if (isDataSet) + { + //ExStart:GenerateSingleRowFromDataSetinTextFormat + //Setting up source text format template + const String strTextTemplate = "Text Templates/Single Row.txt"; + //Setting up destination text format report + const String strDocumentReport = "Text Reports/Single Row_DT Report.txt"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Single Row Report in text format format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strTextTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetSingleCustomerDT(), "customer"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateSingleRowFromDataSetinTextFormat + } + else if (isDataSourceXML) + { + //ExStart:GenerateSingleRowFromXMLinTextFormat + //Setting up source text format template + const String strTextTemplate = "Text Templates/Single Row.txt"; + //Setting up destination text format report + const String strDocumentReport = "Text Reports/Single Row_XML Report.txt"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Single Row Report in text format format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strTextTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetSingleCustomerXML(), "customer"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateSingleRowFromXMLinTextFormat + } + else if (isJson) + { + //ExStart:GenerateSingleRowReportFromJsoninTextFormat + //setting up source + const String strTextTemplate = "Text Templates/Single Row.txt"; + //Setting up destination + const String strDocumentReport = "Text Reports/Single Row_Json Report.txt"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class + //Call AssembleDocument to generate Single Row report in text format format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strTextTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetSingleCustomerDataJson(), "customer"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateSingleRowReportFromJsoninTextFormat + } + else + { + //ExStart:GenerateSingleRowinTextFormat + //Setting up source text format template + const String strTextTemplate = "Text Templates/Single Row.txt"; + //Setting up destination text format report + const String strDocumentReport = "Text Reports/Single Row Report.txt"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Single Row Report in text format format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strTextTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerData(), "customer"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateSingleRowinTextFormat + } + break; } } public static void GenerateReportLazilyAndRecursively() @@ -5489,5 +7093,28 @@ public static void ImportingWordProcessingTableIntoPresentation() assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.ImportingWordDocToPresentation(), "table"); } + /// + /// Import Spreadsheet into HTML Document + /// + public static void ImportingSpreadsheetIntoHtmlDocument() + { + //ExStart:ImportingSpreadsheetIntoHtmlDocument + try + { + string strHtmlTemplate = "HTML Templates/Importing Spreadsheet into HTML Document.html"; + string strHtmlReport = "HTML Reports/Importing Spreadsheet into HTML Document.html"; + + + // Assemble a document using the external document table as a data source. + DocumentAssembler assembler = new DocumentAssembler(); + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.ImportingSpreadsheetToHtml(), "table"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:ImportingSpreadsheetIntoHtmlDocument + } + } } diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs index f1c5f0e..47a51db 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs @@ -40,6 +40,12 @@ static void Main(string[] args) //Generate a Bulleted List report in presentation format //GenerateReport.GenerateBulletedList("presentation", false, false, true, false); + + //Generate a Bulleted List report in html format + //GenerateReport.GenerateBulletedList("html", false, false, false, false); + + //Generate a Bulleted List report in text format + //GenerateReport.GenerateBulletedList("text", false, false, false, false); #endregion #region Generating Chart report with Filtering, Grouping, and Ordering @@ -62,6 +68,12 @@ static void Main(string[] args) //Generate a Common List Report in presentation format //GenerateReport.GenerateCommonList("presentation", false, false, true, false); + + //Generate a Common List Report in html format + //GenerateReport.GenerateCommonList("html", false, false, false, false); + + //Generate a Common List Report in text format + //GenerateReport.GenerateCommonList("text", false, false, false, false); #endregion #region Generating Common Master-Detail Report @@ -73,6 +85,13 @@ static void Main(string[] args) //Generate a Common Master-Detail Report in presentation format //GenerateReport.GenerateCommonMasterDetail("presentation", false, false, false, true); + + //Generate a Common Master-Detail Report in html format + //GenerateReport.GenerateCommonMasterDetail("html", false, false, false, false); + + //Generate a Common Master-Detail Report in text format + //GenerateReport.GenerateCommonMasterDetail("text", false, false, false, false); + #endregion #region Generating In-Paragraph List Report @@ -84,6 +103,12 @@ static void Main(string[] args) //Generate a In-Paragraph List Report in presentation format //GenerateReport.GenerateInParagraphList("presentation", false, false, false, true); + + //Generate a In-Paragraph List Report in html format + //GenerateReport.GenerateInParagraphList("html", false, false, false, false); + + //Generate a In-Paragraph List Report in text format + //GenerateReport.GenerateInParagraphList("text", false, false, false, false); #endregion #region Generating In-Table with Alternate Content Report @@ -95,6 +120,9 @@ static void Main(string[] args) //Generate a In-Table List with Alternate Content Report in presentation format //GenerateReport.GenerateInTableListWithAlternateContent("presentation", false, false, false, true); + + //Generate a In-Table List with Alternate Content Report in html format + //GenerateReport.GenerateInTableListWithAlternateContent("html", false, false, false, false); #endregion #region Generating In-Table with Filtering, Grouping and Ordering Report @@ -106,6 +134,9 @@ static void Main(string[] args) //Generate a In-Table List with Filtering, Grouping, and Ordering Report in presentation format //GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("presentation", false, false, false, true); + + //Generate a In-Table List with Filtering, Grouping, and Ordering Report in html format + //GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("html", false, false, false, false); #endregion #region Generating In-Table List with Highlighted Rows Report @@ -117,6 +148,9 @@ static void Main(string[] args) //Generate a In-Table List with Highlighted Rows Report in presentation format //GenerateReport.GenerateInTableListWithHighlightedRows("presentation", false, false, false, true); + + //Generate a In-Table List with Highlighted Rows Report in html format + //GenerateReport.GenerateInTableListWithHighlightedRows("html", false, false, false, false); #endregion #region Generating In-Table List Report @@ -128,6 +162,9 @@ static void Main(string[] args) //Generate a In-Table List Report in presentation format //GenerateReport.GenerateInTableList("presentation", false, false, false, true); + + //Generate a In-Table List Report in html format + //GenerateReport.GenerateInTableList("html", false, false, false, false); #endregion #region Generating In-Table Master-Detail Report @@ -139,6 +176,9 @@ static void Main(string[] args) //Generate a In-Table Master-Detail Report in presentation format //GenerateReport.GenerateInTableMasterDetail("presentation", false, false, false, true); + + //Generate a In-Table Master-Detail Report in html format + //GenerateReport.GenerateInTableMasterDetail("html", false, false, false, false); #endregion #region Generating Multicolored Number List Report @@ -150,6 +190,9 @@ static void Main(string[] args) //Generate a Multicolored Numbered List Report in presentation format //GenerateReport.GenerateMulticoloredNumberedList("presentation", false, false, false, true); + + //Generate a Multicolored Numbered List Report in html format + //GenerateReport.GenerateMulticoloredNumberedList("html", false, false, false, false); #endregion #region Generating Numbered List Report @@ -161,6 +204,12 @@ static void Main(string[] args) //Generate a Numbered List Report in presentation format //GenerateReport.GenerateNumberedList("presentation", false, false, false, true); + + //Generate a Numbered List Report in html format + //GenerateReport.GenerateNumberedList("html", false, false, false, false); + + //Generate a Numbered List Report in text format + //GenerateReport.GenerateNumberedList("text", false, false, false, false); #endregion #region Generating Pie Chart Report @@ -194,6 +243,12 @@ static void Main(string[] args) //Generate a Single Row Report in presentation format //GenerateReport.GenerateSingleRow("presentation", false, false, false, true); + + //Generate a Single Row Report in html format + //GenerateReport.GenerateSingleRow("html", false, false, false, false); + + //Generate a Single Row Report in text format + //GenerateReport.GenerateSingleRow("text", false, false, false, false); #endregion #region Generating Report by Recursively and Lazily Accessing the Data @@ -248,6 +303,9 @@ static void Main(string[] args) //Importing word processing table into presentation //GenerateReport.ImportingWordProcessingTableIntoPresentation(); + //Importing spread table into html + //GenerateReport.ImportingSpreadsheetIntoHtmlDocument(); + //Load document table set using default options //GenerateReport.LoadDocTableSet("Multiple Tables Data.docx"); //Load document table set using custom options @@ -256,6 +314,7 @@ static void Main(string[] args) //GenerateReport.UseDocumentTableSetAsDataSource("Multiple Tables Data.docx", "Using Document Table Set as Data Source.pptx"); //GenerateReport.DefiningDocumentTableRelations("Related Tables Data.xlsx", "Using Document Table Relations.docx"); //GenerateReport.ChangingDocumentTableColumnType("Presentation Templates/Changing Document Table Column Type.pptx"); + } } } \ No newline at end of file diff --git a/Examples/Data/Destination/HTML Reports/Bulleted List Report.html b/Examples/Data/Destination/HTML Reports/Bulleted List Report.html new file mode 100644 index 0000000..1bf4ca2 --- /dev/null +++ b/Examples/Data/Destination/HTML Reports/Bulleted List Report.html @@ -0,0 +1,16 @@ + + +We provide support for the following clients: +
    + +
  • Lumia 525
  • + +
  • Lenovo G50
  • + +
  • Pavilion G6
  • + +
  • Nexus 5
  • + +
+ + \ No newline at end of file diff --git a/Examples/Data/Destination/Text Reports/Bulleted List Report.txt b/Examples/Data/Destination/Text Reports/Bulleted List Report.txt new file mode 100644 index 0000000..305ee4e --- /dev/null +++ b/Examples/Data/Destination/Text Reports/Bulleted List Report.txt @@ -0,0 +1,5 @@ +We provide support for the following products: + Lumia 525 + Lenovo G50 + Pavilion G6 + Nexus 5 diff --git a/Examples/Data/Destination/Word Reports/Common List Report.odt b/Examples/Data/Destination/Word Reports/Common List Report.odt new file mode 100644 index 0000000000000000000000000000000000000000..fe0e8ef4e75e417e0373675a0c3ad5edfe56bcc4 GIT binary patch literal 12549 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 literal 0 HcmV?d00001 diff --git a/Examples/Data/Source/HTML Templates/Bulleted List.html b/Examples/Data/Source/HTML Templates/Bulleted List.html new file mode 100644 index 0000000..19fa290 --- /dev/null +++ b/Examples/Data/Source/HTML Templates/Bulleted List.html @@ -0,0 +1,10 @@ + + +We provide support for the following products: +
    +<<foreach [in products]>> +
  • <<[ProductName]>>
  • +<</foreach>> +
+ + \ No newline at end of file diff --git a/Examples/Data/Source/HTML Templates/Common List.html b/Examples/Data/Source/HTML Templates/Common List.html new file mode 100644 index 0000000..ae2145d --- /dev/null +++ b/Examples/Data/Source/HTML Templates/Common List.html @@ -0,0 +1,8 @@ + + +<<foreach [in customers]>> + +

<<[CustomerName]>>

+<</foreach>> + + \ No newline at end of file diff --git a/Examples/Data/Source/HTML Templates/Common Master-Detail.html b/Examples/Data/Source/HTML Templates/Common Master-Detail.html new file mode 100644 index 0000000..0dc779b --- /dev/null +++ b/Examples/Data/Source/HTML Templates/Common Master-Detail.html @@ -0,0 +1,9 @@ + + +<<foreach [in customers]>> + +

<<[CustomerName]>>

+

Products: <<foreach [in Order]>><<[IndexOf() != 0 ? ", " : ""]>><<[Product.ProductName]>><</foreach>>

+<</foreach>> + + \ No newline at end of file diff --git a/Examples/Data/Source/HTML Templates/Importing Spreadsheet into HTML Document.html b/Examples/Data/Source/HTML Templates/Importing Spreadsheet into HTML Document.html new file mode 100644 index 0000000..bd95de2 --- /dev/null +++ b/Examples/Data/Source/HTML Templates/Importing Spreadsheet into HTML Document.html @@ -0,0 +1,19 @@ + + + +<<foreach [in table]>> + + + + + +<</foreach>> +
+<<[A]>> + +<<[B]>> + +<<[C]>> +
+ + \ No newline at end of file diff --git a/Examples/Data/Source/HTML Templates/In-Paragraph List.html b/Examples/Data/Source/HTML Templates/In-Paragraph List.html new file mode 100644 index 0000000..6586dea --- /dev/null +++ b/Examples/Data/Source/HTML Templates/In-Paragraph List.html @@ -0,0 +1,5 @@ + + +We provide support for the following products: <<foreach [in products]>><<[IndexOf() != 0 ? ", " : ""]>><<[ProductName]>><</foreach>> + + \ No newline at end of file diff --git a/Examples/Data/Source/HTML Templates/In-Table List with Alternate Content.html b/Examples/Data/Source/HTML Templates/In-Table List with Alternate Content.html new file mode 100644 index 0000000..d7a631e --- /dev/null +++ b/Examples/Data/Source/HTML Templates/In-Table List with Alternate Content.html @@ -0,0 +1,39 @@ + + + + + + + +<<if [!Any()]>> + + + +<<else>><<foreach [in orders]>> + + + + +<</foreach>> + + + + +<</if>> +
+Customer + +Order Price +
+No data +
+<<[Product.ProductName]>> + +<<[Price]>> +
+Total: + +<<[Sum(c => c.Price)]>> +
+ + \ No newline at end of file diff --git a/Examples/Data/Source/HTML Templates/In-Table List with Filtering, Grouping, and Ordering.html b/Examples/Data/Source/HTML Templates/In-Table List with Filtering, Grouping, and Ordering.html new file mode 100644 index 0000000..c21ffcf --- /dev/null +++ b/Examples/Data/Source/HTML Templates/In-Table List with Filtering, Grouping, and Ordering.html @@ -0,0 +1,27 @@ + + + + + + + +<<foreach [in orders + .Where(c => c.OrderDate.Year == 2015) + .GroupBy(c => c.Customer) + .OrderBy(g => g.Key.CustomerName)]>> + + + + +<</foreach>> +
+Customer + +Order Price +
+<<[Key.CustomerName]>> + +<<[Sum(c => c.Price)]>> +
+ + \ No newline at end of file diff --git a/Examples/Data/Source/HTML Templates/In-Table List with Highlighted Rows.html b/Examples/Data/Source/HTML Templates/In-Table List with Highlighted Rows.html new file mode 100644 index 0000000..e092a5e --- /dev/null +++ b/Examples/Data/Source/HTML Templates/In-Table List with Highlighted Rows.html @@ -0,0 +1,33 @@ + + + + + + + +<<foreach [in orders]>> + + + + +<</foreach>> + + + + + +
+Customer + +Order Price +
+<<[Customer.CustomerName]>> + +<<[Price]>> +
+Total: + +<<[Sum(c => c.Price)]>> +
+ + \ No newline at end of file diff --git a/Examples/Data/Source/HTML Templates/In-Table List.html b/Examples/Data/Source/HTML Templates/In-Table List.html new file mode 100644 index 0000000..a97012a --- /dev/null +++ b/Examples/Data/Source/HTML Templates/In-Table List.html @@ -0,0 +1,34 @@ + + + + + + + +<<foreach [in customers]>> + + + + +<</foreach>> + + + + +
+Customer + +Order Price +
+<<[CustomerName]>> + +<<[Order.Sum(c => c.Price)]>> +
+Total: + +<<[Sum( + m => m.Order.Sum( + c => c.Price))]>> +
+ + \ No newline at end of file diff --git a/Examples/Data/Source/HTML Templates/In-Table Master-Detail.html b/Examples/Data/Source/HTML Templates/In-Table Master-Detail.html new file mode 100644 index 0000000..a56a155 --- /dev/null +++ b/Examples/Data/Source/HTML Templates/In-Table Master-Detail.html @@ -0,0 +1,44 @@ + + + + + + + +<<foreach [in customers]>> + + + + +<<foreach [in Order]>> + + + + +<</foreach>> +<</foreach>> + + + + +
+Customer + +Order Price +
+<<[CustomerName]>> + +<<[Order.Sum(c => c.Price)]>> +
+  <<[Product.ProductName]>> + +<<[Price]>> +
+Total: + +<<[Sum( + m => m.Order.Sum( + c => c.Price))]>> +
+ + \ No newline at end of file diff --git a/Examples/Data/Source/HTML Templates/Multicolored Numbered List.html b/Examples/Data/Source/HTML Templates/Multicolored Numbered List.html new file mode 100644 index 0000000..660a675 --- /dev/null +++ b/Examples/Data/Source/HTML Templates/Multicolored Numbered List.html @@ -0,0 +1,10 @@ + + +We provide support for the following products: +
    +<<foreach [in products]>> +
  1. <<[ProductName]>>
  2. +<</foreach>> +
+ + \ No newline at end of file diff --git a/Examples/Data/Source/HTML Templates/Numbered List.html b/Examples/Data/Source/HTML Templates/Numbered List.html new file mode 100644 index 0000000..eb16cd4 --- /dev/null +++ b/Examples/Data/Source/HTML Templates/Numbered List.html @@ -0,0 +1,10 @@ + + +We provide support for the following products: +
    +<<foreach [in products]>> +
  1. <<[ProductName]>>
  2. +<</foreach>> +
+ + \ No newline at end of file diff --git a/Examples/Data/Source/HTML Templates/Single Row.html b/Examples/Data/Source/HTML Templates/Single Row.html new file mode 100644 index 0000000..4ec7607 --- /dev/null +++ b/Examples/Data/Source/HTML Templates/Single Row.html @@ -0,0 +1,31 @@ + + + + + + + +
+ + + + + + + + + + + +
+Name: + +<<[customer.CustomerName]>> +
+Age: + +<<[customer.CustomerContactNumber]>> +
+
+ + \ No newline at end of file diff --git a/Examples/Data/Source/Text Templates/Bulleted List.txt b/Examples/Data/Source/Text Templates/Bulleted List.txt new file mode 100644 index 0000000..43bbf3c --- /dev/null +++ b/Examples/Data/Source/Text Templates/Bulleted List.txt @@ -0,0 +1,3 @@ +We provide support for the following products: +<> <<[ProductName]>> +<> \ No newline at end of file diff --git a/Examples/Data/Source/Text Templates/Common List.txt b/Examples/Data/Source/Text Templates/Common List.txt new file mode 100644 index 0000000..ef5ed71 --- /dev/null +++ b/Examples/Data/Source/Text Templates/Common List.txt @@ -0,0 +1,2 @@ +<><<[CustomerName]>> +<> \ No newline at end of file diff --git a/Examples/Data/Source/Text Templates/Common Master-Detail.txt b/Examples/Data/Source/Text Templates/Common Master-Detail.txt new file mode 100644 index 0000000..d132cdb --- /dev/null +++ b/Examples/Data/Source/Text Templates/Common Master-Detail.txt @@ -0,0 +1,4 @@ +<><<[CustomerName]>> +Products: <><<[IndexOf() != 0 ? ", " : ""]>><<[Product.ProductName]>><> + +<> \ No newline at end of file diff --git a/Examples/Data/Source/Text Templates/In-Paragraph List.txt b/Examples/Data/Source/Text Templates/In-Paragraph List.txt new file mode 100644 index 0000000..b6007f8 --- /dev/null +++ b/Examples/Data/Source/Text Templates/In-Paragraph List.txt @@ -0,0 +1 @@ +We provide support for the following products: <><<[IndexOf() != 0 ? ", " : ""]>><<[ProductName]>><> \ No newline at end of file diff --git a/Examples/Data/Source/Text Templates/Numbered List.txt b/Examples/Data/Source/Text Templates/Numbered List.txt new file mode 100644 index 0000000..1885daa --- /dev/null +++ b/Examples/Data/Source/Text Templates/Numbered List.txt @@ -0,0 +1,3 @@ +We provide support for the following products: +<><<[NumberOf()]>>. <<[ProductName]>> +<> \ No newline at end of file diff --git a/Examples/Data/Source/Text Templates/Single Row.txt b/Examples/Data/Source/Text Templates/Single Row.txt new file mode 100644 index 0000000..3285a70 --- /dev/null +++ b/Examples/Data/Source/Text Templates/Single Row.txt @@ -0,0 +1,2 @@ +Name: <<[customer.CustomerName]>> +Age: <<[customer.CustomerContactNumber]>> \ No newline at end of file diff --git a/Examples/VisualBasic/GroupDocs.Assembly.Examples/GenerateReport.vb b/Examples/VisualBasic/GroupDocs.Assembly.Examples/GenerateReport.vb index df8ce31..1dd00e5 100644 --- a/Examples/VisualBasic/GroupDocs.Assembly.Examples/GenerateReport.vb +++ b/Examples/VisualBasic/GroupDocs.Assembly.Examples/GenerateReport.vb @@ -14,6 +14,7 @@ Namespace GroupDocs.AssemblyExamples Public NotInheritable Class GenerateReport + ''' ''' Shows how to load document Table set using default options ''' Features is supported by version 17.01 or greater @@ -145,8 +146,6 @@ Namespace GroupDocs.AssemblyExamples assembler.AssembleDocument(CommonUtilities.GetSourceDocument(document), CommonUtilities.SetDestinationDocument(outDocument), table, "Managers") 'ExEnd:ChangingDocumentTableColumnType End Sub - - Public Shared Sub GenerateBubbleChart(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) Select Case strDocumentFormat Case "document" @@ -635,6 +634,105 @@ Namespace GroupDocs.AssemblyExamples End Try End If Exit Select + + Case "html" + If isDatabase Then + 'ExStart:GenerateBulletedListFromDatabaseinHtmlFormat + 'Setting up source html template + Const strHtmlTemplate As [String] = "HTML Templates/Bulleted List.html" + 'Setting up destination html report + Const strHtmlReport As [String] = "HTML Reports/Bulleted List Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Bulleted List Report in open spreadsheet format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetProductsDataDB(), "products") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateBulletedListFromDatabaseinHtmlFormat + End Try + ElseIf isDataSet Then + 'ExStart:GenerateBulletedListFromDataSetinHtmlFormat + 'Setting up source html template + Const strHtmlTemplate As [String] = "HTML Templates/Bulleted List.html" + 'Setting up destination html report + Const strHtmlReport As [String] = "HTML Reports/Bulleted List Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Bulleted List Report in open spreadsheet format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetProductsDT()) + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateBulletedListFromDataSetinHtmlFormat + End Try + ElseIf isDataSourceXML Then + 'ExStart:GenerateBulletedListFromXMLinHtmlFormat + 'Setting up source html template + Const strHtmlTemplate As [String] = "HTML Templates/Bulleted List.html" + 'Setting up destination html report + Const strHtmlReport As [String] = "HTML Reports/Bulleted List Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Bulleted List Report in open spreadsheet format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetAllDataFromXML(), "ds") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateBulletedListFromXMLinHtmlFormat + End Try + ElseIf isJson Then + 'ExStart:GenerateBulletedListFromJsoninHtml + 'setting up source + Const strDocumentTemplate As [String] = "HTML Templates/Bulleted List.html" + 'Setting up destination + Const strDocumentReport As [String] = "HTML Reports/Bulleted List Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'initialize object of DocumentAssembler class + 'Call AssembleDocument to generate bulleted list in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateBulletedListFromJsoninHtml + End Try + Else + 'ExStart:GenerateBulletedListinHTMLFormat + 'Setting up source html template + Const strHtmlTemplate As [String] = "HTML Templates/Bulleted List.html" + 'Setting up destination html report + Const strHtmlReport As [String] = "HTML Reports/Bulleted List Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Bulleted List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetProductsData(), "products") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateBulletedListinHTMLFormat + End Try + End If + Exit Select + Case "text" + If True Then + 'ExStart:GenerateBulletedListinTextFormat + 'Setting up source text document template + Const strTextTemplate As [String] = "Text Templates/Bulleted List.txt" + 'Setting up destination text document report + Const strTextReport As [String] = "Text Reports/Bulleted List Report.txt" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Bulleted List Report in text format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strTextTemplate), CommonUtilities.SetDestinationDocument(strTextReport), DataLayer.GetProductsData(), "products") + Catch ex As Exception + Console.WriteLine(ex.Message) + End Try + 'ExEnd:GenerateBulletedListinTextFormat + End If + Exit Select + End Select End Sub Public Shared Sub GenerateChartWithFilteringGroupingAndOrdering(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) @@ -1121,6 +1219,104 @@ Namespace GroupDocs.AssemblyExamples End Try End If Exit Select + + Case "html" + If isDatabase Then + 'ExStart:GenerateCommonListFromDatabaseinHtmlFormat + 'Setting up source html document template + Const strDocumentTemplate As [String] = "HTML Templates/Common List.html" + 'Setting up destination html report + Const strDocumentReport As [String] = "HTML Reports/Common List_DB Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Common List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersDataDB(), "customers") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateCommonListFromDatabaseinHtmlFormat + End Try + ElseIf isDataSet Then + 'ExStart:GenerateCommonListFromDataSetinHtmlFormat + 'Setting up source html template + Const strDocumentTemplate As [String] = "HTML Templates/Common List.html" + 'Setting up destination html report + Const strDocumentReport As [String] = "HTML Reports/Common List_DT Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Common List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersAndOrdersDataDT()) + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateCommonListFromDataSetinHtmlFormat + End Try + ElseIf isDataSourceXML Then + 'ExStart:GenerateCommonListFromXMLinHtmlFormat + 'Setting up source html template + Const strDocumentTemplate As [String] = "HTML Templates/Common List.html" + 'Setting up destination open document report + Const strDocumentReport As [String] = "HTML Reports/Common List_XML Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Common List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateCommonListFromXMLinHtmlFormat + End Try + ElseIf isJson Then + 'ExStart:GenerateCommonListReportFromJsoninHtml + 'setting up source + Const strDocumentTemplate As [String] = "HTML Templates/Common List.html" + 'Setting up destination + Const strDocumentReport As [String] = "HTML Reports/Common List_HTML_Json Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'initialize object of DocumentAssembler class + 'Call AssembleDocument to generate Common List report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateCommonListReportFromJsoninHtml + End Try + Else + 'ExStart:GenerateCommonListinHtmlFormat + 'Setting up source html template + Const strDocumentTemplate As [String] = "HTML Templates/Common List.html" + 'Setting up destination html report + Const strDocumentReport As [String] = "HTML Reports/Common List Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Common List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.PopulateData(), "customers") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateCommonListinHtmlFormat + End Try + End If + Exit Select + Case "text" + If True Then + 'ExStart:GenerateCommonListinTextFormat + 'Setting up source text document template + Const strTxtDocumentTemplate As [String] = "Text Templates/Common List.txt" + 'Setting up destination text document report + Const strTxtDocumentReport As [String] = "Text Reports/Common List Report.txt" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Common List Report in text document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strTxtDocumentTemplate), CommonUtilities.SetDestinationDocument(strTxtDocumentReport), DataLayer.PopulateData(), "customers") + Catch ex As Exception + Console.WriteLine(ex.Message) + End Try + 'ExEnd:GenerateCommonListinTextFormat + End If + Exit Select End Select End Sub Public Shared Sub GenerateCommonMasterDetail(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) @@ -1364,6 +1560,104 @@ Namespace GroupDocs.AssemblyExamples End Try End If Exit Select + + Case "html" + If isDatabase Then + 'ExStart:GenerateCommonMasterDetailFromDatabaseinHtmlFormat + 'Setting up source html template + Const strDocumentTemplate As [String] = "HTML Templates/Common Master-Detail.html" + 'Setting up destination html report + Const strDocumentReport As [String] = "HTML Reports/Common Master-Detail_DB Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Common Master-Detail Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersDataDB(), "customers") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateCommonMasterDetailFromDatabaseinHtmlFormat + End Try + ElseIf isDataSet Then + 'ExStart:GenerateCommonMasterDetailFromDataSetinHtmlFormat + 'Setting up source html template + Const strDocumentTemplate As [String] = "HTML Templates/Common Master-Detail.html" + 'Setting up destination html report + Const strDocumentReport As [String] = "HTML Reports/Common Master-Detail Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Common Master-Detail Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersAndOrdersDataDT()) + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateCommonMasterDetailFromDataSetinHtmlFormat + End Try + ElseIf isDataSourceXML Then + 'ExStart:GenerateCommonMasterDetailFromXMLinHtmlFormat + 'Setting up source html template + Const strDocumentTemplate As [String] = "HTML Templates/Common Master-Detail.html" + 'Setting up destination html report + Const strDocumentReport As [String] = "HTML Reports/Common Master-Detail_XML Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Common Master-Detail Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateCommonMasterDetailFromXMLinHtmlFormat + End Try + ElseIf isJson Then + 'ExStart:GenerateCommonMasterDetailReportFromJsoninHtml + 'setting up source + Const strDocumentTemplate As [String] = "HTML Templates/Common Master-Detail.html" + 'Setting up destination + Const strDocumentReport As [String] = "HTML Reports/Common Master-Detail_Json Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'initialize object of DocumentAssembler class + 'Call AssembleDocument to generate Common master-detail report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateCommonMasterDetailReportFromJsoninHtml + End Try + Else + 'ExStart:GenerateCommonMasterDetailinHtmlFormat + 'Setting up source html template + Const strDocumentTemplate As [String] = "HTML Templates/Common Master-Detail.html" + 'Setting up destination html report + Const strDocumentReport As [String] = "HTML Reports/Common Master-Detail Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Common Master-Detail Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.PopulateData(), "customers") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateCommonMasterDetailinHtmlFormat + End Try + End If + Exit Select + Case "text" + If True Then + 'ExStart:GenerateCommonMasterDetailinTextFormat + 'Setting up source text document template + Const strTxtDocumentTemplate As [String] = "Text Templates/Common Master-Detail.txt" + 'Setting up destination text document report + Const strTxtDocumentReport As [String] = "Text Reports/Common Master-Detail Report.txt" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Common Master-Detail Report in text document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strTxtDocumentTemplate), CommonUtilities.SetDestinationDocument(strTxtDocumentReport), DataLayer.PopulateData(), "customers") + Catch ex As Exception + Console.WriteLine(ex.Message) + End Try + 'ExEnd:GenerateCommonMasterDetailinTextFormat + End If + Exit Select End Select End Sub Public Shared Sub GenerateInParagraphList(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) @@ -1607,171 +1901,330 @@ Namespace GroupDocs.AssemblyExamples End Try End If Exit Select - End Select - End Sub - Public Shared Sub GenerateInTableListWithAlternateContent(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) - Select Case strDocumentFormat - Case "document" + Case "html" If isDatabase Then - 'ExStart:GenerateInTableListWithAlternateContentFromDatabaseinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/In-Table List with Alternate Content_DB_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/In-Table List with Alternate Content_DB Report.odt" + 'ExStart:GenerateInParagraphListFromDatabaseinHtmlFormat + 'Setting up source html template + Const strDocumentTemplate As [String] = "HTML Templates/In-Paragraph List.html" + 'Setting up destination html report + Const strDocumentReport As [String] = "HTML Reports/In-Paragraph List_DB Report.html" Try 'Instantiate DocumentAssembler class Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Alternate Content Report in open document format + 'Call AssembleDocument to generate In-Paragraph List Report in html format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataDB(), "products") Catch ex As Exception Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithAlternateContentFromDatabaseinOpenDocumentProcessingFormat + 'ExEnd:GenerateInParagraphListFromDatabaseinHtmlFormat End Try ElseIf isDataSet Then - 'ExStart:GenerateInTableListWithAlternateContentFromDataSetinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/In-Table List with Alternate Content_DT_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/In-Table List with Alternate Content_DT Report.odt" + 'ExStart:GenerateInParagraphListFromDataSetinHtmlFormat + 'Setting up source html template + Const strDocumentTemplate As [String] = "HTML Templates/In-Paragraph List.html" + 'Setting up destination html report + Const strDocumentReport As [String] = "HTML Reports/In-Paragraph List_DT Report.html" Try 'Instantiate DocumentAssembler class Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Alternate Content Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDT(), "ds") + 'Call AssembleDocument to generate In-Paragraph List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDT()) Catch ex As Exception Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithAlternateContentFromDataSetinOpenDocumentProcessingFormat + 'ExEnd:GenerateInParagraphListFromDataSetinHtmlFormat End Try ElseIf isDataSourceXML Then - 'ExStart:GenerateInTableListWithAlternateContentFromXMLinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/In-Table List with Alternate Content_XML_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/In-Table List with Alternate Content_XML Report.odt" + 'ExStart:GenerateInParagraphListFromXMLinHtmlFormat + 'Setting up source html template + Const strDocumentTemplate As [String] = "HTML Templates/In-Paragraph List.html" + 'Setting up destination html report + Const strDocumentReport As [String] = "HTML Reports/In-Paragraph List_XML Report.html" Try 'Instantiate DocumentAssembler class Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Alternate Content Report in open document format + 'Call AssembleDocument to generate In-Paragraph List Report in htmlformat assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") Catch ex As Exception Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithAlternateContentFromXMLinOpenDocumentProcessingFormat + 'ExEnd:GenerateInParagraphListFromXMLinHtmlFormat End Try ElseIf isJson Then - 'ExStart:GenerateInTableListwithAlternateContentReportFromJsoninOpenWord + 'ExStart:GenerateInParagraphListReportFromJsoninHtml 'setting up source - Const strDocumentTemplate As [String] = "Word Templates/In-Table List with Alternate Content_OpenDocument.odt" + Const strDocumentTemplate As [String] = "HTML Templates/In-Paragraph List.html" 'Setting up destination - Const strDocumentReport As [String] = "Word Reports/In-Table List with Alternate Content_OpenDocument_Json Report.odt" + Const strDocumentReport As [String] = "HTML Reports/In-Paragraph List_OpenDocument_Json Report.html" Try 'Instantiate DocumentAssembler class Dim assembler As New DocumentAssembler() 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate In-Table List with Alternate Content report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders") + 'Call AssembleDocument to generate In-Paragraph List report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products") Catch ex As Exception Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListwithAlternateContentReportFromJsoninOpenWord + 'ExEnd:GenerateInParagraphListReportFromJsoninHtml End Try Else - 'ExStart:GenerateInTableListWithAlternateContentinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/In-Table List with Alternate Content_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/In-Table List with Alternate Content Report.odt" + 'ExStart:GenerateInParagraphListinHtmlFormat + 'Setting up source html template + Const strDocumentTemplate As [String] = "HTML Templates/In-Paragraph List.html" + 'Setting up destination html report + Const strDocumentReport As [String] = "HTML Reports/In-Paragraph List Report.html" Try 'Instantiate DocumentAssembler class Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Alternate Content Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetOrdersData(), "orders") + 'Call AssembleDocument to generate In-Paragraph List Report in htmlformat + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsData(), "products") Catch ex As Exception Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithAlternateContentinOpenDocumentProcessingFormat + 'ExEnd:GenerateInParagraphListinHtmlFormat End Try End If Exit Select - Case "spreadsheet" + Case "text" If isDatabase Then - 'ExStart:GenerateInTableListWithAlternateContentFromDatabaseinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Table List with Alternate Content_DB_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Table List with Alternate Content_DB Report.ods" + 'ExStart:GenerateInParagraphListFromDatabaseinTextFormat + 'Setting up source text document template + Const strDocumentTemplate As [String] = "Text Templates/In-Paragraph List.txt" + 'Setting up destination text document report + Const strDocumentReport As [String] = "Text Reports/In-Paragraph List_DB Report.txt" Try 'Instantiate DocumentAssembler class Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Alternate Content Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetProductsDataDB(), "products") + 'Call AssembleDocument to generate In-Paragraph List Report in text document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataDB(), "products") Catch ex As Exception Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithAlternateContentFromDatabaseinOpenSpreadsheetFormat + 'ExEnd:GenerateInParagraphListFromDatabaseinTextFormat End Try ElseIf isDataSet Then - 'ExStart:GenerateInTableListWithAlternateContentFromDataSetinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Table List with Alternate Content_DT_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Table List with Alternate Content_DT Report.ods" + 'ExStart:GenerateInParagraphListFromDataSetinTextFormat + 'Setting up source text document template + Const strDocumentTemplate As [String] = "Text Templates/In-Paragraph List.txt" + 'Setting up destination text document report + Const strDocumentReport As [String] = "Text Reports/In-Paragraph List_DT Report.txt" Try 'Instantiate DocumentAssembler class Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Alternate Content Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetProductsDT(), "ds") + 'Call AssembleDocument to generate In-Paragraph List Report in text document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDT()) Catch ex As Exception Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithAlternateContentFromDataSetinOpenSpreadsheetFormat + 'ExEnd:GenerateInParagraphListFromDataSetinTextFormat End Try ElseIf isDataSourceXML Then - 'ExStart:GenerateInTableListWithAlternateContentFromXMLinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Table List with Alternate Content_XML_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Table List with Alternate Content_XML Report.ods" + 'ExStart:GenerateInParagraphListFromXMLinTextFormat + 'Setting up source text document template + Const strDocumentTemplate As [String] = "Text Templates/In-Paragraph List_XML_OpenDocument.txt" + 'Setting up destination text document report + Const strDocumentReport As [String] = "Text Reports/In-Paragraph List_XML Report.txt" Try 'Instantiate DocumentAssembler class Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Alternate Content Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetAllDataFromXML(), "ds") + 'Call AssembleDocument to generate In-Paragraph List Report in text document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") Catch ex As Exception Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithAlternateContentFromXMLinOpenSpreadsheetFormat + 'ExEnd:GenerateInParagraphListFromXMLinTextFormat End Try ElseIf isJson Then - 'ExStart:GenerateInTableListwithAlternateContentReportFromJsoninOpenExcel + 'ExStart:GenerateInParagraphListReportFromJsoninText 'setting up source - Const strDocumentTemplate As [String] = "Spreadsheet Templates/In-Table List with Alternate Content_OpenDocument.ods" + Const strDocumentTemplate As [String] = "Text Templates/In-Paragraph List.txt" 'Setting up destination - Const strDocumentReport As [String] = "Spreadsheet Reports/In-Table List with Alternate Content_OpenDocument_Json Report.ods" + Const strDocumentReport As [String] = "Text Reports/In-Paragraph List_Json Report.txt" Try 'Instantiate DocumentAssembler class Dim assembler As New DocumentAssembler() 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate In-Table List with Alternate Content report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders") + 'Call AssembleDocument to generate In-Paragraph List report in text document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products") Catch ex As Exception Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListwithAlternateContentReportFromJsoninOpenExcel + 'ExEnd:GenerateInParagraphListReportFromJsoninText End Try Else - 'ExStart:GenerateInTableListWithAlternateContentinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Table List with Alternate Content_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Table List with Alternate Content Report.ods" + 'ExStart:GenerateInParagraphListinTextFormat + 'Setting up source text document template + Const strDocumentTemplate As [String] = "Text Templates/In-Paragraph List.txt" + 'Setting up destination text document report + Const strDocumentReport As [String] = "Text Reports/In-Paragraph List Report.txt" Try 'Instantiate DocumentAssembler class Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Alternate Content Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetOrdersData(), "orders") + 'Call AssembleDocument to generate In-Paragraph List Report in text document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsData(), "products") Catch ex As Exception Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithAlternateContentinOpenSpreadsheetFormat + 'ExEnd:GenerateInParagraphListinTextFormat End Try End If Exit Select - - Case "presentation" + End Select + End Sub + Public Shared Sub GenerateInTableListWithAlternateContent(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) + Select Case strDocumentFormat + Case "document" + If isDatabase Then + 'ExStart:GenerateInTableListWithAlternateContentFromDatabaseinOpenDocumentProcessingFormat + 'Setting up source open document template + Const strDocumentTemplate As [String] = "Word Templates/In-Table List with Alternate Content_DB_OpenDocument.odt" + 'Setting up destination open document report + Const strDocumentReport As [String] = "Word Reports/In-Table List with Alternate Content_DB Report.odt" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table List with Alternate Content Report in open document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataDB(), "products") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableListWithAlternateContentFromDatabaseinOpenDocumentProcessingFormat + End Try + ElseIf isDataSet Then + 'ExStart:GenerateInTableListWithAlternateContentFromDataSetinOpenDocumentProcessingFormat + 'Setting up source open document template + Const strDocumentTemplate As [String] = "Word Templates/In-Table List with Alternate Content_DT_OpenDocument.odt" + 'Setting up destination open document report + Const strDocumentReport As [String] = "Word Reports/In-Table List with Alternate Content_DT Report.odt" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table List with Alternate Content Report in open document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDT(), "ds") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableListWithAlternateContentFromDataSetinOpenDocumentProcessingFormat + End Try + ElseIf isDataSourceXML Then + 'ExStart:GenerateInTableListWithAlternateContentFromXMLinOpenDocumentProcessingFormat + 'Setting up source open document template + Const strDocumentTemplate As [String] = "Word Templates/In-Table List with Alternate Content_XML_OpenDocument.odt" + 'Setting up destination open document report + Const strDocumentReport As [String] = "Word Reports/In-Table List with Alternate Content_XML Report.odt" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table List with Alternate Content Report in open document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableListWithAlternateContentFromXMLinOpenDocumentProcessingFormat + End Try + ElseIf isJson Then + 'ExStart:GenerateInTableListwithAlternateContentReportFromJsoninOpenWord + 'setting up source + Const strDocumentTemplate As [String] = "Word Templates/In-Table List with Alternate Content_OpenDocument.odt" + 'Setting up destination + Const strDocumentReport As [String] = "Word Reports/In-Table List with Alternate Content_OpenDocument_Json Report.odt" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'initialize object of DocumentAssembler class + 'Call AssembleDocument to generate In-Table List with Alternate Content report in open document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableListwithAlternateContentReportFromJsoninOpenWord + End Try + Else + 'ExStart:GenerateInTableListWithAlternateContentinOpenDocumentProcessingFormat + 'Setting up source open document template + Const strDocumentTemplate As [String] = "Word Templates/In-Table List with Alternate Content_OpenDocument.odt" + 'Setting up destination open document report + Const strDocumentReport As [String] = "Word Reports/In-Table List with Alternate Content Report.odt" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table List with Alternate Content Report in open document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetOrdersData(), "orders") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableListWithAlternateContentinOpenDocumentProcessingFormat + End Try + End If + Exit Select + + Case "spreadsheet" + If isDatabase Then + 'ExStart:GenerateInTableListWithAlternateContentFromDatabaseinOpenSpreadsheetFormat + 'Setting up source open spreadsheet template + Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Table List with Alternate Content_DB_OpenDocument.ods" + 'Setting up destination open spreadsheet report + Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Table List with Alternate Content_DB Report.ods" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table List with Alternate Content Report in open spreadsheet format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetProductsDataDB(), "products") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableListWithAlternateContentFromDatabaseinOpenSpreadsheetFormat + End Try + ElseIf isDataSet Then + 'ExStart:GenerateInTableListWithAlternateContentFromDataSetinOpenSpreadsheetFormat + 'Setting up source open spreadsheet template + Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Table List with Alternate Content_DT_OpenDocument.ods" + 'Setting up destination open spreadsheet report + Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Table List with Alternate Content_DT Report.ods" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table List with Alternate Content Report in open spreadsheet format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetProductsDT(), "ds") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableListWithAlternateContentFromDataSetinOpenSpreadsheetFormat + End Try + ElseIf isDataSourceXML Then + 'ExStart:GenerateInTableListWithAlternateContentFromXMLinOpenSpreadsheetFormat + 'Setting up source open spreadsheet template + Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Table List with Alternate Content_XML_OpenDocument.ods" + 'Setting up destination open spreadsheet report + Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Table List with Alternate Content_XML Report.ods" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table List with Alternate Content Report in open spreadsheet format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetAllDataFromXML(), "ds") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableListWithAlternateContentFromXMLinOpenSpreadsheetFormat + End Try + ElseIf isJson Then + 'ExStart:GenerateInTableListwithAlternateContentReportFromJsoninOpenExcel + 'setting up source + Const strDocumentTemplate As [String] = "Spreadsheet Templates/In-Table List with Alternate Content_OpenDocument.ods" + 'Setting up destination + Const strDocumentReport As [String] = "Spreadsheet Reports/In-Table List with Alternate Content_OpenDocument_Json Report.ods" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'initialize object of DocumentAssembler class + 'Call AssembleDocument to generate In-Table List with Alternate Content report in open spreadsheet format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableListwithAlternateContentReportFromJsoninOpenExcel + End Try + Else + 'ExStart:GenerateInTableListWithAlternateContentinOpenSpreadsheetFormat + 'Setting up source open spreadsheet template + Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Table List with Alternate Content_OpenDocument.ods" + 'Setting up destination open spreadsheet report + Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Table List with Alternate Content Report.ods" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table List with Alternate Content Report in open spreadsheet format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetOrdersData(), "orders") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableListWithAlternateContentinOpenSpreadsheetFormat + End Try + End If + Exit Select + + Case "presentation" If isDatabase Then 'ExStart:GenerateInTableListWithAlternateContentFromDatabaseinOpenPresentationFormat 'Setting up source open presentation template @@ -1850,6 +2303,85 @@ Namespace GroupDocs.AssemblyExamples End Try End If Exit Select + Case "html" + If isDatabase Then + 'ExStart:GenerateInTableListWithAlternateContentFromDatabaseinHtmlFormat + 'Setting up source html template + Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Alternate Content.html" + 'Setting up destination html report + Const strHtmlReport As [String] = "HTML Reports/In-Table List with Alternate Content_DB Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table List with Alternate Content Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetProductsDataDB(), "products") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableListWithAlternateContentFromDatabaseinHtmlFormat + End Try + ElseIf isDataSet Then + 'ExStart:GenerateInTableListWithAlternateContentFromDataSetinHtmlFormat + 'Setting up source html template + Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Alternate Content.html" + 'Setting up destination html report + Const strHtmlReport As [String] = "HTML Reports/In-Table List with Alternate Content_DT Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table List with Alternate Content Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetProductsDT(), "ds") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableListWithAlternateContentFromDataSetinHtmlFormat + End Try + ElseIf isDataSourceXML Then + 'ExStart:GenerateInTableListWithAlternateContentFromXMLinHtmlFormat + 'Setting up source html template + Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Alternate Content.html" + 'Setting up destination html report + Const strHtmlReport As [String] = "HTML Reports/In-Table List with Alternate Content_XML Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table List with Alternate Content Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetAllDataFromXML(), "ds") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableListWithAlternateContentFromXMLinHtmlFormat + End Try + ElseIf isJson Then + 'ExStart:GenerateInTableListwithAlternateContentReportFromJsoninHtml + 'setting up source + Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Alternate Content.html" + 'Setting up destination + Const strHtmlReport As [String] = "HTML Reports/In-Table List with Alternate Content_OpenDocument_Json Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'initialize object of DocumentAssembler class + 'Call AssembleDocument to generate In-Table List with Alternate Content report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomerOrderDataFromJson(), "orders") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableListwithAlternateContentReportFromJsoninHtml + End Try + Else + 'ExStart:GenerateInTableListWithAlternateContentinHtmlFormat + 'Setting up source html template + Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Alternate Content.html" + 'Setting up destination html report + Const strHtmlReport As [String] = "HTML Reports/In-Table List with Alternate Content Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table List with Alternate Content Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetOrdersData(), "orders") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableListWithAlternateContentinHtmlFormat + End Try + End If + Exit Select End Select End Sub Public Shared Sub GenerateInTableListWithFilteringGroupingAndOrdering(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) @@ -2093,6 +2625,86 @@ Namespace GroupDocs.AssemblyExamples End Try End If Exit Select + Case "html" + If isDatabase Then + 'ExStart:GenerateInTableListWithFilteringGroupingAndOrderingFromDatabaseinHtmlDocument + 'Setting up source html template + Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Filtering, Grouping, and Ordering.html" + 'Setting up destination html report + Const strHtmlReport As [String] = "HTML Reports/In-Table List with Filtering, Grouping, and Ordering_DB Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetOrdersDataDB(), "orders") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableListWithFilteringGroupingAndOrderingFromDatabaseinHtmlDocument + End Try + ElseIf isDataSet Then + 'ExStart:GenerateInTableListWithFilteringGroupingAndOrderingFromDataSetinHtmlDocument + 'Setting up source html template + Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Filtering, Grouping, and Ordering.html" + 'Setting up destination html report + Const strHtmlReport As [String] = "HTML Reports/In-Table List with Filtering, Grouping, and Ordering_DT Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomersAndOrdersDataDT()) + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableListWithFilteringGroupingAndOrderingFromDataSetinHtmlDocument + End Try + ElseIf isDataSourceXML Then + 'ExStart:GenerateInTableListWithFilteringGroupingAndOrderingFromXMLinHtmlDocument + 'Setting up source html template + Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Filtering, Grouping, and Ordering.html" + 'Setting up destination html report + Const strHtmlReport As [String] = "HTML Reports/In-Table List with Filtering, Grouping, and Ordering_XML Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetAllDataFromXML(), "ds") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableListWithFilteringGroupingAndOrderingFromXMLinHtmlDocument + End Try + ElseIf isJson Then + 'ExStart:GenerateInTableListwithFilteringGroupingAndOrderingReportFromJsoninHtml + 'setting up source + Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Filtering, Grouping, and Ordering_OpenDocument.html" + 'Setting up destination + Const strHtmlReport As [String] = "HTML Reports/In-Table List with Filtering, Grouping, and Ordering_OpenDocument_Json Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'initialize object of DocumentAssembler class + 'Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomerOrderDataFromJson(), "orders") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableListwithFilteringGroupingAndOrderingReportFromJsoninHtml + End Try + Else + 'ExStart:GenerateInTableListWithFilteringGroupingAndOrderinginHtmlDocument + 'Setting up source html template + Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Filtering, Grouping, and Ordering.html" + 'Setting up destination html report + Const strHtmlReport As [String] = "HTML Reports/In-Table List with Filtering, Grouping, and Ordering Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetOrdersData(), "orders") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableListWithFilteringGroupingAndOrderinginHtmlDocument + End Try + End If + Exit Select + End Select End Sub Public Shared Sub GenerateInTableListWithHighlightedRows(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) @@ -2336,6 +2948,86 @@ Namespace GroupDocs.AssemblyExamples End Try End If Exit Select + + Case "html" + If isDatabase Then + 'ExStart:GenerateInTableListWithHighlightedRowsFromDatabaseinHtmlDocument + 'Setting up source html template + Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Highlighted Rows.html" + 'Setting up destination html report + Const strHtmlReport As [String] = "HTML Reports/In-Table List with Highlighted Rows_DB Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table List with Highlighted Rows Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetOrdersDataDB(), "orders") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableListWithHighlightedRowsFromDatabaseinHtmlDocument + End Try + ElseIf isDataSet Then + 'ExStart:GenerateInTableListWithHighlightedRowsFromDataSetinHtmlDocument + 'Setting up source html template + Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Highlighted Rows.html" + 'Setting up destination html report + Const strHtmlReport As [String] = "HTML Reports/In-Table List with Highlighted Rows_DT Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table List with Highlighted Rows Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomersAndOrdersDataDT(), "ds") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableListWithHighlightedRowsFromDataSetinHtmlDocument + End Try + ElseIf isDataSourceXML Then + 'ExStart:GenerateInTableListWithHighlightedRowsFromXMLinHtmlDocument + 'Setting up source html template + Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Highlighted Rows_XML_OpenDocument.html" + 'Setting up destination html report + Const strHtmlReport As [String] = "HTML Reports/In-Table List with Highlighted Rows_XML Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table List with Highlighted Rows Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetAllDataFromXML(), "ds") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableListWithHighlightedRowsFromXMLinHtmlDocument + End Try + ElseIf isJson Then + 'ExStart:GenerateInTableListwithHighlightedRowsReportFromJsoninHtml + 'setting up source + Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Highlighted Rows_OpenDocument.html" + 'Setting up destination + Const strHtmlReport As [String] = "HTML Reports/In-Table List with Highlighted Rows_OpenDocument_Json Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'initialize object of DocumentAssembler class + 'Call AssembleDocument to generate In-Table List with Highlighted Rows report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomerOrderDataFromJson(), "orders") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableListwithHighlightedRowsReportFromJsoninHtml + End Try + Else + 'ExStart:GenerateInTableListWithHighlightedRowsinHtmlDocument + 'Setting up source html template + Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Highlighted Rows.html" + 'Setting up destination html report + Const strHtmlReport As [String] = "HTML Reports/In-Table List with Highlighted Rows Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table List with Highlighted Rows Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetOrdersData(), "orders") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableListWithHighlightedRowsinHtmlDocument + End Try + End If + Exit Select End Select End Sub Public Shared Sub GenerateInTableList(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) @@ -2579,6 +3271,86 @@ Namespace GroupDocs.AssemblyExamples End Try End If Exit Select + + Case "html" + If isDatabase Then + 'ExStart:GenerateInTableListFromDatabaseinHtmlDocument + 'Setting up source html template + Const strHtmlTemplate As [String] = "HTML Templates/In-Table List.html" + 'Setting up destination html report + Const strHtmlReport As [String] = "HTML Reports/In-Table List_DB Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomersDataDB(), "customers") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableListFromDatabaseinHtmlDocument + End Try + ElseIf isDataSet Then + 'ExStart:GenerateInTableListFromDataSetinHtmlDocument + 'Setting up source html template + Const strHtmlTemplate As [String] = "HTML Templates/In-Table List.html" + 'Setting up destination html report + Const strHtmlReport As [String] = "HTML Reports/In-Table List_DT Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomersAndOrdersDataDT(), "ds") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableListFromDataSetinHtmlDocument + End Try + ElseIf isDataSourceXML Then + 'ExStart:GenerateInTableListFromXMLinHtmlDocument + 'Setting up source html template + Const strHtmlTemplate As [String] = "HTML Templates/In-Table List.html" + 'Setting up destination html report + Const strHtmlReport As [String] = "HTML Reports/In-Table List_XML Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetAllDataFromXML(), "ds") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableListFromXMLinHtmlDocument + End Try + ElseIf isJson Then + 'ExStart:GenerateInTableListReportFromJsoninHtml + 'setting up source + Const strHtmlTemplate As [String] = "HTML Templates/In-Table List.html" + 'Setting up destination + Const strHtmlReport As [String] = "HTML Reports/In-Table List_OpenDocument_Json Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'initialize object of DocumentAssembler class + 'Call AssembleDocument to generate In-Table List report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomerDataFromJson(), "customers") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableListReportFromJsoninHtml + End Try + Else + 'ExStart:GenerateInTableListinHtmlDocument + 'Setting up source html template + Const strHtmlTemplate As [String] = "HTML Templates/In-Table List.html" + 'Setting up destination html report + Const strHtmlReport As [String] = "HTML Reports/In-Table List Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.PopulateData(), "customers") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableListinHtmlDocument + End Try + End If + Exit Select End Select End Sub Public Shared Sub GenerateInTableMasterDetail(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) @@ -2792,33 +3564,112 @@ Namespace GroupDocs.AssemblyExamples ElseIf isJson Then 'ExStart:GenerateInTableMasterDetailReportFromJsoninOpenPresentation 'setting up source - Const strDocumentTemplate As [String] = "Presentation Templates/In-Table Master-Detail_OpenDocument.odp" + Const strDocumentTemplate As [String] = "Presentation Templates/In-Table Master-Detail_OpenDocument.odp" + 'Setting up destination + Const strDocumentReport As [String] = "Presentation Reports/In-Table Master-Detail_OpenDocument_Json Report.odp" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'initialize object of DocumentAssembler class + 'Call AssembleDocument to generate In-Table Master-Detail report in open presentation format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableMasterDetailReportFromJsoninOpenPresentation + End Try + Else + 'ExStart:GenerateInTableMasterDetailinOpenPresentationFormat + 'Setting up source open spreadsheet template + Const strPresentationTemplate As [String] = "Presentation Templates/In-Table Master-Detail_OpenDocument.odp" + 'Setting up destination open presentation report + Const strPresentationReport As [String] = "Presentation Reports/In-Table Master-Detail Report.odp" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table Master-Detail Report in open presentation format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.PopulateData(), "customers") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableMasterDetailinOpenPresentationFormat + End Try + End If + Exit Select + Case "html" + If isDatabase Then + 'ExStart:GenerateInTableMasterDetailFromDatabaseinHtmlFormat + 'Setting up source html template + Const strHtmlTemplate As [String] = "HTML Templates/In-Table Master-Detail.html" + 'Setting up destination html report + Const strHtmlReport As [String] = "HTML Reports/In-Table Master-Detail_DB Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table Master-Detail Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomersDataDB(), "customers") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableMasterDetailFromDatabaseinHtmlFormat + End Try + ElseIf isDataSet Then + 'ExStart:GenerateInTableMasterDetailFromDataSetinHtmlFormat + 'Setting up source html template + Const strHtmlTemplate As [String] = "HTML Templates/In-Table Master-Detail.html" + 'Setting up destination html report + Const strHtmlReport As [String] = "HTML Reports/In-Table Master-Detail_DT Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table Master-Detail Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomersAndOrdersDataDT(), "ds") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableMasterDetailFromDataSetinHtmlFormat + End Try + ElseIf isDataSourceXML Then + 'ExStart:GenerateInTableMasterDetailFromXMLinHtmlFormat + 'Setting up source html template + Const strHtmlTemplate As [String] = "HTML Templates/In-Table Master-Detail.html" + 'Setting up destination html report + Const strHtmlReport As [String] = "HTML Reports/In-Table Master-Detail_XML Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table Master-Detail Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetAllDataFromXML(), "ds") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateInTableMasterDetailFromXMLinHtmlFormat + End Try + ElseIf isJson Then + 'ExStart:GenerateInTableMasterDetailReportFromJsoninHtml + 'setting up source + Const strHtmlTemplate As [String] = "HTML Templates/In-Table Master-Detail.html" 'Setting up destination - Const strDocumentReport As [String] = "Presentation Reports/In-Table Master-Detail_OpenDocument_Json Report.odp" + Const strHtmlReport As [String] = "HTML Reports/In-Table Master-Detail_Json Report.html" Try 'Instantiate DocumentAssembler class Dim assembler As New DocumentAssembler() 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate In-Table Master-Detail report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers") + 'Call AssembleDocument to generate In-Table Master-Detail report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomerDataFromJson(), "customers") Catch ex As Exception Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableMasterDetailReportFromJsoninOpenPresentation + 'ExEnd:GenerateInTableMasterDetailReportFromJsoninHtml End Try Else - 'ExStart:GenerateInTableMasterDetailinOpenPresentationFormat - 'Setting up source open spreadsheet template - Const strPresentationTemplate As [String] = "Presentation Templates/In-Table Master-Detail_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/In-Table Master-Detail Report.odp" + 'ExStart:GenerateInTableMasterDetailinHtmlFormat + 'Setting up source html template + Const strHtmlTemplate As [String] = "HTML Templates/In-Table Master-Detail.html" + 'Setting up destination html report + Const strHtmlReport As [String] = "HTML Reports/In-Table Master-Detail Report.html" Try 'Instantiate DocumentAssembler class Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table Master-Detail Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.PopulateData(), "customers") + 'Call AssembleDocument to generate In-Table Master-Detail Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.PopulateData(), "customers") Catch ex As Exception Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableMasterDetailinOpenPresentationFormat + 'ExEnd:GenerateInTableMasterDetailinHtmlFormat End Try End If Exit Select @@ -3065,6 +3916,86 @@ Namespace GroupDocs.AssemblyExamples End Try End If Exit Select + Case "html" + If isDatabase Then + 'ExStart:GenerateMulticoloredNumberedListFromDatabaseinHtml + 'Setting up source html template + Const strDocumentTemplate As [String] = "HTML Templates/Multicolored Numbered List.html" + 'Setting up destination html report + Const strDocumentReport As [String] = "HTML Reports/Multicolored Numbered List_DB Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Multicolored Numbered List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataDB(), "products") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateMulticoloredNumberedListFromDatabaseinHtml + End Try + ElseIf isDataSet Then + 'ExStart:GenerateMulticoloredNumberedListFromDataSetinHtml + 'Setting up source html template + Const strDocumentTemplate As [String] = "HTML Templates/Multicolored Numbered List.html" + 'Setting up destination html report + Const strDocumentReport As [String] = "HTML Reports/Multicolored Numbered List_DT Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Multicolored Numbered List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDT()) + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateMulticoloredNumberedListFromDataSetinHtml + End Try + ElseIf isDataSourceXML Then + 'ExStart:GenerateMulticoloredNumberedListFromXMLinHtml + 'Setting up source html template + Const strDocumentTemplate As [String] = "HTML Templates/Multicolored Numbered List_XML.html" + 'Setting up destination html report + Const strDocumentReport As [String] = "HTML Reports/Multicolored Numbered List_XML Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Multicolored Numbered List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateMulticoloredNumberedListFromXMLinHtml + End Try + ElseIf isJson Then + 'ExStart:GenerateMulticoloredNumberedListReportFromJsoninHtml + 'setting up source + Const strDocumentTemplate As [String] = "HTML Templates/Multicolored Numbered List.html" + 'Setting up destination + Const strDocumentReport As [String] = "HTML Reports/Multicolored Numbered List_Json Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'initialize object of DocumentAssembler class + 'Call AssembleDocument to generate Multicolored Numbered List report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateMulticoloredNumberedListReportFromJsoninHtml + End Try + Else + 'ExStart:GenerateMulticoloredNumberedListinHtml + 'Setting up source html template + Const strDocumentTemplate As [String] = "HTML Templates/Multicolored Numbered List.html" + 'Setting up destination html report + Const strDocumentReport As [String] = "HTML Reports/Multicolored Numbered List Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Multicolored Numbered List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsData(), "products") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateMulticoloredNumberedListinHtml + End Try + End If + Exit Select + End Select End Sub Public Shared Sub GenerateNumberedList(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) @@ -3308,6 +4239,165 @@ Namespace GroupDocs.AssemblyExamples End Try End If Exit Select + + Case "html" + If isDatabase Then + 'ExStart:GenerateNumberedListFromDatabaseinHtmlFormat + 'Setting up source html template + Const strDocumentTemplate As [String] = "HTML Templates/Numbered List.html" + 'Setting up destination html report + Const strDocumentReport As [String] = "HTML Reports/Numbered List_DB Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Numbered List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataDB(), "products") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateNumberedListFromDatabaseinHtmlFormat + End Try + ElseIf isDataSet Then + 'ExStart:GenerateNumberedListFromDataSetinHtmlFormat + 'Setting up source html template + Const strDocumentTemplate As [String] = "HTML Templates/Numbered List.html" + 'Setting up destination html report + Const strDocumentReport As [String] = "HTML Reports/Numbered List_DT Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Numbered List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDT()) + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateNumberedListFromDataSetinHtmlFormat + End Try + ElseIf isDataSourceXML Then + 'ExStart:GenerateNumberedListFromXMLinHtmlFormat + 'Setting up source html template + Const strDocumentTemplate As [String] = "HTML Templates/Numbered List_XML.html" + 'Setting up destination html report + Const strDocumentReport As [String] = "HTML Reports/Numbered List_XML Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Numbered List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateNumberedListFromXMLinHtmlFormat + End Try + ElseIf isJson Then + 'ExStart:GenerateNumberedListReportFromJsoninHtml + 'setting up source + Const strDocumentTemplate As [String] = "HTML Templates/Numbered List.html" + 'Setting up destination + Const strDocumentReport As [String] = "HTML Reports/Numbered List_Json Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'initialize object of DocumentAssembler class + 'Call AssembleDocument to generate Numbered List report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateNumberedListReportFromJsoninHtml + End Try + Else + 'ExStart:GenerateNumberedListinHtmlFormat + 'Setting up source html template + Const strDocumentTemplate As [String] = "HTML Templates/Numbered List.html" + 'Setting up destination html report + Const strDocumentReport As [String] = "HTML Reports/Numbered List Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Numbered List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsData(), "products") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateNumberedListinHtmlFormat + End Try + End If + Exit Select + Case "text" + If isDatabase Then + 'ExStart:GenerateNumberedListFromDatabaseinTextFormat + 'Setting up source text document template + Const strDocumentTemplate As [String] = "Text Templates/Numbered List.txt" + 'Setting up destination text document report + Const strDocumentReport As [String] = "Text Reports/Numbered List_DB Report.txt" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Numbered List Report in text document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataDB(), "products") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateNumberedListFromDatabaseinTextFormat + End Try + ElseIf isDataSet Then + 'ExStart:GenerateNumberedListFromDataSetinTextFormat + 'Setting up source text document template + Const strDocumentTemplate As [String] = "Text Templates/Numbered List.txt" + 'Setting up destination text document report + Const strDocumentReport As [String] = "Text Reports/Numbered List_DT Report.txt" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Numbered List Report in text document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDT()) + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateNumberedListFromDataSetinTextFormat + End Try + ElseIf isDataSourceXML Then + 'ExStart:GenerateNumberedListFromXMLinTextFormat + 'Setting up source text document template + Const strDocumentTemplate As [String] = "Text Templates/Numbered List_XML.txt" + 'Setting up destination text document report + Const strDocumentReport As [String] = "Text Reports/Numbered List_XML Report.txt" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Numbered List Report in text document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateNumberedListFromXMLinTextFormat + End Try + ElseIf isJson Then + 'ExStart:GenerateNumberedListReportFromJsoninText + 'setting up source + Const strDocumentTemplate As [String] = "Text Templates/Numbered List.txt" + 'Setting up destination + Const strDocumentReport As [String] = "Text Reports/Numbered List_Json Report.txt" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'initialize object of DocumentAssembler class + 'Call AssembleDocument to generate Numbered List report in text document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateNumberedListReportFromJsoninText + End Try + Else + 'ExStart:GenerateNumberedListinTextFormat + 'Setting up source text document template + Const strDocumentTemplate As [String] = "Text Templates/Numbered List.txt" + 'Setting up destination text document report + Const strDocumentReport As [String] = "Text Reports/Numbered List Report.txt" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Numbered List Report in text document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsData(), "products") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateNumberedListinTextFormat + End Try + End If + Exit Select End Select End Sub Public Shared Sub GeneratePieChart(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) @@ -4037,6 +5127,165 @@ Namespace GroupDocs.AssemblyExamples End Try End If Exit Select + Case "html" + If isDatabase Then + 'ExStart:GenerateSingleRowFromDatabaseinHtmlFormat + 'Setting up source html template + Const strHtmlTemplate As [String] = "HTML Templates/Single Row.html" + 'Setting up destination html report + Const strHtmlReport As [String] = "HTML Reports/Single Row_DB Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Single Row Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetSingleCustomerDataDB(), "customer") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateSingleRowFromDatabaseinHtmlFormat + End Try + ElseIf isDataSet Then + 'ExStart:GenerateSingleRowFromDataSetinHtmlFormat + 'Setting up source html template + Const strHtmlTemplate As [String] = "HTML Templates/Single Row.html" + 'Setting up destination html report + Const strHtmlReport As [String] = "HTML Reports/Single Row_DT Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Single Row Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetSingleCustomerDT(), "customer") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateSingleRowFromDataSetinHtmlFormat + End Try + ElseIf isDataSourceXML Then + 'ExStart:GenerateSingleRowFromXMLinHtmlFormat + 'Setting up source html template + Const strHtmlTemplate As [String] = "HTML Templates/Single Row.html" + 'Setting up destination html report + Const strHtmlReport As [String] = "HTML Reports/Single Row_XML Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Single Row Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetSingleCustomerXML(), "customer") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateSingleRowFromXMLinHtmlFormat + End Try + ElseIf isJson Then + 'ExStart:GenerateSingleRowReportFromJsoninHtmlFormat + 'setting up source + Const strHtmlTemplate As [String] = "HTML Templates/Single Row.html" + 'Setting up destination + Const strHtmlReport As [String] = "HTML Reports/Single Row_Json Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'initialize object of DocumentAssembler class + 'Call AssembleDocument to generate Single Row report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetSingleCustomerDataJson(), "customer") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateSingleRowReportFromJsoninHtmlFormat + End Try + Else + 'ExStart:GenerateSingleRowinHtmlFormat + 'Setting up source html template + Const strHtmlTemplate As [String] = "HTML Templates/Single Row.html" + 'Setting up destination html report + Const strHtmlReport As [String] = "HTML Reports/Single Row Report.html" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Single Row Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomerData(), "customer") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateSingleRowinHtmlFormat + End Try + End If + Exit Select + + Case "text" + If isDatabase Then + 'ExStart:GenerateSingleRowFromDatabaseinTextFormat + 'Setting up source text format template + Const strTextTemplate As [String] = "Text Templates/Single Row.txt" + 'Setting up destination text format report + Const strDocumentReport As [String] = "Text Reports/Single Row_DB Report.txt" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Single Row Report in text format format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strTextTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetSingleCustomerDataDB(), "customer") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateSingleRowFromDatabaseinTextFormat + End Try + ElseIf isDataSet Then + 'ExStart:GenerateSingleRowFromDataSetinTextFormat + 'Setting up source text format template + Const strTextTemplate As [String] = "Text Templates/Single Row.txt" + 'Setting up destination text format report + Const strDocumentReport As [String] = "Text Reports/Single Row_DT Report.txt" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Single Row Report in text format format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strTextTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetSingleCustomerDT(), "customer") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateSingleRowFromDataSetinTextFormat + End Try + ElseIf isDataSourceXML Then + 'ExStart:GenerateSingleRowFromXMLinTextFormat + 'Setting up source text format template + Const strTextTemplate As [String] = "Text Templates/Single Row.txt" + 'Setting up destination text format report + Const strDocumentReport As [String] = "Text Reports/Single Row_XML Report.txt" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Single Row Report in text format format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strTextTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetSingleCustomerXML(), "customer") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateSingleRowFromXMLinTextFormat + End Try + ElseIf isJson Then + 'ExStart:GenerateSingleRowReportFromJsoninTextFormat + 'setting up source + Const strTextTemplate As [String] = "Text Templates/Single Row.txt" + 'Setting up destination + Const strDocumentReport As [String] = "Text Reports/Single Row_Json Report.txt" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'initialize object of DocumentAssembler class + 'Call AssembleDocument to generate Single Row report in text format format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strTextTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetSingleCustomerDataJson(), "customer") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateSingleRowReportFromJsoninTextFormat + End Try + Else + 'ExStart:GenerateSingleRowinTextFormat + 'Setting up source text format template + Const strTextTemplate As [String] = "Text Templates/Single Row.txt" + 'Setting up destination text format report + Const strDocumentReport As [String] = "Text Reports/Single Row Report.txt" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Single Row Report in text format format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strTextTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerData(), "customer") + Catch ex As Exception + Console.WriteLine(ex.Message) + 'ExEnd:GenerateSingleRowinTextFormat + End Try + End If + Exit Select End Select End Sub Public Shared Sub GenerateReportLazilyAndRecursively() @@ -4057,8 +5306,6 @@ Namespace GroupDocs.AssemblyExamples End Try 'ExEnd:GeneratingReportbyRecursivelyandLazilyAccessingtheData End Sub - - Public Shared Sub GenerateReportUsingMultipleDS(strDocumentFormat As String) If strDocumentFormat = "document" Then 'ExStart:GeneratingReportUsingMultipleDataSourcesdocumentprocessing @@ -4123,8 +5370,6 @@ Namespace GroupDocs.AssemblyExamples End If End Sub - - Public Shared Sub TemplateSyntaxFormatting() 'ExStart:TemplateSyntaxFormatting 'Setting up source open document template @@ -4157,6 +5402,11 @@ Namespace GroupDocs.AssemblyExamples End Try 'ExEnd:OuterDocumentInsertion End Sub + + ''' + ''' Generate barcodes + ''' + ''' Public Shared Sub AddBarCodes(strDocumentFormat As String) Select Case strDocumentFormat Case "document" @@ -4185,7 +5435,7 @@ Namespace GroupDocs.AssemblyExamples Try 'Instantiate DocumentAssembler class Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Report in open spreadsheet format + 'Call AssembleDocument to generate Report in open spreadsheet format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetCustomerData(), "customer") Catch ex As Exception Console.WriteLine(ex.Message) @@ -4202,7 +5452,7 @@ Namespace GroupDocs.AssemblyExamples Try 'Instantiate DocumentAssembler class Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Report in open presentation format + 'Call AssembleDocument to generate Report in open presentation format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetCustomerData(), "customer") Catch ex As Exception Console.WriteLine(ex.Message) @@ -4212,7 +5462,6 @@ Namespace GroupDocs.AssemblyExamples End Select End Sub - ''' ''' Update word processing documents fields while assembling ''' @@ -4227,8 +5476,8 @@ Namespace GroupDocs.AssemblyExamples Const strDocumentReport As [String] = "Word Reports/Update_Field_XML Report.docx" Dim assembler As New DocumentAssembler() assembler.Options = assembler.Options Or DocumentAssemblyOptions.UpdateFieldsAndFormulas - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") 'ExEnd:UpdateWordDocFields + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") ElseIf documentType = "spreadsheet" Then 'ExStart:updateformula 'Setting up source document template @@ -4237,8 +5486,8 @@ Namespace GroupDocs.AssemblyExamples Const strDocumentReport As [String] = "Spreadsheet Reports/Update-Fomula Report.xlsx" Dim assembler As New DocumentAssembler() assembler.Options = assembler.Options Or DocumentAssemblyOptions.UpdateFieldsAndFormulas - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") 'ExEnd:updateformula + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") End If End Sub @@ -4263,19 +5512,19 @@ Namespace GroupDocs.AssemblyExamples 'ExEnd:nextiteration End Sub - ''' ''' Generate report from excel data source ''' Public Shared Sub UseSpreadsheetAsDataSource() + 'ExStart:UseSpreadsheetAsDataSource Dim strDocumentTemplate As String = "Word Templates/Using Spreadsheet as Table of Data.docx" Dim strDocumentReport As String = "Word Reports/Using Spreadsheet as Table of Data_Output.docx" ' Assemble a document using the external document table as a data source. Dim assembler As New DocumentAssembler() assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.ExcelData(), "contracts") + 'ExEnd:UseSpreadsheetAsDataSource End Sub - ''' ''' Generate report from presentation data source ''' @@ -4288,7 +5537,6 @@ Namespace GroupDocs.AssemblyExamples Dim assembler As New DocumentAssembler() assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.PresentationData(), "table") End Sub - ''' ''' Import word proccessing table into presentation ''' @@ -4302,6 +5550,24 @@ Namespace GroupDocs.AssemblyExamples assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.ImportingWordDocToPresentation(), "table") End Sub + ''' + ''' Import Spreadsheet into HTML Document + ''' + Public Shared Sub ImportingSpreadsheetIntoHtmlDocument() + 'ExStart:ImportingSpreadsheetIntoHtmlDocument + Try + Dim strHtmlTemplate As String = "HTML Templates/Importing Spreadsheet into HTML Document.html" + Dim strHtmlReport As String = "HTML Reports/Importing Spreadsheet into HTML Document.html" + + + ' Assemble a document using the external document table as a data source. + Dim assembler As New DocumentAssembler() + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.ImportingSpreadsheetToHtml(), "table") + Catch ex As Exception + Console.WriteLine(ex.Message) + End Try + 'ExEnd:ImportingSpreadsheetIntoHtmlDocument + End Sub End Class End Namespace diff --git a/Examples/VisualBasic/GroupDocs.Assembly.Examples/Module1.vb b/Examples/VisualBasic/GroupDocs.Assembly.Examples/Module1.vb index 587fd06..eeac7d0 100644 --- a/Examples/VisualBasic/GroupDocs.Assembly.Examples/Module1.vb +++ b/Examples/VisualBasic/GroupDocs.Assembly.Examples/Module1.vb @@ -21,235 +21,293 @@ Namespace GroupDocs.AssemblyExamples 'CommonUtilities.ApplyLicense() 'ExEnd:ApplyingLicense - '#Region "Generating Bubble Chart Report" + +#Region "Generating Bubble Chart Report" 'Generate a bubble chart report in document processing format - 'GenerateReport.GenerateBubbleChart("document", False, False, False, True) + 'GenerateReport.GenerateBubbleChart("document", false, false, false, true); 'Generate a Bulleted List report in spreadsheet format - 'GenerateReport.GenerateBubbleChart("spreadsheet", False, False, False, True) + 'GenerateReport.GenerateBubbleChart("spreadsheet", false, false, false, true); 'Generate a Bulleted List report in presentation format - 'GenerateReport.GenerateBubbleChart("presentation", False, False, False, True) - '#End Region + 'GenerateReport.GenerateBubbleChart("presentation", false, false, false, true); +#End Region - '#Region "Generating Bulleted List Report" +#Region "Generating Bulleted List Report" 'Generate a Bulleted List report in document processing format - 'GenerateReport.GenerateBulletedList("document", False, False, False, True) + 'GenerateReport.GenerateBulletedList("document", false, false, true, false); 'Generate a Bulleted List report in spreadsheet format - 'GenerateReport.GenerateBulletedList("spreadsheet", False, False, False, True) + 'GenerateReport.GenerateBulletedList("spreadsheet", false, false, true, false); 'Generate a Bulleted List report in presentation format - 'GenerateReport.GenerateBulletedList("presentation", False, False, False, True) - '#End Region + 'GenerateReport.GenerateBulletedList("presentation", false, false, true, false); + + 'Generate a Bulleted List report in html format + 'GenerateReport.GenerateBulletedList("html", false, false, false, false); - '#Region "Generating Chart report with Filtering, Grouping, and Ordering" + 'Generate a Bulleted List report in text format + 'GenerateReport.GenerateBulletedList("text", false, false, false, false); +#End Region + +#Region "Generating Chart report with Filtering, Grouping, and Ordering" 'Generate a Chart report with Filtering, Grouping, and Ordering in document processing format - 'GenerateReport.GenerateChartWithFilteringGroupingAndOrdering("document", False, False, False, True) + 'GenerateReport.GenerateChartWithFilteringGroupingAndOrdering("document", false, false, true, false); 'Generate a Chart report with Filtering, Grouping, and Ordering in spreadsheet format - 'GenerateReport.GenerateChartWithFilteringGroupingAndOrdering("spreadsheet", False, False, False, True) + 'GenerateReport.GenerateChartWithFilteringGroupingAndOrdering("spreadsheet", false, false, false, true); 'Generate a Chart report with Filtering, Grouping, and Ordering in presentation format - 'GenerateReport.GenerateChartWithFilteringGroupingAndOrdering("presentation", False, False, False, True) - '#End Region + 'GenerateReport.GenerateChartWithFilteringGroupingAndOrdering("presentation", false, false, false, true); +#End Region - '#Region "Generating Common List Report" +#Region "Generating Common List Report" 'Generate a Common List Report in document processing format - 'GenerateReport.GenerateCommonList("document", False, False, False, True) + 'GenerateReport.GenerateCommonList("document", false, false, true, false); 'Generate a Common List Report in spreadsheet format - 'GenerateReport.GenerateCommonList("spreadsheet", False, False, False, True) + 'GenerateReport.GenerateCommonList("spreadsheet", false, false, true, false); 'Generate a Common List Report in presentation format - 'GenerateReport.GenerateCommonList("presentation", False, False, False, True) - '#End Region + 'GenerateReport.GenerateCommonList("presentation", false, false, true, false); + + 'Generate a Common List Report in html format + 'GenerateReport.GenerateCommonList("html", false, false, false, false); - '#Region "Generating Common Master-Detail Report" + 'Generate a Common List Report in text format + 'GenerateReport.GenerateCommonList("text", false, false, false, false); +#End Region + +#Region "Generating Common Master-Detail Report" 'Generate a Common Master-Detail Report in document processing format - 'GenerateReport.GenerateCommonMasterDetail("document", False, False, False, True) + 'GenerateReport.GenerateCommonMasterDetail("document", false, false, false, true); 'Generate a Common Master-Detail Report in spreadsheet format - 'GenerateReport.GenerateCommonMasterDetail("spreadsheet", False, False, False, True) + 'GenerateReport.GenerateCommonMasterDetail("spreadsheet", false, false, false, true); 'Generate a Common Master-Detail Report in presentation format - 'GenerateReport.GenerateCommonMasterDetail("presentation", False, False, False, True) - '#End Region + 'GenerateReport.GenerateCommonMasterDetail("presentation", false, false, false, true); + + 'Generate a Common Master-Detail Report in html format + 'GenerateReport.GenerateCommonMasterDetail("html", false, false, false, false); + + 'Generate a Common Master-Detail Report in text format + 'GenerateReport.GenerateCommonMasterDetail("text", false, false, false, false); - '#Region "Generating In-Paragraph List Report" +#End Region + +#Region "Generating In-Paragraph List Report" 'Generate a In-Paragraph List Report in document processing format - 'GenerateReport.GenerateInParagraphList("document", False, False, False, True) + 'GenerateReport.GenerateInParagraphList("document", false, false, false, true); 'Generate a In-Paragraph List Report in spreadsheet format - 'GenerateReport.GenerateInParagraphList("spreadsheet", False, False, False, True) + 'GenerateReport.GenerateInParagraphList("spreadsheet", false, false, false, true); 'Generate a In-Paragraph List Report in presentation format - 'GenerateReport.GenerateInParagraphList("presentation", False, False, False, True) - '#End Region + 'GenerateReport.GenerateInParagraphList("presentation", false, false, false, true); + + 'Generate a In-Paragraph List Report in html format + 'GenerateReport.GenerateInParagraphList("html", false, false, false, false); + + 'Generate a In-Paragraph List Report in text format + 'GenerateReport.GenerateInParagraphList("text", false, false, false, false); +#End Region - '#Region "Generating In-Table with Alternate Content Report" +#Region "Generating In-Table with Alternate Content Report" 'Generate a In-Table List with Alternate Content Report in document processing format - 'GenerateReport.GenerateInTableListWithAlternateContent("document", False, False, False, True) + 'GenerateReport.GenerateInTableListWithAlternateContent("document", false, false, false, true); 'Generate a In-Table List with Alternate Content Report in spreadsheet format - 'GenerateReport.GenerateInTableListWithAlternateContent("spreadsheet", False, False, False, True) + 'GenerateReport.GenerateInTableListWithAlternateContent("spreadsheet", false, false, false, true); 'Generate a In-Table List with Alternate Content Report in presentation format - 'GenerateReport.GenerateInTableListWithAlternateContent("presentation", False, False, False, True) - '#End Region + 'GenerateReport.GenerateInTableListWithAlternateContent("presentation", false, false, false, true); - '#Region "Generating In-Table with Filtering, Grouping and Ordering Report" + 'Generate a In-Table List with Alternate Content Report in html format + 'GenerateReport.GenerateInTableListWithAlternateContent("html", false, false, false, false); +#End Region + +#Region "Generating In-Table with Filtering, Grouping and Ordering Report" 'Generate a In-Table List with Filtering, Grouping, and Ordering Report in document processing format - 'GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("document", False, False, False, True) + 'GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("document", false, false, false, true); 'Generate a In-Table List with Filtering, Grouping, and Ordering Report in spreadsheet format - 'GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("spreadsheet", False, False, False, True) + 'GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("spreadsheet", false, false, false, true); 'Generate a In-Table List with Filtering, Grouping, and Ordering Report in presentation format - 'GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("presentation", False, False, False, True) - '#End Region + 'GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("presentation", false, false, false, true); + + 'Generate a In-Table List with Filtering, Grouping, and Ordering Report in html format + 'GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("html", false, false, false, false); +#End Region - '#Region "Generating In-Table List with Highlighted Rows Report" +#Region "Generating In-Table List with Highlighted Rows Report" 'Generate a In-Table List with Highlighted Rows Report in document processing format - 'GenerateReport.GenerateInTableListWithHighlightedRows("document", False, False, False, True) + 'GenerateReport.GenerateInTableListWithHighlightedRows("document", false, false, false, true); 'Generate a In-Table List with Highlighted Rows Report in spreadsheet format - 'GenerateReport.GenerateInTableListWithHighlightedRows("spreadsheet", False, False, False, True) + 'GenerateReport.GenerateInTableListWithHighlightedRows("spreadsheet", false, false, false, true); 'Generate a In-Table List with Highlighted Rows Report in presentation format - 'GenerateReport.GenerateInTableListWithHighlightedRows("presentation", False, False, False, True) - '#End Region + 'GenerateReport.GenerateInTableListWithHighlightedRows("presentation", false, false, false, true); + + 'Generate a In-Table List with Highlighted Rows Report in html format + 'GenerateReport.GenerateInTableListWithHighlightedRows("html", false, false, false, false); +#End Region - '#Region "Generating In-Table List Report" +#Region "Generating In-Table List Report" 'Generate a In-Table List Report in document processing format - 'GenerateReport.GenerateInTableList("document", False, False, False, True) + 'GenerateReport.GenerateInTableList("document", false, false, false, true); 'Generate a In-Table List Report in spreadsheet format - 'GenerateReport.GenerateInTableList("spreadsheet", False, False, False, True) + 'GenerateReport.GenerateInTableList("spreadsheet", false, false, false, true); 'Generate a In-Table List Report in presentation format - 'GenerateReport.GenerateInTableList("presentation", False, False, False, True) - '#End Region + 'GenerateReport.GenerateInTableList("presentation", false, false, false, true); - '#Region "Generating In-Table Master-Detail Report" + 'Generate a In-Table List Report in html format + 'GenerateReport.GenerateInTableList("html", false, false, false, false); +#End Region + +#Region "Generating In-Table Master-Detail Report" 'Generate a In-Table Master-Detail Report in document processing format - 'GenerateReport.GenerateInTableMasterDetail("document", False, False, False, True) + 'GenerateReport.GenerateInTableMasterDetail("document", false, false, false, true); 'Generate a In-Table Master-Detail Report in spreadsheet format - 'GenerateReport.GenerateInTableMasterDetail("spreadsheet", False, False, False, True) + 'GenerateReport.GenerateInTableMasterDetail("spreadsheet", false, false, false, true); 'Generate a In-Table Master-Detail Report in presentation format - 'GenerateReport.GenerateInTableMasterDetail("presentation", False, False, False, True) - '#End Region + 'GenerateReport.GenerateInTableMasterDetail("presentation", false, false, false, true); + + 'Generate a In-Table Master-Detail Report in html format + 'GenerateReport.GenerateInTableMasterDetail("html", false, false, false, false); +#End Region - '#Region "Generating Multicolored Number List Report" +#Region "Generating Multicolored Number List Report" 'Generate a Multicolored Numbered List Report in document processing format - 'GenerateReport.GenerateMulticoloredNumberedList("document", False, False, False, True) + 'GenerateReport.GenerateMulticoloredNumberedList("document", false, false, false, true); 'Generate a Multicolored Numbered List Report in spreadsheet format - 'GenerateReport.GenerateMulticoloredNumberedList("spreadsheet", False, False, False, True) + 'GenerateReport.GenerateMulticoloredNumberedList("spreadsheet", false, false, false, true); 'Generate a Multicolored Numbered List Report in presentation format - 'GenerateReport.GenerateMulticoloredNumberedList("presentation", False, False, False, True) - '#End Region + 'GenerateReport.GenerateMulticoloredNumberedList("presentation", false, false, false, true); - '#Region "Generating Numbered List Report" + 'Generate a Multicolored Numbered List Report in html format + 'GenerateReport.GenerateMulticoloredNumberedList("html", false, false, false, false); +#End Region + +#Region "Generating Numbered List Report" 'Generate a Numbered List Report in document processing format - 'GenerateReport.GenerateNumberedList("document", False, False, False, True) + 'GenerateReport.GenerateNumberedList("document", false, false, false, true); 'Generate a Numbered List Report in spreadsheet format - 'GenerateReport.GenerateNumberedList("spreadsheet", False, False, False, True) + 'GenerateReport.GenerateNumberedList("spreadsheet", false, false, false, true); 'Generate a Numbered List Report in presentation format - 'GenerateReport.GenerateNumberedList("presentation", False, False, False, True) - '#End Region + 'GenerateReport.GenerateNumberedList("presentation", false, false, false, true); + + 'Generate a Numbered List Report in html format + 'GenerateReport.GenerateNumberedList("html", false, false, false, false); - '#Region "Generating Pie Chart Report" + 'Generate a Numbered List Report in text format + 'GenerateReport.GenerateNumberedList("text", false, false, false, false); +#End Region + +#Region "Generating Pie Chart Report" 'Generate a Pie Chart Report in document processing format - 'GenerateReport.GeneratePieChart("document", False, False, False, True) + 'GenerateReport.GeneratePieChart("document", false, false, false, true); 'Generate a Pie Chart Report in spreadsheet format - 'GenerateReport.GeneratePieChart("spreadsheet", False, False, False, True) + 'GenerateReport.GeneratePieChart("spreadsheet", false, false, false, true); 'Generate a Pie Chart Report in presentation format - 'GenerateReport.GeneratePieChart("presentation", False, False, False, True) - '#End Region + 'GenerateReport.GeneratePieChart("presentation", false, false, true, false); +#End Region - '#Region "Generating Scatter Chart Report" +#Region "Generating Scatter Chart Report" 'Generate a Scatter Chart Report in document processing format - 'GenerateReport.GenerateScatterChart("document", False, False, False, True) + 'GenerateReport.GenerateScatterChart("document", false, false, false, true); 'Generate a Scatter Chart Report in spreadsheet format - 'GenerateReport.GenerateScatterChart("spreadsheet", False, False, False, True) + 'GenerateReport.GenerateScatterChart("spreadsheet", false, false, false, true); 'Generate a Scatter Chart Report in presentation format - 'GenerateReport.GenerateScatterChart("presentation", False, False, False, True) - '#End Region + 'GenerateReport.GenerateScatterChart("presentation", false, false, false, true); +#End Region - '#Region "Generating Single Row Report" +#Region "Generating Single Row Report" 'Generate a Single Row Report in document processing format - 'GenerateReport.GenerateSingleRow("document", False, False, False, True) + 'GenerateReport.GenerateSingleRow("document", false, false, false, false); 'Generate a Single Row Report in spreadsheet format - 'GenerateReport.GenerateSingleRow("spreadsheet", False, False, False, True) + 'GenerateReport.GenerateSingleRow("spreadsheet", false, false, false, true); 'Generate a Single Row Report in presentation format - 'GenerateReport.GenerateSingleRow("presentation", False, False, False, True) - '#End Region + 'GenerateReport.GenerateSingleRow("presentation", false, false, false, true); + + 'Generate a Single Row Report in html format + 'GenerateReport.GenerateSingleRow("html", false, false, false, false); - '#region Generating Report by Recursively and Lazily Accessing the Data - 'GenerateReport.GenerateReportLazilyAndRecursively() - '#End Region + 'Generate a Single Row Report in text format + 'GenerateReport.GenerateSingleRow("text", false, false, false, false); +#End Region - '#region Generating Report using multiple data sources +#Region "Generating Report by Recursively and Lazily Accessing the Data" + 'GenerateReport.GenerateReportLazilyAndRecursively(); +#End Region +#Region "Generating Report using Multiple DataSources" 'Generate a report using multiple data sources in document processing format - 'GenerateReport.GenerateReportUsingMultipleDS("document") + 'GenerateReport.GenerateReportUsingMultipleDS("document"); 'Generate a report using multiple data sources in spreadsheet format - 'GenerateReport.GenerateReportUsingMultipleDS("spreadsheet") + 'GenerateReport.GenerateReportUsingMultipleDS("spreadsheet"); 'Generate a report using multiple data sources in presentation format - 'GenerateReport.GenerateReportUsingMultipleDS("presentation") - - '#End Region + 'GenerateReport.GenerateReportUsingMultipleDS("presentation"); +#End Region - - 'Region "Template Syntax Formatting" +#Region "Template Syntax Formatting" 'Generate document processing formatted reports with desired string or numeric format - 'GenerateReport.TemplateSyntaxFormatting() + 'GenerateReport.TemplateSyntaxFormatting(); - 'End Region +#End Region - 'Region "Insert Outer Documents" +#Region "Insert Outer Documents" 'Outer document insertion in a report - 'GenerateReport.OuterDocumentInsertion() + 'GenerateReport.OuterDocumentInsertion(); - 'End Region +#End Region - 'Region "Barcode Insertion" +#Region "Barcode Insertion" 'add barcode in word processing documents - 'GenerateReport.AddBarCodes("document") + 'GenerateReport.AddBarCodes("document"); 'add barcode in spreadsheet documents - 'GenerateReport.AddBarCodes("spreadsheet") + 'GenerateReport.AddBarCodes("spreadsheet"); 'add barcode in persentation documents - 'GenerateReport.AddBarCodes("presentation") + 'GenerateReport.AddBarCodes("presentation"); + +#End Region - 'End Region 'Update fields/formulas in word processing or spreadsheet documents - 'GenerateReport.UpdateWordDocFields("spreadsheet") + 'GenerateReport.UpdateWordDocFields("spreadsheet"); 'Use of Next keyword in template syntax - 'GenerateReport.NextIteration() + 'GenerateReport.NextIteration(); 'Generate report from excel data source - 'GenerateReport.UseSpreadsheetAsDataSource() + 'GenerateReport.UseSpreadsheetAsDataSource(); + + 'Generate report from presentation data source + 'GenerateReport.UsePresentationTableAsDataSource(); 'Importing word processing table into presentation - 'GenerateReport.ImportingWordProcessingTableIntoPresentation() + 'GenerateReport.ImportingWordProcessingTableIntoPresentation(); + + 'Importing spread table into html + 'GenerateReport.ImportingSpreadsheetIntoHtmlDocument(); - 'Generate report from presentation data source - 'GenerateReport.UsePresentationTableAsDataSource() 'Load document table set using default options 'GenerateReport.LoadDocTableSet("Multiple Tables Data.docx") diff --git a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/DataLayer.vb b/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/DataLayer.vb index e14bfe9..725b578 100644 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/DataLayer.vb +++ b/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/DataLayer.vb @@ -36,57 +36,57 @@ Namespace GroupDocs.AssemblyExamples.BusinessLayer ''' ''' Returns customer's complete information Public Shared Iterator Function PopulateData() As IEnumerable(Of BusinessObjects.Customer) - Dim customer As New BusinessObjects.Customer() With { _ - .CustomerName = "Atir Tahir", _ - .CustomerContactNumber = "+9211874", _ - .ShippingAddress = "Flat # 1, Kiyani Plaza ISB", _ + Dim customer As New BusinessObjects.Customer() With { + .CustomerName = "Atir Tahir", + .CustomerContactNumber = "+9211874", + .ShippingAddress = "Flat # 1, Kiyani Plaza ISB", .Barcode = "123456789qwertyu0025"} - customer.Order = New BusinessObjects.Order() {New BusinessObjects.Order() With { _ - .Product = New BusinessObjects.Product() With { _ - .ProductName = "Lumia 525" _ - }, _ - .Customer = customer, _ - .Price = 170, _ - .ProductQuantity = 5, _ - .OrderDate = New DateTime(2015, 1, 1) _ + customer.Order = New BusinessObjects.Order() {New BusinessObjects.Order() With { + .Product = New BusinessObjects.Product() With { + .ProductName = "Lumia 525" + }, + .Customer = customer, + .Price = 170, + .ProductQuantity = 5, + .OrderDate = New DateTime(2015, 1, 1) }} Yield customer 'yield return statement will return one data at a time - customer = New BusinessObjects.Customer() With { _ - .CustomerName = "Usman Aziz", _ - .CustomerContactNumber = "+458789", _ - .ShippingAddress = "Quette House, Park Road, ISB", _ + customer = New BusinessObjects.Customer() With { + .CustomerName = "Usman Aziz", + .CustomerContactNumber = "+458789", + .ShippingAddress = "Quette House, Park Road, ISB", .Barcode = "123456789qwertyu0025"} - customer.Order = New BusinessObjects.Order() {New BusinessObjects.Order() With { _ - .Product = New BusinessObjects.Product() With { _ - .ProductName = "Lenovo G50" _ - }, _ - .Customer = customer, _ - .Price = 480, _ - .ProductQuantity = 2, _ - .OrderDate = New DateTime(2015, 2, 1) _ - }, New BusinessObjects.Order() With { _ - .Product = New BusinessObjects.Product() With { _ - .ProductName = "Pavilion G6" _ - }, _ - .Customer = customer, _ - .Price = 400, _ - .ProductQuantity = 1, _ - .OrderDate = New DateTime(2015, 10, 1) _ - }, New BusinessObjects.Order() With { _ - .Product = New BusinessObjects.Product() With { _ - .ProductName = "Nexus 5" _ - }, _ - .Customer = customer, _ - .Price = 320, _ - .ProductQuantity = 3, _ - .OrderDate = New DateTime(2015, 6, 1) _ + customer.Order = New BusinessObjects.Order() {New BusinessObjects.Order() With { + .Product = New BusinessObjects.Product() With { + .ProductName = "Lenovo G50" + }, + .Customer = customer, + .Price = 480, + .ProductQuantity = 2, + .OrderDate = New DateTime(2015, 2, 1) + }, New BusinessObjects.Order() With { + .Product = New BusinessObjects.Product() With { + .ProductName = "Pavilion G6" + }, + .Customer = customer, + .Price = 400, + .ProductQuantity = 1, + .OrderDate = New DateTime(2015, 10, 1) + }, New BusinessObjects.Order() With { + .Product = New BusinessObjects.Product() With { + .ProductName = "Nexus 5" + }, + .Customer = customer, + .Price = 320, + .ProductQuantity = 3, + .OrderDate = New DateTime(2015, 6, 1) }} Yield customer 'yield return statement will return one data at a time @@ -208,12 +208,12 @@ Namespace GroupDocs.AssemblyExamples.BusinessLayer ''' Returns DataSet, very first record from the table Public Shared Function GetSingleCustomerDT() As DataRow Dim dbEntities As New DatabaseEntitiesDataContext() - Dim customersQuery = (From c In dbEntities.Customers Select New With { _ - c.CustomerID, _ - c.CustomerName, _ - c.ShippingAddress, _ - c.CustomerContactNumber, _ - c.Photo _ + Dim customersQuery = (From c In dbEntities.Customers Select New With { + c.CustomerID, + c.CustomerName, + c.ShippingAddress, + c.CustomerContactNumber, + c.Photo }).AsEnumerable() Dim Customers As New DataTable() 'ToADOTable function converts query results into DataTable @@ -492,6 +492,33 @@ Namespace GroupDocs.AssemblyExamples.BusinessLayer Return table End Function + + ''' + ''' Import spread sheet to html document + ''' + ''' + Public Shared Function ImportingSpreadsheetToHtml() As Global.GroupDocs.Assembly.Data.DocumentTable + + ' Do not extract column names from the first row, so that the first row to be treated as a data row. + ' Limit the largest row index, so that only the first four data rows to be loaded. + Dim options As New DocumentTableOptions() + 'options.MaxRowIndex = 3; + + ' Use data of the _second_ table in the document. + Dim table As New DocumentTable(excelDataFile, 0) + + ' Check column count and names. + Debug.Assert(table.Columns.Count = 3) + + ' NOTE: Default column names are used, because we do not extract the names from the first row. + Debug.Assert(table.Columns(0).Name = "A") + Debug.Assert(table.Columns(1).Name = "B") + Debug.Assert(table.Columns(2).Name = "C") + Return table + End Function + + + ''' ''' Presentation file data source ''' From 0f88b3c1ce004f5f039fba7375bbf121668ca702 Mon Sep 17 00:00:00 2001 From: rida-fatima-aspose Date: Wed, 31 May 2017 00:20:35 +0500 Subject: [PATCH 05/80] examples updated for version 17.05 --- ...Docs.AssemblyExamples.BusinessLayer.csproj | 4 +- .../packages.config | 2 +- .../GenerateReport.cs | 1574 +++-------------- .../GroupDocs.AssemblyExamples.csproj | 4 +- .../GroupDocs.AssemblyExamples/Program.cs | 19 +- .../packages.config | 2 +- .../HTML Reports/Bulleted List Report.html | 16 - .../Presentation Reports/Barcode.pptx | Bin 37443 -> 0 bytes ...th Running (Progressive) Total Report.pptx | Bin 0 -> 30914 bytes ... Presentation as Table of Data_Output.pptx | Bin 31801 -> 0 bytes .../Text Reports/Bulleted List Report.txt | 5 - .../Bubble Chart_Json Report.docx | Bin 20414 -> 0 bytes .../Word Reports/Common List Report.odt | Bin 12549 -> 0 bytes .../Word Reports/Using Next Report.docx | Bin 10484 -> 0 bytes ...g Spreadsheet as Table of Data_Output.docx | Bin 10041 -> 0 bytes .../In-Table List with Alternate Content.html | 2 +- ...List with Running (Progressive) Total.html | 24 + ...List with Running (Progressive) Total.pptx | Bin 0 -> 36163 bytes ...List with Running (Progressive) Total.xlsx | Bin 0 -> 8866 bytes ...List with Running (Progressive) Total.docx | Bin 0 -> 14413 bytes .../GenerateReport.vb | 1032 +---------- .../GroupDocs.Assembly.Examples.vbproj | 4 - .../GroupDocs.Assembly.Examples/Module1.vb | 14 + .../packages.config | 2 +- .../packages.config | 2 +- 25 files changed, 388 insertions(+), 2318 deletions(-) delete mode 100644 Examples/Data/Destination/HTML Reports/Bulleted List Report.html delete mode 100644 Examples/Data/Destination/Presentation Reports/Barcode.pptx create mode 100644 Examples/Data/Destination/Presentation Reports/In-Table List with Running (Progressive) Total Report.pptx delete mode 100644 Examples/Data/Destination/Presentation Reports/Using Presentation as Table of Data_Output.pptx delete mode 100644 Examples/Data/Destination/Text Reports/Bulleted List Report.txt delete mode 100644 Examples/Data/Destination/Word Reports/Bubble Chart_Json Report.docx delete mode 100644 Examples/Data/Destination/Word Reports/Common List Report.odt delete mode 100644 Examples/Data/Destination/Word Reports/Using Next Report.docx delete mode 100644 Examples/Data/Destination/Word Reports/Using Spreadsheet as Table of Data_Output.docx create mode 100644 Examples/Data/Source/HTML Templates/In-Table List with Running (Progressive) Total.html create mode 100644 Examples/Data/Source/Presentation Templates/In-Table List with Running (Progressive) Total.pptx create mode 100644 Examples/Data/Source/Spreadsheet Templates/In-Table List with Running (Progressive) Total.xlsx create mode 100644 Examples/Data/Source/Word Templates/In-Table List with Running (Progressive) Total.docx diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj index 7018141..0ab8607 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj @@ -32,8 +32,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.17.3.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.17.5.0\lib\net40-client\GroupDocs.Assembly.dll True diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config index de52aa0..564bf1a 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs index e137c09..9703131 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs @@ -782,87 +782,6 @@ public static void GenerateBulletedList(string strDocumentFormat, bool isDatabas break; case "html": - if (isDatabase) - { - //ExStart:GenerateBulletedListFromDatabaseinHtmlFormat - //Setting up source html template - const String strHtmlTemplate = "HTML Templates/Bulleted List.html"; - //Setting up destination html report - const String strHtmlReport = "HTML Reports/Bulleted List Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Bulleted List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetProductsDataDB(), "products"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateBulletedListFromDatabaseinHtmlFormat - } - else if (isDataSet) - { - //ExStart:GenerateBulletedListFromDataSetinHtmlFormat - //Setting up source html template - const String strHtmlTemplate = "HTML Templates/Bulleted List.html"; - //Setting up destination html report - const String strHtmlReport = "HTML Reports/Bulleted List Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Bulleted List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetProductsDT()); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateBulletedListFromDataSetinHtmlFormat - } - else if (isDataSourceXML) - { - //ExStart:GenerateBulletedListFromXMLinHtmlFormat - //Setting up source html template - const String strHtmlTemplate = "HTML Templates/Bulleted List.html"; - //Setting up destination html report - const String strHtmlReport = "HTML Reports/Bulleted List Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Bulleted List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetAllDataFromXML(), "ds"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateBulletedListFromXMLinHtmlFormat - } - else if (isJson) - { - //ExStart:GenerateBulletedListFromJsoninHtml - //setting up source - const String strDocumentTemplate = "HTML Templates/Bulleted List.html"; - //Setting up destination - const String strDocumentReport = "HTML Reports/Bulleted List Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate bulleted list in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateBulletedListFromJsoninHtml - } - else { //ExStart:GenerateBulletedListinHTMLFormat //Setting up source html template @@ -1535,87 +1454,6 @@ public static void GenerateCommonList(string strDocumentFormat, bool isDatabase, break; case "html": - if (isDatabase) - { - //ExStart:GenerateCommonListFromDatabaseinHtmlFormat - //Setting up source html document template - const String strDocumentTemplate = "HTML Templates/Common List.html"; - //Setting up destination html report - const String strDocumentReport = "HTML Reports/Common List_DB Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Common List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersDataDB(), "customers"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateCommonListFromDatabaseinHtmlFormat - } - else if (isDataSet) - { - //ExStart:GenerateCommonListFromDataSetinHtmlFormat - //Setting up source html template - const String strDocumentTemplate = "HTML Templates/Common List.html"; - //Setting up destination html report - const String strDocumentReport = "HTML Reports/Common List_DT Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Common List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersAndOrdersDataDT()); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateCommonListFromDataSetinHtmlFormat - } - else if (isDataSourceXML) - { - //ExStart:GenerateCommonListFromXMLinHtmlFormat - //Setting up source html template - const String strDocumentTemplate = "HTML Templates/Common List.html"; - //Setting up destination open document report - const String strDocumentReport = "HTML Reports/Common List_XML Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Common List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateCommonListFromXMLinHtmlFormat - } - else if (isJson) - { - //ExStart:GenerateCommonListReportFromJsoninHtml - //setting up source - const String strDocumentTemplate = "HTML Templates/Common List.html"; - //Setting up destination - const String strDocumentReport = "HTML Reports/Common List_HTML_Json Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Common List report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateCommonListReportFromJsoninHtml - } - else { //ExStart:GenerateCommonListinHtmlFormat //Setting up source html template @@ -1973,87 +1811,6 @@ public static void GenerateCommonMasterDetail(string strDocumentFormat, bool isD break; case "html": - if (isDatabase) - { - //ExStart:GenerateCommonMasterDetailFromDatabaseinHtmlFormat - //Setting up source html template - const String strDocumentTemplate = "HTML Templates/Common Master-Detail.html"; - //Setting up destination html report - const String strDocumentReport = "HTML Reports/Common Master-Detail_DB Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Common Master-Detail Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersDataDB(), "customers"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateCommonMasterDetailFromDatabaseinHtmlFormat - } - else if (isDataSet) - { - //ExStart:GenerateCommonMasterDetailFromDataSetinHtmlFormat - //Setting up source html template - const String strDocumentTemplate = "HTML Templates/Common Master-Detail.html"; - //Setting up destination html report - const String strDocumentReport = "HTML Reports/Common Master-Detail Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Common Master-Detail Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersAndOrdersDataDT()); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateCommonMasterDetailFromDataSetinHtmlFormat - } - else if (isDataSourceXML) - { - //ExStart:GenerateCommonMasterDetailFromXMLinHtmlFormat - //Setting up source html template - const String strDocumentTemplate = "HTML Templates/Common Master-Detail.html"; - //Setting up destination html report - const String strDocumentReport = "HTML Reports/Common Master-Detail_XML Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Common Master-Detail Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateCommonMasterDetailFromXMLinHtmlFormat - } - else if (isJson) - { - //ExStart:GenerateCommonMasterDetailReportFromJsoninHtml - //setting up source - const String strDocumentTemplate = "HTML Templates/Common Master-Detail.html"; - //Setting up destination - const String strDocumentReport = "HTML Reports/Common Master-Detail_Json Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Common master-detail report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateCommonMasterDetailReportFromJsoninHtml - } - else { //ExStart:GenerateCommonMasterDetailinHtmlFormat //Setting up source html template @@ -2410,238 +2167,76 @@ public static void GenerateInParagraphList(string strDocumentFormat, bool isData } break; case "html": - if (isDatabase) { - //ExStart:GenerateInParagraphListFromDatabaseinHtmlFormat + //ExStart:GenerateInParagraphListinHtmlFormat //Setting up source html template const String strDocumentTemplate = "HTML Templates/In-Paragraph List.html"; //Setting up destination html report - const String strDocumentReport = "HTML Reports/In-Paragraph List_DB Report.html"; + const String strDocumentReport = "HTML Reports/In-Paragraph List Report.html"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate In-Paragraph List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataDB(), "products"); + //Call AssembleDocument to generate In-Paragraph List Report in htmlformat + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsData(), "products"); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateInParagraphListFromDatabaseinHtmlFormat + //ExEnd:GenerateInParagraphListinHtmlFormat } - else if (isDataSet) + break; + + case "text": { - //ExStart:GenerateInParagraphListFromDataSetinHtmlFormat - //Setting up source html template - const String strDocumentTemplate = "HTML Templates/In-Paragraph List.html"; - //Setting up destination html report - const String strDocumentReport = "HTML Reports/In-Paragraph List_DT Report.html"; + //ExStart:GenerateInParagraphListinTextFormat + //Setting up source text document template + const String strDocumentTemplate = "Text Templates/In-Paragraph List.txt"; + //Setting up destination text document report + const String strDocumentReport = "Text Reports/In-Paragraph List Report.txt"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate In-Paragraph List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDT()); + //Call AssembleDocument to generate In-Paragraph List Report in text document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsData(), "products"); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateInParagraphListFromDataSetinHtmlFormat + //ExEnd:GenerateInParagraphListinTextFormat } - else if (isDataSourceXML) + break; + } + } + public static void GenerateInTableListWithAlternateContent(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) + { + switch (strDocumentFormat) + { + case "document": + if (isDatabase) { - //ExStart:GenerateInParagraphListFromXMLinHtmlFormat - //Setting up source html template - const String strDocumentTemplate = "HTML Templates/In-Paragraph List.html"; - //Setting up destination html report - const String strDocumentReport = "HTML Reports/In-Paragraph List_XML Report.html"; + //ExStart:GenerateInTableListWithAlternateContentFromDatabaseinOpenDocumentProcessingFormat + //Setting up source open document template + const String strDocumentTemplate = "Word Templates/In-Table List with Alternate Content_DB_OpenDocument.odt"; + //Setting up destination open document report + const String strDocumentReport = "Word Reports/In-Table List with Alternate Content_DB Report.odt"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate In-Paragraph List Report in htmlformat - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds"); + //Call AssembleDocument to generate In-Table List with Alternate Content Report in open document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataDB(), "products"); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateInParagraphListFromXMLinHtmlFormat + //ExEnd:GenerateInTableListWithAlternateContentFromDatabaseinOpenDocumentProcessingFormat } - else if (isJson) - { - //ExStart:GenerateInParagraphListReportFromJsoninHtml - //setting up source - const String strDocumentTemplate = "HTML Templates/In-Paragraph List.html"; - //Setting up destination - const String strDocumentReport = "HTML Reports/In-Paragraph List_OpenDocument_Json Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate In-Paragraph List report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateInParagraphListReportFromJsoninHtml - } - else - { - //ExStart:GenerateInParagraphListinHtmlFormat - //Setting up source html template - const String strDocumentTemplate = "HTML Templates/In-Paragraph List.html"; - //Setting up destination html report - const String strDocumentReport = "HTML Reports/In-Paragraph List Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate In-Paragraph List Report in htmlformat - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsData(), "products"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateInParagraphListinHtmlFormat - } - break; - - case "text": - if (isDatabase) - { - //ExStart:GenerateInParagraphListFromDatabaseinTextFormat - //Setting up source text document template - const String strDocumentTemplate = "Text Templates/In-Paragraph List.txt"; - //Setting up destination text document report - const String strDocumentReport = "Text Reports/In-Paragraph List_DB Report.txt"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate In-Paragraph List Report in text document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataDB(), "products"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateInParagraphListFromDatabaseinTextFormat - } - else if (isDataSet) - { - //ExStart:GenerateInParagraphListFromDataSetinTextFormat - //Setting up source text document template - const String strDocumentTemplate = "Text Templates/In-Paragraph List.txt"; - //Setting up destination text document report - const String strDocumentReport = "Text Reports/In-Paragraph List_DT Report.txt"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate In-Paragraph List Report in text document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDT()); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateInParagraphListFromDataSetinTextFormat - } - else if (isDataSourceXML) - { - //ExStart:GenerateInParagraphListFromXMLinTextFormat - //Setting up source text document template - const String strDocumentTemplate = "Text Templates/In-Paragraph List_XML_OpenDocument.txt"; - //Setting up destination text document report - const String strDocumentReport = "Text Reports/In-Paragraph List_XML Report.txt"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate In-Paragraph List Report in text document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateInParagraphListFromXMLinTextFormat - } - else if (isJson) - { - //ExStart:GenerateInParagraphListReportFromJsoninText - //setting up source - const String strDocumentTemplate = "Text Templates/In-Paragraph List.txt"; - //Setting up destination - const String strDocumentReport = "Text Reports/In-Paragraph List_Json Report.txt"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate In-Paragraph List report in text document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateInParagraphListReportFromJsoninText - } - else - { - //ExStart:GenerateInParagraphListinTextFormat - //Setting up source text document template - const String strDocumentTemplate = "Text Templates/In-Paragraph List.txt"; - //Setting up destination text document report - const String strDocumentReport = "Text Reports/In-Paragraph List Report.txt"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate In-Paragraph List Report in text document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsData(), "products"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateInParagraphListinTextFormat - } - break; - } - } - public static void GenerateInTableListWithAlternateContent(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) - { - switch (strDocumentFormat) - { - case "document": - if (isDatabase) - { - //ExStart:GenerateInTableListWithAlternateContentFromDatabaseinOpenDocumentProcessingFormat - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/In-Table List with Alternate Content_DB_OpenDocument.odt"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/In-Table List with Alternate Content_DB Report.odt"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate In-Table List with Alternate Content Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataDB(), "products"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateInTableListWithAlternateContentFromDatabaseinOpenDocumentProcessingFormat - } - else if (isDataSet) + else if (isDataSet) { //ExStart:GenerateInTableListWithAlternateContentFromDataSetinOpenDocumentProcessingFormat //Setting up source open document template @@ -2929,87 +2524,7 @@ public static void GenerateInTableListWithAlternateContent(string strDocumentFor } break; case "html": - if (isDatabase) - { - //ExStart:GenerateInTableListWithAlternateContentFromDatabaseinHtmlFormat - //Setting up source html template - const String strHtmlTemplate = "HTML Templates/In-Table List with Alternate Content.html"; - //Setting up destination html report - const String strHtmlReport = "HTML Reports/In-Table List with Alternate Content_DB Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate In-Table List with Alternate Content Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetProductsDataDB(), "products"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateInTableListWithAlternateContentFromDatabaseinHtmlFormat - } - else if (isDataSet) - { - //ExStart:GenerateInTableListWithAlternateContentFromDataSetinHtmlFormat - //Setting up source html template - const String strHtmlTemplate = "HTML Templates/In-Table List with Alternate Content.html"; - //Setting up destination html report - const String strHtmlReport = "HTML Reports/In-Table List with Alternate Content_DT Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate In-Table List with Alternate Content Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetProductsDT(), "ds"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateInTableListWithAlternateContentFromDataSetinHtmlFormat - } - else if (isDataSourceXML) - { - //ExStart:GenerateInTableListWithAlternateContentFromXMLinHtmlFormat - //Setting up source html template - const String strHtmlTemplate = "HTML Templates/In-Table List with Alternate Content.html"; - //Setting up destination html report - const String strHtmlReport = "HTML Reports/In-Table List with Alternate Content_XML Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate In-Table List with Alternate Content Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetAllDataFromXML(), "ds"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateInTableListWithAlternateContentFromXMLinHtmlFormat - } - else if (isJson) - { - //ExStart:GenerateInTableListwithAlternateContentReportFromJsoninHtml - //setting up source - const String strHtmlTemplate = "HTML Templates/In-Table List with Alternate Content.html"; - //Setting up destination - const String strHtmlReport = "HTML Reports/In-Table List with Alternate Content_OpenDocument_Json Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate In-Table List with Alternate Content report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomerOrderDataFromJson(), "orders"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateInTableListwithAlternateContentReportFromJsoninHtml - } - else + { //ExStart:GenerateInTableListWithAlternateContentinHtmlFormat //Setting up source html template @@ -3345,154 +2860,73 @@ public static void GenerateInTableListWithFilteringGroupingAndOrdering(string st } break; case "html": - if (isDatabase) { - //ExStart:GenerateInTableListWithFilteringGroupingAndOrderingFromDatabaseinHtmlDocument + //ExStart:GenerateInTableListWithFilteringGroupingAndOrderinginHtmlDocument //Setting up source html template const String strHtmlTemplate = "HTML Templates/In-Table List with Filtering, Grouping, and Ordering.html"; //Setting up destination html report - const String strHtmlReport = "HTML Reports/In-Table List with Filtering, Grouping, and Ordering_DB Report.html"; + const String strHtmlReport = "HTML Reports/In-Table List with Filtering, Grouping, and Ordering Report.html"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); //Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetOrdersDataDB(), "orders"); + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetOrdersData(), "orders"); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateInTableListWithFilteringGroupingAndOrderingFromDatabaseinHtmlDocument + //ExEnd:GenerateInTableListWithFilteringGroupingAndOrderinginHtmlDocument } - else if (isDataSet) + break; + + } + } + public static void GenerateInTableListWithHighlightedRows(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) + { + switch (strDocumentFormat) + { + case "document": + if (isDatabase) { - //ExStart:GenerateInTableListWithFilteringGroupingAndOrderingFromDataSetinHtmlDocument - //Setting up source html template - const String strHtmlTemplate = "HTML Templates/In-Table List with Filtering, Grouping, and Ordering.html"; - //Setting up destination html report - const String strHtmlReport = "HTML Reports/In-Table List with Filtering, Grouping, and Ordering_DT Report.html"; + //ExStart:GenerateInTableListWithHighlightedRowsFromDatabaseinDocumentProcessingDocument + //Setting up source open document template + const String strDocumentTemplate = "Word Templates/In-Table List with Highlighted Rows_DB_OpenDocument.odt"; + //Setting up destination open document report + const String strDocumentReport = "Word Reports/In-Table List with Highlighted Rows_DB Report.odt"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomersAndOrdersDataDT()); + //Call AssembleDocument to generate In-Table List with Highlighted Rows Report in open document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetOrdersDataDB(), "orders"); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateInTableListWithFilteringGroupingAndOrderingFromDataSetinHtmlDocument + //ExEnd:GenerateInTableListWithHighlightedRowsFromDatabaseinDocumentProcessingDocument } - else if (isDataSourceXML) + else if (isDataSet) { - //ExStart:GenerateInTableListWithFilteringGroupingAndOrderingFromXMLinHtmlDocument - //Setting up source html template - const String strHtmlTemplate = "HTML Templates/In-Table List with Filtering, Grouping, and Ordering.html"; - //Setting up destination html report - const String strHtmlReport = "HTML Reports/In-Table List with Filtering, Grouping, and Ordering_XML Report.html"; + //ExStart:GenerateInTableListWithHighlightedRowsFromDataSetinDocumentProcessingDocument + //Setting up source open document template + const String strDocumentTemplate = "Word Templates/In-Table List with Highlighted Rows_DT_OpenDocument.odt"; + //Setting up destination open document report + const String strDocumentReport = "Word Reports/In-Table List with Highlighted Rows_DT Report.odt"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetAllDataFromXML(), "ds"); + //Call AssembleDocument to generate In-Table List with Highlighted Rows Report in open document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersAndOrdersDataDT(), "ds"); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateInTableListWithFilteringGroupingAndOrderingFromXMLinHtmlDocument - } - else if (isJson) - { - //ExStart:GenerateInTableListwithFilteringGroupingAndOrderingReportFromJsoninHtml - //setting up source - const String strHtmlTemplate = "HTML Templates/In-Table List with Filtering, Grouping, and Ordering_OpenDocument.html"; - //Setting up destination - const String strHtmlReport = "HTML Reports/In-Table List with Filtering, Grouping, and Ordering_OpenDocument_Json Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomerOrderDataFromJson(), "orders"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateInTableListwithFilteringGroupingAndOrderingReportFromJsoninHtml - } - else - { - //ExStart:GenerateInTableListWithFilteringGroupingAndOrderinginHtmlDocument - //Setting up source html template - const String strHtmlTemplate = "HTML Templates/In-Table List with Filtering, Grouping, and Ordering.html"; - //Setting up destination html report - const String strHtmlReport = "HTML Reports/In-Table List with Filtering, Grouping, and Ordering Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetOrdersData(), "orders"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateInTableListWithFilteringGroupingAndOrderinginHtmlDocument - } - break; - - } - } - public static void GenerateInTableListWithHighlightedRows(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) - { - switch (strDocumentFormat) - { - case "document": - if (isDatabase) - { - //ExStart:GenerateInTableListWithHighlightedRowsFromDatabaseinDocumentProcessingDocument - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/In-Table List with Highlighted Rows_DB_OpenDocument.odt"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/In-Table List with Highlighted Rows_DB Report.odt"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate In-Table List with Highlighted Rows Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetOrdersDataDB(), "orders"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateInTableListWithHighlightedRowsFromDatabaseinDocumentProcessingDocument - } - else if (isDataSet) - { - //ExStart:GenerateInTableListWithHighlightedRowsFromDataSetinDocumentProcessingDocument - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/In-Table List with Highlighted Rows_DT_OpenDocument.odt"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/In-Table List with Highlighted Rows_DT Report.odt"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate In-Table List with Highlighted Rows Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersAndOrdersDataDT(), "ds"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateInTableListWithHighlightedRowsFromDataSetinDocumentProcessingDocument + //ExEnd:GenerateInTableListWithHighlightedRowsFromDataSetinDocumentProcessingDocument } else if (isDataSourceXML) { @@ -3763,87 +3197,6 @@ public static void GenerateInTableListWithHighlightedRows(string strDocumentForm break; case "html": - if (isDatabase) - { - //ExStart:GenerateInTableListWithHighlightedRowsFromDatabaseinHtmlDocument - //Setting up source html template - const String strHtmlTemplate = "HTML Templates/In-Table List with Highlighted Rows.html"; - //Setting up destination html report - const String strHtmlReport = "HTML Reports/In-Table List with Highlighted Rows_DB Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate In-Table List with Highlighted Rows Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetOrdersDataDB(), "orders"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateInTableListWithHighlightedRowsFromDatabaseinHtmlDocument - } - else if (isDataSet) - { - //ExStart:GenerateInTableListWithHighlightedRowsFromDataSetinHtmlDocument - //Setting up source html template - const String strHtmlTemplate = "HTML Templates/In-Table List with Highlighted Rows.html"; - //Setting up destination html report - const String strHtmlReport = "HTML Reports/In-Table List with Highlighted Rows_DT Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate In-Table List with Highlighted Rows Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomersAndOrdersDataDT(), "ds"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateInTableListWithHighlightedRowsFromDataSetinHtmlDocument - } - else if (isDataSourceXML) - { - //ExStart:GenerateInTableListWithHighlightedRowsFromXMLinHtmlDocument - //Setting up source html template - const String strHtmlTemplate = "HTML Templates/In-Table List with Highlighted Rows_XML_OpenDocument.html"; - //Setting up destination html report - const String strHtmlReport = "HTML Reports/In-Table List with Highlighted Rows_XML Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate In-Table List with Highlighted Rows Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetAllDataFromXML(), "ds"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateInTableListWithHighlightedRowsFromXMLinHtmlDocument - } - else if (isJson) - { - //ExStart:GenerateInTableListwithHighlightedRowsReportFromJsoninHtml - //setting up source - const String strHtmlTemplate = "HTML Templates/In-Table List with Highlighted Rows_OpenDocument.html"; - //Setting up destination - const String strHtmlReport = "HTML Reports/In-Table List with Highlighted Rows_OpenDocument_Json Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate In-Table List with Highlighted Rows report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomerOrderDataFromJson(), "orders"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateInTableListwithHighlightedRowsReportFromJsoninHtml - } - else { //ExStart:GenerateInTableListWithHighlightedRowsinHtmlDocument //Setting up source html template @@ -4180,87 +3533,6 @@ public static void GenerateInTableList(string strDocumentFormat, bool isDatabase break; case "html": - if (isDatabase) - { - //ExStart:GenerateInTableListFromDatabaseinHtmlDocument - //Setting up source html template - const String strHtmlTemplate = "HTML Templates/In-Table List.html"; - //Setting up destination html report - const String strHtmlReport = "HTML Reports/In-Table List_DB Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate In-Table List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomersDataDB(), "customers"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateInTableListFromDatabaseinHtmlDocument - } - else if (isDataSet) - { - //ExStart:GenerateInTableListFromDataSetinHtmlDocument - //Setting up source html template - const String strHtmlTemplate = "HTML Templates/In-Table List.html"; - //Setting up destination html report - const String strHtmlReport = "HTML Reports/In-Table List_DT Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate In-Table List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomersAndOrdersDataDT(), "ds"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateInTableListFromDataSetinHtmlDocument - } - else if (isDataSourceXML) - { - //ExStart:GenerateInTableListFromXMLinHtmlDocument - //Setting up source html template - const String strHtmlTemplate = "HTML Templates/In-Table List.html"; - //Setting up destination html report - const String strHtmlReport = "HTML Reports/In-Table List_XML Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate In-Table List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetAllDataFromXML(), "ds"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateInTableListFromXMLinHtmlDocument - } - else if (isJson) - { - //ExStart:GenerateInTableListReportFromJsoninHtml - //setting up source - const String strHtmlTemplate = "HTML Templates/In-Table List.html"; - //Setting up destination - const String strHtmlReport = "HTML Reports/In-Table List_OpenDocument_Json Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate In-Table List report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomerDataFromJson(), "customers"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateInTableListReportFromJsoninHtml - } - else { //ExStart:GenerateInTableListinHtmlDocument //Setting up source html template @@ -4596,105 +3868,116 @@ public static void GenerateInTableMasterDetail(string strDocumentFormat, bool is } break; case "html": - if (isDatabase) { - //ExStart:GenerateInTableMasterDetailFromDatabaseinHtmlFormat + //ExStart:GenerateInTableMasterDetailinHtmlFormat //Setting up source html template const String strHtmlTemplate = "HTML Templates/In-Table Master-Detail.html"; //Setting up destination html report - const String strHtmlReport = "HTML Reports/In-Table Master-Detail_DB Report.html"; + const String strHtmlReport = "HTML Reports/In-Table Master-Detail Report.html"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); //Call AssembleDocument to generate In-Table Master-Detail Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomersDataDB(), "customers"); + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.PopulateData(), "customers"); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateInTableMasterDetailFromDatabaseinHtmlFormat + //ExEnd:GenerateInTableMasterDetailinHtmlFormat } - else if (isDataSet) + break; + } + } + + public static void GenerateInTableListWithProgressiveTotal(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) + { + switch (strDocumentFormat) + { + case "document": + //ExStart:GenerateInTableListWithProgressiveTotalinOpenDocumentProcessingFormat + //Setting up source open document template + const String strDocumentTemplate = "Word Templates/In-Table List with Running (Progressive) Total.docx"; + //Setting up destination open document report + const String strDocumentReport = "Word Reports/In-Table List with Running (Progressive) Total Report.docx"; + try { - //ExStart:GenerateInTableMasterDetailFromDataSetinHtmlFormat - //Setting up source html template - const String strHtmlTemplate = "HTML Templates/In-Table Master-Detail.html"; - //Setting up destination html report - const String strHtmlReport = "HTML Reports/In-Table Master-Detail_DT Report.html"; + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Table List with Progressive(Running) total Report in open document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetOrdersData(), "orders"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInTableListWithProgressiveTotalinOpenDocumentProcessingFormat + + break; + + case "spreadsheet": + { + //ExStart:GenerateInTableListWithProgressiveTotalinOpenSpreadsheetFormat + //Setting up source open spreadsheet template + const String strSpreadsheetTemplate = "Spreadsheet Templates/In-Table List with Running (Progressive) Total.xlsx"; + //Setting up destination open spreadsheet report + const String strSpreadsheetReport = "Spreadsheet Reports/In-Table List with Running (Progressive) Total Report.xlsx"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate In-Table Master-Detail Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomersAndOrdersDataDT(), "ds"); + //Call AssembleDocument to generate In-Table List with Progressive(Running) total Report in open spreadsheet format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetOrdersData(), "orders"); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateInTableMasterDetailFromDataSetinHtmlFormat + //ExEnd:GenerateInTableListWithProgressiveTotalinOpenSpreadsheetFormat } - else if (isDataSourceXML) + break; + + case "presentation": { - //ExStart:GenerateInTableMasterDetailFromXMLinHtmlFormat - //Setting up source html template - const String strHtmlTemplate = "HTML Templates/In-Table Master-Detail.html"; - //Setting up destination html report - const String strHtmlReport = "HTML Reports/In-Table Master-Detail_XML Report.html"; + //ExStart:GenerateInTableListWithProgressiveTotalinOpenPresentationFormat + //Setting up source open presentation template + const String strPresentationTemplate = "Presentation Templates/In-Table List with Running (Progressive) Total.pptx"; + //Setting up destination open presentation report + const String strPresentationReport = "Presentation Reports/In-Table List with Running (Progressive) Total Report.pptx"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate In-Table Master-Detail Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetAllDataFromXML(), "ds"); + //Call AssembleDocument to generate In-Table List with Progressive(running) total Report in open presentation format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetOrdersData(), "orders"); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateInTableMasterDetailFromXMLinHtmlFormat + //ExEnd:GenerateInTableListWithProgressiveTotalinOpenPresentationFormat } - else if (isJson) - { - //ExStart:GenerateInTableMasterDetailReportFromJsoninHtml - //setting up source - const String strHtmlTemplate = "HTML Templates/In-Table Master-Detail.html"; - //Setting up destination - const String strHtmlReport = "HTML Reports/In-Table Master-Detail_Json Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate In-Table Master-Detail report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomerDataFromJson(), "customers"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateInTableMasterDetailReportFromJsoninHtml - } - else + break; + case "html": { - //ExStart:GenerateInTableMasterDetailinHtmlFormat + //ExStart:GenerateInTableListWithProgressiveTotalinHtmlFormat //Setting up source html template - const String strHtmlTemplate = "HTML Templates/In-Table Master-Detail.html"; + const String strHtmlTemplate = "HTML Templates/In-Table List with Running (Progressive) Total.html"; //Setting up destination html report - const String strHtmlReport = "HTML Reports/In-Table Master-Detail Report.html"; + const String strHtmlReport = "HTML Reports/In-Table List with Running (Progressive) Total.html"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate In-Table Master-Detail Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.PopulateData(), "customers"); + //Call AssembleDocument to generate In-Table List with Progressive(Running) Total Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetOrdersData(), "orders"); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateInTableMasterDetailinHtmlFormat + //ExEnd:GenerateInTableListWithProgressiveTotalinHtmlFormat } break; } @@ -5012,87 +4295,6 @@ public static void GenerateMulticoloredNumberedList(string strDocumentFormat, bo } break; case "html": - if (isDatabase) - { - //ExStart:GenerateMulticoloredNumberedListFromDatabaseinHtml - //Setting up source html template - const String strDocumentTemplate = "HTML Templates/Multicolored Numbered List.html"; - //Setting up destination html report - const String strDocumentReport = "HTML Reports/Multicolored Numbered List_DB Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Multicolored Numbered List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataDB(), "products"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateMulticoloredNumberedListFromDatabaseinHtml - } - else if (isDataSet) - { - //ExStart:GenerateMulticoloredNumberedListFromDataSetinHtml - //Setting up source html template - const String strDocumentTemplate = "HTML Templates/Multicolored Numbered List.html"; - //Setting up destination html report - const String strDocumentReport = "HTML Reports/Multicolored Numbered List_DT Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Multicolored Numbered List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDT()); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateMulticoloredNumberedListFromDataSetinHtml - } - else if (isDataSourceXML) - { - //ExStart:GenerateMulticoloredNumberedListFromXMLinHtml - //Setting up source html template - const String strDocumentTemplate = "HTML Templates/Multicolored Numbered List_XML.html"; - //Setting up destination html report - const String strDocumentReport = "HTML Reports/Multicolored Numbered List_XML Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Multicolored Numbered List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateMulticoloredNumberedListFromXMLinHtml - } - else if (isJson) - { - //ExStart:GenerateMulticoloredNumberedListReportFromJsoninHtml - //setting up source - const String strDocumentTemplate = "HTML Templates/Multicolored Numbered List.html"; - //Setting up destination - const String strDocumentReport = "HTML Reports/Multicolored Numbered List_Json Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Multicolored Numbered List report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateMulticoloredNumberedListReportFromJsoninHtml - } - else { //ExStart:GenerateMulticoloredNumberedListinHtml //Setting up source html template @@ -5254,365 +4456,203 @@ public static void GenerateNumberedList(string strDocumentFormat, bool isDatabas try { //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Numbered List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetProductsDT()); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateNumberedListFromDataSetinOpenSpreadsheetFormat - } - else if (isDataSourceXML) - { - //ExStart:GenerateNumberedListFromXMLinOpenSpreadsheetFormat - //Setting up source open spreadsheet template - const String strSpreadsheetTemplate = "Spreadsheet Templates/Numbered List_XML_OpenDocument.ods"; - //Setting up destination open spreadsheet report - const String strSpreadsheetReport = "Spreadsheet Reports/Numbered List_XML Report.ods"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Numbered List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetAllDataFromXML(), "ds"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateNumberedListFromXMLinOpenSpreadsheetFormat - } - else if (isJson) - { - //ExStart:GenerateNumberedListReportFromJsoninOpenSpreadsheet - //setting up source - const String strDocumentTemplate = "Spreadsheet Templates/Numbered List_OpenDocument.ods"; - //Setting up destination - const String strDocumentReport = "Spreadsheet Reports/Numbered List_OpenDocument_Json Report.ods"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Numbered List report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateNumberedListReportFromJsoninOpenSpreadsheet - } - else - { - //ExStart:GenerateNumberedListinOpenSpreadsheetFormat - //Setting up source open spreadsheet template - const String strSpreadsheetTemplate = "Spreadsheet Templates/Numbered List_OpenDocument.ods"; - //Setting up destination open spreadsheet report - const String strSpreadsheetReport = "Spreadsheet Reports/Numbered List Report.ods"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Numbered List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetProductsData(), "products"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateNumberedListinOpenSpreadsheetFormat - } - break; - - case "presentation": - if (isDatabase) - { - //ExStart:GenerateNumberedListFromDatabaseinOpenPresentationFormat - //Setting up source open presentation template - const String strPresentationTemplate = "Presentation Templates/Numbered List_OpenDocument.odp"; - //Setting up destination open presentation report - const String strPresentationReport = "Presentation Reports/Numbered List_DB Report.odp"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Numbered List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetProductsDataDB(), "products"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateNumberedListFromDatabaseinOpenPresentationFormat - } - else if (isDataSet) - { - //ExStart:GenerateNumberedListFromDataSetinOpenPresentationFormat - //Setting up source open presentation template - const String strPresentationTemplate = "Presentation Templates/Numbered List_OpenDocument.odp"; - //Setting up destination open presentation report - const String strPresentationReport = "Presentation Reports/Numbered List_DT Report.odp"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Numbered List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetProductsDT()); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateNumberedListFromDataSetinOpenPresentationFormat - } - else if (isDataSourceXML) - { - //ExStart:GenerateNumberedListFromXMLinOpenPresentationFormat - //Setting up source open presentation template - const String strPresentationTemplate = "Presentation Templates/Numbered List_XML_OpenDocument.odp"; - //Setting up destination open presentation report - const String strPresentationReport = "Presentation Reports/Numbered List_XML Report.odp"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Numbered List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetAllDataFromXML(), "ds"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateNumberedListFromXMLinOpenPresentationFormat - } - else if (isJson) - { - //ExStart:GenerateNumberedListReportFromJsoninOpenPresentation - //setting up source - const String strDocumentTemplate = "Presentation Templates/Numbered List_OpenDocument.odp"; - //Setting up destination - const String strDocumentReport = "Presentation Reports/Numbered List_OpenDocument_Json Report.odp"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Numbered List report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateNumberedListReportFromJsoninOpenPresentation - } - else - { - //ExStart:GenerateNumberedListinOpenPresentationFormat - //Setting up source open presentation template - const String strPresentationTemplate = "Presentation Templates/Numbered List_OpenDocument.odp"; - //Setting up destination open presentation report - const String strPresentationReport = "Presentation Reports/Numbered List Report.odp"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Numbered List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetProductsData(), "products"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateNumberedListinOpenPresentationFormat - } - break; - - case "html": - if (isDatabase) - { - //ExStart:GenerateNumberedListFromDatabaseinHtmlFormat - //Setting up source html template - const String strDocumentTemplate = "HTML Templates/Numbered List.html"; - //Setting up destination html report - const String strDocumentReport = "HTML Reports/Numbered List_DB Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Numbered List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataDB(), "products"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateNumberedListFromDatabaseinHtmlFormat - } - else if (isDataSet) - { - //ExStart:GenerateNumberedListFromDataSetinHtmlFormat - //Setting up source html template - const String strDocumentTemplate = "HTML Templates/Numbered List.html"; - //Setting up destination html report - const String strDocumentReport = "HTML Reports/Numbered List_DT Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Numbered List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDT()); + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Numbered List Report in open spreadsheet format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetProductsDT()); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateNumberedListFromDataSetinHtmlFormat + //ExEnd:GenerateNumberedListFromDataSetinOpenSpreadsheetFormat } else if (isDataSourceXML) { - //ExStart:GenerateNumberedListFromXMLinHtmlFormat - //Setting up source html template - const String strDocumentTemplate = "HTML Templates/Numbered List_XML.html"; - //Setting up destination html report - const String strDocumentReport = "HTML Reports/Numbered List_XML Report.html"; + //ExStart:GenerateNumberedListFromXMLinOpenSpreadsheetFormat + //Setting up source open spreadsheet template + const String strSpreadsheetTemplate = "Spreadsheet Templates/Numbered List_XML_OpenDocument.ods"; + //Setting up destination open spreadsheet report + const String strSpreadsheetReport = "Spreadsheet Reports/Numbered List_XML Report.ods"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Numbered List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds"); + //Call AssembleDocument to generate Numbered List Report in open spreadsheet format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetAllDataFromXML(), "ds"); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateNumberedListFromXMLinHtmlFormat + //ExEnd:GenerateNumberedListFromXMLinOpenSpreadsheetFormat } else if (isJson) { - //ExStart:GenerateNumberedListReportFromJsoninHtml + //ExStart:GenerateNumberedListReportFromJsoninOpenSpreadsheet //setting up source - const String strDocumentTemplate = "HTML Templates/Numbered List.html"; + const String strDocumentTemplate = "Spreadsheet Templates/Numbered List_OpenDocument.ods"; //Setting up destination - const String strDocumentReport = "HTML Reports/Numbered List_Json Report.html"; + const String strDocumentReport = "Spreadsheet Reports/Numbered List_OpenDocument_Json Report.ods"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Numbered List report in html format + //Call AssembleDocument to generate Numbered List report in open spreadsheet format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products"); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateNumberedListReportFromJsoninHtml + //ExEnd:GenerateNumberedListReportFromJsoninOpenSpreadsheet } else { - //ExStart:GenerateNumberedListinHtmlFormat - //Setting up source html template - const String strDocumentTemplate = "HTML Templates/Numbered List.html"; - //Setting up destination html report - const String strDocumentReport = "HTML Reports/Numbered List Report.html"; + //ExStart:GenerateNumberedListinOpenSpreadsheetFormat + //Setting up source open spreadsheet template + const String strSpreadsheetTemplate = "Spreadsheet Templates/Numbered List_OpenDocument.ods"; + //Setting up destination open spreadsheet report + const String strSpreadsheetReport = "Spreadsheet Reports/Numbered List Report.ods"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Numbered List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsData(), "products"); + //Call AssembleDocument to generate Numbered List Report in open spreadsheet format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetProductsData(), "products"); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateNumberedListinHtmlFormat + //ExEnd:GenerateNumberedListinOpenSpreadsheetFormat } break; - case "text": + + case "presentation": if (isDatabase) { - //ExStart:GenerateNumberedListFromDatabaseinTextFormat - //Setting up source text document template - const String strDocumentTemplate = "Text Templates/Numbered List.txt"; - //Setting up destination text document report - const String strDocumentReport = "Text Reports/Numbered List_DB Report.txt"; + //ExStart:GenerateNumberedListFromDatabaseinOpenPresentationFormat + //Setting up source open presentation template + const String strPresentationTemplate = "Presentation Templates/Numbered List_OpenDocument.odp"; + //Setting up destination open presentation report + const String strPresentationReport = "Presentation Reports/Numbered List_DB Report.odp"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Numbered List Report in text document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataDB(), "products"); + //Call AssembleDocument to generate Numbered List Report in open presentation format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetProductsDataDB(), "products"); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateNumberedListFromDatabaseinTextFormat + //ExEnd:GenerateNumberedListFromDatabaseinOpenPresentationFormat } else if (isDataSet) { - //ExStart:GenerateNumberedListFromDataSetinTextFormat - //Setting up source text document template - const String strDocumentTemplate = "Text Templates/Numbered List.txt"; - //Setting up destination text document report - const String strDocumentReport = "Text Reports/Numbered List_DT Report.txt"; + //ExStart:GenerateNumberedListFromDataSetinOpenPresentationFormat + //Setting up source open presentation template + const String strPresentationTemplate = "Presentation Templates/Numbered List_OpenDocument.odp"; + //Setting up destination open presentation report + const String strPresentationReport = "Presentation Reports/Numbered List_DT Report.odp"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Numbered List Report in text document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDT()); + //Call AssembleDocument to generate Numbered List Report in open presentation format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetProductsDT()); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateNumberedListFromDataSetinTextFormat + //ExEnd:GenerateNumberedListFromDataSetinOpenPresentationFormat } else if (isDataSourceXML) { - //ExStart:GenerateNumberedListFromXMLinTextFormat - //Setting up source text document template - const String strDocumentTemplate = "Text Templates/Numbered List_XML.txt"; - //Setting up destination text document report - const String strDocumentReport = "Text Reports/Numbered List_XML Report.txt"; + //ExStart:GenerateNumberedListFromXMLinOpenPresentationFormat + //Setting up source open presentation template + const String strPresentationTemplate = "Presentation Templates/Numbered List_XML_OpenDocument.odp"; + //Setting up destination open presentation report + const String strPresentationReport = "Presentation Reports/Numbered List_XML Report.odp"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Numbered List Report in text document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds"); + //Call AssembleDocument to generate Numbered List Report in open presentation format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetAllDataFromXML(), "ds"); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateNumberedListFromXMLinTextFormat + //ExEnd:GenerateNumberedListFromXMLinOpenPresentationFormat } else if (isJson) { - //ExStart:GenerateNumberedListReportFromJsoninText + //ExStart:GenerateNumberedListReportFromJsoninOpenPresentation //setting up source - const String strDocumentTemplate = "Text Templates/Numbered List.txt"; + const String strDocumentTemplate = "Presentation Templates/Numbered List_OpenDocument.odp"; //Setting up destination - const String strDocumentReport = "Text Reports/Numbered List_Json Report.txt"; + const String strDocumentReport = "Presentation Reports/Numbered List_OpenDocument_Json Report.odp"; try { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Numbered List report in text document format + //Call AssembleDocument to generate Numbered List report in open presentation format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products"); } catch (Exception ex) { Console.WriteLine(ex.Message); } - //ExEnd:GenerateNumberedListReportFromJsoninText + //ExEnd:GenerateNumberedListReportFromJsoninOpenPresentation } else + { + //ExStart:GenerateNumberedListinOpenPresentationFormat + //Setting up source open presentation template + const String strPresentationTemplate = "Presentation Templates/Numbered List_OpenDocument.odp"; + //Setting up destination open presentation report + const String strPresentationReport = "Presentation Reports/Numbered List Report.odp"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Numbered List Report in open presentation format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetProductsData(), "products"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateNumberedListinOpenPresentationFormat + } + break; + + case "html": + { + //ExStart:GenerateNumberedListinHtmlFormat + //Setting up source html template + const String strDocumentTemplate = "HTML Templates/Numbered List.html"; + //Setting up destination html report + const String strDocumentReport = "HTML Reports/Numbered List Report.html"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Numbered List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsData(), "products"); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateNumberedListinHtmlFormat + } + break; + case "text": { //ExStart:GenerateNumberedListinTextFormat //Setting up source text document template @@ -6576,87 +5616,6 @@ public static void GenerateSingleRow(string strDocumentFormat, bool isDatabase, } break; case "html": - if (isDatabase) - { - //ExStart:GenerateSingleRowFromDatabaseinHtmlFormat - //Setting up source html template - const String strHtmlTemplate = "HTML Templates/Single Row.html"; - //Setting up destination html report - const String strHtmlReport = "HTML Reports/Single Row_DB Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Single Row Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetSingleCustomerDataDB(), "customer"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowFromDatabaseinHtmlFormat - } - else if (isDataSet) - { - //ExStart:GenerateSingleRowFromDataSetinHtmlFormat - //Setting up source html template - const String strHtmlTemplate = "HTML Templates/Single Row.html"; - //Setting up destination html report - const String strHtmlReport = "HTML Reports/Single Row_DT Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Single Row Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetSingleCustomerDT(), "customer"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowFromDataSetinHtmlFormat - } - else if (isDataSourceXML) - { - //ExStart:GenerateSingleRowFromXMLinHtmlFormat - //Setting up source html template - const String strHtmlTemplate = "HTML Templates/Single Row.html"; - //Setting up destination html report - const String strHtmlReport = "HTML Reports/Single Row_XML Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Single Row Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetSingleCustomerXML(), "customer"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowFromXMLinHtmlFormat - } - else if (isJson) - { - //ExStart:GenerateSingleRowReportFromJsoninHtmlFormat - //setting up source - const String strHtmlTemplate = "HTML Templates/Single Row.html"; - //Setting up destination - const String strHtmlReport = "HTML Reports/Single Row_Json Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Single Row report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetSingleCustomerDataJson(), "customer"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowReportFromJsoninHtmlFormat - } - else { //ExStart:GenerateSingleRowinHtmlFormat //Setting up source html template @@ -6679,87 +5638,6 @@ public static void GenerateSingleRow(string strDocumentFormat, bool isDatabase, break; case "text": - if (isDatabase) - { - //ExStart:GenerateSingleRowFromDatabaseinTextFormat - //Setting up source text format template - const String strTextTemplate = "Text Templates/Single Row.txt"; - //Setting up destination text format report - const String strDocumentReport = "Text Reports/Single Row_DB Report.txt"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Single Row Report in text format format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strTextTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetSingleCustomerDataDB(), "customer"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowFromDatabaseinTextFormat - } - else if (isDataSet) - { - //ExStart:GenerateSingleRowFromDataSetinTextFormat - //Setting up source text format template - const String strTextTemplate = "Text Templates/Single Row.txt"; - //Setting up destination text format report - const String strDocumentReport = "Text Reports/Single Row_DT Report.txt"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Single Row Report in text format format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strTextTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetSingleCustomerDT(), "customer"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowFromDataSetinTextFormat - } - else if (isDataSourceXML) - { - //ExStart:GenerateSingleRowFromXMLinTextFormat - //Setting up source text format template - const String strTextTemplate = "Text Templates/Single Row.txt"; - //Setting up destination text format report - const String strDocumentReport = "Text Reports/Single Row_XML Report.txt"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Single Row Report in text format format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strTextTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetSingleCustomerXML(), "customer"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowFromXMLinTextFormat - } - else if (isJson) - { - //ExStart:GenerateSingleRowReportFromJsoninTextFormat - //setting up source - const String strTextTemplate = "Text Templates/Single Row.txt"; - //Setting up destination - const String strDocumentReport = "Text Reports/Single Row_Json Report.txt"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Single Row report in text format format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strTextTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetSingleCustomerDataJson(), "customer"); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowReportFromJsoninTextFormat - } - else { //ExStart:GenerateSingleRowinTextFormat //Setting up source text format template diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj index 1c97f87..fb80712 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj @@ -34,8 +34,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.17.3.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.17.5.0\lib\net40-client\GroupDocs.Assembly.dll True diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs index 47a51db..7ebe876 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs @@ -123,6 +123,7 @@ static void Main(string[] args) //Generate a In-Table List with Alternate Content Report in html format //GenerateReport.GenerateInTableListWithAlternateContent("html", false, false, false, false); + #endregion #region Generating In-Table with Filtering, Grouping and Ordering Report @@ -181,6 +182,20 @@ static void Main(string[] args) //GenerateReport.GenerateInTableMasterDetail("html", false, false, false, false); #endregion + #region Generating In-Table with Running (Progressive) Total Report + //Generate a In-Table List with Running (Progressive) Total Report in document processing format + //GenerateReport.GenerateInTableListWithProgressiveTotal("document", false, false, false, false); + + //Generate a In-Table List with Running (Progressive) Total Report in spreadsheet format + //GenerateReport.GenerateInTableListWithProgressiveTotal("spreadsheet", false, false, false, false); + + //Generate a In-Table List with Running (Progressive) Total Report in presentation format + //GenerateReport.GenerateInTableListWithProgressiveTotal("presentation", false, false, false, false); + + //Generate a In-Table List with Running (Progressive) Total Report in html format + //GenerateReport.GenerateInTableListWithProgressiveTotal("html", false, false, false, false); + #endregion + #region Generating Multicolored Number List Report //Generate a Multicolored Numbered List Report in document processing format //GenerateReport.GenerateMulticoloredNumberedList("document", false, false, false, true); @@ -206,7 +221,7 @@ static void Main(string[] args) //GenerateReport.GenerateNumberedList("presentation", false, false, false, true); //Generate a Numbered List Report in html format - //GenerateReport.GenerateNumberedList("html", false, false, false, false); + GenerateReport.GenerateNumberedList("html", false, false, false, false); //Generate a Numbered List Report in text format //GenerateReport.GenerateNumberedList("text", false, false, false, false); @@ -314,7 +329,7 @@ static void Main(string[] args) //GenerateReport.UseDocumentTableSetAsDataSource("Multiple Tables Data.docx", "Using Document Table Set as Data Source.pptx"); //GenerateReport.DefiningDocumentTableRelations("Related Tables Data.xlsx", "Using Document Table Relations.docx"); //GenerateReport.ChangingDocumentTableColumnType("Presentation Templates/Changing Document Table Column Type.pptx"); - + Console.WriteLine(); } } } \ No newline at end of file diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config index bcbd2d5..e883c5d 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Examples/Data/Destination/HTML Reports/Bulleted List Report.html b/Examples/Data/Destination/HTML Reports/Bulleted List Report.html deleted file mode 100644 index 1bf4ca2..0000000 --- a/Examples/Data/Destination/HTML Reports/Bulleted List Report.html +++ /dev/null @@ -1,16 +0,0 @@ - - -We provide support for the following clients: -
    - -
  • Lumia 525
  • - -
  • Lenovo G50
  • - -
  • Pavilion G6
  • - -
  • Nexus 5
  • - -
- - \ No newline at end of file diff --git a/Examples/Data/Destination/Presentation Reports/Barcode.pptx b/Examples/Data/Destination/Presentation Reports/Barcode.pptx deleted file mode 100644 index a2f9520ac3fb3237ed58b30ef12b1d56af10fe5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37443 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%0DUpO?>@xDFr32Hd|- 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 alaVq20o>VyfuRNeM1reBlH30L^nU=XgkM(x literal 0 HcmV?d00001 diff --git a/Examples/Data/Destination/Presentation Reports/Using Presentation as Table of Data_Output.pptx b/Examples/Data/Destination/Presentation Reports/Using Presentation as Table of Data_Output.pptx deleted file mode 100644 index 14ceec46b492e591013f17efb4ee0a3903e4c2bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31801 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 diff --git a/Examples/Data/Destination/Text Reports/Bulleted List Report.txt b/Examples/Data/Destination/Text Reports/Bulleted List Report.txt deleted file mode 100644 index 305ee4e..0000000 --- a/Examples/Data/Destination/Text Reports/Bulleted List Report.txt +++ /dev/null @@ -1,5 +0,0 @@ -We provide support for the following products: - Lumia 525 - Lenovo G50 - Pavilion G6 - Nexus 5 diff --git a/Examples/Data/Destination/Word Reports/Bubble Chart_Json Report.docx b/Examples/Data/Destination/Word Reports/Bubble Chart_Json Report.docx deleted file mode 100644 index 8d246df72e626efe87e74c819b004133565b04d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20414 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

o3B=`hg*@tp4!5x@2-}HUVi3fJZBVAqH z+aHHn+f6zc;cATgRbAxd;n~AOy@q@Hsk9hnbuku>o!h*i|VQ_D_7>?WGK&B z+Zmad_TB2@RkqcMkTtZ}zFmG49TY8m?At#oU*X(~y(10q8;C^cr$IU+puzW5aIao` zd6bB+-GR{Ct$FZu;btmDEb0oy$gXMto^55C>Gqle&V6yBXOB!j^Hr^uA`{2a?@P@B zYa629hMh?H9#db_c|7T5dP;GZWMcbudMdra>B)pHvrSW`7_j@uVR>-myA~G)`l7^% z+z49pD2T4TC4@e|DTJ;J*d{iF&}BA+k|G8IX`v$_H80RWhYM_F2E>;ptlZb()_iB} zz)l4uIRkD9P;k2*5rCsMo>@9b++M*>q1FVlc>-<~*5Nk{uy$9ed-@jbI_U~W4N~nH zwi&=U(P>hsGQ#{G6bIus0nt6w41+uxgvlOzewM0Ris2gY)my>rgMf*68Cxp+OVPxY zz}E5YY+jY?s(}DOV5$$$6BoVAl$iRNE6{ouK?D2*<5otTM5@UV?=mD{!f|!$B)Bo7 zLBA7~$FQ=9W-fkOcxT=U6@CljtSD5{7p7*Wl{EXeK1XjpJ zDrC^0d(z;R+oIEv)6#kkLEd$EAu%{?@B7vk;*-^y>oe~bgw(JPvyXO&Oh_IV+2yu()r6hAZ0f{5I};RBDf zu%FC{-N8BT_WN!CXh^aR`Nvj=6U~rpkt^%AV$L|^P}M~`BIu2rDq)#g{Vg&4p6FY2 z#8#V`f2+bbrS*Bj?XC0;R9SBy?gE`y3|{6^-!pLCJ=TbNQ?NzXzHUY7Ps)zz`7zL| z_qEF%oQ}4GXYwndqkA-15WF?VNqicr3zu8$(W`uncn7X0S9NYW#%o@xzSsFfQ@0UE zFcslX6`%3t8Y7>E>S<1*Ac>T&ez6%0?p3!%|BBhR)q>DOJJQ$+9PtN;S06c-!2R-x_P6^~&2D z7$kglM#x1_fo2hyQelya(s7aLS=YqWY3Uf}mFmi$fGsf%{m@p!548L3>;2WOj>!h{ z4XXX#LWP!2AJwgv5KFIWO@;daf66ljAy59RtdZ$ecHB{fk7GO=K8F+l%#;T3bG@JnYL>IcVAwY6&~nlv*bHl-wsdPE2wUyJ zFU#o6fR-}W0&5~5b8RTQTDo4&MRbEdjwS;A`w-^}u<~=8#$e1g>py?JF)R81pb7rZ zGx6bDXhR7up@U>t!7$1H6Ygg}06ioEHPuEuHPH_1`lD-rpA

1Tl@lKorZu5%K@( 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 diff --git a/Examples/Data/Destination/Word Reports/Using Next Report.docx b/Examples/Data/Destination/Word Reports/Using Next Report.docx deleted file mode 100644 index 6d1ec3a9a10b0f5053171a9821788d005969c2ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10484 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 XqASY4fW-j-Ac4OSV3jSu{#E;bU6}cv diff --git a/Examples/Data/Destination/Word Reports/Using Spreadsheet as Table of Data_Output.docx b/Examples/Data/Destination/Word Reports/Using Spreadsheet as Table of Data_Output.docx deleted file mode 100644 index 01b26bec4f55e505070c5327fbf2514dda3b722e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10041 zcmaia1yo$iwk;mqU4kdL2X}Xu;O>pPOM<%xhd{94jk~)O+}(n^f0A?0Jtw^P#_us| z?e3~Q=ia?))v8f7OI`{b0v!Yd1RA6)f<%&Y`TMQ|CB7 zn@Iu-F|y5zds4HIc-&FH7tKR^l3qX! zi=;seDxB_%KT})yzkS$BxBJp<@9dz?9I$D!$bJEdPy)A^>K+TaZq4rFL1?R_YEUGXoh~& zT{KO)5u^d)+Q{8_A9i^~?tHGn^_sO{`OLstWPVbFJ&u4UN;#aD@{@8faJB3K|G<`+ zW;N%6iv#ayO0hOd@_g$1lsoS>4Y-HNc=_?(eu%H8cgQA`*U=?y%4muYTIae>4-#e4 zcaiR$rb4;Mo%E+r&o}aabkOY^;RmM@Tnz!1St>Mi@x=L&*wv$A*t`S}ED z4?lEl$uT|uUNYjFJ}BGyXSZxQS@DvN>5j}@V*K3*HSmu!PKr_PRflpXlNU$XgdbG% z7UDs=>?sRu+l010p3gV2*$kUT%JDkG(bOYNI!`)4o>_QwJdSWKwre<*b@lKt;-5c` zak2Fk&`P=F5XAP5Uk?Aote_#^_+n(|%t-nfpy`NbW~zcEDY?!$A0}E~ zqau|i2GO%G@9)e`ph!T%7Yl^xFRuc!plh9ds}#!M@T`{>S_jkxr_~(PZz<8aisycw zd-tWJq6%K?3O!=yv%pSl7(BHrMn#;yUF(3RZ-!w46s3#`=&W^Z;98bIxu2hz6^wbD zfJmQmbpX53^1x=!DL+RJDKsQvT0hw^9uB?8r;%JJbswoN&YWpyn5L0~>D8PzyaL=d zp%EAC|WOq`S;E%di^u{!)R$jP$p}uN<(#Rppd%lvBW2w6Z%#WBR=NUW90h6 zdLks~=w>tybRk}E#8CxUi0*6mz}&PKEEh@-zp6^vD1k=7YVR~48#7XW2jOUd<$#KO;aj{Jbh=_vIA=x zMvhnm%EM_5#nemu@~5Z@r_I_i^33EI&>Iz9$nZI*%+9b+un%@Z?DHTHr}_&=WaU)& z=Oxl<^S9m4p&3>mbbKOrVBsM1%pv+XpRh-K$1{^2z!8sS08^jxX)FRc#iZWq2O6?B zaHo<|W#uvDfHz>i-}JpT#~a>ht5)p#cMN6Bjd2FI5p+HQG7OV0rUL zy-vKFZuXzy%h)cj{h8~OE1(gT(;n$bhAas&4OHN{V;J_Tn@?}5P>c4~&Ljkln=nWD z)DW+lT<$VUhKc-ktXGax$A&lXik0|JwUExZ$jQA52s9pnOpD;9=%Xn*l8Iw`my7n0 zsCBm}dMgh1cTWBF^KKDpMV=*5yS9djV}MfJt*lC(^=#e-i;MUe^&-L5J(pT@Whwi8 zsrt!>5cWHyKa)zojcoA5ODczj0s%q&JE@r1SUW1~8vuUi^5!^o>jehnz%r5(9?WVZ z=C2Tu7NC%!yy(p!GD@flbYMX>`@qX=v3(3q4ZI%=sLfv>p!YM^%GQF`GId)sb-XPw z@B_fjWkkPXkoz$#9(^lhvOn1x28U^52AU4w#>B*doSi-VD3!A0hH#y4(>M?RvCMYB z0HFgntY?g;&+t(rKe<;6K2o# zj?jB_P7UyCfS$c2-}G^r)M|b*3s5FL1IN5S9a8fSL&v1JptfTJ<i=P~)t!)Tz6c7Xc(@eAmT}%tz zNd9YhE(PFBJ*1*sUpOar2=)+t`5qo8s=Gkg#^EG?&36sH7Ya@ZORs5ys|$JboReXF zSQDFr>Ke)19%|#%3%gqp+t3C=*GT0)j38F4UWiqD>GY}3W-8JxchQsupID)O6?%Q4t&%H^v?*mSlY02dYQSa6gk_9y+YQgg{f?cmI1$sg(o9k=o4arkX zfb_6dRx_qPtpJPw2C-ngfFDH7`N+o>-(%cTfx@ z{lbkpdJy3tP@a3Jp&*3d9mBu{pvHa0WBg=%6TVvX2vM;ZGd_vtd0p+4- zh-Iv9pO~F_kzBe{tYV;(&!^977|r^YXC578GmBy=9 zqGYD4`3<6nLda=jgm;C$+dzEZJ@urvV?Bx;c~m;X*ytZ+9M{~T&XbC#Q4j3x>5W+S zItpeEe~g4YB!+10uRYEviO1M8WT&JvEP;h9Q=(B{upXpU1Bw)F7TGZqZtSX##}UwN zS@6zox3jLycLdlySI1o2Vpq6zIX@thIW|=Yy=ZT%}R91a!-#HWyfy&aS}$o zEfb*J6>(yo*X6G`J&pSL@G48e)2yT%!h?Y9d%nc!-&xAR(G6hyJ3_b87wi|`7W+DN<@Yd(A1O5 zpnKsw0M7RcHCh;SKyDCU?3!kafk>L^ovC~3eCAcs?Qyg88I7ywaHV`OmkQ7y@Ogcy zNrH({(Sv>Pj4fHOglpz5YMMtsk&RV1MBIu1uk1$Y@Nr~)aNJSDreUP5=L`AuR8N)b z>6RssF^M#z>84>UH4)Z}!(cD08&Am|z{SS<^X%#*snC5;P@l@+dm8m|N?N*^1x*#T zoE&`-p)M>>OL3pE%HZ_$#AalBIdz#5Zym+AtgEvrF&y3#vzYG$Nu)~2^Ea2BR#Zks zi;wn>cKU2|H=>Kd6zdWjZAP>tPgcWmWjImJ3qBq;TGQ6h#xVu0raNdGuy&Zu_b6v2 zn7;F=3|3!88~BT(=(H%u?i*Y->{{>UvVowTk#c%0aHX(%D^f#lxJw0 zuUBeWr<4=qO`AKh6)cj)`II|LL+R-_c(kX-9a0cfE;u0^JP%ZqIvdk7c1kJ@&S#A z7xjnE*1(0`&{Crd^u-uyrw^fkTN~~z4JR!!$o8zGwLV8x@WS|)Ql$zG^W#dQ@m;T3Wt1M&1 zD(1vBa0QBHxA`+=V{N2Pg=1sM;`{ByBs%@vNqC$EJond0HlDXLYb=vp zY*gbi8PM~p69uwRIP=w6U#KPH!wcjs_9##VnDKB|S8gX2D_KZ7mhzgKh{<=9`ydwp zhDE21N`7Yw0i>Z*5ui^airJ%J2)*iFOXFj>JFq~5+c!usf-9ytV`*>hs{4l3#elx) z$mh_i$R6DOQ=cjdQ<$nql`dSO#Ku;5-m3eQ873NcxXDZricfFAiZ2`cZ;pT&(@d(M zpdlKF?R;I3l;X;bJ1%NbrI@)Gfa`L`}>KFU4M74YXJ8#y59OMI$jvVjr6Ad5Qpdw?K2XdO2>??mP=>PwovsAO#QPw;dkI z<3t<}5xINJfa;7(iUv*TV+@{SP4wxzBAam>ih0V&S{g62%iwcaxuQ71Ai@lnJ0UG(qqOcmb4Yz#0LzwrjXn}WN5G;yvkoBNE-!`GLShjkyy0&^Q)RI%jDQoE;8pqK1 zsNz#_54dRBJ~JE>%K1+Yq2O3#_B6!E#yrG{*;0kMl?xlRC~v z_VUFb4#-U>UeEZLlkidlsK>dvfi#6RdhiGNRmyH48FfxA`>5K7cU!e=nNKPM;F|zJ z#bk@{X#fE?zBxg7otkLBBwC|YV>mT)@i{>d#Tw*Qa?Rk=SlX_aIvm$IL8$-Ua*ztc zK6u}cY48^hF*yCgt^EH71Bb&t=YQs18GzjccmZhkwGCc5766DrC^ex^ULNB5Z@OQt zm`uOe|HtcjuqxLe`^M8k`~ox?!7={vW`Dh?Y)w{ECV&{~_fs&LIC-XYP@H&B8BW>5 z_C1^QCNhmvFTdUDxy5}DDlc-b*PnbUr=}$IpALF!$_ybwV@Nz4V$-|z@NRZ7%CDiv z?fRhFO?2p1&lrvGf=8j}en6@!u1$EglWIGC{F}ntv@gjnJ@KLv(Rd?Vq!Kw~A2UX{ zHpFr^&9grB>z_`JoQzX=tFC;3LH6psUyRrd#~(9NxdAyEUvah;wjpgmX)f6lT^-ur zbe)|U?!cQLKC5E?fj_?vZge1;MT>~yjrk@G6f=m%Crl_YzgxdpSQDRQ43iMKVhNfr z415ISrMk77cyMyvHd5$!QxJ4jcaZF~?7y0bJbM4zMBFjD?#tY^9=&B_*Z1-)@rM)4 zUl3w2E4$zmAp0tOIlIxVCVnL+t+g!jPj!6LT~W79&JqPw4s|w35>n@!TsikCilbDW z56CTh7%b|>9!Bm{Rq1%+3&Agc$g%;29mvV?_R0x(66g%%rj3*?o2TLBud#-hU+=pZ zFt>ZT`@d$ZhMlR|0{Gk9_y!+}-l*dz>o{rrZR-Dm|K|9M$g$Gd9_r)&+5U1<8m3sD zTKa#Dbr|X7ch)})b$)lup2~lW_TJQu-7&Z%u5}AlUgSt-jaDme<0*}#atqiG9cbn^ z-og7w1bZC~lzxu|%9oF%lSUp>L(}G=Zwrfi7A&37@_{w`upc@Z}(K30_MD-5B$y#O_zf0E)R0V zT~(hJy~r&KSA@R>8gR17&CW)dsK}BHsy%ov$ZTL=IrNs3jf7cqGL(8b@2A zxKu3!Hz_$9}C=o@fGJE4UJO3<{?y|nw+OE54c4|yxC-ygIaU+iSZ^L+(C5M4(?Y$A zW|<|hC9UUNE!vxhR*$RA=i5TKygX_Oblci3J$}GRohy47J|K)NdpPu%OOPhbFyVU7 zbh(dZu(14GxNUkKR1`m>yGgwv6;P@@RAzhV?cGhib3sk3oE331+;-OLkw|!qmmOuB zWoXgMOvg$&I`X#RJ-6}kao*+EbGM}*G|4S}z0`@qaHpnA)kOpQ$REy~@R_>i=!f{w z?r@cgpCtRN{hQJ5gc2GxamK%%6m*GkznyXo9?HR_XLO(WgihP=Howm0$^Cnh?YC03 zyM*O|?g-Dr343!Z&vbR2`RG8WgE4DZyyc}W^ti$tAJc8!%%?dR=O(p-I*Y-&IUX@n zL(%D(z*tgs8W(~`-Q9e~qM|idvHP)$g4;HCx}{DMB^^Uag3_+5$`29dBlK)4*4Qku z^`Gj$IX&8R8cC_{ruodPNq9)CK3i(2J|;Xq5dOJ(FH$65fqL1y3Bv^e!T5V+CGJD9b*fLoF=)qL9zm*uh-ygr1jACKNq9-u@ z$n_aggv{n(8d7OS?`;hBmV{<&HJ=%aQv_3VFGw7I%_U{--M2#|zB=fdkFd-IcK2!4 zel;0PtjkRBxThBU^wEq%ZVSQaIC@PV$wak$Nsrh%1Fce8VnE{$G!U7NuI|h}lN1~# z(On+apYv|>apV|_d=6_Czo5{B26*Zv_&7=mX_*Cq)H*H8Nk?9-F;0Gfr`SNST0$pW znr$(o31?W)qn<Nmd5>M+KXqh+_)@HsR!^7f z)J`3`F&9G=(P6ZB2#i)(xc0XK1CL#|Y6D#oU0o3Pus;uCOJ?m)D0PvQ3)Kc*C%XC| z5PnI|!259m7H<$wSez|0>e6v*h82y{t`>iixPu7h0j2vD-rQN`ierIghRHSw9UKw4 z9}<2GH#Kq%S{NS-EIbf$!dX7{EQAe;BfDw7YS?e@WaaE2lo|!49MaE7TSdgNq-Zl| zynx?udYW%r#|h?a|2C>DgKtXqEjO3j$zXqH(0e3r)sNbsZX}w`4^LsOgg!-&mlusm zQ7wuah2hVS`J>+Vmr@_1``fT|`EEDn;;>dcpLUR<&`)GR1DQMtjiW7QR%4vwj6C&1 z5m(D^Y%uRB`71@<%Te?RnCI|ct7{19rh>tv*U=S=ojA7}3qm$=*K3kCC1IikqPKlF zR|P*p^>56TkKD7EOTrJ3$SB~Vf5&w64kW0kr8D8->b)WFO3Z-qmk!)vyf69qWDG&l z)C+x}pJ9Pq&{OLTVPE~_nGEI$a-BdG1C0m~lIM3}2V8aXsQkHCs%L*LPd7k(U%Xz` zC+Js$Y@#rX`(pNptyol9uOn^gSZ430 zkne>h2jr~O+vN{f1pVCC_m%@%DLNt{O(A1oHfk3%^DBR&z?WEv!m{Yfp>vS4h`p8w zJ=&!*-G$n^%A)t;b4--VQed%n?rG~Nz8&=yUw3c@bg7T1E03DB)prE%))#s$mUxo< zmnoy|MM?&4-Ypin2IU5i-_9Jp{j$kMq)P|8>#^rezjWN>XrnP|Nm1e0Db zTfq7*{ut>_bj27v!>Ez0)PmO1+jIZ{M05K5(O75Hg;aIwuKf%Xu%;7_N`-dvd2%u? zn)7>{Ejk(4jw2b(dGW_8befdu)(VE);*-mKzq9PX9o6s~PjKuW;|!{MH|J6A$y9%J z!kQ9nok1S$Xt|g@Tp06)DGBjO21rJ&65b81+C<8dabNf_4|C64gwxzQ7}u<(HY#vz z(gDoza0OzSBV%;6O^X_IOSz#$DfCr4SQD;Lnr#d%E&5&Y4PvB#@ggq@vNz1Z#eJ6C8w>;ij>3X7&Dy~DvC>^&#Taqxshg#Z^$*h#}nysep z1Z-8!<@&76-knZb!0`)C*_;ix$f;`@;7s-Lc~&_Ku&L-6v^BGRaxN81q4nyDJe3eg zFHFW9%>D+i<71Oo#m`|IU6w9Vhtb+MwE0t)c(nPzth+0h=+nW)n+W z-5Es4*+cg1gX>g;71++egH-ZIlkX^XHA{A%WP!)dN23PAV!Y3pL24)SPp>rG$Z!W3 zsF#iZiWM{cGnpVZ2?olK~!TRjtr|WkSYRzS@x9I?@lE5FsbSlLC zpQl}6<-ZdI&ljs1eh@r|rrh#TG$Iubs8RKjteDUMAekA-q6m8b3?9$bI#bPA%O@V8 z(P!!ZFw$5xIat{w|0YmQq2M4bz_JotP+Y0icCV{$T3v9NCuCA+rvPX z%wxjAOU>ghxOe;hYVsK5&=>E1q}!n5&+06FBARZQrgK$hAZmB7_7u$Lh>~9rK}}wh z5E#TK%q5#NC@X|U@$#-9zD#kDjtHOs>Ga87A<=~?0>^d)JykQ5p2b(VvHIb>ovcKlH(Rr;q^o`vwuiI0$s?t{=ns>Qw8ZZ=wA=69qL^(5EH_Lbb@h_99TMd^X-iz>PY}p> zaS`98f`p70OF?Fm2I3LNrU;QM9f7kK#q+A7?y-&tNAIhT@M~SUs|mUVtul0SenNWV zB0mry;@q0os~H8&YUkW&Rjdw~MEo&_Oi`OAeL2U7@N?R`)C?9jVr_YF({-Y+lwMM^ z2)q*(U&q^enASfP7s!~E^^6CRnGx~5b>RPz^i6>uCoELdz952SmqwmUnB~OW3%%6y z^WRnbjBidjUzq%Axx@i{X+AWcgXTP_%@Ugq0i(_qAAOR&o z`1YJMOa9yj%7!_jKep+79>eQ0t8?#DV`k8hO#Ov7-Re@eLlbTMVK4Cb&zME#wH@Dm z=>WwSnFsFW`d7IACqxG&g#_UFeT@5B*lIC^b0@7E_GG&Vp_%KEn$Gp!Og2K)(-xWlQF`;5SqdqRR`B}s2_*9-fFE6Dx^tdo*+L;d?KojR7j}BA?aqzbkKdBy zWL)j$aw4UaigV~HH`MFw9UmC#5z7hgDy|I*>Jo^Na=U$=dKtu^V6?vz-T!{Z=*27l z`n*1I^cwy80L(wo?3Z}|FZ%D}Ft6dSPjdVN$9l;s|KnW8Yxrx;_8&OlMZ^0I|3krj zjeo89{e!oL`49fz`rm8#Ycb{@IO>Z;^ZW7tNHed&uh%R8fN6041Ae`Fc}?+p=K6=i znD9RoujaAW46k$eKMd(a|6%w)GWu(#*D3BFrat2THQ~J`cs(@#Ay6RwW1z}QLB1^W SevMx^koK2xY(Vzw*Z%{CL03os diff --git a/Examples/Data/Source/HTML Templates/In-Table List with Alternate Content.html b/Examples/Data/Source/HTML Templates/In-Table List with Alternate Content.html index d7a631e..a296fac 100644 --- a/Examples/Data/Source/HTML Templates/In-Table List with Alternate Content.html +++ b/Examples/Data/Source/HTML Templates/In-Table List with Alternate Content.html @@ -1,7 +1,7 @@ - +Regular text. Highlighted text. diff --git a/Examples/Data/Source/HTML Templates/In-Table List with Running (Progressive) Total.html b/Examples/Data/Source/HTML Templates/In-Table List with Running (Progressive) Total.html new file mode 100644 index 0000000..81579bc --- /dev/null +++ b/Examples/Data/Source/HTML Templates/In-Table List with Running (Progressive) Total.html @@ -0,0 +1,24 @@ + + +
Customer
+ + + + +<<foreach [in orders]>> + + + + +<</foreach>> +
+Client + +Total Contract Price<<var [total = 0.0]>> +
+<<[Customer.CustomerName]>> + +<<var [total = total + Price]>><<[total]>> +
+ + \ No newline at end of file diff --git a/Examples/Data/Source/Presentation Templates/In-Table List with Running (Progressive) Total.pptx b/Examples/Data/Source/Presentation Templates/In-Table List with Running (Progressive) Total.pptx new file mode 100644 index 0000000000000000000000000000000000000000..0277d4f3e170cf4154446a9f2041c853bdbbf5f3 GIT binary patch literal 36163 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 I`~Ud%A15XXp#T5? literal 0 HcmV?d00001 diff --git a/Examples/Data/Source/Spreadsheet Templates/In-Table List with Running (Progressive) Total.xlsx b/Examples/Data/Source/Spreadsheet Templates/In-Table List with Running (Progressive) Total.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..25a20ff699de3da5ae1a9dba904ea3df15fc8e81 GIT binary patch literal 8866 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 literal 0 HcmV?d00001 diff --git a/Examples/Data/Source/Word Templates/In-Table List with Running (Progressive) Total.docx b/Examples/Data/Source/Word Templates/In-Table List with Running (Progressive) Total.docx new file mode 100644 index 0000000000000000000000000000000000000000..1dd148f2476b0f040f2e71fdd4dc4d9571fdc871 GIT binary patch literal 14413 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 ''' Shows how to load document Table set using default options ''' Features is supported by version 17.01 or greater @@ -636,68 +634,7 @@ Namespace GroupDocs.AssemblyExamples Exit Select Case "html" - If isDatabase Then - 'ExStart:GenerateBulletedListFromDatabaseinHtmlFormat - 'Setting up source html template - Const strHtmlTemplate As [String] = "HTML Templates/Bulleted List.html" - 'Setting up destination html report - Const strHtmlReport As [String] = "HTML Reports/Bulleted List Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Bulleted List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetProductsDataDB(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBulletedListFromDatabaseinHtmlFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateBulletedListFromDataSetinHtmlFormat - 'Setting up source html template - Const strHtmlTemplate As [String] = "HTML Templates/Bulleted List.html" - 'Setting up destination html report - Const strHtmlReport As [String] = "HTML Reports/Bulleted List Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Bulleted List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetProductsDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBulletedListFromDataSetinHtmlFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateBulletedListFromXMLinHtmlFormat - 'Setting up source html template - Const strHtmlTemplate As [String] = "HTML Templates/Bulleted List.html" - 'Setting up destination html report - Const strHtmlReport As [String] = "HTML Reports/Bulleted List Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Bulleted List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBulletedListFromXMLinHtmlFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateBulletedListFromJsoninHtml - 'setting up source - Const strDocumentTemplate As [String] = "HTML Templates/Bulleted List.html" - 'Setting up destination - Const strDocumentReport As [String] = "HTML Reports/Bulleted List Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate bulleted list in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBulletedListFromJsoninHtml - End Try - Else + If True Then 'ExStart:GenerateBulletedListinHTMLFormat 'Setting up source html template Const strHtmlTemplate As [String] = "HTML Templates/Bulleted List.html" @@ -710,8 +647,8 @@ Namespace GroupDocs.AssemblyExamples assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetProductsData(), "products") Catch ex As Exception Console.WriteLine(ex.Message) - 'ExEnd:GenerateBulletedListinHTMLFormat End Try + 'ExEnd:GenerateBulletedListinHTMLFormat End If Exit Select Case "text" @@ -1221,68 +1158,7 @@ Namespace GroupDocs.AssemblyExamples Exit Select Case "html" - If isDatabase Then - 'ExStart:GenerateCommonListFromDatabaseinHtmlFormat - 'Setting up source html document template - Const strDocumentTemplate As [String] = "HTML Templates/Common List.html" - 'Setting up destination html report - Const strDocumentReport As [String] = "HTML Reports/Common List_DB Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersDataDB(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonListFromDatabaseinHtmlFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateCommonListFromDataSetinHtmlFormat - 'Setting up source html template - Const strDocumentTemplate As [String] = "HTML Templates/Common List.html" - 'Setting up destination html report - Const strDocumentReport As [String] = "HTML Reports/Common List_DT Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersAndOrdersDataDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonListFromDataSetinHtmlFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateCommonListFromXMLinHtmlFormat - 'Setting up source html template - Const strDocumentTemplate As [String] = "HTML Templates/Common List.html" - 'Setting up destination open document report - Const strDocumentReport As [String] = "HTML Reports/Common List_XML Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonListFromXMLinHtmlFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateCommonListReportFromJsoninHtml - 'setting up source - Const strDocumentTemplate As [String] = "HTML Templates/Common List.html" - 'Setting up destination - Const strDocumentReport As [String] = "HTML Reports/Common List_HTML_Json Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Common List report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonListReportFromJsoninHtml - End Try - Else + If True Then 'ExStart:GenerateCommonListinHtmlFormat 'Setting up source html template Const strDocumentTemplate As [String] = "HTML Templates/Common List.html" @@ -1295,8 +1171,8 @@ Namespace GroupDocs.AssemblyExamples assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.PopulateData(), "customers") Catch ex As Exception Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonListinHtmlFormat End Try + 'ExEnd:GenerateCommonListinHtmlFormat End If Exit Select Case "text" @@ -1562,68 +1438,7 @@ Namespace GroupDocs.AssemblyExamples Exit Select Case "html" - If isDatabase Then - 'ExStart:GenerateCommonMasterDetailFromDatabaseinHtmlFormat - 'Setting up source html template - Const strDocumentTemplate As [String] = "HTML Templates/Common Master-Detail.html" - 'Setting up destination html report - Const strDocumentReport As [String] = "HTML Reports/Common Master-Detail_DB Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common Master-Detail Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersDataDB(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonMasterDetailFromDatabaseinHtmlFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateCommonMasterDetailFromDataSetinHtmlFormat - 'Setting up source html template - Const strDocumentTemplate As [String] = "HTML Templates/Common Master-Detail.html" - 'Setting up destination html report - Const strDocumentReport As [String] = "HTML Reports/Common Master-Detail Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common Master-Detail Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersAndOrdersDataDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonMasterDetailFromDataSetinHtmlFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateCommonMasterDetailFromXMLinHtmlFormat - 'Setting up source html template - Const strDocumentTemplate As [String] = "HTML Templates/Common Master-Detail.html" - 'Setting up destination html report - Const strDocumentReport As [String] = "HTML Reports/Common Master-Detail_XML Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common Master-Detail Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonMasterDetailFromXMLinHtmlFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateCommonMasterDetailReportFromJsoninHtml - 'setting up source - Const strDocumentTemplate As [String] = "HTML Templates/Common Master-Detail.html" - 'Setting up destination - Const strDocumentReport As [String] = "HTML Reports/Common Master-Detail_Json Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Common master-detail report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonMasterDetailReportFromJsoninHtml - End Try - Else + If True Then 'ExStart:GenerateCommonMasterDetailinHtmlFormat 'Setting up source html template Const strDocumentTemplate As [String] = "HTML Templates/Common Master-Detail.html" @@ -1636,8 +1451,8 @@ Namespace GroupDocs.AssemblyExamples assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.PopulateData(), "customers") Catch ex As Exception Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonMasterDetailinHtmlFormat End Try + 'ExEnd:GenerateCommonMasterDetailinHtmlFormat End If Exit Select Case "text" @@ -1902,68 +1717,7 @@ Namespace GroupDocs.AssemblyExamples End If Exit Select Case "html" - If isDatabase Then - 'ExStart:GenerateInParagraphListFromDatabaseinHtmlFormat - 'Setting up source html template - Const strDocumentTemplate As [String] = "HTML Templates/In-Paragraph List.html" - 'Setting up destination html report - Const strDocumentReport As [String] = "HTML Reports/In-Paragraph List_DB Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Paragraph List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataDB(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInParagraphListFromDatabaseinHtmlFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateInParagraphListFromDataSetinHtmlFormat - 'Setting up source html template - Const strDocumentTemplate As [String] = "HTML Templates/In-Paragraph List.html" - 'Setting up destination html report - Const strDocumentReport As [String] = "HTML Reports/In-Paragraph List_DT Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Paragraph List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInParagraphListFromDataSetinHtmlFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateInParagraphListFromXMLinHtmlFormat - 'Setting up source html template - Const strDocumentTemplate As [String] = "HTML Templates/In-Paragraph List.html" - 'Setting up destination html report - Const strDocumentReport As [String] = "HTML Reports/In-Paragraph List_XML Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Paragraph List Report in htmlformat - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInParagraphListFromXMLinHtmlFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateInParagraphListReportFromJsoninHtml - 'setting up source - Const strDocumentTemplate As [String] = "HTML Templates/In-Paragraph List.html" - 'Setting up destination - Const strDocumentReport As [String] = "HTML Reports/In-Paragraph List_OpenDocument_Json Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate In-Paragraph List report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInParagraphListReportFromJsoninHtml - End Try - Else + If True Then 'ExStart:GenerateInParagraphListinHtmlFormat 'Setting up source html template Const strDocumentTemplate As [String] = "HTML Templates/In-Paragraph List.html" @@ -1976,74 +1730,13 @@ Namespace GroupDocs.AssemblyExamples assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsData(), "products") Catch ex As Exception Console.WriteLine(ex.Message) - 'ExEnd:GenerateInParagraphListinHtmlFormat End Try + 'ExEnd:GenerateInParagraphListinHtmlFormat End If Exit Select Case "text" - If isDatabase Then - 'ExStart:GenerateInParagraphListFromDatabaseinTextFormat - 'Setting up source text document template - Const strDocumentTemplate As [String] = "Text Templates/In-Paragraph List.txt" - 'Setting up destination text document report - Const strDocumentReport As [String] = "Text Reports/In-Paragraph List_DB Report.txt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Paragraph List Report in text document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataDB(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInParagraphListFromDatabaseinTextFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateInParagraphListFromDataSetinTextFormat - 'Setting up source text document template - Const strDocumentTemplate As [String] = "Text Templates/In-Paragraph List.txt" - 'Setting up destination text document report - Const strDocumentReport As [String] = "Text Reports/In-Paragraph List_DT Report.txt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Paragraph List Report in text document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInParagraphListFromDataSetinTextFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateInParagraphListFromXMLinTextFormat - 'Setting up source text document template - Const strDocumentTemplate As [String] = "Text Templates/In-Paragraph List_XML_OpenDocument.txt" - 'Setting up destination text document report - Const strDocumentReport As [String] = "Text Reports/In-Paragraph List_XML Report.txt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Paragraph List Report in text document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInParagraphListFromXMLinTextFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateInParagraphListReportFromJsoninText - 'setting up source - Const strDocumentTemplate As [String] = "Text Templates/In-Paragraph List.txt" - 'Setting up destination - Const strDocumentReport As [String] = "Text Reports/In-Paragraph List_Json Report.txt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate In-Paragraph List report in text document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInParagraphListReportFromJsoninText - End Try - Else + If True Then 'ExStart:GenerateInParagraphListinTextFormat 'Setting up source text document template Const strDocumentTemplate As [String] = "Text Templates/In-Paragraph List.txt" @@ -2056,8 +1749,8 @@ Namespace GroupDocs.AssemblyExamples assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsData(), "products") Catch ex As Exception Console.WriteLine(ex.Message) - 'ExEnd:GenerateInParagraphListinTextFormat End Try + 'ExEnd:GenerateInParagraphListinTextFormat End If Exit Select End Select @@ -2304,82 +1997,22 @@ Namespace GroupDocs.AssemblyExamples End If Exit Select Case "html" - If isDatabase Then - 'ExStart:GenerateInTableListWithAlternateContentFromDatabaseinHtmlFormat + + If True Then + 'ExStart:GenerateInTableListWithAlternateContentinHtmlFormat 'Setting up source html template Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Alternate Content.html" 'Setting up destination html report - Const strHtmlReport As [String] = "HTML Reports/In-Table List with Alternate Content_DB Report.html" + Const strHtmlReport As [String] = "HTML Reports/In-Table List with Alternate Content Report.html" Try 'Instantiate DocumentAssembler class Dim assembler As New DocumentAssembler() 'Call AssembleDocument to generate In-Table List with Alternate Content Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetProductsDataDB(), "products") + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetOrdersData(), "orders") Catch ex As Exception Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithAlternateContentFromDatabaseinHtmlFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateInTableListWithAlternateContentFromDataSetinHtmlFormat - 'Setting up source html template - Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Alternate Content.html" - 'Setting up destination html report - Const strHtmlReport As [String] = "HTML Reports/In-Table List with Alternate Content_DT Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Alternate Content Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetProductsDT(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithAlternateContentFromDataSetinHtmlFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateInTableListWithAlternateContentFromXMLinHtmlFormat - 'Setting up source html template - Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Alternate Content.html" - 'Setting up destination html report - Const strHtmlReport As [String] = "HTML Reports/In-Table List with Alternate Content_XML Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Alternate Content Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithAlternateContentFromXMLinHtmlFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateInTableListwithAlternateContentReportFromJsoninHtml - 'setting up source - Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Alternate Content.html" - 'Setting up destination - Const strHtmlReport As [String] = "HTML Reports/In-Table List with Alternate Content_OpenDocument_Json Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate In-Table List with Alternate Content report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomerOrderDataFromJson(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListwithAlternateContentReportFromJsoninHtml - End Try - Else - 'ExStart:GenerateInTableListWithAlternateContentinHtmlFormat - 'Setting up source html template - Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Alternate Content.html" - 'Setting up destination html report - Const strHtmlReport As [String] = "HTML Reports/In-Table List with Alternate Content Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Alternate Content Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetOrdersData(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithAlternateContentinHtmlFormat End Try + 'ExEnd:GenerateInTableListWithAlternateContentinHtmlFormat End If Exit Select End Select @@ -2626,68 +2259,7 @@ Namespace GroupDocs.AssemblyExamples End If Exit Select Case "html" - If isDatabase Then - 'ExStart:GenerateInTableListWithFilteringGroupingAndOrderingFromDatabaseinHtmlDocument - 'Setting up source html template - Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Filtering, Grouping, and Ordering.html" - 'Setting up destination html report - Const strHtmlReport As [String] = "HTML Reports/In-Table List with Filtering, Grouping, and Ordering_DB Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetOrdersDataDB(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithFilteringGroupingAndOrderingFromDatabaseinHtmlDocument - End Try - ElseIf isDataSet Then - 'ExStart:GenerateInTableListWithFilteringGroupingAndOrderingFromDataSetinHtmlDocument - 'Setting up source html template - Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Filtering, Grouping, and Ordering.html" - 'Setting up destination html report - Const strHtmlReport As [String] = "HTML Reports/In-Table List with Filtering, Grouping, and Ordering_DT Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomersAndOrdersDataDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithFilteringGroupingAndOrderingFromDataSetinHtmlDocument - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateInTableListWithFilteringGroupingAndOrderingFromXMLinHtmlDocument - 'Setting up source html template - Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Filtering, Grouping, and Ordering.html" - 'Setting up destination html report - Const strHtmlReport As [String] = "HTML Reports/In-Table List with Filtering, Grouping, and Ordering_XML Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithFilteringGroupingAndOrderingFromXMLinHtmlDocument - End Try - ElseIf isJson Then - 'ExStart:GenerateInTableListwithFilteringGroupingAndOrderingReportFromJsoninHtml - 'setting up source - Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Filtering, Grouping, and Ordering_OpenDocument.html" - 'Setting up destination - Const strHtmlReport As [String] = "HTML Reports/In-Table List with Filtering, Grouping, and Ordering_OpenDocument_Json Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomerOrderDataFromJson(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListwithFilteringGroupingAndOrderingReportFromJsoninHtml - End Try - Else + If True Then 'ExStart:GenerateInTableListWithFilteringGroupingAndOrderinginHtmlDocument 'Setting up source html template Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Filtering, Grouping, and Ordering.html" @@ -2700,8 +2272,8 @@ Namespace GroupDocs.AssemblyExamples assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetOrdersData(), "orders") Catch ex As Exception Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithFilteringGroupingAndOrderinginHtmlDocument End Try + 'ExEnd:GenerateInTableListWithFilteringGroupingAndOrderinginHtmlDocument End If Exit Select @@ -2950,68 +2522,7 @@ Namespace GroupDocs.AssemblyExamples Exit Select Case "html" - If isDatabase Then - 'ExStart:GenerateInTableListWithHighlightedRowsFromDatabaseinHtmlDocument - 'Setting up source html template - Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Highlighted Rows.html" - 'Setting up destination html report - Const strHtmlReport As [String] = "HTML Reports/In-Table List with Highlighted Rows_DB Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Highlighted Rows Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetOrdersDataDB(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithHighlightedRowsFromDatabaseinHtmlDocument - End Try - ElseIf isDataSet Then - 'ExStart:GenerateInTableListWithHighlightedRowsFromDataSetinHtmlDocument - 'Setting up source html template - Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Highlighted Rows.html" - 'Setting up destination html report - Const strHtmlReport As [String] = "HTML Reports/In-Table List with Highlighted Rows_DT Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Highlighted Rows Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomersAndOrdersDataDT(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithHighlightedRowsFromDataSetinHtmlDocument - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateInTableListWithHighlightedRowsFromXMLinHtmlDocument - 'Setting up source html template - Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Highlighted Rows_XML_OpenDocument.html" - 'Setting up destination html report - Const strHtmlReport As [String] = "HTML Reports/In-Table List with Highlighted Rows_XML Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Highlighted Rows Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithHighlightedRowsFromXMLinHtmlDocument - End Try - ElseIf isJson Then - 'ExStart:GenerateInTableListwithHighlightedRowsReportFromJsoninHtml - 'setting up source - Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Highlighted Rows_OpenDocument.html" - 'Setting up destination - Const strHtmlReport As [String] = "HTML Reports/In-Table List with Highlighted Rows_OpenDocument_Json Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate In-Table List with Highlighted Rows report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomerOrderDataFromJson(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListwithHighlightedRowsReportFromJsoninHtml - End Try - Else + If True Then 'ExStart:GenerateInTableListWithHighlightedRowsinHtmlDocument 'Setting up source html template Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Highlighted Rows.html" @@ -3024,8 +2535,8 @@ Namespace GroupDocs.AssemblyExamples assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetOrdersData(), "orders") Catch ex As Exception Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithHighlightedRowsinHtmlDocument End Try + 'ExEnd:GenerateInTableListWithHighlightedRowsinHtmlDocument End If Exit Select End Select @@ -3273,68 +2784,7 @@ Namespace GroupDocs.AssemblyExamples Exit Select Case "html" - If isDatabase Then - 'ExStart:GenerateInTableListFromDatabaseinHtmlDocument - 'Setting up source html template - Const strHtmlTemplate As [String] = "HTML Templates/In-Table List.html" - 'Setting up destination html report - Const strHtmlReport As [String] = "HTML Reports/In-Table List_DB Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomersDataDB(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListFromDatabaseinHtmlDocument - End Try - ElseIf isDataSet Then - 'ExStart:GenerateInTableListFromDataSetinHtmlDocument - 'Setting up source html template - Const strHtmlTemplate As [String] = "HTML Templates/In-Table List.html" - 'Setting up destination html report - Const strHtmlReport As [String] = "HTML Reports/In-Table List_DT Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomersAndOrdersDataDT(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListFromDataSetinHtmlDocument - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateInTableListFromXMLinHtmlDocument - 'Setting up source html template - Const strHtmlTemplate As [String] = "HTML Templates/In-Table List.html" - 'Setting up destination html report - Const strHtmlReport As [String] = "HTML Reports/In-Table List_XML Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListFromXMLinHtmlDocument - End Try - ElseIf isJson Then - 'ExStart:GenerateInTableListReportFromJsoninHtml - 'setting up source - Const strHtmlTemplate As [String] = "HTML Templates/In-Table List.html" - 'Setting up destination - Const strHtmlReport As [String] = "HTML Reports/In-Table List_OpenDocument_Json Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate In-Table List report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomerDataFromJson(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListReportFromJsoninHtml - End Try - Else + If True Then 'ExStart:GenerateInTableListinHtmlDocument 'Setting up source html template Const strHtmlTemplate As [String] = "HTML Templates/In-Table List.html" @@ -3347,8 +2797,8 @@ Namespace GroupDocs.AssemblyExamples assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.PopulateData(), "customers") Catch ex As Exception Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListinHtmlDocument End Try + 'ExEnd:GenerateInTableListinHtmlDocument End If Exit Select End Select @@ -3595,86 +3045,106 @@ Namespace GroupDocs.AssemblyExamples End If Exit Select Case "html" - If isDatabase Then - 'ExStart:GenerateInTableMasterDetailFromDatabaseinHtmlFormat - 'Setting up source html template - Const strHtmlTemplate As [String] = "HTML Templates/In-Table Master-Detail.html" - 'Setting up destination html report - Const strHtmlReport As [String] = "HTML Reports/In-Table Master-Detail_DB Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table Master-Detail Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomersDataDB(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableMasterDetailFromDatabaseinHtmlFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateInTableMasterDetailFromDataSetinHtmlFormat + If True Then + 'ExStart:GenerateInTableMasterDetailinHtmlFormat 'Setting up source html template Const strHtmlTemplate As [String] = "HTML Templates/In-Table Master-Detail.html" 'Setting up destination html report - Const strHtmlReport As [String] = "HTML Reports/In-Table Master-Detail_DT Report.html" + Const strHtmlReport As [String] = "HTML Reports/In-Table Master-Detail Report.html" Try 'Instantiate DocumentAssembler class Dim assembler As New DocumentAssembler() 'Call AssembleDocument to generate In-Table Master-Detail Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomersAndOrdersDataDT(), "ds") + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.PopulateData(), "customers") Catch ex As Exception Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableMasterDetailFromDataSetinHtmlFormat End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateInTableMasterDetailFromXMLinHtmlFormat - 'Setting up source html template - Const strHtmlTemplate As [String] = "HTML Templates/In-Table Master-Detail.html" - 'Setting up destination html report - Const strHtmlReport As [String] = "HTML Reports/In-Table Master-Detail_XML Report.html" + 'ExEnd:GenerateInTableMasterDetailinHtmlFormat + End If + Exit Select + End Select + End Sub + + + Public Shared Sub GenerateInTableListWithProgressiveTotal(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) + Select Case strDocumentFormat + Case "document" + 'ExStart:GenerateInTableListWithProgressiveTotalinOpenDocumentProcessingFormat + 'Setting up source open document template + Const strDocumentTemplate As [String] = "Word Templates/In-Table List with Running (Progressive) Total.docx" + 'Setting up destination open document report + Const strDocumentReport As [String] = "Word Reports/In-Table List with Running (Progressive) Total Report.docx" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table List with Progressive(Running) total Report in open document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetOrdersData(), "orders") + Catch ex As Exception + Console.WriteLine(ex.Message) + End Try + 'ExEnd:GenerateInTableListWithProgressiveTotalinOpenDocumentProcessingFormat + + Exit Select + + Case "spreadsheet" + If True Then + 'ExStart:GenerateInTableListWithProgressiveTotalinOpenSpreadsheetFormat + 'Setting up source open spreadsheet template + Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Table List with Running (Progressive) Total.xlsx" + 'Setting up destination open spreadsheet report + Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Table List with Running (Progressive) Total Report.xlsx" Try 'Instantiate DocumentAssembler class Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table Master-Detail Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetAllDataFromXML(), "ds") + 'Call AssembleDocument to generate In-Table List with Progressive(Running) total Report in open spreadsheet format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetOrdersData(), "orders") Catch ex As Exception Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableMasterDetailFromXMLinHtmlFormat End Try - ElseIf isJson Then - 'ExStart:GenerateInTableMasterDetailReportFromJsoninHtml - 'setting up source - Const strHtmlTemplate As [String] = "HTML Templates/In-Table Master-Detail.html" - 'Setting up destination - Const strHtmlReport As [String] = "HTML Reports/In-Table Master-Detail_Json Report.html" + 'ExEnd:GenerateInTableListWithProgressiveTotalinOpenSpreadsheetFormat + End If + Exit Select + + Case "presentation" + If True Then + 'ExStart:GenerateInTableListWithProgressiveTotalinOpenPresentationFormat + 'Setting up source open presentation template + Const strPresentationTemplate As [String] = "Presentation Templates/In-Table List with Running (Progressive) Total.pptx" + 'Setting up destination open presentation report + Const strPresentationReport As [String] = "Presentation Reports/In-Table List with Running (Progressive) Total Report.pptx" Try 'Instantiate DocumentAssembler class Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate In-Table Master-Detail report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomerDataFromJson(), "customers") + 'Call AssembleDocument to generate In-Table List with Progressive(running) total Report in open presentation format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetOrdersData(), "orders") Catch ex As Exception Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableMasterDetailReportFromJsoninHtml End Try - Else - 'ExStart:GenerateInTableMasterDetailinHtmlFormat + 'ExEnd:GenerateInTableListWithProgressiveTotalinOpenPresentationFormat + End If + Exit Select + Case "html" + If True Then + 'ExStart:GenerateInTableListWithProgressiveTotalinHtmlFormat 'Setting up source html template - Const strHtmlTemplate As [String] = "HTML Templates/In-Table Master-Detail.html" + Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Running (Progressive) Total.html" 'Setting up destination html report - Const strHtmlReport As [String] = "HTML Reports/In-Table Master-Detail Report.html" + Const strHtmlReport As [String] = "HTML Reports/In-Table List with Running (Progressive) Total.html" Try 'Instantiate DocumentAssembler class Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table Master-Detail Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.PopulateData(), "customers") + 'Call AssembleDocument to generate In-Table List with Progressive(Running) Total Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetOrdersData(), "orders") Catch ex As Exception Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableMasterDetailinHtmlFormat End Try + 'ExEnd:GenerateInTableListWithProgressiveTotalinHtmlFormat End If Exit Select End Select End Sub + + Public Shared Sub GenerateMulticoloredNumberedList(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) Select Case strDocumentFormat Case "document" @@ -3917,68 +3387,7 @@ Namespace GroupDocs.AssemblyExamples End If Exit Select Case "html" - If isDatabase Then - 'ExStart:GenerateMulticoloredNumberedListFromDatabaseinHtml - 'Setting up source html template - Const strDocumentTemplate As [String] = "HTML Templates/Multicolored Numbered List.html" - 'Setting up destination html report - Const strDocumentReport As [String] = "HTML Reports/Multicolored Numbered List_DB Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Multicolored Numbered List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataDB(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateMulticoloredNumberedListFromDatabaseinHtml - End Try - ElseIf isDataSet Then - 'ExStart:GenerateMulticoloredNumberedListFromDataSetinHtml - 'Setting up source html template - Const strDocumentTemplate As [String] = "HTML Templates/Multicolored Numbered List.html" - 'Setting up destination html report - Const strDocumentReport As [String] = "HTML Reports/Multicolored Numbered List_DT Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Multicolored Numbered List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateMulticoloredNumberedListFromDataSetinHtml - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateMulticoloredNumberedListFromXMLinHtml - 'Setting up source html template - Const strDocumentTemplate As [String] = "HTML Templates/Multicolored Numbered List_XML.html" - 'Setting up destination html report - Const strDocumentReport As [String] = "HTML Reports/Multicolored Numbered List_XML Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Multicolored Numbered List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateMulticoloredNumberedListFromXMLinHtml - End Try - ElseIf isJson Then - 'ExStart:GenerateMulticoloredNumberedListReportFromJsoninHtml - 'setting up source - Const strDocumentTemplate As [String] = "HTML Templates/Multicolored Numbered List.html" - 'Setting up destination - Const strDocumentReport As [String] = "HTML Reports/Multicolored Numbered List_Json Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Multicolored Numbered List report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateMulticoloredNumberedListReportFromJsoninHtml - End Try - Else + If True Then 'ExStart:GenerateMulticoloredNumberedListinHtml 'Setting up source html template Const strDocumentTemplate As [String] = "HTML Templates/Multicolored Numbered List.html" @@ -3991,8 +3400,8 @@ Namespace GroupDocs.AssemblyExamples assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsData(), "products") Catch ex As Exception Console.WriteLine(ex.Message) - 'ExEnd:GenerateMulticoloredNumberedListinHtml End Try + 'ExEnd:GenerateMulticoloredNumberedListinHtml End If Exit Select @@ -4241,68 +3650,7 @@ Namespace GroupDocs.AssemblyExamples Exit Select Case "html" - If isDatabase Then - 'ExStart:GenerateNumberedListFromDatabaseinHtmlFormat - 'Setting up source html template - Const strDocumentTemplate As [String] = "HTML Templates/Numbered List.html" - 'Setting up destination html report - Const strDocumentReport As [String] = "HTML Reports/Numbered List_DB Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Numbered List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataDB(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateNumberedListFromDatabaseinHtmlFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateNumberedListFromDataSetinHtmlFormat - 'Setting up source html template - Const strDocumentTemplate As [String] = "HTML Templates/Numbered List.html" - 'Setting up destination html report - Const strDocumentReport As [String] = "HTML Reports/Numbered List_DT Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Numbered List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateNumberedListFromDataSetinHtmlFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateNumberedListFromXMLinHtmlFormat - 'Setting up source html template - Const strDocumentTemplate As [String] = "HTML Templates/Numbered List_XML.html" - 'Setting up destination html report - Const strDocumentReport As [String] = "HTML Reports/Numbered List_XML Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Numbered List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateNumberedListFromXMLinHtmlFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateNumberedListReportFromJsoninHtml - 'setting up source - Const strDocumentTemplate As [String] = "HTML Templates/Numbered List.html" - 'Setting up destination - Const strDocumentReport As [String] = "HTML Reports/Numbered List_Json Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Numbered List report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateNumberedListReportFromJsoninHtml - End Try - Else + If True Then 'ExStart:GenerateNumberedListinHtmlFormat 'Setting up source html template Const strDocumentTemplate As [String] = "HTML Templates/Numbered List.html" @@ -4315,73 +3663,12 @@ Namespace GroupDocs.AssemblyExamples assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsData(), "products") Catch ex As Exception Console.WriteLine(ex.Message) - 'ExEnd:GenerateNumberedListinHtmlFormat End Try + 'ExEnd:GenerateNumberedListinHtmlFormat End If Exit Select Case "text" - If isDatabase Then - 'ExStart:GenerateNumberedListFromDatabaseinTextFormat - 'Setting up source text document template - Const strDocumentTemplate As [String] = "Text Templates/Numbered List.txt" - 'Setting up destination text document report - Const strDocumentReport As [String] = "Text Reports/Numbered List_DB Report.txt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Numbered List Report in text document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataDB(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateNumberedListFromDatabaseinTextFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateNumberedListFromDataSetinTextFormat - 'Setting up source text document template - Const strDocumentTemplate As [String] = "Text Templates/Numbered List.txt" - 'Setting up destination text document report - Const strDocumentReport As [String] = "Text Reports/Numbered List_DT Report.txt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Numbered List Report in text document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateNumberedListFromDataSetinTextFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateNumberedListFromXMLinTextFormat - 'Setting up source text document template - Const strDocumentTemplate As [String] = "Text Templates/Numbered List_XML.txt" - 'Setting up destination text document report - Const strDocumentReport As [String] = "Text Reports/Numbered List_XML Report.txt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Numbered List Report in text document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateNumberedListFromXMLinTextFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateNumberedListReportFromJsoninText - 'setting up source - Const strDocumentTemplate As [String] = "Text Templates/Numbered List.txt" - 'Setting up destination - Const strDocumentReport As [String] = "Text Reports/Numbered List_Json Report.txt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Numbered List report in text document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateNumberedListReportFromJsoninText - End Try - Else + If True Then 'ExStart:GenerateNumberedListinTextFormat 'Setting up source text document template Const strDocumentTemplate As [String] = "Text Templates/Numbered List.txt" @@ -4394,8 +3681,8 @@ Namespace GroupDocs.AssemblyExamples assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsData(), "products") Catch ex As Exception Console.WriteLine(ex.Message) - 'ExEnd:GenerateNumberedListinTextFormat End Try + 'ExEnd:GenerateNumberedListinTextFormat End If Exit Select End Select @@ -5128,68 +4415,7 @@ Namespace GroupDocs.AssemblyExamples End If Exit Select Case "html" - If isDatabase Then - 'ExStart:GenerateSingleRowFromDatabaseinHtmlFormat - 'Setting up source html template - Const strHtmlTemplate As [String] = "HTML Templates/Single Row.html" - 'Setting up destination html report - Const strHtmlReport As [String] = "HTML Reports/Single Row_DB Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Single Row Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetSingleCustomerDataDB(), "customer") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateSingleRowFromDatabaseinHtmlFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateSingleRowFromDataSetinHtmlFormat - 'Setting up source html template - Const strHtmlTemplate As [String] = "HTML Templates/Single Row.html" - 'Setting up destination html report - Const strHtmlReport As [String] = "HTML Reports/Single Row_DT Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Single Row Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetSingleCustomerDT(), "customer") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateSingleRowFromDataSetinHtmlFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateSingleRowFromXMLinHtmlFormat - 'Setting up source html template - Const strHtmlTemplate As [String] = "HTML Templates/Single Row.html" - 'Setting up destination html report - Const strHtmlReport As [String] = "HTML Reports/Single Row_XML Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Single Row Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetSingleCustomerXML(), "customer") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateSingleRowFromXMLinHtmlFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateSingleRowReportFromJsoninHtmlFormat - 'setting up source - Const strHtmlTemplate As [String] = "HTML Templates/Single Row.html" - 'Setting up destination - Const strHtmlReport As [String] = "HTML Reports/Single Row_Json Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Single Row report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetSingleCustomerDataJson(), "customer") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateSingleRowReportFromJsoninHtmlFormat - End Try - Else + If True Then 'ExStart:GenerateSingleRowinHtmlFormat 'Setting up source html template Const strHtmlTemplate As [String] = "HTML Templates/Single Row.html" @@ -5202,74 +4428,13 @@ Namespace GroupDocs.AssemblyExamples assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomerData(), "customer") Catch ex As Exception Console.WriteLine(ex.Message) - 'ExEnd:GenerateSingleRowinHtmlFormat End Try + 'ExEnd:GenerateSingleRowinHtmlFormat End If Exit Select Case "text" - If isDatabase Then - 'ExStart:GenerateSingleRowFromDatabaseinTextFormat - 'Setting up source text format template - Const strTextTemplate As [String] = "Text Templates/Single Row.txt" - 'Setting up destination text format report - Const strDocumentReport As [String] = "Text Reports/Single Row_DB Report.txt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Single Row Report in text format format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strTextTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetSingleCustomerDataDB(), "customer") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateSingleRowFromDatabaseinTextFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateSingleRowFromDataSetinTextFormat - 'Setting up source text format template - Const strTextTemplate As [String] = "Text Templates/Single Row.txt" - 'Setting up destination text format report - Const strDocumentReport As [String] = "Text Reports/Single Row_DT Report.txt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Single Row Report in text format format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strTextTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetSingleCustomerDT(), "customer") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateSingleRowFromDataSetinTextFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateSingleRowFromXMLinTextFormat - 'Setting up source text format template - Const strTextTemplate As [String] = "Text Templates/Single Row.txt" - 'Setting up destination text format report - Const strDocumentReport As [String] = "Text Reports/Single Row_XML Report.txt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Single Row Report in text format format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strTextTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetSingleCustomerXML(), "customer") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateSingleRowFromXMLinTextFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateSingleRowReportFromJsoninTextFormat - 'setting up source - Const strTextTemplate As [String] = "Text Templates/Single Row.txt" - 'Setting up destination - Const strDocumentReport As [String] = "Text Reports/Single Row_Json Report.txt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Single Row report in text format format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strTextTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetSingleCustomerDataJson(), "customer") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateSingleRowReportFromJsoninTextFormat - End Try - Else + If True Then 'ExStart:GenerateSingleRowinTextFormat 'Setting up source text format template Const strTextTemplate As [String] = "Text Templates/Single Row.txt" @@ -5282,8 +4447,8 @@ Namespace GroupDocs.AssemblyExamples assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strTextTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerData(), "customer") Catch ex As Exception Console.WriteLine(ex.Message) - 'ExEnd:GenerateSingleRowinTextFormat End Try + 'ExEnd:GenerateSingleRowinTextFormat End If Exit Select End Select @@ -5568,7 +4733,6 @@ Namespace GroupDocs.AssemblyExamples End Try 'ExEnd:ImportingSpreadsheetIntoHtmlDocument End Sub - End Class End Namespace diff --git a/Examples/VisualBasic/GroupDocs.Assembly.Examples/GroupDocs.Assembly.Examples.vbproj b/Examples/VisualBasic/GroupDocs.Assembly.Examples/GroupDocs.Assembly.Examples.vbproj index 8161fd5..acd7df6 100644 --- a/Examples/VisualBasic/GroupDocs.Assembly.Examples/GroupDocs.Assembly.Examples.vbproj +++ b/Examples/VisualBasic/GroupDocs.Assembly.Examples/GroupDocs.Assembly.Examples.vbproj @@ -48,10 +48,6 @@ On - - ..\..\packages\GroupDocs.Assembly.17.3.0\lib\net40-client\GroupDocs.Assembly.dll - True - diff --git a/Examples/VisualBasic/GroupDocs.Assembly.Examples/Module1.vb b/Examples/VisualBasic/GroupDocs.Assembly.Examples/Module1.vb index eeac7d0..3e2dc85 100644 --- a/Examples/VisualBasic/GroupDocs.Assembly.Examples/Module1.vb +++ b/Examples/VisualBasic/GroupDocs.Assembly.Examples/Module1.vb @@ -183,6 +183,20 @@ Namespace GroupDocs.AssemblyExamples 'GenerateReport.GenerateInTableMasterDetail("html", false, false, false, false); #End Region +#Region "Generating In-Table With Running (Progressive) Total Report" + 'Generate a In-Table List with Running (Progressive) Total Report in document processing format + ' GenerateReport.GenerateInTableListWithProgressiveTotal("document", false, false, false, false) + + 'Generate a In-Table List with Running (Progressive) Total Report in spreadsheet format + ' GenerateReport.GenerateInTableListWithProgressiveTotal("spreadsheet", false, false, false, false) + + 'Generate a In-Table List with Running (Progressive) Total Report in presentation format + ' GenerateReport.GenerateInTableListWithProgressiveTotal("presentation", false, false, false, false) + + 'Generate a In-Table List with Running (Progressive) Total Report in html format + ' GenerateReport.GenerateInTableListWithProgressiveTotal("html", false, false, false, false) +#End Region + #Region "Generating Multicolored Number List Report" 'Generate a Multicolored Numbered List Report in document processing format 'GenerateReport.GenerateMulticoloredNumberedList("document", false, false, false, true); diff --git a/Examples/VisualBasic/GroupDocs.Assembly.Examples/packages.config b/Examples/VisualBasic/GroupDocs.Assembly.Examples/packages.config index bcbd2d5..e883c5d 100644 --- a/Examples/VisualBasic/GroupDocs.Assembly.Examples/packages.config +++ b/Examples/VisualBasic/GroupDocs.Assembly.Examples/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/packages.config b/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/packages.config index de52aa0..564bf1a 100644 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/packages.config +++ b/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file From 4bc4520e8a6d0c01f30097290944ee6119dc9bd3 Mon Sep 17 00:00:00 2001 From: rida-fatima-aspose Date: Wed, 23 Aug 2017 21:34:10 +0500 Subject: [PATCH 06/80] examples updated for version 17.8 --- .../CommonUtilities.cs | 8 + .../DataLayer.cs | 65 +- ...Docs.AssemblyExamples.BusinessLayer.csproj | 4 +- .../packages.config | 2 +- .../GenerateReport.cs | 370 ++ .../GroupDocs.AssemblyExamples.csproj | 4 +- .../GroupDocs.AssemblyExamples/Program.cs | 114 +- .../packages.config | 2 +- .../Email Reports/Pie Chart Report.msg | Bin 0 -> 45056 bytes .../Email Reports/Scatter Chart Report.msg | Bin 0 -> 45056 bytes .../Email Reports/Single Row Report.msg | Bin 0 -> 34304 bytes .../Common Master-Detail Report.html | 0 .../Source/Email Templates/Bubble Chart.eml | 3192 +++++++++++++++++ .../Source/Email Templates/Bubble Chart.msg | Bin 0 -> 314880 bytes .../Source/Email Templates/Bulleted List.eml | 934 +++++ .../Source/Email Templates/Bulleted List.msg | Bin 0 -> 56832 bytes ...with Filtering, Grouping, and Ordering.eml | 2307 ++++++++++++ ...with Filtering, Grouping, and Ordering.msg | Bin 0 -> 256512 bytes .../Source/Email Templates/Common List.eml | 939 +++++ .../Source/Email Templates/Common List.msg | Bin 0 -> 56320 bytes .../Email Templates/Common Master-Detail.eml | 945 +++++ .../Email Templates/Common Master-Detail.msg | Bin 0 -> 57856 bytes .../Email Templates/In-Paragraph List.eml | 930 +++++ .../Email Templates/In-Paragraph List.msg | Bin 0 -> 55808 bytes .../In-Table List with Alternate Content.eml | 1095 ++++++ .../In-Table List with Alternate Content.msg | Bin 0 -> 65536 bytes ...with Filtering, Grouping, and Ordering.eml | 1078 ++++++ ...with Filtering, Grouping, and Ordering.msg | Bin 0 -> 60928 bytes .../In-Table List with Highlighted Rows.eml | 1109 ++++++ .../In-Table List with Highlighted Rows.msg | Bin 0 -> 60928 bytes ... List with Running (Progressive) Total.eml | 1069 ++++++ ... List with Running (Progressive) Total.msg | Bin 0 -> 60416 bytes .../Source/Email Templates/In-Table List.eml | 1089 ++++++ .../Source/Email Templates/In-Table List.msg | Bin 0 -> 60928 bytes .../In-Table Master-Detail.eml | 1115 ++++++ .../In-Table Master-Detail.msg | Bin 0 -> 62464 bytes .../Multicolored Numbered List.eml | 948 +++++ .../Multicolored Numbered List.msg | Bin 0 -> 57856 bytes .../Source/Email Templates/Numbered List.eml | 940 +++++ .../Source/Email Templates/Numbered List.msg | Bin 0 -> 55808 bytes .../Data/Source/Email Templates/Pie Chart.eml | 2503 +++++++++++++ .../Data/Source/Email Templates/Pie Chart.msg | Bin 0 -> 227840 bytes .../Source/Email Templates/Scatter Chart.eml | 1683 +++++++++ .../Source/Email Templates/Scatter Chart.msg | Bin 0 -> 162816 bytes .../Source/Email Templates/Single Row.eml | 1048 ++++++ .../Source/Email Templates/Single Row.msg | Bin 0 -> 58880 bytes .../HTML Templates/Common Master-Detail.html | 8 +- ...List with Running (Progressive) Total.docx | Bin 14413 -> 14433 bytes .../GenerateReport.vb | 323 +- .../GroupDocs.Assembly.Examples.vbproj | 8 +- .../GroupDocs.Assembly.Examples/Module1.vb | 126 +- .../packages.config | 2 +- .../CommonUtilities.vb | 8 + .../DataLayer.vb | 42 + ...Docs.AssemblyExamples.BusinessLayer.vbproj | 8 +- .../packages.config | 2 +- 56 files changed, 23936 insertions(+), 84 deletions(-) create mode 100644 Examples/Data/Destination/Email Reports/Pie Chart Report.msg create mode 100644 Examples/Data/Destination/Email Reports/Scatter Chart Report.msg create mode 100644 Examples/Data/Destination/Email Reports/Single Row Report.msg create mode 100644 Examples/Data/Destination/HTML Reports/Common Master-Detail Report.html create mode 100644 Examples/Data/Source/Email Templates/Bubble Chart.eml create mode 100644 Examples/Data/Source/Email Templates/Bubble Chart.msg create mode 100644 Examples/Data/Source/Email Templates/Bulleted List.eml create mode 100644 Examples/Data/Source/Email Templates/Bulleted List.msg create mode 100644 Examples/Data/Source/Email Templates/Chart with Filtering, Grouping, and Ordering.eml create mode 100644 Examples/Data/Source/Email Templates/Chart with Filtering, Grouping, and Ordering.msg create mode 100644 Examples/Data/Source/Email Templates/Common List.eml create mode 100644 Examples/Data/Source/Email Templates/Common List.msg create mode 100644 Examples/Data/Source/Email Templates/Common Master-Detail.eml create mode 100644 Examples/Data/Source/Email Templates/Common Master-Detail.msg create mode 100644 Examples/Data/Source/Email Templates/In-Paragraph List.eml create mode 100644 Examples/Data/Source/Email Templates/In-Paragraph List.msg create mode 100644 Examples/Data/Source/Email Templates/In-Table List with Alternate Content.eml create mode 100644 Examples/Data/Source/Email Templates/In-Table List with Alternate Content.msg create mode 100644 Examples/Data/Source/Email Templates/In-Table List with Filtering, Grouping, and Ordering.eml create mode 100644 Examples/Data/Source/Email Templates/In-Table List with Filtering, Grouping, and Ordering.msg create mode 100644 Examples/Data/Source/Email Templates/In-Table List with Highlighted Rows.eml create mode 100644 Examples/Data/Source/Email Templates/In-Table List with Highlighted Rows.msg create mode 100644 Examples/Data/Source/Email Templates/In-Table List with Running (Progressive) Total.eml create mode 100644 Examples/Data/Source/Email Templates/In-Table List with Running (Progressive) Total.msg create mode 100644 Examples/Data/Source/Email Templates/In-Table List.eml create mode 100644 Examples/Data/Source/Email Templates/In-Table List.msg create mode 100644 Examples/Data/Source/Email Templates/In-Table Master-Detail.eml create mode 100644 Examples/Data/Source/Email Templates/In-Table Master-Detail.msg create mode 100644 Examples/Data/Source/Email Templates/Multicolored Numbered List.eml create mode 100644 Examples/Data/Source/Email Templates/Multicolored Numbered List.msg create mode 100644 Examples/Data/Source/Email Templates/Numbered List.eml create mode 100644 Examples/Data/Source/Email Templates/Numbered List.msg create mode 100644 Examples/Data/Source/Email Templates/Pie Chart.eml create mode 100644 Examples/Data/Source/Email Templates/Pie Chart.msg create mode 100644 Examples/Data/Source/Email Templates/Scatter Chart.eml create mode 100644 Examples/Data/Source/Email Templates/Scatter Chart.msg create mode 100644 Examples/Data/Source/Email Templates/Single Row.eml create mode 100644 Examples/Data/Source/Email Templates/Single Row.msg diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs index bf02ac4..ddc5cd1 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs @@ -129,6 +129,14 @@ public static class ConvertDataTable public delegate object[] CreateRowDelegate(T t); } //ExEnd:ConvertToDataTable + + public static class FileUtil + { + public static string GetBytesAsBase64(string path) + { + return Convert.ToBase64String(File.ReadAllBytes(path)); + } + } } //ExEnd:CommonUtilities diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/DataLayer.cs b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/DataLayer.cs index a31c95b..9987c28 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/DataLayer.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/DataLayer.cs @@ -503,7 +503,7 @@ public static GroupDocs.Assembly.Data.DocumentTable ImportingSpreadsheetToHtml() Debug.Assert(table.Columns[0].Name == "A"); Debug.Assert(table.Columns[1].Name == "B"); Debug.Assert(table.Columns[2].Name == "C"); - return table; + return table; } ///

- public static void SaveMdtoWord_UsingExtension() + public static void SaveMdtoWord_UsingExtension(String DocumentName) { //ExStart:SaveMdtoWord_UsingExtension_19.8 //Setting up source document template - const String strDocumentTemplate = "Markdown Templates/ReadMe.md"; + String strDocumentTemplate = "Markdown Templates/"+ DocumentName; //Setting up destination Markdown reports - const String strDocumentReport = "Word Reports/ReadMe Out.docx"; + String strDocumentReport = "Word Reports/"+ DocumentName + " Out.docx"; //Setting up description variable const string description = "GroupDocs.Assembly for .NET is a class library that enables you to generate documents in popular " + "office and email file formats based upon template documents and data obtained from various sources " + diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj index e94f988..2f353af 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj @@ -34,8 +34,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.19.11.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.19.12.0\lib\net40-client\GroupDocs.Assembly.dll diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs index 721d320..a1f3e04 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs @@ -467,7 +467,11 @@ static void Main(string[] args) #region Using Markdown File Format //Saving an assembled Markdown document to a Word Processing format using file extension. - //GenerateReport.SaveMdtoWord_UsingExtension(); + //GenerateReport.SaveMdtoWord_UsingExtension("ReadMe.md"); + + //Unordered lists demo for Markdown + GenerateReport.SaveMdtoWord_UsingExtension("List_demo.md"); + //Saving an assembled Word Processing document or email to Markdown using file extension. //GenerateReport.SaveWordOrEmailtoMD_UsingExtension(); diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config index 2f55990..3ae0da5 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Examples/Data/Source/Markdown Templates/List_demo.md b/Examples/Data/Source/Markdown Templates/List_demo.md new file mode 100644 index 0000000..338de59 --- /dev/null +++ b/Examples/Data/Source/Markdown Templates/List_demo.md @@ -0,0 +1,5 @@ + +# List Demo +- foo +- foo ++ bar \ No newline at end of file From 4cec8edcc542f9abd858087df32c441926f255e4 Mon Sep 17 00:00:00 2001 From: Muhammad Umar Date: Mon, 10 Feb 2020 17:05:01 +0500 Subject: [PATCH 42/80] Updated for V20.1 --- ...Docs.AssemblyExamples.BusinessLayer.csproj | 4 +- .../packages.config | 2 +- .../GenerateReport.cs | 61 ++++++++++++++++-- .../GroupDocs.AssemblyExamples.csproj | 4 +- .../GroupDocs.AssemblyExamples/Program.cs | 6 ++ .../packages.config | 2 +- ... Grouping, and Ordering_Dynamic_Title.xlsx | Bin 11350 -> 0 bytes .../Numbered List_RestartNum.xlsx | Bin 8806 -> 0 bytes .../Destination/Word Reports/ReadMe Out.docx | Bin 5638 -> 0 bytes .../Dynamic Cell Range.xlsx | Bin 0 -> 12693 bytes .../Word Templates/Dynamic Bookmarks.docx | Bin 0 -> 13292 bytes 11 files changed, 68 insertions(+), 11 deletions(-) delete mode 100644 Examples/Data/Destination/Spreadsheet Reports/Chart with Filtering, Grouping, and Ordering_Dynamic_Title.xlsx delete mode 100644 Examples/Data/Destination/Spreadsheet Reports/Numbered List_RestartNum.xlsx delete mode 100644 Examples/Data/Destination/Word Reports/ReadMe Out.docx create mode 100644 Examples/Data/Source/Spreadsheet Templates/Dynamic Cell Range.xlsx create mode 100644 Examples/Data/Source/Word Templates/Dynamic Bookmarks.docx diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj index 2d9eb46..84d1f96 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj @@ -32,8 +32,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.19.12.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.20.1.0\lib\net40-client\GroupDocs.Assembly.dll ..\..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config index cc3b29d..594b015 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs index dd97b14..b277ce0 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs @@ -779,12 +779,63 @@ public static void DynamicHyperlinkInsertionWord() Console.WriteLine(ex.Message); } } - - /// - /// Sets colors of chart series point color dynamically based upon expressions - /// Feature is supported by version 18.6 or greater + /// + /// Insert Bookmarks Dynamically in Word Document + /// Feature is supported by version 20.1 or greater /// - public static void DynamicChartSeriesPointColorEmail() + public static void DynamicBookmarkInsertionWord() + { + //setting up source + const String strDocumentTemplate = "Word Templates/Dynamic bookmarks.docx"; + //Setting up destination + const String strDocumentReport = "Word Reports/Dynamic bookmarks.docx"; + //Setting up Uri Expression + const String bookmark_expression = "gd_bookmark"; + //Setting up Display Text Expression + const String displayTextExpression = "GroupDocs"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to assemble document + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(bookmark_expression, "bookmark_expression"), new DataSourceInfo(displayTextExpression, "displayTextExpression")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + } + /// + /// Insert Bookmarks Dynamically in Excel Document + /// Feature is supported by version 20.1 or greater + /// + public static void DynamicBookmarkInsertionExcel() + { + //setting up source + const String strDocumentTemplate = "Spreadsheet Templates/Dynamic Cell Range.xlsx"; + //Setting up destination + const String strDocumentReport = "Spreadsheet Reports/Dynamic Cell Range.xlsx"; + //Setting up Uri Expression + const String bookmark_expression = "gd_bookmark"; + //Setting up Display Text Expression + const String displayTextExpression = "GroupDocs"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to assemble document + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(bookmark_expression, "bookmark_expression"), new DataSourceInfo(displayTextExpression, "displayTextExpression")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + } + /// + /// Sets colors of chart series point color dynamically based upon expressions + /// Feature is supported by version 18.6 or greater + /// + public static void DynamicChartSeriesPointColorEmail() { //setting up source const String strDocumentTemplate = "Email Templates/Dynamic Chart Point Series Color.msg"; diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj index 2f353af..edd0dfc 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj @@ -34,8 +34,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.19.12.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.20.1.0\lib\net40-client\GroupDocs.Assembly.dll diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs index a1f3e04..78201a3 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs @@ -535,6 +535,12 @@ static void Main(string[] args) //Working with csv data sources //GenerateReport.SimpleCsvDS_Demo(); + //Insert Bookmarks Dynamically in Word Document + //GenerateReport.DynamicBookmarkInsertionWord(); + + //Insert Bookmarks Dynamically in Word Document + GenerateReport.DynamicBookmarkInsertionExcel(); + Console.WriteLine("Done..."); Console.ReadKey(); } diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config index 3ae0da5..45310a7 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Examples/Data/Destination/Spreadsheet Reports/Chart with Filtering, Grouping, and Ordering_Dynamic_Title.xlsx b/Examples/Data/Destination/Spreadsheet Reports/Chart with Filtering, Grouping, and Ordering_Dynamic_Title.xlsx deleted file mode 100644 index 2ab56fa1054c1c3dc9f8b7d4ba887b0e61c23360..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11350 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 diff --git a/Examples/Data/Destination/Spreadsheet Reports/Numbered List_RestartNum.xlsx b/Examples/Data/Destination/Spreadsheet Reports/Numbered List_RestartNum.xlsx deleted file mode 100644 index a9b840b4797477ca593374175509db02c1252144..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8806 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 Cx10+A literal 0 HcmV?d00001 diff --git a/Examples/Data/Source/Word Templates/Dynamic Bookmarks.docx b/Examples/Data/Source/Word Templates/Dynamic Bookmarks.docx new file mode 100644 index 0000000000000000000000000000000000000000..e94550cc1085e70cfcc30e8574b508377566c944 GIT binary patch literal 13292 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 b@PBJ(83_oWc>Mfe01nUv^f}%#{yh4BX*>qb literal 0 HcmV?d00001 From 3216e422949d5590435e5012cb7c076ee8d84b04 Mon Sep 17 00:00:00 2001 From: Muhammad Umar Date: Mon, 6 Apr 2020 18:42:58 +0500 Subject: [PATCH 43/80] Updated for Version 20.3 --- .../CommonUtilities.cs | 16 ++++ ...Docs.AssemblyExamples.BusinessLayer.csproj | 4 +- .../packages.config | 2 +- .../BusinessObjects.cs | 3 + .../GenerateReport.cs | 87 ++++++++++++++++++ .../GroupDocs.AssemblyExamples.csproj | 4 +- .../GroupDocs.AssemblyExamples/Program.cs | 12 ++- .../packages.config | 2 +- .../CheckBoxValueSetDemo Out.docx | Bin 0 -> 10632 bytes .../Word Reports/DynamicDocInsert Out.docx | Bin 0 -> 10784 bytes .../Word Reports/DynamicImageDemo Out.docx | Bin 0 -> 15558 bytes .../Word Reports/List_demo.md Out.docx | Bin 0 -> 6101 bytes .../Word Reports/ReadMe.md Out.docx | Bin 0 -> 5696 bytes .../Word Templates/CheckBoxValueSetDemo.docx | Bin 0 -> 13243 bytes .../Word Templates/DynamicDocInsert.docx | Bin 0 -> 13013 bytes .../Word Templates/DynamicImageDemo.docx | Bin 0 -> 15916 bytes 16 files changed, 123 insertions(+), 7 deletions(-) create mode 100644 Examples/Data/Destination/Word Reports/CheckBoxValueSetDemo Out.docx create mode 100644 Examples/Data/Destination/Word Reports/DynamicDocInsert Out.docx create mode 100644 Examples/Data/Destination/Word Reports/DynamicImageDemo Out.docx create mode 100644 Examples/Data/Destination/Word Reports/List_demo.md Out.docx create mode 100644 Examples/Data/Destination/Word Reports/ReadMe.md Out.docx create mode 100644 Examples/Data/Source/Word Templates/CheckBoxValueSetDemo.docx create mode 100644 Examples/Data/Source/Word Templates/DynamicDocInsert.docx create mode 100644 Examples/Data/Source/Word Templates/DynamicImageDemo.docx diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs index b5ad2fb..17e1d84 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs @@ -19,6 +19,8 @@ public static class CommonUtilities public const string dataFolderPath = "../../../../Data/"; public const string destinationFolderPath = "../../../../Data/Destination/"; public const string dataSourcesFolderPath = "../../../../Data/Data Sources/"; + public const string imageFolderPath = "../../../../Data/Images/"; + public const string docFolderPath = "../../../../Data/OuterDocuments/"; //ExStart:LicenseFilePath public const string licensePath = "D:/GroupDocs.Total.NET.lic"; //ExEnd:LicenseFilePath @@ -43,6 +45,20 @@ public static string GetSourceFolder(string sourceFolder) return Path.Combine(Path.GetFullPath(dataFolderPath), sourceFolder); } /// + /// Takes Image folder name as argument. + /// + public static string GetImageFolder(string imageFolder) + { + return Path.Combine(Path.GetFullPath(imageFolderPath), imageFolder); + } + /// + /// Takes Document folder name as argument. + /// + public static string GetOuterDocumentFolder(string DocumentPath) + { + return Path.Combine(Path.GetFullPath(docFolderPath), DocumentPath); + } + /// /// Takes output file name as argument. /// /// output file name diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj index 84d1f96..c9b414e 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj @@ -32,8 +32,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.20.1.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.20.3.0\lib\net40-client\GroupDocs.Assembly.dll ..\..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config index 594b015..de03769 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.ProjectEntities/BusinessObjects.cs b/Examples/CSharp/GroupDocs.AssemblyExamples.ProjectEntities/BusinessObjects.cs index 8049102..8c39e61 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.ProjectEntities/BusinessObjects.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.ProjectEntities/BusinessObjects.cs @@ -5,6 +5,7 @@ using System.Threading.Tasks; using System.IO; + namespace GroupDocs.AssemblyExamples.ProjectEntities { public class BusinessObjects @@ -37,6 +38,8 @@ public class Order public DateTime ShippingDate { get; set; } public IEnumerable Services { get; set; } + + } public class Product diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs index b277ce0..6f35633 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs @@ -6817,5 +6817,92 @@ public static void SimpleCsvDS_Demo() } //ExEnd:SimpleCsvDS_Demo_19.10 } + /// + /// Insert Image Dynamically in Word Document + /// Features is supported by version 20.3 or greater + /// + public static void InsertImageDynamicallyInWord() + { + //ExStart:InsertImageDynamicallyInWord_20.3 + + try + { + //Setting up source document template (Email or Word Document) + const String strDocumentTemplate = "Word Templates/DynamicImageDemo.docx"; + + //Setting up destination for reports + const String strDocumentReport = "Word Reports/DynamicImageDemo Out.docx"; + + //Assemble the document + DocumentAssembler assembler = new DocumentAssembler(); + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), + CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(CommonUtilities.GetImageFolder("no-photo.jpg"),"expression")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:InsertImageDynamicallyInWord_20.3 + } + + /// + /// Insert Document Dynamically in Word Document + /// Features is supported by version 20.3 or greater + /// + public static void InsertDocumentDynamicallyInWord() + { + //ExStart:InsertImageDynamicallyInWord_20.3 + + try + { + //Setting up source document template (Email or Word Document) + const String strDocumentTemplate = "Word Templates/DynamicDocInsert.docx"; + + //Setting up destination for reports + const String strDocumentReport = "Word Reports/DynamicDocInsert Out.docx"; + + //Assemble the document + DocumentAssembler assembler = new DocumentAssembler(); + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), + CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(CommonUtilities.GetOuterDocumentFolder("OuterDocument.docx"), "document_expression")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:InsertImageDynamicallyInWord_20.3 + } + + + /// + /// Set checkbox value dynamically in Word document + /// Features is supported by version 20.3 or greater + /// + public static void SetCheckboxValueDynamicallyInWord(Boolean boolVal) + { + //ExStart:SetCheckboxValueDynamicallyInWord_20.3 + + try + { + //Setting up source document template (Email or Word Document) + const String strDocumentTemplate = "Word Templates/CheckBoxValueSetDemo.docx"; + + //Setting up destination for reports + const String strDocumentReport = "Word Reports/CheckBoxValueSetDemo Out.docx"; + + //Assemble the document + DocumentAssembler assembler = new DocumentAssembler(); + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), + CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(boolVal, "conditional_expression")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:SetCheckboxValueDynamicallyInWord_20.3 + } + } + } + diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj index edd0dfc..d89b885 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj @@ -34,8 +34,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.20.1.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.20.3.0\lib\net40-client\GroupDocs.Assembly.dll diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs index 78201a3..a4407ec 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs @@ -539,7 +539,17 @@ static void Main(string[] args) //GenerateReport.DynamicBookmarkInsertionWord(); //Insert Bookmarks Dynamically in Word Document - GenerateReport.DynamicBookmarkInsertionExcel(); + // GenerateReport.DynamicBookmarkInsertionExcel(); + + //Insert Image Dynamically in Word Document + //GenerateReport.InsertImageDynamicallyInWord(); + + // Set checkbox value dynamically in Word document + //GenerateReport.SetCheckboxValueDynamicallyInWord(true); + + // Insert Document Dynamically in Word Document + //GenerateReport.InsertDocumentDynamicallyInWord(); + Console.WriteLine("Done..."); Console.ReadKey(); diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config index 45310a7..5077b5f 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Examples/Data/Destination/Word Reports/CheckBoxValueSetDemo Out.docx b/Examples/Data/Destination/Word Reports/CheckBoxValueSetDemo Out.docx new file mode 100644 index 0000000000000000000000000000000000000000..2158558c581639dd938041650331cc17c774f27b GIT binary patch literal 10632 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%0D81ov~}Vxe`}75vJ%o;SM=0E z8`hbQ`B1GuWQ#^Znax|EilvJt3t2K?Y9ML_2x6CsS$(~wi-Fc#Ob}rx*fY7Gx>+&~ zm7RG_UtvF|Nxr^v{Rxip1Ggfsb^8G$U01`j)`_W+0W}upe2oLlJeBP^Fdg?kK+Bk5 zHFP{^!5RvO6Z*xD)H5B!5UIE)BO4E)!GT@SmHM2~Qa81bgYz_h1aB9e45pmByxI@9 zV7WF!n^nE_%cAM@=+!KwAf;(}#caD?EIn-25)!X7ZY=gA$wk+Ev?%*H98<+3)6MJQoEeLPGCMXmp*RLU+(TM`0+ zQOrqD0uy@eulF1IK+_jK^tJFq@)?-cl5@ekwWfp)sEFClGD@}e4X7?mOgrHkH=+^p zPvh7HyvH+uupU!`c#=^jrAS)^d>=7#z95|tp4HBIpRNLOqj~LyJBUD`qkWi(+CgV1 zS5}+vJ`eCf(wHNmjFsZP%?S-*z$gUQ0C|&!#s%IcXr(Nnc8yB7$adxH$2=S~{E0b~ zIC=&`qdfBTMnq+Xh+(ad0gJU(={J$o-pYQ?`%|A4EE+VJ(k2L@5}elD=ebnm)75C7 zio$p)bx)Ime8phO&Rr$9kE=YX$i*aDXwLQ?96zv7=fSHhWp&m)YRzOPGZfiIb{wLn z$;Cs2O;`hVPG}ymYT(*3tc%~#a3fYqaEwvCBeTA9k=}0a7T0D-wM%vJg06U& zTT+tT188;SO(x^NSV#3L0Pst{L9y&9G0MC5PkBA7%B{dX{9TYzPdVe+|C0Bt;R)bN^zI{2m6|T(s6DJRVhT+F`K4^(}6VBf>cF`M3ZjZniWWX#(ty*IcuU zMVa5KdiyjN#bW9lAs(pFgKNtAk^YMKE$E_IzRP7K+n%Cg>^Q~EMd|@Dx>YLo=6MbW6!N1 zim8PbQx=CwXmV5r2*d7c(R|qx;L`;iK0hi_)&j$>NT_<_GhPDm)BVCN!&$Cb|EF5> zw{6tb^+*m~GauR6vA(_x^Ylp| zQze{*q2ApYr`w6gj)#w8irm&O0(fK<^fz%4Xz#CXVGVOF01wE%5+HW3&U^kSMJ)X?fX7% zp^Aj|VphL)?s{ty(RpCDT`zDCTNI`v6QKd-wtVS8cnhdx};JW?|?G;T$g08He!Axi!)MgCiiuW<9O zF5zZ^HK&}^g=ASGcLn#w?!VJy@p$*SX0ZjJnNQMx3`G;pQEIKGren&?%VN8Y{Q}kL zKn4iiNt+}E8EY_%T39%|Sm-$`)mPT)Hd|1YTXOw2)pbdLfZ4_=7*ZzAPTpA8F#aVv zhbzk)@k>U~SXqDPK0XOaTZ#?Es;6*Xs0|@LB}!zF78b~7%2`e6LQmgZ`YPuzeX~fe zMZ|`F&g=M^_t~1>%~bym$;BSODtyiE_Re-pi!Y6u%T-J=5QqdlZppdlz_jvE$W2Ht(V15RRCb9Tk|50r z82Rsj{EhBvQLMSJDiV<%JNKjXj;|+XUbcTD`@Uh>(u9tbn6lHdunk$g!RU}M%1+@x z?=g~3I>`nm(CDO6w%X7^*8WPu?~G!T+DCNO!&%Y)#pi(vgk>>LR_?tziSl$>l*y(3 z!LvBN-dBz-W@+itiF8hd9whRy037b1@Z81J^Z|UnIaM}Yg2{o#%I;totgmolaa(i3 zZ$?i+8_x2WmT2k*1|IzQwJjW<`84)su9Jw`rI&EP*7?M>4 z3roGFO5xyLPy1~poQIs+u3`v>B)4&13RB{Th(}Y5qPVIoVdp-~?V8IR`=(J-#?E_8 zgl*N5bbGfoeWO2WmVjyAiX!V+{yP@xgv<8{*-cLp+_9mfVZdI+X7@@tz@D%$ty+93 zQ=OH@XYC5BKn4;!6;0`hr5li(!Hf_fklyLbz!ngg3#{_(lDRm52tD3T+ zlqJ-cZ$)q0u}}WPH9oE%UwR?q*V@O7`{O46LvCd6y0Wc%?@M7AmvNI;`w=C=eJi$0 zh%5%u1(fLws;n?Iu|u!T)3gq-ma2Ikudh^MJPc*EN&gVk6D{!Xx6~P$^iFiJ-g_b| zYdyCCFRl1B!m6m?Yk2O>H?X|rj)S0z;b-T|y-w5bc_&BEO0hL>QY8}-KwW@&M5_pO z9cB0P)%lq4%3MVFh4V8l2mj`KnRn9ywKg^GarT(_HUh_c#Tp>b)KcnL=gRGr zv+jfaX*^6WJ5gsK>FppgvlZW|17DH1m~9^K50XVd+0g2V28ZdEN^H{q-7K*kw&+M+fq1 zo1IL=dU;!THbZ#TG>sZx=!Nsk(Qz=*Q#ngRf(7pn4EI5f^Wzuh!SUp8u3#eg&^o>j zNJ=u9q`wI;I>lUYMP3{k#?A@`$N~vY^tKG-^WDaVIlS_($2-p2Ze}CrBZVO<`kN7{ z^vDZZobbLK60{a|zu^Wfa)f|fqlTM1HMS&3Nx0#4=khzc(k5rkcz@*3>2E9~{G)JJdJE`}QT{&|J zzSA>EwCenXs=;XcviQh?-`(i}?nzbaCu?w63vAjE!ENvWd`oRd3-~!WG`UY|0{x_} zNP%$5;f5i#cu(-(OZ>?@v60=+-Md-n|2P+RFmiM>vo>+~o4TN~7Q4!Z>5Vq{NW*7; z6<|1SM${I4E*RIy9$pPrJe)`pa-S-bRgU46-zoTGZP*y)nr z25)fvLqH25&58M7MCF3*UY(C{T4iI>sk>$wR7fsB9(}tqQ9q}{GTSR!(=FdV9I zFWg&YV*-;i4&1hl-OqlwFgwt#)N4fX<{N1eVb7+hQ$832(veU(;<=!bQ|a^KAYXa> z7BRH@=-=s3jfp8g#}+Mic6YO4x0aS^g~7)+gE?Yb2Ed0dTKiIhDAUYfv5M>JxDZ|GWGg8iMeLGij zIQc_S*E>gG+Jcxe+oN{pXHk(}KqvQ#aCjbCU}k`=`BqF~!@h4#bz(E)0pC10mqu`; zwc$6PB~#gb;EIFTf$rOY?vOng!v;)x74?NMbCQNEPy59UXjDJY3D8OyU^ z5Dx4*sxx+_y(QZXw`)n8&FRAXg$!oMtUb{2Lya}8#yp*ku{>X(xR1o3c5h)K=N#@l zuL{c(xB+hsH#3+{k`=DaO3ft4S+eQnJZ!qy3H<~!a{VGb&^>6QHXJ5;|1SMDdc8K{ zc6zv0;{dF96Ib2HdMq4#{Nv~Eks6w7d$%!pNQ=}$$u%vyBvJL;8rm<~*EsGjH*xew zLMD%|6i1{PaNZ01J(4EDC9F8Vu%TO!C}#J$q}!Bq#V5 zdwg8lbj>Y8Gh#&V%+2_5>}J0im4%Sc*v4!mMZ5Gh<^fdQ&5u>RyqOyl(rD^6WSvK;cp# znlnSy(rV}5MLEwoqXBDy!YoK0oOE_lS_W zl1do_3jlC>0sx;i-{g!6))xyw$rKjdq@DfB9su4!?oQxU!vATJ%m8~NC66hxaR+Oew6L9PI}O#N zznmDnB4QAP$v#hcAQgnvahimjzF_!^@yCaH?cp5OL8kC@PduG4Nu+jd(}>ffWbux| zk2MPEIPa>QS9ChY)i*wkKJG2%JcRxjwdtza(q~9fPOFSF-_2jftUfCFHJq2HQ*|PJ zBCT^^J|~z<4^G3Es$)K;XJ^~@CZv7&V^+E<<@7XYnQ4EvZIGNq1kQ7RG;X) zT+9fuxP$q}S~J^+7!*#DJ`0dadI{-P_#>8y>!5H7X~V8nkgUeQkk6n zva40dPv9JH0MdFYoK@;Kg(PWm%x_df)8gThA-3sCc&ZcZmI;VOqbJAEJ=$W> zxyKl#wUMQMYb#hvg_S`8gMrG|YAox>fbTXhq(*GUB)q>;yR2PedrjHSZD>vNY@pC{ z6g!ZSg&3Zc%b}`{XiK#$Myxu=;D;>e07(ToK}12w5}fT_Oew}D1r}*u4~@H!jmA-0 zGlrL7dG>j;{MQY&EvUicQIW6A%RSl%rrp6M7b286c>0ShQk(^dpLj9H@d;0LGVg$8 zhy8rZxv}+I^$gs1sLKI2(v%Y_)Rh|@kI@DmTmDf8Uy7s7UW|J1>Q!;@?N6vwEK zG}{jSkSqYWK9Zcaj?2YL>jxt*=y=r6`8H1I6atQbu&}kE7w$v(a%J^W@Zg`WWV1>E zj?+6@J35^=13E8rju`YtE4UqqceF+F85*umAlA~y4+;&DT~l#}-kNc%33qxK$7JE4nDu@mCANeMSqyCn81nNO0tI!(rd9 z!A`NFpM^0aIcA0$rr0TnsiI}TJ>S2wV)s=1b$R>B8DVZGmlyMdbKdK7GAkb;dSH|K zA8F17UWaa9FvWJGgmJ{PYLN6+z)2!C*aE5UcVMU+$`!e&T_WocZ@+#?W-Ow-w+<(m zV#YZl+;O;=hr1pFp_gD-^cGYgou78^S_+YXA3==Ch=MH3xL8(LZph=<+B`0v z)YTr)_|EK@MAT$`?#un}ol|NI+qx&AE0t=NUn~Joddofd-gr?cn+f^8@&rG8rK`*h;Eu?q+$mj_ z*Y)|;Da(YKInQI2iTUaYW)gMy6%6RFr1Au#Uw)&S zrRTyw!)!bfvduLZ)ZD)r-Eo7D(IwKUpwXzpDewSPYj10Zf)e-BgxDgP#eU zpfTDPL36k}nAY%rp0m(|!aP6kMc2R5`x^r5xjgwCL<>sThYno+nf+J#r$`W-&yon_ zFCj3Rx;7Y%i2na8?4jA_|En$-tmbO42WLGP#?Q8WR`i!N+5aDv)w`S9iOk=9>t5cW zDZRe-vvX0IshGMSnm;Y4^izHqgH3Y`{tk70#==BD*}DmBtyDKJVm|ic1ilH9*4#KQ!Axf`lJT4{W_{tblswG zxqp2-y{L?0cPs1peEAUg%Oa|FT`1(*!cSgGFqmIzIR3p;sD#3toBL z$%U$q>HRqN&V0D(y&Q#lN}gW4SlyPt2s9=>QRM z1&44p+9kI-4ks^aFpbA&se)ZIurM_|(!WZVDd9Q(DU$oX`&mW(4x+CLF7X*EL^^(` zP-4eU^g?MfA52{yhs;qbuYHC}ov_RztEAyzrTS{TDyzfVO=(ayZB@2m!Nc%PX=TRe zPY`C#txGiql~ExX64YUap|4LdD&eSYH&Q&#Ia*wvYY$GA#w`$DU7xBN(N%HoBMI71)|E!p zoCYX2KvX(wC0tsXS=8%Gq!CzDw!>iZ45kIn6I5Cwz$BX=Da|c)-V$}5M4;NWYnp$% zbF=Krm{jkk-Ezc`S=RKKvb3ap--u5l=%F4(KM8Kz`x+tk?3@3(Ym^wOpQMjE#-6h8 zaV%?Fv;$^RC;y~(31*V!5cAPHyWW(2qC;srQ}>oMY_&PLc-6?kZnm6`V1IqcHS*zh zV8^;M$MoD(6;UQw^S;__<#|vQvF0Y9?(Xu-_He?MZG(x~U6K-WR@3-nbA!nX&t}EV zP1k9^GYX?w0sR2Ii{Ip%+(4DIDgynWp?ZWo2FeYzW(m)tl?9@@8r%_dJ5`s=ke-AQKe z_pW!1X2BxwpM65GTou>2-?mAp@8sJ!NLE*7Uh~=@M_CD0gWj)uT3uA3jhT{lni!CL z@}oDti*dsj-VWL#v7*G*hgxj|LrjOQWzYEnm4o<4f2Pqa_76gl)P_(N5|k3$%MY>` zZ`;*P`1{?rjCVUVhViwm2$4wJD#%TO)3TLgOHWJ8)18XWCE_qI{4z#7T!n1c^~=nV zStFAl1%a@i)=%8%(-#Iy4Elw9@k{QhUGM7a6H__KroxMNE%sGq)^hX)5K5ZiN!go8&;yW}=`4DmT6 z1wUjh)-5uYGehkhKO-97{vcznG|B;1bsV2Jp|n3SkzTf$#>xSceW1LI`y$%Uh|2gVB4C-pTC)v6g)#ii z$^O{f5WNh+hu!nu$noyxfrHKHc{b_zSjW@T+K((Rqu1LPS({AnqM9ri02 z#0B5>JY$E}zaFWvH+3ECUl_vL$vRTKK~l3kQa0lTa`eo88(M}mh*@nP-> znr)U1XCu~#yBo=whdGbNd}Ufd0{ubVxYA})kF`*8xn+O`%#=G4f69Mt2lsU`x=iNJuJW22YpBk*VoPDaQk4HhkmU!x6je8{Npa;9nx)`!RTI zHzcT04e8>@`!za0kpd`~9#ZCGbx+{M*R~+yQCnZ|dqUebJDM&9v1cK^aWQST()y;f z5)?W9td?;L8~a4^uRC(m6-+@>|S7S@!&A?9^)VxCg7FVO~B<3ny<=K z`)E+oTC+rw2|}%a;MM~3dCWERGmD6ayT%-7lCT=K+RhKGx)$_&6E6rTN>h>DY5X~p zQhy=#4XUi3_U@W%KlEd=c1Ymh2*mKpV@yDwzs~CUClyLLaA8#T=yZW5V#<-o?0I~M zbiKWh(_G~*Ic;ip{n++8V2v`b_OLRq>|WRVU1qok&l5b}D+8*GT*F%JP1NnhGVH8t zpr^aARQOcV7tBc{xVzfImU6TAM^@<>@6K{VI_i`$2~m1`poH;KSIVh9`zWuS-XcCB z!DHWag?8%NTCwg8g1c;H3q!%NV5wb5y2Clj=IFe$)h#J+aYIMM97ZVv6XpQ@N-osF zWGIUCal!RtKt{iZCBtdM`GA8oqJaGZLf}#^!6*yoX~m)n!d2o)oeISbXuH($ium3a zMR5*nWY$AVQp?kJH5L|{lZQ36cn59Yz7c_A61%AkMn7BsX#9Nd)Dil2kBdw?roz^< zP-8c^M@vyY{~|Qx7F$K}yzbgy-_7Ns23nc3n6`rf7eiC+RJ4MyqRnGQU1 zDA{&%xV^L}T7w4D6Fc7!nQD$uNDNv#sTz27#`TuDqZA+4 z1&;;j%+PTO8+vJ+?Sefc6Y@;<%^bexb)GF`Art%{+$&zVpU358E%RCBLx=3QU5aRjDF>AVLn}#_@h4#pK{b@mvj#Uzua@XRqlV{b& z5ie83F6>z&?q-GaX+i1v3t5wS!QE+u!bF9VhINJVWow0)gJ$0-#s|!;aeL#(A8fqn z-PbpyPqHn@Ct>uj=)=E5xLl0%75`(mK4E4;0)!C}u%)VQZ&OE0RqLpUC=dD}aFtnD zXT=Z)#jL*cY>xjI;n`7BvtP2qh$$s1W&D$6Yxoe<=?aD}mZOrVR{{;0h)zdiu~2Ai zTL~@xg(kcR(4gU8yy7^kj5nS|Snw(nY6)60y=b1GP+pJT2F${g4@pFhqt8Ma+&*vm zyC4EY5>wjV;qbf0shxUe30~h2#XQSoFWCw@QGTa3^KTl3=!CGFJf|U3ylY}6b;Oa| z>`ix5t!3uCIDSN~G1B>bJ$&OOdD;CN`IW3`0-w1Lpj}>{##VK3edb3upq4md1M@nN z(2*REVCo&1LKz>Jj+QC@8gIxcm!`F8SK0O5xBD-%U2N=cpL|;&VA{Xc^?wi6{M6%r zy#6ntn|})UGqUg>bo{4n{v*!tPvD;sc>e$kJ`MVR#N+)5|1-YfA9&CwdH8>s@BfN+ z_!IpnQ~n>c`)7FM|DylRoBtF3C(rvI_{--`@!xI#e_?(9Dd|tf^FNZf;r}J+zxdC8 z;{T+i{)1orjQaSyCI1IO^-mdpo_YNvql55YGXC=f>`(Zg8|44Mr%3+||KIKMKf!;x xs{erf82<(S({cS%#Gm89KO#&y{w3m%Q9(`;?9)320AN4gV4sJ5Wt@NA{XaRayGy!bn4w`v>Fy3G0qG6_1su8&kWfNULikV`>29PX1n%hX z`>x8p&+o50&vRy6-02mk=k0hH-cpcNRasU89VAb|n^+=JgW zl67(Rv~u<|)%J6>@_=&sIyt^dQ`P9EniSY{Eo1RZzgc8(tD_hy1R6)|`vimjGiPDcS~Ik5q7rbz*4+D+55xK0KL%oDRr)tPgy^ za$YBiPQux_b+RWQuw|L7N(PAfC8%p~1KA-3TV-(vg7x;mHcgZF7lLNl3 z@+%HUCm0^Lckt8d)&*J_l@`(wt~w{l?gv!@#@)~N_BOc8Fa7Hr&UNOqYtI(+f)PM} z@PH@jI=Tt>KNt}Jz=V&c?pBT-T%14tt5OD4WTmmBLaaW#5o#uqEB@@ zWjz5)o6{riqZhPA`DdHOqPRKLN+PD(t*=eC4t6Zf9%#yJf|mwmOeq!V#Qh@1nf`Q0 zPNo&!5IitZ&;S5@xI=tg+#hj0aT15BE=UtL2KeF z=#Sg4@Qq3JE{L!xm@}dsz`ms-HWm@}nDN&^*Ccy!jU}+W(&0!Dmv^p>-N1Y(3Ky+* z2 zd>&XDo{;dqtE2_&G@?bYG7;J1Qb=j5*p6g$D6O+5 zt-NygIx=WfKyG!N?RwZ$Y0Sm$T?8J z_R|d+^QcA^C+Ph@G{%Y{DXHT)313rDQvq+39$dln zO4?wEUU?U@o0hYM0eAUNk#cD3YD}AQyKF z`X;1xuV14VpN{One^mPw^It4A@%IDV7NM{4QR+MmHRjE^hLtSDJXsqD6ay0_%^rno z(&H?U*t>Zv72F{9uULB? zXc#;vT8tp3yvMJD6vA%VcydT1F<2q1rJZG zC{u=`JlK7t2aS#-oNWmmQaPed@;Tadm?zW1hf3{;_ykZUSgdT~4M)fg`^C~xF4?Bb;9BQ zre21Cx1^1k$Ez}l=sTl<#p9$&$_Z7`cJr^_6)g#dbG~reS%hz-a#G|=^w~~WG!#c3 z%pzL0es|$VvHN33QHn(v6 z89ng{UD(~+c*sU|`^Pje9=%*5 zD&rjynFd?t3j|P8m`pnX%Qhji`Cfgts?ZFEO2mh=H;GOg;#Jv{v11i1!9o3~h%cYu z{<#c}M@EGQ;7MqO^tUf@_HweYa<_A~`MC*YD?86}6Gqk0x*AQ9i@(DwM3xT+aLhcH zLh`J7Tp#0(r=$|w+@Y5Empq9CxEf^t+_B_UAuIAsWP5V&?N^DTRH|#F;O}3Lk1ijZ zRfHPTC?G8kQ<_PWHz1EX0o=2P1v?3NiVPPb|RawTp5NH<*Lf`WMt&p_)orVER5$@%y2Y{ zj+@iP%AfK^CMSuv6V>|1(4r< zD~V1~qV%ajq~2S~W%RMpsfH|KYwjSSaJz=B_u4y_+(9#`(Mxm+{)+}us`o;N_@B)< zapfyehrgHWsZtB&9d{j+za^XBv;=iDE=^c-XWO-;e-4Qdx+GOwxxe3yOv8uW+`9R& z>3$Fv)jjNH9)tnyo~q1iMV}vU{f2E*AUwlrQ#0o^G7YU^I0U!tP@?}mUd+b0*mj28E%%7n z!x4#W8|rHzw^PhNBcDttI;t9;{FmYR?%&myhn1%%JnlVy?!gdMc;Mr8#CCSj87O~| ziB6GkW&R5{ww2^Liwdobd-T$W@_<*I{>3IQ=nUep2$|#TWrqWfsn%t$Z!UJ0w%Qt| zwJiA;9qKw*KyNaQMb$y#nA zMkX}O9D&Z^MA(8cGr`<^yP$1-{9M9=<9X`42i_M3M>u1PjV0~uvCxDW zm1TEJ7a29@{gAn=-PHcCrs@=V>V7LtEroOVwSGFrka>D^bd~oXQoRI;Yy<0K&d3Y+ zPDd#~%Uj)#3};6-c~)fWQw#XNXiMTh1W??QE?S;GgfPcO+Ig~}sV=OVYvQGxt7rS- znxfX&W@R2p7i}z$#BDRE$diAQW>qNYx)-KSj2(#Tk4lmxW-{a(EdA+XII%uv>xd{c zrB?rqL8>V|>(i?;ziZ_v?sOjAC(cHg4z2l3VY17m$>+RiPpXYu+}8*AgwVk19*etc z^%hp$oJY?0yxS~%fNe%~R}phHQ=H~)z#YwYM2GK~E}~GTb`%Hmv5!~jx0ou&O1JAP z)PIs|xtQ*Ng9-pNhyVb%|0HM+Pd`VipVU_6&Vgrz2}4bLR|0Y#rr^Qs&=4K7%~_nx z&J63)^~34>7$OVa%$V%b?XgvUR}FLW)TpYEi}jN1SG-vrQo6l9KG>+?nw<(L1oL!l z+$=&CzA@v zA}!Y}7eoMDTW@}qWK^iGM{*vt@jW%o@6-}o0ZN^@_tNDEwlzCtC1%M0wft&%^df+l!kOuE?`jv zFGmRJ(9%cA^qyp**w;)AIuCL|uH}|rKcvvr!PKdU11_Ycr%_9=5kGSQonMOO+47?7)7T4fcZH!RfZwYf1$Fd7VsPp|8>zQOOJ!_J)f z&i(Bw*yO@Bh$%Zs?d|aObY-dWCyuMW?j#srMSGGWdvS<-+CygYH{-W01MWt0Snm>Y z4|@9fRjn(#2Qxz%x72vvy4MSA&NfOvGpRZgHaMmX*ikq6nvkP&1Eoc?(#YY)XV~gl z#I7vPru$UO!_C?EK|0P7ji(RCLXF~GmT0uwGEHBlEEY#tAn|@P^+!i_`_KLJ#exC5 z>h`I<@Dm~U38ZVjIKwX>)v$0+-QMrIMOmuey=s(H^8S8yLfN=-c=aXQ1mZ!0QhhRg zOuOf3rMVQw;LBcMkx`7A?gU5m}>llO{K=zUnDg#WCW_5(UB4-ks~%o8zg z7trp-866lQVFURNX~(Ne+JRyT_7dK*>tRjN9430804^+ILo#q5ZReppzDPvNu09WJ zHz0c4RkEsHgN`N1b0G0FbSd@3qy=4H@t9W07v;8CQ!SnAZB~@QLisn4!=!?f5W;2O zS4*bG>z7_rr!KbwlWA<*U9LqYN`UvM)gA9mK znI~PXF*HjOLA9Z9!^%R{#i8GL1IxGBSODRg;2;JRvqLg_BV`2cz?2zXFkom@1%qZu z?~_70l2U>;4vh#{By?424UmGAKFflmgA=;MF4IdY!inS_6>I6U4(`bXaJs zEfN~hELSw}KQqMiznM{Mi4cs+mu|OnoD<0HHkHB5Tt~XB*$PWJ0@Ml=vDHz~Ax?WS z9lyp)q;h1tD0RvRHE<;2OLm&~t3oLV9y_|Z>b_E_xDG_a&cy+pF>%wc5cf_yZCYGMDI1d2Gaf%EIC;PEbg*8` zKwI@8t2@t_bbN;oF$-OFbbpu6{FH!(DSy*Qrrzh{>Ef1ZVVN@}JNMka0oDbaw5m-* zCBBFyH$jxxW2@9p``EPsd zAi)sR8?-;S4%etSx##dLV-bG*Xd?d9K|WR%kl#v!_~DQ6>K+SaQHOTH4g)Qs{Kj}H z6ezRZluX_h3&m(~Go#m~A;9V!_19cDzPc!H3wZVsI~5s*dL|DcwA{An1Qv`a?b5#otwFzwng6zwv))w!8Sd zweBxG3D)2E-z(p{@VnL2FZc=eKk$FoR(HX7*V8XB7kqjBx77twMS;`vqe+Yjcmt0T J1fm~T{{nhLMEL*! literal 0 HcmV?d00001 diff --git a/Examples/Data/Destination/Word Reports/ReadMe.md Out.docx b/Examples/Data/Destination/Word Reports/ReadMe.md Out.docx new file mode 100644 index 0000000000000000000000000000000000000000..ee4f9591058f665ebbe7a6ffd4e6df0a420cfa5a GIT binary patch literal 5696 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 W1O!k${^0+^0=j@H$2RRBSN{hOpWes- literal 0 HcmV?d00001 diff --git a/Examples/Data/Source/Word Templates/DynamicDocInsert.docx b/Examples/Data/Source/Word Templates/DynamicDocInsert.docx new file mode 100644 index 0000000000000000000000000000000000000000..8083182f13c4d1ee327202c0bcfd9b4459f40cf4 GIT binary patch literal 13013 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 F{{V8DSs4HT literal 0 HcmV?d00001 diff --git a/Examples/Data/Source/Word Templates/DynamicImageDemo.docx b/Examples/Data/Source/Word Templates/DynamicImageDemo.docx new file mode 100644 index 0000000000000000000000000000000000000000..171b05452f29db5f65340d2a4fb9a4eeb64b81ae GIT binary patch literal 15916 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 Date: Mon, 27 Apr 2020 15:32:59 +0500 Subject: [PATCH 44/80] Updated for V20.4 --- .../GroupDocs.AssemblyExamples.BusinessLayer.csproj | 4 ++-- .../packages.config | 2 +- .../CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs | 9 +++++---- .../GroupDocs.AssemblyExamples.csproj | 4 ++-- .../CSharp/GroupDocs.AssemblyExamples/packages.config | 2 +- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj index c9b414e..d54986c 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj @@ -32,8 +32,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.20.3.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.20.4.0\lib\net40-client\GroupDocs.Assembly.dll ..\..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config index de03769..820c2d0 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs index 6f35633..1efd616 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs @@ -798,7 +798,8 @@ public static void DynamicBookmarkInsertionWord() //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); //Call AssembleDocument to assemble document - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(bookmark_expression, "bookmark_expression"), new DataSourceInfo(displayTextExpression, "displayTextExpression")); + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), + new DataSourceInfo(bookmark_expression, "bookmark_expression"), new DataSourceInfo(displayTextExpression, "displayTextExpression")); } catch (Exception ex) { @@ -6836,7 +6837,7 @@ public static void InsertImageDynamicallyInWord() //Assemble the document DocumentAssembler assembler = new DocumentAssembler(); assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), - CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(CommonUtilities.GetImageFolder("no-photo.jpg"),"expression")); + CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(CommonUtilities.GetImageFolder("no-photo.jpg"),"image_expression")); } catch (Exception ex) { @@ -6851,7 +6852,7 @@ public static void InsertImageDynamicallyInWord() ///

public static void InsertDocumentDynamicallyInWord() { - //ExStart:InsertImageDynamicallyInWord_20.3 + //ExStart:InsertDocumentDynamicallyInWord_20.3 try { @@ -6870,7 +6871,7 @@ public static void InsertDocumentDynamicallyInWord() { Console.WriteLine(ex.Message); } - //ExEnd:InsertImageDynamicallyInWord_20.3 + //ExEnd:InsertDocumentDynamicallyInWord_20.3 } diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj index d89b885..8a80295 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj @@ -34,8 +34,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.20.3.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.20.4.0\lib\net40-client\GroupDocs.Assembly.dll diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config index 5077b5f..b6906ec 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file From f5712d539c0611363c79a48b2bb826d6a748d7c7 Mon Sep 17 00:00:00 2001 From: Babar Raza Date: Thu, 9 Jul 2020 17:16:24 +0500 Subject: [PATCH 45/80] Standardized & merged the package description --- README.md | 108 ++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 80 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 00ad14e..724b726 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,6 @@ -# GroupDocs.Assembly for .NET +# .NET Document Automation & Reporting API -This package contains [Examples](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Examples), [Plugins](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Plugins) and [Showcases](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Showcases) for [GroupDocs.Assembly for .NET](https://products.groupdocs.com/assembly/net) that will help you in understanding the API's working and writing your own applications. - -GroupDocs.Assembly for .NET is a .NET API engine designed to generate documents based on templates. In essence, the engine accepts a template document and some data, assembles data with the template document as per syntax defined by the template document and then, generates the output document in the same format as of the template document format. +An on-premise [Document Automation Engine](https://products.groupdocs.com/assembly/net) that accepts a template document and some data to assemble documents as per syntax defined by the template. Data can be fetched from various sources including CSV, XML, OData, JSON, .NET Objects & more.

@@ -17,27 +15,81 @@ Directory | Description [Plugins](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Plugins) | Analyze the progress of GroupDocs.Assembly and WinWard while generating the reports, compare code and template preparation. [Showcases](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Showcases) | Web Report Generator is an ASP.NET Web Forms Application that demonstrates the core functionalities provided by GroupDocs.Assembly for .NET. -## How to Run the Examples - -+ You can either clone the repository using your favorite GitHub client or download the ZIP file from the above button. -+ Extract the contents of the ZIP file to any folder on your computer. All the examples are located in the Examples folder. -+ In the extracted files and folders, you can see solution file for C# Project.. -+ The project is created in Visual Studio 2013, but the solution file is compatible with Visual Studio 2010 SP1 and higher. -+ Open the solution file in Visual Studio and build the project. -+ On the first run, the dependencies will automatically be downloaded via NuGet. -+ Data folder at the root folder of Examples contains some sample input templates used in code examples. It is mandatory that you download the Data folder along with the examples project. -+ Open Program.cs file, all the examples are called from here. -+ Uncomment the examples you want to run from within the project. - -Please find more details for how to run the examples [here](https://docs.groupdocs.com/display/assemblynet/How+to+Run+Examples). - -## Resources - -+ **Website:** [www.groupdocs.com](https://www.groupdocs.com/) -+ **Product Home:** [GroupDocs.Assembly for .NET](https://products.groupdocs.com/assembly/net) -+ **Installation:** [GroupDocs.Assembly for .NET NuGet Package](https://www.nuget.org/packages/GroupDocs.Assembly/) -+ **API Reference:** [GroupDocs.Assembly for .NET API Reference](https://apireference.groupdocs.com/net/assembly) -+ **Documentation:** [GroupDocs.Assembly for .NET Documentation](https://docs.groupdocs.com/display/assemblynet/Home) -+ **Free Support:** [GroupDocs.Assembly for .NET Free Support Forum](https://forum.groupdocs.com/c/assembly) -+ **Paid Support:** [GroupDocs.Assembly for .NET Paid Support Helpdesk](https://helpdesk.groupdocs.com/) -+ **Blog:** [GroupDocs.Assembly for .NET Blog](https://blog.groupdocs.com/category/groupdocs-assembly-product-family/) +## Report Generation via .NET + +- Wide range of supported [document formats](https://docs.groupdocs.com/display/assemblynet/Supported+Document+Formats). +- Capable to manipulate data using formulae & [sequential data](https://docs.groupdocs.com/display/assemblynet/Template+Syntax+-+Part+2+of+2#TemplateSyntax-Part2of2-OutputtingSequentialData) operations. +- Supports upper, lower, capital, first-cap formatting. +- Apply Ordinal, Cardinal, Alphabetic & Numeric formatting in template syntax. +- Dynamically insert document content & hyperlinks in reports. +- Apply attributes to email message body and dynamically add email attachments. +- [Generate barcode labels](https://docs.groupdocs.com/display/assemblynet/Working+with+Barcode+Image+Generation) in reports. +- Dynamically set background color of HTML documents. +- Apply formatting to numeric, text, image, date-time & chart elements in template. +- Apply conditional formatting on text elements. +- LINQ-based template syntax. +- Supports NEXT field analogue of Microsoft Word. +- Update fields during Word document assembly. +- Apply & calculate formula during Excel file assembly. +- Automatically remove empty paragraphs. +- Generate various report types, such as, charts, lists, tables etc. +- Load templates from HTML as well as save assembled documents to HTML with resources. + +## Read & Write Microsoft Office Formats + +**Microsoft Word:** DOC, DOT, DOCX, DOCM, DOTX, DOTM, RTF\ +**Microsoft Excel:** XLSX, XLSM, XLTX, XLTM, XLSB, XLS, XLT\ +**Microsoft PowerPoint:** PPTX, PPTM, PPSX, PPSM, POT, POTX, POTM, PPT, PPS + +## Other Supported Formats + +**OpenOffice:** ODS, ODT, OTT, OTP, ODP, OXPS\ +**Email:** EML, MSG, EMLX\ +**Fixed Layout:** PDF, XPS\ +**Web:** HTML, MHTML\ +**Images:** TIFF, SVG\ +**Other:** XML, XAML, TXT, EPUB, PS, PCL, MD + +## Platform Independence + +GroupDocs.Assembly for .NET can be used to build applications for Windows, Mac OS X as well as for Linux. Developers may code in PHP, VBScript, Delphi & C++ programming languages while using GroupDocs.Assembly for .BET via COM Interop. + +## Getting Started with GroupDocs.Assembly for .NET + +Are you ready to give GroupDocs.Assembly for .NET a try? Simply execute `Install-Package GroupDocs.Assembly` from Package Manager Console in Visual Studio to fetch & reference GroupDocs.Assembly assembly in your project. If you already have GroupDocs.Assembly for .Net and want to upgrade it, please execute `Update-Package GroupDocs.Assembly` to get the latest version. + +## Generate DOCX from Markdown (MD) Template via C# Code + +```csharp +//Setting up source document template +const String strDocumentTemplate = "Markdown Templates/ReadMe.md"; +//Setting up destination Markdown reports +const String strDocumentReport = "Word Reports/ReadMe Out.docx"; +//Setting up description variable +const string description = "GroupDocs.Assembly for .NET is a class library that enables you to generate documents in popular " + + "office and email file formats based upon template documents and data obtained from various sources " + + "including databases, XML, JSON, OData, objects of custom .NET types, external documents, and more."; + +DocumentAssembler assembler = new DocumentAssembler(); +//Assemble Document +assembler.AssembleDocument( +CommonUtilities.GetSourceDocument(strDocumentTemplate), +CommonUtilities.SetDestinationDocument(strDocumentReport), +new DataSourceInfo("GroupDocs.Assembly for .NET", "product"), +new DataSourceInfo(description, "description")); +} +``` + +## Use Excel File as a Data Source to Assemble a Document + +```csharp +string strDocumentTemplate = "Word Templates/Using Spreadsheet as Table of Data.docx"; +string strDocumentReport = "Word Reports/Using Spreadsheet as Table of Data_Output.docx"; +// Assemble a document using the external document table as a data source. +DocumentAssembler assembler = new DocumentAssembler(); +assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), + CommonUtilities.SetDestinationDocument(strDocumentReport), + new DataSourceInfo(DataLayer.ExcelData(), "contracts")); +``` + +[Product Page](https://products.groupdocs.com/assembly/net) | [Documentation](https://docs.groupdocs.com/display/assemblynet/Home) | [Demo](https://products.groupdocs.app/assembly/family) | [API Reference](https://apireference.groupdocs.com/net/assembly) | [Examples](https://github.com/groupdocs-assembly/GroupDocs.Assembly-for-.NET) | [Blog](https://blog.groupdocs.com/category/assembly/) | [Free Support](https://forum.groupdocs.com/c/assembly) | [Temporary License](https://purchase.groupdocs.com/temporary-license) From db6045194adda281325b58bdfd23954cd7d8af2c Mon Sep 17 00:00:00 2001 From: Babar Raza Date: Thu, 9 Jul 2020 17:24:34 +0500 Subject: [PATCH 46/80] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 724b726..f01e28c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # .NET Document Automation & Reporting API -An on-premise [Document Automation Engine](https://products.groupdocs.com/assembly/net) that accepts a template document and some data to assemble documents as per syntax defined by the template. Data can be fetched from various sources including CSV, XML, OData, JSON, .NET Objects & more. +An on-premise [Document Automation Engine](https://products.groupdocs.com/assembly/net) that accepts template document and data to assemble reports as per syntax defined by the template. Data can be merged from various sources including CSV, XML, OData, JSON, .NET Objects & more.

@@ -52,11 +52,11 @@ Directory | Description ## Platform Independence -GroupDocs.Assembly for .NET can be used to build applications for Windows, Mac OS X as well as for Linux. Developers may code in PHP, VBScript, Delphi & C++ programming languages while using GroupDocs.Assembly for .BET via COM Interop. +GroupDocs.Assembly for .NET can be used to build applications for Windows, Mac OS X as well as for Linux. Developers may code in PHP, VBScript, Delphi & C++ programming languages while using GroupDocs.Assembly for .NET via COM Interop. ## Getting Started with GroupDocs.Assembly for .NET -Are you ready to give GroupDocs.Assembly for .NET a try? Simply execute `Install-Package GroupDocs.Assembly` from Package Manager Console in Visual Studio to fetch & reference GroupDocs.Assembly assembly in your project. If you already have GroupDocs.Assembly for .Net and want to upgrade it, please execute `Update-Package GroupDocs.Assembly` to get the latest version. +Are you ready to give GroupDocs.Assembly for .NET a try? Simply execute `Install-Package GroupDocs.Assembly` from Package Manager Console in Visual Studio to fetch & reference GroupDocs.Assembly assembly in your project. If you already have GroupDocs.Assembly for .NET and want to upgrade it, please execute `Update-Package GroupDocs.Assembly` to get the latest version. ## Generate DOCX from Markdown (MD) Template via C# Code From 8d9c2197dc0dc1bdbc4f61eaf96696a70497aaa1 Mon Sep 17 00:00:00 2001 From: Babar Raza Date: Thu, 9 Jul 2020 18:42:40 +0500 Subject: [PATCH 47/80] Update README.md --- README.md | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index f01e28c..e637d0d 100644 --- a/README.md +++ b/README.md @@ -1,39 +1,36 @@ # .NET Document Automation & Reporting API -An on-premise [Document Automation Engine](https://products.groupdocs.com/assembly/net) that accepts template document and data to assemble reports as per syntax defined by the template. Data can be merged from various sources including CSV, XML, OData, JSON, .NET Objects & more. +An on-premise [Document Automation Engine](https://products.groupdocs.com/assembly/net) that accepts a template document and data to generate documents as per syntax defined by the template. Data can be merged from various sources including CSV, XML, OData, JSON, .NET Objects & more.

Directory | Description --------- | ----------- -[Examples](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Examples) | Contains the package of all .NET examples and sample files that will help you learn how to use product features. -[Plugins](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Plugins) | Analyze the progress of GroupDocs.Assembly and WinWard while generating the reports, compare code and template preparation. +[Examples](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Examples) | Contain package of all .NET examples and sample files that will help you learn how to use GroupDocs.Assembly for NET to its full extent. +[Plugins](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Plugins) | Analyze the progress while generating reports, compare code and template preparation. [Showcases](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Showcases) | Web Report Generator is an ASP.NET Web Forms Application that demonstrates the core functionalities provided by GroupDocs.Assembly for .NET. ## Report Generation via .NET - Wide range of supported [document formats](https://docs.groupdocs.com/display/assemblynet/Supported+Document+Formats). -- Capable to manipulate data using formulae & [sequential data](https://docs.groupdocs.com/display/assemblynet/Template+Syntax+-+Part+2+of+2#TemplateSyntax-Part2of2-OutputtingSequentialData) operations. -- Supports upper, lower, capital, first-cap formatting. -- Apply Ordinal, Cardinal, Alphabetic & Numeric formatting in template syntax. -- Dynamically insert document content & hyperlinks in reports. -- Apply attributes to email message body and dynamically add email attachments. -- [Generate barcode labels](https://docs.groupdocs.com/display/assemblynet/Working+with+Barcode+Image+Generation) in reports. -- Dynamically set background color of HTML documents. -- Apply formatting to numeric, text, image, date-time & chart elements in template. -- Apply conditional formatting on text elements. +- Document generation using data from [various sources](https://docs.groupdocs.com/assembly/net/working-with-multiple-data-sources/). - LINQ-based template syntax. +- Manipulate data using formulae & [sequential data](https://docs.groupdocs.com/display/assemblynet/Template+Syntax+-+Part+2+of+2#TemplateSyntax-Part2of2-OutputtingSequentialData) operations. +- Supports Upper, Lower, Capital, First-Cap content formatting. +- Apply Ordinal, Cardinal, Alphabetic & Numeric formatting to template syntax. +- Apply attributes to email message body and dynamically add attachments. +- [Generate barcode labels](https://docs.groupdocs.com/display/assemblynet/Working+with+Barcode+Image+Generation) in reports. +- Apply conditional formatting & formatting based on type such as numeric, text, image & date-time. - Supports NEXT field analogue of Microsoft Word. - Update fields during Word document assembly. - Apply & calculate formula during Excel file assembly. -- Automatically remove empty paragraphs. -- Generate various report types, such as, charts, lists, tables etc. -- Load templates from HTML as well as save assembled documents to HTML with resources. +- Generate various report types, such as, Charts, Lists, Tables etc. +- Load templates from HTML as well as save assembled documents as HTML with resources. ## Read & Write Microsoft Office Formats @@ -52,11 +49,11 @@ Directory | Description ## Platform Independence -GroupDocs.Assembly for .NET can be used to build applications for Windows, Mac OS X as well as for Linux. Developers may code in PHP, VBScript, Delphi & C++ programming languages while using GroupDocs.Assembly for .NET via COM Interop. +GroupDocs.Assembly for .NET can be used to build applications for Windows, Mac OS X as well as for Linux. Developers may code in PHP, VBScript, Delphi & C++ programming languages while using GroupDocs.Assembly for .BET via COM Interop. ## Getting Started with GroupDocs.Assembly for .NET -Are you ready to give GroupDocs.Assembly for .NET a try? Simply execute `Install-Package GroupDocs.Assembly` from Package Manager Console in Visual Studio to fetch & reference GroupDocs.Assembly assembly in your project. If you already have GroupDocs.Assembly for .NET and want to upgrade it, please execute `Update-Package GroupDocs.Assembly` to get the latest version. +Are you ready to give GroupDocs.Assembly for .NET a try? Simply execute `Install-Package GroupDocs.Assembly` from Package Manager Console in Visual Studio to fetch & reference GroupDocs.Assembly assembly in your project. If you already have GroupDocs.Assembly for .Net and want to upgrade it, please execute `Update-Package GroupDocs.Assembly` to get the latest version. ## Generate DOCX from Markdown (MD) Template via C# Code From a22d4983b670dada715a1fba323c263f0aa19b1e Mon Sep 17 00:00:00 2001 From: Babar Raza Date: Fri, 7 Aug 2020 18:27:52 +0500 Subject: [PATCH 48/80] Added site home to the footer of readme.md --- README.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index e637d0d..d3d70b1 100644 --- a/README.md +++ b/README.md @@ -77,16 +77,14 @@ new DataSourceInfo(description, "description")); } ``` -## Use Excel File as a Data Source to Assemble a Document +## Use Word Table as a Source to Assemble a Document ```csharp -string strDocumentTemplate = "Word Templates/Using Spreadsheet as Table of Data.docx"; -string strDocumentReport = "Word Reports/Using Spreadsheet as Table of Data_Output.docx"; -// Assemble a document using the external document table as a data source. +// assemble a document using the external document table as a data source. DocumentAssembler assembler = new DocumentAssembler(); assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.ExcelData(), "contracts")); ``` -[Product Page](https://products.groupdocs.com/assembly/net) | [Documentation](https://docs.groupdocs.com/display/assemblynet/Home) | [Demo](https://products.groupdocs.app/assembly/family) | [API Reference](https://apireference.groupdocs.com/net/assembly) | [Examples](https://github.com/groupdocs-assembly/GroupDocs.Assembly-for-.NET) | [Blog](https://blog.groupdocs.com/category/assembly/) | [Free Support](https://forum.groupdocs.com/c/assembly) | [Temporary License](https://purchase.groupdocs.com/temporary-license) +[Home](https://www.groupdocs.com/) | [Product Page](https://products.groupdocs.com/assembly/net) | [Documentation](https://docs.groupdocs.com/assembly/net/) | [Demo](https://products.groupdocs.app/assembly/family) | [API Reference](https://apireference.groupdocs.com/assembly/net) | [Examples](https://github.com/groupdocs-assembly/GroupDocs.Assembly-for-.NET) | [Blog](https://blog.groupdocs.com/category/assembly/) | [Free Support](https://forum.groupdocs.com/c/assembly) | [Temporary License](https://purchase.groupdocs.com/temporary-license) From ab75f96ff704d0a9df38764fdae7ce5244d5e005 Mon Sep 17 00:00:00 2001 From: Ali Salman Date: Wed, 19 Aug 2020 14:49:02 +0500 Subject: [PATCH 49/80] Created Live Demos Project --- Demos/.runsettings | 13 + Demos/README.md | 10 + Demos/groupdocs.assembly.live.demos.sln | 28 + .../App_Data/EmailTemplate.html | 34 + .../App_Data/TemplateEmail.html | 34 + .../App_Data/resources_EN.xml | 742 + .../App_Data/resources_ZH.xml | 668 + .../App_Start/BundleConfig.cs | 18 + .../App_Start/RouteConfig.cs | 18 + .../ApplicationInsights.config | 139 + .../AssemblyApp/Default.aspx | 425 + .../AssemblyApp/Default.aspx.cs | 18 + .../AssemblyApp/Default.aspx.designer.cs | 15 + .../AssemblyApp/app.config.js | 13 + .../AssemblyApp/app.controller.main.js | 108 + .../AssemblyApp/app.js | 13 + .../AssemblyApp/app.run.js | 9 + .../AssemblyApp/const.js | 16 + .../AssemblyApp/menu.js | 9 + .../AssemblyApp/sitemap.aspx | 18 + .../AssemblyApp/style.css | 19 + .../Bundle.config | 7 + .../Config/AppSettings.cs | 41 + .../Config/BaseMasterPage.cs | 46 + .../Config/BasePage.cs | 61 + .../Config/BaseRootPage.cs | 81 + .../Config/BaseUserControl.cs | 45 + .../Config/Configuration.cs | 85 + .../Config/Context.cs | 93 + .../Config/EmailManager.cs | 139 + .../Config/GlobalAppHelper.cs | 71 + .../Config/GroupDocsToolsContext.cs | 36 + .../Content/Site.css | 31 + .../Content/bootstrap-grid.css | 3719 ++++ .../Content/bootstrap-grid.css.map | 1 + .../Content/bootstrap-grid.min.css | 7 + .../Content/bootstrap-grid.min.css.map | 1 + .../Content/bootstrap-reboot.css | 331 + .../Content/bootstrap-reboot.css.map | 1 + .../Content/bootstrap-reboot.min.css | 8 + .../Content/bootstrap-reboot.min.css.map | 1 + .../Content/bootstrap.css | 10038 +++++++++ .../Content/bootstrap.css.map | 1 + .../Content/bootstrap.min.css | 7 + .../Content/bootstrap.min.css.map | 1 + .../Controllers/ApiControllerBase.cs | 447 + .../Controllers/GroupDocsAppsWebController.cs | 167 + .../GroupDocsAssemblyController.cs | 133 + .../Default.aspx | 15 + .../Default.aspx.cs | 17 + .../Default.aspx.designer.cs | 26 + .../DownloadFile.aspx | 17 + .../DownloadFile.aspx.cs | 44 + .../DownloadFile.aspx.designer.cs | 24 + .../Global.asax | 1 + .../Global.asax.cs | 68 + .../GroupDocs.Assembly.Live.Demos.UI.csproj | 643 + .../Helpers/ApiHelperBase.cs | 69 + .../Index.aspx | 16 + .../Index.aspx.cs | 30 + .../Index.aspx.designer.cs | 24 + .../MasterControls/Footer.ascx | 3 + .../MasterControls/Footer.ascx.cs | 18 + .../MasterControls/Footer.ascx.designer.cs | 15 + .../MasterControls/Header.ascx | 2 + .../MasterControls/Header.ascx.cs | 18 + .../MasterControls/Header.ascx.designer.cs | 15 + .../Models/BarCodeRespose.cs | 14 + .../Models/FileManager.cs | 208 + .../Models/FileUploadResult.cs | 15 + .../Models/MimeMultipart.cs | 27 + .../Models/OCRLanguage.cs | 15 + .../Models/Response.cs | 22 + .../Models/UploadMultipartFormProvider.cs | 23 + .../Properties/AssemblyInfo.cs | 35 + .../Scripts/README.md | 219 + .../Scripts/WebForms/DetailsView.js | 34 + .../Scripts/WebForms/Focus.js | 93 + .../Scripts/WebForms/GridView.js | 36 + .../Scripts/WebForms/MSAjax/MicrosoftAjax.js | 6 + .../MicrosoftAjaxApplicationServices.js | 6 + .../MSAjax/MicrosoftAjaxComponentModel.js | 6 + .../WebForms/MSAjax/MicrosoftAjaxCore.js | 6 + .../MSAjax/MicrosoftAjaxGlobalization.js | 6 + .../WebForms/MSAjax/MicrosoftAjaxHistory.js | 6 + .../WebForms/MSAjax/MicrosoftAjaxNetwork.js | 6 + .../MSAjax/MicrosoftAjaxSerialization.js | 6 + .../WebForms/MSAjax/MicrosoftAjaxTimer.js | 6 + .../WebForms/MSAjax/MicrosoftAjaxWebForms.js | 6 + .../MSAjax/MicrosoftAjaxWebServices.js | 6 + .../Scripts/WebForms/Menu.js | 898 + .../Scripts/WebForms/MenuStandards.js | 697 + .../Scripts/WebForms/SmartNav.js | 280 + .../Scripts/WebForms/TreeView.js | 220 + .../Scripts/WebForms/WebForms.js | 567 + .../Scripts/WebForms/WebParts.js | 647 + .../Scripts/WebForms/WebUIValidation.js | 684 + .../Scripts/bootstrap.bundle.js | 7013 +++++++ .../Scripts/bootstrap.bundle.js.map | 1 + .../Scripts/bootstrap.bundle.min.js | 7 + .../Scripts/bootstrap.bundle.min.js.map | 1 + .../Scripts/bootstrap.js | 4435 ++++ .../Scripts/bootstrap.js.map | 1 + .../Scripts/bootstrap.min.js | 7 + .../Scripts/bootstrap.min.js.map | 1 + .../Scripts/esm/popper-utils.js | 1093 + .../Scripts/esm/popper-utils.js.map | 1 + .../Scripts/esm/popper-utils.min.js | 5 + .../Scripts/esm/popper-utils.min.js.map | 1 + .../Scripts/esm/popper.js | 2520 +++ .../Scripts/esm/popper.js.map | 1 + .../Scripts/esm/popper.min.js | 5 + .../Scripts/esm/popper.min.js.map | 1 + .../Scripts/jquery-3.4.1.intellisense.js | 2670 +++ .../Scripts/jquery-3.4.1.js | 10598 ++++++++++ .../Scripts/jquery-3.4.1.min.js | 2 + .../Scripts/jquery-3.4.1.min.map | 1 + .../Scripts/jquery-3.4.1.slim.js | 8495 ++++++++ .../Scripts/jquery-3.4.1.slim.min.js | 2 + .../Scripts/jquery-3.4.1.slim.min.map | 1 + .../Scripts/jquery.validate.js | 1245 ++ .../Scripts/jquery.validate.min.js | 16 + .../Scripts/jquery.validate.unobtrusive.js | 429 + .../jquery.validate.unobtrusive.min.js | 19 + .../Scripts/modernizr-2.6.2.js | 1416 ++ .../Scripts/modernizr-2.8.3.js | 1406 ++ .../Scripts/popper-utils.js | 1042 + .../Scripts/popper-utils.js.map | 1 + .../Scripts/popper-utils.min.js | 5 + .../Scripts/popper-utils.min.js.map | 1 + .../Scripts/popper.js | 2372 +++ .../Scripts/popper.js.map | 1 + .../Scripts/popper.min.js | 5 + .../Scripts/popper.min.js.map | 1 + .../Scripts/respond.js | 224 + .../Scripts/respond.matchmedia.addListener.js | 273 + .../respond.matchmedia.addListener.min.js | 5 + .../Scripts/respond.min.js | 5 + .../Scripts/umd/popper-utils.js | 1131 ++ .../Scripts/umd/popper-utils.js.map | 1 + .../Scripts/umd/popper-utils.min.js | 5 + .../Scripts/umd/popper-utils.min.js.map | 1 + .../Scripts/umd/popper.js | 2528 +++ .../Scripts/umd/popper.js.map | 1 + .../Scripts/umd/popper.min.js | 5 + .../Scripts/umd/popper.min.js.map | 1 + .../Web.config | 177 + .../css/Jcrop.gif | Bin 0 -> 329 bytes .../css/app_products.css | 2518 +++ .../css/assets/fonts/icons.eot | Bin 0 -> 60767 bytes .../css/assets/fonts/icons.svg | 565 + .../css/assets/fonts/icons.ttf | Bin 0 -> 122092 bytes .../css/assets/fonts/icons.woff | Bin 0 -> 71508 bytes .../css/assets/fonts/icons.woff2 | Bin 0 -> 56780 bytes .../css/bootstrap.min.css | 6 + .../css/colorpicker.css | 100 + .../css/customgroupdocsapp.css | 1583 ++ .../css/dropdownmenu.css | 270 + .../css/howto.css | 1 + .../css/howto.png | Bin 0 -> 12359 bytes .../css/jquery.Jcrop.css | 165 + .../css/searchicon.png | Bin 0 -> 860 bytes .../errorpage.aspx | 16 + .../errorpage.aspx.cs | 19 + .../errorpage.aspx.designer.cs | 15 + .../favicon.ico | Bin 0 -> 15086 bytes .../images/GroupDocs-logo.jpg | Bin 0 -> 1992 bytes .../images/GroupDocs-logo.png | Bin 0 -> 9936 bytes .../images/groupdocs1616.png | Bin 0 -> 724 bytes .../images/groupdocsapp.png | Bin 0 -> 181356 bytes .../images/loader.gif | Bin 0 -> 160600 bytes .../images/scrollbar/arrow-down.png | Bin 0 -> 255 bytes .../images/scrollbar/arrow-left.png | Bin 0 -> 265 bytes .../images/scrollbar/arrow-right.png | Bin 0 -> 264 bytes .../images/scrollbar/arrow-up.png | Bin 0 -> 263 bytes .../images/scrollbar/resizer.png | Bin 0 -> 233 bytes .../img/404.png | Bin 0 -> 15286 bytes .../img/GDVLogo.png | Bin 0 -> 3014 bytes .../img/anywhere.png | Bin 0 -> 2432 bytes .../img/asposetools.png | Bin 0 -> 44165 bytes .../img/bg/header.png | Bin 0 -> 27977 bytes .../img/body-pattern.png | Bin 0 -> 82 bytes .../img/downloadnow.jpg | Bin 0 -> 2401 bytes .../img/fast-easy.png | Bin 0 -> 2469 bytes .../img/grid-cancel-ico.png | Bin 0 -> 490 bytes .../img/grid-delete-ico.png | Bin 0 -> 655 bytes .../img/grid-edit-ico.png | Bin 0 -> 522 bytes .../img/grid-update-ico.png | Bin 0 -> 432 bytes .../img/groupdocs-comparison-net.png | Bin 0 -> 2145 bytes .../img/groupdocs-conversion-net.png | Bin 0 -> 3941 bytes .../img/groupdocs-metadata-net.png | Bin 0 -> 4484 bytes .../img/groupdocs-parser-net.png | Bin 0 -> 4525 bytes .../img/groupdocs-search-net.png | Bin 0 -> 4769 bytes .../img/groupdocs-viewer-net.png | Bin 0 -> 4265 bytes .../img/groupdocs-watermark-net.png | Bin 0 -> 4246 bytes .../img/howto.png | Bin 0 -> 5325 bytes .../img/icon-bmp.png | Bin 0 -> 3258 bytes .../img/icon-doc.png | Bin 0 -> 2703 bytes .../img/icon-emf.png | Bin 0 -> 2849 bytes .../img/icon-eml.png | Bin 0 -> 2617 bytes .../img/icon-epub.png | Bin 0 -> 2292 bytes .../img/icon-html.png | Bin 0 -> 3212 bytes .../img/icon-image.png | Bin 0 -> 3191 bytes .../img/icon-jpg.png | Bin 0 -> 2781 bytes .../img/icon-mht.png | Bin 0 -> 2691 bytes .../img/icon-mimemsg.png | Bin 0 -> 3378 bytes .../img/icon-msg.png | Bin 0 -> 3405 bytes .../img/icon-odp.png | Bin 0 -> 3621 bytes .../img/icon-ost.png | Bin 0 -> 3691 bytes .../img/icon-pdf.png | Bin 0 -> 2759 bytes .../img/icon-ppt.png | Bin 0 -> 3093 bytes .../img/icon-pptx.png | Bin 0 -> 3007 bytes .../img/icon-pst.png | Bin 0 -> 2865 bytes .../img/icon-svg.png | Bin 0 -> 2823 bytes .../img/icon-text.png | Bin 0 -> 2999 bytes .../img/icon-tiff.png | Bin 0 -> 3214 bytes .../img/icon-xls.png | Bin 0 -> 2780 bytes .../img/icon-xps.png | Bin 0 -> 2494 bytes .../img/loader.gif | Bin 0 -> 36677 bytes .../img/quality.png | Bin 0 -> 2400 bytes .../img/sprite_meta.png | Bin 0 -> 2402 bytes .../js/bootstrap.js | 3850 ++++ .../js/bootstrap.min.js | 6 + .../js/colorpicker.js | 22 + .../js/dropdownmenu.js | 22 + .../js/groupdocs-apps-lang.js | 145 + .../js/jquery-1.10.2.js | 9803 +++++++++ .../js/jquery-1.10.2.min.js | 23 + .../js/jquery-1.10.2.min.map | 1 + .../js/jquery.Jcrop.js | 1694 ++ .../js/jquery.blockUI.js | 620 + .../js/modernizr-2.6.2.js | 1416 ++ .../js/popper.min.js | 5 + .../js/respond.js | 340 + .../js/respond.min.js | 20 + .../packages.config | 60 + .../qi/config/icons.js | 51 + .../qi/css/addon/effect-light.min.css | 6 + .../qi/css/bootstrap-quantumui.css | 11049 ++++++++++ .../qi/css/bootstrap-quantumui.css.map | 1 + .../qi/css/bootstrap-quantumui.min.css | 1 + .../qi/css/docstyle.css | 16792 ++++++++++++++++ .../qi/css/quantumui.css | 5541 +++++ .../qi/css/quantumui.css.map | 1 + .../qi/css/quantumui.min.css | 5120 +++++ .../qi/doc/js/app.js | 288 + .../qi/doc/js/custom.js | 99 + .../fonts/glyphicons-halflings-regular.woff2 | Bin 0 -> 18028 bytes .../qi/js/quantumui-all.js | 10254 ++++++++++ .../qi/js/quantumui-all.min.js | 56 + .../qi/js/quantumui-all.min.js.map | 6 + .../qi/js/quantumui-nojq.js | 8620 ++++++++ .../qi/js/quantumui-nojq.min.js | 15 + .../qi/js/quantumui-nojq.min.js.map | 6 + .../qi/js/quantumui.js | 7769 +++++++ .../qi/js/quantumui.min.js | 56 + .../qi/js/quantumui.min.js.map | 6 + .../site.Master | 64 + .../site.Master.cs | 20 + .../site.Master.designer.cs | 51 + 260 files changed, 162166 insertions(+) create mode 100644 Demos/.runsettings create mode 100644 Demos/README.md create mode 100644 Demos/groupdocs.assembly.live.demos.sln create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Data/EmailTemplate.html create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Data/TemplateEmail.html create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Data/resources_EN.xml create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Data/resources_ZH.xml create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Start/BundleConfig.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Start/RouteConfig.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/ApplicationInsights.config create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/Default.aspx create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/Default.aspx.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/Default.aspx.designer.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/app.config.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/app.controller.main.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/app.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/app.run.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/const.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/menu.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/sitemap.aspx create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/style.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Bundle.config create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/AppSettings.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/BaseMasterPage.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/BasePage.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/BaseRootPage.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/BaseUserControl.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/Configuration.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/Context.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/EmailManager.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/GlobalAppHelper.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/GroupDocsToolsContext.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/Site.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-grid.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-grid.css.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-grid.min.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-grid.min.css.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-reboot.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-reboot.css.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-reboot.min.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-reboot.min.css.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap.css.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap.min.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap.min.css.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Controllers/ApiControllerBase.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Controllers/GroupDocsAppsWebController.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Controllers/GroupDocsAssemblyController.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Default.aspx create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Default.aspx.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Default.aspx.designer.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/DownloadFile.aspx create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/DownloadFile.aspx.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/DownloadFile.aspx.designer.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Global.asax create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Global.asax.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/GroupDocs.Assembly.Live.Demos.UI.csproj create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Helpers/ApiHelperBase.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Index.aspx create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Index.aspx.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Index.aspx.designer.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/MasterControls/Footer.ascx create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/MasterControls/Footer.ascx.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/MasterControls/Footer.ascx.designer.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/MasterControls/Header.ascx create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/MasterControls/Header.ascx.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/MasterControls/Header.ascx.designer.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Models/BarCodeRespose.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Models/FileManager.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Models/FileUploadResult.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Models/MimeMultipart.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Models/OCRLanguage.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Models/Response.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Models/UploadMultipartFormProvider.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Properties/AssemblyInfo.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/README.md create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/DetailsView.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/Focus.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/GridView.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/MSAjax/MicrosoftAjax.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/MSAjax/MicrosoftAjaxApplicationServices.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/MSAjax/MicrosoftAjaxComponentModel.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/MSAjax/MicrosoftAjaxCore.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/MSAjax/MicrosoftAjaxGlobalization.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/MSAjax/MicrosoftAjaxHistory.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/MSAjax/MicrosoftAjaxNetwork.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/MSAjax/MicrosoftAjaxSerialization.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/MSAjax/MicrosoftAjaxTimer.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/MSAjax/MicrosoftAjaxWebForms.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/MSAjax/MicrosoftAjaxWebServices.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/Menu.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/MenuStandards.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/SmartNav.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/TreeView.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/WebForms.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/WebParts.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/WebUIValidation.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/bootstrap.bundle.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/bootstrap.bundle.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/bootstrap.bundle.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/bootstrap.bundle.min.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/bootstrap.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/bootstrap.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/bootstrap.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/bootstrap.min.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/esm/popper-utils.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/esm/popper-utils.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/esm/popper-utils.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/esm/popper-utils.min.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/esm/popper.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/esm/popper.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/esm/popper.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/esm/popper.min.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/jquery-3.4.1.intellisense.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/jquery-3.4.1.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/jquery-3.4.1.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/jquery-3.4.1.min.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/jquery-3.4.1.slim.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/jquery-3.4.1.slim.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/jquery-3.4.1.slim.min.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/jquery.validate.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/jquery.validate.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/jquery.validate.unobtrusive.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/jquery.validate.unobtrusive.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/modernizr-2.6.2.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/modernizr-2.8.3.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/popper-utils.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/popper-utils.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/popper-utils.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/popper-utils.min.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/popper.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/popper.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/popper.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/popper.min.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/respond.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/respond.matchmedia.addListener.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/respond.matchmedia.addListener.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/respond.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/umd/popper-utils.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/umd/popper-utils.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/umd/popper-utils.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/umd/popper-utils.min.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/umd/popper.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/umd/popper.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/umd/popper.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/umd/popper.min.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Web.config create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/css/Jcrop.gif create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/css/app_products.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/css/assets/fonts/icons.eot create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/css/assets/fonts/icons.svg create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/css/assets/fonts/icons.ttf create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/css/assets/fonts/icons.woff create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/css/assets/fonts/icons.woff2 create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/css/bootstrap.min.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/css/colorpicker.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/css/customgroupdocsapp.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/css/dropdownmenu.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/css/howto.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/css/howto.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/css/jquery.Jcrop.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/css/searchicon.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/errorpage.aspx create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/errorpage.aspx.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/errorpage.aspx.designer.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/favicon.ico create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/images/GroupDocs-logo.jpg create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/images/GroupDocs-logo.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/images/groupdocs1616.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/images/groupdocsapp.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/images/loader.gif create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/images/scrollbar/arrow-down.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/images/scrollbar/arrow-left.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/images/scrollbar/arrow-right.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/images/scrollbar/arrow-up.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/images/scrollbar/resizer.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/404.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/GDVLogo.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/anywhere.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/asposetools.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/bg/header.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/body-pattern.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/downloadnow.jpg create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/fast-easy.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/grid-cancel-ico.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/grid-delete-ico.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/grid-edit-ico.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/grid-update-ico.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/groupdocs-comparison-net.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/groupdocs-conversion-net.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/groupdocs-metadata-net.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/groupdocs-parser-net.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/groupdocs-search-net.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/groupdocs-viewer-net.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/groupdocs-watermark-net.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/howto.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-bmp.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-doc.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-emf.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-eml.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-epub.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-html.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-image.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-jpg.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-mht.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-mimemsg.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-msg.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-odp.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-ost.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-pdf.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-ppt.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-pptx.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-pst.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-svg.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-text.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-tiff.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-xls.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-xps.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/loader.gif create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/quality.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/sprite_meta.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/js/bootstrap.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/js/bootstrap.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/js/colorpicker.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/js/dropdownmenu.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/js/groupdocs-apps-lang.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/js/jquery-1.10.2.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/js/jquery-1.10.2.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/js/jquery-1.10.2.min.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/js/jquery.Jcrop.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/js/jquery.blockUI.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/js/modernizr-2.6.2.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/js/popper.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/js/respond.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/js/respond.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/packages.config create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/config/icons.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/css/addon/effect-light.min.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/css/bootstrap-quantumui.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/css/bootstrap-quantumui.css.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/css/bootstrap-quantumui.min.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/css/docstyle.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/css/quantumui.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/css/quantumui.css.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/css/quantumui.min.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/doc/js/app.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/doc/js/custom.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/fonts/glyphicons-halflings-regular.woff2 create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/js/quantumui-all.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/js/quantumui-all.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/js/quantumui-all.min.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/js/quantumui-nojq.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/js/quantumui-nojq.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/js/quantumui-nojq.min.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/js/quantumui.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/js/quantumui.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/js/quantumui.min.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/site.Master create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/site.Master.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/site.Master.designer.cs diff --git a/Demos/.runsettings b/Demos/.runsettings new file mode 100644 index 0000000..ded747e --- /dev/null +++ b/Demos/.runsettings @@ -0,0 +1,13 @@ + + + + 0 + + + + + 0 + MethodLevel + + + diff --git a/Demos/README.md b/Demos/README.md new file mode 100644 index 0000000..089872b --- /dev/null +++ b/Demos/README.md @@ -0,0 +1,10 @@ +# GroupDocs.Assembly for .NET Live Demos + +GroupDocs.Assembly for .NET Live Demos Source Code. +The Live Demos are hosted at https://products.groupdocs.app/assembly/family + +# How to run + + 1. Clone the repository. + 2. Open the solution file in the latest version of Microsoft Visual Studio. + 3. Build and Start the solution. diff --git a/Demos/groupdocs.assembly.live.demos.sln b/Demos/groupdocs.assembly.live.demos.sln new file mode 100644 index 0000000..c7b65d2 --- /dev/null +++ b/Demos/groupdocs.assembly.live.demos.sln @@ -0,0 +1,28 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.27004.2002 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GroupDocs.Assembly.Live.Demos.UI", "src\GroupDocs.Assembly.Live.Demos.UI\GroupDocs.Assembly.Live.Demos.UI.csproj", "{0479AE08-F6E6-4808-8DB2-566097B07188}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + Staging|Any CPU = Staging|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {0479AE08-F6E6-4808-8DB2-566097B07188}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0479AE08-F6E6-4808-8DB2-566097B07188}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0479AE08-F6E6-4808-8DB2-566097B07188}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0479AE08-F6E6-4808-8DB2-566097B07188}.Release|Any CPU.Build.0 = Release|Any CPU + {0479AE08-F6E6-4808-8DB2-566097B07188}.Staging|Any CPU.ActiveCfg = Staging|Any CPU + {0479AE08-F6E6-4808-8DB2-566097B07188}.Staging|Any CPU.Build.0 = Staging|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {A88EA196-6BAD-4AD7-8F6B-58DEE5CC4812} + EndGlobalSection +EndGlobal diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Data/EmailTemplate.html b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Data/EmailTemplate.html new file mode 100644 index 0000000..365a9be --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Data/EmailTemplate.html @@ -0,0 +1,34 @@ + + + + + + Free GroupDocs Document Manupulation Apps + + + +
+
+
+

Free Document Manupulation Apps
{FeatureDescription}

+
+ +

{SuccessMessage}

+ Download Now

This file will be available for download/view for 24 hours. All uploaded and output file will be deleted from our servers after 24 hours. +

+ Thanks,
+ Support Team,
+ GroupDocs.app +

+
+
+
+ Copyright © 2019 Aspose, all rights reserved.
+
+ Aspose Pty Ltd, Suite 163, 79 Longueville Road, Lane Cove, NSW, 2066, Australia. +
+
+ + + + \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Data/TemplateEmail.html b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Data/TemplateEmail.html new file mode 100644 index 0000000..98b950a --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Data/TemplateEmail.html @@ -0,0 +1,34 @@ + + + + + + Free GroupDocs Document Manipulation Apps + + + +
+
+
+

Free Document Manipulation Apps{Heading}

+
+ +

{SuccessMessage}

+ Download Now This file will be available for download/view for 24 hours. All uploaded and output files will be deleted from our servers after 24 hours. +

+ Thanks,
+ Support Team,
+ GroupDocs.app +

+
+
+
+ Copyright © {Year} Aspose, all rights reserved.
+
+ Aspose Pty Ltd, Suite 163, 79 Longueville Road, Lane Cove, NSW, 2066, Australia. +
+
+ + + + \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Data/resources_EN.xml b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Data/resources_EN.xml new file mode 100644 index 0000000..3b3290a --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Data/resources_EN.xml @@ -0,0 +1,742 @@ + + + Free Document Manipulation Apps + Convert, View Word, Excel, PowerPoint, Visio, Project, Slides and many other file formats online + Convert your {0} document to {1} format + {0} to {1} + Home + Download your file + GroupDocs Conversion App - Download File + Free Online Document Parser + GroupDocs.Parser App - Download File + Try it NOW + PDF + HTML + EPUB + BMP + JPG + EMF + TIFF + Your file has been converted successfully, please check your email to download converted file + Your file has been parsed successfully, please check your email to download parsed file + Invalid file, please upload a file with extension + CONVERT NOW + XPS + SVG + Excel + Tex + Word + DOC + ODP + PST + OST + PPTX + EML + MSG + MIME MSG + MHT + 404 Page not found + The link you followed probably broken or the page has been moved + Back to Home + PDF/A-1a + PDF/A-1b + PDF 15 + Image + Word to PDF Conversion + Save as + Drop or upload your file + Your file has been converted successfully + Your file has been parsed successfully + + DOWNLOAD NOW + Send the download link to + Word to Image Conversion + Word to HTML Conversion + EML to MHT Conversion + EML to MSG Conversion + XPS to PDF Conversion + SVG to PDF Conversion + EPUB to PDF Conversion + MIME MSG to EML Conversion + Outlook OST to PST Conversion + PDF to Word Conversion + PDF to Image Conversion + PDF to PPTX Conversion + PDF to Tex Conversion + PDF to Excel Conversion + PowerPoint to HTML Conversion + PowerPoint to Image Conversion + PowerPoint to ODP Conversion + PowerPoint to PDF Conversion + Excel to HTML Conversion + Excel to Image Conversion + Excel to PDF Conversion + Please Enter Valid Email ID + Please drop or upload your file + + GroupDocs.Conversion + GroupDocs.Classification + GroupDocs.Viewer + GroupDocs.Metadata + GroupDocs.Editor + GroupDocs.Cells + GroupDocs.Email + GroupDocs.Pdf + GroupDocs.Slides + GroupDocs.Parser + + PowerPoint + Convert another file + Parse another file + DOC Conversion + PDF Conversion + Spreadsheet Conversion + Presentation Conversion + More Products + + Convert Word documents to PDF, HTML, Open Office, image and other formats + Convert Excel worksheets to PDF, HTML, Open Office and other supported formats + Convert PDF to Word, PowerPoint, image and other formats + Convert PowerPoint presentations to PDF, Open Office, image and other formats + Convert email messages (EML, MSG) and mailboxes from OST to PST format + + Fast and Easy Conversion + Upload your document, choose the save format type and click on “Convert” button. You will get the download link as soon as the file is converted + Convert from Anywhere + It works from all platforms including Windows, Mac, Android and iOS. All files are processed on our servers. No plugin or software installation required for you + Conversion Quality + Powered by + . All files are processed using GroupDocs APIs + Conversion + DOCX + Download link sent successfully, please check your email. + words + cells + slides + pdf + email + + Fast and Easy Classification + Upload your document or type text and click on button with a taxonomy name. You will see the classification results in the table or be able to download them in .csv file + Classify from Anywhere + It works from all platforms including Windows, Mac, Android and iOS. All files are processed on our servers. No plugin or software installation required for you + Classification Quality + . All files are processed using GroupDocs APIs + + Fast and Easy Parser + Upload your document and click on “Get” button. You will get the download link as soon as the file is parsed + Parse from Anywhere + Parser Quality + + Supported documents: {0} + Save as: {0} + conversion + + {0} Product Family Includes + + + Free Word Document Apps + Convert your Word, PDF, Slides, Excel and other documents formats online from anywhere + Convert your Word, PDF, Slides, Excel and other documents formats online from anywhere + View your Word, PDF, Slides, Excel and other documents formats online from anywhere + View, Clean and Add/Update metadata of your Word, PDF, Slides, Excel, Images and other documents formats online from anywhere + HTML editor to convert, edit and manipulate documents of popular file formats of Microsoft Office, OpenDocument and other documents formats online from anywhere + Convert your Word documents to PDF and other file formats in seconds + + Parse your Word, PDF, Slides, Excel and other documents formats online from anywhere + + Online Excel Worksheet Apps + Convert, Add Watermark or View your Excel worksheets online from anywhere + Convert your Excel worksheets to PDF, HTML and other formats from any OS and browser + + Free Online PDF Web Apps + Convert, Add Watermark, Add Annotation or View your PDF files online from anywhere + Convert your PDF files to Word, XPS, PPTX and plenty of other formats + + Free PowerPoint Presentation Apps + Convert or View your PowerPoint presentations online from anywhere + Convert your PowerPoint presentations to PDF, Open Office and other formats + + Free Online Email Apps + Convert or View your emails and mailboxes online from anywhere + Convert your emails and mailboxes from one format to another with our free web apps + Product Family + + Viewer + VIEW NOW + Slides + View your {0} online from anywhere + Quick and Easy Viewer + Upload your document and you will be redirected to the {0} Viewer app with great user experience and many more features. + View from Anywhere + It works from all platforms including Windows, Mac, Android and iOS. All files are processed on our servers. No plugin or software installation required for you + Viewer Quality + . All files are processed using GroupDocs APIs + View your {0} as an image representation + View your {0} online from anywhere + + View your {0} metadata online from anywhere + Quick and Easy Metadata + Upload your document and you will be redirected to the {0} Metadata Editor app with great user experience and many more features. + View from Anywhere + It works from all platforms including Windows, Mac, Android and iOS. All files are processed on our servers. No plugin or software installation required for you + Metadata Quality + . All files are processed using GroupDocs APIs + View your {0} online from anywhere + + Edit your {0} documents online from anywhere + Quick and Easy Editor + Upload or create new document and you will be redirected to the {0} HTML Editor app with great user experience and many more features. + Edit from Anywhere + It works from all platforms including Windows, Mac, Android and iOS. All files are processed on our servers. No plugin or software installation required for you + Editor Quality + . All files are processed using GroupDocs APIs + Edit your {0} online from anywhere + + View your Documents online from anywhere + Document Viewer + View your Spreadsheets online from anywhere + Spreadsheet Viewer + View your PDF file online from anywhere + PDF Viewer + View your PowerPoint file online from anywhere + PowerPoint Viewer + View your Emails online from anywhere + Email Viewer + View your Project files online from anywhere + Project Viewer + View your Visio files online from anywhere + Visio Viewer + View your OneNote files online from anywhere + OneNote Viewer + View your 3D file online from anywhere + 3D Viewer + View your AutoCAD file online from anywhere + AutoCAD Viewer + View your HTML file online from anywhere + HTML Viewer + View your PostScript file online from anywhere + PostScript Viewer + View your Photoshop files online from anywhere + Photoshop Viewer + + DOC, DOCX, DOT, DOTX, RTF or ODT + XLS, XLSX or ODS + PPT, PPTX, ODP + PDF + document + workbook + presentation + document + Word + Excel + PowerPoint + PDF + .doc|.docx|.dot|.dotx|.rtf|.odt + .xls|.xlsx|.ods + .ppt|.pptx|.odp + .pdf + + + View and edit your Word and OpenOffice document's metadata properties + View and edit your Excel and OpenOffice worksheet's metadata properties + View and edit your PowerPoint and OpenOffice presentation's metadata properties + View and edit your PDF's metadata properties + Supported + documents + Please select a file to upload + API response timeout + Cancel + document + Drop a file or upload your + Upload another file + Send the download link to + View and edit meta information in + Fast and Easy Metadata + Upload your document, update the Metadata and click on "Save" button. You will get the download link as soon as the file is saved + View from Anywhere + It works from all platforms including Windows, Mac, Android and iOS. All files are processed on our servers. No plugin or software installation required by you + Metadata Quality + All files are processed using GroupDocs APIs + View Metadata + Metadata has been saved successfully + Metadata has been saved successfully, please check your email to download updated file + + {0} Watermark + Watermark added successfully + Watermark removed successfully + Add Watermark in another file + Watermark + Add Watermark in Word documents online from anywhere + add-watermark + add + remove + add-watermark-in-table-cell + Add Watermark + Add Watermark to your Word document + Remove Watermark + Remove Watermark from your Word document + Add Watermark in Table Cell + Add Watermark in Table Cell of your word document + Fast and Easy {0} + Add + Remove + Upload your file, enter watermark text and click on “Add Watermark” button. You will get the download link as soon as the watermark text is added. + Upload your file and click on “Remove Watermark” button. You will get the download link as soon as the watermark is removed. + Upload your file, enter watermark text and click on “Add Watermark” button. You will get the download link as soon as the watermark text is added in table cell. + Add Watermark to Chart + Add Watermark to Chart of your Excel Worksheet + Add Watermark in your worksheets online from anywhere + add-in-chart + add + Add Watermark Text + Add Watermark + Add Watermark to Worksheet of your Excel Worksheet + + Add Text Stamp in your PDF documents online from anywhere + add + Add Text Stamp + Add Text Stamp to your PDF document + PNG + Excel to XPS Conversion + {0} Watermark from Anywhere + Watermark Quality + Please enter watermark text + + Annotation + Add Annotation Text in your PDF documents online from anywhere + add-text + remove-text + Please enter contents + Annotation Text added successfully + Remove Annotations from your PDF document + {0} Annotation + Title + Subject + Contents + Add Annotation Text in another file + Remove Annotation from another file + Annotation removed successfully + {0} Annotation from Anywhere + Add Annotation Text + Remove Annotation + Add Annotation text to your PDF document + Upload your PDF document, enter title, subject, contents and click on “Add Annotation” button. You will get the download link as soon as the annotation is added. + + Remove All Annotations + Remove All Annotations from your PDF document + Upload your document and click on “Remove Annotation” button. You will get the download link as soon as the annotations are removed. + Annotation Quality + + + Editor + to + format + Convert + + file + file + file + file + file + file + file + file + file + file + file + file + + XPS + SVG + EPUB + Word + Spreadsheet + PDF + Excel + Excel + Microsoft Project® + PowerPoint + PowerPoint + HTML + PostScript + PSD + BMP + JPG + TIFF + ODP + ODT + ODS + Image + Email + MSG + EML + MHT + TEX + Project + Visio + OneNote + OneNote + Photoshop + Raster + Metafile + Markdown + MHTML + Primavera + Text + + 3D + Autodesk + Wavefront + 3D Studio + Draco + AutoCAD + AutoCAD + GIS + Google Earth + GeoJSON + ESRI Shapefile + PostScript + PST + OST + MBOX + + DOC, DOCX + XLSX + PPTX + PDF, PDFA_1A, PDFA_1B, PDF_15 + BMP, JPG, PNG, SVG, TIFF + HTML + EPUB + MSG + EML + MHT + ODP + ODT + ODS + XPS + TEX + PSD + BMP, GIF, JPG, PNG, TIFF + MD + XHTML + MHTML + XML, XER + TXT + FBX + OBJ + 3DS + DRC + KML + JSON, GEOJSON + SHX + PST + OST + MBOX + + PDF + PDF + PDF + PDF + PDF + BMP, GIF, JPG, PNG, TIFF + BMP, JPG, PNG, TIFF + BMP, JPG, PNG, TIFF + + .jpg|.j2k|.bmp|.tiff|.gif|.png|.emf|.wmf|.psd|.webp|.svg|.dicom|.djvu|.dng|.odg|.eps + + .eml|.msg + .eml + .msg + .pst + .ost + .mbox + + .html|.xhtml|.mhtml|.epub|.svg + .mpp|.xml + .vsd|.vsdx|.vsx|.vtx|.vdx|.vssx|.vstx|.vsdm|.vssm|.vstm + .one + .fbx|.stl. obj|.3ds|.gltf|.drc|.rvm|.pdf|.x|.jt|.dxf|.ply|.3mf|.ase + .dwg|.dxf|.dwf|.ifc|.stl + .gpx|.shx|.json|.kml + .ps|.eps + .psd|.psb + .txt + + GroupDocs.Imaging + Free Online Imaging Apps + Convert, Add Watermark or View your Image files online from anywhere + Convert your Image files to Photoshop, Raster and other formats + + GroupDocs.HTML + Free Online HTML Apps + Convert or View your HTML files online from anywhere + Convert your HTML files to PDF, Image and other formats + + GroupDocs.Tasks + Free Online Tasks Apps + Convert or View your Microsoft Project files online from anywhere + Convert your Microsoft Project files to Primavera, PDF and other formats + + GroupDocs.Diagram + Free Online Diagram Apps + Convert or View your Microsoft Visio files online from anywhere + Convert your Microsoft Visio files to PDF, Image and other formats + + GroupDocs.Note + Free Online Note Apps + Convert or View your Microsoft OneNote files online from anywhere + Convert your Microsoft OneNote files to PDF, Image and other formats + + GroupDocs.3D + GroupDocs.3D + Free Online 3D Apps + Convert or View your 3D files online from anywhere + Convert your 3D files to Autodesk, Draco and other formats + + GroupDocs.CAD + Free Online AutoCAD Apps + Convert or View your AutoCAD files online from anywhere + Convert your AutoCAD files to PDF, Image and other formats + + GroupDocs.GIS + Free Online GIS Apps + Convert or View your GIS files online from anywhere + Convert your GIS files to Google Earth, GeoJSON and other formats + + GroupDocs.XPS + Free Online XPS Apps + Convert your XPS files online from anywhere + Convert your Text files to XPS format + + GroupDocs.EPS + Free Online EPS Apps + Convert or View your PostScript files online from anywhere + Convert your PostScript files to PDF format + + GroupDocs.PSD + GroupDocs.PSD + Free Online PSD Apps + Convert or View your PSD files online from anywhere + Convert your PSD files to image and other formats + + PDF 417 + Data Matrix + Aztec + QR + Code 39 Standard + Code 128 + EAN-8 + EAN-13 + EAN-14 + ISSN + ISMN + Pharmacode + Postnet + UPC-A + UPC-E + Encode Type + Recognize BarCode + GroupDocs.BarCode + Recognize BarCode + Recognize BarCode from your image + Recognize BarCode + Drop an image or Upload your image + Read BarCode from an image + Easily read BarCode in 2 simple steps + Fast and Easy Recognize + Upload your image, choose the encode type and click on “Recognize BarCode” button. You will get the BarCode text as soon as the BarCode is recogized + Recognize from Anywhere + Your barcode has been recognized successfully + Recognize Quality + Recognize another barcode + Recognize or Generate your BarCode online from anywhere + Free BarCode Apps + Recognize + Generate + Generate BarCode + Generate BarCode from contents + Fast and Easy Generate + Enter contents, choose the encode type and click on “Generate” button. You will get the BarCode as soon as the BarCode is generated + Generate from Anywhere + Generate Quality + Generate BarCode from content + Easily generate BarCode in 2 simple steps + Enter Barcode Data + Your barcode has been generated successfully + Generate another barcode + 404 + Home Page + Please enter data as numeric value + + Add Watermark to image online from anywhere + Add Watermark to your image + add-diagonal + add + Add Diagonal Watermark + Add Diagonal Watermark to your image + + .jpg|.bmp|.tiff|.gif|.png|.emf|.svg|.eps + Perform OCR + GroupDocs.OCR + Perform OCR for English, French, Spanish and Portuguese languages in your application + Free Online OCR Apps + Performing OCR on an Image + Perform OCR Operation on a Multipage TIFF + Extracting Text from a Recognition Block + image-to-text + tiff-to-text + image-to-text-zonal + + Fast and Easy Perform OCR + Upload your image, choose the language and click on “Perform OCR” button. You will get the text as soon as the OCR is performed + Perform OCR from Anywhere + Perform OCR Quality + Language + Supported {0}: + Upload + Perform another OCR + OCR performed successfully + Doc,Dot,Docx,Docm,Dotx,Dotm,Rtf,Odt,tiff + CSV,Tiff,Xlsb,Xlsm,Xlsx,Xltm,Xltx,pdf,xls,ods + Pdf,Doc,Docx,PPTX,Tex,XLS,XLSX,EPUB + bmp,gif,jpeg,pdf,png,psd,tiff,emf + Annotation + Invisible Annotation + Lnk Annotation + Watermak Annotation + Annotation Type + + Document + Spreadsheet + PDF + PowerPoint + Email + Project + Visio + OneNote + 3D + AutoCAD + HTML + PostScript + Photoshop + Supported formats:{0} + View your files instantly without installing anything + Fast and easy to use + Pick Color + Convert your Word, PDF and Excel documents from anywhere + Parse your Word, PDF and Excel documents from anywhere + + .doc|.docx|.dot|.docm|.rtf|.odt|.txt|.md|.xls|.xlsx|.csv|.xlsm|.xlsb|.ods|.tsv|.ppt|.pptx|.pptm|.pps|.ppsx|.ppsm|.odp|.one|.msg|.eml|.emlx|.pst|.ost|.pop|.imap|.dotx|.potx|.dotm|.potm|.pdf|.epub|.fb2‎|.xml|.html|.xhtml|.mhtml|.chm + .pdf|.doc|.docx|.dot|.dotx|.docm|.dotm|.rtf|.xls|.xlsx|.xlt|.xltx|.xlsm|.xltm|.ppt|.pptx|.pps|.ppsx|.potx|.pptm|.ppsm|.potm|.odt|.vsdx|.vstx|.vssx|.vsdm|.vssm|.vstm|.vdx|.vsx|.vtx|.png|.bmp|.gif|.jpg|.jpeg|.tif|.tiff|.jp2|.webp|.eml|.msg|.emlx|.oft + + Free Online Document Signature + GroupDocs.Signature App - Download File + Your file has been signed successfully, please check your email to download signed file + GroupDocs.Signature + Sign another file + Fast and Easy Signature + Upload your document, select signature type and click on “Sign” button. You will get the download link as soon as the file is signed + Sign from Anywhere + Signature Quality + Sign your Word, PDF, Slides, Excel and other documents formats online from anywhere + Sign your Word, PDF and Excel documents from anywhere + .doc|.docx|.dot|.dotx|.docm|.dotm|.xls|.xlsx|.xlsm|.xlsb|.ots|.xltx|.xltm|.ppt|.pptx|.pps|.ppsx|.otp|.potx|.potm|.pptm|.ppsm|.pdf|.txt|.jpg|.jpeg|.webp|.tiff + Your file has been signed successfully + + GroupDocs.Comparison + Compare your Word, PDF, Slides, Excel and other documents formats online from anywhere + Comparison + COMPARE NOW + Compare your {0} online from anywhere + Quick and Easy Comparison + Upload your source & target documents, you will be redirected to the {0} Comparison app with great user experience and many more features. + Compare from Anywhere + It works from all platforms including Windows, Mac, Android and iOS. All files are processed on our servers. No plugin or software installation required for you + Comparison Quality + . All files are processed using GroupDocs APIs + Compare your {0} online from anywhere + + GroupDocs.Search + Index your data and perform text Search in all Popular document formats online from anywhere + Free Online Document Search + Search Type + Upload your files, select search type and click on “SEARCH NOW” button. You will get the search result as soon as the search complete. + .doc|.docx|.docm|.dot|.dotx|.dotm|.xls|.xlsx|.xlsm|.xltx|.xltm|.xlsb|.ppt|.pptx|.pot|.potx|.pps|.ppsx|.pptm|.ppsm|.chm|.one|.pdf|.odt|.ott|.ods|.odp|.pst|.ost|.msg|.eml|.emlx|.txt|.epub|.fb2|.zip|.rtf + SEARCH NOW + Simple + Boolean + Regex + Fuzzy + Case Sensitive + Faceted + Numeric Range + Exact Phrase + Blended Characters + Wildcard + Free Online Search App for DOC, DOCX, DOCM, DOT, DOTX, DOTM, XLS, XLSX, XLSM, XLTX, XLTM, XLSB, PPT, PPTX, POT, POTX, PPS, PPSX, PPTM, PPSM, CHM, ONE, PDF, ODT, OTT, ODS, ODP, PST, OST, MSG, EML, EMLX, TXT, EPUB, FB2, ZIP and RTF formats + Drop or upload your files + First Term + Second Term + Relevant Key + Search Text + Search Results + GroupDocs.Watermark App - Download File + Add text watermark to your document + + Free Online Document Merger + GroupDocs.Merger App - Download File + Your file has been merged successfully, please check your email to download file + GroupDocs.Merger + Fast and Easy Merger + Merge from Anywhere + Merger Quality + Your file has been merged successfully + Merge another file + Merge your Word, PDF, Slides, Excel and other documents formats online from anywhere + Merge your Word, PDF and Excel documents from anywhere + .doc|.docm|.docx|.dot|.dotx|.dotm|.rtf|.xls|.xlsx|.xlsm|.xlsb|.ppt|.pptx|.pps|.ppsx|.vsdx|.vsdm|.vssx|.vssm|.vtx|.vstm|.vdx|.vstx|.vsx|.one|.odt|.ott|.odp|.otp|.ods|.pdf|.xps|.txt|.csv|.epub + Upload your document(s), click on "Merge" button. You will get the download link as soon as the file is merged + + Free Online Document Redaction + GroupDocs.Redaction App - Download File + Your file has been redacted successfully, please check your email to download file + GroupDocs.Redaction + Fast and Easy Redaction + Upload your document, select redaction type and click on "Redact" button. You will get the download link as soon as the file is redacted + Redact from Anywhere + Redaction Quality + Redact your Word, PDF, Slides, Excel and other documents formats online from anywhere + Redact your Word, PDF and Excel documents from anywhere + Redact another file + Your file has been redacted successfully + .doc|.docx|.dot|.dotx|.docm|.dotm‎|.rtf|.xls|.xlsx|.xlt|.xltx|.xlsm|.xltm|.csv|.ppt|.pptx|.pps|.ppsx|.potx|.pptm|.ppsm|.potm|.pdf + + Please enter an email address + + Other Parser file formats + You can also parse other file formats. Please see the list below. + Other Merger file formats + You can also merge other file formats. Please see the list below. + Other Redaction file formats + You can also redact other file formats. Please see the list below. + Other Signature file formats + You can also sign other file formats. Please see the list below. + Other Splitter file formats + You can also split other file formats. Please see the list below. + + Free Online Document Splitter + GroupDocs.Splitter App - Download File + Your file has been split successfully, please check your email to download file + GroupDocs.Splitter + Fast and Easy Splitter + Split from Anywhere + Splitter Quality + Split your Word, PDF, Slides, Excel and other documents formats online from anywhere + Split your Word, PDF and Excel documents from anywhere + .doc|.docm|.docx|.dot|.dotx|.dotm|.rtf|.xls|.xlsx|.xlsm|.xlsb|.ppt|.pptx|.pps|.ppsx|.vsdx|.vsdm|.vssx|.vssm|.vtx|.vstm|.vdx|.vstx|.vsx|.one|.odt|.ott|.odp|.otp|.ods|.pdf|.xps|.txt|.csv|.epub + Upload your document(s), click on "Split" button. You will get the download link as soon as the file is split + Your file has been split successfully + Split another file + + \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Data/resources_ZH.xml b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Data/resources_ZH.xml new file mode 100644 index 0000000..0e49353 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Data/resources_ZH.xml @@ -0,0 +1,668 @@ + + + 免费的文件格式应用 + 从任何地方在线转换您的Word,PDF和Excel文档 + 将您的{0}文档转换为{1}格式 + {0}到{1} + + 下载转换后的文件 + 下载文件 + 现在就试试3 + PDF + HTML + EPUB + BMP + JPG + EMF + TIFF + 您的文件已成功转换,请检查您的电子邮件下载转换后的文件. + 无效文件。 请上传带扩展名的文件 + 立即转换 + XPS + SVG + Excel + Tex + Word + DOC + ODP + PST + OST + PPTX + EML + MSG + MIME MSG + MHT + 404页面不存在 + 您跟踪的链接可能已损坏或页面已移动 + 回到首页 + PDF/A-1a + PDF/A-1b + PDF 15 + 图片 + 另存为 + 删除文件或上传您的Word文档 + 您的文件已成功转换 + 现在下载 + 发送下载链接到 + Word到PDF转换器 + Word到图像转换器 + Word到HTML转换器 + EML到MHT转换器 + EML到MSG转换器 + XPS到PDF转换器 + SVG到PDF转换器 + EPUB到PDF转换器 + MIME MSG到EML转换器 + Outlook OST到PST转换器 + PDF到Word转换器 + PDF到图像转换器 + PDF到PPTX转换器 + PDF到Tex转换器 + PDF到Excel转换器 + PowerPoint到HTML转换器 + PowerPoint到图像转换器 + PowerPoint到ODP转换器 + PowerPoint到PDF转换器 + Excel到HTML转换器 + Excel到图像转换器 + Excel到PDF转换器 + 请输入有效的电子邮件ID + 请删除文件或上传您的文件 + GroupDocs.Conversion + GroupDocs.Classification + GroupDocs.Cells + GroupDocs.Email + GroupDocs.Pdf + GroupDocs.Slides + PowerPoint + 转换另一个文件 + DOC转换 + PDF转换 + 电子表格转换 + 演示文稿转换 + 更多产品 + 将Word文档转换为PDF,HTML,Open Office,图像和其他格式 + 将Excel工作表转换为PDF,HTML,Open Office和其他支持的格式 + 将PDF转换为Word,PowerPoint,图像和其他格式 + 将PowerPoint演示文稿转换为PDF,Open Office,图像和其他格式 + 将电子邮件(EML,MSG)和邮箱从OST转换为PST格式 + 快速和简单的转换 + 上传你的文件,选择保存格式类型,然后点击“转换”按钮。 文件转换完成后,您将立即获得下载链接 + 从任何地方转换 + 它适用于所有平台,包括Windows,Mac,Android和iOS。 所有文件都在我们的服务器上处理。 无需为您安装插件或软件 + 转换质量 + 供电 + 。 所有文件均使用GroupDocs API进行处理,这些API正在114个国家的许多财富100强公司中使用 + 转变 + DOCX + 下载链接已成功发送,请检查您的电子邮件. + words + cells + slides + pdf + email + + 快速简便的分类 + 上载您的文档或键入文本,然后单击带有分类名称的按钮。 您将在表中看到分类结果或将其下载为.csv文件 + 从任何地方分类 + 它适用于所有平台,包括Windows,Mac,Android和iOS。 所有文件都在我们的服务器上处理。 无需为您安装插件或软件 + 分类质量 + 。 所有文件均使用GroupDocs API进行处理,这些API正在114个国家的许多财富100强公司中使用 + + 支持的文档:{0} + 另存为:{0} + 转变 + + + {0}产品系列包括 + + + 免费Word文档应用程序 + 转换,添加水印或从任何地方在线查看您的Word文档 + 在几秒钟内将Word文档转换为PDF和其他文件格式 + + 在线Excel工作表应用程序 + 转换,添加水印或从任何地方在线查看您的Excel工作表 + 将任何操作系统和浏览器的Excel工作表转换为PDF,HTML和其他格式 + + 免费在线PDF Web应用程序 + 从任何地方在线转换,添加水印,添加注释或查看PDF文件 + 将您的PDF文件转换为Word,XPS,PPTX和其他许多格式 + + 免费PowerPoint演示文稿应用 + 轻松地将您的PowerPoint演示文稿转换为PDF,Open Office和其他格式 + 轻松地将您的PowerPoint演示文稿转换为PDF,Open Office和其他格式 + + 免费在线电子邮件应用 + 使用我们的免费网络应用将您的电子邮件和邮箱从一种格式转换为另一种格式 + 使用我们的免费网络应用将您的电子邮件和邮箱从一种格式转换为另一种格式 + Product Family + + 查看器 + 现在查看 + 从任何地方在线查看您的{0}文档 + 快速和简单的查看器 + 上传您的文档,您将被重定向到具有出色用户体验和功能的{0}文档查看器应用程序 + 从任何地方查看 + 它适用于所有平台,包括Windows,Mac,Android和iOS。所有文件都在我们的服务器上处理。无需为您安装插件或软件 + 看者质量 + Slides + 。所有文件均使用GroupDocs API进行处理,这些API正在114个国家的许多财富100强公司中使用 + View your {0} as an 文档查看器 + 从任何地方在线查看您的{0}文档 + 从任何地方在线查看您的{0}文档 + Document查看器 + 从任何地方在线查看您的Spreadsheet文档 + Spreadsheet文档查看器 + 从任何地方在线查看您的PDF文档 + PDF文档查看器 + 从任何地方在线查看您的Slides文档 + Slides文档查看器 + 从任何地方在线查看您的Emails文档 + Email 文档查看器 + 从任何地方在线查看您的Microsoft Project®文档 + Microsoft Project® 文档查看器 + 从任何地方在线查看您的Diagrams文档 + Diagrams文档查看器 + 从任何地方在线查看您的OneNote文档 + OneNote 文档查看器 + 从任何地方在线查看您的OneNote文档 + OneNote 文档查看器 + 从任何地方在线查看您的3D文档 + 3D 文档查看器 + 从任何地方在线查看您的AutoCAD文档 + AutoCAD 文档查看器 + 从任何地方在线查看您的HTML文档 + HTML 文档查看器 + 从任何地方在线查看您的PostScript文档 + PostScript文档查看器 + 从任何地方在线查看您的PSD文档 + PSD文档查看器 + + DOC, DOCX, DOT, DOTX, RTF or ODT + XLS, XLSX or ODS + PPT, PPTX, ODP + PDF + document + workbook + presentation + document + Word + Excel + PowerPoint + PDF + .doc|.docx|.dot|.dotx|.rtf|.odt + .xls|.xlsx|.ods + .ppt|.pptx|.odp + .pdf + 查看和编辑你的 Word 和 OpenOffice 文件元数据属性 + 查看和编辑你的 Excel 和 OpenOffice 工作表元数据属性 + 查看和编辑你的 PowerPoint 和 OpenOffice 介绍元数据属性 + 查看和编辑你的 PDF 元数据属性 + 支持的 + 文件 + 请选择要上传的文件 + API 响应超时 + 取消 + 文件 + 删除文件或上传您的文件 + 上传另一个文件 + 发送下载链接到 + 查看和编辑元信息 + 快速和简单的元数据 + 上传文件,更新元数据并点击“保存”按钮。文件保存后,您将立即获得下载链接 + 从任何地方查看 + 它适用于所有平台,包括 Windows, Mac, Android 和 iOS. 所有文件都在我们的服务器上处理。您不需要插件或软件安装 + 元数据质量 + 所有文件都使用 GroupDocs APIs, 这被许多人所使用 Fortune 100 遍布114个国家的公司 + 查看元数据 + 元数据已成功保存 + 元数据已成功保存,请检查您的电子邮件以下载更新的文件 + + {0} 水印 + 水印添加成功 + 水印成功删除 + {0} 在另一个文件中加水印 + 水印 + 从任何地方在线添加Word文档中的水印 + add-watermark + add + remove + add-watermark-in-table-cell + 加水印 + 将水印添加到您的Word文档 + 去除水印 + 从您的Word文档中删除水印 + 在表格单元格中添加水印 + 在Word文档的表单元格中添加水印 + 快速和简单 {0} + + 去掉 + 上传文件,输入水印文本,然后单击“添加水印”按钮。 添加水印文本后,您将立即获得下载链接. + 上传您的文件,然后单击“删除水印”按钮。 删除水印后,您将立即获得下载链接. + 上传文件,输入水印文本,然后单击“添加水印”按钮。 只要在表格单元格中添加水印文本,您就会获得下载链接. + 将水印添加到图表 + 将水印添加到Excel工作表的图表中 + 随时随地在工作表中添加水印 + add-in-chart + add + 添加水印文本 + 将水印添加到工作表 + 将水印添加到Excel工作表的工作表 + + 从任何地方在线添加PDF文档中的文本标记 + add + 添加文字印章 + 将文本戳添加到您的PDF文档 + PNG + Excel到XPS转换 + {0}来自任何地方的水印 + 水印质量 + 请输入水印文字 + 注解 + 随时随地在线添加PDF文档中的注释文本 + add-text + remove-text + 请输入内容 + 注释文本已成功添加 + 从PDF文档中删除注释 + {0}注释 + 标题 + 学科 + 内容 + 在另一个文件中添加注释文本 + 从其他文件中删除注释 + 注释已成功删除 + 来自任何地方的{0}注释 + 添加注释文本 + 删除注释 + + 将注释文本添加到PDF文档中 + 上传您的PDF文档,输入标题,主题,内容,然后单击“添加注释”按钮。 添加注释后,您将立即获得下载链接. + + 删除所有注释 + 从PDF文档中删除所有注释 + 上传您的文档,然后单击“删除注释”按钮。 删除注释后,您将立即获得下载链接. + 注释质量 + + 编辑 + + 格式 + 兑换 + + file + file + file + file + file + file + file + file + file + file + file + file + + XPS + SVG + EPUB + Word + PDF + Excel + Excel + Microsoft Project® + PowerPoint + PowerPoint + HTML + PostScript + PSD + BMP + JPG + TIFF + ODP + ODT + ODS + Image + Email + MSG + EML + MHT + TEX + Project + Visio + OneNote + OneNote + Photoshop + Raster + Metafile + Markdown + MHTML + Primavera + Text + + 3D + Autodesk + Wavefront + 3D Studio + Draco + AutoCAD + AutoCAD + GIS + Google Earth + GeoJSON + ESRI Shapefile + PostScript + PST + OST + MBOX + + DOC, DOCX + XLSX + PPTX + PDF, PDFA_1A, PDFA_1B, PDF_15 + BMP, JPG, PNG, SVG, TIFF + HTML + EPUB + MSG + EML + MHT + ODP + ODT + ODS + XPS + TEX + PSD + BMP, GIF, JPG, PNG, TIFF + MD + XHTML + MHTML + XML, XER + TXT + FBX + OBJ + 3DS + DRC + KML + JSON, GEOJSON + SHX + PST + OST + MBOX + + PDF + PDF + PDF + PDF + PDF + BMP, GIF, JPG, PNG, TIFF + BMP, JPG, PNG, TIFF + BMP, JPG, PNG, TIFF + + .jpg|.j2k|.bmp|.tiff|.gif|.png|.emf|.wmf|.psd|.webp|.svg|.dicom|.djvu|.dng|.odg|.eps + + .eml|.msg + .eml + .msg + .pst + .ost + .mbox + + .html|.xhtml|.mhtml|.epub|.svg + .mpp|.xml + .vsd|.vsdx|.vsx|.vtx|.vdx|.vssx|.vstx|.vsdm|.vssm|.vstm + .one + .fbx|.stl. obj|.3ds|.gltf|.drc|.rvm|.pdf|.x|.jt|.dxf|.ply|.3mf|.ase + .dwg|.dxf|.dwf|.ifc|.stl + .gpx|.shx|.json|.kml + .ps|.eps + .psd|.psb + .txt + + GroupDocs.Imaging + 免费在线成像应用 + 从任何地方在线转换,添加水印或查看您的图像文件 + 将图像文件转换为Photoshop,Raster和其他格式 + + GroupDocs.HTML + 免费在线HTML应用程序 + 随时随地在线转换或查看HTML文件 + 将HTML文件转换为PDF,图像和其他格式 + + GroupDocs.Tasks + 免费在线任务应用 + 从任何地方在线转换或查看Microsoft Project文件 + 将Microsoft Project文件转换为Primavera,PDF和其他格式 + + GroupDocs.Diagram + 免费在线图表应用 + 从任何地方在线转换或查看Microsoft Visio文件 + 将Microsoft Visio文件转换为PDF,图像和其他格式 + + GroupDocs.Note + 免费在线笔记应用 + 从任何地方在线转换或查看Microsoft OneNote文件 + 将Microsoft OneNote文件转换为PDF,图像和其他格式 + + GroupDocs.3D + GroupDocs.3D + 免费在线3D应用程序 + 从任何地方在线转换或查看您的3D文件 + 将您的3D文件转换为Autodesk,Draco和其他格式 + + GroupDocs.CAD + 免费在线AutoCAD应用程序 + 随时随地在线转换或查看AutoCAD文件 + 将AutoCAD文件转换为PDF,图像和其他格式 + + GroupDocs.GIS + 免费在线GIS应用程序 + 从任何地方在线转换或查看您的GIS文件 + 将您的GIS文件转换为Google Earth,GeoJSON和其他格式 + + GroupDocs.XPS + 免费在线XPS应用程序 + 从任何地方在线转换您的XPS文件 + 将文本文件转换为XPS格式 + + GroupDocs.EPS + 免费在线EPS应用程序 + 从任何地方在线转换或查看PostScript文件 + 将PostScript文件转换为PDF格式 + + GroupDocs.PSD + GroupDocs.PSD + 免费在线PSD应用程序 + 从任何地方在线转换或查看PSD文件 + 将PSD文件转换为image格式 + + PDF 417 + Data Matrix + Aztec + QR + Code 39 Standard + Code 128 + EAN-8 + EAN-13 + EAN-14 + ISSN + ISMN + Pharmacode + Postnet + UPC-A + UPC-E + 编码类型 + 认识BarCode + GroupDocs.BarCode + 认识BarCode + 从您的图像中识别BarCode + 认识BarCode + 删除图像或上传图像 + 从图像中读取BarCode + 只需2个简单步骤即可轻松阅读BarCode + 快速轻松识别 + 上传您的图像,选择编码类型,然后单击“识别条形码”按钮。 一旦BarCode被识别,您将获得BarCode文本 + 从任何地方认识 + 您的条形码已成功识别 + 认可质量 + 识别另一个条形码 + 随时随地在线识别或生成您的BarCode + 免费BarCode应用程序 + 认识 + 生成 + 生成BarCode + 从内容生成BarCode + 快速简便的生成 + 输入内容,选择编码类型,然后单击“生成”按钮。 生成BarCode后,您将立即获得BarCode + 从任何地方生成 + 生成质量 + 从内容生成BarCode + 只需2个简单步骤即可轻松生成BarCode + 输入条形码数据 + 您的条形码已成功生成 + 生成另一个条形码 + 404 + 主页 + 请输入数据作为数值 + 添加水印从任何地方在线图像 + 为您的图片添加水印 + add-diagonal + 添加对角线水印 + 为图像添加对角线水印 + add + + .jpg|.bmp|.tiff|.gif|.png|.emf|.svg|.eps + 执行OCR + GroupDocs.OCR + 在您的应用程序中执行英语,法语,西班牙语和葡萄牙语语言的OCR + 免费在线OCR应用程序 + 在图像上执行OCR + 在多页TIFF上执行OCR操作 + 从识别块中提取文本 + image-to-text + tiff-to-text + image-to-text-zonal + + 快速轻松地执行OCR + 上传您的图像,选择语言并单击“执行OCR”按钮. 执行OCR后,您将立即获得文本 + 从任何地方执行OCR + 执行OCR质量 + 语言 + 支持{0}: + 上传 + 执行另一个OCR + OCR成功完成 + Doc,Dot,Docx,Docm,Dotx,Dotm,Rtf,Odt,tiff + CSV,Tiff,Xlsb,Xlsm,Xlsx,Xltm,Xltx,pdf,xls + Pdf,Doc,Docx,PPTX,Tex,XLS,XLSX,EPUB + bmp,gif,jpeg,pdf,png,psd,tiff,emf + + 注解 + 隐形注释 + Lnk注释 + 水印注释 + 注释类型 + + Document + Spreadsheet + PDF + PowerPoint + Email + Project + Visio + OneNote + 3D + AutoCAD + HTML + PostScript + Photoshop + Supported formats:{0} + View your files instantly without installing anything + Fast and easy to use + 选择颜色 + Convert your Word, PDF and Excel documents from anywhere + + GroupDocs.Parser App - 下载文件 + 您的文件已成功解析,请检查您的电子邮件以下载已解析的文件 + 您的文件已成功解析 + GroupDocs.Parser + 解析另一个文件 + 快速简便的解析器 + 上传您的文档,然后单击“解析”按钮。解析文件后,您将立即获得下载链接 + 从任何地方解析 + 解析器质量 + 从任何地方在线解析您的Word,PDF,幻灯片,Excel和其他文档格式 + 从任何地方解析Word,PDF和Excel文档 + .doc|.docx|.dot|.docm|.rtf|.odt|.txt|.md|.xls|.xlsx|.csv|.xlsm|.xlsb|.ods|.tsv|.ppt|.pptx|.pptm|.pps|.ppsx|.ppsm|.odp|.one|.msg|.eml|.emlx|.pst|.ost|.pop|.imap|.dotx|.potx|.dotm|.potm|.pdf|.epub|.fb2‎|.xml|.html|.xhtml|.mhtml|.chm + + GroupDocs.Signature 应用程序 - 下载文件 + 您的文件已成功签名,请检查您的电子邮件以下载签名文件 + GroupDocs.Signature + 签署另一个文件 + 快速简便的签名 + 上传您的文档,选择签名类型,然后单击“签名”按钮。文件签名后,您将立即获得下载链接 + 从任何地方签名 + 签名质量 + 随时随地在线签署您的Word,PDF,幻灯片,Excel和其他文档格式 + 从任何地方签署您的Word,PDF和Excel文档 + .doc|.docx|.dot|.dotx|.docm|.dotm|.xls|.xlsx|.xlsm|.xlsb|.ots|.xltx|.xltm|.ppt|.pptx|.pps|.ppsx|.otp|.potx|.potm|.pptm|.ppsm|.pdf|.txt|.jpg|.jpeg|.webp|.tiff + 您的文件已成功签名 + + 免费在线文档解析器 + 免费在线文档签名 + + 免费的在线文档合并 + GroupDocs.Merger App-下载文件 + 您的文件已成功合并,请检查您的电子邮件以下载文件 + GroupDocs.Merger + 快速轻松合并 + 从任何地方合并 + 合并质量 + 您的文件已成功合并 + 合并另一个文件 + 随时随地在线合并您的Word,PDF,幻灯片,Excel和其他文档格式 + 随时随地合并您的Word,PDF和Excel文档 + .doc|.docm|.docx|.dot|.dotx|.dotm|.rtf|.xls|.xlsx|.xlsm|.xlsb|.ppt|.pptx|.pps|.ppsx|.vsdx|.vsdm|.vssx|.vssm|.vtx|.vstm|.vdx|.vstx|.vsx|.one|.odt|.ott|.odp|.otp|.ods|.pdf|.xps|.txt|.csv|.epub + 上传您的文件,点击“合并”按钮。合并文件后,您将立即获得下载链接 + + 免费在线文档编辑 + GroupDocs.Redaction 应用程序 - 下载文件 + 您的文件已成功编辑,请检查您的电子邮件以下载文件 + GroupDocs.Redaction + 快速简便的编辑 + 上传您的文档,选择编辑类型,然后单击“编辑”按钮。编辑文件后,您将立即获得下载链接 + 从任何地方编辑 + 编辑质量 + 从任何地方在线编辑您的Word,PDF,幻灯片,Excel和其他文档格式 + 从任何地方编辑您的Word,PDF和Excel文档 + 编辑另一个文件 + 您的文件已成功编辑 + .doc|.docx|.dot|.dotx|.docm|.dotm‎|.rtf|.xls|.xlsx|.xlt|.xltx|.xlsm|.xltm|.csv|.ppt|.pptx|.pps|.ppsx|.potx|.pptm|.ppsm|.potm|.pdf + + 请输入电子邮件地址 + + 其他解析器文件格式 + 您还可以解析其他文件格式。请参阅下面的列表 + 其他合并文件格式 + 您还可以合并其他文件格式。请参阅下面的列表 + 其他修订文件格式 + 您还可以编辑其他文件格式。请参阅下面的列表 + 其他签名文件格式 + 您还可以签署其他文件格式。请参阅下面的列表 + + 其他Splitter文件格式 + 您还可以拆分其他文件格式。请参阅下面的列表 + 免费的在线文件拆分器 + GroupDocs.Splitter应用程序-下载文件 + 您的文件已成功拆分,请检查您的电子邮件以下载文件 + GroupDocs.Splitter + 快速简便的分配器 + 从任何地方拆分 + 分离器质量 + 随时随地在线拆分Word,PDF,幻灯片,Excel和其他文档格式 + 从任何地方拆分Word,PDF和Excel文档 + .doc|.docm|.docx|.dot|.dotx|.dotm|.rtf|.xls|.xlsx|.xlsm|.xlsb|.ppt|.pptx|.pps|.ppsx|.vsdx|.vsdm|.vssx|.vssm|.vtx|.vstm|.vdx|.vstx|.vsx|.one|.odt|.ott|.odp|.otp|.ods|.pdf|.xps|.txt|.csv|.epub + 上传您的文档,点击“拆分”按钮。文件拆分后,您将立即获得下载链接 + 您的文件已成功拆分 + 分割另一个档案 + + diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Start/BundleConfig.cs b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Start/BundleConfig.cs new file mode 100644 index 0000000..7fef1c7 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Start/BundleConfig.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Optimization; +using System.Web.UI; + +namespace GroupDocs.Assembly.Live.Demos.UI +{ + public class BundleConfig + { + // For more information on Bundling, visit https://go.microsoft.com/fwlink/?LinkID=303951 + public static void RegisterBundles(BundleCollection bundles) + { + + } + } +} \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Start/RouteConfig.cs b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Start/RouteConfig.cs new file mode 100644 index 0000000..0a6c098 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Start/RouteConfig.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Web; +using System.Web.Routing; +using Microsoft.AspNet.FriendlyUrls; + +namespace GroupDocs.Assembly.Live.Demos.UI +{ + public static class RouteConfig + { + public static void RegisterRoutes(RouteCollection routes) + { + var settings = new FriendlyUrlSettings(); + settings.AutoRedirectMode = RedirectMode.Permanent; + routes.EnableFriendlyUrls(settings); + } + } +} diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/ApplicationInsights.config b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/ApplicationInsights.config new file mode 100644 index 0000000..080c0c3 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/ApplicationInsights.config @@ -0,0 +1,139 @@ + + + + + + + + + + search|spider|crawl|Bot|Monitor|AlwaysOn + + + + + + + + + + + + + + + core.windows.net + core.chinacloudapi.cn + core.cloudapi.de + core.usgovcloudapi.net + + + Microsoft.Azure.EventHubs + Microsoft.Azure.ServiceBus + + + + + + + + + + + + + + + + + + + Microsoft.VisualStudio.Web.PageInspector.Runtime.Tracing.RequestDataHttpHandler + System.Web.StaticFileHandler + System.Web.Handlers.AssemblyResourceLoader + System.Web.Optimization.BundleHandler + System.Web.Script.Services.ScriptHandlerFactory + System.Web.Handlers.TraceHandler + System.Web.Services.Discovery.DiscoveryRequestHandler + System.Web.HttpDebugHandler + + + + + + + + + + + + + 5 + Event + + + 5 + Event + + + + + + \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/Default.aspx b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/Default.aspx new file mode 100644 index 0000000..6e51b92 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/Default.aspx @@ -0,0 +1,425 @@ +<%@ Page Title="Free online document and report generator for DOCX, PPTX, XLSX, DOT and other formats" Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="GroupDocs.Assembly.Live.Demos.UI.Assembly.Default" MasterPageFile="~/site.Master" %> + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ +
+

Free Online Document Assembly

+

Free Online {{REQUESTED_EXTENSION}} file Assembly

+

Generate meaningful documents from template and raw data, supporting Word, Excel, Email and more than 50 types of documents

+

Generate meaningful documents from {{REQUESTED_EXTENSION}} template files, and many other supported file formats

+ + +
+ +
+
+ + +
+ + +
+ +

+

+ +
+ +   + Upload Template + +
+
+ +   + Help + +
+
+
+
+ + +
+
+
+ + +
+ + +
+ + + + + + + + + + +
+ Table Index + +
+ +
+
+ Data Source Name + +
+ +
+
+
+ +

+

+
+ +   + Upload Data Source + +
+
+ +   + Help + +
+
+
 
+ +   + Go Back + +
+
+ + +
+
+
+ + + +   + ASSEMBLE NOW + + +
+
+ +   + Go Back + +
+
+ +
+
+
+
+ + + + + +
+
+

+ {{REQUESTED_FILEFORMAT.Extension}} + {{REQUESTED_FILEFORMAT.Name}} +

+

+ {{REQUESTED_FILEFORMAT.Description}} +
+
+ Read More +

+
+
+ +
+
+
+

GroupDocs.Assembly App

+

GroupDocs.Assembly App Supported Document Formats

+
+
+
+
+
+
+
+
Microsoft Office Formats
+
    +
  • Word: DOC, DOCX, DOT, DOTX, DOTM, DOCM, RTF, WordprocessingML (XML)
  • +
  • Excel: XLS, XLSX, XLSM, XLSB, XLT, XLTM, XLTX, SpreadsheetML (XML)
  • +
  • PowerPoint: PPT, PPTX, PPTM, PPS, PPSX, PPSM, POTX, POTM
  • +
  • Outlook: EML, EMLX, MSG
  • +
+
Supported Data Sources
+
    +
  • Spreadsheet as Table of Data
  • +
  • Word Processing Table as Table of Data
  • +
+
+
+
Other Formats
+
    +
  • OpenOffice Document Formats: ODT, OTT, ODS, ODP
  • +
  • Email: MHT, MHTML
  • +
  • Web: HTML
  • +
  • Other : TXT
  • +
+
Inter-Format Assembly Support
+
    +
  • Word Processing TO Word Processing, HTML, PDF, XPS, TIFF, MHTML, TXT, XAML, OpenXPS, EPUB, SVG, PS, PCL
  • +
  • Spreadsheet TO Spreadsheet, HTML, PDF, XPS, TIFF, MHTML
  • +
  • Presentation TO Presentation, HTML, PDF, XPS, TIFF
  • +
  • Email TO Word Processing, Email, HTML, PDF, XPS, TIFF, MHTML, TXT, XAML, OpenXPS, EPUB, SVG, PS, PCL
  • +
  • HTML & TXT TO Word Processing, HTML, PDF, XPS, TIFF, MHTML, TXT, XAML, OpenXPS, EPUB, SVG, PS, PCL
  • +
+
+
+ +
+
+ +
+ +
+
+ +
+ +
+
+
+

 How to assemble a {{REQUESTED_EXTENSION}} file using GroupDocs.Assembly App

+
    +
  • Click inside the file drop area to upload a {{REQUESTED_EXTENSION}} template file or drag & drop a {{REQUESTED_EXTENSION}} template file.
  • +
  • Click Upload Template to start uploading.
  • +
  • Click inside the file drop area to upload a data-source file or drag & drop it.
  • +
  • Choose the appropriate Table Index and Data Source Name options.
  • +
      +
    1. Table Index is the zero-based serial number of the table that exist in the data-source file. For example, if you have a spreadsheet file as data-source file then its first sheet is at zero index.
    2. +
    3. Data Source Name is that name of data-source table which is used to reffer inside your {{REQUESTED_EXTENSION}} template file.
    4. +
    +
  • In the next step, you can download your assembled {{REQUESTED_EXTENSION}} file.
  • +
+
+
+
+
+ +
+
+
+
+
+ +
+

Fast and Easy Assembly

+

Upload your template and data-source files, choose the appropriate options and click on “ASSEMBLE NOW” button. You will get the output file as soon as the files are assembled.

+
+
+
+ +
+

Assemble from Anywhere

+

It works from all platforms including Windows, Mac, Android and iOS. All files are processed on our servers. No plugin or software installation required for you.

+
+
+
+ +
+

Assembly Quality

+

Powered by GroupDocs.Assembly. All files are processed using GroupDocs APIs.

+
+
+
+
+ +
+ + +
diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/Default.aspx.cs b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/Default.aspx.cs new file mode 100644 index 0000000..e6739ea --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/Default.aspx.cs @@ -0,0 +1,18 @@ +using System; +using System.Web.UI; + +namespace GroupDocs.Assembly.Live.Demos.UI.Assembly +{ + public partial class Default : System.Web.UI.Page + { + protected FileFormat fileFormat; + + protected void Page_Load(object sender, EventArgs e) + { + if (Page.RouteData.Values["extension"] != null) + { + string extension = Page.RouteData.Values["extension"].ToString().ToLower(); + } + } + } +} \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/Default.aspx.designer.cs b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/Default.aspx.designer.cs new file mode 100644 index 0000000..c575c07 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/Default.aspx.designer.cs @@ -0,0 +1,15 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace GroupDocs.Assembly.Live.Demos.UI.Assembly { + + + public partial class Default { + } +} diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/app.config.js b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/app.config.js new file mode 100644 index 0000000..06f3ece --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/app.config.js @@ -0,0 +1,13 @@ +(function () { + 'use strict'; + + angular.module('GroupDocsAssemblyApp').config([ + '$locationProvider', + '$routeProvider', + function ($locationProvider, $routeProvider) { +// $locationProvider.hashPrefix('!'); +// $routeProvider.otherwise({redirectTo: '/overview'}); + } + ]); + +})(); diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/app.controller.main.js b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/app.controller.main.js new file mode 100644 index 0000000..6b646ee --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/app.controller.main.js @@ -0,0 +1,108 @@ +(function () { + 'use strict'; + + function main($rootScope, $scope, $http, $window, Upload, $timeout, $mdSidenav) { + $scope.jid = randomString(); + $scope.templateFile = {}; + $scope.datasourceFile = {}; + $scope.datasourceTableIndex = 0; + $scope.datasourceName = ""; + $scope.stage = 1; + $scope.REQUESTED_FILEFORMAT = REQUESTED_FILEFORMAT; + + if (REQUESTED_EXTENSION === null) { + $scope.REQUESTED_EXTENSION = null; + } else { + $scope.REQUESTED_EXTENSION = REQUESTED_EXTENSION.toUpperCase(); + } + + $scope.uploadTemplateFile = function () { + $scope.uploadFile( + $scope.templateFile.file, + function (response) { + $scope.stage = 2; + }, + function (response) { + alertError(response); + }, + function (e) { + $scope.templateFile.loadedSize = e.loaded; + $scope.templateFile.totalSize = e.total; + $scope.templateFile.progress = Math.min(100, parseInt(100.0 * e.loaded / e.total)); + } + ); + }; + + $scope.uploadDatasourceFile = function () { + $scope.uploadFile( + $scope.datasourceFile.file, + function () { + $scope.stage = 3; + }, + function (response) { + alertError(response); + }, + function (e) { + $scope.datasourceFile.loadedSize = e.loaded; + $scope.datasourceFile.totalSize = e.total; + $scope.datasourceFile.progress = Math.min(100, parseInt(100.0 * e.loaded / e.total)); + } + ); + }; + + $scope.assembleDocument = function () { + $http({ + method: "POST", + url: GROUPDOCS_ASSEMBLY_API_BASE + "Assemble?" + $.param({ + jid: $scope.jid, + templateFilename: $scope.templateFile.file.name, + datasourceFilename: $scope.datasourceFile.file.name, + assembledFilename: "assembled-" + $scope.templateFile.file.name, + datasourceName: $scope.datasourceName, + datasourceTableIndex: $scope.datasourceTableIndex, + }), + responseType: "application/json", + }).then( + function (response) { + window.location.href = GROUPDOCS_ASSEMBLY_API_BASE + "Download?" + $.param({ + jid: $scope.jid, + filename: response.data.filename, + }); + }, + function (response) { + alertError(response) + } + ); + }; + + $scope.uploadFile = function (file, success, error, progress) { + Upload.upload({ + url: GROUPDOCS_ASSEMBLY_API_BASE + "Upload?" + $.param({ + jid: $scope.jid, + }), + data: { + file: file, + } + }).then(success, error, progress); + }; + + } + + function randomString() { + return Math.random().toString(36).substring(2) + + Math.random().toString(36).substring(2) + + Math.random().toString(36).substring(2); + } + + function alertError(response) { + console.error("Error occurred while processing request.", response.data); + alert(response.data.Message + + " " + + response.data.ExceptionMessage + + "\n\n" + + "See console for details." + ); + } + + angular.module('GroupDocsAssemblyApp').controller('Main', main); +})(); diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/app.js b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/app.js new file mode 100644 index 0000000..fc03ce8 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/app.js @@ -0,0 +1,13 @@ +(function () { + 'use strict'; + + angular.module('GroupDocsAssemblyApp', [ + 'ngRoute', + 'ngMessages', + 'ngResource', + 'ngMaterial', + 'ngFileUpload' + ]).info({ + version: '1.0', + }); +})(); diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/app.run.js b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/app.run.js new file mode 100644 index 0000000..1d35561 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/app.run.js @@ -0,0 +1,9 @@ +(function () { + 'use strict'; + + function main($rootScope) { + } + + angular.module('GroupDocsAssemblyApp').run(main); + +})(); diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/const.js b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/const.js new file mode 100644 index 0000000..e804df4 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/const.js @@ -0,0 +1,16 @@ +(function (window, location) { + "use strict"; + + switch (String(location.hostname)) { + case "products.groupdocs.app": + window.GROUPDOCS_ASSEMBLY_API_BASE = "/GroupDocsAPI/api/GroupDocsAssembly/"; + break; + case "products-qa.groupdocs.app": + window.GROUPDOCS_ASSEMBLY_API_BASE = "/GroupDocsAPI/api/GroupDocsAssembly/"; + break; + case "localhost": + window.GROUPDOCS_ASSEMBLY_API_BASE = "http://localhost:2122/api/GroupDocsAssembly/"; + break; + } +})(window, location); + diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/menu.js b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/menu.js new file mode 100644 index 0000000..9d9bb5e --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/menu.js @@ -0,0 +1,9 @@ +(function () { + $(document).ready(function () { + // if (window.location.hostname.startsWith('zh.')) { + // LoadMenu("GroupDocsApp", "Chinese"); + // } else { + LoadMenu("GroupDocsApp"); + // } + }); +})(); diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/sitemap.aspx b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/sitemap.aspx new file mode 100644 index 0000000..7b338f5 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/sitemap.aspx @@ -0,0 +1,18 @@ +<%@ Page Language="C#" AutoEventWireup="true" ContentType="text/xml"%> + +<% + string[] extensions = "DOC DOCX DOT DOTX DOTM DOCM RTF XML XLS XLSX XLSM XLSB XLT XLTM XLTX PPT PPTX PPTM PPS PPSX PPSM POTX POTM EML EMLX MSG ODT OTT ODS ODP MHT MHTML HTML TXT".Split(' '); +%> + + + + + + https://products.groupdocs.app/assembly/total + 0.9 + + <%foreach (var e in extensions) { %> + https://products.groupdocs.app/assembly/<%= e.ToLower() %> + 0.9 + <% } %> + diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/style.css b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/style.css new file mode 100644 index 0000000..d3c4148 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/style.css @@ -0,0 +1,19 @@ +.navbar-inverse, .skin-inverse .navbar { + background-color: #000b1b; + border-color: #00040f +} + +#DynabicMenuInnerDiv .topheader { + z-index: 1000; +} + +.btn-group.saveformat +{ + margin-bottom: 10px; +} + +.btn-group.saveformat, +.btn-group.saveformat input { + width: 100px; +} + diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Bundle.config b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Bundle.config new file mode 100644 index 0000000..de5e842 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Bundle.config @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/AppSettings.cs b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/AppSettings.cs new file mode 100644 index 0000000..5c860a9 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/AppSettings.cs @@ -0,0 +1,41 @@ +using System; +using System.Data; +using System.Configuration; +using System.Web; +using System.IO; + +/// +/// Summary description for Configuration +/// +namespace GroupDocs.Assembly.Live.Demos.UI +{ + public static class AppSettings + { + private static string path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase).Substring(6); // + "\\GroupDocs.Total.lic"; + + private static string _outputDirectory = path + ConfigurationManager.AppSettings["OutputDirectory"].ToString(); + private static string _workingDirectory = path + ConfigurationManager.AppSettings["WorkingDirectory"].ToString(); + private static string _storageDirectory = path + ConfigurationManager.AppSettings["StorageDirectory"].ToString(); + private static string _filesBaseDirectory = path + ConfigurationManager.AppSettings["FilesBaseDirectory"].ToString(); + + public static string OutputDirectory + { + get { return _outputDirectory; } + } + + public static string WorkingDirectory + { + get { return _workingDirectory; } + } + + public static string StorageDirectory + { + get { return _storageDirectory; } + } + + public static string FilesBaseDirectory + { + get { return _filesBaseDirectory.ToLower(); } + } + } +} \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/BaseMasterPage.cs b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/BaseMasterPage.cs new file mode 100644 index 0000000..15cb1be --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/BaseMasterPage.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Web; +using System.Web.UI; + +namespace GroupDocs.Assembly.Live.Demos.UI.Config +{ + public class BaseMasterPage : MasterPage + { + private GroupDocsAppsContext _atContext; + + /// + /// Main context object to access all the SybContent specific context info + /// + public GroupDocsAppsContext GroupDocsAppsContext + { + get + { + if (_atContext == null) _atContext = new GroupDocsAppsContext(HttpContext.Current); + return _atContext; + } + } + + private Dictionary _resources; + + /// + /// key/value pair containing all the error messages defined in resources.xml file + /// + public Dictionary Resources + { + get + { + if (_resources == null) _resources = GroupDocsAppsContext.Resources; + return _resources; + } + } + + protected override void OnLoad(EventArgs e) + { + // Sync the central context store with the first loaded context for this page + GroupDocsAppsContext.atcc = GroupDocsAppsContext; + base.OnLoad(e); + } + } +} \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/BasePage.cs b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/BasePage.cs new file mode 100644 index 0000000..5c38663 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/BasePage.cs @@ -0,0 +1,61 @@ +using System; +using System.Data; +using System.Web; +using GroupDocs.Assembly.Live.Demos.UI.Config; + +namespace GroupDocs.Assembly.Live.Demos.UI.Config +{ + public class BasePage : BaseRootPage + { + protected override void OnPreInit(EventArgs e) + { + + base.OnPreInit(e); + } + + protected override void OnLoad(EventArgs e) + { + if (!Page.IsPostBack) + { + if (String.IsNullOrEmpty(Page.Title)) + { + if (Resources != null) + { + Page.Title = Resources["ApplicationTitle"]; + } + } + } + base.OnLoad(e); + } + + protected string GetAsposeUnlockProduct(string fileName) + { + string asposeProduct = null; + + string ext = System.IO.Path.GetExtension(fileName).ToLower(); + + if (ext == ".pdf") + { + asposeProduct = "PDF"; + } + else if (ext == ".one") + { + asposeProduct = "Note"; + } + else if (".doc .docx .dot .dotx .odt .ott".Contains(ext)) + { + asposeProduct = "Words"; + } + else if (".xls .xlsx .xlsm .xlsb .ods".Contains(ext)) + { + asposeProduct = "Cells"; + } + else if (".ppt .pptx .odp".Contains(ext)) + { + asposeProduct = "Slides"; + } + + return asposeProduct; + } + } +} \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/BaseRootPage.cs b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/BaseRootPage.cs new file mode 100644 index 0000000..82c0ab9 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/BaseRootPage.cs @@ -0,0 +1,81 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Web; +using System.Web.UI; + +namespace GroupDocs.Assembly.Live.Demos.UI.Config +{ + /// + /// The base page for all the other base page types, initializes access to the provider libraries and context + /// + public class BaseRootPage : Page + { + private GroupDocsAppsContext _atcContext; + + private static string _url; + + public static string URL + { + get { return _url; } + set { _url = "~/Default.aspx"; } + } + /// + /// Main context object to access all the dcContent specific context info + /// + public GroupDocsAppsContext GroupDocsAppsContext + { + get + { + if (_atcContext == null) _atcContext = new GroupDocsAppsContext(HttpContext.Current); + return _atcContext; + } + } + + private Dictionary _resources; + + /// + /// key/value pair containing all the error messages defined in resources.xml file + /// + public Dictionary Resources + { + get + { + if (_resources == null) _resources = GroupDocsAppsContext.Resources; + return _resources; + } + } + protected override void OnInit(EventArgs e) + { + // Initialize our base class (System.Web,UI.Page) + base.OnInit(e); + // Check to see if the Session is null (doesnt exist) + if (GroupDocsAppsContext.Session != null) + { + // Check the IsNewSession value, this will tell us if the session has been reset. + // IsNewSession will also let us know if the users session has timed out + if (Session.IsNewSession) + { + // Now we know it's a new session, so we check to see if a cookie is present + string cookie = Request.Headers["Cookie"]; + // Now we determine if there is a cookie does it contains what we're looking for + if ((null != cookie) && (cookie.IndexOf("ASP.NET_SessionId") >= 0)) + { + //since it's a new session but a ASP.Net cookie exist we know + //the session has expired so we need to redirect them + //if ((Request.RawUrl.ToString().IndexOf("Index.aspx") < 0) && (Request.RawUrl.ToString().IndexOf("User.aspx") < 0)) + //{ + // Response.Redirect("~/Default.aspx"); + //} + } + } + } + } + protected override void OnLoad(EventArgs e) + { + // Sync the central context store with the first loaded context for this page + GroupDocsAppsContext.atcc = GroupDocsAppsContext; + base.OnLoad(e); + } + } +} \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/BaseUserControl.cs b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/BaseUserControl.cs new file mode 100644 index 0000000..1dc858b --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/BaseUserControl.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Web; +using System.Web.UI; + +namespace GroupDocs.Assembly.Live.Demos.UI.Config +{ + public class BaseUserControl : UserControl + { + private GroupDocsAppsContext _atcContext; + + /// + /// Main context object to access all the dcContent specific context info + /// + public GroupDocsAppsContext GroupDocsAppsContext + { + get + { + if (_atcContext == null) _atcContext = new GroupDocsAppsContext(HttpContext.Current); + return _atcContext; + } + } + + private Dictionary _resources; + + /// + /// key/value pair containing all the error messages defined in resources.xml file + /// + public Dictionary Resources + { + get + { + if (_resources == null) _resources = GroupDocsAppsContext.Resources; + return _resources; + } + } + + protected override void OnLoad(EventArgs e) + { + + GroupDocsAppsContext.atcc = GroupDocsAppsContext; + } + } +} \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/Configuration.cs b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/Configuration.cs new file mode 100644 index 0000000..56b22da --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/Configuration.cs @@ -0,0 +1,85 @@ +using System; +using System.Data; +using System.Configuration; +using System.Web; +using System.IO; + +/// +/// Summary description for Configuration +/// +namespace GroupDocs.Assembly.Live.Demos.UI.Config +{ + public static class Configuration + { + private static string path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase).Substring(6); // + "\\GroupDocs.Total.lic"; + + private static string _assetPath = path + ConfigurationManager.AppSettings["ASSETPATH"].ToString(); + private static string _appName = ConfigurationManager.AppSettings["AppName"].ToString(); + private static string _GroupDocsAppsAPIBasePath = ConfigurationManager.AppSettings["GroupDocsToolAPIBasePath"].ToString(); + private static int _smtpPort = int.Parse(ConfigurationManager.AppSettings["MailServerPort"].ToString()); + private static string _smtpServer = ConfigurationManager.AppSettings["MailServer"]; + private static string _fromEmailAddress = ConfigurationManager.AppSettings["FromAddress"]; + private static string _mailServerUserId = ConfigurationManager.AppSettings["MailServerUserId"]; + private static string _mailServerUserPassword = ConfigurationManager.AppSettings["MailServerPassword"]; + private static int _mailServerTimeOut = int.Parse(ConfigurationManager.AppSettings["SmtpTimeOut"].ToString()); + private static string _fileDownloadLink = ConfigurationManager.AppSettings["FileDownloadLink"]; + private static string _productsGroupDocsAppsURL = ConfigurationManager.AppSettings["ProductsGroupDocsAppsURL"]; + private static string _fileViewLink = ConfigurationManager.AppSettings["FileViewLink"]; + private static int _threadAbortSeconds = int.Parse(ConfigurationManager.AppSettings["ThreadAbortSeconds"].ToString()); + + public static string ProductsGroupDocsAppsURL + { + get { return _productsGroupDocsAppsURL; } + } + public static string FileDownloadLink + { + get { return _fileDownloadLink; } + set { _fileDownloadLink = value; } + } + public static int MailServerTimeOut + { + get { return _mailServerTimeOut; } + } + public static string AssetPath + { + get { return _assetPath; } + } + public static string AppName + { + get { return _appName; } + } + public static string GroupDocsAppsAPIBasePath + { + get { return _GroupDocsAppsAPIBasePath; } + set { _GroupDocsAppsAPIBasePath = value; } + } + public static int MailServerPort + { + get { return _smtpPort; } + } + public static string MailServer + { + get { return _smtpServer; } + } + public static string FromEmailAddress + { + get { return _fromEmailAddress; } + } + public static string MailServerUserId + { + get { return _mailServerUserId; } + } + public static string MailServerUserPassword + { + get { return _mailServerUserPassword; } + } + public static string FileViewLink + { + get { return _fileViewLink; } + } + public static int ThreadAbortSeconds + { + get { return _threadAbortSeconds; } + } + } +} \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/Context.cs b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/Context.cs new file mode 100644 index 0000000..5db33fa --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/Context.cs @@ -0,0 +1,93 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Web; +using System.Web.Security; +using System.Web.Caching; +using System.Collections; +using System.Threading; + +namespace GroupDocs.Assembly.Live.Demos.UI.Config +{ + /// + /// Base class for all context objects used in active application + /// + public abstract class Context + { + private HttpContext _context; + + /// + /// Creates a customized context extending specified http context hc + /// + /// + public Context(HttpContext hc) + { + _context = hc; + + //if (_context.applicationa != null) + //{ + // _host = _context.Request.Url.Host.ToLower(); + //} + //else + } + + /// + /// simple cache wrapper + /// + public Cache Cache + { + get { return _context.Cache; } + } + /// + /// simple session wrapper + /// + public System.Web.SessionState.HttpSessionState Session + { + get { return _context.Session; } + } + /// + /// Stores the specified key value pair in the cache indefinitely, removed only on application reset or explicit removal + /// + /// + /// + public void PermanentAddtoCache(string key, object value) + { + _context.Cache.Insert(key, value, null, Cache.NoAbsoluteExpiration, Cache.NoSlidingExpiration, CacheItemPriority.NotRemovable, null); + } + + /// + /// key/value based storage for all the error messages picked up from resources.xml file + /// + protected Dictionary Resources + { + get + { + string sessionID = "GroupDocsApps" + _context.Request.Url.Host.Trim().Replace(".", ""); + return (Dictionary)Cache["R" + sessionID]; + } + } + /// + /// Simple cookie wrapper + /// + public HttpCookieCollection Cookies + { + get { return _context.Request.Cookies; } + } + + /// + /// Checks if the session is valid i.e. not expired + /// + protected bool IsValid + { + get { return _context.Session != null; } + } + + /// + /// Simple Application wrapper + /// + private HttpApplicationState Application + { + get { return _context.Application; } + } + } +} \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/EmailManager.cs b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/EmailManager.cs new file mode 100644 index 0000000..cad8160 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/EmailManager.cs @@ -0,0 +1,139 @@ +using System; +using System.Data; +using System.Configuration; +using System.Collections; +using System.Web; +using System.Web.Security; +using System.Web.UI; +using System.Web.UI.WebControls; +using System.Web.UI.WebControls.WebParts; +using System.Web.UI.HtmlControls; +using System.Timers; +using System.Collections.Generic; +using System.Net.Mail; +using System.Net; +using System.IO; + +namespace GroupDocs.Assembly.Live.Demos.UI.Config +{ + /// + /// ///////////////This class is for managing sending emails process to users in case they forget thier Username or Password + /// + public class EmailManager + { + public EmailManager() + { + // + // TODO: Add constructor logic here + // + } + public static bool SendEmail(string toEmailAddress, string fromEmailAddress, string subject, string body, string CC) + { + SmtpClient smtp = new SmtpClient(); + MailMessage message = new MailMessage(); + try + { + message.To.Add(toEmailAddress); + message.From = new MailAddress(fromEmailAddress); + if(CC != "") + { + message.CC.Add(CC); + } + message.Subject = subject; + message.Body = body; + message.IsBodyHtml = true; + smtp.UseDefaultCredentials = false; + smtp.Host = Configuration.MailServer; + smtp.Port = Configuration.MailServerPort; + smtp.Timeout = Configuration.MailServerTimeOut; + + smtp.EnableSsl = true; + + smtp.Credentials = new NetworkCredential(Configuration.MailServerUserId, Configuration.MailServerUserPassword); + if (message.To.Count > 0) + { + smtp.Send(message); + } + + } + finally + { + message.Dispose(); + } + + return true; + } + public static bool SendEmailWithAttachment(string toEmailAddress, string fromEmailAddress, string subject, string body, string CC, string Certificates) + { + SmtpClient smtp = new SmtpClient(); + MailMessage message = new MailMessage(); + try + { + message.To.Add(toEmailAddress); + message.From = new MailAddress(fromEmailAddress); + if (CC != "") + { + message.CC.Add(CC); + } + message.Subject = subject; + message.Body = body; + message.IsBodyHtml = true; + smtp.UseDefaultCredentials = false; + smtp.Host = Configuration.MailServer; + smtp.Port = Configuration.MailServerPort; + smtp.Timeout = Configuration.MailServerTimeOut; + smtp.EnableSsl = true; + + if (Certificates != "") + { + message.Attachments.Add(new Attachment(Certificates)); + } + + smtp.Credentials = new NetworkCredential(Configuration.MailServerUserId, Configuration.MailServerUserPassword); + if (message.To.Count > 0) + { + smtp.Send(message); + } + + } + finally + { + message.Dispose(); + } + return true; + } + + public static string PopulateBody(string userName, string title, string url, string description, string featureDescription, string successMessage) + { + string body = string.Empty; + using (StreamReader reader = new StreamReader(HttpContext.Current.Server.MapPath("~/App_Data/EmailTemplate.html"))) + { + body = reader.ReadToEnd(); + } + body = body.Replace("{UserName}", userName); + body = body.Replace("{Title}", title); + body = body.Replace("{Url}", url); + body = body.Replace("{Description}", description); + body = body.Replace("{FeatureDescription}", featureDescription); + body = body.Replace("{SuccessMessage}", successMessage); + return body; + } + + public static string PopulateEmailBody(string heading, string url, string successMessage) + { + string body = string.Empty; + using (StreamReader reader = new StreamReader(HttpContext.Current.Server.MapPath("~/App_Data/TemplateEmail.html"))) + { + body = reader.ReadToEnd(); + } + body = body.Replace("{Heading}", heading); + body = body.Replace("{Url}", url); + body = body.Replace("{SuccessMessage}", successMessage); + body = body.Replace("{Year}", DateTime.Now.Year.ToString()); + + return body; + } + + } + +} diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/GlobalAppHelper.cs b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/GlobalAppHelper.cs new file mode 100644 index 0000000..bba8bf0 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/GlobalAppHelper.cs @@ -0,0 +1,71 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Web; +using System.Xml; +using System.Web.Caching; +using System.IO; + +namespace GroupDocs.Assembly.Live.Demos.UI.Config +{ + /// + /// Acts as a helper class for the website's global.asax file + /// + public class GlobalAppHelper + { + public GlobalAppHelper(HttpContext hc, HttpApplicationState appState, string SessionID, string language) + { + //if (GroupDocsAppsContext.Current == null) + GroupDocsAppsContext.atcc = new GroupDocsAppsContext(hc); // sync the context + + string ResourcesFile = hc.Server.MapPath("~/App_Data/resources_EN" + ".xml"); // reference all the extra info and resources files + if (language.Trim() != "") + { + string filPath = hc.Server.MapPath("~/App_Data/resources_" + language + ".xml"); + if (File.Exists(filPath)) + { + ResourcesFile = filPath; + } + } + + // Load info from all these files into the cache + initResources(ResourcesFile, SessionID); + } + /// + /// Reads/parses the resources file and loads them into the cache in form of a dictionary + /// + /// + private void initResources(string ResourcesFile, string SessionID) + { + SessionID = "R" + SessionID; + if (GroupDocsAppsContext.Current.Cache[SessionID] == null) + { + // Added to solve the file not found problem, the wait is one time only when the application initializes or associated files are modified + //System.Threading.Thread.Sleep(500); + Dictionary resources = new Dictionary(); + XmlDocument xd = new XmlDocument(); + // TextWriter tr = (TextWriter)File.CreateText("F:\\assets\\my.log");tr.WriteLine(ResourcesFile); + // tr.WriteLine(File.Exists(ResourcesFile)); tr.Close(); + if (ResourcesFile.Trim() != "") + { + xd.Load(ResourcesFile); + } + XmlNodeList xl = xd.SelectNodes("resources/res"); // use xpath to reach the res tag within resources + foreach (XmlNode n in xl) // read the name attribute for key name and values from in between the tags + resources.Add(n.Attributes["name"].Value, n.InnerText); + + // Add this dictionary into the cache with no expiration and associate a reload method in case of file change + + //GroupDocsAppsContext.Current.Cache.Remove(SessionID); + GroupDocsAppsContext.Current.Cache.Add( + SessionID, + resources, + new CacheDependency(ResourcesFile), + Cache.NoAbsoluteExpiration, + Cache.NoSlidingExpiration, + CacheItemPriority.NotRemovable, + delegate (string key, object value, CacheItemRemovedReason reason) { initResources(ResourcesFile, SessionID); }); + } + } + } +} \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/GroupDocsToolsContext.cs b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/GroupDocsToolsContext.cs new file mode 100644 index 0000000..5578c0d --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/GroupDocsToolsContext.cs @@ -0,0 +1,36 @@ +using System; +using System.Web; +using System.Text; +using System.Collections.Generic; +using System.Threading; + +namespace GroupDocs.Assembly.Live.Demos.UI.Config +{ + /// + /// Wrapper class for Words GroupDocs Apps context access to Pages and controls + /// + public class GroupDocsAppsContext : Context + { + /// + /// The context data is directly picked up from the Application Thread's data slots, this is required to share the context between + /// independent threads working for this application, e.g. AsyncHttpRequestHandlers and other assemblies as well, this will also + /// eliminate the need for extra copies and object cloning b/w assemblies + /// + /// + internal GroupDocsAppsContext(HttpContext hc) : base(hc) { Thread.SetData(Thread.GetNamedDataSlot("GroupDocsApps" + hc.Request.Url.Host.Trim().Replace(".", "") + "ContextSlot"), hc); } + private static GroupDocsAppsContext atc; + /// + /// Use for internal syncing of the context + /// + internal static GroupDocsAppsContext atcc { set { atc = value; } } + internal static GroupDocsAppsContext Current + { + get { return atc; } + } + + internal new Dictionary Resources + { + get { return base.Resources; } + } + } +} \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/Site.css b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/Site.css new file mode 100644 index 0000000..a9f8615 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/Site.css @@ -0,0 +1,31 @@ +/* Move down content because we have a fixed navbar that is 50px tall */ +body { + padding-top: 50px; + padding-bottom: 20px; +} + +/* Wrapping element */ +/* Set some basic padding to keep content from hitting the edges */ +.body-content { + padding-left: 15px; + padding-right: 15px; +} + +/* Set widths on the form inputs since otherwise they're 100% wide */ +input, +select, +textarea { + max-width: 280px; +} + + +/* Responsive: Portrait tablets and up */ +@media screen and (min-width: 768px) { + .jumbotron { + margin-top: 20px; + } + + .body-content { + padding: 0; + } +} diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-grid.css b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-grid.css new file mode 100644 index 0000000..68b84f8 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-grid.css @@ -0,0 +1,3719 @@ +/*! + * Bootstrap Grid v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +html { + box-sizing: border-box; + -ms-overflow-style: scrollbar; +} + +*, +*::before, +*::after { + box-sizing: inherit; +} + +.container { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container { + max-width: 1140px; + } +} + +.container-fluid { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +.row { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; +} + +.no-gutters { + margin-right: 0; + margin-left: 0; +} + +.no-gutters > .col, +.no-gutters > [class*="col-"] { + padding-right: 0; + padding-left: 0; +} + +.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, +.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, +.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, +.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, +.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, +.col-xl-auto { + position: relative; + width: 100%; + padding-right: 15px; + padding-left: 15px; +} + +.col { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; +} + +.col-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; +} + +.col-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; +} + +.col-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.col-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; +} + +.col-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.col-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; +} + +.col-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; +} + +.col-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; +} + +.col-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; +} + +.col-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; +} + +.col-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; +} + +.col-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; +} + +.col-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; +} + +.order-first { + -ms-flex-order: -1; + order: -1; +} + +.order-last { + -ms-flex-order: 13; + order: 13; +} + +.order-0 { + -ms-flex-order: 0; + order: 0; +} + +.order-1 { + -ms-flex-order: 1; + order: 1; +} + +.order-2 { + -ms-flex-order: 2; + order: 2; +} + +.order-3 { + -ms-flex-order: 3; + order: 3; +} + +.order-4 { + -ms-flex-order: 4; + order: 4; +} + +.order-5 { + -ms-flex-order: 5; + order: 5; +} + +.order-6 { + -ms-flex-order: 6; + order: 6; +} + +.order-7 { + -ms-flex-order: 7; + order: 7; +} + +.order-8 { + -ms-flex-order: 8; + order: 8; +} + +.order-9 { + -ms-flex-order: 9; + order: 9; +} + +.order-10 { + -ms-flex-order: 10; + order: 10; +} + +.order-11 { + -ms-flex-order: 11; + order: 11; +} + +.order-12 { + -ms-flex-order: 12; + order: 12; +} + +.offset-1 { + margin-left: 8.333333%; +} + +.offset-2 { + margin-left: 16.666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.333333%; +} + +.offset-5 { + margin-left: 41.666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.333333%; +} + +.offset-8 { + margin-left: 66.666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.333333%; +} + +.offset-11 { + margin-left: 91.666667%; +} + +@media (min-width: 576px) { + .col-sm { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-sm-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-sm-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-sm-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-sm-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-sm-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-sm-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-sm-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-sm-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-sm-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-sm-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-sm-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-sm-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-sm-first { + -ms-flex-order: -1; + order: -1; + } + .order-sm-last { + -ms-flex-order: 13; + order: 13; + } + .order-sm-0 { + -ms-flex-order: 0; + order: 0; + } + .order-sm-1 { + -ms-flex-order: 1; + order: 1; + } + .order-sm-2 { + -ms-flex-order: 2; + order: 2; + } + .order-sm-3 { + -ms-flex-order: 3; + order: 3; + } + .order-sm-4 { + -ms-flex-order: 4; + order: 4; + } + .order-sm-5 { + -ms-flex-order: 5; + order: 5; + } + .order-sm-6 { + -ms-flex-order: 6; + order: 6; + } + .order-sm-7 { + -ms-flex-order: 7; + order: 7; + } + .order-sm-8 { + -ms-flex-order: 8; + order: 8; + } + .order-sm-9 { + -ms-flex-order: 9; + order: 9; + } + .order-sm-10 { + -ms-flex-order: 10; + order: 10; + } + .order-sm-11 { + -ms-flex-order: 11; + order: 11; + } + .order-sm-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.333333%; + } + .offset-sm-2 { + margin-left: 16.666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.333333%; + } + .offset-sm-5 { + margin-left: 41.666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.333333%; + } + .offset-sm-8 { + margin-left: 66.666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.333333%; + } + .offset-sm-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 768px) { + .col-md { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-md-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-md-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-md-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-md-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-md-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-md-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-md-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-md-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-md-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-md-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-md-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-md-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-md-first { + -ms-flex-order: -1; + order: -1; + } + .order-md-last { + -ms-flex-order: 13; + order: 13; + } + .order-md-0 { + -ms-flex-order: 0; + order: 0; + } + .order-md-1 { + -ms-flex-order: 1; + order: 1; + } + .order-md-2 { + -ms-flex-order: 2; + order: 2; + } + .order-md-3 { + -ms-flex-order: 3; + order: 3; + } + .order-md-4 { + -ms-flex-order: 4; + order: 4; + } + .order-md-5 { + -ms-flex-order: 5; + order: 5; + } + .order-md-6 { + -ms-flex-order: 6; + order: 6; + } + .order-md-7 { + -ms-flex-order: 7; + order: 7; + } + .order-md-8 { + -ms-flex-order: 8; + order: 8; + } + .order-md-9 { + -ms-flex-order: 9; + order: 9; + } + .order-md-10 { + -ms-flex-order: 10; + order: 10; + } + .order-md-11 { + -ms-flex-order: 11; + order: 11; + } + .order-md-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.333333%; + } + .offset-md-2 { + margin-left: 16.666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.333333%; + } + .offset-md-5 { + margin-left: 41.666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.333333%; + } + .offset-md-8 { + margin-left: 66.666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.333333%; + } + .offset-md-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 992px) { + .col-lg { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-lg-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-lg-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-lg-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-lg-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-lg-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-lg-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-lg-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-lg-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-lg-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-lg-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-lg-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-lg-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-lg-first { + -ms-flex-order: -1; + order: -1; + } + .order-lg-last { + -ms-flex-order: 13; + order: 13; + } + .order-lg-0 { + -ms-flex-order: 0; + order: 0; + } + .order-lg-1 { + -ms-flex-order: 1; + order: 1; + } + .order-lg-2 { + -ms-flex-order: 2; + order: 2; + } + .order-lg-3 { + -ms-flex-order: 3; + order: 3; + } + .order-lg-4 { + -ms-flex-order: 4; + order: 4; + } + .order-lg-5 { + -ms-flex-order: 5; + order: 5; + } + .order-lg-6 { + -ms-flex-order: 6; + order: 6; + } + .order-lg-7 { + -ms-flex-order: 7; + order: 7; + } + .order-lg-8 { + -ms-flex-order: 8; + order: 8; + } + .order-lg-9 { + -ms-flex-order: 9; + order: 9; + } + .order-lg-10 { + -ms-flex-order: 10; + order: 10; + } + .order-lg-11 { + -ms-flex-order: 11; + order: 11; + } + .order-lg-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.333333%; + } + .offset-lg-2 { + margin-left: 16.666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.333333%; + } + .offset-lg-5 { + margin-left: 41.666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.333333%; + } + .offset-lg-8 { + margin-left: 66.666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.333333%; + } + .offset-lg-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 1200px) { + .col-xl { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-xl-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-xl-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-xl-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-xl-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-xl-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-xl-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-xl-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-xl-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-xl-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-xl-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-xl-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-xl-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-xl-first { + -ms-flex-order: -1; + order: -1; + } + .order-xl-last { + -ms-flex-order: 13; + order: 13; + } + .order-xl-0 { + -ms-flex-order: 0; + order: 0; + } + .order-xl-1 { + -ms-flex-order: 1; + order: 1; + } + .order-xl-2 { + -ms-flex-order: 2; + order: 2; + } + .order-xl-3 { + -ms-flex-order: 3; + order: 3; + } + .order-xl-4 { + -ms-flex-order: 4; + order: 4; + } + .order-xl-5 { + -ms-flex-order: 5; + order: 5; + } + .order-xl-6 { + -ms-flex-order: 6; + order: 6; + } + .order-xl-7 { + -ms-flex-order: 7; + order: 7; + } + .order-xl-8 { + -ms-flex-order: 8; + order: 8; + } + .order-xl-9 { + -ms-flex-order: 9; + order: 9; + } + .order-xl-10 { + -ms-flex-order: 10; + order: 10; + } + .order-xl-11 { + -ms-flex-order: 11; + order: 11; + } + .order-xl-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.333333%; + } + .offset-xl-2 { + margin-left: 16.666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.333333%; + } + .offset-xl-5 { + margin-left: 41.666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.333333%; + } + .offset-xl-8 { + margin-left: 66.666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.333333%; + } + .offset-xl-11 { + margin-left: 91.666667%; + } +} + +.d-none { + display: none !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: -ms-flexbox !important; + display: flex !important; +} + +.d-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; +} + +@media (min-width: 576px) { + .d-sm-none { + display: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-sm-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 768px) { + .d-md-none { + display: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-md-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 992px) { + .d-lg-none { + display: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-lg-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 1200px) { + .d-xl-none { + display: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-xl-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media print { + .d-print-none { + display: none !important; + } + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-print-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +.flex-row { + -ms-flex-direction: row !important; + flex-direction: row !important; +} + +.flex-column { + -ms-flex-direction: column !important; + flex-direction: column !important; +} + +.flex-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; +} + +.flex-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; +} + +.flex-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; +} + +.flex-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; +} + +.flex-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; +} + +.flex-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; +} + +.flex-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; +} + +.justify-content-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; +} + +.justify-content-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; +} + +.justify-content-center { + -ms-flex-pack: center !important; + justify-content: center !important; +} + +.justify-content-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; +} + +.justify-content-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; +} + +.align-items-start { + -ms-flex-align: start !important; + align-items: flex-start !important; +} + +.align-items-end { + -ms-flex-align: end !important; + align-items: flex-end !important; +} + +.align-items-center { + -ms-flex-align: center !important; + align-items: center !important; +} + +.align-items-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; +} + +.align-items-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; +} + +.align-content-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; +} + +.align-content-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; +} + +.align-content-center { + -ms-flex-line-pack: center !important; + align-content: center !important; +} + +.align-content-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; +} + +.align-content-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; +} + +.align-content-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; +} + +.align-self-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; +} + +.align-self-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; +} + +.align-self-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; +} + +.align-self-center { + -ms-flex-item-align: center !important; + align-self: center !important; +} + +.align-self-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; +} + +.align-self-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; +} + +@media (min-width: 576px) { + .flex-sm-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-sm-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-sm-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-sm-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-sm-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-sm-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-sm-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-sm-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-sm-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-sm-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-sm-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-sm-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-sm-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-sm-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-sm-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-sm-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-sm-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-sm-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-sm-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-sm-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-sm-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-sm-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-sm-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-sm-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-sm-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-sm-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-sm-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-sm-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 768px) { + .flex-md-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-md-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-md-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-md-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-md-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-md-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-md-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-md-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-md-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-md-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-md-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-md-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-md-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-md-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-md-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-md-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-md-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-md-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-md-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-md-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-md-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-md-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-md-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-md-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-md-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-md-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-md-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-md-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-md-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-md-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 992px) { + .flex-lg-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-lg-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-lg-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-lg-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-lg-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-lg-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-lg-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-lg-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-lg-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-lg-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-lg-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-lg-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-lg-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-lg-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-lg-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-lg-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-lg-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-lg-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-lg-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-lg-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-lg-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-lg-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-lg-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-lg-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-lg-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-lg-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-lg-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-lg-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 1200px) { + .flex-xl-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-xl-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-xl-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-xl-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-xl-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-xl-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-xl-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-xl-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-xl-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-xl-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-xl-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-xl-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-xl-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-xl-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-xl-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-xl-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-xl-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-xl-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-xl-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-xl-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-xl-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-xl-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-xl-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-xl-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-xl-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-xl-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-xl-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-xl-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +.m-0 { + margin: 0 !important; +} + +.mt-0, +.my-0 { + margin-top: 0 !important; +} + +.mr-0, +.mx-0 { + margin-right: 0 !important; +} + +.mb-0, +.my-0 { + margin-bottom: 0 !important; +} + +.ml-0, +.mx-0 { + margin-left: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.mt-1, +.my-1 { + margin-top: 0.25rem !important; +} + +.mr-1, +.mx-1 { + margin-right: 0.25rem !important; +} + +.mb-1, +.my-1 { + margin-bottom: 0.25rem !important; +} + +.ml-1, +.mx-1 { + margin-left: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.mt-2, +.my-2 { + margin-top: 0.5rem !important; +} + +.mr-2, +.mx-2 { + margin-right: 0.5rem !important; +} + +.mb-2, +.my-2 { + margin-bottom: 0.5rem !important; +} + +.ml-2, +.mx-2 { + margin-left: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.mt-3, +.my-3 { + margin-top: 1rem !important; +} + +.mr-3, +.mx-3 { + margin-right: 1rem !important; +} + +.mb-3, +.my-3 { + margin-bottom: 1rem !important; +} + +.ml-3, +.mx-3 { + margin-left: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.mt-4, +.my-4 { + margin-top: 1.5rem !important; +} + +.mr-4, +.mx-4 { + margin-right: 1.5rem !important; +} + +.mb-4, +.my-4 { + margin-bottom: 1.5rem !important; +} + +.ml-4, +.mx-4 { + margin-left: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.mt-5, +.my-5 { + margin-top: 3rem !important; +} + +.mr-5, +.mx-5 { + margin-right: 3rem !important; +} + +.mb-5, +.my-5 { + margin-bottom: 3rem !important; +} + +.ml-5, +.mx-5 { + margin-left: 3rem !important; +} + +.p-0 { + padding: 0 !important; +} + +.pt-0, +.py-0 { + padding-top: 0 !important; +} + +.pr-0, +.px-0 { + padding-right: 0 !important; +} + +.pb-0, +.py-0 { + padding-bottom: 0 !important; +} + +.pl-0, +.px-0 { + padding-left: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.pt-1, +.py-1 { + padding-top: 0.25rem !important; +} + +.pr-1, +.px-1 { + padding-right: 0.25rem !important; +} + +.pb-1, +.py-1 { + padding-bottom: 0.25rem !important; +} + +.pl-1, +.px-1 { + padding-left: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.pt-2, +.py-2 { + padding-top: 0.5rem !important; +} + +.pr-2, +.px-2 { + padding-right: 0.5rem !important; +} + +.pb-2, +.py-2 { + padding-bottom: 0.5rem !important; +} + +.pl-2, +.px-2 { + padding-left: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.pt-3, +.py-3 { + padding-top: 1rem !important; +} + +.pr-3, +.px-3 { + padding-right: 1rem !important; +} + +.pb-3, +.py-3 { + padding-bottom: 1rem !important; +} + +.pl-3, +.px-3 { + padding-left: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.pt-4, +.py-4 { + padding-top: 1.5rem !important; +} + +.pr-4, +.px-4 { + padding-right: 1.5rem !important; +} + +.pb-4, +.py-4 { + padding-bottom: 1.5rem !important; +} + +.pl-4, +.px-4 { + padding-left: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.pt-5, +.py-5 { + padding-top: 3rem !important; +} + +.pr-5, +.px-5 { + padding-right: 3rem !important; +} + +.pb-5, +.py-5 { + padding-bottom: 3rem !important; +} + +.pl-5, +.px-5 { + padding-left: 3rem !important; +} + +.m-n1 { + margin: -0.25rem !important; +} + +.mt-n1, +.my-n1 { + margin-top: -0.25rem !important; +} + +.mr-n1, +.mx-n1 { + margin-right: -0.25rem !important; +} + +.mb-n1, +.my-n1 { + margin-bottom: -0.25rem !important; +} + +.ml-n1, +.mx-n1 { + margin-left: -0.25rem !important; +} + +.m-n2 { + margin: -0.5rem !important; +} + +.mt-n2, +.my-n2 { + margin-top: -0.5rem !important; +} + +.mr-n2, +.mx-n2 { + margin-right: -0.5rem !important; +} + +.mb-n2, +.my-n2 { + margin-bottom: -0.5rem !important; +} + +.ml-n2, +.mx-n2 { + margin-left: -0.5rem !important; +} + +.m-n3 { + margin: -1rem !important; +} + +.mt-n3, +.my-n3 { + margin-top: -1rem !important; +} + +.mr-n3, +.mx-n3 { + margin-right: -1rem !important; +} + +.mb-n3, +.my-n3 { + margin-bottom: -1rem !important; +} + +.ml-n3, +.mx-n3 { + margin-left: -1rem !important; +} + +.m-n4 { + margin: -1.5rem !important; +} + +.mt-n4, +.my-n4 { + margin-top: -1.5rem !important; +} + +.mr-n4, +.mx-n4 { + margin-right: -1.5rem !important; +} + +.mb-n4, +.my-n4 { + margin-bottom: -1.5rem !important; +} + +.ml-n4, +.mx-n4 { + margin-left: -1.5rem !important; +} + +.m-n5 { + margin: -3rem !important; +} + +.mt-n5, +.my-n5 { + margin-top: -3rem !important; +} + +.mr-n5, +.mx-n5 { + margin-right: -3rem !important; +} + +.mb-n5, +.my-n5 { + margin-bottom: -3rem !important; +} + +.ml-n5, +.mx-n5 { + margin-left: -3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mt-auto, +.my-auto { + margin-top: auto !important; +} + +.mr-auto, +.mx-auto { + margin-right: auto !important; +} + +.mb-auto, +.my-auto { + margin-bottom: auto !important; +} + +.ml-auto, +.mx-auto { + margin-left: auto !important; +} + +@media (min-width: 576px) { + .m-sm-0 { + margin: 0 !important; + } + .mt-sm-0, + .my-sm-0 { + margin-top: 0 !important; + } + .mr-sm-0, + .mx-sm-0 { + margin-right: 0 !important; + } + .mb-sm-0, + .my-sm-0 { + margin-bottom: 0 !important; + } + .ml-sm-0, + .mx-sm-0 { + margin-left: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .mt-sm-1, + .my-sm-1 { + margin-top: 0.25rem !important; + } + .mr-sm-1, + .mx-sm-1 { + margin-right: 0.25rem !important; + } + .mb-sm-1, + .my-sm-1 { + margin-bottom: 0.25rem !important; + } + .ml-sm-1, + .mx-sm-1 { + margin-left: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .mt-sm-2, + .my-sm-2 { + margin-top: 0.5rem !important; + } + .mr-sm-2, + .mx-sm-2 { + margin-right: 0.5rem !important; + } + .mb-sm-2, + .my-sm-2 { + margin-bottom: 0.5rem !important; + } + .ml-sm-2, + .mx-sm-2 { + margin-left: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .mt-sm-3, + .my-sm-3 { + margin-top: 1rem !important; + } + .mr-sm-3, + .mx-sm-3 { + margin-right: 1rem !important; + } + .mb-sm-3, + .my-sm-3 { + margin-bottom: 1rem !important; + } + .ml-sm-3, + .mx-sm-3 { + margin-left: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .mt-sm-4, + .my-sm-4 { + margin-top: 1.5rem !important; + } + .mr-sm-4, + .mx-sm-4 { + margin-right: 1.5rem !important; + } + .mb-sm-4, + .my-sm-4 { + margin-bottom: 1.5rem !important; + } + .ml-sm-4, + .mx-sm-4 { + margin-left: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .mt-sm-5, + .my-sm-5 { + margin-top: 3rem !important; + } + .mr-sm-5, + .mx-sm-5 { + margin-right: 3rem !important; + } + .mb-sm-5, + .my-sm-5 { + margin-bottom: 3rem !important; + } + .ml-sm-5, + .mx-sm-5 { + margin-left: 3rem !important; + } + .p-sm-0 { + padding: 0 !important; + } + .pt-sm-0, + .py-sm-0 { + padding-top: 0 !important; + } + .pr-sm-0, + .px-sm-0 { + padding-right: 0 !important; + } + .pb-sm-0, + .py-sm-0 { + padding-bottom: 0 !important; + } + .pl-sm-0, + .px-sm-0 { + padding-left: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .pt-sm-1, + .py-sm-1 { + padding-top: 0.25rem !important; + } + .pr-sm-1, + .px-sm-1 { + padding-right: 0.25rem !important; + } + .pb-sm-1, + .py-sm-1 { + padding-bottom: 0.25rem !important; + } + .pl-sm-1, + .px-sm-1 { + padding-left: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .pt-sm-2, + .py-sm-2 { + padding-top: 0.5rem !important; + } + .pr-sm-2, + .px-sm-2 { + padding-right: 0.5rem !important; + } + .pb-sm-2, + .py-sm-2 { + padding-bottom: 0.5rem !important; + } + .pl-sm-2, + .px-sm-2 { + padding-left: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .pt-sm-3, + .py-sm-3 { + padding-top: 1rem !important; + } + .pr-sm-3, + .px-sm-3 { + padding-right: 1rem !important; + } + .pb-sm-3, + .py-sm-3 { + padding-bottom: 1rem !important; + } + .pl-sm-3, + .px-sm-3 { + padding-left: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .pt-sm-4, + .py-sm-4 { + padding-top: 1.5rem !important; + } + .pr-sm-4, + .px-sm-4 { + padding-right: 1.5rem !important; + } + .pb-sm-4, + .py-sm-4 { + padding-bottom: 1.5rem !important; + } + .pl-sm-4, + .px-sm-4 { + padding-left: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .pt-sm-5, + .py-sm-5 { + padding-top: 3rem !important; + } + .pr-sm-5, + .px-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-5, + .py-sm-5 { + padding-bottom: 3rem !important; + } + .pl-sm-5, + .px-sm-5 { + padding-left: 3rem !important; + } + .m-sm-n1 { + margin: -0.25rem !important; + } + .mt-sm-n1, + .my-sm-n1 { + margin-top: -0.25rem !important; + } + .mr-sm-n1, + .mx-sm-n1 { + margin-right: -0.25rem !important; + } + .mb-sm-n1, + .my-sm-n1 { + margin-bottom: -0.25rem !important; + } + .ml-sm-n1, + .mx-sm-n1 { + margin-left: -0.25rem !important; + } + .m-sm-n2 { + margin: -0.5rem !important; + } + .mt-sm-n2, + .my-sm-n2 { + margin-top: -0.5rem !important; + } + .mr-sm-n2, + .mx-sm-n2 { + margin-right: -0.5rem !important; + } + .mb-sm-n2, + .my-sm-n2 { + margin-bottom: -0.5rem !important; + } + .ml-sm-n2, + .mx-sm-n2 { + margin-left: -0.5rem !important; + } + .m-sm-n3 { + margin: -1rem !important; + } + .mt-sm-n3, + .my-sm-n3 { + margin-top: -1rem !important; + } + .mr-sm-n3, + .mx-sm-n3 { + margin-right: -1rem !important; + } + .mb-sm-n3, + .my-sm-n3 { + margin-bottom: -1rem !important; + } + .ml-sm-n3, + .mx-sm-n3 { + margin-left: -1rem !important; + } + .m-sm-n4 { + margin: -1.5rem !important; + } + .mt-sm-n4, + .my-sm-n4 { + margin-top: -1.5rem !important; + } + .mr-sm-n4, + .mx-sm-n4 { + margin-right: -1.5rem !important; + } + .mb-sm-n4, + .my-sm-n4 { + margin-bottom: -1.5rem !important; + } + .ml-sm-n4, + .mx-sm-n4 { + margin-left: -1.5rem !important; + } + .m-sm-n5 { + margin: -3rem !important; + } + .mt-sm-n5, + .my-sm-n5 { + margin-top: -3rem !important; + } + .mr-sm-n5, + .mx-sm-n5 { + margin-right: -3rem !important; + } + .mb-sm-n5, + .my-sm-n5 { + margin-bottom: -3rem !important; + } + .ml-sm-n5, + .mx-sm-n5 { + margin-left: -3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mt-sm-auto, + .my-sm-auto { + margin-top: auto !important; + } + .mr-sm-auto, + .mx-sm-auto { + margin-right: auto !important; + } + .mb-sm-auto, + .my-sm-auto { + margin-bottom: auto !important; + } + .ml-sm-auto, + .mx-sm-auto { + margin-left: auto !important; + } +} + +@media (min-width: 768px) { + .m-md-0 { + margin: 0 !important; + } + .mt-md-0, + .my-md-0 { + margin-top: 0 !important; + } + .mr-md-0, + .mx-md-0 { + margin-right: 0 !important; + } + .mb-md-0, + .my-md-0 { + margin-bottom: 0 !important; + } + .ml-md-0, + .mx-md-0 { + margin-left: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .mt-md-1, + .my-md-1 { + margin-top: 0.25rem !important; + } + .mr-md-1, + .mx-md-1 { + margin-right: 0.25rem !important; + } + .mb-md-1, + .my-md-1 { + margin-bottom: 0.25rem !important; + } + .ml-md-1, + .mx-md-1 { + margin-left: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .mt-md-2, + .my-md-2 { + margin-top: 0.5rem !important; + } + .mr-md-2, + .mx-md-2 { + margin-right: 0.5rem !important; + } + .mb-md-2, + .my-md-2 { + margin-bottom: 0.5rem !important; + } + .ml-md-2, + .mx-md-2 { + margin-left: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .mt-md-3, + .my-md-3 { + margin-top: 1rem !important; + } + .mr-md-3, + .mx-md-3 { + margin-right: 1rem !important; + } + .mb-md-3, + .my-md-3 { + margin-bottom: 1rem !important; + } + .ml-md-3, + .mx-md-3 { + margin-left: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .mt-md-4, + .my-md-4 { + margin-top: 1.5rem !important; + } + .mr-md-4, + .mx-md-4 { + margin-right: 1.5rem !important; + } + .mb-md-4, + .my-md-4 { + margin-bottom: 1.5rem !important; + } + .ml-md-4, + .mx-md-4 { + margin-left: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .mt-md-5, + .my-md-5 { + margin-top: 3rem !important; + } + .mr-md-5, + .mx-md-5 { + margin-right: 3rem !important; + } + .mb-md-5, + .my-md-5 { + margin-bottom: 3rem !important; + } + .ml-md-5, + .mx-md-5 { + margin-left: 3rem !important; + } + .p-md-0 { + padding: 0 !important; + } + .pt-md-0, + .py-md-0 { + padding-top: 0 !important; + } + .pr-md-0, + .px-md-0 { + padding-right: 0 !important; + } + .pb-md-0, + .py-md-0 { + padding-bottom: 0 !important; + } + .pl-md-0, + .px-md-0 { + padding-left: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .pt-md-1, + .py-md-1 { + padding-top: 0.25rem !important; + } + .pr-md-1, + .px-md-1 { + padding-right: 0.25rem !important; + } + .pb-md-1, + .py-md-1 { + padding-bottom: 0.25rem !important; + } + .pl-md-1, + .px-md-1 { + padding-left: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .pt-md-2, + .py-md-2 { + padding-top: 0.5rem !important; + } + .pr-md-2, + .px-md-2 { + padding-right: 0.5rem !important; + } + .pb-md-2, + .py-md-2 { + padding-bottom: 0.5rem !important; + } + .pl-md-2, + .px-md-2 { + padding-left: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .pt-md-3, + .py-md-3 { + padding-top: 1rem !important; + } + .pr-md-3, + .px-md-3 { + padding-right: 1rem !important; + } + .pb-md-3, + .py-md-3 { + padding-bottom: 1rem !important; + } + .pl-md-3, + .px-md-3 { + padding-left: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .pt-md-4, + .py-md-4 { + padding-top: 1.5rem !important; + } + .pr-md-4, + .px-md-4 { + padding-right: 1.5rem !important; + } + .pb-md-4, + .py-md-4 { + padding-bottom: 1.5rem !important; + } + .pl-md-4, + .px-md-4 { + padding-left: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .pt-md-5, + .py-md-5 { + padding-top: 3rem !important; + } + .pr-md-5, + .px-md-5 { + padding-right: 3rem !important; + } + .pb-md-5, + .py-md-5 { + padding-bottom: 3rem !important; + } + .pl-md-5, + .px-md-5 { + padding-left: 3rem !important; + } + .m-md-n1 { + margin: -0.25rem !important; + } + .mt-md-n1, + .my-md-n1 { + margin-top: -0.25rem !important; + } + .mr-md-n1, + .mx-md-n1 { + margin-right: -0.25rem !important; + } + .mb-md-n1, + .my-md-n1 { + margin-bottom: -0.25rem !important; + } + .ml-md-n1, + .mx-md-n1 { + margin-left: -0.25rem !important; + } + .m-md-n2 { + margin: -0.5rem !important; + } + .mt-md-n2, + .my-md-n2 { + margin-top: -0.5rem !important; + } + .mr-md-n2, + .mx-md-n2 { + margin-right: -0.5rem !important; + } + .mb-md-n2, + .my-md-n2 { + margin-bottom: -0.5rem !important; + } + .ml-md-n2, + .mx-md-n2 { + margin-left: -0.5rem !important; + } + .m-md-n3 { + margin: -1rem !important; + } + .mt-md-n3, + .my-md-n3 { + margin-top: -1rem !important; + } + .mr-md-n3, + .mx-md-n3 { + margin-right: -1rem !important; + } + .mb-md-n3, + .my-md-n3 { + margin-bottom: -1rem !important; + } + .ml-md-n3, + .mx-md-n3 { + margin-left: -1rem !important; + } + .m-md-n4 { + margin: -1.5rem !important; + } + .mt-md-n4, + .my-md-n4 { + margin-top: -1.5rem !important; + } + .mr-md-n4, + .mx-md-n4 { + margin-right: -1.5rem !important; + } + .mb-md-n4, + .my-md-n4 { + margin-bottom: -1.5rem !important; + } + .ml-md-n4, + .mx-md-n4 { + margin-left: -1.5rem !important; + } + .m-md-n5 { + margin: -3rem !important; + } + .mt-md-n5, + .my-md-n5 { + margin-top: -3rem !important; + } + .mr-md-n5, + .mx-md-n5 { + margin-right: -3rem !important; + } + .mb-md-n5, + .my-md-n5 { + margin-bottom: -3rem !important; + } + .ml-md-n5, + .mx-md-n5 { + margin-left: -3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mt-md-auto, + .my-md-auto { + margin-top: auto !important; + } + .mr-md-auto, + .mx-md-auto { + margin-right: auto !important; + } + .mb-md-auto, + .my-md-auto { + margin-bottom: auto !important; + } + .ml-md-auto, + .mx-md-auto { + margin-left: auto !important; + } +} + +@media (min-width: 992px) { + .m-lg-0 { + margin: 0 !important; + } + .mt-lg-0, + .my-lg-0 { + margin-top: 0 !important; + } + .mr-lg-0, + .mx-lg-0 { + margin-right: 0 !important; + } + .mb-lg-0, + .my-lg-0 { + margin-bottom: 0 !important; + } + .ml-lg-0, + .mx-lg-0 { + margin-left: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .mt-lg-1, + .my-lg-1 { + margin-top: 0.25rem !important; + } + .mr-lg-1, + .mx-lg-1 { + margin-right: 0.25rem !important; + } + .mb-lg-1, + .my-lg-1 { + margin-bottom: 0.25rem !important; + } + .ml-lg-1, + .mx-lg-1 { + margin-left: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .mt-lg-2, + .my-lg-2 { + margin-top: 0.5rem !important; + } + .mr-lg-2, + .mx-lg-2 { + margin-right: 0.5rem !important; + } + .mb-lg-2, + .my-lg-2 { + margin-bottom: 0.5rem !important; + } + .ml-lg-2, + .mx-lg-2 { + margin-left: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .mt-lg-3, + .my-lg-3 { + margin-top: 1rem !important; + } + .mr-lg-3, + .mx-lg-3 { + margin-right: 1rem !important; + } + .mb-lg-3, + .my-lg-3 { + margin-bottom: 1rem !important; + } + .ml-lg-3, + .mx-lg-3 { + margin-left: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .mt-lg-4, + .my-lg-4 { + margin-top: 1.5rem !important; + } + .mr-lg-4, + .mx-lg-4 { + margin-right: 1.5rem !important; + } + .mb-lg-4, + .my-lg-4 { + margin-bottom: 1.5rem !important; + } + .ml-lg-4, + .mx-lg-4 { + margin-left: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .mt-lg-5, + .my-lg-5 { + margin-top: 3rem !important; + } + .mr-lg-5, + .mx-lg-5 { + margin-right: 3rem !important; + } + .mb-lg-5, + .my-lg-5 { + margin-bottom: 3rem !important; + } + .ml-lg-5, + .mx-lg-5 { + margin-left: 3rem !important; + } + .p-lg-0 { + padding: 0 !important; + } + .pt-lg-0, + .py-lg-0 { + padding-top: 0 !important; + } + .pr-lg-0, + .px-lg-0 { + padding-right: 0 !important; + } + .pb-lg-0, + .py-lg-0 { + padding-bottom: 0 !important; + } + .pl-lg-0, + .px-lg-0 { + padding-left: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .pt-lg-1, + .py-lg-1 { + padding-top: 0.25rem !important; + } + .pr-lg-1, + .px-lg-1 { + padding-right: 0.25rem !important; + } + .pb-lg-1, + .py-lg-1 { + padding-bottom: 0.25rem !important; + } + .pl-lg-1, + .px-lg-1 { + padding-left: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .pt-lg-2, + .py-lg-2 { + padding-top: 0.5rem !important; + } + .pr-lg-2, + .px-lg-2 { + padding-right: 0.5rem !important; + } + .pb-lg-2, + .py-lg-2 { + padding-bottom: 0.5rem !important; + } + .pl-lg-2, + .px-lg-2 { + padding-left: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .pt-lg-3, + .py-lg-3 { + padding-top: 1rem !important; + } + .pr-lg-3, + .px-lg-3 { + padding-right: 1rem !important; + } + .pb-lg-3, + .py-lg-3 { + padding-bottom: 1rem !important; + } + .pl-lg-3, + .px-lg-3 { + padding-left: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .pt-lg-4, + .py-lg-4 { + padding-top: 1.5rem !important; + } + .pr-lg-4, + .px-lg-4 { + padding-right: 1.5rem !important; + } + .pb-lg-4, + .py-lg-4 { + padding-bottom: 1.5rem !important; + } + .pl-lg-4, + .px-lg-4 { + padding-left: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .pt-lg-5, + .py-lg-5 { + padding-top: 3rem !important; + } + .pr-lg-5, + .px-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-5, + .py-lg-5 { + padding-bottom: 3rem !important; + } + .pl-lg-5, + .px-lg-5 { + padding-left: 3rem !important; + } + .m-lg-n1 { + margin: -0.25rem !important; + } + .mt-lg-n1, + .my-lg-n1 { + margin-top: -0.25rem !important; + } + .mr-lg-n1, + .mx-lg-n1 { + margin-right: -0.25rem !important; + } + .mb-lg-n1, + .my-lg-n1 { + margin-bottom: -0.25rem !important; + } + .ml-lg-n1, + .mx-lg-n1 { + margin-left: -0.25rem !important; + } + .m-lg-n2 { + margin: -0.5rem !important; + } + .mt-lg-n2, + .my-lg-n2 { + margin-top: -0.5rem !important; + } + .mr-lg-n2, + .mx-lg-n2 { + margin-right: -0.5rem !important; + } + .mb-lg-n2, + .my-lg-n2 { + margin-bottom: -0.5rem !important; + } + .ml-lg-n2, + .mx-lg-n2 { + margin-left: -0.5rem !important; + } + .m-lg-n3 { + margin: -1rem !important; + } + .mt-lg-n3, + .my-lg-n3 { + margin-top: -1rem !important; + } + .mr-lg-n3, + .mx-lg-n3 { + margin-right: -1rem !important; + } + .mb-lg-n3, + .my-lg-n3 { + margin-bottom: -1rem !important; + } + .ml-lg-n3, + .mx-lg-n3 { + margin-left: -1rem !important; + } + .m-lg-n4 { + margin: -1.5rem !important; + } + .mt-lg-n4, + .my-lg-n4 { + margin-top: -1.5rem !important; + } + .mr-lg-n4, + .mx-lg-n4 { + margin-right: -1.5rem !important; + } + .mb-lg-n4, + .my-lg-n4 { + margin-bottom: -1.5rem !important; + } + .ml-lg-n4, + .mx-lg-n4 { + margin-left: -1.5rem !important; + } + .m-lg-n5 { + margin: -3rem !important; + } + .mt-lg-n5, + .my-lg-n5 { + margin-top: -3rem !important; + } + .mr-lg-n5, + .mx-lg-n5 { + margin-right: -3rem !important; + } + .mb-lg-n5, + .my-lg-n5 { + margin-bottom: -3rem !important; + } + .ml-lg-n5, + .mx-lg-n5 { + margin-left: -3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mt-lg-auto, + .my-lg-auto { + margin-top: auto !important; + } + .mr-lg-auto, + .mx-lg-auto { + margin-right: auto !important; + } + .mb-lg-auto, + .my-lg-auto { + margin-bottom: auto !important; + } + .ml-lg-auto, + .mx-lg-auto { + margin-left: auto !important; + } +} + +@media (min-width: 1200px) { + .m-xl-0 { + margin: 0 !important; + } + .mt-xl-0, + .my-xl-0 { + margin-top: 0 !important; + } + .mr-xl-0, + .mx-xl-0 { + margin-right: 0 !important; + } + .mb-xl-0, + .my-xl-0 { + margin-bottom: 0 !important; + } + .ml-xl-0, + .mx-xl-0 { + margin-left: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .mt-xl-1, + .my-xl-1 { + margin-top: 0.25rem !important; + } + .mr-xl-1, + .mx-xl-1 { + margin-right: 0.25rem !important; + } + .mb-xl-1, + .my-xl-1 { + margin-bottom: 0.25rem !important; + } + .ml-xl-1, + .mx-xl-1 { + margin-left: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .mt-xl-2, + .my-xl-2 { + margin-top: 0.5rem !important; + } + .mr-xl-2, + .mx-xl-2 { + margin-right: 0.5rem !important; + } + .mb-xl-2, + .my-xl-2 { + margin-bottom: 0.5rem !important; + } + .ml-xl-2, + .mx-xl-2 { + margin-left: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .mt-xl-3, + .my-xl-3 { + margin-top: 1rem !important; + } + .mr-xl-3, + .mx-xl-3 { + margin-right: 1rem !important; + } + .mb-xl-3, + .my-xl-3 { + margin-bottom: 1rem !important; + } + .ml-xl-3, + .mx-xl-3 { + margin-left: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .mt-xl-4, + .my-xl-4 { + margin-top: 1.5rem !important; + } + .mr-xl-4, + .mx-xl-4 { + margin-right: 1.5rem !important; + } + .mb-xl-4, + .my-xl-4 { + margin-bottom: 1.5rem !important; + } + .ml-xl-4, + .mx-xl-4 { + margin-left: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .mt-xl-5, + .my-xl-5 { + margin-top: 3rem !important; + } + .mr-xl-5, + .mx-xl-5 { + margin-right: 3rem !important; + } + .mb-xl-5, + .my-xl-5 { + margin-bottom: 3rem !important; + } + .ml-xl-5, + .mx-xl-5 { + margin-left: 3rem !important; + } + .p-xl-0 { + padding: 0 !important; + } + .pt-xl-0, + .py-xl-0 { + padding-top: 0 !important; + } + .pr-xl-0, + .px-xl-0 { + padding-right: 0 !important; + } + .pb-xl-0, + .py-xl-0 { + padding-bottom: 0 !important; + } + .pl-xl-0, + .px-xl-0 { + padding-left: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .pt-xl-1, + .py-xl-1 { + padding-top: 0.25rem !important; + } + .pr-xl-1, + .px-xl-1 { + padding-right: 0.25rem !important; + } + .pb-xl-1, + .py-xl-1 { + padding-bottom: 0.25rem !important; + } + .pl-xl-1, + .px-xl-1 { + padding-left: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .pt-xl-2, + .py-xl-2 { + padding-top: 0.5rem !important; + } + .pr-xl-2, + .px-xl-2 { + padding-right: 0.5rem !important; + } + .pb-xl-2, + .py-xl-2 { + padding-bottom: 0.5rem !important; + } + .pl-xl-2, + .px-xl-2 { + padding-left: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .pt-xl-3, + .py-xl-3 { + padding-top: 1rem !important; + } + .pr-xl-3, + .px-xl-3 { + padding-right: 1rem !important; + } + .pb-xl-3, + .py-xl-3 { + padding-bottom: 1rem !important; + } + .pl-xl-3, + .px-xl-3 { + padding-left: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .pt-xl-4, + .py-xl-4 { + padding-top: 1.5rem !important; + } + .pr-xl-4, + .px-xl-4 { + padding-right: 1.5rem !important; + } + .pb-xl-4, + .py-xl-4 { + padding-bottom: 1.5rem !important; + } + .pl-xl-4, + .px-xl-4 { + padding-left: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .pt-xl-5, + .py-xl-5 { + padding-top: 3rem !important; + } + .pr-xl-5, + .px-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-5, + .py-xl-5 { + padding-bottom: 3rem !important; + } + .pl-xl-5, + .px-xl-5 { + padding-left: 3rem !important; + } + .m-xl-n1 { + margin: -0.25rem !important; + } + .mt-xl-n1, + .my-xl-n1 { + margin-top: -0.25rem !important; + } + .mr-xl-n1, + .mx-xl-n1 { + margin-right: -0.25rem !important; + } + .mb-xl-n1, + .my-xl-n1 { + margin-bottom: -0.25rem !important; + } + .ml-xl-n1, + .mx-xl-n1 { + margin-left: -0.25rem !important; + } + .m-xl-n2 { + margin: -0.5rem !important; + } + .mt-xl-n2, + .my-xl-n2 { + margin-top: -0.5rem !important; + } + .mr-xl-n2, + .mx-xl-n2 { + margin-right: -0.5rem !important; + } + .mb-xl-n2, + .my-xl-n2 { + margin-bottom: -0.5rem !important; + } + .ml-xl-n2, + .mx-xl-n2 { + margin-left: -0.5rem !important; + } + .m-xl-n3 { + margin: -1rem !important; + } + .mt-xl-n3, + .my-xl-n3 { + margin-top: -1rem !important; + } + .mr-xl-n3, + .mx-xl-n3 { + margin-right: -1rem !important; + } + .mb-xl-n3, + .my-xl-n3 { + margin-bottom: -1rem !important; + } + .ml-xl-n3, + .mx-xl-n3 { + margin-left: -1rem !important; + } + .m-xl-n4 { + margin: -1.5rem !important; + } + .mt-xl-n4, + .my-xl-n4 { + margin-top: -1.5rem !important; + } + .mr-xl-n4, + .mx-xl-n4 { + margin-right: -1.5rem !important; + } + .mb-xl-n4, + .my-xl-n4 { + margin-bottom: -1.5rem !important; + } + .ml-xl-n4, + .mx-xl-n4 { + margin-left: -1.5rem !important; + } + .m-xl-n5 { + margin: -3rem !important; + } + .mt-xl-n5, + .my-xl-n5 { + margin-top: -3rem !important; + } + .mr-xl-n5, + .mx-xl-n5 { + margin-right: -3rem !important; + } + .mb-xl-n5, + .my-xl-n5 { + margin-bottom: -3rem !important; + } + .ml-xl-n5, + .mx-xl-n5 { + margin-left: -3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mt-xl-auto, + .my-xl-auto { + margin-top: auto !important; + } + .mr-xl-auto, + .mx-xl-auto { + margin-right: auto !important; + } + .mb-xl-auto, + .my-xl-auto { + margin-bottom: auto !important; + } + .ml-xl-auto, + .mx-xl-auto { + margin-left: auto !important; + } +} +/*# sourceMappingURL=bootstrap-grid.css.map */ \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-grid.css.map b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-grid.css.map new file mode 100644 index 0000000..db62f2f --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-grid.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_spacing.scss"],"names":[],"mappings":"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vBQ;IHTR,gBAA8C;EF4vB9C;EKnvBQ;IHTR,uBAA8C;EF+vB9C;EKtvBQ;IHTR,uBAA8C;EFkwB9C;EKzvBQ;IHTR,gBAA8C;EFqwB9C;EK5vBQ;IHTR,uBAA8C;EFwwB9C;EK/vBQ;IHTR,uBAA8C;EF2wB9C;AACF;;AMlzBM;EAAwB,wBAA0B;ANszBxD;;AMtzBM;EAAwB,0BAA0B;AN0zBxD;;AM1zBM;EAAwB,gCAA0B;AN8zBxD;;AM9zBM;EAAwB,yBAA0B;ANk0BxD;;AMl0BM;EAAwB,yBAA0B;ANs0BxD;;AMt0BM;EAAwB,6BAA0B;AN00BxD;;AM10BM;EAAwB,8BAA0B;AN80BxD;;AM90BM;EAAwB,+BAA0B;EAA1B,wBAA0B;ANk1BxD;;AMl1BM;EAAwB,sCAA0B;EAA1B,+BAA0B;ANs1BxD;;AGryBI;EGjDE;IAAwB,wBAA0B;EN21BtD;EM31BI;IAAwB,0BAA0B;EN81BtD;EM91BI;IAAwB,gCAA0B;ENi2BtD;EMj2BI;IAAwB,yBAA0B;ENo2BtD;EMp2BI;IAAwB,yBAA0B;ENu2BtD;EMv2BI;IAAwB,6BAA0B;EN02BtD;EM12BI;IAAwB,8BAA0B;EN62BtD;EM72BI;IAAwB,+BAA0B;IAA1B,wBAA0B;ENg3BtD;EMh3BI;IAAwB,sCAA0B;IAA1B,+BAA0B;ENm3BtD;AACF;;AGn0BI;EGjDE;IAAwB,wBAA0B;ENy3BtD;EMz3BI;IAAwB,0BAA0B;EN43BtD;EM53BI;IAAwB,gCAA0B;EN+3BtD;EM/3BI;IAAwB,yBAA0B;ENk4BtD;EMl4BI;IAAwB,yBAA0B;ENq4BtD;EMr4BI;IAAwB,6BAA0B;ENw4BtD;EMx4BI;IAAwB,8BAA0B;EN24BtD;EM34BI;IAAwB,+BAA0B;IAA1B,wBAA0B;EN84BtD;EM94BI;IAAwB,sCAA0B;IAA1B,+BAA0B;ENi5BtD;AACF;;AGj2BI;EGjDE;IAAwB,wBAA0B;ENu5BtD;EMv5BI;IAAwB,0BAA0B;EN05BtD;EM15BI;IAAwB,gCAA0B;EN65BtD;EM75BI;IAAwB,yBAA0B;ENg6BtD;EMh6BI;IAAwB,yBAA0B;ENm6BtD;EMn6BI;IAAwB,6BAA0B;EN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AEE,+BAAwC;ARgoDlD;;AQ9nDQ;;EAEE,gCAA0C;ARioDpD;;AQ/nDQ;;EAEE,8BAAsC;ARkoDhD;;AQjpDQ;EAAgC,uBAA4B;ARqpDpE;;AQppDQ;;EAEE,2BAAoC;ARupD9C;;AQrpDQ;;EAEE,6BAAwC;ARwpDlD;;AQtpDQ;;EAEE,8BAA0C;ARypDpD;;AQvpDQ;;EAEE,4BAAsC;AR0pDhD;;AQzqDQ;EAAgC,qBAA4B;AR6qDpE;;AQ5qDQ;;EAEE,yBAAoC;AR+qD9C;;AQ7qDQ;;EAEE,2BAAwC;ARgrDlD;;AQ9qDQ;;EAEE,4BAA0C;ARirDpD;;AQ/qDQ;;EAEE,0BAAsC;ARkrDhD;;AQjsDQ;EAAgC,2BAA4B;ARqsDpE;;AQpsDQ;;EAEE,+BAAoC;ARusD9C;;AQrsDQ;;EAEE,iCAAwC;ARwsDlD;;AQtsDQ;;EAEE,kCAA0C;ARysDpD;;AQvsDQ;;EAEE,gCAAsC;AR0sDhD;;AQztDQ;EAAgC,0BAA4B;AR6tDpE;;AQ5tDQ;;EAEE,8BAAoC;AR+tD9C;;AQ7tDQ;;EAEE,gCAAwC;ARguDlD;;AQ9tDQ;;EAEE,iCAA0C;ARiuDpD;;AQ/tDQ;;EAEE,+BAAsC;ARkuDhD;;AQjvDQ;EAAgC,wBAA4B;ARqvDpE;;AQpvDQ;;EAEE,4BAAoC;ARuvD9C;;AQrvDQ;;EAEE,8BAAwC;ARwvDlD;;AQtvDQ;;EAEE,+BAA0C;ARyvDpD;;AQvvDQ;;EAEE,6BAAsC;AR0vDhD;;AQzwDQ;EAAgC,0BAA4B;AR6wDpE;;AQ5wDQ;;EAEE,8BAAoC;AR+wD9C;;AQ7wDQ;;EAEE,gCAAwC;ARgxDlD;;AQ9wDQ;;EAEE,iCAA0C;ARixDpD;;AQ/wDQ;;EAEE,+BAAsC;ARkxDhD;;AQjyDQ;EAAgC,wBAA4B;ARqyDpE;;AQpyDQ;;EAEE,4BAAoC;ARuyD9C;;AQryDQ;;EAEE,8BAAwC;ARwyDlD;;AQtyDQ;;EAEE,+BAA0C;ARyyDpD;;AQvyDQ;;EAEE,6BAAsC;AR0yDhD;;AQlyDQ;EAAwB,2BAA2B;ARsyD3D;;AQryDQ;;EAEE,+BAA+B;ARwyDzC;;AQtyDQ;;EAEE,iCAAiC;ARyyD3C;;AQvyDQ;;EAEE,kCAAkC;AR0yD5C;;AQxyDQ;;EAEE,gCAAgC;AR2yD1C;;AQ1zDQ;EAAwB,0BAA2B;AR8zD3D;;AQ7zDQ;;EAEE,8BAA+B;ARg0DzC;;AQ9zDQ;;EAEE,gCAAiC;ARi0D3C;;AQ/zDQ;;EAEE,iCAAkC;ARk0D5C;;AQh0DQ;;EAEE,+BAAgC;ARm0D1C;;AQl1DQ;EAAwB,wBAA2B;ARs1D3D;;AQr1DQ;;EAEE,4BAA+B;ARw1DzC;;AQt1DQ;;EAEE,8BAAiC;ARy1D3C;;AQv1DQ;;EAEE,+BAAkC;AR01D5C;;AQx1DQ;;EAEE,6BAAgC;AR21D1C;;AQ12DQ;EAAwB,0BAA2B;AR82D3D;;AQ72DQ;;EAEE,8BAA+B;ARg3DzC;;AQ92DQ;;EAEE,gCAAiC;ARi3D3C;;AQ/2DQ;;EAEE,iCAAkC;ARk3D5C;;AQh3DQ;;EAEE,+BAAgC;ARm3D1C;;AQl4DQ;EAAwB,wBAA2B;ARs4D3D;;AQr4DQ;;EAEE,4BAA+B;ARw4DzC;;AQt4DQ;;EAEE,8BAAiC;ARy4D3C;;AQv4DQ;;EAEE,+BAAkC;AR04D5C;;AQx4DQ;;EAEE,6BAAgC;AR24D1C;;AQr4DI;EAAmB,uBAAuB;ARy4D9C;;AQx4DI;;EAEE,2BAA2B;AR24DjC;;AQz4DI;;EAEE,6BAA6B;AR44DnC;;AQ14DI;;EAEE,8BAA8B;AR64DpC;;AQ34DI;;EAEE,4BAA4B;AR84DlC;;AGv5DI;EKlDI;IAAgC,oBAA4B;ER88DlE;EQ78DM;;IAEE,wBAAoC;ER+8D5C;EQ78DM;;IAEE,0BAAwC;ER+8DhD;EQ78DM;;IAEE,2BAA0C;ER+8DlD;EQ78DM;;IAEE,yBAAsC;ER+8D9C;EQ99DM;IAAgC,0BAA4B;ERi+DlE;EQh+DM;;IAEE,8BAAoC;ERk+D5C;EQh+DM;;IAEE,gCAAwC;ERk+DhD;EQh+DM;;IAEE,iCAA0C;ERk+DlD;EQh+DM;;IAEE,+BAAsC;ERk+D9C;EQj/DM;IAAgC,yBAA4B;ERo/DlE;EQn/DM;;IAEE,6BAAoC;ERq/D5C;EQn/DM;;IAEE,+BAAwC;ERq/DhD;EQn/DM;;IAEE,gCAA0C;ERq/DlD;EQn/DM;;IAEE,8BAAsC;ERq/D9C;EQpgEM;IAAgC,uBAA4B;ERugElE;EQtgEM;;IAEE,2BAAoC;ERwgE5C;EQtgEM;;IAEE,6BAAwC;ERwgEhD;EQtgEM;;IAEE,8BAA0C;ERwgElD;EQtgEM;;IAEE,4BAAsC;ERwgE9C;EQvhEM;IAAgC,yBAA4B;ER0hElE;EQzhEM;;IAEE,6BAAoC;ER2hE5C;EQzhEM;;IAEE,+BAAwC;ER2hEhD;EQzhEM;;IAEE,gCAA0C;ER2hElD;EQzhEM;;IAEE,8BAAsC;ER2hE9C;EQ1iEM;IAAgC,uBAA4B;ER6iElE;EQ5iEM;;IAEE,2BAAoC;ER8iE5C;EQ5iEM;;IAEE,6BAAwC;ER8iEhD;EQ5iEM;;IAEE,8BAA0C;ER8iElD;EQ5iEM;;IAEE,4BAAsC;ER8iE9C;EQ7jEM;IAAgC,qBAA4B;ERgkElE;EQ/jEM;;IAEE,yBAAoC;ERikE5C;EQ/jEM;;IAEE,2BAAwC;ERikEhD;EQ/jEM;;IAEE,4BAA0C;ERikElD;EQ/jEM;;IAEE,0BAAsC;ERikE9C;EQhlEM;IAAgC,2BAA4B;ERmlElE;EQllEM;;IAEE,+BAAoC;ERolE5C;EQllEM;;IAEE,iCAAwC;ERolEhD;EQllEM;;IAEE,kCAA0C;ERolElD;EQllEM;;IAEE,gCAAsC;ERolE9C;EQnmEM;IAAgC,0BAA4B;ERsmElE;EQrmEM;;IAEE,8BAAoC;ERumE5C;EQrmEM;;IAEE,gCAAwC;ERumEhD;EQrmEM;;IAEE,iCAA0C;ERumElD;EQrmEM;;IAEE,+BAAsC;ERumE9C;EQtnEM;IAAgC,wBAA4B;ERynElE;EQxnEM;;IAEE,4BAAoC;ER0nE5C;EQxnEM;;IAEE,8BAAwC;ER0nEhD;EQxnEM;;IAEE,+BAA0C;ER0nElD;EQxnEM;;IAEE,6BAAsC;ER0nE9C;EQzoEM;IAAgC,0BAA4B;ER4oElE;EQ3oEM;;IAEE,8BAAoC;ER6oE5C;EQ3oEM;;IAEE,gCAAwC;ER6oEhD;EQ3oEM;;IAEE,iCAA0C;ER6oElD;EQ3oEM;;IAEE,+BAAsC;ER6oE9C;EQ5pEM;IAAgC,wBAA4B;ER+pElE;EQ9pEM;;IAEE,4BAAoC;ERgqE5C;EQ9pEM;;IAEE,8BAAwC;ERgqEhD;EQ9pEM;;IAEE,+BAA0C;ERgqElD;EQ9pEM;;IAEE,6BAAsC;ERgqE9C;EQxpEM;IAAwB,2BAA2B;ER2pEzD;EQ1pEM;;IAEE,+BAA+B;ER4pEvC;EQ1pEM;;IAEE,iCAAiC;ER4pEzC;EQ1pEM;;IAEE,kCAAkC;ER4pE1C;EQ1pEM;;IAEE,gCAAgC;ER4pExC;EQ3qEM;IAAwB,0BAA2B;ER8qEzD;EQ7qEM;;IAEE,8BAA+B;ER+qEvC;EQ7qEM;;IAEE,gCAAiC;ER+qEzC;EQ7qEM;;IAEE,iCAAkC;ER+qE1C;EQ7qEM;;IAEE,+BAAgC;ER+qExC;EQ9rEM;IAAwB,wBAA2B;ERisEzD;EQhsEM;;IAEE,4BAA+B;ERksEvC;EQhsEM;;IAEE,8BAAiC;ERksEzC;EQhsEM;;IAEE,+BAAkC;ERksE1C;EQhsEM;;IAEE,6BAAgC;ERksExC;EQjtEM;IAAwB,0BAA2B;ERotEzD;EQntEM;;IAEE,8BAA+B;ERqtEvC;EQntEM;;IAEE,gCAAiC;ERqtEzC;EQntEM;;IAEE,iCAAkC;ERqtE1C;EQntEM;;IAEE,+BAAgC;ERqtExC;EQpuEM;IAAwB,wBAA2B;ERuuEzD;EQtuEM;;IAEE,4BAA+B;ERwuEvC;EQtuEM;;IAEE,8BAAiC;ERwuEzC;EQtuEM;;IAEE,+BAAkC;ERwuE1C;EQtuEM;;IAEE,6BAAgC;ERwuExC;EQluEE;IAAmB,uBAAuB;ERquE5C;EQpuEE;;IAEE,2BAA2B;ERsuE/B;EQpuEE;;IAEE,6BAA6B;ERsuEjC;EQpuEE;;IAEE,8BAA8B;ERsuElC;EQpuEE;;IAEE,4BAA4B;ERsuEhC;AACF;;AGhvEI;EKlDI;IAAgC,oBAA4B;ERuyElE;EQtyEM;;IAEE,wBAAoC;ERwyE5C;EQtyEM;;IAEE,0BAAwC;ERwyEhD;EQtyEM;;IAEE,2BAA0C;ERwyElD;EQtyEM;;IAEE,yBAAsC;ERwyE9C;EQvzEM;IAAgC,0BAA4B;ER0zElE;EQzzEM;;IAEE,8BAAoC;ER2zE5C;EQzzEM;;IAEE,gCAAwC;ER2zEhD;EQzzEM;;IAEE,iCAA0C;ER2zElD;EQzzEM;;IAEE,+BAAsC;ER2zE9C;EQ10EM;IAAgC,yBAA4B;ER60ElE;EQ50EM;;IAEE,6BAAoC;ER80E5C;EQ50EM;;IAEE,+BAAwC;ER80EhD;EQ50EM;;IAEE,gCAA0C;ER80ElD;EQ50EM;;IAEE,8BAAsC;ER80E9C;EQ71EM;IAAgC,uBAA4B;ERg2ElE;EQ/1EM;;IAEE,2BAAoC;ERi2E5C;EQ/1EM;;IAEE,6BAAwC;ERi2EhD;EQ/1EM;;IAEE,8BAA0C;ERi2ElD;EQ/1EM;;IAEE,4BAAsC;ERi2E9C;EQh3EM;IAAgC,yBAA4B;ERm3ElE;EQl3EM;;IAEE,6BAAoC;ERo3E5C;EQl3EM;;IAEE,+BAAwC;ERo3EhD;EQl3EM;;IAEE,gCAA0C;ERo3ElD;EQl3EM;;IAEE,8BAAsC;ERo3E9C;EQn4EM;IAAgC,uBAA4B;ERs4ElE;EQr4EM;;IAEE,2BAAoC;ERu4E5C;EQr4EM;;IAEE,6BAAwC;ERu4EhD;EQr4EM;;IAEE,8BAA0C;ERu4ElD;EQr4EM;;IAEE,4BAAsC;ERu4E9C;EQt5EM;IAAgC,qBAA4B;ERy5ElE;EQx5EM;;IAEE,yBAAoC;ER05E5C;EQx5EM;;IAEE,2BAAwC;ER05EhD;EQx5EM;;IAEE,4BAA0C;ER05ElD;EQx5EM;;IAEE,0BAAsC;ER05E9C;EQz6EM;IAAgC,2BAA4B;ER46ElE;EQ36EM;;IAEE,+BAAoC;ER66E5C;EQ36EM;;IAEE,iCAAwC;ER66EhD;EQ36EM;;IAEE,kCAA0C;ER66ElD;EQ36EM;;IAEE,gCAAsC;ER66E9C;EQ57EM;IAAgC,0BAA4B;ER+7ElE;EQ97EM;;IAEE,8BAAoC;ERg8E5C;EQ97EM;;IAEE,gCAAwC;ERg8EhD;EQ97EM;;IAEE,iCAA0C;ERg8ElD;EQ97EM;;IAEE,+BAAsC;ERg8E9C;EQ/8EM;IAAgC,wBAA4B;ERk9ElE;EQj9EM;;IAEE,4BAAoC;ERm9E5C;EQj9EM;;IAEE,8BAAwC;ERm9EhD;EQj9EM;;IAEE,+BAA0C;ERm9ElD;EQj9EM;;IAEE,6BAAsC;ERm9E9C;EQl+EM;IAAgC,0BAA4B;ERq+ElE;EQp+EM;;IAEE,8BAAoC;ERs+E5C;EQp+EM;;IAEE,gCAAwC;ERs+EhD;EQp+EM;;IAEE,iCAA0C;ERs+ElD;EQp+EM;;IAEE,+BAAsC;ERs+E9C;EQr/EM;IAAgC,wBAA4B;ERw/ElE;EQv/EM;;IAEE,4BAAoC;ERy/E5C;EQv/EM;;IAEE,8BAAwC;ERy/EhD;EQv/EM;;IAEE,+BAA0C;ERy/ElD;EQv/EM;;IAEE,6BAAsC;ERy/E9C;EQj/EM;IAAwB,2BAA2B;ERo/EzD;EQn/EM;;IAEE,+BAA+B;ERq/EvC;EQn/EM;;IAEE,iCAAiC;ERq/EzC;EQn/EM;;IAEE,kCAAkC;ERq/E1C;EQn/EM;;IAEE,gCAAgC;ERq/ExC;EQpgFM;IAAwB,0BAA2B;ERugFzD;EQtgFM;;IAEE,8BAA+B;ERwgFvC;EQtgFM;;IAEE,gCAAiC;ERwgFzC;EQtgFM;;IAEE,iCAAkC;ERwgF1C;EQtgFM;;IAEE,+BAAgC;ERwgFxC;EQvhFM;IAAwB,wBAA2B;ER0hFzD;EQzhFM;;IAEE,4BAA+B;ER2hFvC;EQzhFM;;IAEE,8BAAiC;ER2hFzC;EQzhFM;;IAEE,+BAAkC;ER2hF1C;EQzhFM;;IAEE,6BAAgC;ER2hFxC;EQ1iFM;IAAwB,0BAA2B;ER6iFzD;EQ5iFM;;IAEE,8BAA+B;ER8iFvC;EQ5iFM;;IAEE,gCAAiC;ER8iFzC;EQ5iFM;;IAEE,iCAAkC;ER8iF1C;EQ5iFM;;IAEE,+BAAgC;ER8iFxC;EQ7jFM;IAAwB,wBAA2B;ERgkFzD;EQ/jFM;;IAEE,4BAA+B;ERikFvC;EQ/jFM;;IAEE,8BAAiC;ERikFzC;EQ/jFM;;IAEE,+BAAkC;ERikF1C;EQ/jFM;;IAEE,6BAAgC;ERikFxC;EQ3jFE;IAAmB,uBAAuB;ER8jF5C;EQ7jFE;;IAEE,2BAA2B;ER+jF/B;EQ7jFE;;IAEE,6BAA6B;ER+jFjC;EQ7jFE;;IAEE,8BAA8B;ER+jFlC;EQ7jFE;;IAEE,4BAA4B;ER+jFhC;AACF;;AGzkFI;EKlDI;IAAgC,oBAA4B;ERgoFlE;EQ/nFM;;IAEE,wBAAoC;ERioF5C;EQ/nFM;;IAEE,0BAAwC;ERioFhD;EQ/nFM;;IAEE,2BAA0C;ERioFlD;EQ/nFM;;IAEE,yBAAsC;ERioF9C;EQhpFM;IAAgC,0BAA4B;ERmpFlE;EQlpFM;;IAEE,8BAAoC;ERopF5C;EQlpFM;;IAEE,gCAAwC;ERopFhD;EQlpFM;;IAEE,iCAA0C;ERopFlD;EQlpFM;;IAEE,+BAAsC;ERopF9C;EQnqFM;IAAgC,yBAA4B;ERsqFlE;EQrqFM;;IAEE,6BAAoC;ERuqF5C;EQrqFM;;IAEE,+BAAwC;ERuqFhD;EQrqFM;;IAEE,gCAA0C;ERuqFlD;EQrqFM;;IAEE,8BAAsC;ERuqF9C;EQtrFM;IAAgC,uBAA4B;ERyrFlE;EQxrFM;;IAEE,2BAAoC;ER0rF5C;EQxrFM;;IAEE,6BAAwC;ER0rFhD;EQxrFM;;IAEE,8BAA0C;ER0rFlD;EQxrFM;;IAEE,4BAAsC;ER0rF9C;EQzsFM;IAAgC,yBAA4B;ER4sFlE;EQ3sFM;;IAEE,6BAAoC;ER6sF5C;EQ3sFM;;IAEE,+BAAwC;ER6sFhD;EQ3sFM;;IAEE,gCAA0C;ER6sFlD;EQ3sFM;;IAEE,8BAAsC;ER6sF9C;EQ5tFM;IAAgC,uBAA4B;ER+tFlE;EQ9tFM;;IAEE,2BAAoC;ERguF5C;EQ9tFM;;IAEE,6BAAwC;ERguFhD;EQ9tFM;;IAEE,8BAA0C;ERguFlD;EQ9tFM;;IAEE,4BAAsC;ERguF9C;EQ/uFM;IAAgC,qBAA4B;ERkvFlE;EQjvFM;;IAEE,yBAAoC;ERmvF5C;EQjvFM;;IAEE,2BAAwC;ERmvFhD;EQjvFM;;IAEE,4BAA0C;ERmvFlD;EQjvFM;;IAEE,0BAAsC;ERmvF9C;EQlwFM;IAAgC,2BAA4B;ERqwFlE;EQpwFM;;IAEE,+BAAoC;ERswF5C;EQpwFM;;IAEE,iCAAwC;ERswFhD;EQpwFM;;IAEE,kCAA0C;ERswFlD;EQpwFM;;IAEE,gCAAsC;ERswF9C;EQrxFM;IAAgC,0BAA4B;ERwxFlE;EQvxFM;;IAEE,8BAAoC;ERyxF5C;EQvxFM;;IAEE,gCAAwC;ERyxFhD;EQvxFM;;IAEE,iCAA0C;ERyxFlD;EQvxFM;;IAEE,+BAAsC;ERyxF9C;EQxyFM;IAAgC,wBAA4B;ER2yFlE;EQ1yFM;;IAEE,4BAAoC;ER4yF5C;EQ1yFM;;IAEE,8BAAwC;ER4yFhD;EQ1yFM;;IAEE,+BAA0C;ER4yFlD;EQ1yFM;;IAEE,6BAAsC;ER4yF9C;EQ3zFM;IAAgC,0BAA4B;ER8zFlE;EQ7zFM;;IAEE,8BAAoC;ER+zF5C;EQ7zFM;;IAEE,gCAAwC;ER+zFhD;EQ7zFM;;IAEE,iCAA0C;ER+zFlD;EQ7zFM;;IAEE,+BAAsC;ER+zF9C;EQ90FM;IAAgC,wBAA4B;ERi1FlE;EQh1FM;;IAEE,4BAAoC;ERk1F5C;EQh1FM;;IAEE,8BAAwC;ERk1FhD;EQh1FM;;IAEE,+BAA0C;ERk1FlD;EQh1FM;;IAEE,6BAAsC;ERk1F9C;EQ10FM;IAAwB,2BAA2B;ER60FzD;EQ50FM;;IAEE,+BAA+B;ER80FvC;EQ50FM;;IAEE,iCAAiC;ER80FzC;EQ50FM;;IAEE,kCAAkC;ER80F1C;EQ50FM;;IAEE,gCAAgC;ER80FxC;EQ71FM;IAAwB,0BAA2B;ERg2FzD;EQ/1FM;;IAEE,8BAA+B;ERi2FvC;EQ/1FM;;IAEE,gCAAiC;ERi2FzC;EQ/1FM;;IAEE,iCAAkC;ERi2F1C;EQ/1FM;;IAEE,+BAAgC;ERi2FxC;EQh3FM;IAAwB,wBAA2B;ERm3FzD;EQl3FM;;IAEE,4BAA+B;ERo3FvC;EQl3FM;;IAEE,8BAAiC;ERo3FzC;EQl3FM;;IAEE,+BAAkC;ERo3F1C;EQl3FM;;IAEE,6BAAgC;ERo3FxC;EQn4FM;IAAwB,0BAA2B;ERs4FzD;EQr4FM;;IAEE,8BAA+B;ERu4FvC;EQr4FM;;IAEE,gCAAiC;ERu4FzC;EQr4FM;;IAEE,iCAAkC;ERu4F1C;EQr4FM;;IAEE,+BAAgC;ERu4FxC;EQt5FM;IAAwB,wBAA2B;ERy5FzD;EQx5FM;;IAEE,4BAA+B;ER05FvC;EQx5FM;;IAEE,8BAAiC;ER05FzC;EQx5FM;;IAEE,+BAAkC;ER05F1C;EQx5FM;;IAEE,6BAAgC;ER05FxC;EQp5FE;IAAmB,uBAAuB;ERu5F5C;EQt5FE;;IAEE,2BAA2B;ERw5F/B;EQt5FE;;IAEE,6BAA6B;ERw5FjC;EQt5FE;;IAEE,8BAA8B;ERw5FlC;EQt5FE;;IAEE,4BAA4B;ERw5FhC;AACF;;AGl6FI;EKlDI;IAAgC,oBAA4B;ERy9FlE;EQx9FM;;IAEE,wBAAoC;ER09F5C;EQx9FM;;IAEE,0BAAwC;ER09FhD;EQx9FM;;IAEE,2BAA0C;ER09FlD;EQx9FM;;IAEE,yBAAsC;ER09F9C;EQz+FM;IAAgC,0BAA4B;ER4+FlE;EQ3+FM;;IAEE,8BAAoC;ER6+F5C;EQ3+FM;;IAEE,gCAAwC;ER6+FhD;EQ3+FM;;IAEE,iCAA0C;ER6+FlD;EQ3+FM;;IAEE,+BAAsC;ER6+F9C;EQ5/FM;IAAgC,yBAA4B;ER+/FlE;EQ9/FM;;IAEE,6BAAoC;ERggG5C;EQ9/FM;;IAEE,+BAAwC;ERggGhD;EQ9/FM;;IAEE,gCAA0C;ERggGlD;EQ9/FM;;IAEE,8BAAsC;ERggG9C;EQ/gGM;IAAgC,uBAA4B;ERkhGlE;EQjhGM;;IAEE,2BAAoC;ERmhG5C;EQjhGM;;IAEE,6BAAwC;ERmhGhD;EQjhGM;;IAEE,8BAA0C;ERmhGlD;EQjhGM;;IAEE,4BAAsC;ERmhG9C;EQliGM;IAAgC,yBAA4B;ERqiGlE;EQpiGM;;IAEE,6BAAoC;ERsiG5C;EQpiGM;;IAEE,+BAAwC;ERsiGhD;EQpiGM;;IAEE,gCAA0C;ERsiGlD;EQpiGM;;IAEE,8BAAsC;ERsiG9C;EQrjGM;IAAgC,uBAA4B;ERwjGlE;EQvjGM;;IAEE,2BAAoC;ERyjG5C;EQvjGM;;IAEE,6BAAwC;ERyjGhD;EQvjGM;;IAEE,8BAA0C;ERyjGlD;EQvjGM;;IAEE,4BAAsC;ERyjG9C;EQxkGM;IAAgC,qBAA4B;ER2kGlE;EQ1kGM;;IAEE,yBAAoC;ER4kG5C;EQ1kGM;;IAEE,2BAAwC;ER4kGhD;EQ1kGM;;IAEE,4BAA0C;ER4kGlD;EQ1kGM;;IAEE,0BAAsC;ER4kG9C;EQ3lGM;IAAgC,2BAA4B;ER8lGlE;EQ7lGM;;IAEE,+BAAoC;ER+lG5C;EQ7lGM;;IAEE,iCAAwC;ER+lGhD;EQ7lGM;;IAEE,kCAA0C;ER+lGlD;EQ7lGM;;IAEE,gCAAsC;ER+lG9C;EQ9mGM;IAAgC,0BAA4B;ERinGlE;EQhnGM;;IAEE,8BAAoC;ERknG5C;EQhnGM;;IAEE,gCAAwC;ERknGhD;EQhnGM;;IAEE,iCAA0C;ERknGlD;EQhnGM;;IAEE,+BAAsC;ERknG9C;EQjoGM;IAAgC,wBAA4B;ERooGlE;EQnoGM;;IAEE,4BAAoC;ERqoG5C;EQnoGM;;IAEE,8BAAwC;ERqoGhD;EQnoGM;;IAEE,+BAA0C;ERqoGlD;EQnoGM;;IAEE,6BAAsC;ERqoG9C;EQppGM;IAAgC,0BAA4B;ERupGlE;EQtpGM;;IAEE,8BAAoC;ERwpG5C;EQtpGM;;IAEE,gCAAwC;ERwpGhD;EQtpGM;;IAEE,iCAA0C;ERwpGlD;EQtpGM;;IAEE,+BAAsC;ERwpG9C;EQvqGM;IAAgC,wBAA4B;ER0qGlE;EQzqGM;;IAEE,4BAAoC;ER2qG5C;EQzqGM;;IAEE,8BAAwC;ER2qGhD;EQzqGM;;IAEE,+BAA0C;ER2qGlD;EQzqGM;;IAEE,6BAAsC;ER2qG9C;EQnqGM;IAAwB,2BAA2B;ERsqGzD;EQrqGM;;IAEE,+BAA+B;ERuqGvC;EQrqGM;;IAEE,iCAAiC;ERuqGzC;EQrqGM;;IAEE,kCAAkC;ERuqG1C;EQrqGM;;IAEE,gCAAgC;ERuqGxC;EQtrGM;IAAwB,0BAA2B;ERyrGzD;EQxrGM;;IAEE,8BAA+B;ER0rGvC;EQxrGM;;IAEE,gCAAiC;ER0rGzC;EQxrGM;;IAEE,iCAAkC;ER0rG1C;EQxrGM;;IAEE,+BAAgC;ER0rGxC;EQzsGM;IAAwB,wBAA2B;ER4sGzD;EQ3sGM;;IAEE,4BAA+B;ER6sGvC;EQ3sGM;;IAEE,8BAAiC;ER6sGzC;EQ3sGM;;IAEE,+BAAkC;ER6sG1C;EQ3sGM;;IAEE,6BAAgC;ER6sGxC;EQ5tGM;IAAwB,0BAA2B;ER+tGzD;EQ9tGM;;IAEE,8BAA+B;ERguGvC;EQ9tGM;;IAEE,gCAAiC;ERguGzC;EQ9tGM;;IAEE,iCAAkC;ERguG1C;EQ9tGM;;IAEE,+BAAgC;ERguGxC;EQ/uGM;IAAwB,wBAA2B;ERkvGzD;EQjvGM;;IAEE,4BAA+B;ERmvGvC;EQjvGM;;IAEE,8BAAiC;ERmvGzC;EQjvGM;;IAEE,+BAAkC;ERmvG1C;EQjvGM;;IAEE,6BAAgC;ERmvGxC;EQ7uGE;IAAmB,uBAAuB;ERgvG5C;EQ/uGE;;IAEE,2BAA2B;ERivG/B;EQ/uGE;;IAEE,6BAA6B;ERivGjC;EQ/uGE;;IAEE,8BAA8B;ERivGlC;EQ/uGE;;IAEE,4BAA4B;ERivGhC;AACF","file":"bootstrap-grid.css","sourcesContent":["/*!\n * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/display\";\n@import \"utilities/flex\";\n@import \"utilities/spacing\";\n","/*!\n * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-print-styles: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$embed-responsive-aspect-ratios: join(\n (\n (21 9),\n (16 9),\n (4 3),\n (1 1),\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n$table-dark-color: $white !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2}) !default;\n$input-height-inner-half: calc(#{$input-line-height * .5em} + #{$input-padding-y}) !default;\n$input-height-inner-quarter: calc(#{$input-line-height * .25em} + #{$input-padding-y / 2}) !default;\n\n$input-height: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2} + #{$input-height-border}) !default;\n$input-height-sm: calc(#{$input-line-height-sm * 1em} + #{$input-btn-padding-y-sm * 2} + #{$input-height-border}) !default;\n$input-height-lg: calc(#{$input-line-height-lg * 1em} + #{$input-btn-padding-y-lg * 2} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-grid-gutter-width: 10px !default;\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: .5rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $input-bg !default;\n\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: $input-box-shadow !default;\n$custom-control-indicator-border-color: $gray-500 !default;\n$custom-control-indicator-border-width: $input-border-width !default;\n\n$custom-control-indicator-disabled-bg: $input-disabled-bg !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-control-indicator-focus-border-color: $input-focus-border-color !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$custom-switch-width: $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default;\n$custom-switch-indicator-size: calc(#{$custom-control-indicator-size} - #{$custom-control-indicator-border-width * 4}) !default;\n\n$custom-select-padding-y: $input-padding-y !default;\n$custom-select-padding-x: $input-padding-x !default;\n$custom-select-font-family: $input-font-family !default;\n$custom-select-font-size: $input-font-size !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight: $input-font-weight !default;\n$custom-select-line-height: $input-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$custom-select-background: $custom-select-indicator no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: calc((1em + #{2 * $custom-select-padding-y}) * 3 / 4 + #{$custom-select-padding-x + $custom-select-indicator-padding}) !default;\n$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width: $input-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm: $input-padding-y-sm !default;\n$custom-select-padding-x-sm: $input-padding-x-sm !default;\n$custom-select-font-size-sm: $input-font-size-sm !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-padding-y-lg: $input-padding-y-lg !default;\n$custom-select-padding-x-lg: $input-padding-x-lg !default;\n$custom-select-font-size-lg: $input-font-size-lg !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg: $gray-500 !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-padding-y !default;\n$custom-file-padding-x: $input-padding-x !default;\n$custom-file-line-height: $input-line-height !default;\n$custom-file-font-family: $input-font-family !default;\n$custom-file-font-weight: $input-font-weight !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$form-feedback-icon-invalid-color}' viewBox='-2 -2 7 7'%3e%3cpath stroke='#{$form-feedback-icon-invalid-color}' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\"), \"#\", \"%23\") !default;\n\n$form-validation-states: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: $spacer / 2 !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $nav-divider-margin-y !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-color: null !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: $line-height-base !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: .25rem !default;\n$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-transition: $btn-transition !default;\n$badge-focus-width: $input-btn-focus-width !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Utilities\n\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\n$overflows: auto, hidden !default;\n$positions: static, relative, absolute, fixed, sticky !default;\n\n\n// Printing\n\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $value in $displays {\n .d#{$infix}-#{$value} { display: $value !important; }\n }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n @each $value in $displays {\n .d-print-#{$value} { display: $value !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n @each $size, $length in $spacers {\n @if $size != 0 {\n .m#{$infix}-n#{$size} { margin: -$length !important; }\n .mt#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-top: -$length !important;\n }\n .mr#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-right: -$length !important;\n }\n .mb#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-bottom: -$length !important;\n }\n .ml#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-left: -$length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n"]} \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-grid.min.css b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-grid.min.css new file mode 100644 index 0000000..e5e74f7 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-grid.min.css @@ -0,0 +1,7 @@ +/*! + * Bootstrap Grid v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */html{box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{box-sizing:inherit}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}} +/*# sourceMappingURL=bootstrap-grid.min.css.map */ \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-grid.min.css.map b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-grid.min.css.map new file mode 100644 index 0000000..13e33db --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-grid.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-grid.scss","dist/css/bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_spacing.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/display\";\n@import \"utilities/flex\";\n@import \"utilities/spacing\";\n","/*!\n * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n -ms-flex-order: -1;\n order: -1;\n}\n\n.order-last {\n -ms-flex-order: 13;\n order: 13;\n}\n\n.order-0 {\n -ms-flex-order: 0;\n order: 0;\n}\n\n.order-1 {\n -ms-flex-order: 1;\n order: 1;\n}\n\n.order-2 {\n -ms-flex-order: 2;\n order: 2;\n}\n\n.order-3 {\n -ms-flex-order: 3;\n order: 3;\n}\n\n.order-4 {\n -ms-flex-order: 4;\n order: 4;\n}\n\n.order-5 {\n -ms-flex-order: 5;\n order: 5;\n}\n\n.order-6 {\n -ms-flex-order: 6;\n order: 6;\n}\n\n.order-7 {\n -ms-flex-order: 7;\n order: 7;\n}\n\n.order-8 {\n -ms-flex-order: 8;\n order: 8;\n}\n\n.order-9 {\n -ms-flex-order: 9;\n order: 9;\n}\n\n.order-10 {\n -ms-flex-order: 10;\n order: 10;\n}\n\n.order-11 {\n -ms-flex-order: 11;\n order: 11;\n}\n\n.order-12 {\n -ms-flex-order: 12;\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-sm-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-sm-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-sm-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-sm-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-sm-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-sm-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-sm-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-sm-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-sm-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-sm-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-sm-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-sm-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-sm-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-sm-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-md-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-md-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-md-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-md-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-md-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-md-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-md-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-md-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-md-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-md-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-md-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-md-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-md-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-md-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-lg-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-lg-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-lg-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-lg-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-lg-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-lg-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-lg-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-lg-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-lg-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-lg-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-lg-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-lg-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-lg-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-lg-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-xl-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-xl-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-xl-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-xl-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-xl-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-xl-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-xl-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-xl-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-xl-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-xl-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-xl-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-xl-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-xl-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-xl-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n}\n\n.d-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-md-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-print-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n.flex-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n}\n\n.flex-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n}\n\n.justify-content-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n}\n\n.align-items-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n}\n\n.align-items-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n}\n\n.align-items-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n}\n\n.align-items-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n}\n\n.align-content-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n}\n\n.align-content-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n}\n\n.align-content-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n}\n\n.align-content-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n}\n\n.align-content-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n}\n\n.align-self-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n}\n\n.align-self-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n}\n\n.align-self-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n}\n\n.align-self-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n}\n\n.align-self-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-sm-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-sm-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-sm-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-sm-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-sm-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-sm-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-sm-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-sm-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-md-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-md-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-md-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-md-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-md-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-md-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-md-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-md-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-md-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-md-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-md-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-md-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-md-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-md-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-md-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-md-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-lg-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-lg-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-lg-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-lg-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-lg-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-lg-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-lg-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-lg-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-xl-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-xl-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-xl-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-xl-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-xl-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-xl-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-xl-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-xl-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $value in $displays {\n .d#{$infix}-#{$value} { display: $value !important; }\n }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n @each $value in $displays {\n .d-print-#{$value} { display: $value !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n @each $size, $length in $spacers {\n @if $size != 0 {\n .m#{$infix}-n#{$size} { margin: -$length !important; }\n .mt#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-top: -$length !important;\n }\n .mr#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-right: -$length !important;\n }\n .mb#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-bottom: -$length !important;\n }\n .ml#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-left: -$length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n"]} \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-reboot.css b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-reboot.css new file mode 100644 index 0000000..09cf986 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-reboot.css @@ -0,0 +1,331 @@ +/*! + * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) + */ +*, +*::before, +*::after { + box-sizing: border-box; +} + +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { + display: block; +} + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; +} + +[tabindex="-1"]:focus { + outline: 0 !important; +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: .5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -.25em; +} + +sup { + top: -.5em; +} + +a { + color: #007bff; + text-decoration: none; + background-color: transparent; +} + +a:hover { + color: #0056b3; + text-decoration: underline; +} + +a:not([href]):not([tabindex]) { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([tabindex]):focus { + outline: 0; +} + +pre, +code, +kbd, +samp { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 1em; +} + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; +} + +figure { + margin: 0 0 1rem; +} + +img { + vertical-align: middle; + border-style: none; +} + +svg { + overflow: hidden; + vertical-align: middle; +} + +table { + border-collapse: collapse; +} + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #6c757d; + text-align: left; + caption-side: bottom; +} + +th { + text-align: inherit; +} + +label { + display: inline-block; + margin-bottom: 0.5rem; +} + +button { + border-radius: 0; +} + +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +input { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +select { + word-wrap: normal; +} + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +button:not(:disabled), +[type="button"]:not(:disabled), +[type="reset"]:not(:disabled), +[type="submit"]:not(:disabled) { + cursor: pointer; +} + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +input[type="radio"], +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + -webkit-appearance: listbox; +} + +textarea { + overflow: auto; + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + +progress { + vertical-align: baseline; +} + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; +} + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +summary { + display: list-item; + cursor: pointer; +} + +template { + display: none; +} + +[hidden] { + display: none !important; +} +/*# sourceMappingURL=bootstrap-reboot.css.map */ \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-reboot.css.map b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-reboot.css.map new file mode 100644 index 0000000..d0b0f02 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-reboot.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-reboot.scss","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":["/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `` alignment by inheriting from the ``, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n word-wrap: normal;\n}\n\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Opinionated: add \"hand\" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n button,\n [type=\"button\"],\n [type=\"reset\"],\n [type=\"submit\"] {\n &:not(:disabled) {\n cursor: pointer;\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `

`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n @include font-size(1.5rem);\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-print-styles: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$embed-responsive-aspect-ratios: join(\n (\n (21 9),\n (16 9),\n (4 3),\n (1 1),\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n$table-dark-color: $white !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2}) !default;\n$input-height-inner-half: calc(#{$input-line-height * .5em} + #{$input-padding-y}) !default;\n$input-height-inner-quarter: calc(#{$input-line-height * .25em} + #{$input-padding-y / 2}) !default;\n\n$input-height: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2} + #{$input-height-border}) !default;\n$input-height-sm: calc(#{$input-line-height-sm * 1em} + #{$input-btn-padding-y-sm * 2} + #{$input-height-border}) !default;\n$input-height-lg: calc(#{$input-line-height-lg * 1em} + #{$input-btn-padding-y-lg * 2} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-grid-gutter-width: 10px !default;\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: .5rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $input-bg !default;\n\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: $input-box-shadow !default;\n$custom-control-indicator-border-color: $gray-500 !default;\n$custom-control-indicator-border-width: $input-border-width !default;\n\n$custom-control-indicator-disabled-bg: $input-disabled-bg !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-control-indicator-focus-border-color: $input-focus-border-color !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$custom-switch-width: $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default;\n$custom-switch-indicator-size: calc(#{$custom-control-indicator-size} - #{$custom-control-indicator-border-width * 4}) !default;\n\n$custom-select-padding-y: $input-padding-y !default;\n$custom-select-padding-x: $input-padding-x !default;\n$custom-select-font-family: $input-font-family !default;\n$custom-select-font-size: $input-font-size !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight: $input-font-weight !default;\n$custom-select-line-height: $input-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$custom-select-background: $custom-select-indicator no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: calc((1em + #{2 * $custom-select-padding-y}) * 3 / 4 + #{$custom-select-padding-x + $custom-select-indicator-padding}) !default;\n$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width: $input-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm: $input-padding-y-sm !default;\n$custom-select-padding-x-sm: $input-padding-x-sm !default;\n$custom-select-font-size-sm: $input-font-size-sm !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-padding-y-lg: $input-padding-y-lg !default;\n$custom-select-padding-x-lg: $input-padding-x-lg !default;\n$custom-select-font-size-lg: $input-font-size-lg !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg: $gray-500 !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-padding-y !default;\n$custom-file-padding-x: $input-padding-x !default;\n$custom-file-line-height: $input-line-height !default;\n$custom-file-font-family: $input-font-family !default;\n$custom-file-font-weight: $input-font-weight !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$form-feedback-icon-invalid-color}' viewBox='-2 -2 7 7'%3e%3cpath stroke='#{$form-feedback-icon-invalid-color}' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\"), \"#\", \"%23\") !default;\n\n$form-validation-states: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: $spacer / 2 !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $nav-divider-margin-y !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-color: null !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: $line-height-base !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: .25rem !default;\n$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-transition: $btn-transition !default;\n$badge-focus-width: $input-btn-focus-width !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Utilities\n\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\n$overflows: auto, hidden !default;\n$positions: static, relative, absolute, fixed, sticky !default;\n\n\n// Printing\n\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n }\n\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity,\n // which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n font-size: $rfs-static;\n }\n }\n @else {\n font-size: $rfs-static;\n }\n\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n &:hover { @content; }\n}\n\n@mixin hover-focus {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-reboot.min.css b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-reboot.min.css new file mode 100644 index 0000000..c804b3b --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-reboot.min.css @@ -0,0 +1,8 @@ +/*! + * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) + */*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important} +/*# sourceMappingURL=bootstrap-reboot.min.css.map */ \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-reboot.min.css.map b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-reboot.min.css.map new file mode 100644 index 0000000..73f4a19 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-reboot.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","dist/css/bootstrap-reboot.css","../../scss/vendor/_rfs.scss","bootstrap-reboot.css","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `` alignment by inheriting from the ``, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n word-wrap: normal;\n}\n\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Opinionated: add \"hand\" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n button,\n [type=\"button\"],\n [type=\"reset\"],\n [type=\"submit\"] {\n &:not(:disabled) {\n cursor: pointer;\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `

`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n @include font-size(1.5rem);\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n -webkit-text-decoration-skip-ink: none;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n }\n\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity,\n // which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n font-size: $rfs-static;\n }\n }\n @else {\n font-size: $rfs-static;\n }\n\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n &:hover { @content; }\n}\n\n@mixin hover-focus {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap.css b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap.css new file mode 100644 index 0000000..8f47589 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap.css @@ -0,0 +1,10038 @@ +/*! + * Bootstrap v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +:root { + --blue: #007bff; + --indigo: #6610f2; + --purple: #6f42c1; + --pink: #e83e8c; + --red: #dc3545; + --orange: #fd7e14; + --yellow: #ffc107; + --green: #28a745; + --teal: #20c997; + --cyan: #17a2b8; + --white: #fff; + --gray: #6c757d; + --gray-dark: #343a40; + --primary: #007bff; + --secondary: #6c757d; + --success: #28a745; + --info: #17a2b8; + --warning: #ffc107; + --danger: #dc3545; + --light: #f8f9fa; + --dark: #343a40; + --breakpoint-xs: 0; + --breakpoint-sm: 576px; + --breakpoint-md: 768px; + --breakpoint-lg: 992px; + --breakpoint-xl: 1200px; + --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { + display: block; +} + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; +} + +[tabindex="-1"]:focus { + outline: 0 !important; +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: .5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -.25em; +} + +sup { + top: -.5em; +} + +a { + color: #007bff; + text-decoration: none; + background-color: transparent; +} + +a:hover { + color: #0056b3; + text-decoration: underline; +} + +a:not([href]):not([tabindex]) { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([tabindex]):focus { + outline: 0; +} + +pre, +code, +kbd, +samp { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 1em; +} + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; +} + +figure { + margin: 0 0 1rem; +} + +img { + vertical-align: middle; + border-style: none; +} + +svg { + overflow: hidden; + vertical-align: middle; +} + +table { + border-collapse: collapse; +} + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #6c757d; + text-align: left; + caption-side: bottom; +} + +th { + text-align: inherit; +} + +label { + display: inline-block; + margin-bottom: 0.5rem; +} + +button { + border-radius: 0; +} + +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +input { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +select { + word-wrap: normal; +} + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +button:not(:disabled), +[type="button"]:not(:disabled), +[type="reset"]:not(:disabled), +[type="submit"]:not(:disabled) { + cursor: pointer; +} + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +input[type="radio"], +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + -webkit-appearance: listbox; +} + +textarea { + overflow: auto; + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + +progress { + vertical-align: baseline; +} + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; +} + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +summary { + display: list-item; + cursor: pointer; +} + +template { + display: none; +} + +[hidden] { + display: none !important; +} + +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + margin-bottom: 0.5rem; + font-weight: 500; + line-height: 1.2; +} + +h1, .h1 { + font-size: 2.5rem; +} + +h2, .h2 { + font-size: 2rem; +} + +h3, .h3 { + font-size: 1.75rem; +} + +h4, .h4 { + font-size: 1.5rem; +} + +h5, .h5 { + font-size: 1.25rem; +} + +h6, .h6 { + font-size: 1rem; +} + +.lead { + font-size: 1.25rem; + font-weight: 300; +} + +.display-1 { + font-size: 6rem; + font-weight: 300; + line-height: 1.2; +} + +.display-2 { + font-size: 5.5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-3 { + font-size: 4.5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-4 { + font-size: 3.5rem; + font-weight: 300; + line-height: 1.2; +} + +hr { + margin-top: 1rem; + margin-bottom: 1rem; + border: 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); +} + +small, +.small { + font-size: 80%; + font-weight: 400; +} + +mark, +.mark { + padding: 0.2em; + background-color: #fcf8e3; +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; +} + +.list-inline-item { + display: inline-block; +} + +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} + +.initialism { + font-size: 90%; + text-transform: uppercase; +} + +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} + +.blockquote-footer { + display: block; + font-size: 80%; + color: #6c757d; +} + +.blockquote-footer::before { + content: "\2014\00A0"; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #dee2e6; + border-radius: 0.25rem; + max-width: 100%; + height: auto; +} + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: 90%; + color: #6c757d; +} + +code { + font-size: 87.5%; + color: #e83e8c; + word-break: break-word; +} + +a > code { + color: inherit; +} + +kbd { + padding: 0.2rem 0.4rem; + font-size: 87.5%; + color: #fff; + background-color: #212529; + border-radius: 0.2rem; +} + +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: 700; +} + +pre { + display: block; + font-size: 87.5%; + color: #212529; +} + +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +.container { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container { + max-width: 1140px; + } +} + +.container-fluid { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +.row { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; +} + +.no-gutters { + margin-right: 0; + margin-left: 0; +} + +.no-gutters > .col, +.no-gutters > [class*="col-"] { + padding-right: 0; + padding-left: 0; +} + +.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, +.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, +.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, +.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, +.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, +.col-xl-auto { + position: relative; + width: 100%; + padding-right: 15px; + padding-left: 15px; +} + +.col { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; +} + +.col-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; +} + +.col-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; +} + +.col-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.col-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; +} + +.col-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.col-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; +} + +.col-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; +} + +.col-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; +} + +.col-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; +} + +.col-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; +} + +.col-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; +} + +.col-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; +} + +.col-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; +} + +.order-first { + -ms-flex-order: -1; + order: -1; +} + +.order-last { + -ms-flex-order: 13; + order: 13; +} + +.order-0 { + -ms-flex-order: 0; + order: 0; +} + +.order-1 { + -ms-flex-order: 1; + order: 1; +} + +.order-2 { + -ms-flex-order: 2; + order: 2; +} + +.order-3 { + -ms-flex-order: 3; + order: 3; +} + +.order-4 { + -ms-flex-order: 4; + order: 4; +} + +.order-5 { + -ms-flex-order: 5; + order: 5; +} + +.order-6 { + -ms-flex-order: 6; + order: 6; +} + +.order-7 { + -ms-flex-order: 7; + order: 7; +} + +.order-8 { + -ms-flex-order: 8; + order: 8; +} + +.order-9 { + -ms-flex-order: 9; + order: 9; +} + +.order-10 { + -ms-flex-order: 10; + order: 10; +} + +.order-11 { + -ms-flex-order: 11; + order: 11; +} + +.order-12 { + -ms-flex-order: 12; + order: 12; +} + +.offset-1 { + margin-left: 8.333333%; +} + +.offset-2 { + margin-left: 16.666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.333333%; +} + +.offset-5 { + margin-left: 41.666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.333333%; +} + +.offset-8 { + margin-left: 66.666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.333333%; +} + +.offset-11 { + margin-left: 91.666667%; +} + +@media (min-width: 576px) { + .col-sm { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-sm-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-sm-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-sm-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-sm-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-sm-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-sm-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-sm-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-sm-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-sm-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-sm-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-sm-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-sm-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-sm-first { + -ms-flex-order: -1; + order: -1; + } + .order-sm-last { + -ms-flex-order: 13; + order: 13; + } + .order-sm-0 { + -ms-flex-order: 0; + order: 0; + } + .order-sm-1 { + -ms-flex-order: 1; + order: 1; + } + .order-sm-2 { + -ms-flex-order: 2; + order: 2; + } + .order-sm-3 { + -ms-flex-order: 3; + order: 3; + } + .order-sm-4 { + -ms-flex-order: 4; + order: 4; + } + .order-sm-5 { + -ms-flex-order: 5; + order: 5; + } + .order-sm-6 { + -ms-flex-order: 6; + order: 6; + } + .order-sm-7 { + -ms-flex-order: 7; + order: 7; + } + .order-sm-8 { + -ms-flex-order: 8; + order: 8; + } + .order-sm-9 { + -ms-flex-order: 9; + order: 9; + } + .order-sm-10 { + -ms-flex-order: 10; + order: 10; + } + .order-sm-11 { + -ms-flex-order: 11; + order: 11; + } + .order-sm-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.333333%; + } + .offset-sm-2 { + margin-left: 16.666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.333333%; + } + .offset-sm-5 { + margin-left: 41.666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.333333%; + } + .offset-sm-8 { + margin-left: 66.666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.333333%; + } + .offset-sm-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 768px) { + .col-md { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-md-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-md-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-md-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-md-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-md-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-md-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-md-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-md-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-md-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-md-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-md-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-md-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-md-first { + -ms-flex-order: -1; + order: -1; + } + .order-md-last { + -ms-flex-order: 13; + order: 13; + } + .order-md-0 { + -ms-flex-order: 0; + order: 0; + } + .order-md-1 { + -ms-flex-order: 1; + order: 1; + } + .order-md-2 { + -ms-flex-order: 2; + order: 2; + } + .order-md-3 { + -ms-flex-order: 3; + order: 3; + } + .order-md-4 { + -ms-flex-order: 4; + order: 4; + } + .order-md-5 { + -ms-flex-order: 5; + order: 5; + } + .order-md-6 { + -ms-flex-order: 6; + order: 6; + } + .order-md-7 { + -ms-flex-order: 7; + order: 7; + } + .order-md-8 { + -ms-flex-order: 8; + order: 8; + } + .order-md-9 { + -ms-flex-order: 9; + order: 9; + } + .order-md-10 { + -ms-flex-order: 10; + order: 10; + } + .order-md-11 { + -ms-flex-order: 11; + order: 11; + } + .order-md-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.333333%; + } + .offset-md-2 { + margin-left: 16.666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.333333%; + } + .offset-md-5 { + margin-left: 41.666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.333333%; + } + .offset-md-8 { + margin-left: 66.666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.333333%; + } + .offset-md-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 992px) { + .col-lg { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-lg-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-lg-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-lg-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-lg-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-lg-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-lg-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-lg-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-lg-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-lg-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-lg-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-lg-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-lg-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-lg-first { + -ms-flex-order: -1; + order: -1; + } + .order-lg-last { + -ms-flex-order: 13; + order: 13; + } + .order-lg-0 { + -ms-flex-order: 0; + order: 0; + } + .order-lg-1 { + -ms-flex-order: 1; + order: 1; + } + .order-lg-2 { + -ms-flex-order: 2; + order: 2; + } + .order-lg-3 { + -ms-flex-order: 3; + order: 3; + } + .order-lg-4 { + -ms-flex-order: 4; + order: 4; + } + .order-lg-5 { + -ms-flex-order: 5; + order: 5; + } + .order-lg-6 { + -ms-flex-order: 6; + order: 6; + } + .order-lg-7 { + -ms-flex-order: 7; + order: 7; + } + .order-lg-8 { + -ms-flex-order: 8; + order: 8; + } + .order-lg-9 { + -ms-flex-order: 9; + order: 9; + } + .order-lg-10 { + -ms-flex-order: 10; + order: 10; + } + .order-lg-11 { + -ms-flex-order: 11; + order: 11; + } + .order-lg-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.333333%; + } + .offset-lg-2 { + margin-left: 16.666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.333333%; + } + .offset-lg-5 { + margin-left: 41.666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.333333%; + } + .offset-lg-8 { + margin-left: 66.666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.333333%; + } + .offset-lg-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 1200px) { + .col-xl { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-xl-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-xl-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-xl-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-xl-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-xl-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-xl-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-xl-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-xl-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-xl-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-xl-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-xl-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-xl-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-xl-first { + -ms-flex-order: -1; + order: -1; + } + .order-xl-last { + -ms-flex-order: 13; + order: 13; + } + .order-xl-0 { + -ms-flex-order: 0; + order: 0; + } + .order-xl-1 { + -ms-flex-order: 1; + order: 1; + } + .order-xl-2 { + -ms-flex-order: 2; + order: 2; + } + .order-xl-3 { + -ms-flex-order: 3; + order: 3; + } + .order-xl-4 { + -ms-flex-order: 4; + order: 4; + } + .order-xl-5 { + -ms-flex-order: 5; + order: 5; + } + .order-xl-6 { + -ms-flex-order: 6; + order: 6; + } + .order-xl-7 { + -ms-flex-order: 7; + order: 7; + } + .order-xl-8 { + -ms-flex-order: 8; + order: 8; + } + .order-xl-9 { + -ms-flex-order: 9; + order: 9; + } + .order-xl-10 { + -ms-flex-order: 10; + order: 10; + } + .order-xl-11 { + -ms-flex-order: 11; + order: 11; + } + .order-xl-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.333333%; + } + .offset-xl-2 { + margin-left: 16.666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.333333%; + } + .offset-xl-5 { + margin-left: 41.666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.333333%; + } + .offset-xl-8 { + margin-left: 66.666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.333333%; + } + .offset-xl-11 { + margin-left: 91.666667%; + } +} + +.table { + width: 100%; + margin-bottom: 1rem; + color: #212529; +} + +.table th, +.table td { + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid #dee2e6; +} + +.table thead th { + vertical-align: bottom; + border-bottom: 2px solid #dee2e6; +} + +.table tbody + tbody { + border-top: 2px solid #dee2e6; +} + +.table-sm th, +.table-sm td { + padding: 0.3rem; +} + +.table-bordered { + border: 1px solid #dee2e6; +} + +.table-bordered th, +.table-bordered td { + border: 1px solid #dee2e6; +} + +.table-bordered thead th, +.table-bordered thead td { + border-bottom-width: 2px; +} + +.table-borderless th, +.table-borderless td, +.table-borderless thead th, +.table-borderless tbody + tbody { + border: 0; +} + +.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(0, 0, 0, 0.05); +} + +.table-hover tbody tr:hover { + color: #212529; + background-color: rgba(0, 0, 0, 0.075); +} + +.table-primary, +.table-primary > th, +.table-primary > td { + background-color: #b8daff; +} + +.table-primary th, +.table-primary td, +.table-primary thead th, +.table-primary tbody + tbody { + border-color: #7abaff; +} + +.table-hover .table-primary:hover { + background-color: #9fcdff; +} + +.table-hover .table-primary:hover > td, +.table-hover .table-primary:hover > th { + background-color: #9fcdff; +} + +.table-secondary, +.table-secondary > th, +.table-secondary > td { + background-color: #d6d8db; +} + +.table-secondary th, +.table-secondary td, +.table-secondary thead th, +.table-secondary tbody + tbody { + border-color: #b3b7bb; +} + +.table-hover .table-secondary:hover { + background-color: #c8cbcf; +} + +.table-hover .table-secondary:hover > td, +.table-hover .table-secondary:hover > th { + background-color: #c8cbcf; +} + +.table-success, +.table-success > th, +.table-success > td { + background-color: #c3e6cb; +} + +.table-success th, +.table-success td, +.table-success thead th, +.table-success tbody + tbody { + border-color: #8fd19e; +} + +.table-hover .table-success:hover { + background-color: #b1dfbb; +} + +.table-hover .table-success:hover > td, +.table-hover .table-success:hover > th { + background-color: #b1dfbb; +} + +.table-info, +.table-info > th, +.table-info > td { + background-color: #bee5eb; +} + +.table-info th, +.table-info td, +.table-info thead th, +.table-info tbody + tbody { + border-color: #86cfda; +} + +.table-hover .table-info:hover { + background-color: #abdde5; +} + +.table-hover .table-info:hover > td, +.table-hover .table-info:hover > th { + background-color: #abdde5; +} + +.table-warning, +.table-warning > th, +.table-warning > td { + background-color: #ffeeba; +} + +.table-warning th, +.table-warning td, +.table-warning thead th, +.table-warning tbody + tbody { + border-color: #ffdf7e; +} + +.table-hover .table-warning:hover { + background-color: #ffe8a1; +} + +.table-hover .table-warning:hover > td, +.table-hover .table-warning:hover > th { + background-color: #ffe8a1; +} + +.table-danger, +.table-danger > th, +.table-danger > td { + background-color: #f5c6cb; +} + +.table-danger th, +.table-danger td, +.table-danger thead th, +.table-danger tbody + tbody { + border-color: #ed969e; +} + +.table-hover .table-danger:hover { + background-color: #f1b0b7; +} + +.table-hover .table-danger:hover > td, +.table-hover .table-danger:hover > th { + background-color: #f1b0b7; +} + +.table-light, +.table-light > th, +.table-light > td { + background-color: #fdfdfe; +} + +.table-light th, +.table-light td, +.table-light thead th, +.table-light tbody + tbody { + border-color: #fbfcfc; +} + +.table-hover .table-light:hover { + background-color: #ececf6; +} + +.table-hover .table-light:hover > td, +.table-hover .table-light:hover > th { + background-color: #ececf6; +} + +.table-dark, +.table-dark > th, +.table-dark > td { + background-color: #c6c8ca; +} + +.table-dark th, +.table-dark td, +.table-dark thead th, +.table-dark tbody + tbody { + border-color: #95999c; +} + +.table-hover .table-dark:hover { + background-color: #b9bbbe; +} + +.table-hover .table-dark:hover > td, +.table-hover .table-dark:hover > th { + background-color: #b9bbbe; +} + +.table-active, +.table-active > th, +.table-active > td { + background-color: rgba(0, 0, 0, 0.075); +} + +.table-hover .table-active:hover { + background-color: rgba(0, 0, 0, 0.075); +} + +.table-hover .table-active:hover > td, +.table-hover .table-active:hover > th { + background-color: rgba(0, 0, 0, 0.075); +} + +.table .thead-dark th { + color: #fff; + background-color: #343a40; + border-color: #454d55; +} + +.table .thead-light th { + color: #495057; + background-color: #e9ecef; + border-color: #dee2e6; +} + +.table-dark { + color: #fff; + background-color: #343a40; +} + +.table-dark th, +.table-dark td, +.table-dark thead th { + border-color: #454d55; +} + +.table-dark.table-bordered { + border: 0; +} + +.table-dark.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(255, 255, 255, 0.05); +} + +.table-dark.table-hover tbody tr:hover { + color: #fff; + background-color: rgba(255, 255, 255, 0.075); +} + +@media (max-width: 575.98px) { + .table-responsive-sm { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-sm > .table-bordered { + border: 0; + } +} + +@media (max-width: 767.98px) { + .table-responsive-md { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-md > .table-bordered { + border: 0; + } +} + +@media (max-width: 991.98px) { + .table-responsive-lg { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-lg > .table-bordered { + border: 0; + } +} + +@media (max-width: 1199.98px) { + .table-responsive-xl { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-xl > .table-bordered { + border: 0; + } +} + +.table-responsive { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} + +.table-responsive > .table-bordered { + border: 0; +} + +.form-control { + display: block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ced4da; + border-radius: 0.25rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .form-control { + transition: none; + } +} + +.form-control::-ms-expand { + background-color: transparent; + border: 0; +} + +.form-control:focus { + color: #495057; + background-color: #fff; + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.form-control::-webkit-input-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control::-moz-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control:-ms-input-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control::-ms-input-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control::placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control:disabled, .form-control[readonly] { + background-color: #e9ecef; + opacity: 1; +} + +select.form-control:focus::-ms-value { + color: #495057; + background-color: #fff; +} + +.form-control-file, +.form-control-range { + display: block; + width: 100%; +} + +.col-form-label { + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; +} + +.col-form-label-lg { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 1.25rem; + line-height: 1.5; +} + +.col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.875rem; + line-height: 1.5; +} + +.form-control-plaintext { + display: block; + width: 100%; + padding-top: 0.375rem; + padding-bottom: 0.375rem; + margin-bottom: 0; + line-height: 1.5; + color: #212529; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; +} + +.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; +} + +.form-control-sm { + height: calc(1.5em + 0.5rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.form-control-lg { + height: calc(1.5em + 1rem + 2px); + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +select.form-control[size], select.form-control[multiple] { + height: auto; +} + +textarea.form-control { + height: auto; +} + +.form-group { + margin-bottom: 1rem; +} + +.form-text { + display: block; + margin-top: 0.25rem; +} + +.form-row { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -5px; + margin-left: -5px; +} + +.form-row > .col, +.form-row > [class*="col-"] { + padding-right: 5px; + padding-left: 5px; +} + +.form-check { + position: relative; + display: block; + padding-left: 1.25rem; +} + +.form-check-input { + position: absolute; + margin-top: 0.3rem; + margin-left: -1.25rem; +} + +.form-check-input:disabled ~ .form-check-label { + color: #6c757d; +} + +.form-check-label { + margin-bottom: 0; +} + +.form-check-inline { + display: -ms-inline-flexbox; + display: inline-flex; + -ms-flex-align: center; + align-items: center; + padding-left: 0; + margin-right: 0.75rem; +} + +.form-check-inline .form-check-input { + position: static; + margin-top: 0; + margin-right: 0.3125rem; + margin-left: 0; +} + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #28a745; +} + +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #fff; + background-color: rgba(40, 167, 69, 0.9); + border-radius: 0.25rem; +} + +.was-validated .form-control:valid, .form-control.is-valid { + border-color: #28a745; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: center right calc(0.375em + 0.1875rem); + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated .form-control:valid ~ .valid-feedback, +.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback, +.form-control.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .custom-select:valid, .custom-select.is-valid { + border-color: #28a745; + padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated .custom-select:valid ~ .valid-feedback, +.was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback, +.custom-select.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-control-file:valid ~ .valid-feedback, +.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback, +.form-control-file.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: #28a745; +} + +.was-validated .form-check-input:valid ~ .valid-feedback, +.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback, +.form-check-input.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label { + color: #28a745; +} + +.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before { + border-color: #28a745; +} + +.was-validated .custom-control-input:valid ~ .valid-feedback, +.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback, +.custom-control-input.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before { + border-color: #34ce57; + background-color: #34ce57; +} + +.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #28a745; +} + +.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label { + border-color: #28a745; +} + +.was-validated .custom-file-input:valid ~ .valid-feedback, +.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback, +.custom-file-input.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #dc3545; +} + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #fff; + background-color: rgba(220, 53, 69, 0.9); + border-radius: 0.25rem; +} + +.was-validated .form-control:invalid, .form-control.is-invalid { + border-color: #dc3545; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E"); + background-repeat: no-repeat; + background-position: center right calc(0.375em + 0.1875rem); + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated .form-control:invalid ~ .invalid-feedback, +.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback, +.form-control.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .custom-select:invalid, .custom-select.is-invalid { + border-color: #dc3545; + padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated .custom-select:invalid ~ .invalid-feedback, +.was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback, +.custom-select.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-control-file:invalid ~ .invalid-feedback, +.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback, +.form-control-file.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: #dc3545; +} + +.was-validated .form-check-input:invalid ~ .invalid-feedback, +.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback, +.form-check-input.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label { + color: #dc3545; +} + +.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before { + border-color: #dc3545; +} + +.was-validated .custom-control-input:invalid ~ .invalid-feedback, +.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback, +.custom-control-input.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before { + border-color: #e4606d; + background-color: #e4606d; +} + +.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #dc3545; +} + +.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label { + border-color: #dc3545; +} + +.was-validated .custom-file-input:invalid ~ .invalid-feedback, +.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback, +.custom-file-input.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.form-inline { + display: -ms-flexbox; + display: flex; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + -ms-flex-align: center; + align-items: center; +} + +.form-inline .form-check { + width: 100%; +} + +@media (min-width: 576px) { + .form-inline label { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + margin-bottom: 0; + } + .form-inline .form-group { + display: -ms-flexbox; + display: flex; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + -ms-flex-align: center; + align-items: center; + margin-bottom: 0; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-plaintext { + display: inline-block; + } + .form-inline .input-group, + .form-inline .custom-select { + width: auto; + } + .form-inline .form-check { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + width: auto; + padding-left: 0; + } + .form-inline .form-check-input { + position: relative; + -ms-flex-negative: 0; + flex-shrink: 0; + margin-top: 0; + margin-right: 0.25rem; + margin-left: 0; + } + .form-inline .custom-control { + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + } + .form-inline .custom-control-label { + margin-bottom: 0; + } +} + +.btn { + display: inline-block; + font-weight: 400; + color: #212529; + text-align: center; + vertical-align: middle; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: transparent; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .btn { + transition: none; + } +} + +.btn:hover { + color: #212529; + text-decoration: none; +} + +.btn:focus, .btn.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.btn.disabled, .btn:disabled { + opacity: 0.65; +} + +a.btn.disabled, +fieldset:disabled a.btn { + pointer-events: none; +} + +.btn-primary { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-primary:hover { + color: #fff; + background-color: #0069d9; + border-color: #0062cc; +} + +.btn-primary:focus, .btn-primary.focus { + box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); +} + +.btn-primary.disabled, .btn-primary:disabled { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, +.show > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #0062cc; + border-color: #005cbf; +} + +.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); +} + +.btn-secondary { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-secondary:hover { + color: #fff; + background-color: #5a6268; + border-color: #545b62; +} + +.btn-secondary:focus, .btn-secondary.focus { + box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); +} + +.btn-secondary.disabled, .btn-secondary:disabled { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, +.show > .btn-secondary.dropdown-toggle { + color: #fff; + background-color: #545b62; + border-color: #4e555b; +} + +.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, +.show > .btn-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); +} + +.btn-success { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-success:hover { + color: #fff; + background-color: #218838; + border-color: #1e7e34; +} + +.btn-success:focus, .btn-success.focus { + box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); +} + +.btn-success.disabled, .btn-success:disabled { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, +.show > .btn-success.dropdown-toggle { + color: #fff; + background-color: #1e7e34; + border-color: #1c7430; +} + +.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, +.show > .btn-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); +} + +.btn-info { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-info:hover { + color: #fff; + background-color: #138496; + border-color: #117a8b; +} + +.btn-info:focus, .btn-info.focus { + box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); +} + +.btn-info.disabled, .btn-info:disabled { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, +.show > .btn-info.dropdown-toggle { + color: #fff; + background-color: #117a8b; + border-color: #10707f; +} + +.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, +.show > .btn-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); +} + +.btn-warning { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-warning:hover { + color: #212529; + background-color: #e0a800; + border-color: #d39e00; +} + +.btn-warning:focus, .btn-warning.focus { + box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); +} + +.btn-warning.disabled, .btn-warning:disabled { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, +.show > .btn-warning.dropdown-toggle { + color: #212529; + background-color: #d39e00; + border-color: #c69500; +} + +.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, +.show > .btn-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); +} + +.btn-danger { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-danger:hover { + color: #fff; + background-color: #c82333; + border-color: #bd2130; +} + +.btn-danger:focus, .btn-danger.focus { + box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); +} + +.btn-danger.disabled, .btn-danger:disabled { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, +.show > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #bd2130; + border-color: #b21f2d; +} + +.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, +.show > .btn-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); +} + +.btn-light { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-light:hover { + color: #212529; + background-color: #e2e6ea; + border-color: #dae0e5; +} + +.btn-light:focus, .btn-light.focus { + box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); +} + +.btn-light.disabled, .btn-light:disabled { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, +.show > .btn-light.dropdown-toggle { + color: #212529; + background-color: #dae0e5; + border-color: #d3d9df; +} + +.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, +.show > .btn-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); +} + +.btn-dark { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-dark:hover { + color: #fff; + background-color: #23272b; + border-color: #1d2124; +} + +.btn-dark:focus, .btn-dark.focus { + box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); +} + +.btn-dark.disabled, .btn-dark:disabled { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, +.show > .btn-dark.dropdown-toggle { + color: #fff; + background-color: #1d2124; + border-color: #171a1d; +} + +.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, +.show > .btn-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); +} + +.btn-outline-primary { + color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:hover { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:focus, .btn-outline-primary.focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-outline-primary.disabled, .btn-outline-primary:disabled { + color: #007bff; + background-color: transparent; +} + +.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, +.show > .btn-outline-primary.dropdown-toggle { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-outline-secondary { + color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:hover { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:focus, .btn-outline-secondary.focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.btn-outline-secondary.disabled, .btn-outline-secondary:disabled { + color: #6c757d; + background-color: transparent; +} + +.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, +.show > .btn-outline-secondary.dropdown-toggle { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.btn-outline-success { + color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:hover { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:focus, .btn-outline-success.focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.btn-outline-success.disabled, .btn-outline-success:disabled { + color: #28a745; + background-color: transparent; +} + +.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, +.show > .btn-outline-success.dropdown-toggle { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.btn-outline-info { + color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:hover { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:focus, .btn-outline-info.focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-outline-info.disabled, .btn-outline-info:disabled { + color: #17a2b8; + background-color: transparent; +} + +.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, +.show > .btn-outline-info.dropdown-toggle { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-outline-warning { + color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:hover { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:focus, .btn-outline-warning.focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.btn-outline-warning.disabled, .btn-outline-warning:disabled { + color: #ffc107; + background-color: transparent; +} + +.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, +.show > .btn-outline-warning.dropdown-toggle { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.btn-outline-danger { + color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:hover { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:focus, .btn-outline-danger.focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-outline-danger.disabled, .btn-outline-danger:disabled { + color: #dc3545; + background-color: transparent; +} + +.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, +.show > .btn-outline-danger.dropdown-toggle { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-outline-light { + color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:hover { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:focus, .btn-outline-light.focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-outline-light.disabled, .btn-outline-light:disabled { + color: #f8f9fa; + background-color: transparent; +} + +.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, +.show > .btn-outline-light.dropdown-toggle { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-outline-dark { + color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:hover { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:focus, .btn-outline-dark.focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-outline-dark.disabled, .btn-outline-dark:disabled { + color: #343a40; + background-color: transparent; +} + +.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, +.show > .btn-outline-dark.dropdown-toggle { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-link { + font-weight: 400; + color: #007bff; + text-decoration: none; +} + +.btn-link:hover { + color: #0056b3; + text-decoration: underline; +} + +.btn-link:focus, .btn-link.focus { + text-decoration: underline; + box-shadow: none; +} + +.btn-link:disabled, .btn-link.disabled { + color: #6c757d; + pointer-events: none; +} + +.btn-lg, .btn-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +.btn-sm, .btn-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.btn-block { + display: block; + width: 100%; +} + +.btn-block + .btn-block { + margin-top: 0.5rem; +} + +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} + +.fade { + transition: opacity 0.15s linear; +} + +@media (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} + +.fade:not(.show) { + opacity: 0; +} + +.collapse:not(.show) { + display: none; +} + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} + +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} + +.dropup, +.dropright, +.dropdown, +.dropleft { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; +} + +.dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} + +.dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0.125rem 0 0; + font-size: 1rem; + color: #212529; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; +} + +.dropdown-menu-left { + right: auto; + left: 0; +} + +.dropdown-menu-right { + right: 0; + left: auto; +} + +@media (min-width: 576px) { + .dropdown-menu-sm-left { + right: auto; + left: 0; + } + .dropdown-menu-sm-right { + right: 0; + left: auto; + } +} + +@media (min-width: 768px) { + .dropdown-menu-md-left { + right: auto; + left: 0; + } + .dropdown-menu-md-right { + right: 0; + left: auto; + } +} + +@media (min-width: 992px) { + .dropdown-menu-lg-left { + right: auto; + left: 0; + } + .dropdown-menu-lg-right { + right: 0; + left: auto; + } +} + +@media (min-width: 1200px) { + .dropdown-menu-xl-left { + right: auto; + left: 0; + } + .dropdown-menu-xl-right { + right: 0; + left: auto; + } +} + +.dropup .dropdown-menu { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: 0.125rem; +} + +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} + +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropright .dropdown-menu { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: 0.125rem; +} + +.dropright .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; +} + +.dropright .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropright .dropdown-toggle::after { + vertical-align: 0; +} + +.dropleft .dropdown-menu { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: 0.125rem; +} + +.dropleft .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; +} + +.dropleft .dropdown-toggle::after { + display: none; +} + +.dropleft .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} + +.dropleft .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropleft .dropdown-toggle::before { + vertical-align: 0; +} + +.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] { + right: auto; + bottom: auto; +} + +.dropdown-divider { + height: 0; + margin: 0.5rem 0; + overflow: hidden; + border-top: 1px solid #e9ecef; +} + +.dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1.5rem; + clear: both; + font-weight: 400; + color: #212529; + text-align: inherit; + white-space: nowrap; + background-color: transparent; + border: 0; +} + +.dropdown-item:hover, .dropdown-item:focus { + color: #16181b; + text-decoration: none; + background-color: #f8f9fa; +} + +.dropdown-item.active, .dropdown-item:active { + color: #fff; + text-decoration: none; + background-color: #007bff; +} + +.dropdown-item.disabled, .dropdown-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: transparent; +} + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: 0.5rem 1.5rem; + margin-bottom: 0; + font-size: 0.875rem; + color: #6c757d; + white-space: nowrap; +} + +.dropdown-item-text { + display: block; + padding: 0.25rem 1.5rem; + color: #212529; +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: -ms-inline-flexbox; + display: inline-flex; + vertical-align: middle; +} + +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + -ms-flex: 1 1 auto; + flex: 1 1 auto; +} + +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover { + z-index: 1; +} + +.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 1; +} + +.btn-toolbar { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-pack: start; + justify-content: flex-start; +} + +.btn-toolbar .input-group { + width: auto; +} + +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) { + margin-left: -1px; +} + +.btn-group > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} + +.dropdown-toggle-split::after, +.dropup .dropdown-toggle-split::after, +.dropright .dropdown-toggle-split::after { + margin-left: 0; +} + +.dropleft .dropdown-toggle-split::before { + margin-right: 0; +} + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} + +.btn-group-vertical { + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-align: start; + align-items: flex-start; + -ms-flex-pack: center; + justify-content: center; +} + +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} + +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) { + margin-top: -1px; +} + +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.btn-group-toggle > .btn, +.btn-group-toggle > .btn-group > .btn { + margin-bottom: 0; +} + +.btn-group-toggle > .btn input[type="radio"], +.btn-group-toggle > .btn input[type="checkbox"], +.btn-group-toggle > .btn-group > .btn input[type="radio"], +.btn-group-toggle > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} + +.input-group { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: stretch; + align-items: stretch; + width: 100%; +} + +.input-group > .form-control, +.input-group > .form-control-plaintext, +.input-group > .custom-select, +.input-group > .custom-file { + position: relative; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + width: 1%; + margin-bottom: 0; +} + +.input-group > .form-control + .form-control, +.input-group > .form-control + .custom-select, +.input-group > .form-control + .custom-file, +.input-group > .form-control-plaintext + .form-control, +.input-group > .form-control-plaintext + .custom-select, +.input-group > .form-control-plaintext + .custom-file, +.input-group > .custom-select + .form-control, +.input-group > .custom-select + .custom-select, +.input-group > .custom-select + .custom-file, +.input-group > .custom-file + .form-control, +.input-group > .custom-file + .custom-select, +.input-group > .custom-file + .custom-file { + margin-left: -1px; +} + +.input-group > .form-control:focus, +.input-group > .custom-select:focus, +.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label { + z-index: 3; +} + +.input-group > .custom-file .custom-file-input:focus { + z-index: 4; +} + +.input-group > .form-control:not(:last-child), +.input-group > .custom-select:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .form-control:not(:first-child), +.input-group > .custom-select:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.input-group > .custom-file { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; +} + +.input-group > .custom-file:not(:last-child) .custom-file-label, +.input-group > .custom-file:not(:last-child) .custom-file-label::after { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .custom-file:not(:first-child) .custom-file-label { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.input-group-prepend, +.input-group-append { + display: -ms-flexbox; + display: flex; +} + +.input-group-prepend .btn, +.input-group-append .btn { + position: relative; + z-index: 2; +} + +.input-group-prepend .btn:focus, +.input-group-append .btn:focus { + z-index: 3; +} + +.input-group-prepend .btn + .btn, +.input-group-prepend .btn + .input-group-text, +.input-group-prepend .input-group-text + .input-group-text, +.input-group-prepend .input-group-text + .btn, +.input-group-append .btn + .btn, +.input-group-append .btn + .input-group-text, +.input-group-append .input-group-text + .input-group-text, +.input-group-append .input-group-text + .btn { + margin-left: -1px; +} + +.input-group-prepend { + margin-right: -1px; +} + +.input-group-append { + margin-left: -1px; +} + +.input-group-text { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + padding: 0.375rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + text-align: center; + white-space: nowrap; + background-color: #e9ecef; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +.input-group-text input[type="radio"], +.input-group-text input[type="checkbox"] { + margin-top: 0; +} + +.input-group-lg > .form-control:not(textarea), +.input-group-lg > .custom-select { + height: calc(1.5em + 1rem + 2px); +} + +.input-group-lg > .form-control, +.input-group-lg > .custom-select, +.input-group-lg > .input-group-prepend > .input-group-text, +.input-group-lg > .input-group-append > .input-group-text, +.input-group-lg > .input-group-prepend > .btn, +.input-group-lg > .input-group-append > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +.input-group-sm > .form-control:not(textarea), +.input-group-sm > .custom-select { + height: calc(1.5em + 0.5rem + 2px); +} + +.input-group-sm > .form-control, +.input-group-sm > .custom-select, +.input-group-sm > .input-group-prepend > .input-group-text, +.input-group-sm > .input-group-append > .input-group-text, +.input-group-sm > .input-group-prepend > .btn, +.input-group-sm > .input-group-append > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.input-group-lg > .custom-select, +.input-group-sm > .custom-select { + padding-right: 1.75rem; +} + +.input-group > .input-group-prepend > .btn, +.input-group > .input-group-prepend > .input-group-text, +.input-group > .input-group-append:not(:last-child) > .btn, +.input-group > .input-group-append:not(:last-child) > .input-group-text, +.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .input-group-append > .btn, +.input-group > .input-group-append > .input-group-text, +.input-group > .input-group-prepend:not(:first-child) > .btn, +.input-group > .input-group-prepend:not(:first-child) > .input-group-text, +.input-group > .input-group-prepend:first-child > .btn:not(:first-child), +.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-control { + position: relative; + display: block; + min-height: 1.5rem; + padding-left: 1.5rem; +} + +.custom-control-inline { + display: -ms-inline-flexbox; + display: inline-flex; + margin-right: 1rem; +} + +.custom-control-input { + position: absolute; + z-index: -1; + opacity: 0; +} + +.custom-control-input:checked ~ .custom-control-label::before { + color: #fff; + border-color: #007bff; + background-color: #007bff; +} + +.custom-control-input:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-control-input:focus:not(:checked) ~ .custom-control-label::before { + border-color: #80bdff; +} + +.custom-control-input:not(:disabled):active ~ .custom-control-label::before { + color: #fff; + background-color: #b3d7ff; + border-color: #b3d7ff; +} + +.custom-control-input:disabled ~ .custom-control-label { + color: #6c757d; +} + +.custom-control-input:disabled ~ .custom-control-label::before { + background-color: #e9ecef; +} + +.custom-control-label { + position: relative; + margin-bottom: 0; + vertical-align: top; +} + +.custom-control-label::before { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + pointer-events: none; + content: ""; + background-color: #fff; + border: #adb5bd solid 1px; +} + +.custom-control-label::after { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + content: ""; + background: no-repeat 50% / 50% 50%; +} + +.custom-checkbox .custom-control-label::before { + border-radius: 0.25rem; +} + +.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e"); +} + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { + border-color: #007bff; + background-color: #007bff; +} + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); +} + +.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-radio .custom-control-label::before { + border-radius: 50%; +} + +.custom-radio .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); +} + +.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-switch { + padding-left: 2.25rem; +} + +.custom-switch .custom-control-label::before { + left: -2.25rem; + width: 1.75rem; + pointer-events: all; + border-radius: 0.5rem; +} + +.custom-switch .custom-control-label::after { + top: calc(0.25rem + 2px); + left: calc(-2.25rem + 2px); + width: calc(1rem - 4px); + height: calc(1rem - 4px); + background-color: #adb5bd; + border-radius: 0.5rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .custom-switch .custom-control-label::after { + transition: none; + } +} + +.custom-switch .custom-control-input:checked ~ .custom-control-label::after { + background-color: #fff; + -webkit-transform: translateX(0.75rem); + transform: translateX(0.75rem); +} + +.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-select { + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 1.75rem 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + vertical-align: middle; + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px; + background-color: #fff; + border: 1px solid #ced4da; + border-radius: 0.25rem; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.custom-select:focus { + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-select:focus::-ms-value { + color: #495057; + background-color: #fff; +} + +.custom-select[multiple], .custom-select[size]:not([size="1"]) { + height: auto; + padding-right: 0.75rem; + background-image: none; +} + +.custom-select:disabled { + color: #6c757d; + background-color: #e9ecef; +} + +.custom-select::-ms-expand { + display: none; +} + +.custom-select-sm { + height: calc(1.5em + 0.5rem + 2px); + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.875rem; +} + +.custom-select-lg { + height: calc(1.5em + 1rem + 2px); + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.25rem; +} + +.custom-file { + position: relative; + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + margin-bottom: 0; +} + +.custom-file-input { + position: relative; + z-index: 2; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + margin: 0; + opacity: 0; +} + +.custom-file-input:focus ~ .custom-file-label { + border-color: #80bdff; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-file-input:disabled ~ .custom-file-label { + background-color: #e9ecef; +} + +.custom-file-input:lang(en) ~ .custom-file-label::after { + content: "Browse"; +} + +.custom-file-input ~ .custom-file-label[data-browse]::after { + content: attr(data-browse); +} + +.custom-file-label { + position: absolute; + top: 0; + right: 0; + left: 0; + z-index: 1; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +.custom-file-label::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + z-index: 3; + display: block; + height: calc(1.5em + 0.75rem); + padding: 0.375rem 0.75rem; + line-height: 1.5; + color: #495057; + content: "Browse"; + background-color: #e9ecef; + border-left: inherit; + border-radius: 0 0.25rem 0.25rem 0; +} + +.custom-range { + width: 100%; + height: calc(1rem + 0.4rem); + padding: 0; + background-color: transparent; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.custom-range:focus { + outline: none; +} + +.custom-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range:focus::-ms-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range::-moz-focus-outer { + border: 0; +} + +.custom-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-webkit-slider-thumb { + transition: none; + } +} + +.custom-range::-webkit-slider-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} + +.custom-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -moz-appearance: none; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-moz-range-thumb { + transition: none; + } +} + +.custom-range::-moz-range-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} + +.custom-range::-ms-thumb { + width: 1rem; + height: 1rem; + margin-top: 0; + margin-right: 0.2rem; + margin-left: 0.2rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-ms-thumb { + transition: none; + } +} + +.custom-range::-ms-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-ms-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: transparent; + border-color: transparent; + border-width: 0.5rem; +} + +.custom-range::-ms-fill-lower { + background-color: #dee2e6; + border-radius: 1rem; +} + +.custom-range::-ms-fill-upper { + margin-right: 15px; + background-color: #dee2e6; + border-radius: 1rem; +} + +.custom-range:disabled::-webkit-slider-thumb { + background-color: #adb5bd; +} + +.custom-range:disabled::-webkit-slider-runnable-track { + cursor: default; +} + +.custom-range:disabled::-moz-range-thumb { + background-color: #adb5bd; +} + +.custom-range:disabled::-moz-range-track { + cursor: default; +} + +.custom-range:disabled::-ms-thumb { + background-color: #adb5bd; +} + +.custom-control-label::before, +.custom-file-label, +.custom-select { + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .custom-control-label::before, + .custom-file-label, + .custom-select { + transition: none; + } +} + +.nav { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: 0.5rem 1rem; +} + +.nav-link:hover, .nav-link:focus { + text-decoration: none; +} + +.nav-link.disabled { + color: #6c757d; + pointer-events: none; + cursor: default; +} + +.nav-tabs { + border-bottom: 1px solid #dee2e6; +} + +.nav-tabs .nav-item { + margin-bottom: -1px; +} + +.nav-tabs .nav-link { + border: 1px solid transparent; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + border-color: #e9ecef #e9ecef #dee2e6; +} + +.nav-tabs .nav-link.disabled { + color: #6c757d; + background-color: transparent; + border-color: transparent; +} + +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: #495057; + background-color: #fff; + border-color: #dee2e6 #dee2e6 #fff; +} + +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav-pills .nav-link { + border-radius: 0.25rem; +} + +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: #fff; + background-color: #007bff; +} + +.nav-fill .nav-item { + -ms-flex: 1 1 auto; + flex: 1 1 auto; + text-align: center; +} + +.nav-justified .nav-item { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + text-align: center; +} + +.tab-content > .tab-pane { + display: none; +} + +.tab-content > .active { + display: block; +} + +.navbar { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 0.5rem 1rem; +} + +.navbar > .container, +.navbar > .container-fluid { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.navbar-brand { + display: inline-block; + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 1.25rem; + line-height: inherit; + white-space: nowrap; +} + +.navbar-brand:hover, .navbar-brand:focus { + text-decoration: none; +} + +.navbar-nav { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; +} + +.navbar-nav .dropdown-menu { + position: static; + float: none; +} + +.navbar-text { + display: inline-block; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.navbar-collapse { + -ms-flex-preferred-size: 100%; + flex-basis: 100%; + -ms-flex-positive: 1; + flex-grow: 1; + -ms-flex-align: center; + align-items: center; +} + +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.navbar-toggler:hover, .navbar-toggler:focus { + text-decoration: none; +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + content: ""; + background: no-repeat center center; + background-size: 100% 100%; +} + +@media (max-width: 575.98px) { + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 576px) { + .navbar-expand-sm { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-sm .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } +} + +@media (max-width: 767.98px) { + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 768px) { + .navbar-expand-md { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-md .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } +} + +@media (max-width: 991.98px) { + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 992px) { + .navbar-expand-lg { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-lg .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } +} + +@media (max-width: 1199.98px) { + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 1200px) { + .navbar-expand-xl { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-xl .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-xl .navbar-toggler { + display: none; + } +} + +.navbar-expand { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; +} + +.navbar-expand > .container, +.navbar-expand > .container-fluid { + padding-right: 0; + padding-left: 0; +} + +.navbar-expand .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; +} + +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} + +.navbar-expand .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; +} + +.navbar-expand > .container, +.navbar-expand > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; +} + +.navbar-expand .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; +} + +.navbar-expand .navbar-toggler { + display: none; +} + +.navbar-light .navbar-brand { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.5); +} + +.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { + color: rgba(0, 0, 0, 0.7); +} + +.navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); +} + +.navbar-light .navbar-nav .show > .nav-link, +.navbar-light .navbar-nav .active > .nav-link, +.navbar-light .navbar-nav .nav-link.show, +.navbar-light .navbar-nav .nav-link.active { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-toggler { + color: rgba(0, 0, 0, 0.5); + border-color: rgba(0, 0, 0, 0.1); +} + +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.navbar-light .navbar-text { + color: rgba(0, 0, 0, 0.5); +} + +.navbar-light .navbar-text a { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-dark .navbar-brand { + color: #fff; +} + +.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { + color: #fff; +} + +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { + color: rgba(255, 255, 255, 0.75); +} + +.navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); +} + +.navbar-dark .navbar-nav .show > .nav-link, +.navbar-dark .navbar-nav .active > .nav-link, +.navbar-dark .navbar-nav .nav-link.show, +.navbar-dark .navbar-nav .nav-link.active { + color: #fff; +} + +.navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.5); + border-color: rgba(255, 255, 255, 0.1); +} + +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.navbar-dark .navbar-text { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-text a { + color: #fff; +} + +.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus { + color: #fff; +} + +.card { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0, 0, 0, 0.125); + border-radius: 0.25rem; +} + +.card > hr { + margin-right: 0; + margin-left: 0; +} + +.card > .list-group:first-child .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.card > .list-group:last-child .list-group-item:last-child { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.card-body { + -ms-flex: 1 1 auto; + flex: 1 1 auto; + padding: 1.25rem; +} + +.card-title { + margin-bottom: 0.75rem; +} + +.card-subtitle { + margin-top: -0.375rem; + margin-bottom: 0; +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link:hover { + text-decoration: none; +} + +.card-link + .card-link { + margin-left: 1.25rem; +} + +.card-header { + padding: 0.75rem 1.25rem; + margin-bottom: 0; + background-color: rgba(0, 0, 0, 0.03); + border-bottom: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-header:first-child { + border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; +} + +.card-header + .list-group .list-group-item:first-child { + border-top: 0; +} + +.card-footer { + padding: 0.75rem 1.25rem; + background-color: rgba(0, 0, 0, 0.03); + border-top: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-footer:last-child { + border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); +} + +.card-header-tabs { + margin-right: -0.625rem; + margin-bottom: -0.75rem; + margin-left: -0.625rem; + border-bottom: 0; +} + +.card-header-pills { + margin-right: -0.625rem; + margin-left: -0.625rem; +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1.25rem; +} + +.card-img { + width: 100%; + border-radius: calc(0.25rem - 1px); +} + +.card-img-top { + width: 100%; + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} + +.card-img-bottom { + width: 100%; + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} + +.card-deck { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; +} + +.card-deck .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-deck { + -ms-flex-flow: row wrap; + flex-flow: row wrap; + margin-right: -15px; + margin-left: -15px; + } + .card-deck .card { + display: -ms-flexbox; + display: flex; + -ms-flex: 1 0 0%; + flex: 1 0 0%; + -ms-flex-direction: column; + flex-direction: column; + margin-right: 15px; + margin-bottom: 0; + margin-left: 15px; + } +} + +.card-group { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; +} + +.card-group > .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-group { + -ms-flex-flow: row wrap; + flex-flow: row wrap; + } + .card-group > .card { + -ms-flex: 1 0 0%; + flex: 1 0 0%; + margin-bottom: 0; + } + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-top, + .card-group > .card:not(:last-child) .card-header { + border-top-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-bottom, + .card-group > .card:not(:last-child) .card-footer { + border-bottom-right-radius: 0; + } + .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-top, + .card-group > .card:not(:first-child) .card-header { + border-top-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-bottom, + .card-group > .card:not(:first-child) .card-footer { + border-bottom-left-radius: 0; + } +} + +.card-columns .card { + margin-bottom: 0.75rem; +} + +@media (min-width: 576px) { + .card-columns { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + -webkit-column-gap: 1.25rem; + -moz-column-gap: 1.25rem; + column-gap: 1.25rem; + orphans: 1; + widows: 1; + } + .card-columns .card { + display: inline-block; + width: 100%; + } +} + +.accordion > .card { + overflow: hidden; +} + +.accordion > .card:not(:first-of-type) .card-header:first-child { + border-radius: 0; +} + +.accordion > .card:not(:first-of-type):not(:last-of-type) { + border-bottom: 0; + border-radius: 0; +} + +.accordion > .card:first-of-type { + border-bottom: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.accordion > .card:last-of-type { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.accordion > .card .card-header { + margin-bottom: -1px; +} + +.breadcrumb { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding: 0.75rem 1rem; + margin-bottom: 1rem; + list-style: none; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +.breadcrumb-item + .breadcrumb-item { + padding-left: 0.5rem; +} + +.breadcrumb-item + .breadcrumb-item::before { + display: inline-block; + padding-right: 0.5rem; + color: #6c757d; + content: "/"; +} + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: underline; +} + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: none; +} + +.breadcrumb-item.active { + color: #6c757d; +} + +.pagination { + display: -ms-flexbox; + display: flex; + padding-left: 0; + list-style: none; + border-radius: 0.25rem; +} + +.page-link { + position: relative; + display: block; + padding: 0.5rem 0.75rem; + margin-left: -1px; + line-height: 1.25; + color: #007bff; + background-color: #fff; + border: 1px solid #dee2e6; +} + +.page-link:hover { + z-index: 2; + color: #0056b3; + text-decoration: none; + background-color: #e9ecef; + border-color: #dee2e6; +} + +.page-link:focus { + z-index: 2; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.page-item:first-child .page-link { + margin-left: 0; + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.page-item:last-child .page-link { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} + +.page-item.active .page-link { + z-index: 1; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.page-item.disabled .page-link { + color: #6c757d; + pointer-events: none; + cursor: auto; + background-color: #fff; + border-color: #dee2e6; +} + +.pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; + line-height: 1.5; +} + +.pagination-lg .page-item:first-child .page-link { + border-top-left-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; +} + +.pagination-lg .page-item:last-child .page-link { + border-top-right-radius: 0.3rem; + border-bottom-right-radius: 0.3rem; +} + +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; +} + +.pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; +} + +.pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; +} + +.badge { + display: inline-block; + padding: 0.25em 0.4em; + font-size: 75%; + font-weight: 700; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .badge { + transition: none; + } +} + +a.badge:hover, a.badge:focus { + text-decoration: none; +} + +.badge:empty { + display: none; +} + +.btn .badge { + position: relative; + top: -1px; +} + +.badge-pill { + padding-right: 0.6em; + padding-left: 0.6em; + border-radius: 10rem; +} + +.badge-primary { + color: #fff; + background-color: #007bff; +} + +a.badge-primary:hover, a.badge-primary:focus { + color: #fff; + background-color: #0062cc; +} + +a.badge-primary:focus, a.badge-primary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.badge-secondary { + color: #fff; + background-color: #6c757d; +} + +a.badge-secondary:hover, a.badge-secondary:focus { + color: #fff; + background-color: #545b62; +} + +a.badge-secondary:focus, a.badge-secondary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.badge-success { + color: #fff; + background-color: #28a745; +} + +a.badge-success:hover, a.badge-success:focus { + color: #fff; + background-color: #1e7e34; +} + +a.badge-success:focus, a.badge-success.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.badge-info { + color: #fff; + background-color: #17a2b8; +} + +a.badge-info:hover, a.badge-info:focus { + color: #fff; + background-color: #117a8b; +} + +a.badge-info:focus, a.badge-info.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.badge-warning { + color: #212529; + background-color: #ffc107; +} + +a.badge-warning:hover, a.badge-warning:focus { + color: #212529; + background-color: #d39e00; +} + +a.badge-warning:focus, a.badge-warning.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.badge-danger { + color: #fff; + background-color: #dc3545; +} + +a.badge-danger:hover, a.badge-danger:focus { + color: #fff; + background-color: #bd2130; +} + +a.badge-danger:focus, a.badge-danger.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.badge-light { + color: #212529; + background-color: #f8f9fa; +} + +a.badge-light:hover, a.badge-light:focus { + color: #212529; + background-color: #dae0e5; +} + +a.badge-light:focus, a.badge-light.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.badge-dark { + color: #fff; + background-color: #343a40; +} + +a.badge-dark:hover, a.badge-dark:focus { + color: #fff; + background-color: #1d2124; +} + +a.badge-dark:focus, a.badge-dark.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.jumbotron { + padding: 2rem 1rem; + margin-bottom: 2rem; + background-color: #e9ecef; + border-radius: 0.3rem; +} + +@media (min-width: 576px) { + .jumbotron { + padding: 4rem 2rem; + } +} + +.jumbotron-fluid { + padding-right: 0; + padding-left: 0; + border-radius: 0; +} + +.alert { + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: 700; +} + +.alert-dismissible { + padding-right: 4rem; +} + +.alert-dismissible .close { + position: absolute; + top: 0; + right: 0; + padding: 0.75rem 1.25rem; + color: inherit; +} + +.alert-primary { + color: #004085; + background-color: #cce5ff; + border-color: #b8daff; +} + +.alert-primary hr { + border-top-color: #9fcdff; +} + +.alert-primary .alert-link { + color: #002752; +} + +.alert-secondary { + color: #383d41; + background-color: #e2e3e5; + border-color: #d6d8db; +} + +.alert-secondary hr { + border-top-color: #c8cbcf; +} + +.alert-secondary .alert-link { + color: #202326; +} + +.alert-success { + color: #155724; + background-color: #d4edda; + border-color: #c3e6cb; +} + +.alert-success hr { + border-top-color: #b1dfbb; +} + +.alert-success .alert-link { + color: #0b2e13; +} + +.alert-info { + color: #0c5460; + background-color: #d1ecf1; + border-color: #bee5eb; +} + +.alert-info hr { + border-top-color: #abdde5; +} + +.alert-info .alert-link { + color: #062c33; +} + +.alert-warning { + color: #856404; + background-color: #fff3cd; + border-color: #ffeeba; +} + +.alert-warning hr { + border-top-color: #ffe8a1; +} + +.alert-warning .alert-link { + color: #533f03; +} + +.alert-danger { + color: #721c24; + background-color: #f8d7da; + border-color: #f5c6cb; +} + +.alert-danger hr { + border-top-color: #f1b0b7; +} + +.alert-danger .alert-link { + color: #491217; +} + +.alert-light { + color: #818182; + background-color: #fefefe; + border-color: #fdfdfe; +} + +.alert-light hr { + border-top-color: #ececf6; +} + +.alert-light .alert-link { + color: #686868; +} + +.alert-dark { + color: #1b1e21; + background-color: #d6d8d9; + border-color: #c6c8ca; +} + +.alert-dark hr { + border-top-color: #b9bbbe; +} + +.alert-dark .alert-link { + color: #040505; +} + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +@keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +.progress { + display: -ms-flexbox; + display: flex; + height: 1rem; + overflow: hidden; + font-size: 0.75rem; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +.progress-bar { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-pack: center; + justify-content: center; + color: #fff; + text-align: center; + white-space: nowrap; + background-color: #007bff; + transition: width 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} + +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 1rem 1rem; +} + +.progress-bar-animated { + -webkit-animation: progress-bar-stripes 1s linear infinite; + animation: progress-bar-stripes 1s linear infinite; +} + +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + -webkit-animation: none; + animation: none; + } +} + +.media { + display: -ms-flexbox; + display: flex; + -ms-flex-align: start; + align-items: flex-start; +} + +.media-body { + -ms-flex: 1; + flex: 1; +} + +.list-group { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; +} + +.list-group-item-action { + width: 100%; + color: #495057; + text-align: inherit; +} + +.list-group-item-action:hover, .list-group-item-action:focus { + z-index: 1; + color: #495057; + text-decoration: none; + background-color: #f8f9fa; +} + +.list-group-item-action:active { + color: #212529; + background-color: #e9ecef; +} + +.list-group-item { + position: relative; + display: block; + padding: 0.75rem 1.25rem; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); +} + +.list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.list-group-item.disabled, .list-group-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: #fff; +} + +.list-group-item.active { + z-index: 2; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.list-group-horizontal { + -ms-flex-direction: row; + flex-direction: row; +} + +.list-group-horizontal .list-group-item { + margin-right: -1px; + margin-bottom: 0; +} + +.list-group-horizontal .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; +} + +.list-group-horizontal .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; +} + +@media (min-width: 576px) { + .list-group-horizontal-sm { + -ms-flex-direction: row; + flex-direction: row; + } + .list-group-horizontal-sm .list-group-item { + margin-right: -1px; + margin-bottom: 0; + } + .list-group-horizontal-sm .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-sm .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } +} + +@media (min-width: 768px) { + .list-group-horizontal-md { + -ms-flex-direction: row; + flex-direction: row; + } + .list-group-horizontal-md .list-group-item { + margin-right: -1px; + margin-bottom: 0; + } + .list-group-horizontal-md .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-md .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } +} + +@media (min-width: 992px) { + .list-group-horizontal-lg { + -ms-flex-direction: row; + flex-direction: row; + } + .list-group-horizontal-lg .list-group-item { + margin-right: -1px; + margin-bottom: 0; + } + .list-group-horizontal-lg .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-lg .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } +} + +@media (min-width: 1200px) { + .list-group-horizontal-xl { + -ms-flex-direction: row; + flex-direction: row; + } + .list-group-horizontal-xl .list-group-item { + margin-right: -1px; + margin-bottom: 0; + } + .list-group-horizontal-xl .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-xl .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } +} + +.list-group-flush .list-group-item { + border-right: 0; + border-left: 0; + border-radius: 0; +} + +.list-group-flush .list-group-item:last-child { + margin-bottom: -1px; +} + +.list-group-flush:first-child .list-group-item:first-child { + border-top: 0; +} + +.list-group-flush:last-child .list-group-item:last-child { + margin-bottom: 0; + border-bottom: 0; +} + +.list-group-item-primary { + color: #004085; + background-color: #b8daff; +} + +.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { + color: #004085; + background-color: #9fcdff; +} + +.list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #004085; + border-color: #004085; +} + +.list-group-item-secondary { + color: #383d41; + background-color: #d6d8db; +} + +.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { + color: #383d41; + background-color: #c8cbcf; +} + +.list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #383d41; + border-color: #383d41; +} + +.list-group-item-success { + color: #155724; + background-color: #c3e6cb; +} + +.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { + color: #155724; + background-color: #b1dfbb; +} + +.list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #155724; + border-color: #155724; +} + +.list-group-item-info { + color: #0c5460; + background-color: #bee5eb; +} + +.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { + color: #0c5460; + background-color: #abdde5; +} + +.list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #0c5460; + border-color: #0c5460; +} + +.list-group-item-warning { + color: #856404; + background-color: #ffeeba; +} + +.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { + color: #856404; + background-color: #ffe8a1; +} + +.list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #856404; + border-color: #856404; +} + +.list-group-item-danger { + color: #721c24; + background-color: #f5c6cb; +} + +.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { + color: #721c24; + background-color: #f1b0b7; +} + +.list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #721c24; + border-color: #721c24; +} + +.list-group-item-light { + color: #818182; + background-color: #fdfdfe; +} + +.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { + color: #818182; + background-color: #ececf6; +} + +.list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #818182; + border-color: #818182; +} + +.list-group-item-dark { + color: #1b1e21; + background-color: #c6c8ca; +} + +.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { + color: #1b1e21; + background-color: #b9bbbe; +} + +.list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #1b1e21; + border-color: #1b1e21; +} + +.close { + float: right; + font-size: 1.5rem; + font-weight: 700; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: .5; +} + +.close:hover { + color: #000; + text-decoration: none; +} + +.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { + opacity: .75; +} + +button.close { + padding: 0; + background-color: transparent; + border: 0; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +a.close.disabled { + pointer-events: none; +} + +.toast { + max-width: 350px; + overflow: hidden; + font-size: 0.875rem; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.1); + box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1); + -webkit-backdrop-filter: blur(10px); + backdrop-filter: blur(10px); + opacity: 0; + border-radius: 0.25rem; +} + +.toast:not(:last-child) { + margin-bottom: 0.75rem; +} + +.toast.showing { + opacity: 1; +} + +.toast.show { + display: block; + opacity: 1; +} + +.toast.hide { + display: none; +} + +.toast-header { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + padding: 0.25rem 0.75rem; + color: #6c757d; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border-bottom: 1px solid rgba(0, 0, 0, 0.05); +} + +.toast-body { + padding: 0.75rem; +} + +.modal-open { + overflow: hidden; +} + +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} + +.modal { + position: fixed; + top: 0; + left: 0; + z-index: 1050; + display: none; + width: 100%; + height: 100%; + overflow: hidden; + outline: 0; +} + +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; +} + +.modal.fade .modal-dialog { + transition: -webkit-transform 0.3s ease-out; + transition: transform 0.3s ease-out; + transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out; + -webkit-transform: translate(0, -50px); + transform: translate(0, -50px); +} + +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} + +.modal.show .modal-dialog { + -webkit-transform: none; + transform: none; +} + +.modal-dialog-scrollable { + display: -ms-flexbox; + display: flex; + max-height: calc(100% - 1rem); +} + +.modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 1rem); + overflow: hidden; +} + +.modal-dialog-scrollable .modal-header, +.modal-dialog-scrollable .modal-footer { + -ms-flex-negative: 0; + flex-shrink: 0; +} + +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} + +.modal-dialog-centered { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + min-height: calc(100% - 1rem); +} + +.modal-dialog-centered::before { + display: block; + height: calc(100vh - 1rem); + content: ""; +} + +.modal-dialog-centered.modal-dialog-scrollable { + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-pack: center; + justify-content: center; + height: 100%; +} + +.modal-dialog-centered.modal-dialog-scrollable .modal-content { + max-height: none; +} + +.modal-dialog-centered.modal-dialog-scrollable::before { + content: none; +} + +.modal-content { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + outline: 0; +} + +.modal-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; +} + +.modal-backdrop.fade { + opacity: 0; +} + +.modal-backdrop.show { + opacity: 0.5; +} + +.modal-header { + display: -ms-flexbox; + display: flex; + -ms-flex-align: start; + align-items: flex-start; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 1rem 1rem; + border-bottom: 1px solid #dee2e6; + border-top-left-radius: 0.3rem; + border-top-right-radius: 0.3rem; +} + +.modal-header .close { + padding: 1rem 1rem; + margin: -1rem -1rem -1rem auto; +} + +.modal-title { + margin-bottom: 0; + line-height: 1.5; +} + +.modal-body { + position: relative; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + padding: 1rem; +} + +.modal-footer { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: end; + justify-content: flex-end; + padding: 1rem; + border-top: 1px solid #dee2e6; + border-bottom-right-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; +} + +.modal-footer > :not(:first-child) { + margin-left: .25rem; +} + +.modal-footer > :not(:last-child) { + margin-right: .25rem; +} + +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} + +@media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; + } + .modal-dialog-scrollable { + max-height: calc(100% - 3.5rem); + } + .modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 3.5rem); + } + .modal-dialog-centered { + min-height: calc(100% - 3.5rem); + } + .modal-dialog-centered::before { + height: calc(100vh - 3.5rem); + } + .modal-sm { + max-width: 300px; + } +} + +@media (min-width: 992px) { + .modal-lg, + .modal-xl { + max-width: 800px; + } +} + +@media (min-width: 1200px) { + .modal-xl { + max-width: 1140px; + } +} + +.tooltip { + position: absolute; + z-index: 1070; + display: block; + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + opacity: 0; +} + +.tooltip.show { + opacity: 0.9; +} + +.tooltip .arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; +} + +.tooltip .arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] { + padding: 0.4rem 0; +} + +.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow { + bottom: 0; +} + +.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before { + top: 0; + border-width: 0.4rem 0.4rem 0; + border-top-color: #000; +} + +.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] { + padding: 0 0.4rem; +} + +.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow { + left: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before { + right: 0; + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: #000; +} + +.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] { + padding: 0.4rem 0; +} + +.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow { + top: 0; +} + +.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before { + bottom: 0; + border-width: 0 0.4rem 0.4rem; + border-bottom-color: #000; +} + +.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] { + padding: 0 0.4rem; +} + +.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow { + right: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before { + left: 0; + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: #000; +} + +.tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.25rem; +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: block; + max-width: 276px; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; +} + +.popover .arrow { + position: absolute; + display: block; + width: 1rem; + height: 0.5rem; + margin: 0 0.3rem; +} + +.popover .arrow::before, .popover .arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-popover-top, .bs-popover-auto[x-placement^="top"] { + margin-bottom: 0.5rem; +} + +.bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow { + bottom: calc((0.5rem + 1px) * -1); +} + +.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before { + bottom: 0; + border-width: 0.5rem 0.5rem 0; + border-top-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after { + bottom: 1px; + border-width: 0.5rem 0.5rem 0; + border-top-color: #fff; +} + +.bs-popover-right, .bs-popover-auto[x-placement^="right"] { + margin-left: 0.5rem; +} + +.bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow { + left: calc((0.5rem + 1px) * -1); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before { + left: 0; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after { + left: 1px; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: #fff; +} + +.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] { + margin-top: 0.5rem; +} + +.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow { + top: calc((0.5rem + 1px) * -1); +} + +.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before { + top: 0; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after { + top: 1px; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: #fff; +} + +.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 1rem; + margin-left: -0.5rem; + content: ""; + border-bottom: 1px solid #f7f7f7; +} + +.bs-popover-left, .bs-popover-auto[x-placement^="left"] { + margin-right: 0.5rem; +} + +.bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow { + right: calc((0.5rem + 1px) * -1); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before { + right: 0; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after { + right: 1px; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: #fff; +} + +.popover-header { + padding: 0.5rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} + +.popover-header:empty { + display: none; +} + +.popover-body { + padding: 0.5rem 0.75rem; + color: #212529; +} + +.carousel { + position: relative; +} + +.carousel.pointer-event { + -ms-touch-action: pan-y; + touch-action: pan-y; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} + +.carousel-inner::after { + display: block; + clear: both; + content: ""; +} + +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transition: -webkit-transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +.carousel-item-next:not(.carousel-item-left), +.active.carousel-item-right { + -webkit-transform: translateX(100%); + transform: translateX(100%); +} + +.carousel-item-prev:not(.carousel-item-right), +.active.carousel-item-left { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); +} + +.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + -webkit-transform: none; + transform: none; +} + +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-left, +.carousel-fade .carousel-item-prev.carousel-item-right { + z-index: 1; + opacity: 1; +} + +.carousel-fade .active.carousel-item-left, +.carousel-fade .active.carousel-item-right { + z-index: 0; + opacity: 0; + transition: 0s 0.6s opacity; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-left, + .carousel-fade .active.carousel-item-right { + transition: none; + } +} + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + width: 15%; + color: #fff; + text-align: center; + opacity: 0.5; + transition: opacity 0.15s ease; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-control-prev, + .carousel-control-next { + transition: none; + } +} + +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: #fff; + text-decoration: none; + outline: 0; + opacity: 0.9; +} + +.carousel-control-prev { + left: 0; +} + +.carousel-control-next { + right: 0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 20px; + height: 20px; + background: no-repeat 50% / 100% 100%; +} + +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e"); +} + +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e"); +} + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 15; + display: -ms-flexbox; + display: flex; + -ms-flex-pack: center; + justify-content: center; + padding-left: 0; + margin-right: 15%; + margin-left: 15%; + list-style: none; +} + +.carousel-indicators li { + box-sizing: content-box; + -ms-flex: 0 1 auto; + flex: 0 1 auto; + width: 30px; + height: 3px; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: #fff; + background-clip: padding-box; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: .5; + transition: opacity 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-indicators li { + transition: none; + } +} + +.carousel-indicators .active { + opacity: 1; +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; +} + +@-webkit-keyframes spinner-border { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes spinner-border { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +.spinner-border { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + border: 0.25em solid currentColor; + border-right-color: transparent; + border-radius: 50%; + -webkit-animation: spinner-border .75s linear infinite; + animation: spinner-border .75s linear infinite; +} + +.spinner-border-sm { + width: 1rem; + height: 1rem; + border-width: 0.2em; +} + +@-webkit-keyframes spinner-grow { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + } + 50% { + opacity: 1; + } +} + +@keyframes spinner-grow { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + } + 50% { + opacity: 1; + } +} + +.spinner-grow { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + background-color: currentColor; + border-radius: 50%; + opacity: 0; + -webkit-animation: spinner-grow .75s linear infinite; + animation: spinner-grow .75s linear infinite; +} + +.spinner-grow-sm { + width: 1rem; + height: 1rem; +} + +.align-baseline { + vertical-align: baseline !important; +} + +.align-top { + vertical-align: top !important; +} + +.align-middle { + vertical-align: middle !important; +} + +.align-bottom { + vertical-align: bottom !important; +} + +.align-text-bottom { + vertical-align: text-bottom !important; +} + +.align-text-top { + vertical-align: text-top !important; +} + +.bg-primary { + background-color: #007bff !important; +} + +a.bg-primary:hover, a.bg-primary:focus, +button.bg-primary:hover, +button.bg-primary:focus { + background-color: #0062cc !important; +} + +.bg-secondary { + background-color: #6c757d !important; +} + +a.bg-secondary:hover, a.bg-secondary:focus, +button.bg-secondary:hover, +button.bg-secondary:focus { + background-color: #545b62 !important; +} + +.bg-success { + background-color: #28a745 !important; +} + +a.bg-success:hover, a.bg-success:focus, +button.bg-success:hover, +button.bg-success:focus { + background-color: #1e7e34 !important; +} + +.bg-info { + background-color: #17a2b8 !important; +} + +a.bg-info:hover, a.bg-info:focus, +button.bg-info:hover, +button.bg-info:focus { + background-color: #117a8b !important; +} + +.bg-warning { + background-color: #ffc107 !important; +} + +a.bg-warning:hover, a.bg-warning:focus, +button.bg-warning:hover, +button.bg-warning:focus { + background-color: #d39e00 !important; +} + +.bg-danger { + background-color: #dc3545 !important; +} + +a.bg-danger:hover, a.bg-danger:focus, +button.bg-danger:hover, +button.bg-danger:focus { + background-color: #bd2130 !important; +} + +.bg-light { + background-color: #f8f9fa !important; +} + +a.bg-light:hover, a.bg-light:focus, +button.bg-light:hover, +button.bg-light:focus { + background-color: #dae0e5 !important; +} + +.bg-dark { + background-color: #343a40 !important; +} + +a.bg-dark:hover, a.bg-dark:focus, +button.bg-dark:hover, +button.bg-dark:focus { + background-color: #1d2124 !important; +} + +.bg-white { + background-color: #fff !important; +} + +.bg-transparent { + background-color: transparent !important; +} + +.border { + border: 1px solid #dee2e6 !important; +} + +.border-top { + border-top: 1px solid #dee2e6 !important; +} + +.border-right { + border-right: 1px solid #dee2e6 !important; +} + +.border-bottom { + border-bottom: 1px solid #dee2e6 !important; +} + +.border-left { + border-left: 1px solid #dee2e6 !important; +} + +.border-0 { + border: 0 !important; +} + +.border-top-0 { + border-top: 0 !important; +} + +.border-right-0 { + border-right: 0 !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +.border-left-0 { + border-left: 0 !important; +} + +.border-primary { + border-color: #007bff !important; +} + +.border-secondary { + border-color: #6c757d !important; +} + +.border-success { + border-color: #28a745 !important; +} + +.border-info { + border-color: #17a2b8 !important; +} + +.border-warning { + border-color: #ffc107 !important; +} + +.border-danger { + border-color: #dc3545 !important; +} + +.border-light { + border-color: #f8f9fa !important; +} + +.border-dark { + border-color: #343a40 !important; +} + +.border-white { + border-color: #fff !important; +} + +.rounded-sm { + border-radius: 0.2rem !important; +} + +.rounded { + border-radius: 0.25rem !important; +} + +.rounded-top { + border-top-left-radius: 0.25rem !important; + border-top-right-radius: 0.25rem !important; +} + +.rounded-right { + border-top-right-radius: 0.25rem !important; + border-bottom-right-radius: 0.25rem !important; +} + +.rounded-bottom { + border-bottom-right-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +.rounded-left { + border-top-left-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +.rounded-lg { + border-radius: 0.3rem !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-pill { + border-radius: 50rem !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.d-none { + display: none !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: -ms-flexbox !important; + display: flex !important; +} + +.d-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; +} + +@media (min-width: 576px) { + .d-sm-none { + display: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-sm-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 768px) { + .d-md-none { + display: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-md-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 992px) { + .d-lg-none { + display: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-lg-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 1200px) { + .d-xl-none { + display: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-xl-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media print { + .d-print-none { + display: none !important; + } + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-print-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +.embed-responsive { + position: relative; + display: block; + width: 100%; + padding: 0; + overflow: hidden; +} + +.embed-responsive::before { + display: block; + content: ""; +} + +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; +} + +.embed-responsive-21by9::before { + padding-top: 42.857143%; +} + +.embed-responsive-16by9::before { + padding-top: 56.25%; +} + +.embed-responsive-4by3::before { + padding-top: 75%; +} + +.embed-responsive-1by1::before { + padding-top: 100%; +} + +.flex-row { + -ms-flex-direction: row !important; + flex-direction: row !important; +} + +.flex-column { + -ms-flex-direction: column !important; + flex-direction: column !important; +} + +.flex-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; +} + +.flex-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; +} + +.flex-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; +} + +.flex-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; +} + +.flex-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; +} + +.flex-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; +} + +.flex-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; +} + +.justify-content-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; +} + +.justify-content-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; +} + +.justify-content-center { + -ms-flex-pack: center !important; + justify-content: center !important; +} + +.justify-content-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; +} + +.justify-content-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; +} + +.align-items-start { + -ms-flex-align: start !important; + align-items: flex-start !important; +} + +.align-items-end { + -ms-flex-align: end !important; + align-items: flex-end !important; +} + +.align-items-center { + -ms-flex-align: center !important; + align-items: center !important; +} + +.align-items-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; +} + +.align-items-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; +} + +.align-content-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; +} + +.align-content-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; +} + +.align-content-center { + -ms-flex-line-pack: center !important; + align-content: center !important; +} + +.align-content-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; +} + +.align-content-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; +} + +.align-content-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; +} + +.align-self-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; +} + +.align-self-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; +} + +.align-self-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; +} + +.align-self-center { + -ms-flex-item-align: center !important; + align-self: center !important; +} + +.align-self-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; +} + +.align-self-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; +} + +@media (min-width: 576px) { + .flex-sm-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-sm-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-sm-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-sm-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-sm-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-sm-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-sm-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-sm-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-sm-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-sm-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-sm-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-sm-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-sm-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-sm-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-sm-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-sm-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-sm-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-sm-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-sm-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-sm-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-sm-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-sm-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-sm-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-sm-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-sm-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-sm-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-sm-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-sm-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 768px) { + .flex-md-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-md-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-md-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-md-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-md-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-md-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-md-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-md-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-md-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-md-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-md-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-md-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-md-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-md-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-md-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-md-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-md-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-md-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-md-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-md-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-md-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-md-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-md-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-md-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-md-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-md-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-md-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-md-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-md-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-md-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 992px) { + .flex-lg-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-lg-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-lg-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-lg-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-lg-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-lg-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-lg-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-lg-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-lg-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-lg-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-lg-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-lg-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-lg-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-lg-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-lg-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-lg-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-lg-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-lg-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-lg-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-lg-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-lg-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-lg-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-lg-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-lg-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-lg-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-lg-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-lg-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-lg-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 1200px) { + .flex-xl-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-xl-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-xl-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-xl-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-xl-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-xl-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-xl-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-xl-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-xl-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-xl-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-xl-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-xl-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-xl-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-xl-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-xl-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-xl-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-xl-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-xl-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-xl-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-xl-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-xl-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-xl-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-xl-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-xl-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-xl-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-xl-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-xl-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-xl-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +.float-left { + float: left !important; +} + +.float-right { + float: right !important; +} + +.float-none { + float: none !important; +} + +@media (min-width: 576px) { + .float-sm-left { + float: left !important; + } + .float-sm-right { + float: right !important; + } + .float-sm-none { + float: none !important; + } +} + +@media (min-width: 768px) { + .float-md-left { + float: left !important; + } + .float-md-right { + float: right !important; + } + .float-md-none { + float: none !important; + } +} + +@media (min-width: 992px) { + .float-lg-left { + float: left !important; + } + .float-lg-right { + float: right !important; + } + .float-lg-none { + float: none !important; + } +} + +@media (min-width: 1200px) { + .float-xl-left { + float: left !important; + } + .float-xl-right { + float: right !important; + } + .float-xl-none { + float: none !important; + } +} + +.overflow-auto { + overflow: auto !important; +} + +.overflow-hidden { + overflow: hidden !important; +} + +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important; +} + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + +@supports ((position: -webkit-sticky) or (position: sticky)) { + .sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +.sr-only-focusable:active, .sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + overflow: visible; + clip: auto; + white-space: normal; +} + +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; +} + +.shadow { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; +} + +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; +} + +.shadow-none { + box-shadow: none !important; +} + +.w-25 { + width: 25% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +.w-auto { + width: auto !important; +} + +.h-25 { + height: 25% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +.h-auto { + height: auto !important; +} + +.mw-100 { + max-width: 100% !important; +} + +.mh-100 { + max-height: 100% !important; +} + +.min-vw-100 { + min-width: 100vw !important; +} + +.min-vh-100 { + min-height: 100vh !important; +} + +.vw-100 { + width: 100vw !important; +} + +.vh-100 { + height: 100vh !important; +} + +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + pointer-events: auto; + content: ""; + background-color: rgba(0, 0, 0, 0); +} + +.m-0 { + margin: 0 !important; +} + +.mt-0, +.my-0 { + margin-top: 0 !important; +} + +.mr-0, +.mx-0 { + margin-right: 0 !important; +} + +.mb-0, +.my-0 { + margin-bottom: 0 !important; +} + +.ml-0, +.mx-0 { + margin-left: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.mt-1, +.my-1 { + margin-top: 0.25rem !important; +} + +.mr-1, +.mx-1 { + margin-right: 0.25rem !important; +} + +.mb-1, +.my-1 { + margin-bottom: 0.25rem !important; +} + +.ml-1, +.mx-1 { + margin-left: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.mt-2, +.my-2 { + margin-top: 0.5rem !important; +} + +.mr-2, +.mx-2 { + margin-right: 0.5rem !important; +} + +.mb-2, +.my-2 { + margin-bottom: 0.5rem !important; +} + +.ml-2, +.mx-2 { + margin-left: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.mt-3, +.my-3 { + margin-top: 1rem !important; +} + +.mr-3, +.mx-3 { + margin-right: 1rem !important; +} + +.mb-3, +.my-3 { + margin-bottom: 1rem !important; +} + +.ml-3, +.mx-3 { + margin-left: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.mt-4, +.my-4 { + margin-top: 1.5rem !important; +} + +.mr-4, +.mx-4 { + margin-right: 1.5rem !important; +} + +.mb-4, +.my-4 { + margin-bottom: 1.5rem !important; +} + +.ml-4, +.mx-4 { + margin-left: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.mt-5, +.my-5 { + margin-top: 3rem !important; +} + +.mr-5, +.mx-5 { + margin-right: 3rem !important; +} + +.mb-5, +.my-5 { + margin-bottom: 3rem !important; +} + +.ml-5, +.mx-5 { + margin-left: 3rem !important; +} + +.p-0 { + padding: 0 !important; +} + +.pt-0, +.py-0 { + padding-top: 0 !important; +} + +.pr-0, +.px-0 { + padding-right: 0 !important; +} + +.pb-0, +.py-0 { + padding-bottom: 0 !important; +} + +.pl-0, +.px-0 { + padding-left: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.pt-1, +.py-1 { + padding-top: 0.25rem !important; +} + +.pr-1, +.px-1 { + padding-right: 0.25rem !important; +} + +.pb-1, +.py-1 { + padding-bottom: 0.25rem !important; +} + +.pl-1, +.px-1 { + padding-left: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.pt-2, +.py-2 { + padding-top: 0.5rem !important; +} + +.pr-2, +.px-2 { + padding-right: 0.5rem !important; +} + +.pb-2, +.py-2 { + padding-bottom: 0.5rem !important; +} + +.pl-2, +.px-2 { + padding-left: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.pt-3, +.py-3 { + padding-top: 1rem !important; +} + +.pr-3, +.px-3 { + padding-right: 1rem !important; +} + +.pb-3, +.py-3 { + padding-bottom: 1rem !important; +} + +.pl-3, +.px-3 { + padding-left: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.pt-4, +.py-4 { + padding-top: 1.5rem !important; +} + +.pr-4, +.px-4 { + padding-right: 1.5rem !important; +} + +.pb-4, +.py-4 { + padding-bottom: 1.5rem !important; +} + +.pl-4, +.px-4 { + padding-left: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.pt-5, +.py-5 { + padding-top: 3rem !important; +} + +.pr-5, +.px-5 { + padding-right: 3rem !important; +} + +.pb-5, +.py-5 { + padding-bottom: 3rem !important; +} + +.pl-5, +.px-5 { + padding-left: 3rem !important; +} + +.m-n1 { + margin: -0.25rem !important; +} + +.mt-n1, +.my-n1 { + margin-top: -0.25rem !important; +} + +.mr-n1, +.mx-n1 { + margin-right: -0.25rem !important; +} + +.mb-n1, +.my-n1 { + margin-bottom: -0.25rem !important; +} + +.ml-n1, +.mx-n1 { + margin-left: -0.25rem !important; +} + +.m-n2 { + margin: -0.5rem !important; +} + +.mt-n2, +.my-n2 { + margin-top: -0.5rem !important; +} + +.mr-n2, +.mx-n2 { + margin-right: -0.5rem !important; +} + +.mb-n2, +.my-n2 { + margin-bottom: -0.5rem !important; +} + +.ml-n2, +.mx-n2 { + margin-left: -0.5rem !important; +} + +.m-n3 { + margin: -1rem !important; +} + +.mt-n3, +.my-n3 { + margin-top: -1rem !important; +} + +.mr-n3, +.mx-n3 { + margin-right: -1rem !important; +} + +.mb-n3, +.my-n3 { + margin-bottom: -1rem !important; +} + +.ml-n3, +.mx-n3 { + margin-left: -1rem !important; +} + +.m-n4 { + margin: -1.5rem !important; +} + +.mt-n4, +.my-n4 { + margin-top: -1.5rem !important; +} + +.mr-n4, +.mx-n4 { + margin-right: -1.5rem !important; +} + +.mb-n4, +.my-n4 { + margin-bottom: -1.5rem !important; +} + +.ml-n4, +.mx-n4 { + margin-left: -1.5rem !important; +} + +.m-n5 { + margin: -3rem !important; +} + +.mt-n5, +.my-n5 { + margin-top: -3rem !important; +} + +.mr-n5, +.mx-n5 { + margin-right: -3rem !important; +} + +.mb-n5, +.my-n5 { + margin-bottom: -3rem !important; +} + +.ml-n5, +.mx-n5 { + margin-left: -3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mt-auto, +.my-auto { + margin-top: auto !important; +} + +.mr-auto, +.mx-auto { + margin-right: auto !important; +} + +.mb-auto, +.my-auto { + margin-bottom: auto !important; +} + +.ml-auto, +.mx-auto { + margin-left: auto !important; +} + +@media (min-width: 576px) { + .m-sm-0 { + margin: 0 !important; + } + .mt-sm-0, + .my-sm-0 { + margin-top: 0 !important; + } + .mr-sm-0, + .mx-sm-0 { + margin-right: 0 !important; + } + .mb-sm-0, + .my-sm-0 { + margin-bottom: 0 !important; + } + .ml-sm-0, + .mx-sm-0 { + margin-left: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .mt-sm-1, + .my-sm-1 { + margin-top: 0.25rem !important; + } + .mr-sm-1, + .mx-sm-1 { + margin-right: 0.25rem !important; + } + .mb-sm-1, + .my-sm-1 { + margin-bottom: 0.25rem !important; + } + .ml-sm-1, + .mx-sm-1 { + margin-left: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .mt-sm-2, + .my-sm-2 { + margin-top: 0.5rem !important; + } + .mr-sm-2, + .mx-sm-2 { + margin-right: 0.5rem !important; + } + .mb-sm-2, + .my-sm-2 { + margin-bottom: 0.5rem !important; + } + .ml-sm-2, + .mx-sm-2 { + margin-left: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .mt-sm-3, + .my-sm-3 { + margin-top: 1rem !important; + } + .mr-sm-3, + .mx-sm-3 { + margin-right: 1rem !important; + } + .mb-sm-3, + .my-sm-3 { + margin-bottom: 1rem !important; + } + .ml-sm-3, + .mx-sm-3 { + margin-left: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .mt-sm-4, + .my-sm-4 { + margin-top: 1.5rem !important; + } + .mr-sm-4, + .mx-sm-4 { + margin-right: 1.5rem !important; + } + .mb-sm-4, + .my-sm-4 { + margin-bottom: 1.5rem !important; + } + .ml-sm-4, + .mx-sm-4 { + margin-left: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .mt-sm-5, + .my-sm-5 { + margin-top: 3rem !important; + } + .mr-sm-5, + .mx-sm-5 { + margin-right: 3rem !important; + } + .mb-sm-5, + .my-sm-5 { + margin-bottom: 3rem !important; + } + .ml-sm-5, + .mx-sm-5 { + margin-left: 3rem !important; + } + .p-sm-0 { + padding: 0 !important; + } + .pt-sm-0, + .py-sm-0 { + padding-top: 0 !important; + } + .pr-sm-0, + .px-sm-0 { + padding-right: 0 !important; + } + .pb-sm-0, + .py-sm-0 { + padding-bottom: 0 !important; + } + .pl-sm-0, + .px-sm-0 { + padding-left: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .pt-sm-1, + .py-sm-1 { + padding-top: 0.25rem !important; + } + .pr-sm-1, + .px-sm-1 { + padding-right: 0.25rem !important; + } + .pb-sm-1, + .py-sm-1 { + padding-bottom: 0.25rem !important; + } + .pl-sm-1, + .px-sm-1 { + padding-left: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .pt-sm-2, + .py-sm-2 { + padding-top: 0.5rem !important; + } + .pr-sm-2, + .px-sm-2 { + padding-right: 0.5rem !important; + } + .pb-sm-2, + .py-sm-2 { + padding-bottom: 0.5rem !important; + } + .pl-sm-2, + .px-sm-2 { + padding-left: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .pt-sm-3, + .py-sm-3 { + padding-top: 1rem !important; + } + .pr-sm-3, + .px-sm-3 { + padding-right: 1rem !important; + } + .pb-sm-3, + .py-sm-3 { + padding-bottom: 1rem !important; + } + .pl-sm-3, + .px-sm-3 { + padding-left: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .pt-sm-4, + .py-sm-4 { + padding-top: 1.5rem !important; + } + .pr-sm-4, + .px-sm-4 { + padding-right: 1.5rem !important; + } + .pb-sm-4, + .py-sm-4 { + padding-bottom: 1.5rem !important; + } + .pl-sm-4, + .px-sm-4 { + padding-left: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .pt-sm-5, + .py-sm-5 { + padding-top: 3rem !important; + } + .pr-sm-5, + .px-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-5, + .py-sm-5 { + padding-bottom: 3rem !important; + } + .pl-sm-5, + .px-sm-5 { + padding-left: 3rem !important; + } + .m-sm-n1 { + margin: -0.25rem !important; + } + .mt-sm-n1, + .my-sm-n1 { + margin-top: -0.25rem !important; + } + .mr-sm-n1, + .mx-sm-n1 { + margin-right: -0.25rem !important; + } + .mb-sm-n1, + .my-sm-n1 { + margin-bottom: -0.25rem !important; + } + .ml-sm-n1, + .mx-sm-n1 { + margin-left: -0.25rem !important; + } + .m-sm-n2 { + margin: -0.5rem !important; + } + .mt-sm-n2, + .my-sm-n2 { + margin-top: -0.5rem !important; + } + .mr-sm-n2, + .mx-sm-n2 { + margin-right: -0.5rem !important; + } + .mb-sm-n2, + .my-sm-n2 { + margin-bottom: -0.5rem !important; + } + .ml-sm-n2, + .mx-sm-n2 { + margin-left: -0.5rem !important; + } + .m-sm-n3 { + margin: -1rem !important; + } + .mt-sm-n3, + .my-sm-n3 { + margin-top: -1rem !important; + } + .mr-sm-n3, + .mx-sm-n3 { + margin-right: -1rem !important; + } + .mb-sm-n3, + .my-sm-n3 { + margin-bottom: -1rem !important; + } + .ml-sm-n3, + .mx-sm-n3 { + margin-left: -1rem !important; + } + .m-sm-n4 { + margin: -1.5rem !important; + } + .mt-sm-n4, + .my-sm-n4 { + margin-top: -1.5rem !important; + } + .mr-sm-n4, + .mx-sm-n4 { + margin-right: -1.5rem !important; + } + .mb-sm-n4, + .my-sm-n4 { + margin-bottom: -1.5rem !important; + } + .ml-sm-n4, + .mx-sm-n4 { + margin-left: -1.5rem !important; + } + .m-sm-n5 { + margin: -3rem !important; + } + .mt-sm-n5, + .my-sm-n5 { + margin-top: -3rem !important; + } + .mr-sm-n5, + .mx-sm-n5 { + margin-right: -3rem !important; + } + .mb-sm-n5, + .my-sm-n5 { + margin-bottom: -3rem !important; + } + .ml-sm-n5, + .mx-sm-n5 { + margin-left: -3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mt-sm-auto, + .my-sm-auto { + margin-top: auto !important; + } + .mr-sm-auto, + .mx-sm-auto { + margin-right: auto !important; + } + .mb-sm-auto, + .my-sm-auto { + margin-bottom: auto !important; + } + .ml-sm-auto, + .mx-sm-auto { + margin-left: auto !important; + } +} + +@media (min-width: 768px) { + .m-md-0 { + margin: 0 !important; + } + .mt-md-0, + .my-md-0 { + margin-top: 0 !important; + } + .mr-md-0, + .mx-md-0 { + margin-right: 0 !important; + } + .mb-md-0, + .my-md-0 { + margin-bottom: 0 !important; + } + .ml-md-0, + .mx-md-0 { + margin-left: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .mt-md-1, + .my-md-1 { + margin-top: 0.25rem !important; + } + .mr-md-1, + .mx-md-1 { + margin-right: 0.25rem !important; + } + .mb-md-1, + .my-md-1 { + margin-bottom: 0.25rem !important; + } + .ml-md-1, + .mx-md-1 { + margin-left: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .mt-md-2, + .my-md-2 { + margin-top: 0.5rem !important; + } + .mr-md-2, + .mx-md-2 { + margin-right: 0.5rem !important; + } + .mb-md-2, + .my-md-2 { + margin-bottom: 0.5rem !important; + } + .ml-md-2, + .mx-md-2 { + margin-left: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .mt-md-3, + .my-md-3 { + margin-top: 1rem !important; + } + .mr-md-3, + .mx-md-3 { + margin-right: 1rem !important; + } + .mb-md-3, + .my-md-3 { + margin-bottom: 1rem !important; + } + .ml-md-3, + .mx-md-3 { + margin-left: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .mt-md-4, + .my-md-4 { + margin-top: 1.5rem !important; + } + .mr-md-4, + .mx-md-4 { + margin-right: 1.5rem !important; + } + .mb-md-4, + .my-md-4 { + margin-bottom: 1.5rem !important; + } + .ml-md-4, + .mx-md-4 { + margin-left: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .mt-md-5, + .my-md-5 { + margin-top: 3rem !important; + } + .mr-md-5, + .mx-md-5 { + margin-right: 3rem !important; + } + .mb-md-5, + .my-md-5 { + margin-bottom: 3rem !important; + } + .ml-md-5, + .mx-md-5 { + margin-left: 3rem !important; + } + .p-md-0 { + padding: 0 !important; + } + .pt-md-0, + .py-md-0 { + padding-top: 0 !important; + } + .pr-md-0, + .px-md-0 { + padding-right: 0 !important; + } + .pb-md-0, + .py-md-0 { + padding-bottom: 0 !important; + } + .pl-md-0, + .px-md-0 { + padding-left: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .pt-md-1, + .py-md-1 { + padding-top: 0.25rem !important; + } + .pr-md-1, + .px-md-1 { + padding-right: 0.25rem !important; + } + .pb-md-1, + .py-md-1 { + padding-bottom: 0.25rem !important; + } + .pl-md-1, + .px-md-1 { + padding-left: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .pt-md-2, + .py-md-2 { + padding-top: 0.5rem !important; + } + .pr-md-2, + .px-md-2 { + padding-right: 0.5rem !important; + } + .pb-md-2, + .py-md-2 { + padding-bottom: 0.5rem !important; + } + .pl-md-2, + .px-md-2 { + padding-left: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .pt-md-3, + .py-md-3 { + padding-top: 1rem !important; + } + .pr-md-3, + .px-md-3 { + padding-right: 1rem !important; + } + .pb-md-3, + .py-md-3 { + padding-bottom: 1rem !important; + } + .pl-md-3, + .px-md-3 { + padding-left: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .pt-md-4, + .py-md-4 { + padding-top: 1.5rem !important; + } + .pr-md-4, + .px-md-4 { + padding-right: 1.5rem !important; + } + .pb-md-4, + .py-md-4 { + padding-bottom: 1.5rem !important; + } + .pl-md-4, + .px-md-4 { + padding-left: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .pt-md-5, + .py-md-5 { + padding-top: 3rem !important; + } + .pr-md-5, + .px-md-5 { + padding-right: 3rem !important; + } + .pb-md-5, + .py-md-5 { + padding-bottom: 3rem !important; + } + .pl-md-5, + .px-md-5 { + padding-left: 3rem !important; + } + .m-md-n1 { + margin: -0.25rem !important; + } + .mt-md-n1, + .my-md-n1 { + margin-top: -0.25rem !important; + } + .mr-md-n1, + .mx-md-n1 { + margin-right: -0.25rem !important; + } + .mb-md-n1, + .my-md-n1 { + margin-bottom: -0.25rem !important; + } + .ml-md-n1, + .mx-md-n1 { + margin-left: -0.25rem !important; + } + .m-md-n2 { + margin: -0.5rem !important; + } + .mt-md-n2, + .my-md-n2 { + margin-top: -0.5rem !important; + } + .mr-md-n2, + .mx-md-n2 { + margin-right: -0.5rem !important; + } + .mb-md-n2, + .my-md-n2 { + margin-bottom: -0.5rem !important; + } + .ml-md-n2, + .mx-md-n2 { + margin-left: -0.5rem !important; + } + .m-md-n3 { + margin: -1rem !important; + } + .mt-md-n3, + .my-md-n3 { + margin-top: -1rem !important; + } + .mr-md-n3, + .mx-md-n3 { + margin-right: -1rem !important; + } + .mb-md-n3, + .my-md-n3 { + margin-bottom: -1rem !important; + } + .ml-md-n3, + .mx-md-n3 { + margin-left: -1rem !important; + } + .m-md-n4 { + margin: -1.5rem !important; + } + .mt-md-n4, + .my-md-n4 { + margin-top: -1.5rem !important; + } + .mr-md-n4, + .mx-md-n4 { + margin-right: -1.5rem !important; + } + .mb-md-n4, + .my-md-n4 { + margin-bottom: -1.5rem !important; + } + .ml-md-n4, + .mx-md-n4 { + margin-left: -1.5rem !important; + } + .m-md-n5 { + margin: -3rem !important; + } + .mt-md-n5, + .my-md-n5 { + margin-top: -3rem !important; + } + .mr-md-n5, + .mx-md-n5 { + margin-right: -3rem !important; + } + .mb-md-n5, + .my-md-n5 { + margin-bottom: -3rem !important; + } + .ml-md-n5, + .mx-md-n5 { + margin-left: -3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mt-md-auto, + .my-md-auto { + margin-top: auto !important; + } + .mr-md-auto, + .mx-md-auto { + margin-right: auto !important; + } + .mb-md-auto, + .my-md-auto { + margin-bottom: auto !important; + } + .ml-md-auto, + .mx-md-auto { + margin-left: auto !important; + } +} + +@media (min-width: 992px) { + .m-lg-0 { + margin: 0 !important; + } + .mt-lg-0, + .my-lg-0 { + margin-top: 0 !important; + } + .mr-lg-0, + .mx-lg-0 { + margin-right: 0 !important; + } + .mb-lg-0, + .my-lg-0 { + margin-bottom: 0 !important; + } + .ml-lg-0, + .mx-lg-0 { + margin-left: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .mt-lg-1, + .my-lg-1 { + margin-top: 0.25rem !important; + } + .mr-lg-1, + .mx-lg-1 { + margin-right: 0.25rem !important; + } + .mb-lg-1, + .my-lg-1 { + margin-bottom: 0.25rem !important; + } + .ml-lg-1, + .mx-lg-1 { + margin-left: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .mt-lg-2, + .my-lg-2 { + margin-top: 0.5rem !important; + } + .mr-lg-2, + .mx-lg-2 { + margin-right: 0.5rem !important; + } + .mb-lg-2, + .my-lg-2 { + margin-bottom: 0.5rem !important; + } + .ml-lg-2, + .mx-lg-2 { + margin-left: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .mt-lg-3, + .my-lg-3 { + margin-top: 1rem !important; + } + .mr-lg-3, + .mx-lg-3 { + margin-right: 1rem !important; + } + .mb-lg-3, + .my-lg-3 { + margin-bottom: 1rem !important; + } + .ml-lg-3, + .mx-lg-3 { + margin-left: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .mt-lg-4, + .my-lg-4 { + margin-top: 1.5rem !important; + } + .mr-lg-4, + .mx-lg-4 { + margin-right: 1.5rem !important; + } + .mb-lg-4, + .my-lg-4 { + margin-bottom: 1.5rem !important; + } + .ml-lg-4, + .mx-lg-4 { + margin-left: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .mt-lg-5, + .my-lg-5 { + margin-top: 3rem !important; + } + .mr-lg-5, + .mx-lg-5 { + margin-right: 3rem !important; + } + .mb-lg-5, + .my-lg-5 { + margin-bottom: 3rem !important; + } + .ml-lg-5, + .mx-lg-5 { + margin-left: 3rem !important; + } + .p-lg-0 { + padding: 0 !important; + } + .pt-lg-0, + .py-lg-0 { + padding-top: 0 !important; + } + .pr-lg-0, + .px-lg-0 { + padding-right: 0 !important; + } + .pb-lg-0, + .py-lg-0 { + padding-bottom: 0 !important; + } + .pl-lg-0, + .px-lg-0 { + padding-left: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .pt-lg-1, + .py-lg-1 { + padding-top: 0.25rem !important; + } + .pr-lg-1, + .px-lg-1 { + padding-right: 0.25rem !important; + } + .pb-lg-1, + .py-lg-1 { + padding-bottom: 0.25rem !important; + } + .pl-lg-1, + .px-lg-1 { + padding-left: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .pt-lg-2, + .py-lg-2 { + padding-top: 0.5rem !important; + } + .pr-lg-2, + .px-lg-2 { + padding-right: 0.5rem !important; + } + .pb-lg-2, + .py-lg-2 { + padding-bottom: 0.5rem !important; + } + .pl-lg-2, + .px-lg-2 { + padding-left: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .pt-lg-3, + .py-lg-3 { + padding-top: 1rem !important; + } + .pr-lg-3, + .px-lg-3 { + padding-right: 1rem !important; + } + .pb-lg-3, + .py-lg-3 { + padding-bottom: 1rem !important; + } + .pl-lg-3, + .px-lg-3 { + padding-left: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .pt-lg-4, + .py-lg-4 { + padding-top: 1.5rem !important; + } + .pr-lg-4, + .px-lg-4 { + padding-right: 1.5rem !important; + } + .pb-lg-4, + .py-lg-4 { + padding-bottom: 1.5rem !important; + } + .pl-lg-4, + .px-lg-4 { + padding-left: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .pt-lg-5, + .py-lg-5 { + padding-top: 3rem !important; + } + .pr-lg-5, + .px-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-5, + .py-lg-5 { + padding-bottom: 3rem !important; + } + .pl-lg-5, + .px-lg-5 { + padding-left: 3rem !important; + } + .m-lg-n1 { + margin: -0.25rem !important; + } + .mt-lg-n1, + .my-lg-n1 { + margin-top: -0.25rem !important; + } + .mr-lg-n1, + .mx-lg-n1 { + margin-right: -0.25rem !important; + } + .mb-lg-n1, + .my-lg-n1 { + margin-bottom: -0.25rem !important; + } + .ml-lg-n1, + .mx-lg-n1 { + margin-left: -0.25rem !important; + } + .m-lg-n2 { + margin: -0.5rem !important; + } + .mt-lg-n2, + .my-lg-n2 { + margin-top: -0.5rem !important; + } + .mr-lg-n2, + .mx-lg-n2 { + margin-right: -0.5rem !important; + } + .mb-lg-n2, + .my-lg-n2 { + margin-bottom: -0.5rem !important; + } + .ml-lg-n2, + .mx-lg-n2 { + margin-left: -0.5rem !important; + } + .m-lg-n3 { + margin: -1rem !important; + } + .mt-lg-n3, + .my-lg-n3 { + margin-top: -1rem !important; + } + .mr-lg-n3, + .mx-lg-n3 { + margin-right: -1rem !important; + } + .mb-lg-n3, + .my-lg-n3 { + margin-bottom: -1rem !important; + } + .ml-lg-n3, + .mx-lg-n3 { + margin-left: -1rem !important; + } + .m-lg-n4 { + margin: -1.5rem !important; + } + .mt-lg-n4, + .my-lg-n4 { + margin-top: -1.5rem !important; + } + .mr-lg-n4, + .mx-lg-n4 { + margin-right: -1.5rem !important; + } + .mb-lg-n4, + .my-lg-n4 { + margin-bottom: -1.5rem !important; + } + .ml-lg-n4, + .mx-lg-n4 { + margin-left: -1.5rem !important; + } + .m-lg-n5 { + margin: -3rem !important; + } + .mt-lg-n5, + .my-lg-n5 { + margin-top: -3rem !important; + } + .mr-lg-n5, + .mx-lg-n5 { + margin-right: -3rem !important; + } + .mb-lg-n5, + .my-lg-n5 { + margin-bottom: -3rem !important; + } + .ml-lg-n5, + .mx-lg-n5 { + margin-left: -3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mt-lg-auto, + .my-lg-auto { + margin-top: auto !important; + } + .mr-lg-auto, + .mx-lg-auto { + margin-right: auto !important; + } + .mb-lg-auto, + .my-lg-auto { + margin-bottom: auto !important; + } + .ml-lg-auto, + .mx-lg-auto { + margin-left: auto !important; + } +} + +@media (min-width: 1200px) { + .m-xl-0 { + margin: 0 !important; + } + .mt-xl-0, + .my-xl-0 { + margin-top: 0 !important; + } + .mr-xl-0, + .mx-xl-0 { + margin-right: 0 !important; + } + .mb-xl-0, + .my-xl-0 { + margin-bottom: 0 !important; + } + .ml-xl-0, + .mx-xl-0 { + margin-left: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .mt-xl-1, + .my-xl-1 { + margin-top: 0.25rem !important; + } + .mr-xl-1, + .mx-xl-1 { + margin-right: 0.25rem !important; + } + .mb-xl-1, + .my-xl-1 { + margin-bottom: 0.25rem !important; + } + .ml-xl-1, + .mx-xl-1 { + margin-left: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .mt-xl-2, + .my-xl-2 { + margin-top: 0.5rem !important; + } + .mr-xl-2, + .mx-xl-2 { + margin-right: 0.5rem !important; + } + .mb-xl-2, + .my-xl-2 { + margin-bottom: 0.5rem !important; + } + .ml-xl-2, + .mx-xl-2 { + margin-left: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .mt-xl-3, + .my-xl-3 { + margin-top: 1rem !important; + } + .mr-xl-3, + .mx-xl-3 { + margin-right: 1rem !important; + } + .mb-xl-3, + .my-xl-3 { + margin-bottom: 1rem !important; + } + .ml-xl-3, + .mx-xl-3 { + margin-left: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .mt-xl-4, + .my-xl-4 { + margin-top: 1.5rem !important; + } + .mr-xl-4, + .mx-xl-4 { + margin-right: 1.5rem !important; + } + .mb-xl-4, + .my-xl-4 { + margin-bottom: 1.5rem !important; + } + .ml-xl-4, + .mx-xl-4 { + margin-left: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .mt-xl-5, + .my-xl-5 { + margin-top: 3rem !important; + } + .mr-xl-5, + .mx-xl-5 { + margin-right: 3rem !important; + } + .mb-xl-5, + .my-xl-5 { + margin-bottom: 3rem !important; + } + .ml-xl-5, + .mx-xl-5 { + margin-left: 3rem !important; + } + .p-xl-0 { + padding: 0 !important; + } + .pt-xl-0, + .py-xl-0 { + padding-top: 0 !important; + } + .pr-xl-0, + .px-xl-0 { + padding-right: 0 !important; + } + .pb-xl-0, + .py-xl-0 { + padding-bottom: 0 !important; + } + .pl-xl-0, + .px-xl-0 { + padding-left: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .pt-xl-1, + .py-xl-1 { + padding-top: 0.25rem !important; + } + .pr-xl-1, + .px-xl-1 { + padding-right: 0.25rem !important; + } + .pb-xl-1, + .py-xl-1 { + padding-bottom: 0.25rem !important; + } + .pl-xl-1, + .px-xl-1 { + padding-left: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .pt-xl-2, + .py-xl-2 { + padding-top: 0.5rem !important; + } + .pr-xl-2, + .px-xl-2 { + padding-right: 0.5rem !important; + } + .pb-xl-2, + .py-xl-2 { + padding-bottom: 0.5rem !important; + } + .pl-xl-2, + .px-xl-2 { + padding-left: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .pt-xl-3, + .py-xl-3 { + padding-top: 1rem !important; + } + .pr-xl-3, + .px-xl-3 { + padding-right: 1rem !important; + } + .pb-xl-3, + .py-xl-3 { + padding-bottom: 1rem !important; + } + .pl-xl-3, + .px-xl-3 { + padding-left: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .pt-xl-4, + .py-xl-4 { + padding-top: 1.5rem !important; + } + .pr-xl-4, + .px-xl-4 { + padding-right: 1.5rem !important; + } + .pb-xl-4, + .py-xl-4 { + padding-bottom: 1.5rem !important; + } + .pl-xl-4, + .px-xl-4 { + padding-left: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .pt-xl-5, + .py-xl-5 { + padding-top: 3rem !important; + } + .pr-xl-5, + .px-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-5, + .py-xl-5 { + padding-bottom: 3rem !important; + } + .pl-xl-5, + .px-xl-5 { + padding-left: 3rem !important; + } + .m-xl-n1 { + margin: -0.25rem !important; + } + .mt-xl-n1, + .my-xl-n1 { + margin-top: -0.25rem !important; + } + .mr-xl-n1, + .mx-xl-n1 { + margin-right: -0.25rem !important; + } + .mb-xl-n1, + .my-xl-n1 { + margin-bottom: -0.25rem !important; + } + .ml-xl-n1, + .mx-xl-n1 { + margin-left: -0.25rem !important; + } + .m-xl-n2 { + margin: -0.5rem !important; + } + .mt-xl-n2, + .my-xl-n2 { + margin-top: -0.5rem !important; + } + .mr-xl-n2, + .mx-xl-n2 { + margin-right: -0.5rem !important; + } + .mb-xl-n2, + .my-xl-n2 { + margin-bottom: -0.5rem !important; + } + .ml-xl-n2, + .mx-xl-n2 { + margin-left: -0.5rem !important; + } + .m-xl-n3 { + margin: -1rem !important; + } + .mt-xl-n3, + .my-xl-n3 { + margin-top: -1rem !important; + } + .mr-xl-n3, + .mx-xl-n3 { + margin-right: -1rem !important; + } + .mb-xl-n3, + .my-xl-n3 { + margin-bottom: -1rem !important; + } + .ml-xl-n3, + .mx-xl-n3 { + margin-left: -1rem !important; + } + .m-xl-n4 { + margin: -1.5rem !important; + } + .mt-xl-n4, + .my-xl-n4 { + margin-top: -1.5rem !important; + } + .mr-xl-n4, + .mx-xl-n4 { + margin-right: -1.5rem !important; + } + .mb-xl-n4, + .my-xl-n4 { + margin-bottom: -1.5rem !important; + } + .ml-xl-n4, + .mx-xl-n4 { + margin-left: -1.5rem !important; + } + .m-xl-n5 { + margin: -3rem !important; + } + .mt-xl-n5, + .my-xl-n5 { + margin-top: -3rem !important; + } + .mr-xl-n5, + .mx-xl-n5 { + margin-right: -3rem !important; + } + .mb-xl-n5, + .my-xl-n5 { + margin-bottom: -3rem !important; + } + .ml-xl-n5, + .mx-xl-n5 { + margin-left: -3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mt-xl-auto, + .my-xl-auto { + margin-top: auto !important; + } + .mr-xl-auto, + .mx-xl-auto { + margin-right: auto !important; + } + .mb-xl-auto, + .my-xl-auto { + margin-bottom: auto !important; + } + .ml-xl-auto, + .mx-xl-auto { + margin-left: auto !important; + } +} + +.text-monospace { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; +} + +.text-justify { + text-align: justify !important; +} + +.text-wrap { + white-space: normal !important; +} + +.text-nowrap { + white-space: nowrap !important; +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.text-left { + text-align: left !important; +} + +.text-right { + text-align: right !important; +} + +.text-center { + text-align: center !important; +} + +@media (min-width: 576px) { + .text-sm-left { + text-align: left !important; + } + .text-sm-right { + text-align: right !important; + } + .text-sm-center { + text-align: center !important; + } +} + +@media (min-width: 768px) { + .text-md-left { + text-align: left !important; + } + .text-md-right { + text-align: right !important; + } + .text-md-center { + text-align: center !important; + } +} + +@media (min-width: 992px) { + .text-lg-left { + text-align: left !important; + } + .text-lg-right { + text-align: right !important; + } + .text-lg-center { + text-align: center !important; + } +} + +@media (min-width: 1200px) { + .text-xl-left { + text-align: left !important; + } + .text-xl-right { + text-align: right !important; + } + .text-xl-center { + text-align: center !important; + } +} + +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.font-weight-light { + font-weight: 300 !important; +} + +.font-weight-lighter { + font-weight: lighter !important; +} + +.font-weight-normal { + font-weight: 400 !important; +} + +.font-weight-bold { + font-weight: 700 !important; +} + +.font-weight-bolder { + font-weight: bolder !important; +} + +.font-italic { + font-style: italic !important; +} + +.text-white { + color: #fff !important; +} + +.text-primary { + color: #007bff !important; +} + +a.text-primary:hover, a.text-primary:focus { + color: #0056b3 !important; +} + +.text-secondary { + color: #6c757d !important; +} + +a.text-secondary:hover, a.text-secondary:focus { + color: #494f54 !important; +} + +.text-success { + color: #28a745 !important; +} + +a.text-success:hover, a.text-success:focus { + color: #19692c !important; +} + +.text-info { + color: #17a2b8 !important; +} + +a.text-info:hover, a.text-info:focus { + color: #0f6674 !important; +} + +.text-warning { + color: #ffc107 !important; +} + +a.text-warning:hover, a.text-warning:focus { + color: #ba8b00 !important; +} + +.text-danger { + color: #dc3545 !important; +} + +a.text-danger:hover, a.text-danger:focus { + color: #a71d2a !important; +} + +.text-light { + color: #f8f9fa !important; +} + +a.text-light:hover, a.text-light:focus { + color: #cbd3da !important; +} + +.text-dark { + color: #343a40 !important; +} + +a.text-dark:hover, a.text-dark:focus { + color: #121416 !important; +} + +.text-body { + color: #212529 !important; +} + +.text-muted { + color: #6c757d !important; +} + +.text-black-50 { + color: rgba(0, 0, 0, 0.5) !important; +} + +.text-white-50 { + color: rgba(255, 255, 255, 0.5) !important; +} + +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +.text-decoration-none { + text-decoration: none !important; +} + +.text-break { + word-break: break-word !important; + overflow-wrap: break-word !important; +} + +.text-reset { + color: inherit !important; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +@media print { + *, + *::before, + *::after { + text-shadow: none !important; + box-shadow: none !important; + } + a:not(.btn) { + text-decoration: underline; + } + abbr[title]::after { + content: " (" attr(title) ")"; + } + pre { + white-space: pre-wrap !important; + } + pre, + blockquote { + border: 1px solid #adb5bd; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + @page { + size: a3; + } + body { + min-width: 992px !important; + } + .container { + min-width: 992px !important; + } + .navbar { + display: none; + } + .badge { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #dee2e6 !important; + } + .table-dark { + color: inherit; + } + .table-dark th, + .table-dark td, + .table-dark thead th, + .table-dark tbody + tbody { + border-color: #dee2e6; + } + .table .thead-dark th { + color: inherit; + border-color: #dee2e6; + } +} +/*# sourceMappingURL=bootstrap.css.map */ \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap.css.map b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap.css.map new file mode 100644 index 0000000..7eb1581 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap.scss","bootstrap.css","../../scss/_root.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_functions.scss","../../scss/_forms.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_forms.scss","../../scss/mixins/_gradients.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/utilities/_overflow.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_shadows.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_stretched-link.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/_print.scss"],"names":[],"mappings":"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AF7G1B;;AAEA;EEmHE,wBAAwB;AFjH1B;;AEyHA;EACE,aAAa;EACb,0BAA0B;AFtH5B;;AE6HA;EACE,qBAAqB;AF1HvB;;AE6HA;EACE,kBAAkB;EAClB,eAAe;AF1HjB;;AE6HA;EACE,aAAa;AF1Hf;;AAEA;EE8HE,wBAAwB;AF5H1B;;AM/VA;;EAEE,qBHiSuC;EG/RvC,gBHiS+B;EGhS/B,gBHiS+B;AHgEjC;;AM7VA;EFgHM,iBAtCY;AJuRlB;;AMhWA;EF+GM,eAtCY;AJ2RlB;;AMnWA;EF8GM,kBAtCY;AJ+RlB;;AMtWA;EF6GM,iBAtCY;AJmSlB;;AMzWA;EF4GM,kBAtCY;AJuSlB;;AM5WA;EF2GM,eAtCY;AJ2SlB;;AM9WA;EFyGM,kBAtCY;EEjEhB,gBHmS+B;AH8EjC;;AM7WA;EFmGM,eAtCY;EE3DhB,gBHsR+B;EGrR/B,gBH6Q+B;AHmGjC;;AM9WA;EF8FM,iBAtCY;EEtDhB,gBHkR+B;EGjR/B,gBHwQ+B;AHyGjC;;AM/WA;EFyFM,iBAtCY;EEjDhB,gBH8Q+B;EG7Q/B,gBHmQ+B;AH+GjC;;AMhXA;EFoFM,iBAtCY;EE5ChB,gBH0Q+B;EGzQ/B,gBH8P+B;AHqHjC;;AE1VA;EIhBE,gBH0EW;EGzEX,mBHyEW;EGxEX,SAAS;EACT,wCHzCa;AHuZf;;AMtWA;;EFMI,cAAW;EEHb,gBHsN+B;AHmJjC;;AMtWA;;EAEE,cH8PgC;EG7PhC,yBHsQmC;AHmGrC;;AMjWA;EC/EE,eAAe;EACf,gBAAgB;APoblB;;AMjWA;ECpFE,eAAe;EACf,gBAAgB;APyblB;;AMnWA;EACE,qBAAqB;ANsWvB;;AMvWA;EAII,oBHgP+B;AHuHnC;;AM7VA;EFjCI,cAAW;EEmCb,yBAAyB;ANgW3B;;AM5VA;EACE,mBHiBW;ECFP,kBAtCY;AJuXlB;;AM5VA;EACE,cAAc;EF7CZ,cAAW;EE+Cb,cH1GgB;AHyclB;;AMlWA;EAMI,qBAAqB;ANgWzB;;AQndA;ECIE,eAAe;EAGf,YAAY;ATidd;;AQldA;EACE,gBL++BwC;EK9+BxC,sBLRa;EKSb,yBLNgB;EOLd,sBPqOgC;EM/NlC,eAAe;EAGf,YAAY;AT0dd;;AQ5cA;EAEE,qBAAqB;AR8cvB;;AQ3cA;EACE,qBAA0B;EAC1B,cAAc;AR8chB;;AQ3cA;EJkCI,cAAW;EIhCb,cL3BgB;AHyelB;;AWrfA;EPuEI,gBAAW;EOrEb,cRoCe;EQnCf,sBAAsB;AXwfxB;;AWrfE;EACE,cAAc;AXwflB;;AWnfA;EACE,sBRikCuC;ECvgCrC,gBAAW;EOxDb,WRTa;EQUb,yBRDgB;EOXd,qBPuO+B;AH4RnC;;AW3fA;EASI,UAAU;EPkDV,eAAW;EOhDX,gBRoQ6B;AHkPjC;;AE7SA;ESlME,cAAc;EPyCZ,gBAAW;EOvCb,cRjBgB;AHogBlB;;AWtfA;EP0CI,kBAAW;EOlCX,cAAc;EACd,kBAAkB;AXmftB;;AW9eA;EACE,iBRwiCuC;EQviCvC,kBAAkB;AXifpB;;AY1hBE;ECAA,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;EACzB,kBAAkB;EAClB,iBAAiB;Ab8hBnB;;Ac3eI;EFvDF;ICYI,gBV8LK;EH6VT;AACF;;AcjfI;EFvDF;ICYI,gBV+LK;EHkWT;AACF;;AcvfI;EFvDF;ICYI,gBVgMK;EHuWT;AACF;;Ac7fI;EFvDF;ICYI,iBViMM;EH4WV;AACF;;AY9iBE;ECZA,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;EACzB,kBAAkB;EAClB,iBAAiB;Ab8jBnB;;AY5iBE;ECJA,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,mBAA0B;EAC1B,kBAAyB;AbojB3B;;AY7iBE;EACE,eAAe;EACf,cAAc;AZgjBlB;;AYljBE;;EAMI,gBAAgB;EAChB,eAAe;AZijBrB;;AellBE;;;;;;EACE,kBAAkB;EAClB,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;Af0lB7B;;AevkBM;EACE,0BAAa;EAAb,aAAa;EACb,oBAAY;EAAZ,YAAY;EACZ,eAAe;Af0kBvB;;AexkBM;EACE,kBAAc;EAAd,cAAc;EACd,WAAW;EACX,eAAe;Af2kBvB;;AevkBQ;EFFN,uBAAsC;EAAtC,mBAAsC;EAItC,oBAAuC;Ab0kBzC;;Ae5kBQ;EFFN,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;Ab+kBzC;;AejlBQ;EFFN,iBAAsC;EAAtC,aAAsC;EAItC,cAAuC;AbolBzC;;AetlBQ;EFFN,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AbylBzC;;Ae3lBQ;EFFN,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;Ab8lBzC;;AehmBQ;EFFN,iBAAsC;EAAtC,aAAsC;EAItC,cAAuC;AbmmBzC;;AermBQ;EFFN,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AbwmBzC;;Ae1mBQ;EFFN,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;Ab6mBzC;;Ae/mBQ;EFFN,iBAAsC;EAAtC,aAAsC;EAItC,cAAuC;AbknBzC;;AepnBQ;EFFN,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AbunBzC;;AeznBQ;EFFN,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;Ab4nBzC;;Ae9nBQ;EFFN,kBAAsC;EAAtC,cAAsC;EAItC,eAAuC;AbioBzC;;Ae9nBM;EAAwB,kBAAS;EAAT,SAAS;AfkoBvC;;AehoBM;EAAuB,kBZ2KG;EY3KH,SZ2KG;AHydhC;;AejoBQ;EAAwB,iBADZ;EACY,QADZ;AfsoBpB;;AeroBQ;EAAwB,iBADZ;EACY,QADZ;Af0oBpB;;AezoBQ;EAAwB,iBADZ;EACY,QADZ;Af8oBpB;;Ae7oBQ;EAAwB,iBADZ;EACY,QADZ;AfkpBpB;;AejpBQ;EAAwB,iBADZ;EACY,QADZ;AfspBpB;;AerpBQ;EAAwB,iBADZ;EACY,QADZ;Af0pBpB;;AezpBQ;EAAwB,iBADZ;EACY,QADZ;Af8pBpB;;Ae7pBQ;EAAwB,iBADZ;EACY,QADZ;AfkqBpB;;AejqBQ;EAAwB,iBADZ;EACY,QADZ;AfsqBpB;;AerqBQ;EAAwB,iBADZ;EACY,QADZ;Af0qBpB;;AezqBQ;EAAwB,kBADZ;EACY,SADZ;Af8qBpB;;Ae7qBQ;EAAwB,kBADZ;EACY,SADZ;AfkrBpB;;AejrBQ;EAAwB,kBADZ;EACY,SADZ;AfsrBpB;;Ae/qBU;EFTR,sBAA8C;Ab4rBhD;;AenrBU;EFTR,uBAA8C;AbgsBhD;;AevrBU;EFTR,gBAA8C;AbosBhD;;Ae3rBU;EFTR,uBAA8C;AbwsBhD;;Ae/rBU;EFTR,uBAA8C;Ab4sBhD;;AensBU;EFTR,gBAA8C;AbgtBhD;;AevsBU;EFTR,uBAA8C;AbotBhD;;Ae3sBU;EFTR,uBAA8C;AbwtBhD;;Ae/sBU;EFTR,gBAA8C;Ab4tBhD;;AentBU;EFTR,uBAA8C;AbguBhD;;AevtBU;EFTR,uBAA8C;AbouBhD;;AcztBI;EC9BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,eAAe;Ef2vBrB;EezvBI;IACE,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;Ef2vBrB;EevvBM;IFFN,uBAAsC;IAAtC,mBAAsC;IAItC,oBAAuC;EbyvBvC;Ee3vBM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb6vBvC;Ee/vBM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EbiwBvC;EenwBM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbqwBvC;EevwBM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbywBvC;Ee3wBM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;Eb6wBvC;Ee/wBM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbixBvC;EenxBM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbqxBvC;EevxBM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EbyxBvC;Ee3xBM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb6xBvC;Ee/xBM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbiyBvC;EenyBM;IFFN,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;EbqyBvC;EelyBI;IAAwB,kBAAS;IAAT,SAAS;EfqyBrC;EenyBI;IAAuB,kBZ2KG;IY3KH,SZ2KG;EH2nB9B;EenyBM;IAAwB,iBADZ;IACY,QADZ;EfuyBlB;EetyBM;IAAwB,iBADZ;IACY,QADZ;Ef0yBlB;EezyBM;IAAwB,iBADZ;IACY,QADZ;Ef6yBlB;Ee5yBM;IAAwB,iBADZ;IACY,QADZ;EfgzBlB;Ee/yBM;IAAwB,iBADZ;IACY,QADZ;EfmzBlB;EelzBM;IAAwB,iBADZ;IACY,QADZ;EfszBlB;EerzBM;IAAwB,iBADZ;IACY,QADZ;EfyzBlB;EexzBM;IAAwB,iBADZ;IACY,QADZ;Ef4zBlB;Ee3zBM;IAAwB,iBADZ;IACY,QADZ;Ef+zBlB;Ee9zBM;IAAwB,iBADZ;IACY,QADZ;Efk0BlB;Eej0BM;IAAwB,kBADZ;IACY,SADZ;Efq0BlB;Eep0BM;IAAwB,kBADZ;IACY,SADZ;Efw0BlB;Eev0BM;IAAwB,kBADZ;IACY,SADZ;Ef20BlB;Eep0BQ;IFTR,cAA4B;Ebg1B5B;Eev0BQ;IFTR,sBAA8C;Ebm1B9C;Ee10BQ;IFTR,uBAA8C;Ebs1B9C;Ee70BQ;IFTR,gBAA8C;Eby1B9C;Eeh1BQ;IFTR,uBAA8C;Eb41B9C;Een1BQ;IFTR,uBAA8C;Eb+1B9C;Eet1BQ;IFTR,gBAA8C;Ebk2B9C;Eez1BQ;IFTR,uBAA8C;Ebq2B9C;Ee51BQ;IFTR,uBAA8C;Ebw2B9C;Ee/1BQ;IFTR,gBAA8C;Eb22B9C;Eel2BQ;IFTR,uBAA8C;Eb82B9C;Eer2BQ;IFTR,uBAA8C;Ebi3B9C;AACF;;Acv2BI;EC9BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,eAAe;Efy4BrB;Eev4BI;IACE,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;Efy4BrB;Eer4BM;IFFN,uBAAsC;IAAtC,mBAAsC;IAItC,oBAAuC;Ebu4BvC;Eez4BM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb24BvC;Ee74BM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;Eb+4BvC;Eej5BM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Ebm5BvC;Eer5BM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Ebu5BvC;Eez5BM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;Eb25BvC;Ee75BM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb+5BvC;Eej6BM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Ebm6BvC;Eer6BM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;Ebu6BvC;Eez6BM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb26BvC;Ee76BM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb+6BvC;Eej7BM;IFFN,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;Ebm7BvC;Eeh7BI;IAAwB,kBAAS;IAAT,SAAS;Efm7BrC;Eej7BI;IAAuB,kBZ2KG;IY3KH,SZ2KG;EHywB9B;Eej7BM;IAAwB,iBADZ;IACY,QADZ;Efq7BlB;Eep7BM;IAAwB,iBADZ;IACY,QADZ;Efw7BlB;Eev7BM;IAAwB,iBADZ;IACY,QADZ;Ef27BlB;Ee17BM;IAAwB,iBADZ;IACY,QADZ;Ef87BlB;Ee77BM;IAAwB,iBADZ;IACY,QADZ;Efi8BlB;Eeh8BM;IAAwB,iBADZ;IACY,QADZ;Efo8BlB;Een8BM;IAAwB,iBADZ;IACY,QADZ;Efu8BlB;Eet8BM;IAAwB,iBADZ;IACY,QADZ;Ef08BlB;Eez8BM;IAAwB,iBADZ;IACY,QADZ;Ef68BlB;Ee58BM;IAAwB,iBADZ;IACY,QADZ;Efg9BlB;Ee/8BM;IAAwB,kBADZ;IACY,SADZ;Efm9BlB;Eel9BM;IAAwB,kBADZ;IACY,SADZ;Efs9BlB;Eer9BM;IAAwB,kBADZ;IACY,SADZ;Efy9BlB;Eel9BQ;IFTR,cAA4B;Eb89B5B;Eer9BQ;IFTR,sBAA8C;Ebi+B9C;Eex9BQ;IFTR,uBAA8C;Ebo+B9C;Ee39BQ;IFTR,gBAA8C;Ebu+B9C;Ee99BQ;IFTR,uBAA8C;Eb0+B9C;Eej+BQ;IFTR,uBAA8C;Eb6+B9C;Eep+BQ;IFTR,gBAA8C;Ebg/B9C;Eev+BQ;IFTR,uBAA8C;Ebm/B9C;Ee1+BQ;IFTR,uBAA8C;Ebs/B9C;Ee7+BQ;IFTR,gBAA8C;Eby/B9C;Eeh/BQ;IFTR,uBAA8C;Eb4/B9C;Een/BQ;IFTR,uBAA8C;Eb+/B9C;AACF;;Acr/BI;EC9BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,eAAe;EfuhCrB;EerhCI;IACE,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;EfuhCrB;EenhCM;IFFN,uBAAsC;IAAtC,mBAAsC;IAItC,oBAAuC;EbqhCvC;EevhCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbyhCvC;Ee3hCM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;Eb6hCvC;Ee/hCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbiiCvC;EeniCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbqiCvC;EeviCM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EbyiCvC;Ee3iCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb6iCvC;Ee/iCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbijCvC;EenjCM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EbqjCvC;EevjCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbyjCvC;Ee3jCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb6jCvC;Ee/jCM;IFFN,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;EbikCvC;Ee9jCI;IAAwB,kBAAS;IAAT,SAAS;EfikCrC;Ee/jCI;IAAuB,kBZ2KG;IY3KH,SZ2KG;EHu5B9B;Ee/jCM;IAAwB,iBADZ;IACY,QADZ;EfmkClB;EelkCM;IAAwB,iBADZ;IACY,QADZ;EfskClB;EerkCM;IAAwB,iBADZ;IACY,QADZ;EfykClB;EexkCM;IAAwB,iBADZ;IACY,QADZ;Ef4kClB;Ee3kCM;IAAwB,iBADZ;IACY,QADZ;Ef+kClB;Ee9kCM;IAAwB,iBADZ;IACY,QADZ;EfklClB;EejlCM;IAAwB,iBADZ;IACY,QADZ;EfqlClB;EeplCM;IAAwB,iBADZ;IACY,QADZ;EfwlClB;EevlCM;IAAwB,iBADZ;IACY,QADZ;Ef2lClB;Ee1lCM;IAAwB,iBADZ;IACY,QADZ;Ef8lClB;Ee7lCM;IAAwB,kBADZ;IACY,SADZ;EfimClB;EehmCM;IAAwB,kBADZ;IACY,SADZ;EfomClB;EenmCM;IAAwB,kBADZ;IACY,SADZ;EfumClB;EehmCQ;IFTR,cAA4B;Eb4mC5B;EenmCQ;IFTR,sBAA8C;Eb+mC9C;EetmCQ;IFTR,uBAA8C;EbknC9C;EezmCQ;IFTR,gBAA8C;EbqnC9C;Ee5mCQ;IFTR,uBAA8C;EbwnC9C;Ee/mCQ;IFTR,uBAA8C;Eb2nC9C;EelnCQ;IFTR,gBAA8C;Eb8nC9C;EernCQ;IFTR,uBAA8C;EbioC9C;EexnCQ;IFTR,uBAA8C;EbooC9C;Ee3nCQ;IFTR,gBAA8C;EbuoC9C;Ee9nCQ;IFTR,uBAA8C;Eb0oC9C;EejoCQ;IFTR,uBAA8C;Eb6oC9C;AACF;;AcnoCI;EC9BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,eAAe;EfqqCrB;EenqCI;IACE,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;EfqqCrB;EejqCM;IFFN,uBAAsC;IAAtC,mBAAsC;IAItC,oBAAuC;EbmqCvC;EerqCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbuqCvC;EezqCM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;Eb2qCvC;Ee7qCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb+qCvC;EejrCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbmrCvC;EerrCM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EburCvC;EezrCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb2rCvC;Ee7rCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb+rCvC;EejsCM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EbmsCvC;EersCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbusCvC;EezsCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb2sCvC;Ee7sCM;IFFN,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;Eb+sCvC;Ee5sCI;IAAwB,kBAAS;IAAT,SAAS;Ef+sCrC;Ee7sCI;IAAuB,kBZ2KG;IY3KH,SZ2KG;EHqiC9B;Ee7sCM;IAAwB,iBADZ;IACY,QADZ;EfitClB;EehtCM;IAAwB,iBADZ;IACY,QADZ;EfotClB;EentCM;IAAwB,iBADZ;IACY,QADZ;EfutClB;EettCM;IAAwB,iBADZ;IACY,QADZ;Ef0tClB;EeztCM;IAAwB,iBADZ;IACY,QADZ;Ef6tClB;Ee5tCM;IAAwB,iBADZ;IACY,QADZ;EfguClB;Ee/tCM;IAAwB,iBADZ;IACY,QADZ;EfmuClB;EeluCM;IAAwB,iBADZ;IACY,QADZ;EfsuClB;EeruCM;IAAwB,iBADZ;IACY,QADZ;EfyuClB;EexuCM;IAAwB,iBADZ;IACY,QADZ;Ef4uClB;Ee3uCM;IAAwB,kBADZ;IACY,SADZ;Ef+uClB;Ee9uCM;IAAwB,kBADZ;IACY,SADZ;EfkvClB;EejvCM;IAAwB,kBADZ;IACY,SADZ;EfqvClB;Ee9uCQ;IFTR,cAA4B;Eb0vC5B;EejvCQ;IFTR,sBAA8C;Eb6vC9C;EepvCQ;IFTR,uBAA8C;EbgwC9C;EevvCQ;IFTR,gBAA8C;EbmwC9C;Ee1vCQ;IFTR,uBAA8C;EbswC9C;Ee7vCQ;IFTR,uBAA8C;EbywC9C;EehwCQ;IFTR,gBAA8C;Eb4wC9C;EenwCQ;IFTR,uBAA8C;Eb+wC9C;EetwCQ;IFTR,uBAA8C;EbkxC9C;EezwCQ;IFTR,gBAA8C;EbqxC9C;Ee5wCQ;IFTR,uBAA8C;EbwxC9C;Ee/wCQ;IFTR,uBAA8C;Eb2xC9C;AACF;;AgBz0CA;EACE,WAAW;EACX,mBb2HW;Ea1HX,cbSgB;AHm0ClB;;AgB/0CA;;EAQI,gBb8UgC;Ea7UhC,mBAAmB;EACnB,6BbJc;AHg1ClB;;AgBt1CA;EAcI,sBAAsB;EACtB,gCbTc;AHq1ClB;;AgB31CA;EAmBI,6Bbbc;AHy1ClB;;AgBn0CA;;EAGI,ebwT+B;AH6gCnC;;AgB5zCA;EACE,yBbnCgB;AHk2ClB;;AgBh0CA;;EAKI,yBbvCc;AHu2ClB;;AgBr0CA;;EAWM,wBAA4C;AhB+zClD;;AgB1zCA;;;;EAKI,SAAS;AhB4zCb;;AgBpzCA;EAEI,qCb1DW;AHg3Cf;;AKr3CE;EW2EI,cbvEY;EawEZ,sCbvES;AHq3Cf;;AiBj4CE;;;EAII,yBC2E4D;AlBwzClE;;AiBv4CE;;;;EAYM,qBCmE0D;AlB+zClE;;AKv4CE;EYiBM,yBAJsC;AjB83C9C;;AiB/3CE;;EASQ,yBARoC;AjBm4C9C;;AiBv5CE;;;EAII,yBC2E4D;AlB80ClE;;AiB75CE;;;;EAYM,qBCmE0D;AlBq1ClE;;AK75CE;EYiBM,yBAJsC;AjBo5C9C;;AiBr5CE;;EASQ,yBARoC;AjBy5C9C;;AiB76CE;;;EAII,yBC2E4D;AlBo2ClE;;AiBn7CE;;;;EAYM,qBCmE0D;AlB22ClE;;AKn7CE;EYiBM,yBAJsC;AjB06C9C;;AiB36CE;;EASQ,yBARoC;AjB+6C9C;;AiBn8CE;;;EAII,yBC2E4D;AlB03ClE;;AiBz8CE;;;;EAYM,qBCmE0D;AlBi4ClE;;AKz8CE;EYiBM,yBAJsC;AjBg8C9C;;AiBj8CE;;EASQ,yBARoC;AjBq8C9C;;AiBz9CE;;;EAII,yBC2E4D;AlBg5ClE;;AiB/9CE;;;;EAYM,qBCmE0D;AlBu5ClE;;AK/9CE;EYiBM,yBAJsC;AjBs9C9C;;AiBv9CE;;EASQ,yBARoC;AjB29C9C;;AiB/+CE;;;EAII,yBC2E4D;AlBs6ClE;;AiBr/CE;;;;EAYM,qBCmE0D;AlB66ClE;;AKr/CE;EYiBM,yBAJsC;AjB4+C9C;;AiB7+CE;;EASQ,yBARoC;AjBi/C9C;;AiBrgDE;;;EAII,yBC2E4D;AlB47ClE;;AiB3gDE;;;;EAYM,qBCmE0D;AlBm8ClE;;AK3gDE;EYiBM,yBAJsC;AjBkgD9C;;AiBngDE;;EASQ,yBARoC;AjBugD9C;;AiB3hDE;;;EAII,yBC2E4D;AlBk9ClE;;AiBjiDE;;;;EAYM,qBCmE0D;AlBy9ClE;;AKjiDE;EYiBM,yBAJsC;AjBwhD9C;;AiBzhDE;;EASQ,yBARoC;AjB6hD9C;;AiBjjDE;;;EAII,sCdQS;AH2iDf;;AKhjDE;EYiBM,sCAJsC;AjBuiD9C;;AiBxiDE;;EASQ,sCARoC;AjB4iD9C;;AgBt9CA;EAGM,Wb3GS;Ea4GT,yBbpGY;EaqGZ,qBb2PqD;AH4tC3D;;AgB59CA;EAWM,cb5GY;Ea6GZ,yBblHY;EamHZ,qBblHY;AHukDlB;;AgBh9CA;EACE,Wb3Ha;Ea4Hb,yBbpHgB;AHukDlB;;AgBr9CA;;;EAOI,qBbuOuD;AH6uC3D;;AgB39CA;EAWI,SAAS;AhBo9Cb;;AgB/9CA;EAgBM,2Cb1IS;AH6lDf;;AKxlDE;EW4IM,WbjJO;EakJP,4CblJO;AHkmDf;;AchiDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhBk8CvC;EgBv8CG;IASK,SAAS;EhBi8CjB;AACF;;Ac5iDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhB88CvC;EgBn9CG;IASK,SAAS;EhB68CjB;AACF;;AcxjDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhB09CvC;EgB/9CG;IASK,SAAS;EhBy9CjB;AACF;;AcpkDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhBs+CvC;EgB3+CG;IASK,SAAS;EhBq+CjB;AACF;;AgBp/CA;EAOQ,cAAc;EACd,WAAW;EACX,gBAAgB;EAChB,iCAAiC;AhBi/CzC;;AgB3/CA;EAcU,SAAS;AhBi/CnB;;AmB9pDA;EACE,cAAc;EACd,WAAW;EACX,mChBqe2H;EgBpe3H,yBhBqXkC;EChQ9B,eAtCY;Ee5EhB,gBhB8Q+B;EgB7Q/B,gBhBkR+B;EgBjR/B,chBDgB;EgBEhB,sBhBTa;EgBUb,4BAA4B;EAC5B,yBhBPgB;EONd,sBPqOgC;EiBpO9B,wEjB4e4F;AHksClG;;AoBzqDI;EDLJ;ICMM,gBAAgB;EpB6qDpB;AACF;;AmBprDA;EAsBI,6BAA6B;EAC7B,SAAS;AnBkqDb;;AqBlrDE;EACE,clBAc;EkBCd,sBlBRW;EkBSX,qBlBgdsE;EkB/ctE,UAAU;EAKR,gDlBcW;AHmqDjB;;AmBjsDA;EA+BI,chBxBc;EgB0Bd,UAAU;AnBqqDd;;AmBtsDA;EA+BI,chBxBc;EgB0Bd,UAAU;AnBqqDd;;AmBtsDA;EA+BI,chBxBc;EgB0Bd,UAAU;AnBqqDd;;AmBtsDA;EA+BI,chBxBc;EgB0Bd,UAAU;AnBqqDd;;AmBtsDA;EA+BI,chBxBc;EgB0Bd,UAAU;AnBqqDd;;AmBtsDA;EA2CI,yBhBxCc;EgB0Cd,UAAU;AnB8pDd;;AmB1pDA;EAOI,chBhDc;EgBiDd,sBhBxDW;AH+sDf;;AmBlpDA;;EAEE,cAAc;EACd,WAAW;AnBqpDb;;AmB3oDA;EACE,iCAA+D;EAC/D,oCAAkE;EAClE,gBAAgB;EfZd,kBAAW;Eecb,gBhB0M+B;AHo8CjC;;AmB3oDA;EACE,+BAAkE;EAClE,kCAAqE;EfoCjE,kBAtCY;EeIhB,gBhBuI+B;AHugDjC;;AmB3oDA;EACE,gCAAkE;EAClE,mCAAqE;Ef6BjE,mBAtCY;EeWhB,gBhBiI+B;AH6gDjC;;AmBroDA;EACE,cAAc;EACd,WAAW;EACX,qBhB8QmC;EgB7QnC,wBhB6QmC;EgB5QnC,gBAAgB;EAChB,gBhB6K+B;EgB5K/B,chBpGgB;EgBqGhB,6BAA6B;EAC7B,yBAAyB;EACzB,mBAAmC;AnBwoDrC;;AmBlpDA;EAcI,gBAAgB;EAChB,eAAe;AnBwoDnB;;AmB5nDA;EACE,kChBsWqI;EgBrWrI,uBhB+PiC;EC1Q7B,mBAtCY;EemDhB,gBhByF+B;EOhO7B,qBPuO+B;AHgiDnC;;AmB5nDA;EACE,gChB+VqI;EgB9VrI,oBhB4PgC;EC/Q5B,kBAtCY;Ee2DhB,gBhBgF+B;EO/N7B,qBPsO+B;AHyiDnC;;AmB3nDA;EAGI,YAAY;AnB4nDhB;;AmBxnDA;EACE,YAAY;AnB2nDd;;AmBnnDA;EACE,mBhBoV0C;AHkyC5C;;AmBnnDA;EACE,cAAc;EACd,mBhBqU4C;AHizC9C;;AmB9mDA;EACE,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,kBAA0C;EAC1C,iBAAyC;AnBinD3C;;AmBrnDA;;EAQI,kBAA0C;EAC1C,iBAAyC;AnBknD7C;;AmBzmDA;EACE,kBAAkB;EAClB,cAAc;EACd,qBhB0S6C;AHk0C/C;;AmBzmDA;EACE,kBAAkB;EAClB,kBhBsS2C;EgBrS3C,qBhBoS6C;AHw0C/C;;AmB/mDA;EAMI,chBxMc;AHqzDlB;;AmBzmDA;EACE,gBAAgB;AnB4mDlB;;AmBzmDA;EACE,2BAAoB;EAApB,oBAAoB;EACpB,sBAAmB;EAAnB,mBAAmB;EACnB,eAAe;EACf,qBhByR4C;AHm1C9C;;AmBhnDA;EAQI,gBAAgB;EAChB,aAAa;EACb,uBhBoR4C;EgBnR5C,cAAc;AnB4mDlB;;AqBvzDE;EACE,aAAa;EACb,WAAW;EACX,mBlBod0C;EC5a1C,cAAW;EiBtCX,clBSa;AHizDjB;;AqBvzDE;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBlBsyBqC;EkBryBrC,iBAAiB;EjBmFf,mBAtCY;EiB3Cd,gBlBkP6B;EkBjP7B,WlBxCW;EkByCX,wClBLa;EOtCb,sBPqOgC;AHioDpC;;AqBtzDI;EAEE,qBlBZW;EkBeT,oClBgb2F;EkB/a3F,4PHfmI;EGgBnI,4BAA4B;EAC5B,2DlB+a6F;EkB9a7F,gElB6awF;AHy4ChG;;AqB/zDI;EAaI,qBlBvBS;EkBwBT,gDlBxBS;AH80DjB;;AqBp0DI;;;EAmBI,cAAc;ArBuzDtB;;AqBhzDI;EAGI,oClBwZ2F;EkBvZ3F,kFlByZ6F;AHw5CrG;;AqB3yDI;EAEE,qBlBhDW;EkBmDT,sDlBqe0J;EkBpe1J,6gBAAkJ;ArB2yD1J;;AqBjzDI;EAUI,qBlBxDS;EkByDT,gDlBzDS;AHo2DjB;;AqBtzDI;;;EAgBI,cAAc;ArB4yDtB;;AqBryDI;;;EAII,cAAc;ArBuyDtB;;AqBjyDI;EAGI,clBlFS;AHo3DjB;;AqBryDI;;;EAQI,cAAc;ArBmyDtB;;AqB7xDI;EAGI,clBhGS;AH83DjB;;AqBjyDI;EAMM,qBlBnGO;AHk4DjB;;AqBryDI;;;EAYI,cAAc;ArB+xDtB;;AqB3yDI;EAiBM,qBAAkC;ECnJxC,yBDoJ+C;ArB8xDnD;;AqBhzDI;EAwBM,gDlBrHO;AHi5DjB;;AqBpzDI;EA4BM,qBlBzHO;AHq5DjB;;AqBpxDI;EAGI,qBlBpIS;AHy5DjB;;AqBxxDI;;;EAQI,cAAc;ArBsxDtB;;AqB9xDI;EAaM,qBlB9IO;EkB+IP,gDlB/IO;AHo6DjB;;AqBl7DE;EACE,aAAa;EACb,WAAW;EACX,mBlBod0C;EC5a1C,cAAW;EiBtCX,clBMa;AH+6DjB;;AqBl7DE;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBlBsyBqC;EkBryBrC,iBAAiB;EjBmFf,mBAtCY;EiB3Cd,gBlBkP6B;EkBjP7B,WlBxCW;EkByCX,wClBRa;EOnCb,sBPqOgC;AH4vDpC;;AqBj7DI;EAEE,qBlBfW;EkBkBT,oClBgb2F;EkB/a3F,sSHfmI;EGgBnI,4BAA4B;EAC5B,2DlB+a6F;EkB9a7F,gElB6awF;AHogDhG;;AqB17DI;EAaI,qBlB1BS;EkB2BT,gDlB3BS;AH48DjB;;AqB/7DI;;;EAmBI,cAAc;ArBk7DtB;;AqB36DI;EAGI,oClBwZ2F;EkBvZ3F,kFlByZ6F;AHmhDrG;;AqBt6DI;EAEE,qBlBnDW;EkBsDT,sDlBqe0J;EkBpe1J,ujBAAkJ;ArBs6D1J;;AqB56DI;EAUI,qBlB3DS;EkB4DT,gDlB5DS;AHk+DjB;;AqBj7DI;;;EAgBI,cAAc;ArBu6DtB;;AqBh6DI;;;EAII,cAAc;ArBk6DtB;;AqB55DI;EAGI,clBrFS;AHk/DjB;;AqBh6DI;;;EAQI,cAAc;ArB85DtB;;AqBx5DI;EAGI,clBnGS;AH4/DjB;;AqB55DI;EAMM,qBlBtGO;AHggEjB;;AqBh6DI;;;EAYI,cAAc;ArB05DtB;;AqBt6DI;EAiBM,qBAAkC;ECnJxC,yBDoJ+C;ArBy5DnD;;AqB36DI;EAwBM,gDlBxHO;AH+gEjB;;AqB/6DI;EA4BM,qBlB5HO;AHmhEjB;;AqB/4DI;EAGI,qBlBvIS;AHuhEjB;;AqBn5DI;;;EAQI,cAAc;ArBi5DtB;;AqBz5DI;EAaM,qBlBjJO;EkBkJP,gDlBlJO;AHkiEjB;;AmBz0DA;EACE,oBAAa;EAAb,aAAa;EACb,uBAAmB;EAAnB,mBAAmB;EACnB,sBAAmB;EAAnB,mBAAmB;AnB40DrB;;AmB/0DA;EASI,WAAW;AnB00Df;;AcxhEI;EKqMJ;IAeM,oBAAa;IAAb,aAAa;IACb,sBAAmB;IAAnB,mBAAmB;IACnB,qBAAuB;IAAvB,uBAAuB;IACvB,gBAAgB;EnBy0DpB;EmB31DF;IAuBM,oBAAa;IAAb,aAAa;IACb,kBAAc;IAAd,cAAc;IACd,uBAAmB;IAAnB,mBAAmB;IACnB,sBAAmB;IAAnB,mBAAmB;IACnB,gBAAgB;EnBu0DpB;EmBl2DF;IAgCM,qBAAqB;IACrB,WAAW;IACX,sBAAsB;EnBq0D1B;EmBv2DF;IAuCM,qBAAqB;EnBm0DzB;EmB12DF;;IA4CM,WAAW;EnBk0Df;EmB92DF;IAkDM,oBAAa;IAAb,aAAa;IACb,sBAAmB;IAAnB,mBAAmB;IACnB,qBAAuB;IAAvB,uBAAuB;IACvB,WAAW;IACX,eAAe;EnB+zDnB;EmBr3DF;IAyDM,kBAAkB;IAClB,oBAAc;IAAd,cAAc;IACd,aAAa;IACb,qBhB2LwC;IgB1LxC,cAAc;EnB+zDlB;EmB53DF;IAiEM,sBAAmB;IAAnB,mBAAmB;IACnB,qBAAuB;IAAvB,uBAAuB;EnB8zD3B;EmBh4DF;IAqEM,gBAAgB;EnB8zDpB;AACF;;AuB/nEA;EACE,qBAAqB;EAErB,gBpBkR+B;EoBjR/B,cpBMgB;EoBLhB,kBAAkB;EAClB,sBAAsB;EACtB,yBAAiB;EAAjB,sBAAiB;EAAjB,qBAAiB;EAAjB,iBAAiB;EACjB,6BAA6B;EAC7B,6BAA2C;ECsF3C,yBrB0RkC;EChQ9B,eAtCY;EoBchB,gBrByL+B;EO3R7B,sBPqOgC;EiBpO9B,qIjBqb6I;AH0tDnJ;;AoB1oEI;EGLJ;IHMM,gBAAgB;EpB8oEpB;AACF;;AK/oEE;EkBQE,cpBJc;EoBKd,qBAAqB;AvB2oEzB;;AuB1pEA;EAoBI,UAAU;EACV,gDpBSa;AHioEjB;;AuB/pEA;EA2BI,apB8Y6B;AH0vDjC;;AuBznEA;;EAEE,oBAAoB;AvB4nEtB;;AuBnnEE;ECrDA,WrBCa;EmBDX,yBnB8Ba;EqB5Bf,qBrB4Be;AHgpEjB;;AKxqEE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBqrE7H;;AwBzqEE;EAMI,gDAAiF;AxBuqEvF;;AwBlqEE;EAEE,WrBvBW;EqBwBX,yBrBKa;EqBJb,qBrBIa;AHgqEjB;;AwB7pEE;;EAGE,WrBnCW;EqBoCX,yBAtCuK;EA0CvK,qBA1C+M;AxBssEnN;;AwB1pEI;;EAKI,gDAAiF;AxB0pEzF;;AuBrpEE;ECrDA,WrBCa;EmBDX,yBnBOc;EqBLhB,qBrBKgB;AHysElB;;AK1sEE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxButE7H;;AwB3sEE;EAMI,iDAAiF;AxBysEvF;;AwBpsEE;EAEE,WrBvBW;EqBwBX,yBrBlBc;EqBmBd,qBrBnBc;AHytElB;;AwB/rEE;;EAGE,WrBnCW;EqBoCX,yBAtCuK;EA0CvK,qBA1C+M;AxBwuEnN;;AwB5rEI;;EAKI,iDAAiF;AxB4rEzF;;AuBvrEE;ECrDA,WrBCa;EmBDX,yBnBqCa;EqBnCf,qBrBmCe;AH6sEjB;;AK5uEE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxByvE7H;;AwB7uEE;EAMI,+CAAiF;AxB2uEvF;;AwBtuEE;EAEE,WrBvBW;EqBwBX,yBrBYa;EqBXb,qBrBWa;AH6tEjB;;AwBjuEE;;EAGE,WrBnCW;EqBoCX,yBAtCuK;EA0CvK,qBA1C+M;AxB0wEnN;;AwB9tEI;;EAKI,+CAAiF;AxB8tEzF;;AuBztEE;ECrDA,WrBCa;EmBDX,yBnBuCa;EqBrCf,qBrBqCe;AH6uEjB;;AK9wEE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxB2xE7H;;AwB/wEE;EAMI,gDAAiF;AxB6wEvF;;AwBxwEE;EAEE,WrBvBW;EqBwBX,yBrBca;EqBbb,qBrBaa;AH6vEjB;;AwBnwEE;;EAGE,WrBnCW;EqBoCX,yBAtCuK;EA0CvK,qBA1C+M;AxB4yEnN;;AwBhwEI;;EAKI,gDAAiF;AxBgwEzF;;AuB3vEE;ECrDA,crBUgB;EmBVd,yBnBoCa;EqBlCf,qBrBkCe;AHkxEjB;;AKhzEE;EmBAE,crBIc;EmBVd,yBEDoF;EASpF,qBATyH;AxB6zE7H;;AwBjzEE;EAMI,gDAAiF;AxB+yEvF;;AwB1yEE;EAEE,crBdc;EqBed,yBrBWa;EqBVb,qBrBUa;AHkyEjB;;AwBryEE;;EAGE,crB1Bc;EqB2Bd,yBAtCuK;EA0CvK,qBA1C+M;AxB80EnN;;AwBlyEI;;EAKI,gDAAiF;AxBkyEzF;;AuB7xEE;ECrDA,WrBCa;EmBDX,yBnBkCa;EqBhCf,qBrBgCe;AHszEjB;;AKl1EE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxB+1E7H;;AwBn1EE;EAMI,+CAAiF;AxBi1EvF;;AwB50EE;EAEE,WrBvBW;EqBwBX,yBrBSa;EqBRb,qBrBQa;AHs0EjB;;AwBv0EE;;EAGE,WrBnCW;EqBoCX,yBAtCuK;EA0CvK,qBA1C+M;AxBg3EnN;;AwBp0EI;;EAKI,+CAAiF;AxBo0EzF;;AuB/zEE;ECrDA,crBUgB;EmBVd,yBnBEc;EqBAhB,qBrBAgB;AHw3ElB;;AKp3EE;EmBAE,crBIc;EmBVd,yBEDoF;EASpF,qBATyH;AxBi4E7H;;AwBr3EE;EAMI,iDAAiF;AxBm3EvF;;AwB92EE;EAEE,crBdc;EqBed,yBrBvBc;EqBwBd,qBrBxBc;AHw4ElB;;AwBz2EE;;EAGE,crB1Bc;EqB2Bd,yBAtCuK;EA0CvK,qBA1C+M;AxBk5EnN;;AwBt2EI;;EAKI,iDAAiF;AxBs2EzF;;AuBj2EE;ECrDA,WrBCa;EmBDX,yBnBSc;EqBPhB,qBrBOgB;AHm5ElB;;AKt5EE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBm6E7H;;AwBv5EE;EAMI,8CAAiF;AxBq5EvF;;AwBh5EE;EAEE,WrBvBW;EqBwBX,yBrBhBc;EqBiBd,qBrBjBc;AHm6ElB;;AwB34EE;;EAGE,WrBnCW;EqBoCX,yBAtCuK;EA0CvK,qBA1C+M;AxBo7EnN;;AwBx4EI;;EAKI,8CAAiF;AxBw4EzF;;AuB73EE;ECJA,crBzBe;EqB0Bf,qBrB1Be;AH+5EjB;;AKv7EE;EmBqDE,WrB1DW;EqB2DX,yBrB9Ba;EqB+Bb,qBrB/Ba;AHq6EjB;;AwBn4EE;EAEE,+CrBpCa;AHy6EjB;;AwBl4EE;EAEE,crBzCa;EqB0Cb,6BAA6B;AxBo4EjC;;AwBj4EE;;EAGE,WrB7EW;EqB8EX,yBrBjDa;EqBkDb,qBrBlDa;AHq7EjB;;AwBj4EI;;EAKI,+CrBzDS;AH07EjB;;AuB75EE;ECJA,crBhDgB;EqBiDhB,qBrBjDgB;AHs9ElB;;AKv9EE;EmBqDE,WrB1DW;EqB2DX,yBrBrDc;EqBsDd,qBrBtDc;AH49ElB;;AwBn6EE;EAEE,iDrB3Dc;AHg+ElB;;AwBl6EE;EAEE,crBhEc;EqBiEd,6BAA6B;AxBo6EjC;;AwBj6EE;;EAGE,WrB7EW;EqB8EX,yBrBxEc;EqByEd,qBrBzEc;AH4+ElB;;AwBj6EI;;EAKI,iDrBhFU;AHi/ElB;;AuB77EE;ECJA,crBlBe;EqBmBf,qBrBnBe;AHw9EjB;;AKv/EE;EmBqDE,WrB1DW;EqB2DX,yBrBvBa;EqBwBb,qBrBxBa;AH89EjB;;AwBn8EE;EAEE,+CrB7Ba;AHk+EjB;;AwBl8EE;EAEE,crBlCa;EqBmCb,6BAA6B;AxBo8EjC;;AwBj8EE;;EAGE,WrB7EW;EqB8EX,yBrB1Ca;EqB2Cb,qBrB3Ca;AH8+EjB;;AwBj8EI;;EAKI,+CrBlDS;AHm/EjB;;AuB79EE;ECJA,crBhBe;EqBiBf,qBrBjBe;AHs/EjB;;AKvhFE;EmBqDE,WrB1DW;EqB2DX,yBrBrBa;EqBsBb,qBrBtBa;AH4/EjB;;AwBn+EE;EAEE,gDrB3Ba;AHggFjB;;AwBl+EE;EAEE,crBhCa;EqBiCb,6BAA6B;AxBo+EjC;;AwBj+EE;;EAGE,WrB7EW;EqB8EX,yBrBxCa;EqByCb,qBrBzCa;AH4gFjB;;AwBj+EI;;EAKI,gDrBhDS;AHihFjB;;AuB7/EE;ECJA,crBnBe;EqBoBf,qBrBpBe;AHyhFjB;;AKvjFE;EmBqDE,crBjDc;EqBkDd,yBrBxBa;EqByBb,qBrBzBa;AH+hFjB;;AwBngFE;EAEE,+CrB9Ba;AHmiFjB;;AwBlgFE;EAEE,crBnCa;EqBoCb,6BAA6B;AxBogFjC;;AwBjgFE;;EAGE,crBpEc;EqBqEd,yBrB3Ca;EqB4Cb,qBrB5Ca;AH+iFjB;;AwBjgFI;;EAKI,+CrBnDS;AHojFjB;;AuB7hFE;ECJA,crBrBe;EqBsBf,qBrBtBe;AH2jFjB;;AKvlFE;EmBqDE,WrB1DW;EqB2DX,yBrB1Ba;EqB2Bb,qBrB3Ba;AHikFjB;;AwBniFE;EAEE,+CrBhCa;AHqkFjB;;AwBliFE;EAEE,crBrCa;EqBsCb,6BAA6B;AxBoiFjC;;AwBjiFE;;EAGE,WrB7EW;EqB8EX,yBrB7Ca;EqB8Cb,qBrB9Ca;AHilFjB;;AwBjiFI;;EAKI,+CrBrDS;AHslFjB;;AuB7jFE;ECJA,crBrDgB;EqBsDhB,qBrBtDgB;AH2nFlB;;AKvnFE;EmBqDE,crBjDc;EqBkDd,yBrB1Dc;EqB2Dd,qBrB3Dc;AHioFlB;;AwBnkFE;EAEE,iDrBhEc;AHqoFlB;;AwBlkFE;EAEE,crBrEc;EqBsEd,6BAA6B;AxBokFjC;;AwBjkFE;;EAGE,crBpEc;EqBqEd,yBrB7Ec;EqB8Ed,qBrB9Ec;AHipFlB;;AwBjkFI;;EAKI,iDrBrFU;AHspFlB;;AuB7lFE;ECJA,crB9CgB;EqB+ChB,qBrB/CgB;AHopFlB;;AKvpFE;EmBqDE,WrB1DW;EqB2DX,yBrBnDc;EqBoDd,qBrBpDc;AH0pFlB;;AwBnmFE;EAEE,8CrBzDc;AH8pFlB;;AwBlmFE;EAEE,crB9Dc;EqB+Dd,6BAA6B;AxBomFjC;;AwBjmFE;;EAGE,WrB7EW;EqB8EX,yBrBtEc;EqBuEd,qBrBvEc;AH0qFlB;;AwBjmFI;;EAKI,8CrB9EU;AH+qFlB;;AuBlnFA;EACE,gBpB8M+B;EoB7M/B,cpB1Ce;EoB2Cf,qBpB6F4C;AHwhF9C;;AKxrFE;EkBsEE,cpB2F8D;EoB1F9D,0BpB2F+C;AH2hFnD;;AuB7nFA;EAYI,0BpBsF+C;EoBrF/C,gBAAgB;AvBqnFpB;;AuBloFA;EAkBI,cpBjFc;EoBkFd,oBAAoB;AvBonFxB;;AuBzmFA;ECLE,oBrBySgC;EC/Q5B,kBAtCY;EoBchB,gBrB6H+B;EO/N7B,qBPsO+B;AH++EnC;;AuB5mFA;ECTE,uBrBoSiC;EC1Q7B,mBAtCY;EoBchB,gBrB8H+B;EOhO7B,qBPuO+B;AHq/EnC;;AuB1mFA;EACE,cAAc;EACd,WAAW;AvB6mFb;;AuB/mFA;EAMI,kBpBuT+B;AHszEnC;;AuBxmFA;;;EAII,WAAW;AvB0mFf;;AyBhvFA;ELMM,gCjBsP2C;AHw/EjD;;AoBzuFI;EKXJ;ILYM,gBAAgB;EpB6uFpB;AACF;;Ay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CT,gBAAgB;A9B0nGpB;;A8B1oGA;;;;;;;;;;;;EAqBM,iB3B4M2B;AHw7FjC;;A8BzpGA;;;EA6BI,UAAU;A9BkoGd;;A8B/pGA;EAkCI,UAAU;A9BioGd;;A8BnqGA;;EpBeI,0BoBwBmD;EpBvBnD,6BoBuBmD;A9BkoGvD;;A8BzqGA;;EpB6BI,yBoBWmD;EpBVnD,4BoBUmD;A9BuoGvD;;A8B/qGA;EA8CI,oBAAa;EAAb,aAAa;EACb,sBAAmB;EAAnB,mBAAmB;A9BqoGvB;;A8BprGA;;EpBeI,0BoBmC6E;EpBlC7E,6BoBkC6E;A9BwoGjF;;A8B1rGA;EpB6BI,yBoBsBsE;EpBrBtE,4BoBqBsE;A9B4oG1E;;A8BjoGA;;EAEE,oBAAa;EAAb,aAAa;A9BooGf;;A8BtoGA;;EAQI,kBAAkB;EAClB,UAAU;A9BmoGd;;A8B5oGA;;EAYM,UAAU;A9BqoGhB;;A8BjpGA;;;;;;;;EAoBI,iB3B+I6B;AHy/FjC;;A8BpoGA;EAAuB,kB3B2IU;AH6/FjC;;A8BvoGA;EAAsB,iB3B0IW;AHigGjC;;A8BnoGA;EACE,oBAAa;EAAb,aAAa;EACb,sBAAmB;EAAnB,mBAAmB;EACnB,yB3BuRkC;E2BtRlC,gBAAgB;E1BsBZ,eAtCY;E0BkBhB,gB3BgL+B;E2B/K/B,gB3BoL+B;E2BnL/B,c3B/FgB;E2BgGhB,kBAAkB;EAClB,mBAAmB;EACnB,yB3BvGgB;E2BwGhB,yB3BtGgB;EONd,sBPqOgC;AH8gGpC;;A8BnpGA;;EAkBI,aAAa;A9BsoGjB;;A8B5nGA;;EAEE,gC3B6WqI;AHkxFvI;;A8B5nGA;;;;;;EAME,oB3BkQgC;EC/Q5B,kBAtCY;E0BqDhB,gB3BsF+B;EO/N7B,qBPsO+B;AHmiGnC;;A8B5nGA;;EAEE,kC3B2VqI;AHoyFvI;;A8B5nGA;;;;;;EAME,uB3B4OiC;EC1Q7B,mBAtCY;E0BsEhB,gB3BsE+B;EOhO7B,qBPuO+B;AHmjGnC;;A8B5nGA;;EAEE,sBAA0E;A9B+nG5E;;A8BpnGA;;;;;;EpB3JI,0BoBiK4B;EpBhK5B,6BoBgK4B;A9BwnGhC;;A8BrnGA;;;;;;EpBtJI,yBoB4J2B;EpB3J3B,4BoB2J2B;A9BynG/B;;A+B/yGA;EACE,kBAAkB;EAClB,cAAc;EACd,kBAA+C;EAC/C,oBAAqE;A/BkzGvE;;A+B/yGA;EACE,2BAAoB;EAApB,oBAAoB;EACpB,kB5Bqf0C;AH6zF5C;;A+B/yGA;EACE,kBAAkB;EAClB,WAAW;EACX,UAAU;A/BkzGZ;;A+BrzGA;EAMI,W5BpBW;E4BqBX,qB5BQa;EmB9Bb,yBnB8Ba;AH4yGjB;;A+B3zGA;EAiBM,gD5BFW;AHgzGjB;;A+B/zGA;EAsBI,qB5BqbsE;AHw3F1E;;A+Bn0GA;EA0BI,W5BxCW;E4ByCX,yB5B8e8E;E4B7e9E,qB5B6e8E;AHg0FlF;;A+Bz0GA;EAkCM,c5B1CY;AHq1GlB;;A+B70GA;EAqCQ,yB5BjDU;AH61GlB;;A+BlyGA;EACE,kBAAkB;EAClB,gBAAgB;EAChB,mBAAmB;A/BqyGrB;;A+BxyGA;EAOI,kBAAkB;EAClB,YAA+E;EAC/E,aAA+D;EAC/D,cAAc;EACd,W5B0bwC;E4BzbxC,Y5BybwC;E4BxbxC,oBAAoB;EACpB,WAAW;EACX,sB5B5EW;E4B6EX,yB5BmJ6B;AHkpGjC;;A+BrzGA;EAsBI,kBAAkB;EAClB,YAA+E;EAC/E,aAA+D;EAC/D,cAAc;EACd,W5B2awC;E4B1axC,Y5B0awC;E4BzaxC,WAAW;EACX,mCAAgE;A/BmyGpE;;A+B1xGA;ErBrGI,sBPqOgC;AH8pGpC;;A+B9xGA;EAOM,6MbrEqI;AlBg2G3I;;A+BlyGA;EAaM,qB5BnFW;EmB9Bb,yBnB8Ba;AH62GjB;;A+BvyGA;EAkBM,0JbhFqI;AlBy2G3I;;A+B3yGA;EAwBM,wC5B9FW;AHq3GjB;;A+B/yGA;EA2BM,wC5BjGW;AHy3GjB;;A+B/wGA;EAGI,kB5B0Z+C;AHs3FnD;;A+BnxGA;EAQM,uJb1GqI;AlBy3G3I;;A+BvxGA;EAcM,wC5BxHW;AHq4GjB;;A+BnwGA;EACE,qBAA2D;A/BswG7D;;A+BvwGA;EAKM,cAAqD;EACrD,c5BkY+E;E4BjY/E,mBAAmB;EAEnB,qB5BgY4E;AHq4FlF;;A+B9wGA;EAaM,wBAA0I;EAC1I,0BAA+G;EAC/G,uB5B2XiI;E4B1XjI,wB5B0XiI;E4BzXjI,yB5B3KY;E4B6KZ,qB5BsX4E;EiBziB5E,iJjB8f+H;EiB9f/H,yIjB8f+H;EiB9f/H,8KjB8f+H;AH07FrI;;AoBn7GI;EW2JJ;IX1JM,gBAAgB;EpBu7GpB;AACF;;A+B9xGA;EA0BM,sB5BzLS;E4B0LT,sCAA4E;EAA5E,8BAA4E;A/BwwGlF;;A+BnyGA;EAiCM,wC5BnKW;AHy6GjB;;A+B1vGA;EACE,qBAAqB;EACrB,WAAW;EACX,mC5BwR2H;E4BvR3H,0C5BwKkC;EChQ9B,eAtCY;E2BiIhB,gB5BiE+B;E4BhE/B,gB5BqE+B;E4BpE/B,c5B9MgB;E4B+MhB,sBAAsB;EACtB,6M5BmWmI;E4BlWnI,sB5BxNa;E4ByNb,yB5BrNgB;EONd,sBPqOgC;E4BPlC,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A/B2vGlB;;A+B3wGA;EAmBI,qB5B0PsE;E4BzPtE,UAAU;EAIR,gD5BvMW;AHg8GjB;;A+BjxGA;EAiCM,c5BtOY;E4BuOZ,sB5B9OS;AHk+Gf;;A+BtxGA;EAwCI,YAAY;EACZ,sB5BmIgC;E4BlIhC,sBAAsB;A/BkvG1B;;A+B5xGA;EA8CI,c5BpPc;E4BqPd,yB5BzPc;AH2+GlB;;A+BjyGA;EAoDI,aAAa;A/BivGjB;;A+B7uGA;EACE,kC5BmOqI;E4BlOrI,oB5B2HkC;E4B1HlC,uB5B0HkC;E4BzHlC,oB5B0HiC;EC1Q7B,mBAtCY;AJu6GlB;;A+B7uGA;EACE,gC5B4NqI;E4B3NrI,mB5BwHiC;E4BvHjC,sB5BuHiC;E4BtHjC,kB5BuHgC;EC/Q5B,kBAtCY;AJ+6GlB;;A+BxuGA;EACE,kBAAkB;EAClB,qBAAqB;EACrB,WAAW;EACX,mC5B0M2H;E4BzM3H,gBAAgB;A/B2uGlB;;A+BxuGA;EACE,kBAAkB;EAClB,UAAU;EACV,WAAW;EACX,mC5BkM2H;E4BjM3H,SAAS;EACT,UAAU;A/B2uGZ;;A+BjvGA;EASI,qB5B+KsE;E4B9KtE,gD5B9Qa;AH0/GjB;;A+BtvGA;EAcI,yB5B7Sc;AHyhHlB;;A+B1vGA;EAmBM,iB5BqUQ;AHs6Fd;;A+B9vGA;EAwBI,0BAA0B;A/B0uG9B;;A+BtuGA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,OAAO;EACP,UAAU;EACV,mC5BoK2H;E4BnK3H,yB5BoDkC;E4BlDlC,gB5BlD+B;E4BmD/B,gB5B9C+B;E4B+C/B,c5BjUgB;E4BkUhB,sB5BzUa;E4B0Ub,yB5BtUgB;EONd,sBPqOgC;AHg1GpC;;A+BtvGA;EAkBI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,UAAU;EACV,cAAc;EACd,6B5B8I+F;E4B7I/F,yB5BkCgC;E4BjChC,gB5B9D6B;E4B+D7B,c5BjVc;E4BkVd,iBAAiB;ET1VjB,yBnBGc;E4ByVd,oBAAoB;ErB7VpB,kCqB8VgF;A/BwuGpF;;A+B9tGA;EACE,WAAW;EACX,2BAA+F;EAC/F,UAAU;EACV,6BAA6B;EAC7B,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A/BiuGlB;;A+BtuGA;EAQI,aAAa;A/BkuGjB;;A+B1uGA;EAY8B,gE5BrVb;AHujHjB;;A+B9uGA;EAa8B,gE5BtVb;AH2jHjB;;A+BlvGA;EAc8B,gE5BvVb;AH+jHjB;;A+BtvGA;EAkBI,SAAS;A/BwuGb;;A+B1vGA;EAsBI,W5B8N6C;E4B7N7C,Y5B6N6C;E4B5N7C,oBAAyE;ET/XzE,yBnB8Ba;E4BmWb,S5B6N0C;EO/lB1C,mBPgmB6C;EiB/lB3C,4GjB8f+H;E4BzHjI,wBAAgB;EAAhB,gBAAgB;A/BuuGpB;;AoBvmHI;EWkWJ;IXjWM,gBAAgB;EpB2mHpB;AACF;;A+B3wGA;ETvWI,yBnBmmB2E;AHmhG/E;;A+B/wGA;EAsCI,W5BuMoC;E4BtMpC,c5BuMqC;E4BtMrC,kBAAkB;EAClB,e5BsMuC;E4BrMvC,yB5B7Yc;E4B8Yd,yBAAyB;ErBnZzB,mBPylBoC;AHwiGxC;;A+BzxGA;EAiDI,W5BmM6C;E4BlM7C,Y5BkM6C;EmB3lB7C,yBnB8Ba;E4B6Xb,S5BmM0C;EO/lB1C,mBPgmB6C;EiB/lB3C,4GjB8f+H;E4B/FjI,qBAAgB;EAAhB,gBAAgB;A/B2uGpB;;AoBroHI;EWkWJ;IXjWM,gBAAgB;EpByoHpB;AACF;;A+BzyGA;ETvWI,yBnBmmB2E;AHijG/E;;A+B7yGA;EAgEI,W5B6KoC;E4B5KpC,c5B6KqC;E4B5KrC,kBAAkB;EAClB,e5B4KuC;E4B3KvC,yB5Bvac;E4Bwad,yBAAyB;ErB7azB,mBPylBoC;AHskGxC;;A+BvzGA;EA2EI,W5ByK6C;E4BxK7C,Y5BwK6C;E4BvK7C,aAAa;EACb,oB5BvD+B;E4BwD/B,mB5BxD+B;EmB9X/B,yBnB8Ba;E4B0Zb,S5BsK0C;EO/lB1C,mBPgmB6C;EiB/lB3C,4GjB8f+H;E4BlEjI,gBAAgB;A/B+uGpB;;AoBtqHI;EWkWJ;IXjWM,gBAAgB;EpB0qHpB;AACF;;A+B10GA;ETvWI,yBnBmmB2E;AHklG/E;;A+B90GA;EA6FI,W5BgJoC;E4B/IpC,c5BgJqC;E4B/IrC,kBAAkB;EAClB,e5B+IuC;E4B9IvC,6BAA6B;EAC7B,yBAAyB;EACzB,oBAA4C;A/BqvGhD;;A+Bx1GA;EAwGI,yB5B3cc;EOLd,mBPylBoC;AH4mGxC;;A+B71GA;EA6GI,kBAAkB;EAClB,yB5Bjdc;EOLd,mBPylBoC;AHknGxC;;A+Bn2GA;EAoHM,yB5BrdY;AHwsHlB;;A+Bv2GA;EAwHM,eAAe;A/BmvGrB;;A+B32GA;EA4HM,yB5B7dY;AHgtHlB;;A+B/2GA;EAgIM,eAAe;A/BmvGrB;;A+Bn3GA;EAoIM,yB5BreY;AHwtHlB;;A+B9uGA;;;EXhfM,4GjB8f+H;AHsuGrI;;AoB/tHI;EW2eJ;;;IX1eM,gBAAgB;EpBquHpB;AACF;;AgC7uHA;EACE,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,eAAe;EACf,gBAAgB;EAChB,gBAAgB;AhCgvHlB;;AgC7uHA;EACE,cAAc;EACd,oB7BkqBsC;AH8kGxC;;AK/uHE;E2BEE,qBAAqB;AhCivHzB;;AgCtvHA;EAUI,c7BVc;E6BWd,oBAAoB;EACpB,eAAe;AhCgvHnB;;AgCxuHA;EACE,gC7BxBgB;AHmwHlB;;AgC5uHA;EAII,mB7BkM6B;AH0iHjC;;AgChvHA;EAQI,6BAAgD;EtB3BhD,+BP4NgC;EO3NhC,gCP2NgC;AH6iHpC;;AKvwHE;E2B6BI,qC7BnCY;AHixHlB;;AgC1vHA;EAgBM,c7BpCY;E6BqCZ,6BAA6B;EAC7B,yBAAyB;AhC8uH/B;;AgChwHA;;EAwBI,c7B3Cc;E6B4Cd,sB7BnDW;E6BoDX,kC7BpDW;AHiyHf;;AgCvwHA;EA+BI,gB7BuK6B;EOzN7B,yBsBoD4B;EtBnD5B,0BsBmD4B;AhC4uHhC;;AgCnuHA;EtBtEI,sBPqOgC;AHwkHpC;;AgCvuHA;;EAOI,W7B3EW;E6B4EX,yB7B/Ca;AHoxHjB;;AgC5tHA;EAEI,kBAAc;EAAd,cAAc;EACd,kBAAkB;AhC8tHtB;;AgC1tHA;EAEI,0BAAa;EAAb,aAAa;EACb,oBAAY;EAAZ,YAAY;EACZ,kBAAkB;AhC4tHtB;;AgCntHA;EAEI,aAAa;AhCqtHjB;;AgCvtHA;EAKI,cAAc;AhCstHlB;;AiC1zHA;EACE,kBAAkB;EAClB,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,sBAAmB;EAAnB,mBAAmB;EACnB,sBAA8B;EAA9B,8BAA8B;EAC9B,oB9B0GW;AHmtHb;;AiCn0HA;;EAYI,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,sBAAmB;EAAnB,mBAAmB;EACnB,sBAA8B;EAA9B,8BAA8B;AjC4zHlC;;AiCnzHA;EACE,qBAAqB;EACrB,sB9BoqB+E;E8BnqB/E,yB9BmqB+E;E8BlqB/E,kB9BoFW;ECFP,kBAtCY;E6B1ChB,oBAAoB;EACpB,mBAAmB;AjCszHrB;;AKt1HE;E4BmCE,qBAAqB;AjCuzHzB;;AiC9yHA;EACE,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;EACtB,eAAe;EACf,gBAAgB;EAChB,gBAAgB;AjCizHlB;;AiCtzHA;EAQI,gBAAgB;EAChB,eAAe;AjCkzHnB;;AiC3zHA;EAaI,gBAAgB;EAChB,WAAW;AjCkzHf;;AiCzyHA;EACE,qBAAqB;EACrB,mB9B2lBuC;E8B1lBvC,sB9B0lBuC;AHktGzC;;AiChyHA;EACE,6BAAgB;EAAhB,gBAAgB;EAChB,oBAAY;EAAZ,YAAY;EAGZ,sBAAmB;EAAnB,mBAAmB;AjCiyHrB;;AiC7xHA;EACE,wB9BsmBwC;ECnlBpC,kBAtCY;E6BqBhB,cAAc;EACd,6BAA6B;EAC7B,6BAAuC;EvB3GrC,sBPqOgC;AHuqHpC;;AKj4HE;E4BoGE,qBAAqB;AjCiyHzB;;AiC3xHA;EACE,qBAAqB;EACrB,YAAY;EACZ,aAAa;EACb,sBAAsB;EACtB,WAAW;EACX,mCAAmC;EACnC,0BAA0B;AjC8xH5B;;Act1HI;EmBkEC;;IAIK,gBAAgB;IAChB,eAAe;EjCsxHvB;AACF;;Ac32HI;EmB+EA;IAUI,yBAAqB;IAArB,qBAAqB;IACrB,oBAA2B;IAA3B,2BAA2B;EjCuxHjC;EiClyHG;IAcK,uBAAmB;IAAnB,mBAAmB;EjCuxH3B;EiCryHG;IAiBO,kBAAkB;EjCuxH5B;EiCxyHG;IAqBO,qB9ByiB6B;I8BxiB7B,oB9BwiB6B;EH8uGvC;EiC5yHG;;IA6BK,qBAAiB;IAAjB,iBAAiB;EjCmxHzB;EiChzHG;IAiCK,+BAAwB;IAAxB,wBAAwB;IAGxB,6BAAgB;IAAhB,gBAAgB;EjCgxHxB;EiCpzHG;IAwCK,aAAa;EjC+wHrB;AACF;;Ac13HI;EmBkEC;;IAIK,gBAAgB;IAChB,eAAe;EjC0zHvB;AACF;;Ac/4HI;EmB+EA;IAUI,yBAAqB;IAArB,qBAAqB;IACrB,oBAA2B;IAA3B,2BAA2B;EjC2zHjC;EiCt0HG;IAcK,uBAAmB;IAAnB,mBAAmB;EjC2zH3B;EiCz0HG;IAiBO,kBAAkB;EjC2zH5B;EiC50HG;IAqBO,qB9ByiB6B;I8BxiB7B,oB9BwiB6B;EHkxGvC;EiCh1HG;;IA6BK,qBAAiB;IAAjB,iBAAiB;EjCuzHzB;EiCp1HG;IAiCK,+BAAwB;IAAxB,wBAAwB;IAGxB,6BAAgB;IAAhB,gBAAgB;EjCozHxB;EiCx1HG;IAwCK,aAAa;EjCmzHrB;AACF;;Ac95HI;EmBkEC;;IAIK,gBAAgB;IAChB,eAAe;EjC81HvB;AACF;;Acn7HI;EmB+EA;IAUI,yBAAqB;IAArB,qBAAqB;IACrB,oBAA2B;IAA3B,2BAA2B;EjC+1HjC;EiC12HG;IAcK,uBAAmB;IAAnB,mBAAmB;EjC+1H3B;EiC72HG;IAiBO,kBAAkB;EjC+1H5B;EiCh3HG;IAqBO,qB9ByiB6B;I8BxiB7B,oB9BwiB6B;EHszGvC;EiCp3HG;;IA6BK,qBAAiB;IAAjB,iBAAiB;EjC21HzB;EiCx3HG;IAiCK,+BAAwB;IAAxB,wBAAwB;IAGxB,6BAAgB;IAAhB,gBAAgB;EjCw1HxB;EiC53HG;IAwCK,aAAa;EjCu1HrB;AACF;;Acl8HI;EmBkEC;;IAIK,gBAAgB;IAChB,eAAe;EjCk4HvB;AACF;;Acv9HI;EmB+EA;IAUI,yBAAqB;IAArB,qBAAqB;IACrB,oBAA2B;IAA3B,2BAA2B;EjCm4HjC;EiC94HG;IAcK,uBAAmB;IAAnB,mBAAmB;EjCm4H3B;EiCj5HG;IAiBO,kBAAkB;EjCm4H5B;EiCp5HG;IAqBO,qB9ByiB6B;I8BxiB7B,oB9BwiB6B;EH01GvC;EiCx5HG;;IA6BK,qBAAiB;IAAjB,iBAAiB;EjC+3HzB;EiC55HG;IAiCK,+BAAwB;IAAxB,wBAAwB;IAGxB,6BAAgB;IAAhB,gBAAgB;EjC43HxB;EiCh6HG;IAwCK,aAAa;EjC23HrB;AACF;;AiCz6HA;EAeQ,yBAAqB;EAArB,qBAAqB;EACrB,oBAA2B;EAA3B,2BAA2B;AjC85HnC;;AiC96HA;;EASU,gBAAgB;EAChB,eAAe;AjC06HzB;;AiCp7HA;EAmBU,uBAAmB;EAAnB,mBAAmB;AjCq6H7B;;AiCx7HA;EAsBY,kBAAkB;AjCs6H9B;;AiC57HA;EA0BY,qB9ByiB6B;E8BxiB7B,oB9BwiB6B;AH83GzC;;AiCj8HA;;EAkCU,qBAAiB;EAAjB,iBAAiB;AjCo6H3B;;AiCt8HA;EAsCU,+BAAwB;EAAxB,wBAAwB;EAGxB,6BAAgB;EAAhB,gBAAgB;AjCk6H1B;;AiC38HA;EA6CU,aAAa;AjCk6HvB;;AiCr5HA;EAEI,yB9BjLW;AHwkIf;;AKzkIE;E4BqLI,yB9BpLS;AH4kIf;;AiC75HA;EAWM,yB9B1LS;AHglIf;;AKjlIE;E4B8LM,yB9B7LO;AHolIf;;AiCr6HA;EAkBQ,yB9BjMO;AHwlIf;;AiCz6HA;;;;EA0BM,yB9BzMS;AH+lIf;;AiCh7HA;EA+BI,yB9B9MW;E8B+MX,gC9B/MW;AHomIf;;AiCr7HA;EAoCI,wP9B6fsR;AHw5G1R;;AiCz7HA;EAwCI,yB9BvNW;AH4mIf;;AiC77HA;EA0CM,yB9BzNS;AHgnIf;;AKjnIE;E4B6NM,yB9B5NO;AHonIf;;AiCj5HA;EAEI,W9B/OW;AHkoIf;;AKznIE;E4ByOI,W9BlPS;AHsoIf;;AiCz5HA;EAWM,+B9BxPS;AH0oIf;;AKjoIE;E4BkPM,gC9B3PO;AH8oIf;;AiCj6HA;EAkBQ,gC9B/PO;AHkpIf;;AiCr6HA;;;;EA0BM,W9BvQS;AHypIf;;AiC56HA;EA+BI,+B9B5QW;E8B6QX,sC9B7QW;AH8pIf;;AiCj7HA;EAoCI,8P9BkcqR;AH+8GzR;;AiCr7HA;EAwCI,+B9BrRW;AHsqIf;;AiCz7HA;EA0CM,W9BvRS;AH0qIf;;AKjqIE;E4BiRM,W9B1RO;AH8qIf;;AkCjrIA;EACE,kBAAkB;EAClB,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;EACtB,YAAY;EACZ,qBAAqB;EACrB,sB/BHa;E+BIb,2BAA2B;EAC3B,sC/BKa;EOZX,sBPqOgC;AHu9HpC;;AkC7rIA;EAYI,eAAe;EACf,cAAc;AlCqrIlB;;AkClsIA;ExBUI,+BP4NgC;EO3NhC,gCP2NgC;AHi+HpC;;AkCvsIA;ExBwBI,mCP8MgC;EO7MhC,kCP6MgC;AHs+HpC;;AkC/qIA;EAGE,kBAAc;EAAd,cAAc;EACd,gB/B+wByC;AHi6G3C;;AkC5qIA;EACE,sB/BywBwC;AHs6G1C;;AkC5qIA;EACE,qBAA+B;EAC/B,gBAAgB;AlC+qIlB;;AkC5qIA;EACE,gBAAgB;AlC+qIlB;;AKttIE;E6B4CE,qBAAqB;AlC8qIzB;;AkChrIA;EAMI,oB/BwvBuC;AHs7G3C;;AkCtqIA;EACE,wB/B+uByC;E+B9uBzC,gBAAgB;EAEhB,qC/BvDa;E+BwDb,6C/BxDa;AHguIf;;AkC7qIA;ExB/DI,0DwBuE8E;AlCyqIlF;;AkCjrIA;EAaM,aAAa;AlCwqInB;;AkCnqIA;EACE,wB/B6tByC;E+B5tBzC,qC/BvEa;E+BwEb,0C/BxEa;AH8uIf;;AkCzqIA;ExBjFI,0DPmzBoF;AH28GxF;;AkC9pIA;EACE,uBAAiC;EACjC,uB/B4sBwC;E+B3sBxC,sBAAgC;EAChC,gBAAgB;AlCiqIlB;;AkC9pIA;EACE,uBAAiC;EACjC,sBAAgC;AlCiqIlC;;AkC7pIA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,OAAO;EACP,gB/BssByC;AH09G3C;;AkC7pIA;EACE,WAAW;ExBvHT,kCPmzBoF;AHq+GxF;;AkC5pIA;EACE,WAAW;ExBpHT,2CP0yBoF;EOzyBpF,4CPyyBoF;AH2+GxF;;AkC7pIA;EACE,WAAW;ExB3GT,+CP4xBoF;EO3xBpF,8CP2xBoF;AHi/GxF;;AkC3pIA;EACE,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;AlC8pIxB;;AkChqIA;EAKI,mB/B6qBsD;AHk/G1D;;ActvII;EoBkFJ;IASI,uBAAmB;IAAnB,mBAAmB;IACnB,mB/BwqBsD;I+BvqBtD,kB/BuqBsD;EHy/GxD;EkC3qIF;IAcM,oBAAa;IAAb,aAAa;IAEb,gBAAY;IAAZ,YAAY;IACZ,0BAAsB;IAAtB,sBAAsB;IACtB,kB/BgqBoD;I+B/pBpD,gBAAgB;IAChB,iB/B8pBoD;EHigHxD;AACF;;AkCtpIA;EACE,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;AlCypIxB;;AkC3pIA;EAOI,mB/B6oBsD;AH2gH1D;;Ac/wII;EoBgHJ;IAWI,uBAAmB;IAAnB,mBAAmB;ElCypIrB;EkCpqIF;IAgBM,gBAAY;IAAZ,YAAY;IACZ,gBAAgB;ElCupIpB;EkCxqIF;IAoBQ,cAAc;IACd,cAAc;ElCupIpB;EkC5qIF;IxBvJI,0BwBkLoC;IxBjLpC,6BwBiLoC;ElCqpItC;EkChrIF;;IAgCY,0BAA0B;ElCopIpC;EkCprIF;;IAqCY,6BAA6B;ElCmpIvC;EkCxrIF;IxBzII,yBwBmLmC;IxBlLnC,4BwBkLmC;ElCkpIrC;EkC5rIF;;IA+CY,yBAAyB;ElCipInC;EkChsIF;;IAoDY,4BAA4B;ElCgpItC;AACF;;AkCpoIA;EAEI,sB/BokBsC;AHkkH1C;;AczzII;EoBiLJ;IAMI,uB/BglBiC;I+BhlBjC,oB/BglBiC;I+BhlBjC,e/BglBiC;I+B/kBjC,2B/BglBuC;I+BhlBvC,wB/BglBuC;I+BhlBvC,mB/BglBuC;I+B/kBvC,UAAU;IACV,SAAS;ElCuoIX;EkChpIF;IAYM,qBAAqB;IACrB,WAAW;ElCuoIf;AACF;;AkC9nIA;EAEI,gBAAgB;AlCgoIpB;;AkCloIA;ExB/PI,gBwBqQ4B;AlCgoIhC;;AkCtoIA;EAUQ,gBAAgB;ExBzQpB,gBwB0Q4B;AlCgoIhC;;AkC3oIA;EAgBM,gBAAgB;ExBxPlB,6BwByPiC;ExBxPjC,4BwBwPiC;AlCgoIrC;;AkCjpIA;ExBtPI,yBwB2Q8B;ExB1Q9B,0BwB0Q8B;AlCioIlC;;AkCtpIA;EAyBM,mB/BtD2B;AHurIjC;;AmC95IA;EACE,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,qBhC2gCsC;EgC1gCtC,mBhC6gCsC;EgC5gCtC,gBAAgB;EAChB,yBhCGgB;EOJd,sBPqOgC;AH8rIpC;;AmC95IA;EAGI,oBhCkgCqC;AH65GzC;;AmCl6IA;EAMM,qBAAqB;EACrB,qBhC8/BmC;EgC7/BnC,chCLY;EgCMZ,YhCmgCuC;AH65G7C;;AmCz6IA;EAoBI,0BAA0B;AnCy5I9B;;AmC76IA;EAwBI,qBAAqB;AnCy5IzB;;AmCj7IA;EA4BI,chCzBc;AHk7IlB;;AoC/7IA;EACE,oBAAa;EAAb,aAAa;E7BGb,eAAe;EACf,gBAAgB;EGAd,sBPqOgC;AH4tIpC;;AoCh8IA;EACE,kBAAkB;EAClB,cAAc;EACd,uBjCqwBwC;EiCpwBxC,iBjC6N+B;EiC5N/B,iBjCwwBsC;EiCvwBtC,cjCwBe;EiCvBf,sBjCNa;EiCOb,yBjCJgB;AHu8IlB;;AoC38IA;EAWI,UAAU;EACV,cjC2J8D;EiC1J9D,qBAAqB;EACrB,yBjCXc;EiCYd,qBjCXc;AH+8IlB;;AoCn9IA;EAmBI,UAAU;EACV,UjCiwBiC;EiChwBjC,gDjCSa;AH27IjB;;AoCh8IA;EAGM,cAAc;E1BChB,+BPuMgC;EOtMhC,kCPsMgC;AH2vIpC;;AoCt8IA;E1BVI,gCPqNgC;EOpNhC,mCPoNgC;AHgwIpC;;AoC38IA;EAcI,UAAU;EACV,WjCvCW;EiCwCX,yBjCXa;EiCYb,qBjCZa;AH68IjB;;AoCl9IA;EAqBI,cjCvCc;EiCwCd,oBAAoB;EAEpB,YAAY;EACZ,sBjCjDW;EiCkDX,qBjC/Cc;AH++IlB;;AqCt/IE;EACE,uBlC8wBsC;ECnpBpC,kBAtCY;EiCnFd,gBlC8N6B;AH2xIjC;;AqCp/IM;E3BwBF,8BPwM+B;EOvM/B,iCPuM+B;AHyxInC;;AqCp/IM;E3BKF,+BPsN+B;EOrN/B,kCPqN+B;AH8xInC;;AqCtgJE;EACE,uBlC4wBqC;ECjpBnC,mBAtCY;EiCnFd,gBlC+N6B;AH0yIjC;;AqCpgJM;E3BwBF,8BPyM+B;EOxM/B,iCPwM+B;AHwyInC;;AqCpgJM;E3BKF,+BPuN+B;EOtN/B,kCPsN+B;AH6yInC;;AsCphJA;EACE,qBAAqB;EACrB,qBnC24BsC;EC10BpC,cAAW;EkC/Db,gBnCmR+B;EmClR/B,cAAc;EACd,kBAAkB;EAClB,mBAAmB;EACnB,wBAAwB;E5BRtB,sBPqOgC;EiBpO9B,qIjBqb6I;AH2mInJ;;AoB3hJI;EkBNJ;IlBOM,gBAAgB;EpB+hJpB;AACF;;AK5hJE;EiCGI,qBAAqB;AtC6hJ3B;;AsC3iJA;EAoBI,aAAa;AtC2hJjB;;AsCthJA;EACE,kBAAkB;EAClB,SAAS;AtCyhJX;;AsClhJA;EACE,oBnCg3BsC;EmC/2BtC,mBnC+2BsC;EOn5BpC,oBPs5BqC;AHoqHzC;;AsC7gJE;ECjDA,WpCMa;EoCLb,yBpCkCe;AHgiJjB;;AKpjJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCkkJxC;;AuCrkJU;EAQJ,UAAU;EACV,+CpCuBW;AH0iJjB;;AsC5hJE;ECjDA,WpCMa;EoCLb,yBpCWgB;AHskJlB;;AKnkJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCilJxC;;AuCplJU;EAQJ,UAAU;EACV,iDpCAY;AHglJlB;;AsC3iJE;ECjDA,WpCMa;EoCLb,yBpCyCe;AHujJjB;;AKllJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCgmJxC;;AuCnmJU;EAQJ,UAAU;EACV,+CpC8BW;AHikJjB;;AsC1jJE;ECjDA,WpCMa;EoCLb,yBpC2Ce;AHokJjB;;AKjmJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC+mJxC;;AuClnJU;EAQJ,UAAU;EACV,gDpCgCW;AH8kJjB;;AsCzkJE;ECjDA,cpCegB;EoCdhB,yBpCwCe;AHslJjB;;AKhnJE;EkCVI,cpCUY;EoCTZ,yBAAkC;AvC8nJxC;;AuCjoJU;EAQJ,UAAU;EACV,+CpC6BW;AHgmJjB;;AsCxlJE;ECjDA,WpCMa;EoCLb,yBpCsCe;AHumJjB;;AK/nJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC6oJxC;;AuChpJU;EAQJ,UAAU;EACV,+CpC2BW;AHinJjB;;AsCvmJE;ECjDA,cpCegB;EoCdhB,yBpCMgB;AHspJlB;;AK9oJE;EkCVI,cpCUY;EoCTZ,yBAAkC;AvC4pJxC;;AuC/pJU;EAQJ,UAAU;EACV,iDpCLY;AHgqJlB;;AsCtnJE;ECjDA,WpCMa;EoCLb,yBpCagB;AH8pJlB;;AK7pJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC2qJxC;;AuC9qJU;EAQJ,UAAU;EACV,8CpCEY;AHwqJlB;;AwCvrJA;EACE,kBAAoD;EACpD,mBrC0yBsC;EqCxyBtC,yBrCKgB;EOJd,qBPsO+B;AHm9InC;;AcloJI;E0B5DJ;IAQI,kBrCoyBoC;EHu5HtC;AACF;;AwCxrJA;EACE,gBAAgB;EAChB,eAAe;E9BTb,gB8BUsB;AxC2rJ1B;;AyCtsJA;EACE,kBAAkB;EAClB,wBtCm8ByC;EsCl8BzC,mBtCm8BsC;EsCl8BtC,6BAA6C;E/BH3C,sBPqOgC;AHw+IpC;;AyCrsJA;EAEE,cAAc;AzCusJhB;;AyCnsJA;EACE,gBtCwQ+B;AH87IjC;;AyC9rJA;EACE,mBAAsD;AzCisJxD;;AyClsJA;EAKI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,wBtCq6BuC;EsCp6BvC,cAAc;AzCisJlB;;AyCvrJE;EC9CA,cxBmFgE;EI9E9D,yBJ8E8D;EwBjFhE,qBxBiFgE;AlBwpJlE;;A0CvuJE;EACE,yBAAqC;A1C0uJzC;;A0CvuJE;EACE,cAA0B;A1C0uJ9B;;AyCrsJE;EC9CA,cxBmFgE;EI9E9D,yBJ8E8D;EwBjFhE,qBxBiFgE;AlBsqJlE;;A0CrvJE;EACE,yBAAqC;A1CwvJzC;;A0CrvJE;EACE,cAA0B;A1CwvJ9B;;AyCntJE;EC9CA,cxBmFgE;EI9E9D,yBJ8E8D;EwBjFhE,qBxBiFgE;AlBorJlE;;A0CnwJE;EACE,yBAAqC;A1CswJzC;;A0CnwJE;EACE,cAA0B;A1CswJ9B;;AyCjuJE;EC9CA,cxBmFgE;EI9E9D,yBJ8E8D;EwBjFhE,qBxBiFgE;AlBksJlE;;A0CjxJE;EACE,yBAAqC;A1CoxJzC;;A0CjxJE;EACE,cAA0B;A1CoxJ9B;;AyC/uJE;EC9CA,cxBmFgE;EI9E9D,yBJ8E8D;EwBjFhE,qBxBiFgE;AlBgtJlE;;A0C/xJE;EACE,yBAAqC;A1CkyJzC;;A0C/xJE;EACE,cAA0B;A1CkyJ9B;;AyC7vJE;EC9CA,cxBmFgE;EI9E9D,yBJ8E8D;EwBjFhE,qBxBiFgE;AlB8tJlE;;A0C7yJE;EACE,yBAAqC;A1CgzJzC;;A0C7yJE;EACE,cAA0B;A1CgzJ9B;;AyC3wJE;EC9CA,cxBmFgE;EI9E9D,yBJ8E8D;EwBjFhE,qBxBiFgE;AlB4uJlE;;A0C3zJE;EACE,yBAAqC;A1C8zJzC;;A0C3zJE;EACE,cAA0B;A1C8zJ9B;;AyCzxJE;EC9CA,cxBmFgE;EI9E9D,yBJ8E8D;EwBjFhE,qBxBiFgE;AlB0vJlE;;A0Cz0JE;EACE,yBAAqC;A1C40JzC;;A0Cz0JE;EACE,cAA0B;A1C40J9B;;A2Cp1JE;EACE;IAAO,2BAAuC;E3Cw1JhD;E2Cv1JE;IAAK,wBAAwB;E3C01J/B;AACF;;A2C71JE;EACE;IAAO,2BAAuC;E3Cw1JhD;E2Cv1JE;IAAK,wBAAwB;E3C01J/B;AACF;;A2Cv1JA;EACE,oBAAa;EAAb,aAAa;EACb,YxC48BsC;EwC38BtC,gBAAgB;EvCoHZ,kBAtCY;EuC5EhB,yBxCJgB;EOJd,sBPqOgC;AH8nJpC;;A2Ct1JA;EACE,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;EACtB,qBAAuB;EAAvB,uBAAuB;EACvB,WxCfa;EwCgBb,kBAAkB;EAClB,mBAAmB;EACnB,yBxCWe;EiB9BX,2BjBw9B4C;AHq5HlD;;AoBx2JI;EuBOJ;IvBNM,gBAAgB;EpB42JpB;AACF;;A2C51JA;ErBcE,qMAA6I;EqBZ7I,0BxCu7BsC;AHw6HxC;;A2C31JE;EACE,0DxCy7BkD;EwCz7BlD,kDxCy7BkD;AHq6HtD;;A2C51JI;EAHF;IAII,uBAAe;IAAf,eAAe;E3Cg2JnB;AACF;;A4Cx4JA;EACE,oBAAa;EAAb,aAAa;EACb,qBAAuB;EAAvB,uBAAuB;A5C24JzB;;A4Cx4JA;EACE,WAAO;EAAP,OAAO;A5C24JT;;A6C74JA;EACE,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;EAGtB,eAAe;EACf,gBAAgB;A7C84JlB;;A6Cr4JA;EACE,WAAW;EACX,c1CPgB;E0CQhB,mBAAmB;A7Cw4JrB;;AK94JE;EwCUE,UAAU;EACV,c1Cbc;E0Ccd,qBAAqB;EACrB,yB1CrBc;AH65JlB;;A6Cl5JA;EAcI,c1CjBc;E0CkBd,yB1CzBc;AHi6JlB;;A6C/3JA;EACE,kBAAkB;EAClB,cAAc;EACd,wB1C47ByC;E0C17BzC,mB1CuL+B;E0CrL/B,sB1C3Ca;E0C4Cb,sC1ClCa;AHk6Jf;;A6Cx4JA;EnC7BI,+BP4NgC;EO3NhC,gCP2NgC;AH8sJpC;;A6C74JA;EAeI,gBAAgB;EnC9BhB,mCP8MgC;EO7MhC,kCP6MgC;AHotJpC;;A6Cn5JA;EAqBI,c1CnDc;E0CoDd,oBAAoB;EACpB,sB1C3DW;AH67Jf;;A6Cz5JA;EA4BI,UAAU;EACV,W1CjEW;E0CkEX,yB1CrCa;E0CsCb,qB1CtCa;AHu6JjB;;A6Cp3JI;EACE,uBAAmB;EAAnB,mBAAmB;A7Cu3JzB;;A6Cx3JI;EAII,kB1C4IyB;E0C3IzB,gBAAgB;A7Cw3JxB;;A6C73JI;EnCpDA,+BPuMgC;EOtMhC,kCPsMgC;EO1LhC,0BmCgDwC;A7C03J5C;;A6Cn4JI;EAaM,eAAe;EnC/ErB,gCPqNgC;EOpNhC,mCPoNgC;EO9KhC,4BmC0C0C;A7C23J9C;;Acr6JI;E+B2BA;IACE,uBAAmB;IAAnB,mBAAmB;E7C84JvB;E6C/4JE;IAII,kB1C4IyB;I0C3IzB,gBAAgB;E7C84JtB;E6Cn5JE;InCpDA,+BPuMgC;IOtMhC,kCPsMgC;IO1LhC,0BmCgDwC;E7C+4J1C;E6Cx5JE;IAaM,eAAe;InC/ErB,gCPqNgC;IOpNhC,mCPoNgC;IO9KhC,4BmC0C0C;E7C+4J5C;AACF;;Ac17JI;E+B2BA;IACE,uBAAmB;IAAnB,mBAAmB;E7Cm6JvB;E6Cp6JE;IAII,kB1C4IyB;I0C3IzB,gBAAgB;E7Cm6JtB;E6Cx6JE;InCpDA,+BPuMgC;IOtMhC,kCPsMgC;IO1LhC,0BmCgDwC;E7Co6J1C;E6C76JE;IAaM,eAAe;InC/ErB,gCPqNgC;IOpNhC,mCPoNgC;IO9KhC,4BmC0C0C;E7Co6J5C;AACF;;Ac/8JI;E+B2BA;IACE,uBAAmB;IAAnB,mBAAmB;E7Cw7JvB;E6Cz7JE;IAII,kB1C4IyB;I0C3IzB,gBAAgB;E7Cw7JtB;E6C77JE;InCpDA,+BPuMgC;IOtMhC,kCPsMgC;IO1LhC,0BmCgDwC;E7Cy7J1C;E6Cl8JE;IAaM,eAAe;InC/ErB,gCPqNgC;IOpNhC,mCPoNgC;IO9KhC,4BmC0C0C;E7Cy7J5C;AACF;;Acp+JI;E+B2BA;IACE,uBAAmB;IAAnB,mBAAmB;E7C68JvB;E6C98JE;IAII,kB1C4IyB;I0C3IzB,gBAAgB;E7C68JtB;E6Cl9JE;InCpDA,+BPuMgC;IOtMhC,kCPsMgC;IO1LhC,0BmCgDwC;E7C88J1C;E6Cv9JE;IAaM,eAAe;InC/ErB,gCPqNgC;IOpNhC,mCPoNgC;IO9KhC,4BmC0C0C;E7C88J5C;AACF;;A6Cl8JA;EAEI,eAAe;EACf,cAAc;EnCjHd,gBmCkHwB;A7Co8J5B;;A6Cx8JA;EAOM,mB1C6G2B;AHw1JjC;;A6C58JA;EAaM,aAAa;A7Cm8JnB;;A6Ch9JA;EAmBM,gBAAgB;EAChB,gBAAgB;A7Ci8JtB;;A8CrkKE;EACE,c5BgF8D;E4B/E9D,yB5B+E8D;AlBy/JlE;;AK7jKE;EyCPM,c5B2E0D;E4B1E1D,yBAAyC;A9CwkKjD;;A8C/kKE;EAWM,W3CPO;E2CQP,yB5BqE0D;E4BpE1D,qB5BoE0D;AlBogKlE;;A8CrlKE;EACE,c5BgF8D;E4B/E9D,yB5B+E8D;AlBygKlE;;AK7kKE;EyCPM,c5B2E0D;E4B1E1D,yBAAyC;A9CwlKjD;;A8C/lKE;EAWM,W3CPO;E2CQP,yB5BqE0D;E4BpE1D,qB5BoE0D;AlBohKlE;;A8CrmKE;EACE,c5BgF8D;E4B/E9D,yB5B+E8D;AlByhKlE;;AK7lKE;EyCPM,c5B2E0D;E4B1E1D,yBAAyC;A9CwmKjD;;A8C/mKE;EAWM,W3CPO;E2CQP,yB5BqE0D;E4BpE1D,qB5BoE0D;AlBoiKlE;;A8CrnKE;EACE,c5BgF8D;E4B/E9D,yB5B+E8D;AlByiKlE;;AK7mKE;EyCPM,c5B2E0D;E4B1E1D,yBAAyC;A9CwnKjD;;A8C/nKE;EAWM,W3CPO;E2CQP,yB5BqE0D;E4BpE1D,qB5BoE0D;AlBojKlE;;A8CroKE;EACE,c5BgF8D;E4B/E9D,yB5B+E8D;AlByjKlE;;AK7nKE;EyCPM,c5B2E0D;E4B1E1D,yBAAyC;A9CwoKjD;;A8C/oKE;EAWM,W3CPO;E2CQP,yB5BqE0D;E4BpE1D,qB5BoE0D;AlBokKlE;;A8CrpKE;EACE,c5BgF8D;E4B/E9D,yB5B+E8D;AlBykKlE;;AK7oKE;EyCPM,c5B2E0D;E4B1E1D,yBAAyC;A9CwpKjD;;A8C/pKE;EAWM,W3CPO;E2CQP,yB5BqE0D;E4BpE1D,qB5BoE0D;AlBolKlE;;A8CrqKE;EACE,c5BgF8D;E4B/E9D,yB5B+E8D;AlBylKlE;;AK7pKE;EyCPM,c5B2E0D;E4B1E1D,yBAAyC;A9CwqKjD;;A8C/qKE;EAWM,W3CPO;E2CQP,yB5BqE0D;E4BpE1D,qB5BoE0D;AlBomKlE;;A8CrrKE;EACE,c5BgF8D;E4B/E9D,yB5B+E8D;AlBymKlE;;AK7qKE;EyCPM,c5B2E0D;E4B1E1D,yBAAyC;A9CwrKjD;;A8C/rKE;EAWM,W3CPO;E2CQP,yB5BqE0D;E4BpE1D,qB5BoE0D;AlBonKlE;;A+CxsKA;EACE,YAAY;E3C8HR,iBAtCY;E2CtFhB,gB5CyR+B;E4CxR/B,cAAc;EACd,W5CYa;E4CXb,yB5CCa;E4CAb,WAAW;A/C2sKb;;AKtsKE;E0CDE,W5CMW;E4CLX,qBAAqB;A/C2sKzB;;AKvsKE;E0CCI,YAAY;A/C0sKlB;;A+C/rKA;EACE,UAAU;EACV,6BAA6B;EAC7B,SAAS;EACT,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A/CksKlB;;A+C5rKA;EACE,oBAAoB;A/C+rKtB;;AgDtuKA;EACE,gB7C43BuC;E6C33BvC,gBAAgB;E5C6HZ,mBAtCY;E4CpFhB,2C7CEa;E6CDb,4BAA4B;EAC5B,oC7C63BmD;E6C53BnD,gD7CSa;E6CRb,mCAA2B;EAA3B,2BAA2B;EAC3B,UAAU;EtCLR,sBPg4BsC;AH82I1C;;AgDnvKA;EAcI,sB7Cg3BsC;AHy3I1C;;AgDvvKA;EAkBI,UAAU;AhDyuKd;;AgD3vKA;EAsBI,cAAc;EACd,UAAU;AhDyuKd;;AgDhwKA;EA2BI,aAAa;AhDyuKjB;;AgDruKA;EACE,oBAAa;EAAb,aAAa;EACb,sBAAmB;EAAnB,mBAAmB;EACnB,wB7C41BwC;E6C31BxC,c7CtBgB;E6CuBhB,2C7C7Ba;E6C8Bb,4BAA4B;EAC5B,4C7Co2BoD;AHo4ItD;;AgDruKA;EACE,gB7Co1BwC;AHo5I1C;;AiD5wKA;EAEE,gBAAgB;AjD8wKlB;;AiDhxKA;EAKI,kBAAkB;EAClB,gBAAgB;AjD+wKpB;;AiD1wKA;EACE,eAAe;EACf,MAAM;EACN,OAAO;EACP,a9CopBsC;E8CnpBtC,aAAa;EACb,WAAW;EACX,YAAY;EACZ,gBAAgB;EAGhB,UAAU;AjD2wKZ;;AiDpwKA;EACE,kBAAkB;EAClB,WAAW;EACX,c9C63BuC;E8C33BvC,oBAAoB;AjDswKtB;;AiDnwKE;E7BrCI,2CjB27BoD;EiB37BpD,mCjB27BoD;EiB37BpD,oEjB27BoD;E8Cp5BtD,sC9Ck5BmD;E8Cl5BnD,8B9Ck5BmD;AHo3IvD;;AoBxyKI;E6BgCF;I7B/BI,gBAAgB;EpB4yKpB;AACF;;AiD1wKE;EACE,uB9Cg5BoC;E8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hLf;;AkD3+KA;EACE,iBAAgC;AlD8+KlC;;AkD/+KA;EAII,MAAM;AlD++KV;;AkDn/KA;EAOM,SAAS;EACT,6B/CgxBmC;E+C/wBnC,yB/CrDS;AHqiLf;;AkD3+KA;EACE,iB/CywBuC;AHquJzC;;AkD/+KA;EAII,QAAQ;EACR,a/CqwBqC;E+CpwBrC,c/CmwBqC;AH4uJzC;;AkDr/KA;EASM,OAAO;EACP,oC/CgwBmC;E+C/vBnC,uB/CrES;AHqjLf;;AkD39KA;EACE,gB/C+tBuC;E+C9tBvC,uB/CouBuC;E+CnuBvC,W/CvGa;E+CwGb,kBAAkB;EAClB,sB/C/Fa;EOZX,sBPqOgC;AHq2KpC;;AoD/kLA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,ajDsqBsC;EiDrqBtC,cAAc;EACd,gBjD+1BuC;EgDp2BvC,kMhD+QiN;EgD7QjN,kBAAkB;EAClB,gBhDuR+B;EgDtR/B,gBhD2R+B;EgD1R/B,gBAAgB;EAChB,iBAAiB;EACjB,qBAAqB;EACrB,iBAAiB;EACjB,oBAAoB;EACpB,sBAAsB;EACtB,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,gBAAgB;E/CgHZ,mBAtCY;EgD7EhB,qBAAqB;EACrB,sBjDNa;EiDOb,4BAA4B;EAC5B,oCjDEa;EOZX,qBPsO+B;AHi4KnC;;AoD5mLA;EAoBI,kBAAkB;EAClB,cAAc;EACd,WjD81BoC;EiD71BpC,cjD81BqC;EiD71BrC,gBjDmN+B;AHy4KnC;;AoDpnLA;EA4BM,kBAAkB;EAClB,cAAc;EACd,WAAW;EACX,yBAAyB;EACzB,mBAAmB;ApD4lLzB;;AoDvlLA;EACE,qBjD+0BuC;AH2wJzC;;AoD3lLA;EAII,iCAAwE;ApD2lL5E;;AoD/lLA;EAOM,SAAS;EACT,6BAAgE;EAChE,qCjD00BiE;AHkxJvE;;AoDrmLA;EAaM,WjDqL2B;EiDpL3B,6BAAgE;EAChE,sBjD7CS;AHyoLf;;AoDvlLA;EACE,mBjD2zBuC;AH+xJzC;;AoD3lLA;EAII,+BAAsE;EACtE,ajDuzBqC;EiDtzBrC,YjDqzBoC;EiDpzBpC,gBAA2B;ApD2lL/B;;AoDlmLA;EAUM,OAAO;EACP,oCAA2F;EAC3F,uCjDmzBiE;AHyyJvE;;AoDxmLA;EAgBM,SjD8J2B;EiD7J3B,oCAA2F;EAC3F,wBjDpES;AHgqLf;;AoDvlLA;EACE,kBjDoyBuC;AHszJzC;;AoD3lLA;EAII,8BAAqE;ApD2lLzE;;AoD/lLA;EAOM,MAAM;EACN,oCAA2F;EAC3F,wCjD+xBiE;AH6zJvE;;AoDrmLA;EAaM,QjD0I2B;EiDzI3B,oCAA2F;EAC3F,yBjDxFS;AHorLf;;AoD3mLA;EAqBI,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,cAAc;EACd,WjD2wBoC;EiD1wBpC,oBAAsC;EACtC,WAAW;EACX,gCjD+vBuD;AH21J3D;;AoDtlLA;EACE,oBjDowBuC;AHq1JzC;;AoD1lLA;EAII,gCAAuE;EACvE,ajDgwBqC;EiD/vBrC,YjD8vBoC;EiD7vBpC,gBAA2B;ApD0lL/B;;AoDjmLA;EAUM,QAAQ;EACR,oCjD0vBmC;EiDzvBnC,sCjD4vBiE;AH+1JvE;;AoDvmLA;EAgBM,UjDuG2B;EiDtG3B,oCjDovBmC;EiDnvBnC,uBjD3HS;AHstLf;;AoDrkLA;EACE,uBjDqtBwC;EiDptBxC,gBAAgB;EhD3BZ,eAtCY;EgDoEhB,yBjD8sByD;EiD7sBzD,gCAAyE;E1ChJvE,0C0CiJyE;E1ChJzE,2C0CgJyE;ApDwkL7E;;AoD/kLA;EAWI,aAAa;ApDwkLjB;;AoDpkLA;EACE,uBjDssBwC;EiDrsBxC,cjDzJgB;AHguLlB;;AqDnuLA;EACE,kBAAkB;ArDsuLpB;;AqDnuLA;EACE,uBAAmB;EAAnB,mBAAmB;ArDsuLrB;;AqDnuLA;EACE,kBAAkB;EAClB,WAAW;EACX,gBAAgB;ArDsuLlB;;AsD7vLE;EACE,cAAc;EACd,WAAW;EACX,WAAW;AtDgwLf;;AqDxuLA;EACE,kBAAkB;EAClB,aAAa;EACb,WAAW;EACX,WAAW;EACX,mBAAmB;EACnB,mCAA2B;EAA3B,2BAA2B;EjC5BvB,8CjB6iCkF;EiB7iClF,sCjB6iCkF;EiB7iClF,0EjB6iCkF;AH2tJxF;;AoBnwLI;EiCiBJ;IjChBM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E,oCAAmC;AzD4/LvC;;AKl/LE;;;EoDLI,oCAAgD;AzD6/LtD;;AyDngME;EACE,oCAAmC;AzDsgMvC;;AK5/LE;;;EoDLI,oCAAgD;AzDugMtD;;AyD7gME;EACE,oCAAmC;AzDghMvC;;AKtgME;;;EoDLI,oCAAgD;AzDihMtD;;AyDvhME;EACE,oCAAmC;AzD0hMvC;;AKhhME;;;EoDLI,oCAAgD;AzD2hMtD;;AyDjiME;EACE,oCAAmC;AzDoiMvC;;AK1hME;;;EoDLI,oCAAgD;AzDqiMtD;;AyD3iME;EACE,oCAAmC;AzD8iMvC;;AKpiME;;;EoDLI,oCAAgD;AzD+iMtD;;AyDrjME;EACE,oCAAmC;AzDwjMvC;;AK9iME;;;EoDLI,oCAAgD;AzDyjMtD;;A0DxjMA;EACE,iCAAmC;A1D2jMrC;;A0DxjMA;EACE,wCAAwC;A1D2jM1C;;A2DtkMA;EAAkB,oCAAoD;A3D0kMtE;;A2DzkMA;EAAkB,wCAAwD;A3D6kM1E;;A2D5kMA;EAAkB,0CAA0D;A3DglM5E;;A2D/kMA;EAAkB,2CAA2D;A3DmlM7E;;A2DllMA;EAAkB,yCAAyD;A3DslM3E;;A2DplMA;EAAmB,oBAAoB;A3DwlMvC;;A2DvlMA;EAAmB,wBAAwB;A3D2lM3C;;A2D1lMA;EAAmB,0BAA0B;A3D8lM7C;;A2D7lMA;EAAmB,2BAA2B;A3DimM9C;;A2DhmMA;EAAmB,yBAAyB;A3DomM5C;;A2DjmME;EACE,gCAA+B;A3DomMnC;;A2DrmME;EACE,gCAA+B;A3DwmMnC;;A2DzmME;EACE,gCAA+B;A3D4mMnC;;A2D7mME;EACE,gCAA+B;A3DgnMnC;;A2DjnME;EACE,gCAA+B;A3DonMnC;;A2DrnME;EACE,gCAA+B;A3DwnMnC;;A2DznME;EACE,gCAA+B;A3D4nMnC;;A2D7nME;EACE,gCAA+B;A3DgoMnC;;A2D5nMA;EACE,6BAA+B;A3D+nMjC;;A2DxnMA;EACE,gCAA2C;A3D2nM7C;;A2DxnMA;EACE,iCAAwC;A3D2nM1C;;A2DxnMA;EACE,0CAAiD;EACjD,2CAAkD;A3D2nMpD;;A2DxnMA;EACE,2CAAkD;EAClD,8CAAqD;A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tOhD;;AuEjuOQ;EAAgC,yBAA4B;AvEquOpE;;AuEpuOQ;;EAEE,6BAAoC;AvEuuO9C;;AuEruOQ;;EAEE,+BAAwC;AvEwuOlD;;AuEtuOQ;;EAEE,gCAA0C;AvEyuOpD;;AuEvuOQ;;EAEE,8BAAsC;AvE0uOhD;;AuEzvOQ;EAAgC,uBAA4B;AvE6vOpE;;AuE5vOQ;;EAEE,2BAAoC;AvE+vO9C;;AuE7vOQ;;EAEE,6BAAwC;AvEgwOlD;;AuE9vOQ;;EAEE,8BAA0C;AvEiwOpD;;AuE/vOQ;;EAEE,4BAAsC;AvEkwOhD;;AuEjxOQ;EAAgC,yBAA4B;AvEqxOpE;;AuEpxOQ;;EAEE,6BAAoC;AvEuxO9C;;AuErxOQ;;EAEE,+BAAwC;AvEwxOlD;;AuEtxOQ;;EAEE,gCAA0C;AvEyxOpD;;AuEvxOQ;;EAEE,8BAAsC;AvE0xOhD;;AuEzyOQ;EAAgC,uBAA4B;AvE6yOpE;;AuE5yOQ;;EAEE,2BAAoC;AvE+yO9C;;AuE7yOQ;;EAEE,6BAAwC;AvEgzOlD;;AuE9yOQ;;EAEE,8BAA0C;AvEizOpD;;AuE/yOQ;;EAEE,4BAAsC;AvEkzOhD;;AuEj0OQ;EAAgC,qBAA4B;AvEq0OpE;;AuEp0OQ;;EAEE,yBAAoC;AvEu0O9C;;AuEr0OQ;;EAEE,2BAAwC;AvEw0OlD;;AuEt0OQ;;EAEE,4BAA0C;AvEy0OpD;;AuEv0OQ;;EAEE,0BAAsC;AvE00OhD;;AuEz1OQ;EAAgC,2BAA4B;AvE61OpE;;AuE51OQ;;EAEE,+BAAoC;AvE+1O9C;;AuE71OQ;;EAEE,iCAAwC;AvEg2OlD;;AuE91OQ;;EAEE,kCAA0C;AvEi2OpD;;AuE/1OQ;;EAEE,gCAAsC;AvEk2OhD;;AuEj3OQ;EAAgC,0BAA4B;AvEq3OpE;;AuEp3OQ;;EAEE,8BAAoC;AvEu3O9C;;AuEr3OQ;;EAEE,gCAAwC;AvEw3OlD;;AuEt3OQ;;EAEE,iCAA0C;AvEy3OpD;;AuEv3OQ;;EAEE,+BAAsC;AvE03OhD;;AuEz4OQ;EAAgC,wBAA4B;AvE64OpE;;AuE54OQ;;EAEE,4BAAoC;AvE+4O9C;;AuE74OQ;;EAEE,8BAAwC;AvEg5OlD;;AuE94OQ;;EAEE,+BAA0C;AvEi5OpD;;AuE/4OQ;;EAEE,6BAAsC;AvEk5OhD;;AuEj6OQ;EAAgC,0BAA4B;AvEq6OpE;;AuEp6OQ;;EAEE,8BAAoC;AvEu6O9C;;AuEr6OQ;;EAEE,gCAAwC;AvEw6OlD;;AuEt6OQ;;EAEE,iCAA0C;AvEy6OpD;;AuEv6OQ;;EAEE,+BAAsC;AvE06OhD;;AuEz7OQ;EAAgC,wBAA4B;AvE67OpE;;AuE57OQ;;EAEE,4BAAoC;AvE+7O9C;;AuE77OQ;;EAEE,8BAAwC;AvEg8OlD;;AuE97OQ;;EAEE,+BAA0C;AvEi8OpD;;AuE/7OQ;;EAEE,6BAAsC;AvEk8OhD;;AuE17OQ;EAAwB,2BAA2B;AvE87O3D;;AuE77OQ;;EAEE,+BAA+B;AvEg8OzC;;AuE97OQ;;EAEE,iCAAiC;AvEi8O3C;;AuE/7OQ;;EAEE,kCAAkC;AvEk8O5C;;AuEh8OQ;;EAEE,gCAAgC;AvEm8O1C;;AuEl9OQ;EAAwB,0BAA2B;AvEs9O3D;;AuEr9OQ;;EAEE,8BAA+B;AvEw9OzC;;AuEt9OQ;;EAEE,gCAAiC;AvEy9O3C;;AuEv9OQ;;EAEE,iCAAkC;AvE09O5C;;AuEx9OQ;;EAEE,+BAAgC;AvE29O1C;;AuE1+OQ;EAAwB,wBAA2B;AvE8+O3D;;AuE7+OQ;;EAEE,4BAA+B;AvEg/OzC;;AuE9+OQ;;EAEE,8BAAiC;AvEi/O3C;;AuE/+OQ;;EAEE,+BAAkC;AvEk/O5C;;AuEh/OQ;;EAEE,6BAAgC;AvEm/O1C;;AuElgPQ;EAAwB,0BAA2B;AvEsgP3D;;AuErgPQ;;EAEE,8BAA+B;AvEwgPzC;;AuEtgPQ;;EAEE,gCAAiC;AvEygP3C;;AuEvgPQ;;EAEE,iCAAkC;AvE0gP5C;;AuExgPQ;;EAEE,+BAAgC;AvE2gP1C;;AuE1hPQ;EAAwB,wBAA2B;AvE8hP3D;;AuE7hPQ;;EAEE,4BAA+B;AvEgiPzC;;AuE9hPQ;;EAEE,8BAAiC;AvEiiP3C;;AuE/hPQ;;EAEE,+BAAkC;AvEkiP5C;;AuEhiPQ;;EAEE,6BAAgC;AvEmiP1C;;AuE7hPI;EAAmB,uBAAuB;AvEiiP9C;;AuEhiPI;;EAEE,2BAA2B;AvEmiPjC;;AuEjiPI;;EAEE,6BAA6B;AvEoiPnC;;AuEliPI;;EAEE,8BAA8B;AvEqiPpC;;AuEniPI;;EAEE,4BAA4B;AvEsiPlC;;Ac/iPI;EyDlDI;IAAgC,oBAA4B;EvEsmPlE;EuErmPM;;IAEE,wBAAoC;EvEumP5C;EuErmPM;;IAEE,0BAAwC;EvEumPhD;EuErmPM;;IAEE,2BAA0C;EvEumPlD;EuErmPM;;IAEE,yBAAsC;EvEumP9C;EuEtnPM;IAAgC,0BAA4B;EvEynPlE;EuExnPM;;IAEE,8BAAoC;EvE0nP5C;EuExnPM;;IAEE,gCAAwC;EvE0nPhD;EuExnPM;;IAEE,iCAA0C;EvE0nPlD;EuExnPM;;IAEE,+BAAsC;EvE0nP9C;EuEzoPM;IAAgC,yBAA4B;EvE4oPlE;EuE3oPM;;IAEE,6BAAoC;EvE6oP5C;EuE3oPM;;IAEE,+BAAwC;EvE6oPhD;EuE3oPM;;IAEE,gCAA0C;EvE6oPlD;EuE3oPM;;IAEE,8BAAsC;EvE6oP9C;EuE5pPM;IAAgC,uBAA4B;EvE+pPlE;EuE9pPM;;IAEE,2BAAoC;EvEgqP5C;EuE9pPM;;IAEE,6BAAwC;EvEgqPhD;EuE9pPM;;IAEE,8BAA0C;EvEgqPlD;EuE9pPM;;IAEE,4BAAsC;EvEgqP9C;EuE/qPM;IAAgC,yBAA4B;EvEkrPlE;EuEjrPM;;IAEE,6BAAoC;EvEmrP5C;EuEjrPM;;IAEE,+BAAwC;EvEmrPhD;EuEjrPM;;IAEE,gCAA0C;EvEmrPlD;EuEjrPM;;IAEE,8BAAsC;EvEmrP9C;EuElsPM;IAAgC,uBAA4B;EvEqsPlE;EuEpsPM;;IAEE,2BAAoC;EvEssP5C;EuEpsPM;;IAEE,6BAAwC;EvEssPhD;EuEpsPM;;IAEE,8BAA0C;EvEssPlD;EuEpsPM;;IAEE,4BAAsC;EvEssP9C;EuErtPM;IAAgC,qBAA4B;EvEwtPlE;EuEvtPM;;IAEE,yBAAoC;EvEytP5C;EuEvtPM;;IAEE,2BAAwC;EvEytPhD;EuEvtPM;;IAEE,4BAA0C;EvEytPlD;EuEvtPM;;IAEE,0BAAsC;EvEytP9C;EuExuPM;IAAgC,2BAA4B;EvE2uPlE;EuE1uPM;;IAEE,+BAAoC;EvE4uP5C;EuE1uPM;;IAEE,iCAAwC;EvE4uPhD;EuE1uPM;;IAEE,kCAA0C;EvE4uPlD;EuE1uPM;;IAEE,gCAAsC;EvE4uP9C;EuE3vPM;IAAgC,0BAA4B;EvE8vPlE;EuE7vPM;;IAEE,8BAAoC;EvE+vP5C;EuE7vPM;;IAEE,gCAAwC;EvE+vPhD;EuE7vPM;;IAEE,iCAA0C;EvE+vPlD;EuE7vPM;;IAEE,+BAAsC;EvE+vP9C;EuE9wPM;IAAgC,wBAA4B;EvEixPlE;EuEhxPM;;IAEE,4BAAoC;EvEkxP5C;EuEhxPM;;IAEE,8BAAwC;EvEkxPhD;EuEhxPM;;IAEE,+BAA0C;EvEkxPlD;EuEhxPM;;IAEE,6BAAsC;EvEkxP9C;EuEjyPM;IAAgC,0BAA4B;EvEoyPlE;EuEnyPM;;IAEE,8BAAoC;EvEqyP5C;EuEnyPM;;IAEE,gCAAwC;EvEqyPhD;EuEnyPM;;IAEE,iCAA0C;EvEqyPlD;EuEnyPM;;IAEE,+BAAsC;EvEqyP9C;EuEpzPM;IAAgC,wBAA4B;EvEuzPlE;EuEtzPM;;IAEE,4BAAoC;EvEwzP5C;EuEtzPM;;IAEE,8BAAwC;EvEwzPhD;EuEtzPM;;IAEE,+BAA0C;EvEwzPlD;EuEtzPM;;IAEE,6BAAsC;EvEwzP9C;EuEhzPM;IAAwB,2BAA2B;EvEmzPzD;EuElzPM;;IAEE,+BAA+B;EvEozPvC;EuElzPM;;IAEE,iCAAiC;EvEozPzC;EuElzPM;;IAEE,kCAAkC;EvEozP1C;EuElzPM;;IAEE,gCAAgC;EvEozPxC;EuEn0PM;IAAwB,0BAA2B;EvEs0PzD;EuEr0PM;;IAEE,8BAA+B;EvEu0PvC;EuEr0PM;;IAEE,gCAAiC;EvEu0PzC;EuEr0PM;;IAEE,iCAAkC;EvEu0P1C;EuEr0PM;;IAEE,+BAAgC;EvEu0PxC;EuEt1PM;IAAwB,wBAA2B;EvEy1PzD;EuEx1PM;;IAEE,4BAA+B;EvE01PvC;EuEx1PM;;IAEE,8BAAiC;EvE01PzC;EuEx1PM;;IAEE,+BAAkC;EvE01P1C;EuEx1PM;;IAEE,6BAAgC;EvE01PxC;EuEz2PM;IAAwB,0BAA2B;EvE42PzD;EuE32PM;;IAEE,8BAA+B;EvE62PvC;EuE32PM;;IAEE,gCAAiC;EvE62PzC;EuE32PM;;IAEE,iCAAkC;EvE62P1C;EuE32PM;;IAEE,+BAAgC;EvE62PxC;EuE53PM;IAAwB,wBAA2B;EvE+3PzD;EuE93PM;;IAEE,4BAA+B;EvEg4PvC;EuE93PM;;IAEE,8BAAiC;EvEg4PzC;EuE93PM;;IAEE,+BAAkC;EvEg4P1C;EuE93PM;;IAEE,6BAAgC;EvEg4PxC;EuE13PE;IAAmB,uBAAuB;EvE63P5C;EuE53PE;;IAEE,2BAA2B;EvE83P/B;EuE53PE;;IAEE,6BAA6B;EvE83PjC;EuE53PE;;IAEE,8BAA8B;EvE83PlC;EuE53PE;;IAEE,4BAA4B;EvE83PhC;AACF;;Acx4PI;EyDlDI;IAAgC,oBAA4B;EvE+7PlE;EuE97PM;;IAEE,wBAAoC;EvEg8P5C;EuE97PM;;IAEE,0BAAwC;EvEg8PhD;EuE97PM;;IAEE,2BAA0C;EvEg8PlD;EuE97PM;;IAEE,yBAAsC;EvEg8P9C;EuE/8PM;IAAgC,0BAA4B;EvEk9PlE;EuEj9PM;;IAEE,8BAAoC;EvEm9P5C;EuEj9PM;;IAEE,gCAAwC;EvEm9PhD;EuEj9PM;;IAEE,iCAA0C;EvEm9PlD;EuEj9PM;;IAEE,+BAAsC;EvEm9P9C;EuEl+PM;IAAgC,yBAA4B;EvEq+PlE;EuEp+PM;;IAEE,6BAAoC;EvEs+P5C;EuEp+PM;;IAEE,+BAAwC;EvEs+PhD;EuEp+PM;;IAEE,gCAA0C;EvEs+PlD;EuEp+PM;;IAEE,8BAAsC;EvEs+P9C;EuEr/PM;IAAgC,uBAA4B;EvEw/PlE;EuEv/PM;;IAEE,2BAAoC;EvEy/P5C;EuEv/PM;;IAEE,6BAAwC;EvEy/PhD;EuEv/PM;;IAEE,8BAA0C;EvEy/PlD;EuEv/PM;;IAEE,4BAAsC;EvEy/P9C;EuExgQM;IAAgC,yBAA4B;EvE2gQlE;EuE1gQM;;IAEE,6BAAoC;EvE4gQ5C;EuE1gQM;;IAEE,+BAAwC;EvE4gQhD;EuE1gQM;;IAEE,gCAA0C;EvE4gQlD;EuE1gQM;;IAEE,8BAAsC;EvE4gQ9C;EuE3hQM;IAAgC,uBAA4B;EvE8hQlE;EuE7hQM;;IAEE,2BAAoC;EvE+hQ5C;EuE7hQM;;IAEE,6BAAwC;EvE+hQhD;EuE7hQM;;IAEE,8BAA0C;EvE+hQlD;EuE7hQM;;IAEE,4BAAsC;EvE+hQ9C;EuE9iQM;IAAgC,qBAA4B;EvEijQlE;EuEhjQM;;IAEE,yBAAoC;EvEkjQ5C;EuEhjQM;;IAEE,2BAAwC;EvEkjQhD;EuEhjQM;;IAEE,4BAA0C;EvEkjQlD;EuEhjQM;;IAEE,0BAAsC;EvEkjQ9C;EuEjkQM;IAAgC,2BAA4B;EvEokQlE;EuEnkQM;;IAEE,+BAAoC;EvEqkQ5C;EuEnkQM;;IAEE,iCAAwC;EvEqkQhD;EuEnkQM;;IAEE,kCAA0C;EvEqkQlD;EuEnkQM;;IAEE,gCAAsC;EvEqkQ9C;EuEplQM;IAAgC,0BAA4B;EvEulQlE;EuEtlQM;;IAEE,8BAAoC;EvEwlQ5C;EuEtlQM;;IAEE,gCAAwC;EvEwlQhD;EuEtlQM;;IAEE,iCAA0C;EvEwlQlD;EuEtlQM;;IAEE,+BAAsC;EvEwlQ9C;EuEvmQM;IAAgC,wBAA4B;EvE0mQlE;EuEzmQM;;IAEE,4BAAoC;EvE2mQ5C;EuEzmQM;;IAEE,8BAAwC;EvE2mQhD;EuEzmQM;;IAEE,+BAA0C;EvE2mQlD;EuEzmQM;;IAEE,6BAAsC;EvE2mQ9C;EuE1nQM;IAAgC,0BAA4B;EvE6nQlE;EuE5nQM;;IAEE,8BAAoC;EvE8nQ5C;EuE5nQM;;IAEE,gCAAwC;EvE8nQhD;EuE5nQM;;IAEE,iCAA0C;EvE8nQlD;EuE5nQM;;IAEE,+BAAsC;EvE8nQ9C;EuE7oQM;IAAgC,wBAA4B;EvEgpQlE;EuE/oQM;;IAEE,4BAAoC;EvEipQ5C;EuE/oQM;;IAEE,8BAAwC;EvEipQhD;EuE/oQM;;IAEE,+BAA0C;EvEipQlD;EuE/oQM;;IAEE,6BAAsC;EvEipQ9C;EuEzoQM;IAAwB,2BAA2B;EvE4oQzD;EuE3oQM;;IAEE,+BAA+B;EvE6oQvC;EuE3oQM;;IAEE,iCAAiC;EvE6oQzC;EuE3oQM;;IAEE,kCAAkC;EvE6oQ1C;EuE3oQM;;IAEE,gCAAgC;EvE6oQxC;EuE5pQM;IAAwB,0BAA2B;EvE+pQzD;EuE9pQM;;IAEE,8BAA+B;EvEgqQvC;EuE9pQM;;IAEE,gCAAiC;EvEgqQzC;EuE9pQM;;IAEE,iCAAkC;EvEgqQ1C;EuE9pQM;;IAEE,+BAAgC;EvEgqQxC;EuE/qQM;IAAwB,wBAA2B;EvEkrQzD;EuEjrQM;;IAEE,4BAA+B;EvEmrQvC;EuEjrQM;;IAEE,8BAAiC;EvEmrQzC;EuEjrQM;;IAEE,+BAAkC;EvEmrQ1C;EuEjrQM;;IAEE,6BAAgC;EvEmrQxC;EuElsQM;IAAwB,0BAA2B;EvEqsQzD;EuEpsQM;;IAEE,8BAA+B;EvEssQvC;EuEpsQM;;IAEE,gCAAiC;EvEssQzC;EuEpsQM;;IAEE,iCAAkC;EvEssQ1C;EuEpsQM;;IAEE,+BAAgC;EvEssQxC;EuErtQM;IAAwB,wBAA2B;EvEwtQzD;EuEvtQM;;IAEE,4BAA+B;EvEytQvC;EuEvtQM;;IAEE,8BAAiC;EvEytQzC;EuEvtQM;;IAEE,+BAAkC;EvEytQ1C;EuEvtQM;;IAEE,6BAAgC;EvEytQxC;EuEntQE;IAAmB,uBAAuB;EvEstQ5C;EuErtQE;;IAEE,2BAA2B;EvEutQ/B;EuErtQE;;IAEE,6BAA6B;EvEutQjC;EuErtQE;;IAEE,8BAA8B;EvEutQlC;EuErtQE;;IAEE,4BAA4B;EvEutQhC;AACF;;AcjuQI;EyDlDI;IAAgC,oBAA4B;EvEwxQlE;EuEvxQM;;IAEE,wBAAoC;EvEyxQ5C;EuEvxQM;;IAEE,0BAAwC;EvEyxQhD;EuEvxQM;;IAEE,2BAA0C;EvEyxQlD;EuEvxQM;;IAEE,yBAAsC;EvEyxQ9C;EuExyQM;IAAgC,0BAA4B;EvE2yQlE;EuE1yQM;;IAEE,8BAAoC;EvE4yQ5C;EuE1yQM;;IAEE,gCAAwC;EvE4yQhD;EuE1yQM;;IAEE,iCAA0C;EvE4yQlD;EuE1yQM;;IAEE,+BAAsC;EvE4yQ9C;EuE3zQM;IAAgC,yBAA4B;EvE8zQlE;EuE7zQM;;IAEE,6BAAoC;EvE+zQ5C;EuE7zQM;;IAEE,+BAAwC;EvE+zQhD;EuE7zQM;;IAEE,gCAA0C;EvE+zQlD;EuE7zQM;;IAEE,8BAAsC;EvE+zQ9C;EuE90QM;IAAgC,uBAA4B;EvEi1QlE;EuEh1QM;;IAEE,2BAAoC;EvEk1Q5C;EuEh1QM;;IAEE,6BAAwC;EvEk1QhD;EuEh1QM;;IAEE,8BAA0C;EvEk1QlD;EuEh1QM;;IAEE,4BAAsC;EvEk1Q9C;EuEj2QM;IAAgC,yBAA4B;EvEo2QlE;EuEn2QM;;IAEE,6BAAoC;EvEq2Q5C;EuEn2QM;;IAEE,+BAAwC;EvEq2QhD;EuEn2QM;;IAEE,gCAA0C;EvEq2QlD;EuEn2QM;;IAEE,8BAAsC;EvEq2Q9C;EuEp3QM;IAAgC,uBAA4B;EvEu3QlE;EuEt3QM;;IAEE,2BAAoC;EvEw3Q5C;EuEt3QM;;IAEE,6BAAwC;EvEw3QhD;EuEt3QM;;IAEE,8BAA0C;EvEw3QlD;EuEt3QM;;IAEE,4BAAsC;EvEw3Q9C;EuEv4QM;IAAgC,qBAA4B;EvE04QlE;EuEz4QM;;IAEE,yBAAoC;EvE24Q5C;EuEz4QM;;IAEE,2BAAwC;EvE24QhD;EuEz4QM;;IAEE,4BAA0C;EvE24QlD;EuEz4QM;;IAEE,0BAAsC;EvE24Q9C;EuE15QM;IAAgC,2BAA4B;EvE65QlE;EuE55QM;;IAEE,+BAAoC;EvE85Q5C;EuE55QM;;IAEE,iCAAwC;EvE85QhD;EuE55QM;;IAEE,kCAA0C;EvE85QlD;EuE55QM;;IAEE,gCAAsC;EvE85Q9C;EuE76QM;IAAgC,0BAA4B;EvEg7QlE;EuE/6QM;;IAEE,8BAAoC;EvEi7Q5C;EuE/6QM;;IAEE,gCAAwC;EvEi7QhD;EuE/6QM;;IAEE,iCAA0C;EvEi7QlD;EuE/6QM;;IAEE,+BAAsC;EvEi7Q9C;EuEh8QM;IAAgC,wBAA4B;EvEm8QlE;EuEl8QM;;IAEE,4BAAoC;EvEo8Q5C;EuEl8QM;;IAEE,8BAAwC;EvEo8QhD;EuEl8QM;;IAEE,+BAA0C;EvEo8QlD;EuEl8QM;;IAEE,6BAAsC;EvEo8Q9C;EuEn9QM;IAAgC,0BAA4B;EvEs9QlE;EuEr9QM;;IAEE,8BAAoC;EvEu9Q5C;EuEr9QM;;IAEE,gCAAwC;EvEu9QhD;EuEr9QM;;IAEE,iCAA0C;EvEu9QlD;EuEr9QM;;IAEE,+BAAsC;EvEu9Q9C;EuEt+QM;IAAgC,wBAA4B;EvEy+QlE;EuEx+QM;;IAEE,4BAAoC;EvE0+Q5C;EuEx+QM;;IAEE,8BAAwC;EvE0+QhD;EuEx+QM;;IAEE,+BAA0C;EvE0+QlD;EuEx+QM;;IAEE,6BAAsC;EvE0+Q9C;EuEl+QM;IAAwB,2BAA2B;EvEq+QzD;EuEp+QM;;IAEE,+BAA+B;EvEs+QvC;EuEp+QM;;IAEE,iCAAiC;EvEs+QzC;EuEp+QM;;IAEE,kCAAkC;EvEs+Q1C;EuEp+QM;;IAEE,gCAAgC;EvEs+QxC;EuEr/QM;IAAwB,0BAA2B;EvEw/QzD;EuEv/QM;;IAEE,8BAA+B;EvEy/QvC;EuEv/QM;;IAEE,gCAAiC;EvEy/QzC;EuEv/QM;;IAEE,iCAAkC;EvEy/Q1C;EuEv/QM;;IAEE,+BAAgC;EvEy/QxC;EuExgRM;IAAwB,wBAA2B;EvE2gRzD;EuE1gRM;;IAEE,4BAA+B;EvE4gRvC;EuE1gRM;;IAEE,8BAAiC;EvE4gRzC;EuE1gRM;;IAEE,+BAAkC;EvE4gR1C;EuE1gRM;;IAEE,6BAAgC;EvE4gRxC;EuE3hRM;IAAwB,0BAA2B;EvE8hRzD;EuE7hRM;;IAEE,8BAA+B;EvE+hRvC;EuE7hRM;;IAEE,gCAAiC;EvE+hRzC;EuE7hRM;;IAEE,iCAAkC;EvE+hR1C;EuE7hRM;;IAEE,+BAAgC;EvE+hRxC;EuE9iRM;IAAwB,wBAA2B;EvEijRzD;EuEhjRM;;IAEE,4BAA+B;EvEkjRvC;EuEhjRM;;IAEE,8BAAiC;EvEkjRzC;EuEhjRM;;IAEE,+BAAkC;EvEkjR1C;EuEhjRM;;IAEE,6BAAgC;EvEkjRxC;EuE5iRE;IAAmB,uBAAuB;EvE+iR5C;EuE9iRE;;IAEE,2BAA2B;EvEgjR/B;EuE9iRE;;IAEE,6BAA6B;EvEgjRjC;EuE9iRE;;IAEE,8BAA8B;EvEgjRlC;EuE9iRE;;IAEE,4BAA4B;EvEgjRhC;AACF;;Ac1jRI;EyDlDI;IAAgC,oBAA4B;EvEinRlE;EuEhnRM;;IAEE,wBAAoC;EvEknR5C;EuEhnRM;;IAEE,0BAAwC;EvEknRhD;EuEhnRM;;IAEE,2BAA0C;EvEknRlD;EuEhnRM;;IAEE,yBAAsC;EvEknR9C;EuEjoRM;IAAgC,0BAA4B;EvEooRlE;EuEnoRM;;IAEE,8BAAoC;EvEqoR5C;EuEnoRM;;IAEE,gCAAwC;EvEqoRhD;EuEnoRM;;IAEE,iCAA0C;EvEqoRlD;EuEnoRM;;IAEE,+BAAsC;EvEqoR9C;EuEppRM;IAAgC,yBAA4B;EvEupRlE;EuEtpRM;;IAEE,6BAAoC;EvEwpR5C;EuEtpRM;;IAEE,+BAAwC;EvEwpRhD;EuEtpRM;;IAEE,gCAA0C;EvEwpRlD;EuEtpRM;;IAEE,8BAAsC;EvEwpR9C;EuEvqRM;IAAgC,uBAA4B;EvE0qRlE;EuEzqRM;;IAEE,2BAAoC;EvE2qR5C;EuEzqRM;;IAEE,6BAAwC;EvE2qRhD;EuEzqRM;;IAEE,8BAA0C;EvE2qRlD;EuEzqRM;;IAEE,4BAAsC;EvE2qR9C;EuE1rRM;IAAgC,yBAA4B;EvE6rRlE;EuE5rRM;;IAEE,6BAAoC;EvE8rR5C;EuE5rRM;;IAEE,+BAAwC;EvE8rRhD;EuE5rRM;;IAEE,gCAA0C;EvE8rRlD;EuE5rRM;;IAEE,8BAAsC;EvE8rR9C;EuE7sRM;IAAgC,uBAA4B;EvEgtRlE;EuE/sRM;;IAEE,2BAAoC;EvEitR5C;EuE/sRM;;IAEE,6BAAwC;EvEitRhD;EuE/sRM;;IAEE,8BAA0C;EvEitRlD;EuE/sRM;;IAEE,4BAAsC;EvEitR9C;EuEhuRM;IAAgC,qBAA4B;EvEmuRlE;EuEluRM;;IAEE,yBAAoC;EvEouR5C;EuEluRM;;IAEE,2BAAwC;EvEouRhD;EuEluRM;;IAEE,4BAA0C;EvEouRlD;EuEluRM;;IAEE,0BAAsC;EvEouR9C;EuEnvRM;IAAgC,2BAA4B;EvEsvRlE;EuErvRM;;IAEE,+BAAoC;EvEuvR5C;EuErvRM;;IAEE,iCAAwC;EvEuvRhD;EuErvRM;;IAEE,kCAA0C;EvEuvRlD;EuErvRM;;IAEE,gCAAsC;EvEuvR9C;EuEtwRM;IAAgC,0BAA4B;EvEywRlE;EuExwRM;;IAEE,8BAAoC;EvE0wR5C;EuExwRM;;IAEE,gCAAwC;EvE0wRhD;EuExwRM;;IAEE,iCAA0C;EvE0wRlD;EuExwRM;;IAEE,+BAAsC;EvE0wR9C;EuEzxRM;IAAgC,wBAA4B;EvE4xRlE;EuE3xRM;;IAEE,4BAAoC;EvE6xR5C;EuE3xRM;;IAEE,8BAAwC;EvE6xRhD;EuE3xRM;;IAEE,+BAA0C;EvE6xRlD;EuE3xRM;;IAEE,6BAAsC;EvE6xR9C;EuE5yRM;IAAgC,0BAA4B;EvE+yRlE;EuE9yRM;;IAEE,8BAAoC;EvEgzR5C;EuE9yRM;;IAEE,gCAAwC;EvEgzRhD;EuE9yRM;;IAEE,iCAA0C;EvEgzRlD;EuE9yRM;;IAEE,+BAAsC;EvEgzR9C;EuE/zRM;IAAgC,wBAA4B;EvEk0RlE;EuEj0RM;;IAEE,4BAAoC;EvEm0R5C;EuEj0RM;;IAEE,8BAAwC;EvEm0RhD;EuEj0RM;;IAEE,+BAA0C;EvEm0RlD;EuEj0RM;;IAEE,6BAAsC;EvEm0R9C;EuE3zRM;IAAwB,2BAA2B;EvE8zRzD;EuE7zRM;;IAEE,+BAA+B;EvE+zRvC;EuE7zRM;;IAEE,iCAAiC;EvE+zRzC;EuE7zRM;;IAEE,kCAAkC;EvE+zR1C;EuE7zRM;;IAEE,gCAAgC;EvE+zRxC;EuE90RM;IAAwB,0BAA2B;EvEi1RzD;EuEh1RM;;IAEE,8BAA+B;EvEk1RvC;EuEh1RM;;IAEE,gCAAiC;EvEk1RzC;EuEh1RM;;IAEE,iCAAkC;EvEk1R1C;EuEh1RM;;IAEE,+BAAgC;EvEk1RxC;EuEj2RM;IAAwB,wBAA2B;EvEo2RzD;EuEn2RM;;IAEE,4BAA+B;EvEq2RvC;EuEn2RM;;IAEE,8BAAiC;EvEq2RzC;EuEn2RM;;IAEE,+BAAkC;EvEq2R1C;EuEn2RM;;IAEE,6BAAgC;EvEq2RxC;EuEp3RM;IAAwB,0BAA2B;EvEu3RzD;EuEt3RM;;IAEE,8BAA+B;EvEw3RvC;EuEt3RM;;IAEE,gCAAiC;EvEw3RzC;EuEt3RM;;IAEE,iCAAkC;EvEw3R1C;EuEt3RM;;IAEE,+BAAgC;EvEw3RxC;EuEv4RM;IAAwB,wBAA2B;EvE04RzD;EuEz4RM;;IAEE,4BAA+B;EvE24RvC;EuEz4RM;;IAEE,8BAAiC;EvE24RzC;EuEz4RM;;IAEE,+BAAkC;EvE24R1C;EuEz4RM;;IAEE,6BAAgC;EvE24RxC;EuEr4RE;IAAmB,uBAAuB;EvEw4R5C;EuEv4RE;;IAEE,2BAA2B;EvEy4R/B;EuEv4RE;;IAEE,6BAA6B;EvEy4RjC;EuEv4RE;;IAEE,8BAA8B;EvEy4RlC;EuEv4RE;;IAEE,4BAA4B;EvEy4RhC;AACF;;AwEz8RA;EAAkB,4GAA8C;AxE68RhE;;AwEz8RA;EAAiB,8BAA8B;AxE68R/C;;AwE58RA;EAAiB,8BAA8B;AxEg9R/C;;AwE/8RA;EAAiB,8BAA8B;AxEm9R/C;;AwEl9RA;ECTE,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;AzE+9RrB;;AwEh9RI;EAAwB,2BAA2B;AxEo9RvD;;AwEn9RI;EAAwB,4BAA4B;AxEu9RxD;;AwEt9RI;EAAwB,6BAA6B;AxE09RzD;;Acr7RI;E0DvCA;IAAwB,2BAA2B;ExEi+RrD;EwEh+RE;IAAwB,4BAA4B;ExEm+RtD;EwEl+RE;IAAwB,6BAA6B;ExEq+RvD;AACF;;Acj8RI;E0DvCA;IAAwB,2BAA2B;ExE6+RrD;EwE5+RE;IAAwB,4BAA4B;ExE++RtD;EwE9+RE;IAAwB,6BAA6B;ExEi/RvD;AACF;;Ac78RI;E0DvCA;IAAwB,2BAA2B;ExEy/RrD;EwEx/RE;IAAwB,4BAA4B;ExE2/RtD;EwE1/RE;IAAwB,6BAA6B;ExE6/RvD;AACF;;Acz9RI;E0DvCA;IAAwB,2BAA2B;ExEqgSrD;EwEpgSE;IAAwB,4BAA4B;ExEugStD;EwEtgSE;IAAwB,6BAA6B;ExEygSvD;AACF;;AwEpgSA;EAAmB,oCAAoC;AxEwgSvD;;AwEvgSA;EAAmB,oCAAoC;AxE2gSvD;;AwE1gSA;EAAmB,qCAAqC;AxE8gSxD;;AwE1gSA;EAAuB,2BAA0C;AxE8gSjE;;AwE7gSA;EAAuB,+BAA4C;AxEihSnE;;AwEhhSA;EAAuB,2BAA2C;AxEohSlE;;AwEnhSA;EAAuB,2BAAyC;AxEuhShE;;AwEthSA;EAAuB,8BAA2C;AxE0hSlE;;AwEzhSA;EAAuB,6BAA6B;AxE6hSpD;;AwEzhSA;EAAc,sBAAwB;AxE6hStC;;A0EpkSE;EACE,yBAAwB;A1EukS5B;;AK7jSE;EqELM,yBAA0E;A1EskSlF;;A0E5kSE;EACE,yBAAwB;A1E+kS5B;;AKrkSE;EqELM,yBAA0E;A1E8kSlF;;A0EplSE;EACE,yBAAwB;A1EulS5B;;AK7kSE;EqELM,yBAA0E;A1EslSlF;;A0E5lSE;EACE,yBAAwB;A1E+lS5B;;AKrlSE;EqELM,yBAA0E;A1E8lSlF;;A0EpmSE;EACE,yBAAwB;A1EumS5B;;AK7lSE;EqELM,yBAA0E;A1EsmSlF;;A0E5mSE;EACE,yBAAwB;A1E+mS5B;;AKrmSE;EqELM,yBAA0E;A1E8mSlF;;A0EpnSE;EACE,yBAAwB;A1EunS5B;;AK7mSE;EqELM,yBAA0E;A1EsnSlF;;A0E5nSE;EACE,yBAAwB;A1E+nS5B;;AKrnSE;EqELM,yBAA0E;A1E8nSlF;;AwEvlSA;EAAa,yBAA6B;AxE2lS1C;;AwE1lSA;EAAc,yBAA6B;AxE8lS3C;;AwE5lSA;EAAiB,oCAAkC;AxEgmSnD;;AwE/lSA;EAAiB,0CAAkC;AxEmmSnD;;AwE/lSA;EGvDE,WAAW;EACX,kBAAkB;EAClB,iBAAiB;EACjB,6BAA6B;EAC7B,SAAS;A3E0pSX;;AwEnmSA;EAAwB,gCAAgC;AxEumSxD;;AwErmSA;EACE,iCAAiC;EACjC,oCAAoC;AxEwmStC;;AwEnmSA;EAAc,yBAAyB;AxEumSvC;;A4ExqSA;EACE,8BAA8B;A5E2qShC;;A4ExqSA;EACE,6BAA6B;A5E2qS/B;;A6E3qSE;E3EOF;;;I2EDM,4BAA4B;IAE5B,2BAA2B;E7E2qS/B;E6ExqSE;IAEI,0BAA0B;E7EyqShC;E6EhqSE;IACE,6BAA6B;E7EkqSjC;EEn+RF;I2EhLM,gCAAgC;E7EspSpC;E6EppSE;;IAEE,yB1EzCY;I0E0CZ,wBAAwB;E7EspS5B;E6E9oSE;IACE,2BAA2B;E7EgpS/B;E6E7oSE;;IAEE,wBAAwB;E7E+oS5B;E6E5oSE;;;IAGE,UAAU;IACV,SAAS;E7E8oSb;E6E3oSE;;IAEE,uBAAuB;E7E6oS3B;E6EroSE;IACE,Q1EwgCgC;EH+nQpC;EEnrSF;I2E+CM,2BAA2C;E7EuoS/C;EY9tSA;IiE0FI,2BAA2C;E7EuoS/C;EiCrtSF;I4CmFM,aAAa;E7EqoSjB;EsCpuSF;IuCkGM,sB1EtFS;EH2tSb;EgBxuSF;I6DuGM,oCAAoC;E7EooSxC;E6EroSE;;IAKI,iCAAmC;E7EooSzC;EgBvsSF;;I6D0EQ,oCAAsC;E7EioS5C;EgBtnSF;I6DNM,cAAc;E7E+nSlB;EiBrvSA;;;;I4D4HM,qB1EvHU;EHsvShB;EgBjpSF;I6DuBM,cAAc;IACd,qB1E7HY;EH0vShB;AACF","file":"bootstrap.css","sourcesContent":["/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n@import \"utilities\";\n@import \"print\";\n","/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-break: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #7abaff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n margin-bottom: 0;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control[size], select.form-control[multiple] {\n height: auto;\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: center right calc(0.375em + 0.1875rem);\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-control:valid ~ .valid-feedback,\n.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,\n.form-control.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:valid, .custom-select.is-valid {\n border-color: #28a745;\n padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-select:valid ~ .valid-feedback,\n.was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback,\n.custom-select.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control-file:valid ~ .valid-feedback,\n.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback,\n.form-control-file.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .valid-feedback,\n.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,\n.custom-control-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n border-color: #34ce57;\n background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .valid-feedback,\n.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,\n.custom-file-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\");\n background-repeat: no-repeat;\n background-position: center right calc(0.375em + 0.1875rem);\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-control:invalid ~ .invalid-feedback,\n.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\n.form-control.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:invalid, .custom-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-select:invalid ~ .invalid-feedback,\n.was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback,\n.custom-select.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control-file:invalid ~ .invalid-feedback,\n.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback,\n.form-control-file.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .invalid-feedback,\n.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,\n.custom-control-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n border-color: #e4606d;\n background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .invalid-feedback,\n.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,\n.custom-file-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .custom-select {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n align-items: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n color: #212529;\n text-align: center;\n vertical-align: middle;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n text-decoration: none;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-control-plaintext,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .form-control-plaintext + .form-control,\n.input-group > .form-control-plaintext + .custom-select,\n.input-group > .form-control-plaintext + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n}\n\n.input-group > .custom-file .custom-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n z-index: 3;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: 1.75rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.custom-control {\n position: relative;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #80bdff;\n}\n\n.custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n border-color: #b3d7ff;\n}\n\n.custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n\n.custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n vertical-align: top;\n}\n\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n background-color: #fff;\n border: #adb5bd solid 1px;\n}\n\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background: no-repeat 50% / 50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-switch {\n padding-left: 2.25rem;\n}\n\n.custom-switch .custom-control-label::before {\n left: -2.25rem;\n width: 1.75rem;\n pointer-events: all;\n border-radius: 0.5rem;\n}\n\n.custom-switch .custom-control-label::after {\n top: calc(0.25rem + 2px);\n left: calc(-2.25rem + 2px);\n width: calc(1rem - 4px);\n height: calc(1rem - 4px);\n background-color: #adb5bd;\n border-radius: 0.5rem;\n transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-switch .custom-control-label::after {\n transition: none;\n }\n}\n\n.custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n background-color: #fff;\n transform: translateX(0.75rem);\n}\n\n.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n display: none;\n}\n\n.custom-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.custom-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input:disabled ~ .custom-file-label {\n background-color: #e9ecef;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n\n.custom-file-input ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(1.5em + 0.75rem);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: inherit;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-range {\n width: 100%;\n height: calc(1rem + 0.4rem);\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n\n.custom-range:focus {\n outline: none;\n}\n\n.custom-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-moz-focus-outer {\n border: 0;\n}\n\n.custom-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.custom-range::-webkit-slider-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.custom-range::-moz-range-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-ms-thumb {\n transition: none;\n }\n}\n\n.custom-range::-ms-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.custom-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-webkit-slider-runnable-track {\n cursor: default;\n}\n\n.custom-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-moz-range-track {\n cursor: default;\n}\n\n.custom-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-control-label::before,\n .custom-file-label,\n .custom-select {\n transition: none;\n }\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img {\n width: 100%;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-top {\n width: 100%;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n width: 100%;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck {\n display: flex;\n flex-direction: column;\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n display: flex;\n flex: 1 0 0%;\n flex-direction: column;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group {\n display: flex;\n flex-direction: column;\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:first-of-type) .card-header:first-child {\n border-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type):not(:last-of-type) {\n border-bottom: 0;\n border-radius: 0;\n}\n\n.accordion > .card:first-of-type {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:last-of-type {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card .card-header {\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 2;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 1;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .badge {\n transition: none;\n }\n}\n\na.badge:hover, a.badge:focus {\n text-decoration: none;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\na.badge-primary:hover, a.badge-primary:focus {\n color: #fff;\n background-color: #0062cc;\n}\n\na.badge-primary:focus, a.badge-primary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\na.badge-secondary:hover, a.badge-secondary:focus {\n color: #fff;\n background-color: #545b62;\n}\n\na.badge-secondary:focus, a.badge-secondary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\na.badge-success:hover, a.badge-success:focus {\n color: #fff;\n background-color: #1e7e34;\n}\n\na.badge-success:focus, a.badge-success.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\na.badge-info:hover, a.badge-info:focus {\n color: #fff;\n background-color: #117a8b;\n}\n\na.badge-info:focus, a.badge-info.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\na.badge-warning:hover, a.badge-warning:focus {\n color: #212529;\n background-color: #d39e00;\n}\n\na.badge-warning:focus, a.badge-warning.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\na.badge-danger:hover, a.badge-danger:focus {\n color: #fff;\n background-color: #bd2130;\n}\n\na.badge-danger:focus, a.badge-danger.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\na.badge-light:hover, a.badge-light:focus {\n color: #212529;\n background-color: #dae0e5;\n}\n\na.badge-light:focus, a.badge-light.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\na.badge-dark:hover, a.badge-dark:focus {\n color: #fff;\n background-color: #1d2124;\n}\n\na.badge-dark:focus, a.badge-dark.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal .list-group-item {\n margin-right: -1px;\n margin-bottom: 0;\n}\n\n.list-group-horizontal .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm .list-group-item {\n margin-right: -1px;\n margin-bottom: 0;\n }\n .list-group-horizontal-sm .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md .list-group-item {\n margin-right: -1px;\n margin-bottom: 0;\n }\n .list-group-horizontal-md .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg .list-group-item {\n margin-right: -1px;\n margin-bottom: 0;\n }\n .list-group-horizontal-lg .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl .list-group-item {\n margin-right: -1px;\n margin-bottom: 0;\n }\n .list-group-horizontal-xl .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n}\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n.list-group-flush .list-group-item:last-child {\n margin-bottom: -1px;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n margin-bottom: 0;\n border-bottom: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n appearance: none;\n}\n\na.close.disabled {\n pointer-events: none;\n}\n\n.toast {\n max-width: 350px;\n overflow: hidden;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);\n backdrop-filter: blur(10px);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal-dialog-scrollable {\n display: flex;\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n content: \"\";\n}\n\n.modal-dialog-centered.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable::before {\n content: none;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: 0.3rem;\n border-top-right-radius: 0.3rem;\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 1rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.modal-footer > :not(:first-child) {\n margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n margin-right: .25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem);\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=\"top\"] > .arrow {\n bottom: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=\"right\"] > .arrow {\n left: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow {\n top: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=\"left\"] > .arrow {\n right: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: 0s 0.6s opacity;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: no-repeat 50% / 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: .5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n pointer-events: auto;\n content: \"\";\n background-color: rgba(0, 0, 0, 0);\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.text-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0056b3 !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #494f54 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #19692c !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #0f6674 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #ba8b00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #a71d2a !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #cbd3da !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #121416 !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-break {\n word-break: break-word !important;\n overflow-wrap: break-word !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #adb5bd;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6 !important;\n }\n .table-dark {\n color: inherit;\n }\n .table-dark th,\n .table-dark td,\n .table-dark thead th,\n .table-dark tbody + tbody {\n border-color: #dee2e6;\n }\n .table .thead-dark th {\n color: inherit;\n border-color: #dee2e6;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `` alignment by inheriting from the ``, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n word-wrap: normal;\n}\n\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Opinionated: add \"hand\" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n button,\n [type=\"button\"],\n [type=\"reset\"],\n [type=\"submit\"] {\n &:not(:disabled) {\n cursor: pointer;\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `

`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n @include font-size(1.5rem);\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-print-styles: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$embed-responsive-aspect-ratios: join(\n (\n (21 9),\n (16 9),\n (4 3),\n (1 1),\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n$table-dark-color: $white !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2}) !default;\n$input-height-inner-half: calc(#{$input-line-height * .5em} + #{$input-padding-y}) !default;\n$input-height-inner-quarter: calc(#{$input-line-height * .25em} + #{$input-padding-y / 2}) !default;\n\n$input-height: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2} + #{$input-height-border}) !default;\n$input-height-sm: calc(#{$input-line-height-sm * 1em} + #{$input-btn-padding-y-sm * 2} + #{$input-height-border}) !default;\n$input-height-lg: calc(#{$input-line-height-lg * 1em} + #{$input-btn-padding-y-lg * 2} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-grid-gutter-width: 10px !default;\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: .5rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $input-bg !default;\n\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: $input-box-shadow !default;\n$custom-control-indicator-border-color: $gray-500 !default;\n$custom-control-indicator-border-width: $input-border-width !default;\n\n$custom-control-indicator-disabled-bg: $input-disabled-bg !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-control-indicator-focus-border-color: $input-focus-border-color !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$custom-switch-width: $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default;\n$custom-switch-indicator-size: calc(#{$custom-control-indicator-size} - #{$custom-control-indicator-border-width * 4}) !default;\n\n$custom-select-padding-y: $input-padding-y !default;\n$custom-select-padding-x: $input-padding-x !default;\n$custom-select-font-family: $input-font-family !default;\n$custom-select-font-size: $input-font-size !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight: $input-font-weight !default;\n$custom-select-line-height: $input-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$custom-select-background: $custom-select-indicator no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: calc((1em + #{2 * $custom-select-padding-y}) * 3 / 4 + #{$custom-select-padding-x + $custom-select-indicator-padding}) !default;\n$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width: $input-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm: $input-padding-y-sm !default;\n$custom-select-padding-x-sm: $input-padding-x-sm !default;\n$custom-select-font-size-sm: $input-font-size-sm !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-padding-y-lg: $input-padding-y-lg !default;\n$custom-select-padding-x-lg: $input-padding-x-lg !default;\n$custom-select-font-size-lg: $input-font-size-lg !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg: $gray-500 !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-padding-y !default;\n$custom-file-padding-x: $input-padding-x !default;\n$custom-file-line-height: $input-line-height !default;\n$custom-file-font-family: $input-font-family !default;\n$custom-file-font-weight: $input-font-weight !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$form-feedback-icon-invalid-color}' viewBox='-2 -2 7 7'%3e%3cpath stroke='#{$form-feedback-icon-invalid-color}' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\"), \"#\", \"%23\") !default;\n\n$form-validation-states: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: $spacer / 2 !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $nav-divider-margin-y !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-color: null !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: $line-height-base !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: .25rem !default;\n$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-transition: $btn-transition !default;\n$badge-focus-width: $input-btn-focus-width !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Utilities\n\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\n$overflows: auto, hidden !default;\n$positions: static, relative, absolute, fixed, sticky !default;\n\n\n// Printing\n\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n }\n\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity,\n // which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n font-size: $rfs-static;\n }\n }\n @else {\n font-size: $rfs-static;\n }\n\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n &:hover { @content; }\n}\n\n@mixin hover-focus {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n","// stylelint-disable declaration-no-important, selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1, .h1 { @include font-size($h1-font-size); }\nh2, .h2 { @include font-size($h2-font-size); }\nh3, .h3 { @include font-size($h3-font-size); }\nh4, .h4 { @include font-size($h4-font-size); }\nh5, .h5 { @include font-size($h5-font-size); }\nh6, .h6 { @include font-size($h6-font-size); }\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n @include font-size($display1-size);\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n @include font-size($display2-size);\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n @include font-size($display3-size);\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n @include font-size($display4-size);\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n margin-top: $hr-margin-y;\n margin-bottom: $hr-margin-y;\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n @include font-size($small-font-size);\n font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled;\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size(90%);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n @include font-size($blockquote-font-size);\n}\n\n.blockquote-footer {\n display: block;\n @include font-size($blockquote-small-font-size);\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all ``s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid;\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid;\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer / 2;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url($file-1x);\n\n // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n // but doesn't convert dppx=>dpi.\n // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n // Compatibility info: https://caniuse.com/#feat=css-media-resolution\n @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n only screen and (min-resolution: 2dppx) { // Standardized\n background-image: url($file-2x);\n background-size: $width-1x $height-1x;\n }\n @include deprecate(\"`img-retina()`\", \"v4.3.0\", \"v5\");\n}\n","// stylelint-disable property-blacklist\n// Single side border-radius\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: $radius;\n }\n}\n","// Inline code\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-break: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n @include box-shadow($kbd-box-shadow);\n\n kbd {\n padding: 0;\n @include font-size(100%);\n font-weight: $nested-kbd-font-weight;\n @include box-shadow(none);\n }\n}\n\n// Blocks of code\npre {\n display: block;\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n vertical-align: top;\n border-top: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom: (2 * $table-border-width) solid $table-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: 2 * $table-border-width;\n }\n }\n}\n\n.table-borderless {\n th,\n td,\n thead th,\n tbody + tbody {\n border: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n @include hover {\n color: $table-hover-color;\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, theme-color-level($color, $table-bg-level), theme-color-level($color, $table-border-level));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(odd) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n @include hover {\n color: $table-dark-hover-color;\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background, $border: null) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n\n @if $border != null {\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $border;\n }\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n @include hover {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","// Bootstrap functions\n//\n// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n $prev-key: null;\n $prev-num: null;\n @each $key, $num in $map {\n @if $prev-num == null or unit($num) == \"%\" {\n // Do nothing\n } @else if not comparable($prev-num, $num) {\n @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n } @else if $prev-num >= $num {\n @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n }\n $prev-key: $key;\n $prev-num: $num;\n }\n}\n\n// Starts at zero\n// Used to ensure the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map, $map-name: \"$grid-breakpoints\") {\n $values: map-values($map);\n $first-value: nth($values, 1);\n @if $first-value != 0 {\n @warn \"First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.\";\n }\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n\n @return $string;\n}\n\n// Color contrast\n@function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) {\n $r: red($color);\n $g: green($color);\n $b: blue($color);\n\n $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;\n\n @if ($yiq >= $yiq-contrasted-threshold) {\n @return $dark;\n } @else {\n @return $light;\n }\n}\n\n// Retrieve color Sass maps\n@function color($key: \"blue\") {\n @return map-get($colors, $key);\n}\n\n@function theme-color($key: \"primary\") {\n @return map-get($theme-colors, $key);\n}\n\n@function gray($key: \"100\") {\n @return map-get($grays, $key);\n}\n\n// Request a theme color level\n@function theme-color-level($color-name: \"primary\", $level: 0) {\n $color: theme-color($color-name);\n $color-base: if($level > 0, $black, $white);\n $level: abs($level);\n\n @return mix($color-base, $color, $level * $theme-color-interval);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on `s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on ` receives focus\n // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n // match the appearance of the native widget.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: calc(#{$input-padding-y} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y} + #{$input-border-width});\n margin-bottom: 0; // Override the `

- +

@@ -529,6 +529,69 @@ public static GroupDocs.Assembly.Data.DocumentTable PresentationData() Debug.Assert(table.Columns[1].Name == "Column2"); return table; } + + /// + /// Creates an Email data source object + /// + /// Name of the template file + /// data source + /// + + public static object[] EmailDataSourceObject(string fileName, object dataSource) + { + //ExStart:EmailDataSourceObject + object[] dataSources; + string extension = Path.GetExtension(fileName); + + if ((extension == ".msg") || (extension == ".eml")) + { + List recipients = new List(); + recipients.Add("Named Recipient "); + recipients.Add("unnamed@example.com"); + + dataSources = new object[] + { + dataSource, + "Example Sender ", + recipients, + "cc@example.com", + Path.GetFileNameWithoutExtension(fileName) + }; + + } + else + { + dataSources = new object[] { dataSource }; + } + return dataSources; + //ExEnd:EmailDataSourceObject + } + + public static string[] EmailDataSourceName(string extension, string name) + { + //ExStart:EmailDataSourceName + string[] dataSourceNames; + if ((extension == ".msg") || (extension == ".eml")) + { + dataSourceNames = new string[] + { + name, + "sender", + "recipients", + "cc", + "subject" + }; + + } + else + { + dataSourceNames = new string[] { }; + } + return dataSourceNames; + //ExEnd:EmailDataSourceName + } + + } //ExEnd:DataLayer #endregion DataLayer diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj index 0ab8607..5c9a087 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj @@ -32,8 +32,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.17.5.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.17.8.0\lib\net40-client\GroupDocs.Assembly.dll True diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config index 564bf1a..52916bf 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs index 9703131..f0315a7 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs @@ -8,6 +8,7 @@ using System.Diagnostics; using GroupDocs.AssemblyExamples.ProjectEntities; using GroupDocs.Assembly.Data; +using static GroupDocs.AssemblyExamples.BusinessLayer.CommonUtilities; namespace GroupDocs.AssemblyExamples { @@ -466,6 +467,27 @@ public static void GenerateBubbleChart(string strDocumentFormat, bool isDatabase //ExEnd:GenerateBubbleChartinOpenPresentationFormat } break; + case "email": + { + //ExStart:GenerateBubbleChartinEmailFormat + //Setting up source email template + const String strEmailTemplate = "Email Templates/Bubble Chart.msg"; + //Setting up destination email report + const String strEmailReport = "Email Reports/Bubble Chart Report.msg"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Bubble Chart Report in open presentation format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.GetOrdersData()), DataLayer.EmailDataSourceName(".msg","orders")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateBubbleChartinEmailFormat + } + break; } } public static void GenerateBulletedList(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) @@ -792,6 +814,8 @@ public static void GenerateBulletedList(string strDocumentFormat, bool isDatabas { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); + // This is needed solely for images in HTML documents. + assembler.KnownTypes.Add(typeof(FileUtil)); //Call AssembleDocument to generate Bulleted List Report in html format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetProductsData(), "products"); } @@ -823,6 +847,27 @@ public static void GenerateBulletedList(string strDocumentFormat, bool isDatabas //ExEnd:GenerateBulletedListinTextFormat } break; + case "email": + { + //ExStart:GenerateBulletedListinEmailFormat + //Setting up source email template + const String strEmailTemplate = "Email Templates/Bulleted List.msg"; + //Setting up destination email report + const String strEmailReport = "Email Reports/Bulleted List Report.msg"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Bulleted List Report in email format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.GetProductsData()), DataLayer.EmailDataSourceName(".msg", "products")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateBulletedListinEmailFormat + } + break; } } @@ -1138,6 +1183,28 @@ public static void GenerateChartWithFilteringGroupingAndOrdering(string strDocum //ExEnd:GenerateChartWithFilteringGroupingAndOrderinginOpenPresentationFormat } break; + case "email": + { + //ExStart:GenerateChartWithFilteringGroupingAndOrderinginEmailFormat + //Setting up source email template + const String strEmailTemplate = "Email Templates/Chart with Filtering, Grouping, and Ordering.msg"; + //Setting up destination email report + const String strEmailReport = "Email Reports/Chart with Filtering, Grouping, and Ordering Report.msg"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Chart report with Filtering, Grouping, and Ordering in email format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.GetOrdersData()), DataLayer.EmailDataSourceName(".msg","orders")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateChartWithFilteringGroupingAndOrderinginEmailFormat + } + break; + } } public static void GenerateCommonList(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) @@ -1495,6 +1562,27 @@ public static void GenerateCommonList(string strDocumentFormat, bool isDatabase, //ExEnd:GenerateCommonListinTextFormat } break; + case "email": + { + //ExStart:GenerateCommonListinEmailFormat + //Setting up source email template + const String strEmailDocumentTemplate = "Email Templates/Common List.msg"; + //Setting up destination email report + const String strEmailDocumentReport = "Email Reports/Common List Report.msg"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Common List Report in email document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailDocumentTemplate), CommonUtilities.SetDestinationDocument(strEmailDocumentReport), DataLayer.EmailDataSourceObject(strEmailDocumentTemplate, DataLayer.PopulateData()), DataLayer.EmailDataSourceName(".msg", "customers")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateCommonListinEmailFormat + } + break; } } public static void GenerateCommonMasterDetail(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) @@ -1821,6 +1909,8 @@ public static void GenerateCommonMasterDetail(string strDocumentFormat, bool isD { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); + // This is needed solely for images in HTML documents. + assembler.KnownTypes.Add(typeof(FileUtil)); //Call AssembleDocument to generate Common Master-Detail Report in html format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.PopulateData(), "customers"); } @@ -1852,6 +1942,27 @@ public static void GenerateCommonMasterDetail(string strDocumentFormat, bool isD //ExEnd:GenerateCommonMasterDetailinTextFormat } break; + case "email": + { + //ExStart:GenerateCommonMasterDetailinEmailFormat + //Setting up source email document template + const String strEmailDocumentTemplate = "Email Templates/Common Master-Detail.msg"; + //Setting up destination email document report + const String strEmailDocumentReport = "Email Reports/Common Master-Detail Report.msg"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Common Master-Detail Report in email document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailDocumentTemplate), CommonUtilities.SetDestinationDocument(strEmailDocumentReport), DataLayer.EmailDataSourceObject(strEmailDocumentTemplate, DataLayer.PopulateData()), DataLayer.EmailDataSourceName(".msg", "customers")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateCommonMasterDetailinEmailFormat + } + break; } } public static void GenerateInParagraphList(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) @@ -2209,6 +2320,27 @@ public static void GenerateInParagraphList(string strDocumentFormat, bool isData //ExEnd:GenerateInParagraphListinTextFormat } break; + case "email": + { + //ExStart:GenerateInParagraphListinEmailFormat + //Setting up source email document template + const String strEmailDocumentTemplate = "Email Templates/In-Paragraph List.msg"; + //Setting up destination email document report + const String strEmailDocumentReport = "Email Reports/In-Paragraph List Report.msg"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Paragraph List Report in email document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailDocumentTemplate), CommonUtilities.SetDestinationDocument(strEmailDocumentReport),DataLayer.EmailDataSourceObject(strEmailDocumentTemplate, DataLayer.GetProductsData()), DataLayer.EmailDataSourceName(".msg", "products")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInParagraphListinEmailFormat + } + break; } } public static void GenerateInTableListWithAlternateContent(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) @@ -2545,6 +2677,29 @@ public static void GenerateInTableListWithAlternateContent(string strDocumentFor //ExEnd:GenerateInTableListWithAlternateContentinHtmlFormat } break; + + case "email": + + { + //ExStart:GenerateInTableListWithAlternateContentinEmailFormat + //Setting up source email template + const String strEmailTemplate = "Email Templates/In-Table List with Alternate Content.msg"; + //Setting up destination email report + const String strEmailReport = "Email Reports/In-Table List with Alternate Content Report.msg"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Table List with Alternate Content Report in email format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.GetOrdersData()),DataLayer.EmailDataSourceName(".msg", "orders")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInTableListWithAlternateContentinEmailFormat + } + break; } } public static void GenerateInTableListWithFilteringGroupingAndOrdering(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) @@ -2881,6 +3036,28 @@ public static void GenerateInTableListWithFilteringGroupingAndOrdering(string st } break; + case "email": + { + //ExStart:GenerateInTableListWithFilteringGroupingAndOrderinginEmailDocument + //Setting up source email template + const String strEmailTemplate = "Email Templates/In-Table List with Filtering, Grouping, and Ordering.msg"; + //Setting up destination email report + const String strEmailReport = "Email Reports/In-Table List with Filtering, Grouping, and Ordering Report.msg"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering Report in email format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.GetOrdersData()),DataLayer.EmailDataSourceName(".msg", "orders")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInTableListWithFilteringGroupingAndOrderinginEmailDocument + } + break; + } } public static void GenerateInTableListWithHighlightedRows(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) @@ -3217,6 +3394,28 @@ public static void GenerateInTableListWithHighlightedRows(string strDocumentForm //ExEnd:GenerateInTableListWithHighlightedRowsinHtmlDocument } break; + case "email": + { + //ExStart:GenerateInTableListWithHighlightedRowsinEmailDocument + //Setting up source email template + const String strEmailTemplate = "Email Templates/In-Table List with Highlighted Rows.msg"; + //Setting up destination email report + const String strEmailReport = "Email Reports/In-Table List with Highlighted Rows Report.msg"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Table List with Highlighted Rows Report in email format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.GetOrdersData()), DataLayer.EmailDataSourceName(".msg", "orders")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInTableListWithHighlightedRowsinEmailDocument + } + break; + } } public static void GenerateInTableList(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) @@ -3553,6 +3752,27 @@ public static void GenerateInTableList(string strDocumentFormat, bool isDatabase //ExEnd:GenerateInTableListinHtmlDocument } break; + case "email": + { + //ExStart:GenerateInTableListinEmailDocument + //Setting up source email template + const String strEmailTemplate = "Email Templates/In-Table List.msg"; + //Setting up destination email report + const String strEmailReport = "Email Reports/In-Table List Report.msg"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Table List Report in email format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport),DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.PopulateData()), DataLayer.EmailDataSourceName(".msg", "customers")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInTableListinEmailDocument + } + break; } } public static void GenerateInTableMasterDetail(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) @@ -3888,6 +4108,27 @@ public static void GenerateInTableMasterDetail(string strDocumentFormat, bool is //ExEnd:GenerateInTableMasterDetailinHtmlFormat } break; + case "email": + { + //ExStart:GenerateInTableMasterDetailinEmailFormat + //Setting up source email template + const String strEmailTemplate = "Email Templates/In-Table Master-Detail.msg"; + //Setting up destination email report + const String strEmailReport = "Email Reports/In-Table Master-Detail Report.msg"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Table Master-Detail Report in email format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.PopulateData()), DataLayer.EmailDataSourceName(".msg", "customers")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInTableMasterDetailinEmailFormat + } + break; } } @@ -3980,6 +4221,27 @@ public static void GenerateInTableListWithProgressiveTotal(string strDocumentFor //ExEnd:GenerateInTableListWithProgressiveTotalinHtmlFormat } break; + case "email": + { + //ExStart:GenerateInTableListWithProgressiveTotalinEmailFormat + //Setting up source email template + const String strEmailTemplate = "Email Templates/In-Table List with Running (Progressive) Total.msg"; + //Setting up destination email report + const String strEmailReport = "Email Reports/In-Table List with Running (Progressive) Total.msg"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate In-Table List with Progressive(Running) Total Report in email format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport),DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.GetOrdersData()), DataLayer.EmailDataSourceName(".msg", "orders")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateInTableListWithProgressiveTotalinEmailFormat + } + break; } } public static void GenerateMulticoloredNumberedList(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) @@ -4315,6 +4577,27 @@ public static void GenerateMulticoloredNumberedList(string strDocumentFormat, bo //ExEnd:GenerateMulticoloredNumberedListinHtml } break; + case "email": + { + //ExStart:GenerateMulticoloredNumberedListinEmail + //Setting up source email template + const String strEmailDocumentTemplate = "Email Templates/Multicolored Numbered List.msg"; + //Setting up destination email report + const String strEmailDocumentReport = "Email Reports/Multicolored Numbered List Report.msg"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Multicolored Numbered List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailDocumentTemplate), CommonUtilities.SetDestinationDocument(strEmailDocumentReport), DataLayer.EmailDataSourceObject(strEmailDocumentTemplate, DataLayer.GetProductsData()), DataLayer.EmailDataSourceName(".msg", "products")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateMulticoloredNumberedListinEmail + } + break; } } @@ -4673,6 +4956,27 @@ public static void GenerateNumberedList(string strDocumentFormat, bool isDatabas //ExEnd:GenerateNumberedListinTextFormat } break; + case "email": + { + //ExStart:GenerateNumberedListinEmailFormat + //Setting up source email template + const String strEmailDocumentTemplate = "Email Templates/Numbered List.msg"; + //Setting up destination email report + const String strEmailDocumentReport = "Email Reports/Numbered List Report.msg"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Numbered List Report in email format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailDocumentTemplate), CommonUtilities.SetDestinationDocument(strEmailDocumentReport), DataLayer.EmailDataSourceObject(strEmailDocumentTemplate, DataLayer.GetProductsData()), DataLayer.EmailDataSourceName(".msg","products")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateNumberedListinEmailFormat + } + break; } } public static void GeneratePieChart(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) @@ -4987,6 +5291,27 @@ public static void GeneratePieChart(string strDocumentFormat, bool isDatabase, b //ExEnd:GeneratePieChartinOpenPresentationFormat } break; + case "email": + { + //ExStart:GeneratePieChartiEmailFormat + //Setting up source email template + const String strEmailTemplate = "Email Templates/Pie Chart.msg"; + //Setting up destination email report + const String strEmailReport = "Email Reports/Pie Chart Report.msg"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Pie Chart Report in email format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport),DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.PopulateData()), DataLayer.EmailDataSourceName(".msg", "customers")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GeneratePieChartiEmailFormat + } + break; } } public static void GenerateScatterChart(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) @@ -5301,6 +5626,27 @@ public static void GenerateScatterChart(string strDocumentFormat, bool isDatabas //ExEnd:GenerateScatterChartinOpenPresentationFormat } break; + case "email": + { + //ExStart:GenerateScatterChartinEmailFormat + //Setting up source email template + const string strEmailTemplate = "Email Templates/Scatter Chart.msg"; + //Setting up destination email report + const String strEmailReport = "Email Reports/Scatter Chart Report.msg"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Scatter Chart Report in email format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.GetOrdersData()), DataLayer.EmailDataSourceName(".msg", "orders")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateScatterChartinEmailFormat + } + break; } } public static void GenerateSingleRow(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) @@ -5626,6 +5972,8 @@ public static void GenerateSingleRow(string strDocumentFormat, bool isDatabase, { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); + // This is needed solely for images in HTML documents. + assembler.KnownTypes.Add(typeof(FileUtil)); //Call AssembleDocument to generate Single Row Report in html format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomerData(), "customer"); } @@ -5658,6 +6006,28 @@ public static void GenerateSingleRow(string strDocumentFormat, bool isDatabase, //ExEnd:GenerateSingleRowinTextFormat } break; + + case "email": + { + //ExStart:GenerateSingleRowinEmailFormat + //Setting up source email format template + const String strEmailTemplate = "Email Templates/Single Row.msg"; + //Setting up destination email format report + const String strEmailReport = "Email Reports/Single Row Report.msg"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Single Row Report in email format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.GetCustomerData()), DataLayer.EmailDataSourceName(".msg", "customer")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateSingleRowinEmailFormat + } + break; } } public static void GenerateReportLazilyAndRecursively() diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj index fb80712..ad41957 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj @@ -34,8 +34,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.17.5.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.17.8.0\lib\net40-client\GroupDocs.Assembly.dll True diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs index 7ebe876..6aeafe6 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs @@ -29,6 +29,10 @@ static void Main(string[] args) //Generate a Bulleted List report in presentation format //GenerateReport.GenerateBubbleChart("presentation", false, false, false, true); + + //Generate a Bubble chart report in email format + //GenerateReport.GenerateBubbleChart("email", false, false, false, false); + #endregion #region Generating Bulleted List Report @@ -46,6 +50,9 @@ static void Main(string[] args) //Generate a Bulleted List report in text format //GenerateReport.GenerateBulletedList("text", false, false, false, false); + + //Generate a Bulleted List report in email format + //GenerateReport.GenerateBulletedList("email", false, false, false, false); #endregion #region Generating Chart report with Filtering, Grouping, and Ordering @@ -57,6 +64,9 @@ static void Main(string[] args) //Generate a Chart report with Filtering, Grouping, and Ordering in presentation format //GenerateReport.GenerateChartWithFilteringGroupingAndOrdering("presentation", false, false, false, true); + + //Generate a Chart report with Filtering, Grouping, and Ordering in email format + //GenerateReport.GenerateChartWithFilteringGroupingAndOrdering("email", false, false, false, false); #endregion #region Generating Common List Report @@ -74,6 +84,9 @@ static void Main(string[] args) //Generate a Common List Report in text format //GenerateReport.GenerateCommonList("text", false, false, false, false); + + //Generate a Common List Report in email format + //GenerateReport.GenerateCommonList("email", false, false, false, false); #endregion #region Generating Common Master-Detail Report @@ -92,108 +105,134 @@ static void Main(string[] args) //Generate a Common Master-Detail Report in text format //GenerateReport.GenerateCommonMasterDetail("text", false, false, false, false); + //Generate a Common Master-Detail Report in email format + //GenerateReport.GenerateCommonMasterDetail("email", false, false, false, false); + #endregion #region Generating In-Paragraph List Report - //Generate a In-Paragraph List Report in document processing format + //Generate an In-Paragraph List Report in document processing format //GenerateReport.GenerateInParagraphList("document", false, false, false, true); - //Generate a In-Paragraph List Report in spreadsheet format + //Generate an In-Paragraph List Report in spreadsheet format //GenerateReport.GenerateInParagraphList("spreadsheet", false, false, false, true); - //Generate a In-Paragraph List Report in presentation format + //Generate an In-Paragraph List Report in presentation format //GenerateReport.GenerateInParagraphList("presentation", false, false, false, true); - //Generate a In-Paragraph List Report in html format + //Generate an In-Paragraph List Report in html format //GenerateReport.GenerateInParagraphList("html", false, false, false, false); - //Generate a In-Paragraph List Report in text format + //Generate an In-Paragraph List Report in text format //GenerateReport.GenerateInParagraphList("text", false, false, false, false); + + //Generate an In-Paragraph List Report in email format + //GenerateReport.GenerateInParagraphList("email", false, false, false, false); #endregion #region Generating In-Table with Alternate Content Report - //Generate a In-Table List with Alternate Content Report in document processing format + //Generate an In-Table List with Alternate Content Report in document processing format //GenerateReport.GenerateInTableListWithAlternateContent("document", false, false, false, true); - //Generate a In-Table List with Alternate Content Report in spreadsheet format + //Generate an In-Table List with Alternate Content Report in spreadsheet format //GenerateReport.GenerateInTableListWithAlternateContent("spreadsheet", false, false, false, true); - //Generate a In-Table List with Alternate Content Report in presentation format + //Generate an In-Table List with Alternate Content Report in presentation format //GenerateReport.GenerateInTableListWithAlternateContent("presentation", false, false, false, true); - //Generate a In-Table List with Alternate Content Report in html format + //Generate an In-Table List with Alternate Content Report in html format //GenerateReport.GenerateInTableListWithAlternateContent("html", false, false, false, false); + //Generate an In-Table List with Alternate Content Report in email format + //GenerateReport.GenerateInTableListWithAlternateContent("email", false, false, false, false); + #endregion #region Generating In-Table with Filtering, Grouping and Ordering Report - //Generate a In-Table List with Filtering, Grouping, and Ordering Report in document processing format + //Generate an In-Table List with Filtering, Grouping, and Ordering Report in document processing format //GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("document", false, false, false, true); - //Generate a In-Table List with Filtering, Grouping, and Ordering Report in spreadsheet format + //Generate an In-Table List with Filtering, Grouping, and Ordering Report in spreadsheet format //GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("spreadsheet", false, false, false, true); - //Generate a In-Table List with Filtering, Grouping, and Ordering Report in presentation format + //Generate an In-Table List with Filtering, Grouping, and Ordering Report in presentation format //GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("presentation", false, false, false, true); - //Generate a In-Table List with Filtering, Grouping, and Ordering Report in html format + //Generate an In-Table List with Filtering, Grouping, and Ordering Report in html format //GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("html", false, false, false, false); + + //Generate an In-Table List with Filtering, Grouping, and Ordering Report in email format + //GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("email", false, false, false, false); #endregion #region Generating In-Table List with Highlighted Rows Report - //Generate a In-Table List with Highlighted Rows Report in document processing format + //Generate an In-Table List with Highlighted Rows Report in document processing format //GenerateReport.GenerateInTableListWithHighlightedRows("document", false, false, false, true); - //Generate a In-Table List with Highlighted Rows Report in spreadsheet format + //Generate an In-Table List with Highlighted Rows Report in spreadsheet format //GenerateReport.GenerateInTableListWithHighlightedRows("spreadsheet", false, false, false, true); - //Generate a In-Table List with Highlighted Rows Report in presentation format + //Generate an In-Table List with Highlighted Rows Report in presentation format //GenerateReport.GenerateInTableListWithHighlightedRows("presentation", false, false, false, true); - //Generate a In-Table List with Highlighted Rows Report in html format + //Generate an In-Table List with Highlighted Rows Report in html format //GenerateReport.GenerateInTableListWithHighlightedRows("html", false, false, false, false); + + //Generate an In-Table List with Highlighted Rows Report in email format + //GenerateReport.GenerateInTableListWithHighlightedRows("email", false, false, false, false); + + #endregion #region Generating In-Table List Report - //Generate a In-Table List Report in document processing format + //Generate an In-Table List Report in document processing format //GenerateReport.GenerateInTableList("document", false, false, false, true); - //Generate a In-Table List Report in spreadsheet format + //Generate an In-Table List Report in spreadsheet format //GenerateReport.GenerateInTableList("spreadsheet", false, false, false, true); - //Generate a In-Table List Report in presentation format + //Generate an In-Table List Report in presentation format //GenerateReport.GenerateInTableList("presentation", false, false, false, true); - //Generate a In-Table List Report in html format + //Generate an In-Table List Report in html format //GenerateReport.GenerateInTableList("html", false, false, false, false); + + //Generate an In-Table List Report in email format + //GenerateReport.GenerateInTableList("email", false, false, false, false); #endregion #region Generating In-Table Master-Detail Report - //Generate a In-Table Master-Detail Report in document processing format + //Generate an In-Table Master-Detail Report in document processing format //GenerateReport.GenerateInTableMasterDetail("document", false, false, false, true); - //Generate a In-Table Master-Detail Report in spreadsheet format + //Generate an In-Table Master-Detail Report in spreadsheet format //GenerateReport.GenerateInTableMasterDetail("spreadsheet", false, false, false, true); - //Generate a In-Table Master-Detail Report in presentation format + //Generate an In-Table Master-Detail Report in presentation format //GenerateReport.GenerateInTableMasterDetail("presentation", false, false, false, true); - //Generate a In-Table Master-Detail Report in html format + //Generate an In-Table Master-Detail Report in html format //GenerateReport.GenerateInTableMasterDetail("html", false, false, false, false); + + //Generate an In-Table Master-Detail Report in email format + //GenerateReport.GenerateInTableMasterDetail("email", false, false, false, false); #endregion #region Generating In-Table with Running (Progressive) Total Report - //Generate a In-Table List with Running (Progressive) Total Report in document processing format + //Generate an In-Table List with Running (Progressive) Total Report in document processing format //GenerateReport.GenerateInTableListWithProgressiveTotal("document", false, false, false, false); - //Generate a In-Table List with Running (Progressive) Total Report in spreadsheet format + //Generate an In-Table List with Running (Progressive) Total Report in spreadsheet format //GenerateReport.GenerateInTableListWithProgressiveTotal("spreadsheet", false, false, false, false); - //Generate a In-Table List with Running (Progressive) Total Report in presentation format + //Generate an In-Table List with Running (Progressive) Total Report in presentation format //GenerateReport.GenerateInTableListWithProgressiveTotal("presentation", false, false, false, false); - //Generate a In-Table List with Running (Progressive) Total Report in html format + //Generate an In-Table List with Running (Progressive) Total Report in html format //GenerateReport.GenerateInTableListWithProgressiveTotal("html", false, false, false, false); + + //Generate an In-Table List with Running (Progressive) Total Report in email format + //GenerateReport.GenerateInTableListWithProgressiveTotal("email", false, false, false, false); #endregion #region Generating Multicolored Number List Report @@ -208,6 +247,9 @@ static void Main(string[] args) //Generate a Multicolored Numbered List Report in html format //GenerateReport.GenerateMulticoloredNumberedList("html", false, false, false, false); + + //Generate a Multicolored Numbered List Report in email format + //GenerateReport.GenerateMulticoloredNumberedList("email", false, false, false, false); #endregion #region Generating Numbered List Report @@ -221,10 +263,13 @@ static void Main(string[] args) //GenerateReport.GenerateNumberedList("presentation", false, false, false, true); //Generate a Numbered List Report in html format - GenerateReport.GenerateNumberedList("html", false, false, false, false); + //GenerateReport.GenerateNumberedList("html", false, false, false, false); //Generate a Numbered List Report in text format //GenerateReport.GenerateNumberedList("text", false, false, false, false); + + //Generate a Numbered List Report in email format + //GenerateReport.GenerateNumberedList("email", false, false, false, false); #endregion #region Generating Pie Chart Report @@ -236,6 +281,9 @@ static void Main(string[] args) //Generate a Pie Chart Report in presentation format //GenerateReport.GeneratePieChart("presentation", false, false, true, false); + + //Generate a Pie Chart Report in email format + //GenerateReport.GeneratePieChart("email", false, false, false, false); #endregion #region Generating Scatter Chart Report @@ -247,6 +295,9 @@ static void Main(string[] args) //Generate a Scatter Chart Report in presentation format //GenerateReport.GenerateScatterChart("presentation", false, false, false, true); + + //Generate a Scatter Chart Report in email format + //GenerateReport.GenerateScatterChart("email", false, false, false, false); #endregion #region Generating Single Row Report @@ -264,6 +315,9 @@ static void Main(string[] args) //Generate a Single Row Report in text format //GenerateReport.GenerateSingleRow("text", false, false, false, false); + + //Generate a Single Row Report in email format + //GenerateReport.GenerateSingleRow("email", false, false, false, false); #endregion #region Generating Report by Recursively and Lazily Accessing the Data diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config index e883c5d..ead65a3 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Examples/Data/Destination/Email Reports/Pie Chart Report.msg b/Examples/Data/Destination/Email Reports/Pie Chart Report.msg new file mode 100644 index 0000000000000000000000000000000000000000..8e34c1a01e2094629203aa42d46b815c89ad3104 GIT binary patch literal 45056 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 C$LazA literal 0 HcmV?d00001 diff --git a/Examples/Data/Destination/Email Reports/Scatter Chart Report.msg b/Examples/Data/Destination/Email Reports/Scatter Chart Report.msg new file mode 100644 index 0000000000000000000000000000000000000000..e84dac855b64ecdef6520e1ed72b081bb947ace2 GIT binary patch literal 45056 zcmeHw2_RNa*Z3e=LnV}5dkIfjitLq2qS7kK7Rr{rgjPv~_MLY9Dion8Duou&W=+~l z))xErKQoVO3tex&_x*nV?|Vn*IrrRqX3i{U&YUxIpQo(Mfp1P-9rhM=Nz#Z7HMek~ z{vGbKz_ltx3m~Kd*K7dIEiEnh_96hd{BQdIs0Vf!&D9&gJ&YTMZosUW)8-?@s*4cI z0!}>esvMjr0I|5v*V93fPsECW=x3vCppDSgV4g;EcA&YOXD)R`h%W^LOPbRKD}+W} zn>9__*lR^uVV$R`^{uqEzOJ>i4n0aftAEu&$9TERee*k2!eZQR{aMmjPiV1BKkFfQ zghMSW`e03D1KXoT4~^sxD$m+|Wc5gcfeWs%$X**TG@{J)hfi+iw+}ZG?Gk>hn;qZK zw5%jC|3~RQ*S*hmtJS>22FukKR``Av@i&Km7gaU

7ugL|73zFoTx`ZJa$E?r5DG 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 literal 0 HcmV?d00001 diff --git a/Examples/Data/Destination/Email Reports/Single Row Report.msg b/Examples/Data/Destination/Email Reports/Single Row Report.msg new file mode 100644 index 0000000000000000000000000000000000000000..d398d9f14a1c428b8547d252923a33b4aad0a540 GIT binary patch literal 34304 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 Oe*o%viw*bxY4|@yaK4-X literal 0 HcmV?d00001 diff --git a/Examples/Data/Destination/HTML Reports/Common Master-Detail Report.html b/Examples/Data/Destination/HTML Reports/Common Master-Detail Report.html new file mode 100644 index 0000000..e69de29 diff --git a/Examples/Data/Source/Email Templates/Bubble Chart.eml b/Examples/Data/Source/Email Templates/Bubble Chart.eml new file mode 100644 index 0000000..b2a3de9 --- /dev/null +++ b/Examples/Data/Source/Email Templates/Bubble Chart.eml @@ -0,0 +1,3192 @@ +Message-ID: <4aa433afb39a420ebf6070289a751bc9> +From: "<<[sender]>>" +Subject: <<[subject]>> +To: "<><<[r]>>", "<>" +Cc: "<<[cc]>>" +X-Unsent: 1 +Date: Mon, 7 Aug 2017 23:08:21 +0000 +MIME-Version: 1.0 +Content-Type: multipart/mixed; + boundary="--_=_NextPart2_c83bbef7-c751-48ab-83eb-86c8541a3cfc" + +This is a multi-part message in MIME format. + +----_=_NextPart2_c83bbef7-c751-48ab-83eb-86c8541a3cfc +Content-Type: multipart/related; type="multipart/alternative"; boundary="--_=_NextPart1_59818144-124b-42e8-a45b-867d9a11c6ff" + + +----_=_NextPart1_59818144-124b-42e8-a45b-867d9a11c6ff +Content-Type: multipart/alternative; boundary="--_=_NextPart0_6d86f7c5-5f80-4385-9509-23271f500302" + + +----_=_NextPart0_6d86f7c5-5f80-4385-9509-23271f500302 +Content-Type: text/plain; charset="utf-8" +Content-Transfer-Encoding: quoted-printable + + + +----_=_NextPart0_6d86f7c5-5f80-4385-9509-23271f500302 +Content-Type: text/html; charset="koi8-r" +Content-Transfer-Encoding: quoted-printable + + +<= +meta name=3D"ProgId" content=3D"Word=2EDocument">

+----_=_NextPart0_6d86f7c5-5f80-4385-9509-23271f500302-- + +----_=_NextPart1_59818144-124b-42e8-a45b-867d9a11c6ff +Content-Type: application/octet-stream; name="oledata.mso" +Content-Transfer-Encoding: base64 +Content-ID: + +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 +33+Rf+wThONO0WDxxgADAJ2omoU= +----_=_NextPart1_59818144-124b-42e8-a45b-867d9a11c6ff +Content-Type: image/png; name="image003.png" +Content-Transfer-Encoding: base64 +Content-ID: + +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 +QXQcKu38/PwQFRVl13mptP2QfdeD1eRvMzuI7969g4uLi7RtZmZGW8oo2EHcGHzO2sow7CAyS+LI +isbRldiHOIj/f3v/9R3Vta3rw3/UuTgX5+bcfO3bZ++99lq2lwMGbHKUhHLOOeecc85ZKIFAEkpk +ECCCwYGcwYCN1/vrfdQsUdZSljCzRvWntd5KlCqMmu+cpfkwxhzD9g+lPQ2FcuQ/YssJImN7ouro +Jz9mFUTO7s6dO2p/4H+vJBTWfYeP0SdPnphSslazf5sxj/V87y32PHv8TvorMZMgCkvjyH9bBUEE +UViSlb5obP/ILVULTxxse3UWK9s/YrYn90vVUic06xFE6wnrer9Y17M9GNvnNTc3q22+8HlcG9mW +K70Hb6eNbO+Vnmtty1ravBrWIoi2J2Kr2R5WltuXVvu5raxmH1koSMs9Zy37qu3rVFVVLdtu2zZY +vwcW3m/Lah6zkIXZWfeN5T6TdXtbH2P7mRY70V7N9jbDMblcHiu1b2Gtdp+wHSnBtVpRWe55K31+ +62M/Vi62x+hq3mPhvvpXfAcyG8l+rVgzWeo7klnqO26l7W2ttbbzY3xvrmd/sdbC5673OF5qn/wr +9qv1tnlhrff8R9APEURhSZYTxNWcENp+YS18zEryuRqWk4P1CKL1Oev5o7yR7WH7Zb3U9rC2bbHP +upptufAPwlJtXI6ltvdKn53fOyUl5U9t24z8mdXsA4v9fi3bY6l9aa2f2/r4pfYv2zbZnnRbP+Na +9uXFsH39pbb7Uvuo9f7FnrdUu1diseys9y22jWxPlKxtW+69V8qHMcsxudb3WOs+Yfte1lpNVut9 +3nKff7NyWe756z3WVmKp75uVPhO/n+13ge37r2f/WgvWbbnc6yz1Hfcx2rnWbbVZ+8t62m9976We +y9i+x8L3Xy2btV8xq2nzWr8/BMdEBFFYkuW+aJb6g7KQpR63mi8xKwu/gBfWYl/sq22fLdbnrEcQ +N7I9bD/fUicr1j+Ai7VtrX/EVjohWuv2Xs+2Xkv+y2H9Q7dYbdb2WOrzrfVzWx+/mlpq/+Ba7zZb +7Wde6fMuzH+pk5uVWOp5i73PUm1f7jOtNp/FHreabfVXHJNLvYftc7mWeh9bqV4u84Ws93lWPtbf +jtVsM8b63NXUYu1YuH0X1ka/Aze6f60F6+ssd3wu1f6P0c61bqvVPn6xx220/br+bV3YjuUeKzgu +IojCknysP/LMar7ErF/cS73Pciem6/litX2/tf4v4Ea2h1n+iK13e69nW6+mzathvXKylj/qS32+ +tX7u9WynxbDNiWu1++pqP/NS7bR9vvV3y+2XK7FUdou9z2ratPAzrXZ7L/a41Wyrv/KYXGn7rrRP +2L7XUo9ZjPU+72P97VjNNmNW+x4Lsd2Oiz13s74DNzP7lbC+znLfkUu1/2O0c63barWPX+xxG22/ +o/xttW0f11rPfwQ9EUEUlmS5LxrbL5Slvkysj1ns+dbXXu751i/Hpf6wLff79XyxMtYvaq7lTkD4 +f9jd3NzmP9dGtsdm/RFb7r1X8x7r3d6r+ez8XNvfrabNq+FTCuJaP/dS+a+XtX5228+81MncSm20 +7Vni91845HMtLNd+2/3DWos9brkcV5PPUp/XLMfkcu+xGGvZJ6z7tbVWOg6srOZ51s+/2H70sXNh +lnr+Slg/21Lbb6nfr+Yz2X4XfIzsl8L6OsvtE9bPtfA77mO0c63bajWPtz7GrMfxX7VfMRv527re +v6eCnoggCkuy3B95xvZkcalazR8l27L9kl7p9T08PFT7FnsP62uvVRAZ2y/85WrhH4P1bo/N+CO8 +0rZczXtsZHvb/lFarJbLyLZWe5JhZb1/0FazPawsty+t9XOvZh+xPd5W2hfXsr2sr8WvzycOS7V7 +pde0PWnhWmn7LcVK2dm+z1JtWilHez8mF3uPzdwnbOE81vPcxZ73sf52rGabWVnrscb8Vd+Bm7F/ +rRbr6yx1nDFLfcd9rHZ+jO/N9e4vf8Vx/FftV1aWa7Ntexerje5vgj6IIAqCIAhrwnoCstxJpyAI +n57VCKIgCMJCRBAFQRCEVWPt+ZP/aRYE8yOCKAjCehBBFARBEFaF9WSTa63XtwiC8Nez2BDF9Vx6 +IQiCYyGCKAiCIAiCIAiCIChEEAVBEARBEARBEASFCKIgCIIgCIIgCIKgEEEUBEEQBEEQBEEQFCKI +giAIgiAIgiAIgkIEURAEu2ephZ4FQVgdq1nweylsn7vU7LYLF+9eahF9YX3YzjBsLXv7PpR9RBDM +gwiiIKyBd+/ewcnJ6U9/xJYqR1sGwLo+3kq12dvF+r6yztfGWW2GXLrt3ws/+1pOThf7XlirZH1q +NiKIjHUbrLTdVvs4YW2sZr3Dlb4rbY+BT3l8yz4iCJ8eEURBWAW2a0mtZoFwfvzhw4cdaiHxlU4+ +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 +DX/1fvqchHHy9mtUzTxD7YV3aLxM0njlD7TO0u3sbySQb9Fy6Q2aL7xG07mXaDzzDA2nn6Ju5glq +ph6h6tR9lI/+jNKRH1EycgfFx35A4dBN5A9eR17/NeT0zSKLZDKz+xLSOy8ipf0cUjsuIMVa7VSd +l5BIt/zY45fukRC+M1pn/+j6veOoSJ56IXnqheSpF5KnXpgpT24LlwiiYDeYYT9labzz5B0u332L +kZtvUXDqOarPvUXV2TeoI4msPf8WdeffoPbca9SefY2aMy9Qdfo5KqefoXzyMcomHqGUqmT8IYpH +76Pw5D3kHv8FWUM/opBEsm7iF5y8+hi3H/1qvKO+6Pq946hInnoheeqF5KkXkqdemClPbguXCKJg +N+i6nzoqkqdeSJ56IXnqheSpF5KnXpgpT24LlwiiYDfoup86KpKnXkieeiF56oXkqReSp16YKU9u +C5cIomA36LqfOiqSp15InnoheeqF5KkXkqdemClPbguXCKJgN+i6nzoqkqdeSJ56IXnqheSpF5Kn +XpgpT24LlwiiYDfoup86KpKnXkieeiF56oXkqReSp16YKU9uC9cnE8SKigokJSUZ/wJmZ2exZcuW +P923UUQQ9cJMB5CwcSRPvZA89ULy1AvJUy8kT70wU57cFi5T9SCy0O3YsQPPnz837tkYIoh6YaYD +SNg4kqdeSJ56IXnqheSpF5KnXpgpT24Ll2kE8f79+9izZw8aGhqMezaOCKJemOkAEjaO5KkXkqde +SJ56IXnqheSpF2bKk9vCZQpB5OGm27Ztw9zcnHHP5iCCqBdmOoCEjSN56oXkqReSp15InnoheeqF +mfLktnB9UkFkgePrDjez19AWEUS9MNMBJGwcyVMvJE+9kDz1QvLUC8lTL8yUJ7eF65MI4vv375GQ +kKDkcLHarIlqRBD1wkwHkLBxJE+9kDz1QvLUC8lTLyRPvTBTntwWLlNNUrPZiCDqha77qaMieeqF +5KkXkqdeSJ56IXnqhZny5LZwiSAKdoOu+6mjInnqheSpF5KnXkieeiF56oWZ8uS2cIkgCnaDrvup +oyJ56oXkqReSp15InnoheeqFmfLktnCJIAp2g677qaMieeqF5KkXkqdeSJ56IXnqhZny5LZwiSAK +doOu+6mjInnqheSpF5KnXkieeiF56oWZ8uS2cIkgCnaDrvupoyJ56oXkqReSp15InnoheeqFmfLk +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 +AAAASUVORK5CYII= +----_=_NextPart1_59818144-124b-42e8-a45b-867d9a11c6ff +Content-Type: image/png; name="image004.png" +Content-Transfer-Encoding: base64 +Content-ID: + +iVBORw0KGgoAAAANSUhEUgAAAkMAAAFTCAYAAAA6BwidAAAAAXNSR0IArs4c6QAAAAlwSFlzAAAO +xAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUATWljcm9zb2Z0IE9mZmljZX/tNXEAAJ4NSURBVHhe +7Z0JgGRVee+/3vfZmAWYAWYY9n0A2UR2EEVRUYxKEJeoiVuiyYs+8/TF50tM1Bc1iZpoxGhciIII +iIrsiqKAbMM+MMAMw+x779XV/b7fd+6puVN0d1V3V013dX0H7lR39V3O+Z9zz/mfb61/8sknf1VX +V/eKTCYjXhwBR8ARcAQcAUfAEagWBBoaGiSbzT5Qr+UVM2fOlObm5mppu7fTEXAEHAFHwBFwBBwB +6e3tlW3bti2r7+/vl9bWVmlpaXFYHAFHwBFwBBwBR8ARqBoEamtrZePGjVJPiwcHB6um4d5QR8AR +cAQcAUfAEXAE0vzHyJAXR8ARcAQcAUfAEXAEqhUBJ0PV2vPebkfAEXAEHAFHwBEwBJwM+UBwBBwB +R8ARcAQcgapGwMlQVXe/N94RcAQcAUfAEXAEnAz5GHAEHAFHwBFwBByBqkbAyVBVd7833hFwBBwB +R8ARcAScDPkYcAQcAUfAEXAEHIGqRsDJUFV3vzfeEXAEHAFHwBFwBJwM+RhwBBwBR8ARcAQcgapG +wMlQVXe/N94RcAQcAUfAEXAEnAz5GHAEHAFHwBFwBByBqkbAydA06v6BgQHJZDLS3NwsNTU106hl +3pRCCPT19dkpTU1NhU6dln8n4fTQ0NCUan93d7dhzftIMsipXuL8wRgab33Jc8lYpC/q6uqmVH9M +dfy9fpOLgJOhycW/pE+/+eab5dZbb5WPf/zjMnfu3JLe2282tRH42te+ZovPBz/4waokwv/xH/8h +PT098ud//udSXz+501o2m5Uf/vCHct1111lf/I//8T/k+OOPn9oDSGv3+9//Xq6++mr5i7/4Czng +gAPGVd+HHnpI/vVf/1V27twpxx13nHzsYx+zcenFEZjqCEzurDHV0Smyfkhjvv3tb8uzzz5rEzFH +a2ursDNkt8XB5PLOd75TGhoairzr2E/r7e2Vbdu2CZNxofLiiy/ahL1p0yY79fTTT5dzzjlHGhsb +C1067f7+wgsvyDXXXGPYsbOlv/bff3+59NJLZc6cOQXbe++998odd9whb37zm8e9iBR8SIETduzY +URYSwPj47//+b9myZYu88pWvlJNOOmnYmiAJYDw9+uijctppp8mFF1440SaN6frOzk7p6uoa0zXl +Opnx8NOf/lTe+MY3yqJFi2S//fYr16NKel8kOrwDjP/xls2bNwtSuj/5kz+xdiNhol/+67/+S/bZ +Zx953eteN95b+3WOQFkRcDJUInhnzZol8+bNswWJCeFXv/qV7Qb5jsmFvxdTnn76aWFxPvXUU8cs +Ymbi4fmFVGS33XabfP3rX5cFCxbIQQcdZOczef/2t7+Vv/7rv5b29vZiqlr0ORCvxx57TE4++WTp +6Ogo+rqJnPjUU0/J2rVrDcdCBI8F4K677pJDDjnEJmwW9gceeMDw+MQnPiGHHnroqFV55pln5Kab +bjIyOd4d9UTayrX0ezl24JCMe+65xxZJdvtHHHHEsONj+fLl8uMf/1gg5BDIcpGhBx980NQwkLL0 +OKftky0Rin1IHXnv3/CGN0yZOhUzvoqdP0a7F33CO37WWWfl3jvGxO23325jp5LI0EhjrRgsx3MO +G7G7775bZs6cKUcdddR4buHXTAABJ0MTAC9eirTnTW96U+5OLI4rVqyQyy67zMjGWMr9998vN9xw +g7z85S8fy2VFn8vOHTE2xOQDH/hAbmGDwF177bW26JWaDK1atUq+8pWvyNFHH73HyNB9991nBOUV +r3hFQWxYBGjzW9/61twkBIGDGF511VXyP//n/xyVUL32ta+1yb8YKVLBykzwhEJEeKy3j4vby172 +MmFscpxxxhkvuQ0Em8WOCb2cpOSXv/ylbNiwwcbvcGW8ti6j4cK7MXv27FHtaJCgRdU0m58ZM2aU +FYex9uNYzp/oGGIzgTQobkLA7l/+5V8KbkrGUsc9cW6hsVbqOjB2v//978thhx3mZKjU4BZxPydD +RYA01lOi4WT8TF+PTc/q1avtq6VLl+YWayZQXj4kEuxyUbthyMjCE6UN6ONZjFhsIGBnn322SXfG +Un7xi1/YzuPd7373bqRnr732MtF2uqxfv15uueUWU7vxTOqC2D8WSN/KlSvlzDPPFMjHk08+aYvA ++eefb58UJGR33nmntLW1mT0CpOOEE06wl51ruQdqFdRMLDqQClRUSCMgbjwXHM4777yXkA0kBD// ++c9l69attli96lWvsnN/9rOfycMPP2yL17e+9S37jjoWUldgcxLLvvvua5I96ofYn4md3S3txyAW ++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 +RK5CYII= +----_=_NextPart1_59818144-124b-42e8-a45b-867d9a11c6ff-- + +----_=_NextPart2_c83bbef7-c751-48ab-83eb-86c8541a3cfc +Content-Type: application/octet-stream; name="ExampleAttachment.txt" +Content-Transfer-Encoding: base64 +Content-Disposition: attachment + +U3ViamVjdDogPDxbc3ViamVjdF0+Pg== +----_=_NextPart2_c83bbef7-c751-48ab-83eb-86c8541a3cfc-- + diff --git a/Examples/Data/Source/Email Templates/Bubble Chart.msg b/Examples/Data/Source/Email Templates/Bubble Chart.msg new file mode 100644 index 0000000000000000000000000000000000000000..5179bdcb1101a78f9160905b5fea48890bfae3dd GIT binary patch literal 314880 zcmeFa2V4`)+Q1unCqWcZ#Dro2g@oP-RYAeftf-+EDG41^2x7yUAa>Ls_C^qF*aD&= zwjhckC_%A-Xkta`-e-gO^7>lvobR0b-QWF&{C9R{XXlxjoj$WmHBY5!_wkWWFyASA zj0C0^k;6z2u$O{!@qRN7gTcbN1kj5h2x^UPa5JMX1+1GOtMqI34KC1t~$v>5+(?aiJ0)O z@uWgrT>(>o1a^N*#(}qE^uNY`G}sO{{^%15`|683gr;X;0uDI$folVd|Mk=H5Jt~I zguxix#SFroEx5A->;W?105}3pz}!LH|6fml|AN5(X8A9hx;zFg|3e|Y|F8U`iO^U7 z{J&ZL`?Ht|gaxe!(6$`aqoF*gf}ISY1O!2)A@|kIG`J=U=kmZ1Kp7YZK$ieB3{V4x z1M0vCU?iXc5COEFLjA{sZUkrn+JFwA3ycBA0(t;i{uKayU;;1^FaQhzG@NLAU;^}) ze=3C049rZx0=Mshi57#hNdZG2gK>C-S-;d z%2H9iQ>5Eh|9pS_-!-GM`_;ee*S~Uqzid?h)B6YB`~TN-C#cWnLEZ5u@u$E&qad;W zwl=;$6BHN4nj(iX#DX*H~+fjxBman;!ko<6v=nE@=y7{N`E70-O%3u zZ|dLQ%KtuUVvuLhwi8u9laJQ4rcm#r`e4Q%{dv33*IysewixXjpz2rh%?CODLE92l z;AiQN${DE8c0%^6#joX?{YT>O2(r;W5vqPA-$Eq)x9KnHgAE101{;3|a63@`ztaAi zfFGzr+g~&-(SC;xYViYwWA%-H38(w?flhuEe0WQG*YIh0r3g9wu1-J@S0^f(> zCfMEjfqf0w-5p?m|Lb|(SG^wehOg(3K^KR#R|T5B+C2rm8F&Uf2VMX#fmc8a&4|x<@c5R|3vve3Bm_c{}}y2|H~Hq9Blkg43LlB^M7jaDR2wQ?QMVuR0DT_8UUTu zzX#L;_kjmM9q5yXa!yaZNMAgEg%4d zz&qeQ@B#P;d;&fL?Z6kH1Ly?0fNr1%=mih}UCjGg{wKjK*d&-e8%+5_Q;+-y`R@?8 zl>|`rGx>e}k3rQxVkGd#1wg}r`uRI$4i4V3`&^;&|J&{Fc@W*-{{Afff13VioCX{J zB5*q}{o`TQF&IYhbV!RIt-Ael_RY92@!)6;<8K+z<$%fGY`;5+{MzsD*9Tlig(X{3`cH^M5}}e@n>u<}iai*!mwWPG}hZDg2){yTMBPtM#ws zlVD|P5amxK7nO~we@gqOjXYQp6#MM^`w$Xf>_3-=bM%>_eN^oF$7Qr&@t#R0Bzfb1Lzok1b~ipGyrtI3>_zp2Jip@&;ro3&;fLTF~C@09Dug# zdVoHFjxWΞ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�irz~|n0T*}ljou8JJ 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 o})552J`WhMX4o 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

{IUZ!K7;k2co)kBYL{Qk7ERzD@fdW)BZQM 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

=F;BNo3Vze{SnDovX~{|RUupb!eDSZrso%EW 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

    fLOJe#A4Jjv7kEP2AcZ;OQ4jVbSh$ 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 f{Hf(K0_Hy(*pTeW{_^}x@(Yc0`# +From: "<<[sender]>>" +Subject: <<[subject]>> +To: "<><<[r]>>", "<>" +Cc: "<<[cc]>>" +X-Unsent: 1 +Date: Mon, 7 Aug 2017 23:09:01 +0000 +MIME-Version: 1.0 +Content-Type: multipart/mixed; + boundary="--_=_NextPart1_f3cc2f6f-6652-48f1-86d2-b77ce44aff3d" + +This is a multi-part message in MIME format. + +----_=_NextPart1_f3cc2f6f-6652-48f1-86d2-b77ce44aff3d +Content-Type: multipart/alternative; boundary="--_=_NextPart0_7a50bcda-5ac5-46bd-8b33-2298faf25b6c" + + +----_=_NextPart0_7a50bcda-5ac5-46bd-8b33-2298faf25b6c +Content-Type: text/plain; charset="utf-8" +Content-Transfer-Encoding: quoted-printable + +We provide support for the following clients: +<> =E2=88=99 <<[Name]>> +<> + +----_=_NextPart0_7a50bcda-5ac5-46bd-8b33-2298faf25b6c +Content-Type: text/html; charset="koi8-r" +Content-Transfer-Encoding: quoted-printable + + +<= +meta name=3D"ProgId" content=3D"Word=2EDocument">

    We provide support for the following products:

    <= +p class=3D"MsoNormal"><<foreach [in products]>>      =95    <<[ProductName]>><= +/p>

    <</foreach>>

    +----_=_NextPart0_7a50bcda-5ac5-46bd-8b33-2298faf25b6c-- + +----_=_NextPart1_f3cc2f6f-6652-48f1-86d2-b77ce44aff3d +Content-Type: application/octet-stream; name="ExampleAttachment.txt" +Content-Transfer-Encoding: base64 +Content-Disposition: attachment + +U3ViamVjdDogPDxbc3ViamVjdF0+Pg== +----_=_NextPart1_f3cc2f6f-6652-48f1-86d2-b77ce44aff3d-- + diff --git a/Examples/Data/Source/Email Templates/Bulleted List.msg b/Examples/Data/Source/Email Templates/Bulleted List.msg new file mode 100644 index 0000000000000000000000000000000000000000..d5f38684ae411fe0d7a73792c2acdf30a84ee796 GIT binary patch literal 56832 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 literal 0 HcmV?d00001 diff --git a/Examples/Data/Source/Email Templates/Chart with Filtering, Grouping, and Ordering.eml b/Examples/Data/Source/Email Templates/Chart with Filtering, Grouping, and Ordering.eml new file mode 100644 index 0000000..1416ca1 --- /dev/null +++ b/Examples/Data/Source/Email Templates/Chart with Filtering, Grouping, and Ordering.eml @@ -0,0 +1,2307 @@ +Message-ID: <03eeec20be3348e3bfec9005219119df> +From: "<<[sender]>>" +Subject: <<[subject]>> +To: "<><<[r]>>", "<>" +Cc: "<<[cc]>>" +X-Unsent: 1 +Date: Mon, 7 Aug 2017 23:09:01 +0000 +MIME-Version: 1.0 +Content-Type: multipart/mixed; + boundary="--_=_NextPart2_364f2565-3d7b-485a-bb82-d3487fbbcc3f" + +This is a multi-part message in MIME format. + +----_=_NextPart2_364f2565-3d7b-485a-bb82-d3487fbbcc3f +Content-Type: multipart/related; type="multipart/alternative"; boundary="--_=_NextPart1_14cdd64b-1dcb-4c06-b478-4c58d5a99a16" + + +----_=_NextPart1_14cdd64b-1dcb-4c06-b478-4c58d5a99a16 +Content-Type: multipart/alternative; boundary="--_=_NextPart0_800276c2-c3b7-43dd-87ea-9783e1e3d88e" + + +----_=_NextPart0_800276c2-c3b7-43dd-87ea-9783e1e3d88e +Content-Type: text/plain; charset="utf-8" +Content-Transfer-Encoding: quoted-printable + + + +----_=_NextPart0_800276c2-c3b7-43dd-87ea-9783e1e3d88e +Content-Type: text/html; charset="koi8-r" +Content-Transfer-Encoding: quoted-printable + + +<= +meta name=3D"ProgId" content=3D"Word=2EDocument">

    +----_=_NextPart0_800276c2-c3b7-43dd-87ea-9783e1e3d88e-- + +----_=_NextPart1_14cdd64b-1dcb-4c06-b478-4c58d5a99a16 +Content-Type: image/png; name="image001.png" +Content-Transfer-Encoding: base64 +Content-ID: + +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 +AElFTkSuQmCC +----_=_NextPart1_14cdd64b-1dcb-4c06-b478-4c58d5a99a16 +Content-Type: image/png; name="image002.png" +Content-Transfer-Encoding: base64 +Content-ID: + +iVBORw0KGgoAAAANSUhEUgAAAkEAAAFRCAYAAABzOnmrAAAAAXNSR0ICQMB9xQAAAAlwSFlzAAAO +xAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUATWljcm9zb2Z0IE9mZmljZX/tNXEAAJ24SURBVHja +7f1nkF1Hlid4ls2XndlP29u2a70zu2s91VNr3dM2Pd27NtazZr3WZStmtzKzMsmq1DqTSTKptdZa +a02CmqDWEqACtdaqqDUJEpIAEyRBAvCN3808QY+L+wIvAgEg4r3zN7tAvPfu9et+zvFz/n7c7/W/ +eu211x588803yz/90z/lkUceeeSRRx55DPyB97z++uvP/NVbb71VFi1aVP70pz/lkUceeeSRRx55 +DPyB9yBCf4URffHFFyWRSCQSiURiGID34D8NCcKKEolEIpFIJIYBeE+SoEQikUgkEkOHJEGJRCKR +SCSGEkmCEolEIpFIDCWSBCUSiUQikRhKJAlKJBKJRCIxlEgSlEgkEolEYiiRJCiRSCQSicRQIklQ +IpFIJBKJoUSSoEQikUgkEkOJJEGJRCKRSCSGEkmCEolEIpFIDCWSBCXWCRvM5ea6w4dVq1aVzz// +vHzzzTcpjEQiMZBIEpQYF6tXry7HHXdcOemkk1IYQ4aXX365bLfdduXZZ59NYSQSiYFEkqBpjA8/ +/LAceuihZc899yz77LNPOeSQQ8qRRx5Z9t1337L33nuX3Xbbrdx8880btA5IkPseccQRfZ374IMP +NvVT54MOOqi88MILzffDiLvuuqsccMABjTzoj87uuOOO8vXXX6/zWuece+655dJLLy1r1qzZJPV/ +/vnny69//evy5JNPbrB7vP/+++XEE08se+yxRyOf/fbbrzz66KNl5cqV6QASicQGR5KgaYyFCxeW +iy++uJx99tlNQNx1113Lj370o3L66ac3n88444zy8MMP91XWAw88MKlghsAcfvjh5eijjx73vOXL +l5dTTjml/P3f/3059thjm/qddtpp5Ve/+lWZPXv2BpHP448/Xh566KGNpg/TQnfffXd56aWX+jr/ +rLPOavTlf/Ign3/8x39siOy6phf9vuWWW5bdd9+9mZbaFEBgf//735ennnpqg5R//fXXl+9///tl +r732auTjOOGEE8pmm23WEO/PPvtso7dZW++///6hJe6JxLAhSdAMwnXXXVe22WabSTloBGpdRKYL +/ZIgZO273/1umTt37pjvBdLLL798gwQVWTLZg40JpODCCy/s69xzzjmnCfA1brrppvKd73ynzJs3 +b9xrZX+WLl1ali1btsnsbUOSIKQcAbrgggvKl19+OeY3JOR73/teQ/43dhbM1O9OO+007X3BG2+8 +0WTqDD42BWQqP/roo/LVV1/1db7zXnvttSbYyPItWLCgORKJTY0kQTMIV1xxRfnjH/+4VmA0Yr7s +sstGR9OCV+DTTz9tAs0f/vCHsuOOOzaBWTkWvAJnJjDLVgg6N9xww5ipiH5IEGf2u9/9rgkg/cB0 +R9wPsWtnRe69997y9NNPN+1EoM4888xmaimAHJgmQgjJQ5suueSSsmTJkub3e+65p1nHYjrRfdxD +m9xH293XMWfOnM76vfrqq83vro1Mm2kb9fjtb3/bTPX5XSZjvKktupDJqeX58ccfl1/+8peNvkAg +IX9tUh/Zvcg0kZPpxTbIwnnnn39+effdd8f8JigqW/0uuuiiRv816PPWW29trvf7J5980rP+7Ijd +vPjii6MyIevXX3999Bxk5sYbb1yLrLjm6quv7szmkIfpr5133rmn/GQ7ZRHpEBYvXtzYAj9V44kn +nmjuX2fL1JvuzjvvvEZGb7/99phrkAcZPXWTpSQHbVLf7bffvsnAhfzqQL0u2bbt7tprrx0leNZX +kR0bksFcHxhomGpmf+Ppb0OC3eoHiE0/YA/0bTp4xYoV5dRTT23ksSnBX+hz6jNVUJYywxclpj+S +BM0gdJEgTnerrbZqDlkHjsYUDAcsMAne1lkIKFtssUUTlBEaZRidWauyww47NA7N9QK0qYiwhX5I +kCmpf/iHfyiPPfbYuPV3P87v5z//eRME3dOaE3WeP3/+6HnuLxjJ8jj8LjOg/dokMMkCuRYpUdbB +Bx88GhBcj/DJfvn/+OOPL6+88krzeZdddmna6d4/+clPmmBbj2avueaa8rOf/ay5p3PI46qrrmqC +pPv4TNbWY5neGm8kjAS5ps6CqQf9RMYM2dOO/fffvyF16idAg0BHPwEkTrvpUrnag3wK6vDmm282 +ulSOurMVAV0AAoTj5JNPbrI7rrfomT56ZVtcpwzrmtxLmWyIfBC0sMkf/OAHTWYioDz6cG2XT2GT +ZE+uvcCuf/jDH47eR9tkGpH0GvT3m9/8ZpRMXXnllaPtYzvbbrtt8/szzzwzeg3i4xxrtciA7JFd +U3HOdbj+wAMPLB988MEY2SqvS7a13bEN/x9zzDFN+/UPeiJDv8k0tclrALFqkytA8oLMsWfkc1MC +CSLft956q6/z6ZOtBZCFTf3EKd3qb1MZ9/hVZZJPYmYgSdAMQpsEyeYgC4JlTYxmzZrVBBCj9wBH +LwDWMCLn/OtALgvx4x//eHStTT8k6JZbbmlIkNHueJCBQADq7MY777zTEAsBKIKxhbKbb755U25A +3QUd66QCMk8CTxvKMtUiAxQgq/b6ISN3wThGs4LML37xi2aUH0DsZBQCAmG/a5xiHZeMA6ePKAiO +iEQ4SUFUHTjO9qiezA877LDRz0b+P/3pT8c8rSUjph2CpKBNdjVc73vrmd57772GwDzyyCOjumUj +vaYq6dP9EAJ6AnYWJEuZixYtaoiojEtA27RRhqZXuexAVqAXBFdyiQyg+6v7bbfdNuY8to7IBAlC +MtvZCfW3Disg82btGjtpT8UJ1MhRDWWPJ9voP112x6bZKFIYYGftTIF6IHD6c3udn7V8yLA1duSB +RCHD7CFsG3lnp7K+smbg/zvvvLMhTH5zX/VBwGVhTOvG4EMbTHuSp2wVcl634fbbb2/sme3TuX5I +TrK2ce8u8hZ47rnnmidMI2OnXwUxdS/E3xRxZGh7EXM2rN7u5/ywXTal36qjusb17kFmpliVHb9p +AxnwKbKi9913XyNH55K/8pUpJpKhc5UtkxuQvZWd9BtbJhOfZU+11b3ClvUPWcTafyWmB5IEzSC0 +SRCnJVC0H2HWwWUr6lEzh8VJd4Hz4lA4CtfITHAKMBESNN6CYc5PMBA02uAckIto11FHHTUm+IPA +jSxFMAZ1QgDbEPDa1wcEAo5bW93XqF/gBMGLU2xPN4ajFagEKeuf+gGnjMypN3JlUTTyUMuJ7pCI +OujU7Yt2IByIbDsQh2y1S7ZB3ZA97fO/82U9BF12sfXWWzfyWRdhBdNK6tZeE4TMsq8ICDITMmcx +shdIyLXXVI02k0UEiS7wR4jSRElQbS9sGOGW+atJkKCNyJFHG4KXDEc9vSaIjSfbCGxddifgmhpD +CpHVdj19FkDZP/2qb9gbGbBvBFk72R9i40lNmV7yRbB9RmxkNhBP/dW5fqcn92cfvnMvJMdv+oGH +GPh98kWWlOF7GSvtUn92jCj4DXlB3NVDnZWtLPdlr72e6gsSFG1DSExhhz7Yi7JlCfkJdWjD/WUl +nedvbTa4ML2IFMrWuV4GLgii//kzxMZv9MOmyJ1dy4zrj/oHUoNgkonML1LkHH3T/RAjAy8y8Ru5 +831+o1v/q4My1Yn8kEw61N/8FlnbxPRBkqAZhDYJ0pk5V6OjGjqoDEQs4NVpu0hQjPCMXEyxcEQC +9kQzQYINEjTe02cCZKylaUMdOOsYSSJBjno0aESnXnV2K0hQe9QoGLXri0QYaUcb/W9ajoOMzIHR +moDTK03v+4mQIIGLvgQ20zocYztIIAQCaZdzrEkQZ0+nRvpdsDYG0Qo9xoHECK6RHeCMBS9tp9f2 +epkasTC6nkoC7VFuTIFpg/JiLRoSYaqw12jedQhOBKouIBoIZEyxIiKyUusiQQKN9pIF3ZKBrGht ++9b+kEHIpEaQoPoFkeuSbWR1uuwOrCWSxTFgkQmMDBjZq4egX691QsAQlSBOsX4vQLYxSCGnNvFC +CNgakqctMfXG9gxCEAzZOnpgzwhKG8rQn9W9LiOAACOXsT6MLJXd9kWBNgnim2I6FKGryT1ChVy1 +4TzTn20g4bVdkKUlALJbXiFSr1VE4KMMa7ecF/4UoaTPtr0HkD0ZuSBHsnvtLCoipcxYy4YY0fG6 +lgokNh2SBM0gtEkQosIZt+flOT/EhrMHwUjnbb/wUNBCLIz0BBGOn2MW+CaSCXKNQBMjuy4on4Pp +euliLHLmQAABElBqBxNZr3qqw3n1NEPAtW0SxfEjapxltFWZdSaIfAXUXgslkSC/q28/kD5H/MZD +kKCuFxLWJEgAE4wExy5w3AK1DIgg6nxHZDRqWZCrAId4In1dGZGwjy6CZuqiJt8yDMoxlSRYytiM +5/QFVnbcNZUZkHlQv6ibUTxS055CE0zpRJu0VwDyWZCmZ9/LDLDhQCyA7pqaEIz1lToT1K9su+yu +hrVsAjY7RiQRESReRqGWl+tNq5Cpqbt2PfUh5AgQBgSrhqAvQ2FQgcyEDP0v04FEyYKy43pKDIFU +nowosqbd6lgThQD5klMQYWXTZy9SvS4SVK8XQlS67FwmxkCmBh1oY52tlNXS78iNHGqfw35CXuzX +4DDIMP+jrLY/RYJlyBFuWZ6YIuvyZeSgzJo0ykKRu77cay1YYtMhSdAMQpsECQwCTr2GBYx+BPwI +7kGC2oRBJsmIvM6uID9G9UaY0A8Jco6RNkLVntZhV9LdgBQgHTFKAqMvbRKowkFOhATJjrTRFYwE +FRmgei0G5+u7GIXL1pimqVPxAgTiFIFPgG0HnV7oejqsjX5JEAgUyEc9zYTMROrdb13BI9qMfNQE +TyBurx2rIWtEp0bOdWbElIQsQN0uxMKiYXqMdVDjgey9KoCttkmDAO++daZIcGEnZBoQrJB9ZAH0 +i5j+qa9Tn3o6bDwSJLD5rSZBzqOj8WTby+5i3VRAufRUZ0QRIAOEID2xxggBUZ94vUUE65oECfLt +TJD+Srfqrc9HhlUGAzmop5Trfq/+6qKvOU9fRtxMdbanNoMERSbIvZCgrrJhXSQIMQtoU1cmCAnp +yiTLQIU8AJkzYDBoYV91lknWOTJBCAnCEraKBGlD/fSjgZ266GeuZffiJB/RNQAjB3KJBfUBsld/ +etxU7/1KdCNJ0AyCDolERKflbC1U9HI5JMTvnInApsPVnc00iu+NsBECAZEjk9IXqE3x+M1oGxGo +M0GC3nijduBoOc64h/IELOXF9JH7CVKyPr5zGCEJCvUIknMxQq5JkEBvMWs9bYBcIXsWTWt7PM7s +WmXUwSiyXr53XyNyBNIR62M4TQFFGyx2dJ7AWztv1yGJ2lY/At0FzlZAHY8ECTjq0PUuHjIXHAOC +vimZmJJTRxmKIKzWSJhCklkgD+fUC+Kt+6JrpNlvSAvdtqdbAgKXtTCyAiE3ZbOPWFwdQMgRBcQm +SO94QMYEJ+eTedTXd8r3xFm9QJj8kRDtI1dtQBrYk+kGtu4cujJtJmugPAHcNchJQJ9BnrreUxMD +CP3J9bHuaV2y7WV3CJCgqM6usd6EzrqmP2XY6Kf95Jegjlwiwdop0xNPFxpQWPgtSLNfMiNPhNBv +7h0ERr34AXUOQizb4zrEMIii7I61cQYFsW2OujuPnpFmBA05CwJNlghFr6fF2iSI7cZrIgzu6ikr +WZeaFAWsRbJWSf3UxcCBLzRI0VcQUjEMaVEmaFet+5oUGeBEG2QNXa8N0SbyotNY4I8E8V3IqIPc +yVtd+BAycX/fyx7p98gQXSsfqXfvfBHn9EKSoBkETlIQrvWkQwmCnCeHz0mYJmuPNjg9QUTg48jj +JWtGPfFIulSwRYJITMyLK58DDIe1LmMykhU0kRujMaPJOotgpMSZC1wOWZX22gxpeoGmdhYcE4fE +CQcQECNKdTcajKDm2vZ2E/5GNAQF2RwOWVsFhJqACQyuVX/140Tr7AmyRwfk6NrxCA6HS5bjvUuI +/DnpevQZIPN2lk8K32hSmyP41XKiN46cLdAD+UYmQjsEH987BOZeBAgEG+cgAurhnkbCvdZMBAHv +aksXyAWZitcgkLksBl8kkMn8IRVIgDaqP5nE6xPYhCBEDyFjNqiuYYNG7IJkPYXpO/rv9Q4j59K9 +aaD6UefxZNvL7tQbqRFs1Yf9jbc4Vht7vSAzFiqzyZo0kw950RWSE/0A+fG5zlZpHxmqO1vgK8iO +Hciy6JtIiHNiAb/6+E351s3pg2Tn+sh4+Kwv1k9P1UCCasKIUET2BjmviTOdtl+FEGAvCCpfZtpM +1oyvQwr1Nd8rO3wO31i/igGxi6f36Ma0lv5EDmE7dRZH5hlxIV/3o9+Qp9/Ykfuapgu9qb8+LdPO +t4W8lTHeE3SJTYMkQYlEYkoQa7T62RutHwhYMlWIQ/qmdWMib9d2btf545WxPm/vRiANtpDGqciE +9KrLZOu4rusmI5f2ICwxPZEkKJFIrDeMiq0vG++x98lAwLRWI4PIzIbsikyQrMx42cdEYmMjSVAi +kVhvxIv+8k25iURiJiFJUCKRWG9YHDreIvFEIpGYjkgSlEgkEolEYiiRJCiRSCQSicRQIklQIpFI +JBKJoUSSoERiA8GTTRv6xWjeTeJ9JLkeJzEevG6g3/c3JRLDhCRBiUQf8H4TL6WrH9X2IjRvyG2/ +ITj2U/Jm7vE2CZ0KeEmcl19Ot1fx25LAi+28hM4WDv2+JE47yG8ij1F7MZ4tYuqXH8Z3vfaB29RA +jr3x2JvZuzYw9VqA2LG+683WfveW4lrvCLGXKLrOYQuM8OleGOlllvm24kRiLJIEJRJ9wCv7vUW4 +3m/K23NtY1K/NRjx8UZp8CZZb9HdUIgtFOq9ziYLRC72rJoK2B5C3ebMmdO8OduWDP5eFwRpL0dE +OPuFlzN662+9txfyoJx4M/p0A2LotQL2yfKSSW8ijrccy9h4cza5eZOylwwGsQbkzhuobRlSkzxt +9lZqm4Q6vGE+3mLMRr3IMl9hkEiMRZKgRKIPxOaTsUEsAiLw2hut3vxU4I8XBtpqwD5VgpaAVm/5 +AV4w6FX8sgGx/YZX8ssu+Q1pMOIHWy04V3YlMk+2RWhv7SBr4DoZoom8oh/50B5bP8Q9x4PshfrI +NtTbogS8GK/e+0ubvEeoznrYX0kZpmoAmbGFgm1NbPegrfH2aTKO+3WB/0IA7AelLQI+EhDodT05 +y5LYwiGyT8ggImKLEmRiQ+z8XWe62IVtWEKPtliIrR0g9roD9UIo7Q1oC4+6HHbUa3NfNmO7iakg +zInEICFJUCLRJwQe2R+wW7Zsh6AT2R4ERPC1cWWcb58pwUmgtfeZwArIFNIh6DtP0Be8TXEgAQiU +64zkjfAFQQHM/WQHBDV7O5kKi2wAouGzwI0I2cetTVCQBG2Ittho1H5JCJV7xz5e9jvq8gfqqFz7 +KamPzJfNadtAguqdvUG2IzbGlAlB1JSBXKqzuiI+9uVCHskICXJOBHDXm2LseoO0e9pzyma7ttuI +zJZ6RH1db0NM16u3TIzvkVe/+d60mn3ZbFqK0IY+A8r15mOb6IYs/Y1QqbM9okK+9Ih8jbeViPIR +OPYjc0Ueygogi7Ja9CyjE7pSx5oEaUdk0bqIGz2H/SYSiT8jSVAi0ScEV8RFoBRYBRQbmNq123ey +DPE72GCyHpnbgBKBiKyL8kAgE9Bs5IrIICERxPyGWMV0iO0HTIXIGEXwDpgOqjcKFXjbZMG9BfH2 +0d6EVVmyTO3d4mUr1LUOsl0BvosEIWamdqBeyE1uvo86aG9saqudyCPSCf63SXDXOhlZErJBohBH +sG7L9VFf5bretGY9/Sf7hXwgiciGjWKR0C6QqcydNtQylB1E5Orv/T3eJrtgWix2NkdwENEgy2Cd +j6xPveaJjtokSBsRHTZgY09HvTkx8ue7RCLxLZIEJRJ9QuAVjExfyJSYbhGEkAXkxFSSzEhAFsB5 +Ab/L4uhnRv4IjEyMLIJArVw7o5vuiMAp6G+99dbN7t7ORU6QLgHRFJtsRcA6kiBWvSDA6+um6OJ/ +92z3fVmSn//85w1xq2FaDklZV2DvIkGyKkGCQKB3nyuuuKIceOCBDZlCHGRxZDoA+bP2BZnUfuus +tLMO7jVkjBChqB9i5HrtiOtly+J6/2sTwuM6RIIsDj300J7TYMiObEvIMOSISLERdY/v/a2cXguS +tR+ZQX7BLuwIWJA+QILYWL2+qYsE1XA/doQUBWTJtD2RSHyLJEGJRJ+QATBiRz4E08hWCLCmVfwW +wRuQIMQnICBZ64GICGDOjYxBQFAU5GOKC1GQuZCBcV6ddWk/GYY8eCpoPMiAmE669tprm7r4X4ZA +8JbFQFRMqey+++5rZYFA8BWk17WIuosExTQRkBe5XX311c25yFFNgvgjQDa0X4ak3f4u0A2yE0Ci +XG99VPt6WbzY1FP2ZJdddmmIKD+oPr0WZyNYpu8QWjJ0+BtxoVPlxff+RrC61k0hPupWr52S+VIP +pCpADwhNO1s3HgkCeq1Jjyyk9iYSiW+RJCiR6AFBRxCtp168k0dmwRM99ZoT2RpTXHWGRNamHolb +9yMogvVE8TeYhnGtp9AE4CBB+iRSUC/yRYgQH+fKCtm3K8qPaZU4b12koYbMlMXLyFWv9w4hUQK3 +dSqgnuTjPjJK8TSSejzwwAOj1wnkpptkzLTTQuAgOtbMIF7KcDhP20D2Q/YtpreiXXSDACijJmSy +HchWQH1cX9fF9QgtYhGZO4THWiykk8xlpuonsqYa9K1eZF0jFjDXTxVaq4TA1LAeDFENAuy6WBQO +ZMyOyDbAFmvZJBKJJEGJRE8gAoKz7ELAaP9Xv/pVQzgCsge//OUv13ocXtajnh4zNSbzAgIWImQq +THCycBqZ0Q9NcdWPPss4yQ5Zg+QeSBeygHwgDDFtI4tg2kyWSv1kdfp97F3wNO3SzyPlFv+aLtI+ +WRcEwrSStTjKAHVA0GTC1Nv6qMhuuJcsCdJIJn4T+IN4Cfim3GRbnKv8uv0yK4K/aSykjSwDMkzt +xb/t6xEq5dbtkAlCGpA0fhBBiimqqQbCQj9bbrllMxXo3p4AC/mYEmMD6oVIk2HIBoHzGclE2thP +PDGIKCNM7IkdsLWalJMxO0skEt8iSVAi0QMCi0xCnRXxHaLQXhNjjU77O0QmsjTQ3mkdQZF5QKJi +ugS5keFoL2jWN5EdTxLFb4iAjFT92LNy2mVuCCBc6hPvTUIqyCAyT+ormKuH+nQ9zRW/x2Li+hzB +3hRYfEcm0f6Ae7lnPU2knK4XJNJZ+3rwtJXv6Yb+1MU93W9DvoCSXZEd0hUyqgmodnTV1/fOJx/E +09+xvkl9na+smhiC6UCZJzJPJBLfIklQIjGDIduDCOWbgBPjwbSYzGMXGU0khhlJghKJGQxPJJni +yL3DEuPBgvlYg5VIJL5FkqBEIpFIJBJDiSRBiUQikUgkhhJJghKJRCKRSAwlkgQlEolJw0LbDfkU +1TDCIvdc6J5IbBwkCUokEpOCx8m9FduL+xJTB4+ze89Sr61BEonE1CFJUCKxiWGrjNhJ3v+2UZjI +m57XF14A6U3CXiToxYVeUtgPvNzPnlb1xp7TAXyZFzHW21EEvP/HCwi9rHG6QmbNXmn1W8ITicSG +QZKgRGITwg7i3g7srcZecOdFd95Q7SV+GwveoIzMuL+3U++///7lzjvvXOd13vbcfkv2ZODFgYjg +VMHWGd/97neblwO2X5yI4G2++eZjdq2fjiB/b33OabFEYsMiSVAisYlgE0zbcnjXTxdkWGx9MGfO +nGazUZtzWoNjmwTbJcQGpJE1sj+WcwO214hNTB977LFmnyrZEVkG2zTE26y9Q8aWCgG/yQghYjJT +NSGz+aptK8BeY/E3eMOxepnKkWlpv7vIW6bt6o7wOfztjceOnXbaqdnCwv5j40H77d8mm2MqztYX +baijuimv3jNMfWyH4ToykHEhAxupqnd7WwkvGHTYiNQ2FTIz8bJBb2y295tyHCGj2L7Cd7awUIfI +6CB75Ok3W1vEPmuPPvpoc5/Zs2c3pNg0o+yc/ctySiyR2LBIEpRIbCIIxg6IBcb1yN+2CjYaRSqs +E0F2EBn7YPkNqRCc7T8F9imrN8g0vRZ7nNlTy55nsj7IlWAcO7ojVd4mLPjyAfb8Qh7c76CDDmqu +BVNJdjhHGvzmvHgBny0uZJMef/zxpnyBvd54FmyKat8r9XTYM0tmxn21BzGwHxYyEvuhtYGk2Bkd +OUBEkLv2W5ARRyRJvU2LhUzVyS7qDz74YDn++OOb78nV9wgJUrbzzjuX1157rTlfPXyObShkliJj +pZ3Im7YqM3au9z25KBe5pD9ysCUHPdrixN/qiGiCzN8WW2zRyDW2TEGMEeSoSyKR2DBIEpRIbCIg +HjI5YE8nU0sCqiyGIC8QmpqqdzNv7xWm3yIf9iGTAak3DzVd5QCBVnAOwiC42g1eJkRGykaksiGm +YBCd2DzUtIypIxDgEbDYo2rvvfduCAIgZ+q9vkACEIQf//jHY9oJ7uv+SMx4cL1sC/Kx1157NeQG +TjrppIYEPvvss80UZNfeakhlZIPI4pprrhn9DWmRFWqD/Gz4CrJDyBzwp2RHt6YZydsGszJ67rHD +Djs0hAhZc68arkW6ujJdiURi6pAkKJHYRJAFQjwAOZFdQXjsxm5jTVmG2NkcIjPz3HPPjZZhWmmP +PfZoSBMSVO9uL0MUJEjwRrACSAzyZNNO2RSkwHRRZJtMxVhPY5pn1113bc43TRakQKbGfSNjI/hH +VqsXPEWmPqZ8HKZ/TN/FdB4ZzJs3r8n0aGd7akz9DjjggIZEjAckCJkBmTH3VH9t4uNkXGoShBCq +i+wU2cd6qDYJku2x3gjIBrF0HWJq2gsQRdknmSUZJvdUb0Rpm222aeRkqlAdTevJRtFNTV7DMSNw +TzzxRHaURGIDIklQIrGJIMDtvvvuo2tDwLSL74IEyTBEtkUmBAmonxpCLJAZGQUkKKZlQOaizgQh +FwFTU7JMiIBgXa8JQqhkKYLgmMZRlkxSZIic4/ogJDfddFOTpRkPCBU/g3Q4/O0eCAVCIANlCsjf +Xe8eQpZkR2RzxkNNgp5//vmmnuoW04baG5uJ0gHCZZpL2/wd66qQoMjUAcIqa6NuiA55I63uFyRI +3d3LVJ/DNCGQ05577tlZX8Sq1hsgp/S6LsKXSCTWD0mCEomNCFMxpksEdMHU2hUB1XSJ6RtZGRkW +UyjW/MgGWCQbsIZGoEaSECZTPBbVggyRKSprVfz9y1/+cpQECew+y3JYr2LqSmYHTC8hCgK2Ogjq +shuxcFpZP//5z5tFxUFOgghYTwTq694WSsc6G9mXfoDkIQjqtq4XLyIhsivK1k7yIkvTS/Fov4xO +ED6ZFsRps802a84H651iig+hUm+EE6HZeuutR6fDEKWQH5hiQ3wQRzpSDrJigboygC7ox9onx+23 +397UgSzJHDEiH/qWNQJESxk1rHeSgQsCnEgkNgySBCUSGxGmYkwbydxA/bSXhcoyAtawCJwyRKZj +LBoOON+CW5kZ19TvwvEbsiNYy0gI8EFSkAckxu+Il2AehEMGRBA2JaNMU1W1L5CpscAXOaphqkmg +DyjHd9o3kZ3tkQprmvqBNiI72qC+MmG+UzfZKECMYjF3fK6ntWShnEvG7l0vpEZaZI/A3yE/kIGj +P5BJIzNE0hSe9iqPfMkESXPISIXcECEEmHycEwRHNqr9TiD3RTLDThKJxIZBkqBEYghgyqWe8poI +ZIhkU6w/qiHbI+OSgfrPQPpkhMglgCTJ1k0UpiDbpDORSEw9kgQlEkMAi3FNcbUfJ+/3WmuR2i/u +8ySXNUu5buXPiCyVNUHWYJnmMgXmzdoTgbVTpuvqadBEIrFhkCQokRgCCKz9rtFpw/oja366IEvU +62WPwwrTmdb7OOpF7/3C9ONkdZVIJCaGJEGJRCKRSCSGEkmCEolEIpFIDCWSBCUSU4CNuet74s/o +euNzIpFITARJghIDBWTEm4Y3pi17tDreJJzYeLCthsf5A97K7PUB9SsFpgus8/GovifH4v1Lgwrv +mvLaAAvm1/Xep0RiUyNJUGJaAYnxwjnvy/HeHC+rm8jiUm8y9tbh2C+qXwhS3t3i/TvuW+/yPR48 +Fu3lePaEmm7wNJenlGITTk8vebdO/Qj3+gDx81blWk6eaPL9xsiMefmhp6iC9MQbuLV5ugEhsBkr +csDW2It3OQXuueeextanQm7eYeRJwHjfEXgPE7302ph2KuFlkLZv8aJPL6FMJKYzkgQlpg2MkL1c +DgnhSB0IkbcZ9/u0jMe2bWHQfqfNuuBeAqjg5O/YTHRdQUmg8Zh4vy8GHA/eEF0HrvWFUTiSIDsC +3lnjPTaxlcP6wjuC/u7v/m7Miwi9TJC+Nka2A8mzG7y3VAfYDpvx7iKZoa5XAnhk3du2+wFCwR7a +kO3wosZ+oZxTTjll9LN3AMVebrbssK8YcjqZVxi04YWN3/nOdxo9hF3y7T5vLLLuiULbrLivl2h2 +kS/k2RvUE4lNiSRBiWkD71iJ7QxqICOx0ag3JJt+sv1A7OskoDlHAFQGEhR7XCFP3gbs7b62U4gX ++3lDr7f8GrEqDzFwXZAtgckLAo1kXVfv5u1v9wfXKj/A+XvRnbcCK0+9BcwaMheyM7ZpcPjbdeq8 +3XbbNeRiXZksfdWu897QbNTvRYjtDUeRIFs/2PaC3GQibMcQ8Lfryca+WmSDICg3yJ//yUgQryFY +ezN1jPgjyAlq6i/zEBuH0gty6y3VEeS9zRpZkQ1BZOiNXJADn+s3YcucyMy5X1ueNiQN2wDtQQKQ +MPWSFWzvxE53W265ZXNtr2yfLJNNVnfaaadGRwHbZCB9f/zjH5v3J8ngxJQcUiab2NYDIEx0FHKV +rdImBMv2GHVWiB7UjV7YFtvwHTmGXYcNd03D2gAX4fK+ovidPOglSDY7p3P3IFcEPNrte4RMVtRB +3rYI0cfqPqS92u96R7xNG9g0EqS9dPv73/++sZW4D3jtAvnKpOa7phKbCkmCEtMGtnUQWNqQyZDB +4HQF0j/84Q9NsGWvsdO6ICKgcdpbbbVV4+T9LqA6lzMWdDhx4JBtBSHoC7IcvYyODJJzBUplgSBX +v2hQgIkd0wWmqLMslDaY8lAv+0vV21MEkJJ6N3V/C2jKR8aQEGRIpqBr7yhyEPjVUVBWnzrABtxX +GaYWBcT65Xtk5ZpaNgKv6URBOXaqRwDUJXayD6ir6wU+Mo23UQuygq1Fy8oSTNVRO3bbbbfRkb/d +1wVG5AmJFQwRNkFYPenb/zGFhzCpJz17A3NkOMha20I3SFBsmUEH5KtsATleWuhc+6W5bvvtt29I +Q8hOYKZ3toGA1JvXWoNkY1l24m9ASnxHTnQooGtvG20ShIAjho7Y+y2A3MfUGPnaPoNtIdfsLerj +BZZdJMh2H+zbPbXdO6Log16QezB1qI+wA/J0fujbPnHK0A7kZscddxx955H+FPfULxEjdUOoyTjI +e5Ag15C3DJQXR5Kr6/U5QHzZMT3Q/0QzuInE+iJJUGLaQACJTTBrGMkb0XP8CEedeeFcBaV4Ukjg +FRw4ZVkI2QCO3yFY+wymhmIDUTBCtYknR41gyJoIBFDv7K6PyBBF5gM5il3HBXA7f0cQNKKuN+Cc +CAQW9f3xj388Op0VMBLX5piOQTQEp/ZUShCVX//616O7nAcs0m3LJnY5j/2tADEKMthVtnsLaOSD +OAl+gm3XdJggHlNnZBMBHQTTG2+8sfkbyRNAtZs+kSekRT2RD1mYeHmjdpB5ZCdqElTLC3n60Y9+ +tBZpoFNEgTzp8Wc/+1nT3voFkEFoBfCuIO06ZZBfrzU3bRLkmi222KIh9DU5pXcEkO1pL7Kive5L +tn5DAF2j3V0vqnQtWQM9ao++g6AHua3hHpGBdQ8b1KoHyAAhiwGkPrYB0Z7IEmofG4j925AhOmyv +CULy1RvpqacZ2Qv905GNdBOJjYUkQYlpA4SCk21DADQaBkFUkA7IBAjwQQAQEEHYKNdaEc5W4HMg +UEEolFGvZakzQQiVXb6DJID7G70jVnVWiKMPsqT/CDSIgeAksAgibciGmDZBPJABI2FBOjJG7i87 +4XptqadAIDJBMgbaK/DH9FwN5QlUMhSmdtwrINDI8NSyIWeQzRHQtUG7Y7fzGkGCon3qSxba7l6R +qSFPRFDmB1GIIKku9earpmWCTCItdKo+MjHWy7hePdlHTHcBEoQYxAasbRIUG86qkzUx9ZorpBUR +RnDUS6YImaTfOjukbLJ2vXq016fJtCCrQSK70CZB6ogEalNNOpAEmZf4zeFcZIJdGAwgMgYLQVTb +YI+xKz2ioX3k5P5BgtiNsukGyQmiExmcqI9py3rPOX1GdpFc6Uj2JupJN0ECo5yapOljMnPqQ+4R +b2JaTR30wa7pxERiQyFJUGLawDoJQagNKfnI2nDCkboHpMTIMoKurI1MjUyBEa7sUhdMOclyBDho +pKNeM8OJR3aCk0YI2tMXgk2sTRLAkBbTT8pvZ3ACvdYE6X/KFgS1qYtAgaBMJrInyBy5tff1glgT +hHSRx9Zbbz26MNaaG8G3l1NA5shZYOryC20SJEC7RmD0vd8RDlk5RFLmQllBcpGgmsxqT5DJIEHk +h2DIBPXyTc6hp2g/EkSGPmujqT1BF5GIbBHyQy5IIBm2F4qzG2XKwCBHcR0bkYWkH3qO6xBQ9SdP +ZKMLXWuC2Il6kot6h+zVt2saFBBn059krZ5dqElQ3AtRZN+Injq4J5kg++xXe4Etkn1kMw0k6iyj +/heZIP0Bwe5CkCDtQcTURyZNWUGU1MP1yLH61QOBRGJjIUlQYpPCSDMWlho1csBG2wKMg9PlTGNB +pZFrBAzgrF0jO+B8gduiV0EknhRDZJAjNh5rUoyi6+xJPB1mDYZy/I+IxBoHZRnpK7vOBKifYAbu +IVtgDYuy1bVXMOuCe7mH7NZ4EDwEcQHcPRDEaBfSYPoDqRK46myUgCawG2lbq0GuRvDq7bt6AbFM +wz/+4z+OkREdyEBFEEMEkMOAACsjQo5Ahv5G+pAgpCOybwhQPc1mGjKyREiHjIegiCTQt0M9yfOR +Rx4Zzfyov8xNIBZG82X0p8w4N8BGyG9dG5S6DxLXXrSr/YgAuyV3dTUlKHMl0Hc9fdcmQfXTYeSD +CJCN9iI66sfOkFdkLkgJAscGyTWyNYBcxjSSNteDCVkz7fj+97/fkBPyRbTUV4YJqTJwCB1qTywY +pwN2EiRI30TAAAFl7/qVNssCxiCiXhiNhLFD59Vgo7Ktsm5JfhKbCkmCEpsU1njUgVYw8RmxcMjW +1OtLjLTrR6KB4xVQEQJO3LRVBCJrSkwtCN6CVjxZhHzV78uJ+ypHkHRNe32HLACnXyMCJQhaAoq+ +JHghMzJR/W4wKpvSz3tiYgpMEHIf9wvChqgYdQf5MtqvnzQTaGP0rl61bOo1Gq63lqh+hJksrTWR +PQBybgc202oCpWDuiKfnBEIBNYgWudFBQCCMqRpyENSDfAiQ6kc3CJ/2ROZHBqZ+L5Bz3NPvbfIT +mMjrDOgjMkFd5ZCBtkS92WBModZAgiKDAuRQZ1HImd3xwQiHNiHqviOX+u3Y7E27a9BrZNKcT541 +rNtx/1hL5TNdsnl6QBzd1+9kHzLSn2TWggTpf9pc2z/96qv6ZcicjcTC6F56oNdesk0kNhaSBCUS +fUAQMBUW2YoAImEaBAESHGKUDL4zwm8/WbW+EORM89SESQYp1vRMBQRl7ZrMLugbCzIoplFkR0AA +l3GYjm/vRoxkWKzvWp8XIiLr1s30mnabDhBHEF5Znn4HAInEprTXJEGJxDog+2A6p2t6SzbF6Nl0 +DRJkdO2z6Q5TcVPxArwaMkFG8Q4BXybHFNxU9V9ZFFmDrqfCphNkUmTeIiskm0EX8Ybs6QSEzRSg +TNn6EEtE15OL9VTYdIM+wh5lszLTk5juSBKUSPQBI1qj+C5Cg5TENIMAZ8GqJ6o25DtPTI9YFO5e +7RcZri+00XRG/WK76QhTm8OWaTBlOZF1ZolEYnwkCUokEolEIjGUSBKUSCQSiURiKJEkKJFIJBKJ +xFAiSVAikUgkEomhRJKgRCKRSCQSQ4kkQYlEIpFIJIYSSYISiUQikUgMJZIEJRKJRCKRGEokCUok +EolEIjGUSBKUSCQSiURiKJEkKJFIJBKJxFAiSVAikUgkEomhxIRJ0Ndff10eeeSRctttt5Wnnnpq +zG92c77//vub35SXSCQSiUQiMV0xYRJkd+wrr7yy3HfffeXggw8ut956a/O9Xa0vvfTScsUVV5R5 +8+aVI444ojz55JMp4UQikUgkEtMSEyZBK1euHP0bIUJ24Pnnny8nnHDC6G8PPPBAOeaYY5rMUSKR +SCQSicR0w3qtCTL1deKJJzZ/33jjjWX27Nmjv33wwQfloIMOKgsWLEgpJxKJRCKRmHaYNAn6/PPP +y4EHHlieeOKJ5vMll1xSLr/88tHfP/roo2a67JNPPllnWWvWrClLly4tCxcuzCOPPPLII4888pjQ +sWjRomZZzkYhQatWrSpnnHFGueyyy0a/u+6668Z8jkyQyvWDr776qnzxxRd55JFHHnnkkUceEz48 +nLXBSZCszVVXXVUuuOCCMd8//PDDo+uDwOLo448/flLMLJFIJBKJRGJDY8Ik6I477ii//vWvyy23 +3NIQHeuCPvvss4aFyQ6df/75Ze7cueW4447Lx+QTiUQikUhMW0yYBL355pvloYceasjPPffc0zwF +hgQBIuT7O++8s7z77rsp3UQikUgkEtMW+cboRCKRSCQSQ4kkQYlEIpFIJIYSSYISiUQikUgMJZIE +JRKJRCKRGEokCUokEolEIjGUSBKUSCQSiURiKJEkKJFIJBKJxFAiSVAikUgkEomhRJKgRCKRSCQS +Q4kkQYlEIpFIJIYSSYISiUQikUgMJZIEJRKJRCKRGEokCUokEolEIjGUSBKUSCQSiURiKJEkKJFI +JBKJxFAiSVAikUgkEomhRJKgRCKRSCSmEt98VspHZ5Ty4ekj/w/AoR3zZ5WyeuXAqSpJUCKRSCQS +U4kVr5Zy91+VcufIcdcAHHNHjvtGjm+WDpyqppwEffXVV+WLL74oX375ZVm9enV2hkQikUgMF754 +o5T7/4tS5v2FPMz0496R4+F//ucM14BhUiTo448/LocffniZPXv26HdIz2mnnVZOOumkcu6555YL +LrigLFq0KDtDIpFIJIYLSYJmDCZMgubPn19OOeWUsu+++zb/B5YtW1YOO+yw8s4775Q1a9Y0RyKR +SCQSQ4ckQTMGEyZBMj4Iz7x589YiQUcccURDkhKJRCKRGFp8+eZgkqBVywZOVZNeEzRnzpwxJMg6 +oGOPPbb57uyzzy5z584tq1at6ru8r7/+uqxcuTKPPPLII488Zuzx1cqvy9fLXhk4ErTmoX9eVq5Y +MNLG6RurJzMDNWUkqCG/X37ZrAN6//33m6zQLbfc0ldZKr5kyZLy6aeflgULFuSRRx555JHHjDw+ +XbC0LPrg8RHy8F8MBgFyjJC51Q/+s7Jw/psj7Vs0/WQ+wh0WLlxYvvnmm41HgmR62iSoTZKOP/74 +TIsmEolEYrjw1VuDOR22evnAqWrCJEjWxtTVTTfdVI455pjmb99ZC/TKK680n5cuXVqOO+64cscd +d2RnSCQSicRwIRdGzxhMmARJO3n8XZbHlNesWbPKBx980CyM9mj8mWee2TwqjwDle4ISiUQiMXRI +EjRjMKlMUD3v5u96MZLPE1kQnUgkEonEQCFJ0IxBbpuRSCQSicRUIknQjEGSoEQikUgkphJJgmYM +kgQlEolEIjGVSBI0Y5AkKJFIJBKJqUSSoBmDJEGJRCKRSEwlkgTNGCQJSiQSiURiKpEkaMYgSVAi +kUgkElOJJEEzBkmCEolEIpGYSiQJmjFIEpRIJBKJxFQiSdCMQZKgRCKRSCSmEl+8VsqDI8Th/pHj +gQE4EKFH/6sRErR04FSVJCiRSCQSiSnEF58vKA/esHN54LodywPX7zTjj/uv3bE8euu+ZdXXXw6c +rpIEJRKJRCIxhVi2/E/lostuLudfcmO58NKbZvwx6+IbyuVX31G+/vqbgdNVkqBEIpFIJKYQy5cv +L5dffnm57LLLyuzZs2f8cemll5Zrr712hAR9PXC6ShKUSCQSicQUIknQzEGSoEQikUgkphBJgmYO +kgQlEonEVGDNSIBYvXJwjjWDt/5jYyFJ0MxBkqBEIpFYb6wp5dn/XMrD/+dSHh2A48GR452DU62T +RJKgmYMkQYnEZGDU//XiUr4ZgOPrvxxrVqVeJ28QI+Th/1TKXX95sdxMP+aOHK9vm2qdJJIEzRwk +CUokJoPFt5dy3z8r5aEBOB78y7Hi5dTrpDFCgh7/m1LuGZA3BCNzb+yUap0kkgTNHEyKBH3++efl +3HPPLTfddNOY7z/88MNyzjnnlNNPP71cc801AymwRKLBwhtKuXNARv33/OX40/Op10kjSVDiWyQJ +mjmYMAlasGBBOfXUU8sOO+xQTjrppNHvlyxZUo477rjy/PPPl6VLl44SoURiILFoZABw94AEvHl/ +Of70Qup10kgSlPgWSYJmDiZMgihXxueee+5pyFDgvvvua7JAgVdeeaUceuihOcWWGEwkCUqMQZKg +xLdIEjRzMOk1QXPnzi2nnHLK6OcrrriiUXrgo48+KgcddFD55JNP+ipv9erVZdWqVXnkMf2PEVtd +veCGgSNBq5c/17QtdTzRg8y+GTgStOb1HUfsYU3qd4KHWPbZZ58NJAn66quvpm2sVq81a9ZsPBI0 +Z86cMSSIoCZLglR88eLFzbnT9vh0UflkwZLBOj5dML1lPk2Pjz9dVpa+efHgBLy/HIvem1fmf7ok +dTzhQz+aX7555K//vMZqEOxhxLZXPL/liK1/nvqd4PHpp5+Wd955p4mJg0KCtOPqq69uZoG0b7rK +/Ztvvtl0JMgi6fPPP3/085tvvtmQIIx4ILD6i1JWLR+sY00uXJ80cjosMXYol9NhiVHkdNjMwXpN +h9ULo1999dWy//77l4ULFzafCe7iiy8eHEm98vNSHvjfl/LwgBz3jxyfXp7earJIEpQYgyRBiW+R +JGjmYMIkSMrpoosuKkceeWTZd999ywUXXFDef//95re77rqrHHPMMeWss85qskIMYWDw/P9ncB6J +jpehfXxeeqvJIklQYgySBCW+RZKgmYMJkyBzbh6Hp+QVK1Y0a3lqwSxbtqwsWrSoWaQ0UHjhO4MT +9MLJzb8gvdVkkSQoMQZJghLfIknQzEG+MbpfvPB3A0iCzk+9ThaLr/tzRu2BATju/8vxp+dSr5NG +kqDEt0gSNHOQJKhfJAlKVFg2/4ny7PU/KC/c8g8z/7h58+b4ctm7qdhJI0lQ4lskCZo5SBLUJ554 +4Jpyw2WHl1uvPmYgjhsuPax88E5Of0wW770/v5x1/rXl/EtvmfHHrEtubo4lS5elYieNJEGJb5Ek +aOYgSVCfuPveh8p5F1xeLr7suoE4zjl/dnnjzRz5TxYffPBBufDCCwfmHSAO290kJosREvTkf/Pn +tVWDMEWKzL25Tap1kkgSNHOQJKhPzJs3b2CCnsNTfW+99VYqdpJIEpQYizXlkwd+UD647d+XD+f8 +hxl/vH/z/1g+e+W4VOskkSRo5iBJUJ9IEpSokSQo0cZ1N91ZzrvwmnLRpTfM+OPsWVeUx5/M6fLJ +IknQzEGSoD6RJChRI0lQoo2bb765eUHsoPiHp556KpU6SSQJmjlIEtQnkgQlaiQJSrSRJCgRSBI0 +c5AkqE8kCUrUSBKUaCNJUCKwbPnn5ZIrry0XXX51ufiKa2b8ceHsq8pV19+cJGiYkSQoUSNJUKKN +JEGJwJ+WLS23XnBSuWXW8eXW80+c8cfN5x5X5l52Zvlm5crB01WSoP6QJChRI0lQoo0kQYnAqsXv +l6UH/PuydN9/W5bu/+9m/rH3vy6fHfn/KGu+/HzgdJUkqE8kCUrUeO/Dj8s5l1xZLrry+hl/XHDF +dc2x5LPPUrHrgSRBiQAStOTA/2tZst//UJaMkKEZf+zz35elR/3nJEHDjLvuf/gvQe+6gTjOvviK +8sbb+bLEyWLZm0+XZ4/4x/LC8b+a8cfzx/2iOb5c+EEqdj2QJCgRQIIWH/h/K4v3+3dl8QH/YeYf ++/zbsuSov00SNMx47rZLy9yT9yj3nnXAQBxzT9qtfPzqM6nYSeKbV+4py3f9b8rn+/7rmX/s838p +n+/9N2X1/NdSseuBJEGJQJKgmYMkQX3ii4u3Lst2+a/L8n3/zUAcy3b+F+Xrp69PxU4SK//pvrJo +j/9uMBzc/v9j46xXffJGKnY9kCQoEUgSNHOQJKhPLL90h7Jo9381GAY9ciza7b8tXz1zUyp2kkgS +lGgjSVAikCRo5iBJUJ9IEpSokSQo0UaSoEQgSdDMQZKgPpEkKFEjSVCijSRBiUCSoJmDKSNBCxcu +bDrNE088UR555JHy0UcfDZSgkgQlaiQJSrSRJCgRSBI0czBlJMjeIoceemi59dZbyw033FBef/31 +gRJUkqBEjSRBiTaSBCUCSYJmDqaUBN19990Da9RJghI1kgQl2rj+1rll1mVXDcR7xM65+Iry+DPP +pVIniSRBMwdTRoKMHGbNmtVsJzCIr9///LIdB44Eff3cLemtJolvXntg4EjQmgX5BvH1wZuzdikv +HrlZefnYn87444WDv1M+uffiVOoksWbphwNJgsrXXwycrqaMBEmdnnvuueWiiy4qRx55ZLM2aCJY +vnx5WbJkyfQ8Pvu8LL7gj2XxoAQ9x+5/XZY8eHlZvOxP01fu0/VYNmIPT95aFu/5NwNFgpa8/vSI +rU/jfjhdj5FB35Ili8vy4/6XsnyPfzkQ7xH7fJd/UT679sD0D5OKF8vKkrdfHDgStPjI/1yWzP9g +xN4/m5Zyl3xZtWrVpiNBNZ599tmy9957l2XLlvV9zYoVKxoiNC2PP31Rlly4zcCRoM8euaosX/Hl +9JX7NLaHz565Y+BI0PK3nxtp2zTuh9P1+Pzzkf9HAt+Jf18W7/1vBsMmdvtvy9Ibj0j/MCn/sKIs +e/+fBpIELV84f8Te/zQt5f75SD9cvXr1piFBa9asGfN5/vz5Zc899yyffvrpwKTMBnE6bOWzN2fe +epLI6bBEG5+d/IOyaO9/PRj+Ydd/Wb64/bhU6mSx9IOyYv//vqzY52/Kiv3+9cw/9vrrsuLI/7mU +lSsGTlVTQoK+/PLLcuONN5YHH3ywPP300+WUU05pPk+GlU1XfH3xFmXlLv+7snK//24wjp3/t2XV +09ems5okcmF0YgxGBoKDRoJW3HZs6nWS+GrJ/PLs4T8qzxyyeXn2sH+c8cfTB32/vHDCb8uqL5ME +9cTLL79crr766nLttdc27wkaNMy94bpy5pGHlfNPOG4gjjOPOLS8/tKL6a0miSRBiTFIEpSoMH/Z +1+Wn579efnTea+Uns16f8cc/nPNa2eKyN8uKlasGTlf5xug+cdidC8v/66x3yw/Of38gjv/nme+V +u19PfU8WSYISY5AkKFHhk2Uryy9mvVJ+eu7L5efnvTLjjx+d/XLZ6tLXkgQNM46b817Z7PQXyi/O +e3kgjh+c9kK5/7WlqdhJIklQYgySBCUqIEG/nPVy+dm5Lw1EvPjx2S+VrS99NUnQMCNJUKJGkqDE +GIyQoD+d9J2ybK+/Lsv3/7cz/9jlvy5f3XpU6nWSSBI0c5AkqE8kCUrUSBKUGIMREvTeab8pr+// +n8qbh/y/Z/zx2p7/U1l4xxmp10kiSdDMQZKgPpEkKFEjSVCihreE7HnVq+WnZz5bfnPu8zP++IdT +nymXPTJYm2BvTCQJmjlIEtQnkgQlaiQJStRAgna5+q2y+dmvlJ/OenXGH989/eVy8SOD8563jY0k +QTMHSYL6RJKgRI0kQYkaSNBuV79RfnjWiwPhH74/4h8ueWR+KnaSSBI0c5AkqE8kCUrUSBKUqJEk +KFEjSdDMQZKgPpEkKFFj1St3ly93+xfly/3+ZsYfX+37r8pX+/x1WfPJa6nYSSJJUKJGkqCZgyRB +fSJJUKLGwtefK3MP+lW556itZ/xx95FblruP+EP5fMGHqdhJIklQokaSoJmDJEF9IklQosYT760o +/9+z3i6bn//ujD9+MMvxTnl38dep2EkiSVCiRpKgmYMkQX0iSVCixtPvLi+bnzEY9vCzc//srN9f +/FUqdpJIEpSokSRo5iBJUJ9IEpSokSQoUSNJUKJGkqCZgyRBfSJJUKJGkqBEjSRBiRpJgmYOkgT1 +iSRBiRpJghI1kgQlaiQJmjlIEtQnkgQlaiQJStRIEpSokSRo5iBJUJ9IEpSokSQoUSNJUKJGkqCZ +gyRBfSJJUKJGkqBEjSRBiRpJgmYOkgT1iSRBiRpJghI1kgQlaiQJmjmYMhL01VdflWuuuaacfvrp +5ayzzioffPDBQAkqSVCiRpKgRI0kQYkaSYJmDqaEBK0Z8QCzZ88uV111Vfnss8/KPffcU4488siy +YsWKgRFUkqBEjSRBibE+MElQ4lskCZo5mBIStHjx4nL00UeXBQsWNJ9XrVpVjjjiiPLEE08MjKCO +HSFBHMOfA8bMP/7+1CRB6wMk6AenD4Y9/OQcR5Kg9cWuV71R/uHMFwfCJr434h8uThI0aSBBPz/v +z/1qEOzhh2e9VLa8JElQT7z66qtrZX5OPfXUMmfOnL7LWL16dUOeputxzO3vlB+c+lz5+TkvDsTx +/VOeK/P+adG0lvl0Pp58e2nZ7LTBsIefnu14oby7YEXqdpLHN9+sKrte+Vr5xzOeHwib+PsR/3DR +Qx+mbid5fLTki/KLc//crwbBHn505gtlq4tfKcu/WDmt5W5WapOQoJdffrnJ/EyWBKm4bNInn3wy +bY9X3/6wPPfa++X51wfj0JZ3P/h4Wst8Oh/vffjxQNmD48OP56du1+N4+c0PynMDYgvPjtj2G+9+ +lHqd5PHRSF8aJN/gePGND8r8+dNX5p9++unIYOSbTUOC3n///XLYYYeVZcuWjZKaY445pjz44IOZ +F00kEolEIjEtMSUk6Msvv2zWBN19993NZ5mhQw89tCxatCglnEgkEolEYlpiyh6Rf/fdd8txxx1X +zjjjjHLiiSeW1157LaWbSCQSiURi2mJKX5a4cuXKZm3PF198kZJNJBKJRCIxrZFvjE4kEolEIjGU +SBKUSCQSiURiKJEkKJFIJBKJxFAiSVAikUgkEomhRJKgRCKRSCQSQ4kkQYlEIpFIJIYSSYISiUQi +kUgMJZIETRDPPvtsOfPMM5vj6quvLkuWLBlXuJ9//vm0qLcNau+6665y0kknNe9ySkwNPvvss3Lp +pZeW008/vZx33nnlxRdfbGTdBRv8LV26dFKb/E0l3F89zz777Kbel19+efnqq9xBfipAx/fff3/z +0tizzjqr3HrrreP61eXLlzdv3N/UUA/+TJ2PP/748uijj6YypwgffPBB4xvYxEUXXVTeeeednud6 +1x6fMp1w3333laOOOqppxyAiSdAE8Pjjjzdvw7ZXGqeBEL3xxhvNbwLL119/PXquQHjttdc2Acb3 +deCrz6sR39dB1IZw453P6Xahvp/ybrjhhrLffvuVHXfccWCNeWODDZx88snlgQceaP7+6KOPmuAR +m/jRT63L9957r9leZuHChWO+76Vf5cR5tZ57nU/n/WwgqEy27C3vHO7hhx9ebrrpplToFOC2224r +55xzTqNjAyByZhch91p3dHruueeWO++8c4zenNdLj3F92x7GO78XKa/BNl944YWmzk8//XTZeeed +m00pE+uHDz/8sBx77LGNbPmIN998s5FvrZ/w1f5/6qmnmhhjUNKPj6ivj/PbsahG7LbeL2xKyj/s +tttuzXZYg4gkQX3CaM0msc8888xavy1YsKBceeWV5dRTT22cGmO3bcjee+9ddt999yZT4DtOxchb +4LzmmmtGjVF2wAhBdunAAw9syvCdEeUpp5zSXHPzzTc3js5x2WWXNceFF17YbFLL6UZ2xz2UtWLF +itH66RSI28cff9wYNIeXWH/QyWmnnbbW9xwY3dGLzBvHRm/0tfXWWzc6ZUdGfddff33zme1EsGQX +99xzTzNytBHxIYccUp577rkyf/785jv3lMWhT3jsscfKrFmzysUXX1xuv/32hni7f+C6664b43jb +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 +----_=_NextPart1_14cdd64b-1dcb-4c06-b478-4c58d5a99a16 +Content-Type: application/octet-stream; name="oledata.mso" +Content-Transfer-Encoding: base64 +Content-ID: + +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 +----_=_NextPart1_14cdd64b-1dcb-4c06-b478-4c58d5a99a16-- + +----_=_NextPart2_364f2565-3d7b-485a-bb82-d3487fbbcc3f +Content-Type: application/octet-stream; name="ExampleAttachment.txt" +Content-Transfer-Encoding: base64 +Content-Disposition: attachment + +U3ViamVjdDogPDxbc3ViamVjdF0+Pg== +----_=_NextPart2_364f2565-3d7b-485a-bb82-d3487fbbcc3f-- + diff --git a/Examples/Data/Source/Email Templates/Chart with Filtering, Grouping, and Ordering.msg b/Examples/Data/Source/Email Templates/Chart with Filtering, Grouping, and Ordering.msg new file mode 100644 index 0000000000000000000000000000000000000000..43a9310618f2b9b323631c1fa5f58d224180e72f GIT binary patch literal 256512 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
      X4b4!VsU45yg<4uh_^Sdxy#Npf?^dTeE zT>OA)0C!-_@%pN|^ipcb6~n(lLt zN-7=CWC}2C#13YZt+B1ilt`7d*%(_3l}{!sz6N&)&f)_F?fD(d`+fr|r1ZK-yOADm z9w^)!S%zQ!m5Rp zEnc-aa^573h0Fcgh}AclV|>+&;}W6@h<&L@CvzNSd~jcCU#f~=0;z-fAiXN6fM_`W zgW)7BZp>FBT&0qSx|ezvj*mywV+GE^;i088P1g9N@y~dZDG;I#$C=b_rooto9UPxv zu6uX_K^Lpdo`F*l^!KIeQ3zv@4qFvfteBt1rPzc@d=P$Q-AK<+b!9qFaQ#DjphQU{swBR*d4Oq%z9+8K%G=>H6qbSyT*(XGZ!t?x?j@Gt#G3GsoA#`vqA8 zd$S{T!|xZA+U^SC9m>qO@NZa|*r zXb!I?*eXG`W(|%}V*()i1#anep)L-SDF!QwDkJr+1NF@>cL+S&WBtUfqtwOiEIkqb z1NAZ2KXeF|t@9JNQ9j~URVpwdni`sYoO}*qFWKbY&Ic;p(lCN=}J_djNbY|JY zcewd1sh0C!Bs>;K?`tmmBA!s}!HLY5#lc`kH@3?Al!;FO5`*(0FJ2mb=D^3r*`>;* z<9SYkGL;w`LyY(V!l|@)GD2nd`RNhM@O`D;r*xUU8VaRp-uWqOY~cy$e~008!;H7E!)|Q1`#qf8aOS zqRRJy@a6z&ey)FX{@btRqva_G5LG@}NNoYs{7gPt?}#EFl{;*PV*UB{D;&mu3-WXM z=q#*Xr{5pqq5^63xvf3sQI~kk=lQZ zAH;*s+Y?oOAB0r{Q1f&7==}3v>i@Uzzh00lTKk8t0r;Pn-y^bo(dNIR?I}7RQdIqa zhOnaae~9p{-hU(g-6G0Izx)$H{%_C!{UoCNq4mFhng3$wywg}fRQ-2BSUiB5pO^pP zHIRP#{PEl6|0Bp%7E1q>e39mV|F--OBFZNU*Pr;c{+C01VSuRm7eH81>K`I}Z7M?f z6V5?K=O&9PpATV0tA9jq|4`YefvA6JIw6E;^3hcoeyRW8&j0r!%m456|K5o#|G(4! zdkgZ1??2f6x6M$_4{iVL$o_>0{x{1<>)-#|>(3N|jyH)7Df&nC|L?9prwh@c`5;R6 z9f3fA#YXwm-kjf3X=5 z*U;>^KhpIr`oFc#gRf}$FWUNZsNT``OjP|}_)h-6yZ%Q!Jo%urUuJtR#fp4uB0Mb_`il4zJ7GBO%Pnczw&=PU+s^}t5uIvezRU7c!KuOe5B#}VYr{P zwLfzIy3@Um8zkI%rkW6TT$?)ubM^X}e|!BD7fAbjnA_tDIzu)1uNrg?l{A3b!`F_+ zh0a?-ANBKDLu-(u^OnAMOJI70^SIEkph5!)%qO864Kp+^?7Mkik{CYB(^5i@q5Vx% z7R=)kx<~!PEiQDUVbJ3WP(PyA^{u)Gzp;OE<6w0l^tkFj!fOfL;1n7OSPck0K5P_V zMWFB95-_Lgdp8c|N}=uv04iTx%ueVg3EeC7aPUlp9v}DZI1Wk;>i%OMTJWFF$3fZt zb9^yEH+ug{V50OCFk(vR@nK_&kruj#*V>oB$OzrT

      8|A2dA5(Dlg)-ROEy5+F+g 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

      k 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�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 U@&7;m<6HmvKRtfl>Ui7!2kKq*QUCw| literal 0 HcmV?d00001 diff --git a/Examples/Data/Source/Email Templates/Common List.eml b/Examples/Data/Source/Email Templates/Common List.eml new file mode 100644 index 0000000..ad0add6 --- /dev/null +++ b/Examples/Data/Source/Email Templates/Common List.eml @@ -0,0 +1,939 @@ +Message-ID: <01c576a6f32c4e53a39b465f11c7f3ed> +From: "<<[sender]>>" +Subject: <<[subject]>> +To: "<><<[r]>>", "<>" +Cc: "<<[cc]>>" +X-Unsent: 1 +Date: Mon, 7 Aug 2017 23:09:01 +0000 +MIME-Version: 1.0 +Content-Type: multipart/mixed; + boundary="--_=_NextPart1_e906cfc0-4c55-494d-9e70-b3682d25e4ae" + +This is a multi-part message in MIME format. + +----_=_NextPart1_e906cfc0-4c55-494d-9e70-b3682d25e4ae +Content-Type: multipart/alternative; boundary="--_=_NextPart0_ff5d054b-64b0-4f44-9285-7ce112ee1415" + + +----_=_NextPart0_ff5d054b-64b0-4f44-9285-7ce112ee1415 +Content-Type: text/plain; charset="utf-8" +Content-Transfer-Encoding: quoted-printable + +NOTE: Dynamic inserting of images is not supported yet=2E +<><<[Name]>> +<> + +----_=_NextPart0_ff5d054b-64b0-4f44-9285-7ce112ee1415 +Content-Type: text/html; charset="koi8-r" +Content-Transfer-Encoding: quoted-printable + + +<= +meta name=3D"ProgId" content=3D"Word=2EDocument">

      NOTE: Dynamic inserting of images is not supported yet=2E<= +/span>

      <<foreach [in customers]>&= +gt;<<[CustomerName]>>

      <</foreach>>

      +----_=_NextPart0_ff5d054b-64b0-4f44-9285-7ce112ee1415-- + +----_=_NextPart1_e906cfc0-4c55-494d-9e70-b3682d25e4ae +Content-Type: application/octet-stream; name="ExampleAttachment.txt" +Content-Transfer-Encoding: base64 +Content-Disposition: attachment + +U3ViamVjdDogPDxbc3ViamVjdF0+Pg== +----_=_NextPart1_e906cfc0-4c55-494d-9e70-b3682d25e4ae-- + diff --git a/Examples/Data/Source/Email Templates/Common List.msg b/Examples/Data/Source/Email Templates/Common List.msg new file mode 100644 index 0000000000000000000000000000000000000000..e69fa7442abf3a88f7f43ac41de320dde73ecc8a GIT binary patch literal 56320 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 IzpDlQ2XCl$X#fBK literal 0 HcmV?d00001 diff --git a/Examples/Data/Source/Email Templates/Common Master-Detail.eml b/Examples/Data/Source/Email Templates/Common Master-Detail.eml new file mode 100644 index 0000000..e2f1abc --- /dev/null +++ b/Examples/Data/Source/Email Templates/Common Master-Detail.eml @@ -0,0 +1,945 @@ +Message-ID: +From: "<<[sender]>>" +Subject: <<[subject]>> +To: "<><<[r]>>", "<>" +Cc: "<<[cc]>>" +X-Unsent: 1 +Date: Mon, 7 Aug 2017 23:09:01 +0000 +MIME-Version: 1.0 +Content-Type: multipart/mixed; + boundary="--_=_NextPart1_fe816aec-62f3-4da2-b181-e222d694bb30" + +This is a multi-part message in MIME format. + +----_=_NextPart1_fe816aec-62f3-4da2-b181-e222d694bb30 +Content-Type: multipart/alternative; boundary="--_=_NextPart0_44c13fbe-924e-4617-a2ad-82a2b79a7b99" + + +----_=_NextPart0_44c13fbe-924e-4617-a2ad-82a2b79a7b99 +Content-Type: text/plain; charset="utf-8" +Content-Transfer-Encoding: quoted-printable + +NOTE: Dynamic inserting of images is not supported yet=2E +<>Manager: <<[Name]>> +Clients: <><<[IndexOf() !=3D 0 ? =E2=80=9C, =E2=80= +=9D : =E2=80=9C=E2=80=9D]>><<[Client=2EName]>><> +<> + +----_=_NextPart0_44c13fbe-924e-4617-a2ad-82a2b79a7b99 +Content-Type: text/html; charset="koi8-r" +Content-Transfer-Encoding: quoted-printable + + +<= +meta name=3D"ProgId" content=3D"Word=2EDocument">

      NOTE: Dynamic inserting of images is not supported yet=2E<= +/span>

      <<foreach [in customers]>>Manager: <<[Custo= +merName]>>

      Products: <<foreach [i= +n Order]>><<[IndexOf() !=3D 0 ? “, ” : &= +#8220;”]>><<[Product=2EProductName]>><</foreach>&g= +t;

       

      <</foreach>>

      +----_=_NextPart0_44c13fbe-924e-4617-a2ad-82a2b79a7b99-- + +----_=_NextPart1_fe816aec-62f3-4da2-b181-e222d694bb30 +Content-Type: application/octet-stream; name="ExampleAttachment.txt" +Content-Transfer-Encoding: base64 +Content-Disposition: attachment + +U3ViamVjdDogPDxbc3ViamVjdF0+Pg== +----_=_NextPart1_fe816aec-62f3-4da2-b181-e222d694bb30-- + diff --git a/Examples/Data/Source/Email Templates/Common Master-Detail.msg b/Examples/Data/Source/Email Templates/Common Master-Detail.msg new file mode 100644 index 0000000000000000000000000000000000000000..19a57d7d541ff4740033c268d5496ff748cf79ca GIT binary patch literal 57856 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 GzyAl=b;E4{ literal 0 HcmV?d00001 diff --git a/Examples/Data/Source/Email Templates/In-Paragraph List.eml b/Examples/Data/Source/Email Templates/In-Paragraph List.eml new file mode 100644 index 0000000..a6fadfd --- /dev/null +++ b/Examples/Data/Source/Email Templates/In-Paragraph List.eml @@ -0,0 +1,930 @@ +Message-ID: <60ec197ebd424e5f8ea2e8b8054990e0> +From: "<<[sender]>>" +Subject: <<[subject]>> +To: "<><<[r]>>", "<>" +Cc: "<<[cc]>>" +X-Unsent: 1 +Date: Mon, 7 Aug 2017 23:09:01 +0000 +MIME-Version: 1.0 +Content-Type: multipart/mixed; + boundary="--_=_NextPart1_b1ee7353-7bd9-4a28-a14a-502783636db0" + +This is a multi-part message in MIME format. + +----_=_NextPart1_b1ee7353-7bd9-4a28-a14a-502783636db0 +Content-Type: multipart/alternative; boundary="--_=_NextPart0_4822bd28-6d65-412f-80c5-60de7d885b0a" + + +----_=_NextPart0_4822bd28-6d65-412f-80c5-60de7d885b0a +Content-Type: text/plain; charset="utf-8" +Content-Transfer-Encoding: quoted-printable + +We provide support for the following clients: <><<[In= +dexOf() !=3D 0 ? =E2=80=9C, =E2=80=9D : =E2=80=9C=E2=80=9D]>><<[Name]>><> + +----_=_NextPart0_4822bd28-6d65-412f-80c5-60de7d885b0a +Content-Type: text/html; charset="koi8-r" +Content-Transfer-Encoding: quoted-printable + + +<= +meta name=3D"ProgId" content=3D"Word=2EDocument">

      We provide support for the following products: &l= +t;<foreach [in products]>><<[IndexOf() !=3D 0 ? “, R= +21; : “”]>><<[ProductName]>><</foreach>>= +

      +----_=_NextPart0_4822bd28-6d65-412f-80c5-60de7d885b0a-- + +----_=_NextPart1_b1ee7353-7bd9-4a28-a14a-502783636db0 +Content-Type: application/octet-stream; name="ExampleAttachment.txt" +Content-Transfer-Encoding: base64 +Content-Disposition: attachment + +U3ViamVjdDogPDxbc3ViamVjdF0+Pg== +----_=_NextPart1_b1ee7353-7bd9-4a28-a14a-502783636db0-- + diff --git a/Examples/Data/Source/Email Templates/In-Paragraph List.msg b/Examples/Data/Source/Email Templates/In-Paragraph List.msg new file mode 100644 index 0000000000000000000000000000000000000000..d1b2d7975d35be509d29d2903e27694c6592b97c GIT binary patch literal 55808 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
      Q%L3`=ar6*6G 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 jB<1Y{)z8ew?xdHur +From: "<<[sender]>>" +Subject: <<[subject]>> +To: "<><<[r]>>", "<>" +Cc: "<<[cc]>>" +X-Unsent: 1 +Date: Mon, 7 Aug 2017 23:09:01 +0000 +MIME-Version: 1.0 +Content-Type: multipart/mixed; + boundary="--_=_NextPart1_29ec6085-b554-4ff4-9604-a89d0f76a50f" + +This is a multi-part message in MIME format. + +----_=_NextPart1_29ec6085-b554-4ff4-9604-a89d0f76a50f +Content-Type: multipart/alternative; boundary="--_=_NextPart0_c5abcdb7-69d8-4e86-8f41-8aca1219e980" + + +----_=_NextPart0_c5abcdb7-69d8-4e86-8f41-8aca1219e980 +Content-Type: text/plain; charset="utf-8" +Content-Transfer-Encoding: quoted-printable + + +Products +Order Price + +<>No data + +<><><<[Product=2EProductName]>> +<<[Price]>><> + +Total: +<<[Sum(c =3D> c=2EPrice)]>><> +=20 + +----_=_NextPart0_c5abcdb7-69d8-4e86-8f41-8aca1219e980 +Content-Type: text/html; charset="koi8-r" +Content-Transfer-Encoding: quoted-printable + + +<= +meta name=3D"ProgId" content=3D"Word=2EDocument">

      C= +lient

      Order Price

      <&l= +t;if [!Any()]>>No data

      <<else>><= +;<foreach [in contracts]>><<[<= +span class=3D"SpellE">Client=2EName]>>

      <<[Price]>><</foreach>>

      Total:

      <<[S= +um(c =3D> c=2EPrice)]>><</if&g= +t;>

       

      +----_=_NextPart0_c5abcdb7-69d8-4e86-8f41-8aca1219e980-- + +----_=_NextPart1_29ec6085-b554-4ff4-9604-a89d0f76a50f +Content-Type: application/octet-stream; name="ExampleAttachment.txt" +Content-Transfer-Encoding: base64 +Content-Disposition: attachment + +U3ViamVjdDogPDxbc3ViamVjdF0+Pg== +----_=_NextPart1_29ec6085-b554-4ff4-9604-a89d0f76a50f-- + diff --git a/Examples/Data/Source/Email Templates/In-Table List with Alternate Content.msg b/Examples/Data/Source/Email Templates/In-Table List with Alternate Content.msg new file mode 100644 index 0000000000000000000000000000000000000000..915651d2100ad07dca0614848d33ba47636cf086 GIT binary patch literal 65536 zcmeFa2S5``*FPMUrr+m-ze(yW*%alDkXL>m^J5#7=T(Ww5>)V{~R4Og5T7?&aWNZ=AvFdY8k#f^}h-5uCD%zY!0dGff3M&2>1c@FR1_Dlmm^g)&Jsr z68;D3f8p|tns%T{@cz^FUt3OUL6~qmfXhFw|8)U|fO-I2FL2w|0MHQ72*3rv5P;Jd zfb+dGpc$Y!patMJKubU?Kx+VQpV|W20onuj00F=lU;;1&bO4wEIs!TYa5?S*x;5bY z`j3kb?hh;hRsc+E1G+5$*9UCZrT)8orUmlFEP6+^6YU{s#gr zZacC1dHEMYyJxQxf6N!RvAXid;~7kkRdxJrAO&zL2-PjDhW`6sJpQZ?jyOKL^6w9{ z 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 +From: "<<[sender]>>" +Subject: <<[subject]>> +To: "<><<[r]>>", "<>" +Cc: "<<[cc]>>" +X-Unsent: 1 +Date: Mon, 7 Aug 2017 23:09:01 +0000 +MIME-Version: 1.0 +Content-Type: multipart/mixed; + boundary="--_=_NextPart1_0dc393f3-2017-4d48-b6bd-8e310ee08b37" + +This is a multi-part message in MIME format. + +----_=_NextPart1_0dc393f3-2017-4d48-b6bd-8e310ee08b37 +Content-Type: multipart/alternative; boundary="--_=_NextPart0_cc4600aa-aba6-4c84-9412-32c4e71238a3" + + +----_=_NextPart0_cc4600aa-aba6-4c84-9412-32c4e71238a3 +Content-Type: text/plain; charset="utf-8" +Content-Transfer-Encoding: quoted-printable + + +Manager +Contract Price + +< c=2EDate=2EYear =3D=3D 2015) + =2EGroupBy(c =3D> c=2EManager) + =2EOrderBy(g =3D> g=2EKey=2EName)]>><<[Key=2EName]>> +<<[Sum(c =3D> c=2EPrice)]>><> +=20 + +----_=_NextPart0_cc4600aa-aba6-4c84-9412-32c4e71238a3 +Content-Type: text/html; charset="koi8-r" +Content-Transfer-Encoding: quoted-printable + + +<= +meta name=3D"ProgId" content=3D"Word=2EDocument">

      M= +anager

      Contract Price

      <<foreach [in contr= +acts

         =2EWhere(c =3D> c=2EDate=2EYear =3D=3D 2015)

      = +

       &nbs= +p;  =2EGroupBy(c =3D> c=2EManager)

      = +

       &nbs= +p;  =2EOrderBy(g =3D> g=2EKey=2EName)]>><<[Key=2EName]>>

      <<[Sum(c =3D> c=2EPrice)]= +>><</foreach>>

       

      +----_=_NextPart0_cc4600aa-aba6-4c84-9412-32c4e71238a3-- + +----_=_NextPart1_0dc393f3-2017-4d48-b6bd-8e310ee08b37 +Content-Type: application/octet-stream; name="ExampleAttachment.txt" +Content-Transfer-Encoding: base64 +Content-Disposition: attachment + +U3ViamVjdDogPDxbc3ViamVjdF0+Pg== +----_=_NextPart1_0dc393f3-2017-4d48-b6bd-8e310ee08b37-- + diff --git a/Examples/Data/Source/Email Templates/In-Table List with Filtering, Grouping, and Ordering.msg b/Examples/Data/Source/Email Templates/In-Table List with Filtering, Grouping, and Ordering.msg new file mode 100644 index 0000000000000000000000000000000000000000..e153a8ad82ec747c34d07f46979a3dbc15da3edc GIT binary patch literal 60928 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 ?O&ghHe^8?2-#+K|G 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 S6yzu3Xa2>0`{Dn4pZ^CNUIz34 literal 0 HcmV?d00001 diff --git a/Examples/Data/Source/Email Templates/In-Table List with Highlighted Rows.eml b/Examples/Data/Source/Email Templates/In-Table List with Highlighted Rows.eml new file mode 100644 index 0000000..a0e5788 --- /dev/null +++ b/Examples/Data/Source/Email Templates/In-Table List with Highlighted Rows.eml @@ -0,0 +1,1109 @@ +Message-ID: <0ee4063a99684cc2b65652de3261d93b> +From: "<<[sender]>>" +Subject: <<[subject]>> +To: "<><<[r]>>", "<>" +Cc: "<<[cc]>>" +X-Unsent: 1 +Date: Mon, 7 Aug 2017 23:09:01 +0000 +MIME-Version: 1.0 +Content-Type: multipart/mixed; + boundary="--_=_NextPart1_db716c52-788f-4bcc-b33c-32c192ab9c86" + +This is a multi-part message in MIME format. + +----_=_NextPart1_db716c52-788f-4bcc-b33c-32c192ab9c86 +Content-Type: multipart/alternative; boundary="--_=_NextPart0_4858b75e-16d8-43fe-b04a-90b68cf1e366" + + +----_=_NextPart0_4858b75e-16d8-43fe-b04a-90b68cf1e366 +Content-Type: text/plain; charset="utf-8" +Content-Transfer-Encoding: quoted-printable + + +Client +Contract Price + +<><=3D 1000000]>><<[Client=2EName]>> +<<[Price]>> + +<><<[Client=2EName]>> +<<[Price]>><><> + +Total: +<<[Sum(c =3D> c=2EPrice)]>> +=20 + +----_=_NextPart0_4858b75e-16d8-43fe-b04a-90b68cf1e366 +Content-Type: text/html; charset="koi8-r" +Content-Transfer-Encoding: quoted-printable + + +<= +meta name=3D"ProgId" content=3D"Word=2EDocument">

      C= +lient

      Contract Price

      <<foreach [in contracts]>>&= +lt;<if [Price >=3D 1000000]>><<[Cl= +ient=2EName]>>

      <<[Price]>>

      <<else&g= +t;><<[Client=2EName]>>

      <<[Price]>><= +</if>><</foreach>><= +/o:p>

      Total:

      <<[Sum(c =3D> = +c=2EPrice)]>>

      = + 

      +----_=_NextPart0_4858b75e-16d8-43fe-b04a-90b68cf1e366-- + +----_=_NextPart1_db716c52-788f-4bcc-b33c-32c192ab9c86 +Content-Type: application/octet-stream; name="ExampleAttachment.txt" +Content-Transfer-Encoding: base64 +Content-Disposition: attachment + +U3ViamVjdDogPDxbc3ViamVjdF0+Pg== +----_=_NextPart1_db716c52-788f-4bcc-b33c-32c192ab9c86-- + diff --git a/Examples/Data/Source/Email Templates/In-Table List with Highlighted Rows.msg b/Examples/Data/Source/Email Templates/In-Table List with Highlighted Rows.msg new file mode 100644 index 0000000000000000000000000000000000000000..128a580de4573054c28caf9e8cf6c92981973722 GIT binary patch literal 60928 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 z⋙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 +From: "<<[sender]>>" +Subject: <<[subject]>> +To: "<><<[r]>>", "<>" +Cc: "<<[cc]>>" +X-Unsent: 1 +Date: Mon, 7 Aug 2017 23:09:01 +0000 +MIME-Version: 1.0 +Content-Type: multipart/mixed; + boundary="--_=_NextPart1_68a8e5d6-648d-42b4-9f95-89bf24960c58" + +This is a multi-part message in MIME format. + +----_=_NextPart1_68a8e5d6-648d-42b4-9f95-89bf24960c58 +Content-Type: multipart/alternative; boundary="--_=_NextPart0_e20d374a-624f-4887-a17d-2a42fb0acad2" + + +----_=_NextPart0_e20d374a-624f-4887-a17d-2a42fb0acad2 +Content-Type: text/plain; charset="utf-8" +Content-Transfer-Encoding: quoted-printable + +<> + +Client +Total Contract Price + +<><<[Client=2EName]>> +<><<[total]>><> +=20 + +----_=_NextPart0_e20d374a-624f-4887-a17d-2a42fb0acad2 +Content-Type: text/html; charset="koi8-r" +Content-Transfer-Encoding: quoted-printable + + +<= +meta name=3D"ProgId" content=3D"Word=2EDocument">

      <<var [total =3D 0=2E0]>>

      <<var [total =3D = +total + Price]>><<[total]>><</foreach>>

      Client

      Total C= +ontract Price

      <<foreach [in contracts]>><<[Client=2EName]>>

       

      +----_=_NextPart0_e20d374a-624f-4887-a17d-2a42fb0acad2-- + +----_=_NextPart1_68a8e5d6-648d-42b4-9f95-89bf24960c58 +Content-Type: application/octet-stream; name="ExampleAttachment.txt" +Content-Transfer-Encoding: base64 +Content-Disposition: attachment + +U3ViamVjdDogPDxbc3ViamVjdF0+Pg== +----_=_NextPart1_68a8e5d6-648d-42b4-9f95-89bf24960c58-- + diff --git a/Examples/Data/Source/Email Templates/In-Table List with Running (Progressive) Total.msg b/Examples/Data/Source/Email Templates/In-Table List with Running (Progressive) Total.msg new file mode 100644 index 0000000000000000000000000000000000000000..5d5128c4f4c442df1570f9d221b69dee4654c690 GIT binary patch literal 60416 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 WO=7T8aC{(5Rs13^+5F%0`Tqdidv2Zp literal 0 HcmV?d00001 diff --git a/Examples/Data/Source/Email Templates/In-Table List.eml b/Examples/Data/Source/Email Templates/In-Table List.eml new file mode 100644 index 0000000..6312ecb --- /dev/null +++ b/Examples/Data/Source/Email Templates/In-Table List.eml @@ -0,0 +1,1089 @@ +Message-ID: <7e67e6dbd1fd4386882221b162e05d62> +From: "<<[sender]>>" +Subject: <<[subject]>> +To: "<><<[r]>>", "<>" +Cc: "<<[cc]>>" +X-Unsent: 1 +Date: Mon, 7 Aug 2017 23:09:01 +0000 +MIME-Version: 1.0 +Content-Type: multipart/mixed; + boundary="--_=_NextPart1_c6257d2f-4ef4-4278-b0ca-589f04c12578" + +This is a multi-part message in MIME format. + +----_=_NextPart1_c6257d2f-4ef4-4278-b0ca-589f04c12578 +Content-Type: multipart/alternative; boundary="--_=_NextPart0_aa3a3a82-189e-4124-8082-8a8fcb950d53" + + +----_=_NextPart0_aa3a3a82-189e-4124-8082-8a8fcb950d53 +Content-Type: text/plain; charset="utf-8" +Content-Transfer-Encoding: quoted-printable + + +Manager +Contract Price + +<><<[Name]>> +<<[Contracts=2ESum( + c =3D> c=2EPrice)]>><> + +Total: +<<[Sum( + m =3D> m=2EContracts=2ESum( + c =3D> c=2EPrice))]>> +=20 + +----_=_NextPart0_aa3a3a82-189e-4124-8082-8a8fcb950d53 +Content-Type: text/html; charset="koi8-r" +Content-Transfer-Encoding: quoted-printable + + +<= +meta name=3D"ProgId" content=3D"Word=2EDocument">

      M= +anager

      Contract Price

      <<foreach [in managers]>><<[Name]>= +>

      &= +lt;<[Contracts=2ESum(

        c =3D> c=2EPrice)]>><</f= +oreach>>

      Tot= +al:

      <<[Sum(<= +/span>

        m =3D> m=2EContracts=2ESum(

          c =3D> c=2EP= +rice))]>>

       

      +----_=_NextPart0_aa3a3a82-189e-4124-8082-8a8fcb950d53-- + +----_=_NextPart1_c6257d2f-4ef4-4278-b0ca-589f04c12578 +Content-Type: application/octet-stream; name="ExampleAttachment.txt" +Content-Transfer-Encoding: base64 +Content-Disposition: attachment + +U3ViamVjdDogPDxbc3ViamVjdF0+Pg== +----_=_NextPart1_c6257d2f-4ef4-4278-b0ca-589f04c12578-- + diff --git a/Examples/Data/Source/Email Templates/In-Table List.msg b/Examples/Data/Source/Email Templates/In-Table List.msg new file mode 100644 index 0000000000000000000000000000000000000000..430a813a3ab56c00789bb6e10a1db735883b1d1b GIT binary patch literal 60928 zcmeEv2S5`^+yBx8K?&H-o`8rIHbIJ@kWdvBHZ(y|LoZSin!;HURIH~7Ds~OF6KewM z*)zqL-+rs3`k?CNYYhN_^Y*e*f=W|BjIai(Io7O^zX8|{b#5yRvv}ujpePD?8v(%jH~lY4fl!POf4LX~^T#s5%*F~( zR_aadFq8Lr-Wu+*XsInBm0Ae_jRi@HPKS-^birUSc#1r=S9ll?6M$Ae{3e2#i=~2@ z1HR)l?i_IQA!IDf5o0zM_Rh}43=JA5_h(rC;x!C>M5wR=A^n+HES3SPBxDE^HvBmFs89u^0`xmfbMc=8~w{s3nH6Z}3( z#>Tf}z2C*Z6ZoQZ_~_yn94Lp9-d*zp^KIh<1Ustpg8-j+|BpKRKzRBB8~~006#k|H z)E{`<0Um$>fPny1?7RSM00$5TKynhn>0R(_-fEyqOkPFBIAU=KRUs?a#fbOr=|7wfggT_GlZwY+=%KDG;6qQ*NXE2(i zzw7^p`mZY|%^}rLJAmo|O3M}iRF2HSM0Eny4O4&_z!K0E07C%G8qf-W+J2P(Z2|27 z-vQbKIsiHXQ2W#w&;@|x(!pc^Yyh@^ZU8$#4}d)Y)w7;}UI0|q|6TRJJIL0h!T+>r z3}I=i{x=TezoPzsssCYVdLDO8@598LAY`8>=zlQOZlQJ(h3)fPAN!&<5#=qSFX`_O znq4vU+jRej%9$=*G(wyBse-t$(KYh~w{rE#) z{dYk(vyuL682iLSPa}ZT_}r+A2elLB!-u~Q<-r5SKd4E=%W8HGHNpreNDfsp5t#co}mHs)jtS$%>anLuHWU~5`R>h zbopNh_9=j=fN6jtz;wV2z)Zj_z-+)Azz=}AfO!BhKmsTR%m*w0ECiGQ76BFmmH<#+ z|0R^d_0@nifVF^ifc1b+`8R>z=Fj-c!LPiL|BiR|pWd0f!QAuCz7Nb_0nY&k0VJRj z&{)?IaQ_TA3OEKpZS)DiNx&(|%>r?;HSP_l;kUlV)Bs5+}?FFJQ>DTtW+8(E= z_7~|j09pF#N6&$Mk#eA~>(`C~^wE!WBhpI!`Y(DGMbDs!zOLU@pZc#EZ)>&dr{4qg zHr@W9`3G$&Xe$2JAP{oB{q^zBx9exUR{;9o$G^{e-%l*MahJ|)booo^udRRj)qnJ?ho1BF z&3{x@7^u+z`nrB!ecGS*@z+;BdVcjlg%IdV`ccc%5A)Nj{^`n|zWP5ce_xvaWBr@- zqj>B3e_elJ1b)bF0%kLS={t9GFwFrL0F-5Dtb_Q_cn7uNsP3b>jQsR{{zr2MbN~Zj z13=GW-2irg?f`p04?s^qFFZ{)mc-sLGeM!Hz=htui zf$9z_WBTexeMM9g?T=Q!Uh^*osQw|{h``z;p}M;RO~wHYgum!_Zy?5M<^ghHj@s+} z_(aR~Z|<_%ajwD0C1F&o+< z^frzGVatY`hzA$Cg0%lNx3oDG|B0lJ^XXGP!I0bNotw7Q=wwGX((MTG%mbdD5Q=z! zCzMHKb8Hl*UX9Aa=W-s&4Trd)*`;(yy$^bHvXKu1{xaTc$N&u=Qb4~@=)$3uhJHU6 z*1vMCzdVqgpOMZOmzbTC%Fpz)WjQi!8Ht(k{DjoZWKY|O@BoMYwv3$I*vy33bbe-{ zr)@!EjxF1(rTM^EkNEWLpjZI|1Z3uT#CqDM~O2Re#QaTk<8W;TTQ)grfOa{pab8M>C!5@MaoL04N=+m5D}@ELTQUN+pMmNkhJ?EGz;jklF{lXaJv$P-%HHp}QPx0Is< z+JxJ;b!5~z+7#n<;XmO9)z)glo~Rdt8+ag zdpvPe`|;!ROhtxFT*<6W8q{2EEQ!rEDR;8BogHM;jN!C~!E$yS^PG8xFtJLu5V^=) zNjHVvz;p{y8l!_C-7_x0$STocm@#I;Nx9TPkknlsPvdyl2|TMUJQ-dLNBU|GljVo? zWBK&&@8}dz6X56K?BhsuwPN0u*f=;uHyx^eYDrWBKm4C^R)x{9)w*y z;q;%aH7vRPUHjH_dv9)7kl0({ zqZ~Ni<2$D{PIVEk;VzQ+w4fXOai)@h>BH{@Kss0U^KTtl=ARiU=zs|ln+-R{BFngW znen+}^W1Av4H-j?i$_=tKW56IaolSXy^}4nycl%if_+S6Su?9hL10qUlAvLMBWgxH z^-413(5>YG>M;tuGQu@5IrEu`oXbefZ!R+9I{ES*n8wkErvzZ*V+(S^#-s$WEMn{= ziRyIY!tjZS`SHCH#Yu}JT%FXxEBLvra^n~$Zb(36SuZavA$;f^V(7VSuN$EeF+ORd z#@_OV*)M^}E6O352=-4OS(lkR_Ldnp!-AVsLsXlzs`T;>bqMoLADJ~u8sVB18eK?Z zdNOhgQil!n&o`F`N>Z$vNpeHKv##uZF0#z0gCI67vd%@qbgS$=5J`N%v@%7Ex@k!2Cq^30rkqtHBQe!Y|0koi3$fa#s*u3l~@ zn3x)7!Oi1vlk<&wdk0Fm=9RHrW_H?~5gz&HiIL3A@Pd)d&C$xq=L0+$0*}gUqnKOS zJb?jb$c$V{L<)*97aAuq|8Q6y*Ry)CfE~FwCL~ujerEvFTAn@Zb>fI8ULMDI0w`9c z)|GYRLOK{2OPphTX6^G`Xd|bhswP@x44=C&N@B>nK{Wip}Ty4Znimh^Rs3# z4E10dhboHQ+H0&NYVGFPEO~UPiPf__Zg;u6yDhfynpud)lqF8CZjRisS8@`@aVa~A z2{U?iIb+k^%`@atoJwJ{kgYE_uip~9dA+R1R=?o4tZds>Y$qerTuk zC)qA?_i21SH=Cv0OWQ}^kCV#ETBj<-A!XfR)e)+)w%<|JG3o^EBwbipJD~D3{S1DV ztsp92yC~1$=h+vCi@eHO*UQ8e9(9#}4R|U9*M&F4H>I~^Z!2H-uMyvt-jUrUD{ITK zx_jhriXB_}l^g8wb61y?QdMNF;*s)k?NOylp$3yWMLkpe36^v8I>k%mahYAOcmtN} zJW7Efj~bzo!Wb;~q^1fpFv*9cg`$PBLH?HL7PGM+rer!quW8R%k{LaF*4PCRo!`ri|4#e(<3u65l zo!B;nEw6$jd@AoIvm?7J>~Cz7I5CrjJ@H=b-ofptzB~v1?gRdBvjiz)7+zMmf~jnw za-vkuH20{EJEzQNd~fR}?k}wyKn_$S^e8Q;SqhhQw=-k_Mxsx-Cv5~fk9xOe!g}s#sInD5n_o-oUsA>FiqJkGe?hx)2 zNBzD_NbMHyk&a^TBljzK{Apa0Mpe?Q@ObuN;s`H;OwK(jq>hP?OUDXNlBX1>m6EjG9v&B~k4(+;d>y^;Nac(hGYnhUFm9(xrPpgqaeSS;j-KEdC z%l?(<9XwBQpZ`F3JMe8t9zVAy{SogTq1rA~iPh4;w}A}K3;Asc^|JD*>>2r|qJaHE zbz3+wle(#@7rqgTXbm!oEEZ1lp$zFpxG{SM-i&9;Hxtf@qnazsl@_Xbge8qex5DR7 zp{#|i#I2(A*pw}?7PsSf7ut(Ar1li{5>vgU zo5;STgThgHl+C1^XjBF1jJvRZruS%=BX#F{2q`;apwv@#kjJLHX+HErQp%6*PyDPH z#2+jS6rZFGl~KdUOZ4Wu2pX3jg8#+~BdBoRCH8P(q&P}?O*oQ_R#2Go=AJPMo-#(& zK#!*-&?y5ViJeTO@Jz&Gg=u0llFE=}l6*xADod43<fo$4c$u#1WLJp8~yafx)1j0$Bh zQ7l!u(UwyyX{+c12&$C5n(z|3U6#hIqphd=5Yz^C8L^RfaPns97TH#EF=?>+?xdEQ zB2|1)l#!nMQ0?U0Tu#aHa<iy^*~o8x+fF26RK*h%F^36J9g^8ljoExzt?tBiTYhwN!3Y^^7`NX+>Hqwklhz zs5VqPTEM*aLJqg=>up3>DLG^HpM15yqjVlp|4m?&+8b#rv?cJi|>&` zWJAdZsvu>siXy1Tcqly#SMwr>;k-yb^`~@%c%-yWF^U>PqV|F|anMSNYlh<1~tZYjQ3)~Ie%cWFZU zJ^VK|HHENhw^i_fdPtj2e}q3~Q-2U$&#J{wq)%lxWPd82E2(0#j(SCVO)sI|u-_6( zaWqXzH^5i&jR<3&3E#B~g<6m1;`Is(Sqrj^qR}WTx;4I)-I{2_lk?jNzY|mKr8{ID z$xe#nyr7X?Wpt8aDE2FDRo$p6+@9V8@5!cq=J)3H;UAYeh#jT4?6i_%DV&tmG#9oj z;l{g2xCPdL1iy%jKjeGW;_HOXWGLje>Atgt)e)6NeWi8$rGuc_wgz zIz|wp9z`FGk6}-$E$YWp#3*A`BNfpXLe+^$iP3cyd^q9D7@WBD@Xf+w_>_<|#)IOpT6whEJZFY$J}LJaXcIlPfU{bjG}^(z zi^P>vm>WeiLuS+FSli61DSUPn@69M;JXr0Qt6p8{TU$ESAcxT#FMP(?n>4rBA(Zn# zRQPNZS=}*CTr)x3Hoqplz+=u(Zi7`^tt6Hal*U++Vmm-wHU-P%ho~Pouso`2oF7!4 zC|n@wvLMD4Oz-*4GjjNS#9Xm${8D*#h&tC}8EfIB7&pbLSX9VJT&4&Uvl8UVnQ4r?Jch?3CS%pH`Pig+ zq*x)jpe$w{(VA zT0OTU%p<>Mes#7(`oSz}3AraWp>*k;pT#GLli|ly)N!hWMaCw`Ps&b_ijp(DeP{V4 ztT+db;?Z<&YH0P7d4k}?@wwGYrW~=nc%jF6@x}Afaj_nS%*?d86`Y*;<>hMz7YOpK zRKM8npzrK9|6B@*?NaQ%vb8qRW2=14toSfnk3t5OCfYpdYQGx4!qV&A*UU=58uCk- z1wq2S=uoq_@;b=_z4*t>^+Jyxc+%-S4!?Z?UE+A*NCiGJb#!YN{;zYSxKpDMa8 zy&=0v-cl&9zZR?#2{!X?Un|9a-*HDw-j)6;Lj&*!QxjrhB{i>R_G7s{gz&tsxz12o z?aH$%VQ#5OFDYFj63o9%J)+mLU#oWVkIYaUtCU_OU=p}Wd`Nm&c7&|vH=|!=Qx~Ks zX{KTe;tbnds^GOyQdT4yv|N;3A}=ehD6c*gDi3V5nk6Bzr+1{|%GdZ_OcBUqW5Wcw zFKMsZ*FROi7G(d(m}(_aZ=O`ZjPGjnID{|Ad6Qw-oJnC~if2bN5ZdELQe&A3Ni|cn z5}K*nNL$KU&>cuiHieT+g*Cq)t+m*Nu$Q$X`QIr9$UNxR25=7AByb`x4U#A1SH@3y z$|_xE81}Niqs#P~wbh2@`{;Ym$z5C>-KNy66FK?TQ2tN+cW#sHuM7z3e`|Vqo>hax z-V)zCn}y2+gJlQOuiLy`WyN153b*>PLb`Cfj}NWB^qzNxM{sZHxLK+nMB6GC&yYZO zG$MMIoROS>JzKwKZ8dZBEKcY;nR4EUy3!}n>hiMi%}!l;^*f?tm7ZCfozmnL7y4|= zeYBnt&YF8gJqj@nO92Y3hhr1p`7=)>#Fr~1N%xi zHG}FLwYJ)xFSIUho!q)u7~n%?(2^9%$_4l$^#iNHl1EaA&ri@P-l37YBTQyFYN1H&5$0zY8C^k#kTVxZ3+fGk2FY+0=fHiD?YH~<5 zJWwnx@?nfzNQGlR^_!uZNo_FLBb-C*lNQ9CadtgGp`L!>>Tc9y_2Ibr!UeN#Uwe9I z-?pDS*2zLTiXs?JN5u;sA0A#JrjAfYX{Tw&@kPX9-V**&A+>VP;fV993$ITrE~ze4 z3L$lkSebcAc!R!DbcMVnREnuzRIB-=($%sxWZ;!BS_p$$$6qh}QM^G~Cfi7EQk2su zwRkHfqsi${>CcsavUl)eck*)sQnQ^HBK3IcC-E-nZrQ%ql+T>PIW@z#H+T#ey{Vez zLsBHokgUR$dv2Xrf4{_!b2HVo`P62@Nv7hA8lt(%oN8fmcbdzO{p|QJj*d_K$;abF z>BRJeLY{EA^{Lm?&IiLNC+jy<0}U26;|2qsa}C*~w!?3UTYB8D6x>(8a0>{n<>rm7 zXf9+ZZSGPn=-tG2Qku|8Y%Ogi>rK|TQPem1&M9q2wWoEUcf_9=WX>th%Lts@g>X^P z`BX2`f!0UqK{-%u&ob#OoN{9KBRbJsgsx&YX@8kJ2~Vpq3#am|51k&)h)(40ImbvE z9l{P%g+FnR@E)7bt@H|B$3MxbtrWaSJT3X7H1C`!61&N?582{r8zvbpw_T|g1WLBv zXXJ;A?w)fEufaoqo{WdiCxl#ah%|KDb8Z38R&FZ__Xs@}VJisloACB|Ol(9}#I=!g zhRflB8Lsku~XWBe2*fq6F)B0l!uCbAFX9 zsqKmNbBdpH1!^mgte;*CC^o5*XJ*S!@J|X)FKS0}YCFm++p z#tigu7$08X>(Z@oO+n(koQW$YE23JnocpJ*E-J1_cqQ=c=hQEpkyTff472-FO=aBgDl00&pf*P;99%Fi=d8flwd6O*2IZDb>)vI5QG*>oTTrB)Smj5d? zKYigfF+QKa7+=BfdGh=9!U?>I{Aq;nVo}v7b*gia!;6^UTFHGzx=0+KsZNUba7jM+ zJu|*=O`m7p25ahk^E#>TS1&A$TzN{w3S$Z)C%ZU}xv=?QgZq~AWh2+P#S6BPvJ;#s zk$QWLaKak)TB1lcot$yJ!Rc|l&C*%KqAuO}i*NRvNX;#? z06RDaASV z8EPTFn!iYVUU`vCEhU#Jj?jO`uS$;*rS#Rf@F!wdXvOu&AJ*~K^M4%ATD*Z?hHvyB zE=^%@RRW4{wMn>HyhXZICZl8uxsohbRZu% zD5Rh|X)6BKad)uy6P1v_x_GN)xDnMu+K26^^xzHPyV3jOUVQ2?{SVwnsV1IE1BhqB zKgHB@=?>{m8H0F>H?S#UFKpl%S4AA+8Az3UnrgUmK_AGV6ZGM{Q|u`58D0y8sf@Ce zHCK#LSg6iQ6|#8xIR!j2Ur@E6QlvC`8qJ#Bicq%Z1qpv8?(y1@=^c3e_*7S%&JI%H zVy1L5TS%}xr~+X>v9oj%zxINklue0Jx;jpkO(TmG)0JU)8H;DKXAz>5p7v^nXCaO9 z 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 A9{>OV literal 0 HcmV?d00001 diff --git a/Examples/Data/Source/Email Templates/In-Table Master-Detail.eml b/Examples/Data/Source/Email Templates/In-Table Master-Detail.eml new file mode 100644 index 0000000..73b17a3 --- /dev/null +++ b/Examples/Data/Source/Email Templates/In-Table Master-Detail.eml @@ -0,0 +1,1115 @@ +Message-ID: <7e70a4267ac741368245167e961b4a1d> +From: "<<[sender]>>" +Subject: <<[subject]>> +To: "<><<[r]>>", "<>" +Cc: "<<[cc]>>" +X-Unsent: 1 +Date: Mon, 7 Aug 2017 23:09:01 +0000 +MIME-Version: 1.0 +Content-Type: multipart/mixed; + boundary="--_=_NextPart1_3468a4db-d6eb-4946-a457-f6ff5bb23f88" + +This is a multi-part message in MIME format. + +----_=_NextPart1_3468a4db-d6eb-4946-a457-f6ff5bb23f88 +Content-Type: multipart/alternative; boundary="--_=_NextPart0_519d4448-d744-4262-ae41-d403bb6bc22e" + + +----_=_NextPart0_519d4448-d744-4262-ae41-d403bb6bc22e +Content-Type: text/plain; charset="utf-8" +Content-Transfer-Encoding: quoted-printable + + +Manager/Client +Contract Price + +<><<[Name]>> +<<[Contracts=2ESum( + c =3D> c=2EPrice)]>> + +<> <<[Client=2EName]>> +<<[Price]>><><> + +Total: +<<[Sum( + m =3D> m=2EContracts=2ESum( + c =3D> c=2EPrice))]>> +=20 + +----_=_NextPart0_519d4448-d744-4262-ae41-d403bb6bc22e +Content-Type: text/html; charset="koi8-r" +Content-Transfer-Encoding: quoted-printable + + +<= +meta name=3D"ProgId" content=3D"Word=2EDocument">

      <<[Price]>><</foreach>><</foreach>= +>

      M= +anager/Client

      Contract Price

      <<foreach [in managers]>><<[N= +ame]>>

      <<[Contracts=2ESum(

        c =3D> c=2EPrice)]>>= +

      <<foreach [in Contracts]&g= +t;>  <<[Client=2EName]>>

      Total:

      <<[Sum(

        m =3D> m=2EContracts=2ESum(

          c =3D> = +c=2EPrice))]>>

      = + 

      +----_=_NextPart0_519d4448-d744-4262-ae41-d403bb6bc22e-- + +----_=_NextPart1_3468a4db-d6eb-4946-a457-f6ff5bb23f88 +Content-Type: application/octet-stream; name="ExampleAttachment.txt" +Content-Transfer-Encoding: base64 +Content-Disposition: attachment + +U3ViamVjdDogPDxbc3ViamVjdF0+Pg== +----_=_NextPart1_3468a4db-d6eb-4946-a457-f6ff5bb23f88-- + diff --git a/Examples/Data/Source/Email Templates/In-Table Master-Detail.msg b/Examples/Data/Source/Email Templates/In-Table Master-Detail.msg new file mode 100644 index 0000000000000000000000000000000000000000..33375561b7f4a929e81b2fa707d7e80c004f9d52 GIT binary patch literal 62464 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 literal 0 HcmV?d00001 diff --git a/Examples/Data/Source/Email Templates/Multicolored Numbered List.eml b/Examples/Data/Source/Email Templates/Multicolored Numbered List.eml new file mode 100644 index 0000000..b5fe606 --- /dev/null +++ b/Examples/Data/Source/Email Templates/Multicolored Numbered List.eml @@ -0,0 +1,948 @@ +Message-ID: <8fc7a6a711234d6ea9b82397f3a6d9fd> +From: "<<[sender]>>" +Subject: <<[subject]>> +To: "<><<[r]>>", "<>" +Cc: "<<[cc]>>" +X-Unsent: 1 +Date: Mon, 7 Aug 2017 23:09:01 +0000 +MIME-Version: 1.0 +Content-Type: multipart/mixed; + boundary="--_=_NextPart1_8446f6fe-61a5-45d0-8c5a-52b7bec950a1" + +This is a multi-part message in MIME format. + +----_=_NextPart1_8446f6fe-61a5-45d0-8c5a-52b7bec950a1 +Content-Type: multipart/alternative; boundary="--_=_NextPart0_30075c86-221b-4a5b-bf31-b26250de3b23" + + +----_=_NextPart0_30075c86-221b-4a5b-bf31-b26250de3b23 +Content-Type: text/plain; charset="utf-8" +Content-Transfer-Encoding: quoted-printable + +We provide support for the following clients: +<><> <<[NumberOf()]= +>>=2E <<[Name]>> +<> <<[NumberOf()]>>=2E <<[Name]>> +<><> + +----_=_NextPart0_30075c86-221b-4a5b-bf31-b26250de3b23 +Content-Type: text/html; charset="koi8-r" +Content-Transfer-Encoding: quoted-printable + + +<= +meta name=3D"ProgId" content=3D"Word=2EDocument">

      We provide support for the following clients:

      <= +p class=3D"MsoNormal"><<foreach [in clients]>><<= +;if [IndexOf() % 2 =3D=3D 0]>>      <<[NumberOf()]>>=2E    <<[Name]>>

      <<else>>      <<[NumberOf()]>>=2E &nbs= +p;  <<[Name]>>

      <&= +lt;/if>><</foreach>>

      +----_=_NextPart0_30075c86-221b-4a5b-bf31-b26250de3b23-- + +----_=_NextPart1_8446f6fe-61a5-45d0-8c5a-52b7bec950a1 +Content-Type: application/octet-stream; name="ExampleAttachment.txt" +Content-Transfer-Encoding: base64 +Content-Disposition: attachment + +U3ViamVjdDogPDxbc3ViamVjdF0+Pg== +----_=_NextPart1_8446f6fe-61a5-45d0-8c5a-52b7bec950a1-- + diff --git a/Examples/Data/Source/Email Templates/Multicolored Numbered List.msg b/Examples/Data/Source/Email Templates/Multicolored Numbered List.msg new file mode 100644 index 0000000000000000000000000000000000000000..4865cb6b384368334724b8cee690aa7a722366a0 GIT binary patch literal 57856 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
      5Z=DumCC;6T!ZP9TYxmMPfTs;Z9(OGP4zlZCX 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̎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 HcfbDuzpi1~ literal 0 HcmV?d00001 diff --git a/Examples/Data/Source/Email Templates/Numbered List.eml b/Examples/Data/Source/Email Templates/Numbered List.eml new file mode 100644 index 0000000..44e4405 --- /dev/null +++ b/Examples/Data/Source/Email Templates/Numbered List.eml @@ -0,0 +1,940 @@ +Message-ID: <959395524edf496aa0266490e76508cb> +From: "<<[sender]>>" +Subject: <<[subject]>> +To: "<><<[r]>>", "<>" +Cc: "<<[cc]>>" +X-Unsent: 1 +Date: Mon, 7 Aug 2017 23:09:01 +0000 +MIME-Version: 1.0 +Content-Type: multipart/mixed; + boundary="--_=_NextPart1_6283bd4c-ab34-46a4-8428-8a40ff6c36f1" + +This is a multi-part message in MIME format. + +----_=_NextPart1_6283bd4c-ab34-46a4-8428-8a40ff6c36f1 +Content-Type: multipart/alternative; boundary="--_=_NextPart0_ea6ea5cc-e5ff-4314-a678-7d9567ef22fd" + + +----_=_NextPart0_ea6ea5cc-e5ff-4314-a678-7d9567ef22fd +Content-Type: text/plain; charset="utf-8" +Content-Transfer-Encoding: quoted-printable + +We provide support for the following clients: +<> <<[NumberOf()]>>=2E <<[Name]>> +<> + +----_=_NextPart0_ea6ea5cc-e5ff-4314-a678-7d9567ef22fd +Content-Type: text/html; charset="koi8-r" +Content-Transfer-Encoding: quoted-printable + + +<= +meta name=3D"ProgId" content=3D"Word=2EDocument">

      We provide support for the following clients:

      <= +p class=3D"MsoNormal"><<foreach [in clients]>>      <<[NumberOf()]>>=2E    <<[Name]>><= +/p>

      <</foreach>>

      +----_=_NextPart0_ea6ea5cc-e5ff-4314-a678-7d9567ef22fd-- + +----_=_NextPart1_6283bd4c-ab34-46a4-8428-8a40ff6c36f1 +Content-Type: application/octet-stream; name="ExampleAttachment.txt" +Content-Transfer-Encoding: base64 +Content-Disposition: attachment + +U3ViamVjdDogPDxbc3ViamVjdF0+Pg== +----_=_NextPart1_6283bd4c-ab34-46a4-8428-8a40ff6c36f1-- + diff --git a/Examples/Data/Source/Email Templates/Numbered List.msg b/Examples/Data/Source/Email Templates/Numbered List.msg new file mode 100644 index 0000000000000000000000000000000000000000..e51d1eacb5b183063fa43aa8c5aad2c3b7758241 GIT binary patch literal 55808 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 l8xBugF-}nP%mN%vM#XrV1$<~8QjF +From: "<<[sender]>>" +Subject: <<[subject]>> +To: "<><<[r]>>", "<>" +Cc: "<<[cc]>>" +X-Unsent: 1 +Date: Mon, 7 Aug 2017 23:09:01 +0000 +MIME-Version: 1.0 +Content-Type: multipart/mixed; + boundary="--_=_NextPart2_59cc6841-1d48-44c2-a513-965dfd30baa6" + +This is a multi-part message in MIME format. + +----_=_NextPart2_59cc6841-1d48-44c2-a513-965dfd30baa6 +Content-Type: multipart/related; type="multipart/alternative"; boundary="--_=_NextPart1_79e1666d-a7fe-4069-827b-ae9dec05908f" + + +----_=_NextPart1_79e1666d-a7fe-4069-827b-ae9dec05908f +Content-Type: multipart/alternative; boundary="--_=_NextPart0_49bfff54-b4c7-4e1f-93bd-dd2ffa1fb7d4" + + +----_=_NextPart0_49bfff54-b4c7-4e1f-93bd-dd2ffa1fb7d4 +Content-Type: text/plain; charset="utf-8" +Content-Transfer-Encoding: quoted-printable + + + +----_=_NextPart0_49bfff54-b4c7-4e1f-93bd-dd2ffa1fb7d4 +Content-Type: text/html; charset="koi8-r" +Content-Transfer-Encoding: quoted-printable + + +<= +meta name=3D"ProgId" content=3D"Word=2EDocument">

      +----_=_NextPart0_49bfff54-b4c7-4e1f-93bd-dd2ffa1fb7d4-- + +----_=_NextPart1_79e1666d-a7fe-4069-827b-ae9dec05908f +Content-Type: image/png; name="image001.png" +Content-Transfer-Encoding: base64 +Content-ID: + +iVBORw0KGgoAAAANSUhEUgAAA4YAAAIPCAYAAAFYvPA/AAAAAXNSR0IArs4c6QAAAARnQU1BAACx +jwv8YQUAAAAJcEhZcwAAFxEAABcRAcom8z8AAIrdSURBVHhe7Z37v9TUvf77p5wfFNHetPfaVm7a +e3t6eqyKoKBuVC6KSqvFemtRqyLqQWzxVlSqp5WDVPFKq9sbiGJRqoJAwZ6KCIJysLaiX9r1zSeT +NXvN2iuZzEySyUre79frgdlzSyYrnzx5spKVj2zcuPHngRTyV9KICvyGRqwANGIFyK0Rx48frzZs +2KBmz54dPtYMDAxEjxqsXLky/F/eY75PPqs/b6Lfo//ft29f+P/kyZPD/+UzS5YsCV/fv39/87Ew +b9688H/BnJZm8eLF4f/yOXndfI85n+b/9u/bvHmz2rt3b/RXA/295vuypPBKnDFjRvi//Hh5LAtZ +GkB+vPxILd04SdgLxf5bGkMjC3JwcHDYSuHC/JyeHz2fJnbjyHfL79Arqn5ePquxvyML2JwG2I2f +hrjPSCMWDY1YASrViFIdc+fOjf6qD5WrRGlE8TTtfeKtsqPRzSbTF9icVgAasQLQiBWARqwANGIF +qEQj7l/5b+r/PfqRWB1/40uxWji4LfoWf/GmEf+1fZGzgdLI1Xhp5AulbcR169aFxya1/rn1EmcD +pZGrgbpRWSlVI5qN5tKyZcucjdROrgbpVWWiFI3oarAkuRoqSa5GyFL9pq+N6GqgtHI1VpxcCz4P +9Yu+NKKrUbqR+Kar0Wy5FnieKppCG9HVEFnI1XCmXAs6bxVJYY2484JDW7R36UXOBulWrsbTci3k +IjTzrmKWbSGNaDdgnHptWPX+a6VqRK28yb0RXY3VifbcOuBssCSVrRFFeZJrI7oaJQvtvvqbasWK +Fc4G1KIRM2D/njecDZCXXA27f+3o0jSiKC9ya0TXgu6H3nvvPecC7Yfy2tGpdCNKdboWZj+VB7k0 +ouxluhZqkVq/vTwVaCoPcmlE10ItUq6FVxblQeUa0bXgyqQ8qIwnCq6FVjblQSUa0bWwyqo88L4R +XQuqrDr38gXR0smW3BpxzbRDnAs9K8kesGtBlVkHHHF0tHSyJddGzOuojZyh5lpIZZY0oH+NOP0Q +9VzQkHIA29UQ3cq1gMou3YCjjpkaLZ1syb0RV08bqd57bKGzQTqVawGVXboB86pCoYBGPFitmjoy +fM7VMGkkuBZQ2WU2oJeNKOhGfCZoxJWnj1RPnTrS2UhJci2csksO+dkN6G0jys5NSyOeNlI9MWWk +eu2+650NZsu1gMouV+Np5UXujfhs1IirdCMG1Tg45SD16MCI8D2uxvtw6xrnAiqzXI1mKk9ybUTh +2aAhdSM+bTXi708ZoR4+eYQa/NHoZgNKn5trIZVRS5/f6Wwwl/Ik90YUngn2UHUjPhk04uNBIz5m +NOKDJx2oHph0YPjeF//8pnOBlUWykrkaKUl5U0gj/vmO2bGN+EjQiA9Fjbjq8glq3Dm3qbFn/0qN +PesWNebMm0rRLyi4GieNiqCQRhRev39BQiOOCBvx/hMPCBtxnNGIY85YqEbP+IUaNX2BOmLaf6kH +V72inti4x7mws5Bw4OjxQQMcE+gHkdwN1E5FUVgjasxG/IPZiJOjRpxlNOJMuxHnq69MvVZ9+bR5 +6kunzlVfGrhKHX7yFeqLJ12uvjDpUvX5E36mPjfxEvXdmfPUJb9cqp5/Zat646131PMvb1H3PbZG +LfzNw+obU36qPvGdGerj356mPvbN09VHvz5FHfK1U9TBR01WI8edoEaMnZBJIxZJ4Y0o5N2Inz3+ +QvWZ436iPn3sbPWpH5ynDjv6R+qw789Sh37vbPXJfz8zRSMeFzRE941YNH1pROH93dvCRlwRNeKD +HTfi1cmNOL6TRjw5k0bsF31rRM1T545RDwUNGduIZ9qNeF1ujXiQNOIYuxHdDWaq3/S9ETXbnlqq +7p8kjXh7sHNjN+IvO2zEi7poxElRIx6fuhHLQmka0WTcOYuCRrw1aMSbg0a8MWrEG4Ya8fSMG/Gr +6RtxwpkXR3NZHkrZiCZnz1/uaMRrhhrxlC4b8VsJjTiqtRFXv/ByNDflpPSNaPPgM6/EN+KJ3Tfi +SKMRfcO7RmzHT2/8XUIjnhXkxEvUmpc2Re+uBpVrxDpCI1YAGrEC0IgVgEZMgdxPo8yUvhHljjOa +iRMnRo8avH3hYeH/8rwM1m7eRESwF/6dd94ZPWq9U45555omj3+keSMW83uc7+0zVGIFoBErAI1Y +AcJGRH7rI1FjgqfQiBWARqwAuTSimb/Mm2zZ+Uq/Jv+L5MZc+rH5vCA5Td9d1MT1t2jnzp3h3x98 +8EH4v6Dfq9+jb7Kpc6jcKMx1g0zzc4L8Dvl+/T2C+VhnSv23oO9sKrlThivLktwaUd+lVEK4/oHd +hGQd7u0FYy4gwfxbPqNXCCGuYfTrZiOaBxb03d5MpAFkXvStaeMwb4SpG01Pzz4g0StsTgPMhkuL +NIirMXRDFQmNWAEq04hSAebxzTj0sdAqUblG1Jsz+d91h27diPr/rP2pH1SqEdNAJUIpoRErAI1Y +AWjEClCJRmx3X0XX1cCm5HJyn/GqEV0NlEauhksjX25TW+pG1Pe20HI1UBq5GqgbFXXfp04pXSPa +DWfL1Ujt5GqQLFQWStGIrsZKUtxNveLkaoAs1W/62oiuBupErgZzybXg81C/dpD60oiuBulWrkaz +5VrgeapoCm9EV0P0ql4jRl4qisIaUUZNNEdRFG3ZssXZKN0o6dbtrgVclIqgkEa0Gy9JO3bscDZS +WpWtEUV5k3sjZjGIu9w6z9VgcSpbI4ryJPdGdDVKFmrXsPJ6mRpRlBe5NqJr4ecp8V27McvUiHkd +8alUI7pUtmGo8yC3RnQt0H7ItSD7qTyodCO6FmIZlDWVbES5G45r4ZVFWVO5RpyzfKtzwZVJWVOp +RnQtsLIpj47myjSia4GVUXkMs5lbI8rNvlwLO2u99e6HzoVVVuWB143oWkhlVl6D3ebWiK9eOym8 +Y5tr4Wch10Iqs2SHSwa/zYPcGlHQN/tyNUK3ktvbuhZS2aWHns6DQhpRbvblapBO5Vo4Pkg3oMeN +eEjzZl+uhkkr18IpuwSzASvRiHKfKMHVSHGS/kjXAiq77MbTyoN8GzHYQ5VGlBtD23dsczWYrTxv +6pWXBFfjifIi10YU9N295cbQK607tskthlyNJ3ItoDJLcDWcqbzIvRHXXXhU8+7erkbUN/uSvU4f +G3D+orudDWYrT3JvRMG+u/cTQSMORo0Y3uzLuk9U2Tejgquh4iQNnSeFNKLQ2ogjg0Y8SD0qjRio +2YjN+0QN3WLoxc3bnQuySMl9g+Voi6uB0ihvCmtEwbxFu9mI4T2Fo0Y80mjEsfo+UWf8Uo0ObzF0 +fXiLIcG1sLOQNNg9Dz8x7DZD3aoICm1Ewb5Fe2wjnh3fiM1bDE2Zqw4/5Up1+Ek/V1+cfJn6/Ilz +1Ocm/lR996xrwruYLn/8j0N3MR2Uu5g+oi6af5f65HfPUJ/49nT18W9NVR/7xmnqkK8PqIO/epIa +eaTcZmhidK+oY4NG6L4R896EmhTeiMJfli8Ydot2fXfv2EacoRvxv9o24mcnXKw+M/4C9enjzlef +OubH6rCjz1WH/ecP1aH/cU54myGzET/a0ognqoPGmo0oDdh5IxZNXxpR42rEOx55MbYRR5mNeFpM +I57QRSN+LZtG7Nct+fraiBqJGeZ99jtuxJMbjfiFVI04M0Ujju+4EftJKRpRI424cdn8oUY8Szei +vh2tbsRr823E0ekacdQxU6M57y+lakTNjrf/FjSi3I5WGvGmlkY8otmI83puxI+FjXiqsxEPSGjE +slHKRrRpubt37o04wdmIZcaLRrSRRgxvDN1sxCscjXhhB414SksjXn/b/0RT8gMvGzGJP274izr9 +0kWJjfjL/34wenc1qFwj1hEasQLQiBWARqwAlWtE82YmdaGUjTjh5lfC/+UGIubY3q6bo+g7mQpy +cxJpRN2Q5g1GBPMupvZr9h1S5S6mggwGb7/X/rvfsDmtADRiBaARK0DYiPIPAPQPChGgBFCIACXA +i0LU98wT6ZsAt8N182Lz0E9e6Hv/2dOSQ0hp591FVvMe9z36Vq69zmcelO3wWB5444j6buGTJ08O +/5djpIJ9vFOvaGYh2iuf/R36Jpj65tG64e3P6b/NFdWevl2Icd8h6McynKd913L7c3o6+ibV8rp5 +g0/9e83P6bu6mjfF1q/b32/fU1kvG/POsOb09DIwb5qtv9NenoI9L3JM3PxuQX/eft4sRJkv82/5 +jDxn3sjU/m3yd7ubePcb7wpRMBe0rMTmSqjfZzui3LzU/Jz5WDeiLlD9mv1+/d0yTf2aOX0hbuUy +sb/XnlcXuhDl+/XnzcIQ7O/duXNn9NfQa/b/mrhCNJ9PKkT5Pr18XMtTz4trGZuPBXuj1Isjmm1W +ZrwpRIAqQyGWDNmCp3HItJjOAuWFQiwZunBkF1SfI6R3E+U1kewOyu6bFK38La/rz+ndOv237JLr +/+1sBeWBQiwZukDMrKmf0wc65P+4vGYXmC5EKVoKsbxQiCWDXdN6QiEClAAKEaAEUIgAJYBCBCgB +FGJRvP+a2r92dPMW41nLNeJuFpK7V6/f/l70IyAvKMQMWLFiRXgKlchVJEXIVURFKq/bzdcFCjEl +utDS6r333nMWTF5yFUeZBMlQiBbr1q1zFlYv2r/y35zFk6VcK3/ZhYsOUftCdBVOXpJdWFcRZSHX +iu6j6ppHa1eIrgLph/61Z9BZUN3KtVJXQXWh8oUoWc1VCGXRsmXLnIXVqVwrcdW0cHBb1KrVo7KF +qO9/+t5jC9WWLVucRVA2SReHq8jSyLXiVllvvfth1NLVoFKFKPdt1wXYqfYuvahUBdvpAR7XyloX +VYFKFKKrsPKSFGyRu7tyFNdVeLZcK2jd5DPeF6KrWMqg3Vd/MyxYs7O/V/1z6yXOIhS5Vsw6ytcu +EW8L0bXy+ygp2P173uioYF0HeFwrZZ3lG14WomuFrrqkYD/cukatWrWqpSj1AR7Xylh3+YR3heha +SeuuOcu3OldE5E8xUoieSnZnXSseapUvmdGrQnStkHWTa2VDyfIBCtEDSee1awVD6eQDXhWi9OG5 +VtQqSg7OuFYq1Ll8wKtC/GD3NudKWyUtfX6nc2VC3ckXvCpEjWsF9lnSLeFaiVBvkqPJSx9qvSlQ +WfGuENfMOCQ8YuhaoX2Ta+VB2emAI46O1pry418hTj9ErZl2iNp6x/nOlbvsElwrDcpOghQhhZgj +7256rlmMzwZ6f+29zhW+TOLAS3HSBUghFoAuxOfCYjxYrZ42MlzZXUXQT8mwD66VBWUvuwBFvuRD +wc9CDHJiayEerJ6ZOlKtCtTv/CgXIrtWFJS95Ip9VwFq+UQFHPGQRiEGrhgW4+kj1cpAa84fV6hL +cr5ncVr9wsvOwrPlE14WomDmRFchPn3aSPXUqSPVk4Ge/fG40KlcBdSLBNeKgrLXtjffchZbnHzD +20IU7Jyod0+bhRhICvGJKSPV41MOUoMDB6nHBkaEn3UVVlq5VhSUrQRXgaXR/EV3h5/3Ca8LUXDl +xNAVzUIMFBZiICnERwP94ZQR6veBHjl5hHr71WfbjnfD+Z75SnAVVafysQgF7wtRMHdPzULUu6dJ +hbgiKMSHAz100gj14EkHqgcnH6gemHSg2r1hddg14lppUPeSy5I63c1MK5+pRCEK+3ZvS8yJ9u6p +WYjiig8FMgvx/kkHqNefWqrGzbpdjTtnUaBfqbFn36puf3gt7phCcs5sXgVna9QxU6O1wF8qU4ia +tReMay1EvXtqFeKjuhAD6UIMXdEoxPtPPCAqxNvCYhx7dlCMZ90a6BY1ZubNasyZNwW6UY05Y6Ea +fcYv1egZv1AvbHojnI+qH0WVPtJGof0gkrtI8lZVqFwhat5adU9rTrQLMXJFXYjN3VMpxEC6EI80 +CnGcUYhjpRBnDi/E0dNvUKOmL1BHTLs+0Hz1lanXqa+cfq368unXqC+fNk996dSrA81VX5oyVx19 +3o3qgZWNfCQu+8TGPYUXsPTF6cF6n1v3qpr0wyvVwUdNViOPnKRGjjtBHTRuojpo7AQ1Yszx6sDR +49WBo44NCuCYSLoIiy3EKjigTWUL0STNARu7EB8wC3GWUYjB7mnHhTjVXYhfGrhKHX7Klerwk69Q +h5/0c/XFky5XX5x8mfrCpEvV50+coz5/ws/U5yb+NNAl6rMTLlKfPf5C9ZnxF6jPHPcT9enjzlef +Pna2+tQxP1af+sF56rCjzw30I3XYf/5QHfb9WerQ/zhHHfq9swOdpT757zPVJ797hvrEd2aoT3x7 +uvr4t6epj39rqvrYN09XH/vGaeqjX5+iDvn6gDrka6eog796UlSIJzYLcURJCrHK1KIQTdoWYpAT +G4UYuGJQiLN+8UhnhTijUYijmoX4X70V4gm6EC/uoRDPjC3Ej7YrxLFmIR5nFKJZhPkVYl2oXSGa +PH3emNYjp4FaDtgEhbjjnb9lUIjXDRXiaVKIgXopxPE5FOLXpBBPTijEwA0LKsQ6UutCtGkcsGkt +xH/s2jZUiNGR02GFeKYuxEYxdlWIJ7cW4hechXhRF4UY7JZ2WYgH6UIc064Q3QWVVkAhtmXV5ROM +I6dGIZ5lFuKNQSEGxdgsRHHFRiEe0SxE2T2VQox2T/tciB9rFuKpjkKcZBXi8WqE5MOgEA/osRDB +DYXYBS9ufjMsxmFdGL4U4rdiCvGr2RWir2e49AsKMWPefPvdqBDlyKldiMYBG7MQT5FCvGJ4IZ5Y +ZCGe0izEkS2F2DhQExbiqNZCXP3CK9Gvhl6hEPvIgytf6qIQ5YBN2kI8q+NCXHDH76K5gyKhEAFK +AIUIUAIoRIASQCEClAAKEaAEUIhdsnLlyvD/8ePHh5o3b1749969e8P/5W95XhgYGAj/T8u7776r +lixZojZs2KDWr18fPTvE/v37w+8eHBxsTiMtmzdvDv+fOHFi+L/Qyzz//e9/j50f/b1XXXVVx99b +NyjELpCVSa9Y+n9diFI88pys8LJipmXu3LnN75IVWP6Wz7/zzjvhc4K8Pnv27ObjtN+v50nQhTh5 +8uTwf6HbeRakCAXX/Jjfq6cPbihEgBJAIQKUAAoRoAQ0CxEh1D99JCpIAOgTFCFAn6EIAfoMRQjQ +ZyhCgD5DEQL0mVIXoT69SysNixcvjh41kNOrOvl8L+jp6NPFNL1M+4MPPoge9YY+5cyFeXpcmZgx +Y0b0qNp44YR6pbbP43Q9totQTpA2Mb9Dilzeb66EIllhZeWXz5rfLejH9vOC+T32dwjmeZ3mY439 +t5zzKc/p5+V//Xvs5/W07e/VnzHP+7Sxi1BOWrffJ3/r5+T/ffv2NR/r5+3l6ZoX+7OCuaz0RlPQ +RWh+h7yuTxg3Md8j8yDv0fOh/y8r3hShecKwNNbOnTujv4aQxrWL0Gww+ztkpRH08/rMf5dryHeb +De2avrwukvea36E/p1c+E/OKBkE+55qOfs4uJvM3mciKZ75mzo89H3YR6kI3V179mv2/Rr7TXp4a +c150YemT4OV7zHkzr/qwndCcpkzLPllcntPzLshGwIerOSpRhHqlkv/tIjRXJPs79EojjSW4itD8 +brPBXUVoTsv8Dv05/V2C+Vgwv1vQf9tFqHdP9d9xv9dc8QVzfmwn0Z/R36lXZPPqC/2a/b+5fOzl +ac5LUruY8ybo7zGLUE9PkHYyd/nN12Q6ev7l91OEGaEXuCxsc0tprhDyHlkR7MYWzEYyv8NeaQR5 +3S4g/d36b435WIhbsfT7ZN70Y1lB7M+7MItd3m8uC4081n/LNOT3mYUlu5d5FaH8r5ePvTzNedHP +2ctasJeVdsleM6H+HeY6U0a8KELIF10MeaI3QJ1Mq4j5KgMUIUCfoQgB+gxFWCKy3P2S79L5EcoN +RVgiXAd/9MGFbqAI/YAiLBG6COVooi5EKULplpC/9XP6sX6fPoppvkdwHUmVI44UZ7mgCEuEWYRy +2F66ErQTmgWW9L9IH+K3i8101V4P/0N2UIQlwixCQQpKCkf3fer/XcUn2EXnckK7oxv6D0VYInQR +ZgXF5gcUYYkwHatX5LsoQj+gCAH6DEUI0GcoQoA+QxEC9BmKEKDPUIQAfYYiBOgzFCFAn6EI+8y/ +9gyqf66frP7fox/pSv/ceok6/saXutLMuzaqJzbuieYE+gVFWABSKK4CykK9FGE7LRzcFv0CyBOK +MGP2rx3tLJa8lGcRuiTuuX77e9GvhSygCHtgx44d4ZUN4dUN77/mLJK8VXQRuoRj9gZF2CG66Fxa +tmyZs1DyVBmK0BZO2RkUYRvWrVvnLLgkuYolL5WxCE3hku2hCB289957zuLqREXtnpa9CE1RkG4o +QgNXMfUicVFX4WQpn4rQFAxR+yLMwvXayVU8WcnXItSSo611p7ZFKAdRXAWTl6RYXEXUq3wvQq06 +F2PtinDFihXOIilC4rquQupFVSlCU3WjNkXYzVHOPJR1N0YVi1BUJ2esRRG6iqHf2r/y35xF1amq +WoRaS58ffh/IqlHpInSt/GVSFt0YVS9CrSpTySIs4ohnVuq1G6MuRSias3xr1MLVonJFuPOCQ0Pt +vvqbau/rm/p6IKYTuQosjepUhFpVo1JFqAswTlKYH25dU9rClIJyFVqS6liEoipRmSJ0FV0a6cJc +tWqVszCKVqfdGHUtQlFVqEQRuoqrV/WzMDvpxqhzEYqqcMWG90XoKqC8VHRhptk9/df2Rc6Vs056 +690Po7XBT7wuQlehFK33196ba2G268agCBvyGW+L0FUQZZEU5pYtW5xF1Y3kQJKrAEUU4ZB8xcsi +lIMprpW/zMqiMCnC9vIRL4vQtZL7qPceW9hxYdq7pxRhq3y8cNi7InStzFXS3qUXtS1M8ywbinC4 +fIMi9EBSmObIbiLdjUERDpdvV2B4VYSuFbSuksKUjn3ZPXWtiHWXT1CEHksO9rhWQOTXJVDeFKFs ++V0rYl0lHdSulQ8NyRe8KULXilhXuVY4NFy+QBF6pD23DjhXNuSWL1CEnkhwrWgoXr5AEXog6YB2 +rWQoWb7ce5EiLLlcKxdKJ4owY1wraJUll025ViyUXr5AEZZQcqGqa6VCnckXKMKSybUyoe7kC94U +oRyed620VZFcUeFakVD38gVvilBwrbxVkOBaiVD38uWgjOBNEa6ZfohzBfZdMqCtayVCvencyxdE +a0758aYIX712ktq/5w3niuyjZHQA18qDepds2A444uhozSk/3hThu5ueq4wbCq6VB2WjpQ8NUoR5 +IUUouFZsXyRZxbXioGwk3TtSgBPOvDhcV3zAuyJcM+0Qb4+UulYalK2kAEXihr7gZRE+F8i1kpdV +nP1SjFa/8HKzCH3CryKcMVSEW+6Y7VzhyyYuvi1Ggi5AijBHTCd8NtC2BxY4V/yyiO6HYiSYBUgR +5ohdhKunHaz27d7mLIB+iotvi5NgFyBFmCPSV2gX4TPTRqrX7y+PIwqulQVlL8FVgCKf8KoIdV+h +FKJZhM9MHan++JNxzqIoUjLCl2tlQdlr25tvOYtPyye8KkLBLsLVURGuOn2kWhlIToR2FUie4uyX +YiV9gK7C0xp1zNRobfEDb4uwsUtqFGEgKcKnTxsZvs9VLHmI7ofipDvi28k3KlWEoRsGRfhUoOdm +5797SvdDcTL7ANvJN7wrwlevMw/OSBEGudAqQnHDJ08dqZ4IJLgKqFe5VhSUvWRD5yq0JPmGd0Uo +DBXh0MEZuwifiorw8SkHqcFAWV2BwcW3xUgOcrkKrJ3EMX2jMkXYPDhjFKG4oRRhWIgDI9Sq88aE +929wFVcaCa4VBmUnuaPS/EV3OwssjXzEyyIUYoswkFmET0yJ3HDgIPVYUIh/OGWEejooxk6dkbNf +8pU4Xy/FJ/LpQl4Tb4tQ3LCbInw0KMLfB1oR6JGTR7QtRrof8pVc2iVdCq6i6lS+4m0RCnF9hWER +BkpThA8HeuikEeofu7YNu/OT4FpxUO8SXIXUrXzG6yLc9cyyoBA7L0LZJbWL8MHJB6oHAj06a1T4 +3Yz9mb2Edh3t3cpnvC5CIa7DPrYIo1wYV4T3TzpA3X/iAerIWberCZf9TzgN1wqF0kk2Zr1mvXby +He+LUIjrsA+LMFBYhIHSFOEDRhGOm3WbGnfOIjXu7F+p4+f8NpwWB2iSpe8Xn1XOa6cqUIkiFOwi +FDdMKkLJhS1FeJIuwsANgyKccNnSliIce/atauxZt6ixM29WY2bepK74dWP4BIqysZvZyRktWakq +VKYIhSyL8KrfPJ1YhGPOvDHQQjX6jF+q0TN+oa5Y/Gg4D1UfyEk2OkJjF/MHkdxFkqeqRKWKUDCL +0D5rxi7CFVYRhrukURG++OcdHRWhaNT0BWrUtOvVEdPmq69M/S/1gwt+Fc6TnHrl2z0GZbdS5luY +eNYcdeDo49SBo44NCuCYQLr4KMAsqFwRCsP7CofOmpFCTFOEQvoibBRiWITTG0V4RFCEX5l6nfry +6dcGmqe+dFqgU69WX5oyV31p4Cp16a8eUNt3/184HTl4UXSRSpHpoeK37ditblh8rzr4qyepkUdN +UiOPPFEdNO4EddDYiWrEmOPViNHjwyI8oARFWEUqWYRCaxG2HiEdVoSBEovwnKQiDNQswhtii/DL +VhEefsqVga5Qh598hfriST9XX5x8mfrCpEsDzVGfP/Fn6vMn/FR9buIl6nMTLlbfnXmNOm3Or9Ql +v1yqbvyfR9Xyx/+onn9lq3rjrXdCPf/ylkB/Vvc9tkYt/O0jauFvHlYXzb9LDfzkevXJfz9TfeK7 +Z6hPfGeG+vi3p6uPf2ua+tg3pwY6TX30G6eqj359ijrka6eoQ756sqMIJ5SqCKtKZYtQkPFnXEXY +7LAPik9yoasId29Y7S7Cs8wivDFlEV6Toggvjy3Czx5/kfrM8Reqz4y/QH36uJ+oTx97vvrUMbMD +/Vh96gfnqsOO/pE67D9/qA77/ix16PfPUYf+x9nq0O+dpQ7995nqk9/toAiPSijCUf0rQt8u0u2U +Shehpt1ZM1KED5lFOOkAtXHZ/KAIbw8KUArRVYSNQqxWEU4uXRHWgVoUofCX+66PLcJmLjSK8NFz +RhlFuCgowqAQz5JClCIMFBXhmGFFuCBdEQ5IEQZKU4QT+lGEE/tehHWhNkWo0UUouTCpCGWXNOyw +H1aEtwwvwugIae9FKLnQXYSfzbQIT++uCI8opgjrRu2KUHg/yIqxRRjIVYThEdKoCMODM+2KcFqj +CL/iSREenFCEBxZUhD5ekJsFtSxCzT+CYmxbhGY3RZsiHN0sQsmFORfhsVkV4UBrER5ZfBFKx3+d +qXURauQyJrMI484fdXZTVLIIT4gpQinA7IrQpzsn5QlFaGGeupZbEU6RIgzkLMJLcy5COSgTFOE3 ++leE0ApFGMOmZfPbnsSdXIRy6lqHRRh12GdVhJ8sURFWva+vFyjCFJxzw0P1KkLpIxxWhDoPdlaE +0B6KsEMSi3CGowinti/Cw0tRhCcNK8IRziI0C9BdhNAZFGEPPPzsRmcRmldSdFeEczoowvM6KMJp +w4rwkAyK0Kf7w5cRijBD5JrCtkV4qhRhIK+KsPUypglnXhL9YsgCijBnzrx2iWdFeGKjCOUypqAI +x4yfGf0SyAuKsA+8uXuvuuxXDxZXhN+JKcKvDxXhpB9eqZ5btyGaQygSirCkbN+1R93/5Avq9EsX +qe+edU3XRXjhdb9W9/5hdfStUEYoQoA+QxEC9BmKEKDPUIQAfYYiBOgzFCFAn6EIAfoMRQjQZyhC +gD5DEZaYJUuWRI+yZcaMGdGj7Ni7d2/0CDqFIuyQDRsa51fOnTtXvfPOO2r8+PHh34sXLw7//+CD +D8LX5PnJkyenLiR57+DgYPP75H/9WXlNkOKR5+fNm6c2b94cPpeGiRMnNr9bpIuwl3mWz8p86PnZ +tWtX83Pm9+rXO1kWdYMibMOEm18JpdFFKCuabP11MegVe//+/eH/gqz8cbx94WHRoyGkUISdO3eG +/+uVVlZiQQpFTz+uCO+8885QJjJv+rsFPa+dzrN6vHV1kfnS8yPLQuZPML9Xv574vTWHIuwQ2bLP +nj07/H/fvn3h/xp5fMsttzQfp13x5L0is1Dkb9M5zO+TlT+tE8rnZD71d8vfulgE+bubeRb0xkH+ +N4tQML9XXqcI46EIAfoMRQjQZyhCgD5DEQL0GYoQoM9QhAB95iMbN26MHgIAANQP8UHMEAAAag1m +CAAAtQczBACA2oMZAgBA7cEMAQCg9mCGnqCHWYLyMjAw0PGAIXkho/3IvHSCjA4kn+n0c3VFL6tO +hmCD8oIZZohsDNMWhgyx1slGM8kM9UbMRMYfzKJIO/lNnZDm98toVTLKlsb1O8tCp+2ZN92aobm8 +oT0y1CBmWA0wwwyxjUM2RnooQ70hlyEJBdfGUwrLfN3cmCWZobwvaVTspPnQAwGvXLky/Nt8r2D/ +Jr2RFWnazbf+Ww8QLHRjhvK3/rxrPgTz77hpy/N62vp77OUnz5nfZeJ6zf495rQFeax/S9K862Ut +7aIHgpZ5N5eDtIm5LsjndPtJW8hjexrmsovDZYbmZ9qtK5q4aeu/7Z2apPUnaZpJy8X+HnlstrH8 +7VrWrraR+dVta+9kusxQnjO/3yTpNb3OuJZp3GvynPwuPd/QPZhhhpjGISuvbV7mcy4zMDcaWnoj +4fo+jbzPVVxCu/mQDYFZYFL4esMgxJmhSdJ82+/VdGOGJnHFbz7net3c2JmS5eHaEGqSXhPs3+N6 +n37ONe96o29LYz+vl0vceuGahvydtNOUxgyT1hVN3LT1OiGY85K0/rSbpv05c/7t1zRJy9o174Is +Z/N9GpcZatKaop4fbfgmSa9ppEbb1RK0BzPMENM4dFHplVgXvMZMKhrz/bpY0pihnpa9IZB5aTcf +7TY2Mh/mdOM2dHHzrYtZMH+z6/fb9GqGcdM2nxdkOnEbNHmfa4MvmK/ZZmhPQx7r5eiad7udBP19 +Zpvp36GXi/05Wf7yOK6dymiG8jhp/YmbZtJy0a+Z0iQta9e8yzxo7HqQv/W6o6fpWsZJr9lo43W9 +13zNnFf92FzG0BmYIQCEuMzQV2TH1DQTl8llgWmG4DeYIQAA1B7MEAAAag9mCAAAtQczBIjBPiFB ++tTkObuPyD7JoyjorwLIDswQIAbbDOWMQDnBRE7OMM2vDGYo8xZ3pmLSawDQADMEiCHODAUxIv04 +yQzNz+gzGrWB6b/Nz5rTtM+ItKcTlwzleXM6JkmvAdQZzBAgBtOYBNPYBLnmS655M01KH0rVuMzQ +xJ6G/K0N0H6vTZwZionKZzt9DaDOYIYAMdhGZZuhoM1Pm6G++Ftr1qxZXZuh/V0i08RMM5R54zAp +QPdghgAxiPmYRlU24pIhAHQOZggAALUHMwQAgNqDGQIAQO3BDAEAoPZghgAAUHswQwAAqD2YIQAA +1B7MEAAAag9mCNAJ77+m/rVnUP1r+yL1z62XqH+un6z2rx2t9q/8N/X/Hv1I15LvOv7Gl7rWzLs2 +qjnLt4ZaOLhNLX1+p3pi4x61fvt70YwDQBKYIdQCMTAxHDEulxn1W72aYV4SkxVzxVih6mCG4B+S +zoJkVlZj60ZlNcNupA0U8wSfwAyhVLz3XrABDczOZRhVVpXMMK3ENCVxApQBzBAKZceOHWrFihXh +7Y/aad26dT33xfmiOpphGknCBCgCzBAyR9LdsmXLnAbXjeS7qp4WMcPOJScJAWQFZghdIynPZV55 +StKiGIfLUHwWZpidSJPQDZghtEWSXtpDm0Xqb7tedhqLj8IM8xdJEpLADKEFMT6X8ZRZchjV97SI +GfZHGCRoMMOaI4cdXQbjq7Zs2eLlSTeYYTkkZ7hCPcEMa0YZD3fmId9OusEMyysu/6gHmGHFWbVq +ldMs6qTwpJv1k50mVBZhhv5o17sfRtUFVQIzrBg+9vkVqbKmRczQT3FYtTpghhWgLoc+s1TZTrrB +DP0Xxug3mKGnYIDZSdK0y6CKFGZYPXE41S8wQ8+QsyUxwnzUz5NuMMPqisToB5ihB+y84NBU2n31 +N9XepRepva9vwjR7VNHjomKG9RDXNZYXzLCkiKm5DC8LadP8cOsaTDOFikiLmGH9BOUCMywZe24d +cBpYP2SapoxDWvfLNPIcFxUzrK/eom+xFGCGJcFlRj5Jm6acjFIH08z6pBu5WbFrQ4nqIw6h9hfM +sM+UKQkWIfm976+9tzKmmdVJN5gh0oL+gBn2CUlRLrNADZmmKYcnxXRcZlQm9TIuKmaIbEGxYIZ9 +wLXxR91J+jW1aZblZKBu0iJmiFzi3ozFgRkWCGmwf+qXaaY96QYzREmC/MEMC6JufYO+Ks/LTgSX +EYowQ9ROkC+YYQG4NrrIb/Vy2YlrXFTMEKURl2HkB2aYM7LRdG1MUT3UzjTlsK2cdIMZorSCfMAM +c4RDoyiNxDDXb3/PueFDyCXIHswwR1wbPoS0BNeGDqE0gmzBDHPCtfFD6L3HFoYjjbg2bgh1Ijma +ANmBGeaAnMLv2hCi+kpwbdAQ6kWQHZhhDnDSDBLJSTNzlm91bsQQykKQHZhhDrg2jKgekh0hOf3d +teFCKGtxqDQ7MMMccG0kUbUluDZWCOUp7nSRHZhhDrg2lqh6kusHn9i4x7mRQqgIcRF+dmCGOcD1 +hdWW4NowIVS0IDswwxxgQO7qiZNhUBkF2YEZ5oRrg4r8EifDoDKLQ6TZghnmwAdvv6H273nDuYFF +5Ze03cy7Njo3QAiVRedeviDa4kAWYIY58ep1k+g79EjSVowPinyRgBlmC2aYE2umHaJeW3w+hlhy +Ca6NDUJllXDAEUeH/0N2YIY58cYDN6g10wNDvON850YY9U+MD4p8lSBGiBlmD2aYE9JvKGaoDZGE +2F9xMgzyXYI2QswwezDDHNFmKIdMRZxUU7y4JAL5LjmZa/ULL7cYIf2F2YMZ5khogoYZPhdo3+5t +zo02yk6SwkmBqAqSk7pGHTO1xQhF2958K9rKQFZghjmi+w21GWpDfPHCo0iJOUhwbVAQ8lGCbYJa +kD2YYY6Y/YamGT4badsDC8KTOVwbdpROnAyDqibBZYCmIHsww5xxmeGQIR6sVgfau+lZ7oHYoQTX +hgQhXyW4jM8W/YX5gBnmTGiCbcxw9bSR6plA0p9IUowXJ8OgKkqYcObFTuNzif7CfMAMc8buN3Sb +4cGhGT4ztaHNt8+mTzESl0SgKkrOEBVcZtdOkA+YYc606zfUZhimw8gMV4lOH6n++JNx4Xe4TKLq +ElwbEYR8lpwduvShQafJpRXkA2ZYAC4zjDtU2jTDyBBXik4bqf66fEHl06LcLJfxQVHV1EsKtCVG +CvmAGRZAukOlQ2ZopkPTEJ8O9FSgnavuqZQxCq6NCEK+KksDNAX5gRkWRFZmGBriqSPVk5He373N +S2OUk2G4JAJVSdoAXRfJZyFSYb5ghgXx7qbnYvoNtRlGhpjGDANpM3xCNGWkenzKQerVRT8Op1XW +yzQ4GQZVTU9s3BOe3ekyr6wF+YIZFsju1ctSp8N2ZqjToWmGokHRwEFq1XljwtT4/tp7ncZUpAQu +iUBVkE5/nVwKkYUgfzDDgpE7WHR6qDQ0w0AuMxwyxIYZmob42MCIUI8GejowR6GoQ6rcLBdVQdr8 +7IGyixQUA2bYB169dlJHZminQ7cZDk+Hphk+esoI9YdAv4/0VGCO/9iVfX+j4NqoIOSDpB9bkFFe +XMZUtKA4MMM+IX2Iw82w9eL7tCfRdGOGKwI9cnJDDwd6KNDm310fzlunh1bl/ZwMg3yTTn1F9fl1 +KigWzLDPNMww+eJ7pxkahtitGa4wzDA0xJMaevCkA9WDkxtad8t54XzaCVJOhhFcGxmEyiad+Mpq +fKYYe7Q/YIYlIHW/YQZmqA3RaYaRIZpm+IBo0oHq/kkHqPtPbEjY8c7fwjNDSYSobJIzPIX5i+52 +mk2Zxbij/QMzLAn73t6WaIa2IXZzEk0vZviAYYa7N6xWR866XY2bdVtD5ywKNeHSu9Ujz20Of49s +kFwbKoSykE56go+mZ0vOToX+ghmWjLeeWVbYSTTaDM1+w8ahUpcZDqXDjcvmR2YYGeI5Q4Y47uxf +qbGhblVjz7ol0s3qyjufUC9u3h7+RjnLlEstUDvJOiJHH4QqGF6coBxghiVl7QXjEs0wNMRezTCQ +2wyH0qHLDB89Z5Sa9YtHUpihYYgzb1ZjQt2kxpwpurGhMxaGuuLXj6kXNr8R/nbMsvqSk1eqlu46 +FZQLzLDkvH7/gngzNAwxCzMMDTGFGYrueOTFoUOlKc2wYYiWGZ7ZMMPRZ/yyoRm/GNL0G9So6Qsa +mna9OvPae9RDz6yPlkzDNBcObnNubFF/ZJuc9IHNX7RETTjzksAAjgn0gxi5DaOKgnKCGXqCmGJo +hoFcZhgaYhYn0VhmaBqiaYZyAk2cGTYMsVszNAzRNMPp16sjAkM8Ytr8hqb+l/rK1OsaOv1a9eVQ +1wSap7582jx19Pk3q8sWPaTWbvxrtARVeMhNGyjJM1liarKMxNhkmZk8++IGdf3t96iDxk1UB40V +TVAjxhzf0Ojx6sBQx6kDR4mODQxATFDLZYQit3FUSVBuMEPPkLvh99Jv2NYMI0NMc0ap6ySaceek +MMPQEG0zjAxxmBlqQ+zMDL8kOvXqSHPVl6ZEGrgq1OGnXBnpCnX4yZFO+rn6YqjL1fd/uEBNv+LX +as7N96n7n1qn/rjhL+FvNtHmKicLiWmIyWqjFYmhiFxm06v0d8t0ZJoyfZkP27g0b+zcrdb8aZP6 +3e+fUb+48371k2tuUx/7xmnqo984VX3061NCHfL1AXXI105p6Ksnq4O/elJDR01WI4+apEYeKTpR +jRx3QmCEooYZjog1w8AIa26GMmg3+AFm6DFyj8OszFAbYtozSmX0mrZmGBpiZIZnxZlhoF7NcKpp +hoECIwwNsQcz/OJk0WXqC5MujTRHff5E0c/U508Q/VR9bqLokoYmXKw+O+Ei9dnjRReqz4jGX9DQ +cT9Rnw51vvr0saLZ6lPHiH7c0A/OC3SuOuxo0Y8a+s8fNvT9WaEO/f456tD/EJ3d0PfOaujfZ6pP +ir57ZqAz1CdE35nR0Lenq4+HmqY+/i3RVPWxb4pOD3RaOjM8yjTDwAiHmWFghJjhMIF/YIYVIa0Z +pj+JxmWGQ+nw9aeWWmeUdmqGhiF2bYbaEPtkhqEh9sEMv2eboRhh52b40TzNUB8ibTFDlwlquU3F +J8n4peAvmGHFkDtVZGOGySfRrLp8gppw2VLDDA1DDM1QHyq1zdDRbxhnhjNMMwyUpRkOaDMMlJkZ +akOskhlOjjdD3V84zAyN/sKKmyHXB1YHzLDiPHPeWKcZug6VNvsNU5ih6KrfPJ3CDA1DTDDDhiFm +bIanaTMM1LUZakPswQzHe2KGX+vEDBv9hXU0QxJgNcEMa8Rr912f7iQaywxDQ3SY4Yt/3tHx5RVt +zTA0xBRmOM00w0AlM8PQEEtphmKE7cxQjLA7Mxx+Jmk1zBCqD2ZYU+Rwqtzj0GmGkSF2dEZpppdX +JJmhNkTMsF9maJ5JGprhGG2GUX9hBcxQBgGAeoEZQoicHWr3G7Y7o1TI9vIK2wwDFWmGJxdohqEh +9mqGMzM0QzHCBDPUl1UcGfUXpjZDbYRJZug2pCKF+QFmCE7EHJ+9cqLbDCNDjBuwO/aM0tRmaBhi +1mY4RZthoI7MMFBqM4z6DUtlhlNbzTA0wvqaIf1+YIMZQmrEIB+bNbpphi/edG6Pl1fYZhgZYjfX +GoZmqA1Rm2GgiptheI1hSjP82DAzDIwwlRmKESaZYaO/sPUaw/KYIakP0oAZQk/IsGznhIN2ixka +hpjKDA1DLKsZhoZYMzMMjbBXMwyMsA9miPFBt2CGkAs73v6bOn7O3ZEZakPUZhgZImZYjBnq/sKO +zDAwQpcZhkbYfzPE9CBrMEMolDcDkzz7+vudZtjsN4y91jDBDFuuNezeDBtnlCaZYaBczPC8vpph +44L7zs0w79FnMD0oCswQSsObb7+rbntwTWSILjMMNMwMtSGaZhgoMMLQELUZdjQkW5XMUIywNzNs +XFbhMsPACIeZodFfmMIM5dZOnMwCZQAzBK94YdM2dfkdv++vGYaHStOYoTZEX8xQTp6JM0PpL+zc +DM+9/IbA7F6JWg+gvGCGUEnWbnxdXXbbw+ro2Td5Yoad9BmKEcaY4Xc6NMOvd26GJ5xzeXg/Q4Aq +gRkCRGzf9X9q7av/qx54+k9qzi3Lw/sZJplhaIh9SYa9m+FXJ5+vbvj1cvXcOmofQMAMAQCg9mCG +AABQezBDAACoPZghAADUHswQAABqD2YIAAC1BzMEAIDagxkCAEDtwQwBAKD2YIYAAFB7MEPInQ0b +Nqjx48erlStXRs+0Iq9v3rw5+msI+YzGfDxx4sToUbYsXrw4/F/mZ968eeHjJD744AO1ZMmS6K8G +g4ODzefMx3G/MQv0fMv8TJ48OXwcx4wZM6JHQxS9nDXy/Xo5m8tHltvevXvDxy5c85vn8oV6gBlC +Jky4+ZWmXMjGSpuhbSKuDZm90d6/f7+aPXt2+NjcSJsbxrS8feFhTbnYuXNni6HpeZN5kvnQG3Dz +fYL8LttE586dq/bt2zdsY29+Lg133nlni0xknmQ5mMvCnIbMg2ZgYCB61CDP5awe/8iQDPQyNJel +vXzMZW4SN7/2OtTV/EKtwQwhEzoxQxPZ4LrM0H6/pB+dFsyNtPk4LUlmaG9EzZQipmJuwG0zFOzP +66QWt7FPS5IZmmizMKeRZIZ5Luc4M9QkmaG5zE3i5tf8vNDV/EKtwQzBG8R8XIZadmwDKju+LWdf +1wsoF5ghAADUHswQAABqD2YIAAC1BzMEAIDagxkCAEDt0Wb4jDxACCGE6qowGSKEEEJ11aZNmxZx +mBQAAGqN+CBmCAAAtQYzBACA2oMZAgBA7cEMAQCg9mCGAABQezBDAACoPZghAADUHswQAABqD2YI +AAC1BzMEAIDagxkCAEDtwQw9Yfz48dEjKCM7d+4M20i0efPm6Nn+MXfuXLVkyZLor3To+Z83b170 +DMSxePHicFlNnDgxegZ8BzPsgf379zc3ILZmz54dvSsb5DuTsKff6YawjNi/qd2GZ8aMGZkv97TI +tFeuXBn91X+6NcN9+/ZFf/V3efrABx98gBlWCMwwIyQZdFIYAwMDHSUI2VDFIa/Ze/Nnn3129Kh7 +Ov1NnZDm99sbZ/m7rCbfaXvmTRZmCMlghtUCM8wIl3GYh87MDZN+TktvgDZs2NB8zjY3ec6FnkYS +cfOhk62gX3fNi0gnBNnISgKS1CDPC0nzLejX9LT131pxG2D7NZm2/n7XfMihK9dyE9nGoJ9PSj76 +UNjevXujZ4YwX9PfpaURg7SfE1zzLpjL0V4m+nnz/RrzcxpthoODg+HzaRKevM+crrk8k9YVG/37 +9DLS36Hn056XuPUnzTT18/p9JubyF5nTjVvWcW2j3yuvaWwzlNcnT54c/dVK0ms2ab5Hpi2PzXm3 +/4bOwAwzwjZDvSHQyGOzGO0kISu3/bq5YTC/y0Smk1RkSfNhHuYV9IZT4zJ42VjIe/RGIc186/fK +BkY/tn+/C/msXez68/Z8CObGW4ibtjyvpy3fYy8/vcxsAxXiXrN/j/keveHVvyVu3vWy1u2iTVjm +XX/W3vkx21dvIAV7GvLY9XtM5D3m8jaXZ7t1xcQ1bZH+LvNx0vrTbppJy0W+R/9e+R1mGycta1fb +yN+6bc0jLjLvdn3oNrCfF5JeE+Q1kQvXa+bvkvk2133oHMwwI2zjkBXXTBS66DTtzEAK39xIxBWJ +Xeg2SfNhz5Mgf5sbGLtwpeiSNqrmfNu/wSStGZoyv8s1H+bGO27a8ry90ZDvFvSG0PX7kl4TzN8j +07DbxJxf17zredCYv8VG3qvbyHxsYk8jqS009neZ89BuXTGxpy3fY05bdg7i1llzPjuZpmC+Zj42 +dxIE+zvN3xnXNq511WWGGj3vrtfN1/Rje56EpNc08to999yT+B5IB2aYES4ztDGfc5mBvG7K3ICY +nzWRjUdcQQquz+nn4jY22jzTmqF8xpSe76QNelozjNvwuebDnF7ctOVz9vyKzNfMVKBJek0wf49r +2kkbXHOjZ0q/X9rYfs3c6Luwp5FkQBrzewVzntutKyb2tG0jtudFvsdUOzPU00xaLvZren7aLWt7 +3jX6fWb7J5lh2oRozo9N0msanYjb1RK0BzPMCJcZmhsWe+/UNgPZ8JgbDHsDElcQ+nvjTCNpPtpt +bNKYYdJ827/BJG8zjJu2Pb8u5D0ybddGMe418/e4pi2H9PRnXPOe9Fvt18y/4z5nT6OsZmi3h/ne +dtO059f82/6cif05E1fbaPT86M9KLdn1oc3JZYJJrwnymshF3GvynKx3cZ+D9GCGGWEbhxSVuYLK +Y71hEWTjaP4tGwH9fm1Y5kYiaWXX09JFKt+l5yVpPtptbGwDF1wbOv0ee7719+u9abPfzv79LuSz +nWy0XBtve9r280Lcxkkbn2uDb79mmqE9DXMZCa55t9tJPqO/z/wu+R3yt14u5ufM9rKnUVYzTLP+ +mJjTlMdxy0UemzLbO2lZ2/Mu86CXgV0P8re57shrccs46TWbtN8j86rnTR6byxg6BzPMCFeK0oUu +0sVmol/T6A2sfI98X1ozFHShimyTiZuPNBs4PU9m0blMSN7jmm9BXhOZGyRBPx+HvNatGWraTVuU +Ba6kq7/fXi9c8y6Y7RT3O2QaMi3btPTrGnsaZTVDIW79STNN+VtkLxfX++x50p81l7WrbeQ5/V4T +2wyLRJaTPT/yt2s7A+nADAEgRDamcTsfPiFGYRu/GJq9g9Er/TRDyB7MEABCdPrJ2jT6gf4tprLE +TLNQDTBDAACoPZghAADUHswQAABqD2YIAAC1BzMEAIDagxkCONDXcWV9FmIWcCYjQPZghgAO5MJw +1+ABtgG5LgwvAq5xA8gWzBDAQZwZiszRbDBDgGqAGQI4iDPDv/71ry3mVxYzTBpqrd0wbACAGQI4 +iTNDGa7MHGTcNkM9YLSWaUQyJJi+95zW3//+95a/zfE0zTExRWYitc1Q/pb3uNJi0msA0AAzBHCQ +ZIbaXORxu2So3yeIuZmGpM1OIyfG6Gna42va07HNUIMpAnQHZgjgIMkMBTEyMSuXGdqJzvxM2rs5 +6DNGbWnizFCjjc9F0msAdQUzBHDQzgwF+fudd95pMRZ5bA50bX6mUzNMGjA7zgz1JSGdvgZQdzBD +AAdpzNC8J57Gfo/5dydmKI/bJT/zdUwQoDcwQwAHacxQkOdEGvsEGvOGs52YoWB/l2lmthman7NJ +eg0AGmCGAA5cZlgm4g6TAkB3YIYADjBDgHqBGQI40P1sorLB2KQA2YMZAgBA7cEMAQCg9mCGAABQ +ezBDAACoPZghAADUHswQAABqD2YIAAC1BzMEAIDagxkCAEDtwQwBAKD2YIYAAFB7MEMAAKg9mCEA +ANQezBAAAGoPZggAALUHMwQAgNqDGQJ0wvuvqX/tGVT/3HqJ+uf6yWr/2tFq/8p/C/X/Hv1I11r6 +/E51/I0vdaWZd20MNWf5VrVwcFuoJzbuUeu3v6d2vfthNOMAkARmCCAGt31RaHBibi6zylu9mGG3 +Mg1UjBOgzmCGUH202QVJzmVEZVA/zDCNxDB10gSoMpghVAZ9+NJlNmVXWc0wSZIqxSQ5FAtVADME +/wiSnq+mFycfzTBOkiZJkuAbmCGUmwoan0tVMkOXMEgoO5ghlIodO3Y4zaLqqroZusSJO1AmMEPo +G++9955at26dWrx4cYtWrVpVizRoqo5maEv6IDFH6BeYIRSKy/xcWrZsWXiI1GUcVRRmOFxyaBVz +hKLADCFXJP2JsbkML43k8y7zqJoww/aSw6oAeYEZQuakTX9pJd/X6wgvZRdm2JlIjZA1mCH0jKQ3 +6edzGVlWknRZ5X5EzLB7caYqZAFmCF2TdQJMo6r2I2KG2QhjhG7BDKEj+mGAtqp42BQzzF4cSoVO +wAyhLWUwQFtVO2yKGeYrMUaAJDBDcNLrWaBFqEqXX2CGxUmWNYANZggtlDEFtlMVLr/ADIsXaRFM +MEMIyfts0LwlJu7zYVPMsL/ipBvADGuMJCqXsfgqnw+bYoblEIdQ6wtmWENkMGyXmVRFPhoiZlgu +MdpN/cAMa0TVkmCSfLv8AjMsp+hXrA+YYQ2okwma8unyC8yw3MIUqw9mWGHqaoKmfOlHxAz9EIdP +qwtmWEEwweGSZeIyobIIM/RL0l5QLTDDirFixQqnGaByX36BGfopLsmoDphhRfDxYvl+qKyHTTFD +f0V/YjXADD2HQ6LdqWyHTTFD/8WhU7/BDD2GQ6K9Kbz8Yu1opzkVLcywOtr17odRhYJPYIYeQhrM +TnLY9F97Bp0GVaQww2ppzvKtUbWCL2CGnuH7GKJlVb/7ETHDaoqU6A+YoUfIMGqYYX7asmVL30at +wQyrK/oS/QAz9IAPt65ROy84tEV7l14UPi+HTDHI7CT9sP24/AIzrLY447T8YIYlR0zPNsI47bl1 +QL2/9l4Mskf14/ILzLAegvKCGZYYl+F1KgyyexV5+QVmWB9x2LScYIYlxWVsWQmDTK+iRq3BDOsl +DLF8YIYlY/+eN5wGlrd2X/3NpkHKiSRyqNBlDnVUEYdNMcP6iX7EcoEZloh+GWGcbIOs+0X+eRoi +ZlhPYYjlATMsCWUzwjjV3SDzumkwZlhfYYjlADMsAb4YYZzqZpBy2DTrfkS5+4FrQ4nqIQyx/2CG +fcZ1DWEVJAb53mML1d7XN1XSILPuR8QMEYbYXzDDPuMykqpKDFIPFlAVg5Q0nMVhU8wQiTDE/oEZ +9hGXYdRNVTDILC6/wAyR1sLBbdEWAooEM+wTLmNADflokL0eNsUMkSmuQywezLAPyEXvLhNA8TIN +sswDlgsus2snzBDZWr/9vXB9gmLADAsGI8xOZTXI8LDp+slO04sTZohcguLADAvGtVFH2UobpJzc +0i+DlMOmndw0GDNELnFCTXFghgXi2nCjYtQvg0zbj4gZojhxuLQYMMOCkGvuXBtp1D+JQRYxYHma +yy8wQ5QkyB/MsCBcG2NUPuV1R492l19ghihJHC7NH8ywAFwbXeSPTIMUU3OZXRolXX6BGaJ24nBp +vmCGOeP7uKPILdMg5VpIMTqXAbokn8EMUaciHeYLZpgzrg0pqqbkUo+0A5bbh00xQ5RGkB+YYc64 +NpqoPkoySPOwKWaI0oh0mB+YYY7IhtC1gUT1lm2QYoiYIUoryAfMMEdcG0KEbEm/smujh5BLpMN8 +wAxzQq5hc234EDL11rsfOjd4CCUJsgczzAnXhg8hLTkblUOjqFtxmUX2YIY54doAIiSSYeHmLN/q +3MghlEay/kC2YIY5ICdHuDaCCAmujRtCnQqyBTPMAW7ThGzJGaRyaMu1UUOoG0G2YIY54NoYovpK +BmnnsCjKWtLnDNmBGeaAa4OI6inBtSFDqFctfX5nuH5BNmCGOeDaKKJ6SQ6LctkEylOcRJMtmGEO +uDaOqD6Sa0xlr921AUMoS0F2YIYZw10q6i25bEJGCHFtuBDKWpAdmGHGcFlFfSW4NlgI5SXIDsww +Y+TMQdeGElVXcikNl02gfgiyAzPMGDlM5tpgomqK0WRQPwXZgRlmDH2G9ZHg2kAhVJQgOzDDHHBt +OFF1xGUTqCyC7MAMc8C1AUXVkPQJc9kEKoO4zjBbMMMccG1Ekf8SXBslhPqhhYPbwnUSsgEzzAHX +hhT5LcG1QUKoX+KehtmCGeYAd62ojrhsApVVkC2YYQ5wRmk1xGUTqMyCbMEMc8K1cUX+SHBtgBAq +g6S/cOlDg+F6CtmAGebAGw/c4NzAovKLyyaQD4LswQxz4LU7zmdYNg8l48rKHrdr44NQmQTZgxnm +gCRDwbXBReWU4NroIFQ2yQ7bhDMvDtdZyA7MMAfe3fScevW6SZxV6oE4LIp8k3DAEUeH/0N2YIY5 +8MHbb6g10w/hrNKSi9FkkG+Ss5vPvXwBZpgDmGFOiBm+tvj8MHm4NsSov+KyCeSjBDFCDpNmD2aY +E2KGpMNySnBtaBAqs2betVHNX3R3aIaSDiFbMMOc0GbIZRblEaPJIJ8liBGKuMYwezDDnFgzrWGG +8j/psP/isCjyWbLuigFqM9z25lvRlgayAjPMiVevndQ0wz9deFR4DZtrI43yl+DawCDkiwRthCLI +HswwJ+TwqDZDkVxu4dpQo/zEZROoChJMI8QM8wEzzAkxvzUzhg6VigTXRhtlLy6bQFWQXGCvL6XA +DPMFM8wJfa2haYbrOFxaiATXhgUh3yTYRogZ5gNmmCO2GT4XaNczy7j2MEcJro0KQr5JcBkh1xjm +A2aYIy4zFO3bvc25IUfdi8smUJUk67KYnssMucYwHzDDHIkzw2cDCa6NOupcXDaBqiQxQlc/oRbX +GOYDZpgjoQnGmOGz0w4O3+PauKP0ElwbFIR81BMb97RcT+gS1xjmA2aYI+a1hi4zfOHCI7kgv0tx +2QSqmuTM0dUvvOw0QFOQD5hhjtjXGmpD1Ga4GkPsSnJGLpdNoCpJDvOnMUIR5ANmmCOuaw1tM2wY +4jgMMaUE18YEIV8lA3DLoU+X8bkE+YAZ5ojrWsMhMzykaYarp41Uay/AEJPEYVFURUki7MQIRZAP +mGHOJJnhUDocqZ6JDFFwmUGdJaPJyIkFro0JQr5KzhpNe2hUa9QxU8NtBGQPZpgzLjMcfqi0YYbP +TG1I4ML8hiQtc9kEqprkKEfS5RNx4hrD/MAMc6YbM1wVSC7Ml0TkMoi6SHBtSBDyWULcBfXtxDWG ++YEZ5kxogl2Y4arTR6rX719QS0NkNBlUVQkuk0srrjHMD8wwZ9pda5hkhqK/BoZYpxNrGE0GVVGy +Tgsug+tEkB+YYc7Y1xp2aoYrAz1/fuPEmr1LL3IaSFUkuDYkCPks6R9sN6pMWkF+YIY5k3x5hTbD +gxPNcOVpI9XTgf66vJopkcsmUBUl1w8KLlPrVpAfmGEBxJth67WG7cxQtCZKiVU525Sb8KIqqpvL +JtqJk2fyBTMsgD9ddFQ6M4wMMckMnxKdOlK9X4GzTQXZe3ZtTBDyUXmkQS3IF8ywAMJh2SwzTOo3 +TGOGTwZ6bnYjJcrZly6zKask1QqujQlCviqPNGgK8gUzLIhOzNA0xNAMA7nMUPTElJHqL/dd701f +opwExGUTqErSZ4rK6DAuE8tC3N0+fzDDgujWDO10OMwMI0N8fMpB4aFTuTTBZUJlEJdNoCpJHxKd +v+hup4FlKUmckC+YYUGEh0pzNkPRMz8eG06vbP2JgmuDgpCPEoowQS3IH8ywQIoww0HRwEHqtfuu +D6fZ77NOpT+TyyZQVSTrcqd3mehVnEVaDJhhgYQX4BuG2GqG6a41DA0xhRk+NjAi1PaV94T9if04 +yUYOi3LZBKqCZD0WXGaVt6AYMMOCKdoMHxWdMkJtvbeRFIsyRcG1UUHIJ2kTzPPkmCRxl4riwAwL +JhyrtMUMO7/w3jxUmtYM/xDo94G2RKaYV58il02gKqgfh0NdguLADPuANsOkfsM8zFAb4opAL996 +XjgvWZqifBeXTSBfpc8OLYMJiricolgwwz4gfYf9NsMVJ49QjwR6KTLF99fe6zS4tOImvMhXFXmJ +RCeCYsEM+0Q7MzQNMckMQ0M0zDA0xMAMByMz1IYYZ4YPR3r83DHqH7u2dXWyjeDayCBUZun+wLKZ +oIjrCosHM+wTcif7tGZoG6L78grDDCNDTGOG2hAfEp00Qj140oFq8+/mh/PYLi1y2QTyTeah0H6d +FNNOMl9QPJhhH9lw7aQMzTD5UKlphqEhxpjhQ4EZPji5ocd+OFq9veHZcF7teynKZRMLB7c5NzgI +lUligNKXLZQxBdqC/oAZ9pmizNA8ozStGT4gmtTQizefG86vHEYVXBsdhMqkMh8GjROHR/sHZthn +5HDpkBnme61hixkGcpth41CpbYb3TzpA3X/iAerRc0apF/+8I5x32duWvW7XhgihfkiOVghlOSO0 +U0H/wAxLwLYHFjTNMEyHJTZD0R2PvKiOnHW7GjfrNnXVfz8d/gbpO+RsUtQP6QQoBigXqbtMxgdB +f8EMS8L6aycNmWFkiIlmGChLMwwNMaUZPrLmz00zHHeOaFGoq+56MvwtYoz0J6K8JEcjnti4J1zX +8rx/YJGC/oMZlohOzVCnw27N0L68wjbD0BAdZiiHSV1mOO7sX4Uae/at6uwFD6o33/5baIyy5+7a +qCGUVvqegYJPfYBpJIkW+g9mWDLyNkNtiKnNMDJE0wx3vPO3tmY49izRLaGO/+lv1MPPbgp/H+aI +0kjSn3n4U0ZjcRmJ7+KEmfKAGZaMfW9vc55EUyYzFJpmGBpiZIbnuM1w7MybQ42ZeVOo8ZfcFZhj +Y53DHJHIvPxBzK9q6c8lBuEuF5hhCZEzTJ1mGMhlhqEhBmaoL7zXZtjpKDTmhfc9m2FoiJEZntVq +hmPOvHFIZyxUx118p3po9avh92KO9ZC0sbS1UOXkFyfGHS0fmGFJ0YYYd6h0mBlGhpiUDstqhqND +/VKNniH6hTruosWBOW4IpyPIRpMTcvyVechTkNQ34cxLAlP4gSG3aVRRjDBTTjDDEiOGWIQZakNM +MsMHDDOUMUx7M0PDEB1m2NANatR00YJQx154u7r8jt+rFzY1riMTg5QzCrmcozzSpqcPdwqrX3gl +ML8lgQkcE8g0P1tu46iaSITlBTP0gDzMMDTETs0wMsTdG1YXboajpl2vjpg2v6Gp/6W+Euo6dfnt +j6i1G1+PllRjIABJkZhkvpJlbJqeHOq8/ralasTo8erA0cepA0eJjlUHiEIjxAwlEUN5wQw9wTbD +0BA7NMNhl1fEmGHckGzaDDcumx+ZYWSIzTNK25lhZIiWGTYMsTsz/MrUa9WXTxdd09Bp89TR59+s +LrvtIfXgqpfVm7v3RkuQNNmJdMrT1/Nptu3YpRbcfo864ZzL1EFjJwaaoEaIxhzfEGboFGeNlh/M +0CMyN8NAsWYYGaLLDF+86dwYMwwUmmFkiHmZ4TTTDANZZij60mlXqy+dGmnK3IYGrgo1fe5/q0t/ +9YBa++pfoyXbMEptlmICYphiCC6j8F3yu+T32Yc0hW07dqsbFt+rZs+9VR381ZPUwUdNDjXyqElq +5JEnNjTuBHXQODHC4WZ4oG2GR2CGGKEfYIae8fz544bM0DDEbM1w6FCpywxXXT5BTbhsaQozNAwx +jRmGhpi/GR4+cKU6/JRIJ18R6efqiyeJLlff/+ENgRaoObcsV7cse1L9ccNf1PZd/xe1wBCmeYrk +0KE+RKvNNA9D1d9rmpo2NpknF2/s3K2e+9Mm9Ys77w910nnz1Ee/cWpDX58SaEAd8jXRKYFODoxQ +ZJjhkQlmOEaboRghZmgK/AEz9JC/Ll+QixmGhpjCDGWw7lm/eMRjMwyUYIZfnCy6TH1BNOnShk6c +oz4vOuFngX6qPieaeElDEy5Wnw303bOuUd+deY06fc6v1GmBLvnl0lA3/c+j6sZAyx//Y6jnX9ka +aIt64613WvT8y1uaum9wTUOPNbTwt4+ohb95uKmL5t8V6E51yk+uV5/89zPVJ78rOkN94juiGQ19 +e7r6+LenqY9/SzRVfUz0zdMb+sZpXZqhGCFmmEbgF5ihp8iZplmY4bDLK1KYocgcrLs4M9SG2KUZ +TsnADE+MN8PPTrhIffZ40YXqM+NFFzR03E/Up487X336WNFs9SnRMT9u6AfnhTrsB+eqw44W/Ugd +9p+iHzb0/VmhDv2PcwKd3dD3zoo0MzBCEWZYJnHGqJ9ghp6zZva4oX7DlGaoDTGNGYaG6DDDuMG6 +szTD0ZhhshmGRogZlkn0D/oLZlgB/nf5gqYZ6lFoQkMMzLBlFJoMzTDNYN2xQ7KZZnimn2YYGmJt +zFCMsFsz1EZYbTPkQnr/wQwrwvu7t8UcKjXMMFBXZhgZommGnQ7W3bkZBurJDANVxgzFCAs0w9AI +izRDt8H4Iq4frAaYYcX4y30LLDNsPVTa1gwjQ2xnhkLTDEND7MAMQ0OMM0PDEDsyQ22I3Zvh4d2a +4cQ0ZhiosmYoRlhPM4TqgBlWEEmJfTND88L7LM1wumdmGBqiz2YYGGGnZhgaYT3MkDRYPTDDCvPm +ynsSzTA0xMgMtSEmmaE5PqnQ1gxDQ8zDDAP11QwbhlhuM5zekRkeghmmEn2D1QUzrAGrzhvTNMNh +l1fEmKF7SLYhM+x9fFLbDCNDHGaG2hBzMsNTqpoMczLD0AjTmWHrUGz+myF3pK82mGFNkEOnTjMM +1JEZRob4+lNLK2aGgfJOhuFJNMWZ4cf7aoaBEVbEDDkkWg8ww5qxfeU96c0wMsQhMxzqNxw+WHe3 +ZhioLmZYcDLs3AwDI8QMm+KQaL3ADGuKmGKyGQ71G7rMMH6w7rRmaBhir2bYcucKhxmeqs0wUGCE +oSGSDCMj7M0Mh9+xwn8zxATrCWZYc7bce33baw1dZph+fNKizTAQZpipGTbuWOEyw8AIXWaoT57x +zAwxwXqDGULInwNT7NQMr/rN0ynMUBuiNsPIEOOGZDPNsGV8UpcZakMcboahIXZlhoEwwxzM0GWC +Wm5zKkqYIAiYIbQgpmibYWiIlhmKchmsO9YMA2GGfTTDwAgrZoaYIJhghuBk29P3tDXDXAbrLoMZ +hodK8zPD0BBLY4ZywX2WZihGWG4zxATBBWYIifxj1za1+oqJzUOlphkmjU+a1Z0rym2G2hDLZIZi +hBmZ4VEJZqjPJPXIDLlEApLADCE1m5bNT22GDUPEDDHD/pohKRDSghlCx0haFDMUOjXDhiH6YYah +IVbJDL9ZsBn28V6GpEDoFMwQekJOognNMDTELs1w2PikKcywZbDuLsxwQJthoNqZ4WkpzVCuMXSZ +oRhh+cyQFAi9gBlCZtz+yAuRIeZphtoQTTMM5DJD1w1+U5thdKgUM0xthkMX3BdnhmKApEDIAswQ +cuH2h19omGFoiA4zDA2xvRk2LrzHDLM2w49mboZihN2YodvkkiQGuPqFl6M1DSAbMEPInSvveqJL +MwxUFjOclJMZHuO5GSbe5T47MxQD5K4RkCeYIRTKw89uSmGGhiF6YoafwwwdZqiNsDszpA8QigQz +hL7x5tvvqit+PWiYYWSImGEXZnhGb2aob9/0NTHC/pgh/X/QTzBDKA1ijmfNvzfeDFvGJy2TGQYq +WzIMjTAjM9Tjkjrvct+9GY46ZhrmB6UBM4TS8tDqV9VZ1/0OM+wmGZbQDDE/KDOYIXiDJMeHntmg +jrnwttAQh5thZIiYYSnMcNQx0wPzWxK1HkC5wQzBa97cvVddfvuKVjNMutt9x2aoDTErM2wYYh5m ++Im+mKEY4fFq4llz1LMvrI9aBcA/MEOoHGKQD656Wc2Yd/dwM5ySYIYnl80MxQizNEMxQpcZihGm +M8OxE85W199+j3r2RYwPqgVmCLXizd3/px5c+ZKaPve/McMYMzzyhHPV7Lm3qGWPPKW27dgVLTmA +aoMZAkRs3/V/6oGn/6Tm3LJcTb/i1+r7P1yQbIahIfpnhl896Xw1+bx56oZfL1fPraP2AQTMEKAL +tu/ao+5/8kV18z2Pq5/euEydfuki9d2zrlHfnXlNZ2YYGGEvZviNKT9Vp/xkvrrwul+rX/73g2rN +S5vUGzvfjuYSANKCGQIAQO3BDAEAoPZghgAAUHswQwAAqD2YIQAA1B7MEAAAag9mCAAAtQczBACA +2oMZAgBA7cEMAQCg9mCGAABQezBDAACoPZghAADUHswQAABqD2YIAAC1BzMEAIDagxkCAEDtwQwB +AKD2YIYAAFB7MEOALpkxY0b0yA8++OADtWTJkuiv8jJ58uToEUBxYIaQO+PHjw8Vx8SJE6NHQwwO +DjY33ObjDRs2qM2bN4ePs2bevHnh/0nzauIyQ/Oz5mPXb8wKvWxkfvbu3Rs+duEyw34sZ0Gmdf75 +50d/tS6fJDOMm988ly/UA8wQCsE0hv3794d/y0Zv7ty54WPzdcHeIMqGXn9OJMYlG0PZYNuf7RX5 +Xm0qs2fPDqdtTkMey8bXNsPFixe3mJGYj8yn/Rvltw0MDAwzpl7Ry0MwpyHGJtNev379sGn2aznL +cpXlIriWj73MNa75tT+f13oB1QYzhJ6ZcPMrTcVhbphsE7H36rWJmMgGb9++fS2JRTZ6nRrK2xce +1lQcYiIaPW86VekNuGC+T7B/l5iKbPQF8zd2s5G+8847m7LRZmAuCz0NmQe9LHfu3NnynjyXs3r8 +I0Oy0MvQXJbm8rGXuSZpfs3PdzW/UHswQ+iZTs1QkL/1Xr65IRPiNnqCvZHWj9PSzgwl3ZnfqedR +m4ppgLb5ucxQ/w7Xxr4TksxQYy43PQ3TANOai9Drco4zQ3Me4szQXuaapPk1P9/V/ELtwQyhZ7ox +Q0FvcF3mYL9fbyDzNENXorA3zOYG3E6GMm8rV66M/mo9bGr+RtfvbUe3ZpiUDIW8lnOcGZp0aoZC +3Pyan8cMoRswQ8gV2QDLBkxLDmnJxkoe60OI+m8b/Rl5n7mxk+dkI5nlRk82vHp6+vsF14ZZXpfn +zY25RkxEf8ctt9zSYijynNCNGSahp6eXp2Cbg7z+zjvvDDNDwfx83svZxFx+5vJJMkPBNb/m5/Oa +X6g2mCF4g53EfEB2Bsy06AO+LWcf1wsoH5ghAADUHswQAABqD2YIAAC1BzMEAIDagxkCAEDtwQwB +AKD2YIYAAFB7MEMAAKg9mCEAANQezBAAAGoPZggAALWnaYYIIYRQjfUaZogQQgghhBBCNVczGAIA +AAAAAEC9IBgCAAAAAADUHIIhAAAAAABAzSEYAgAAAAAA1ByCIQAAAAAAQM0hGAIAAAAAANQcgiEA +AAAAAEDNIRgCAAAAAADUHIIhAAAAAABAzSEYAgAAAAAA1ByCIQAAAAAAQM0hGAJkyOLFi9X48ePV +vHnzomcAoFN27typBgYGwloSTZ48We3duzd6tb7s379fzZ07N1wmS5YsiZ7NHnv5i9imQRZoj9Sa +OHGi2rx5c/QqAPQbgiH0DXMnpxPNnj1b7du3L/qWcpFFMIxbLuyYlYfBwcFh7WOq1512cx2oW7vr +GipznfeLooLhhg0bEtugzusnZMMHH3ygZsyYQTAEKBkEQygd+mh1HoaR53cLvQRD80iqq4dEh5Gy +GGneyzIPsppn3RauHWe9Ux3Xjmmo64633lmU371y5croWdAQDKEqEAwBygnBEEpH3YKhuZPl0ylz +BMP4HWcz4FR9x1mWRTfrretzPq5TRVKWYAjQK0nBMMttSpaUdb4AsoRgCKWj3c6huXMUJ3sjbPbi +uGTuAJk79XGK28h3EwzFNOQz3e4Md7M8BPNz99xzT7jM7c+JelmW7aYhy6mX5d3us3peOpnnNOg2 +i/ucOV/mDnya5aFJWpfS/m5NmnUkbQ+d2bMtShtQkj7Xrn30e/Na181l3M2yKmIdFsx5u/POO2M/ +FzettKQJhnHrZ7tlrdXJPKb9Tpnfv//977Ht55pmt23Xy+/sZX3R2552ymIb0O436rZP+u44X9PL +oN3r7b7HptvPuchjWyeY2zt7mev9H9drAEVAMITSkRQM02w002x0ezGLpFAQt7OUhP5MJztKml6W +h2nmcctDz5vrt6ZZlvYOQzdGF7e82/12mfa1117bMm9ZtL+QZh1wvd7J8ohblzr93fr9ceuXOU/2 +Dow9v673uOj2c0nt0+53C2nW9aTP97KskshqHTan303NpiWrYJjVPLb7TvN1kattul0ucW2XZ1vE +TTNpu2MGIntd6na9tpdrXN3o+erE99oFQ5u8g6L9W0V5buvM+dLLTS/HbvYFALKCYAilI2nnMG5n +xCbufUnfbePa4JtymXPa+TPRn+nGDHpZHnE7AyZ6B9E1b2mWZZppaDpd3t0s607aPwlt4C5ltTzi +fl+nv1u/P430d5o7LWl2cjTdfk6TV+2nXe7dLCuTvNfhNL8jqWbTklUwzGoe03xnUmgS2k2z07bL +4nd2Ok1dH/KaPU3dHkm1k0bd1I39O9JsX/W2otttcVbbqH5t6zR226TdFgDkBcEQSkdeO4dCmmCg +zTxuOkk7IGnnz8ScXtwR2Th6WR697tikWZadTMOeP03c8u5mWaeZ5zS02wmNI+2OlhD3+zr93d0s +J429wydKs452+7m8aj/tcu92WRW1DndSTwTDVuKm2W3b9fI7u52m/tysWbPCOtHfIUpalt2u12nr +xsb8fSJX7XcaDPW2QX9n1p8zf6tWnts6wfXZpJoDKAKCIZSOpJ1D03DiNr76Pa7PmyYR93ltonEb +6KTXuzVgvSMgSjJgMdOzzz67+bt6WR697NgIaZZlmml0u7zT/Hb5rPlamnlOQ7ud0DjSLA9N3LrU +6e+Oa/9u0fOllXaHMc3n8qr9tMu922Wlf1ve63CvNZsW/R1J67f+Tfb6mcc8pvnOboNht23Xy+/s +dppxy7wdej46Xa/T1k0cSW3SLhia2+pO5r3bz7nQy1sr7TJI8zmXF+nl1cs8A/QKwRBKR9LOoWCe +whGnOMMV7I22yDTudt+vj9a6ptGtcQumCSfJNplul0cWO3DtlmWaafSyvO2dAFtJbWQq7vfF0c9g +KHT6u9OsI93ujMiy6HT5Ca7P5VX7nSz3bpZVUetwFjWbBv0dSet33PqZxzym+c52NRk3zW7brpff +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 +----_=_NextPart1_79e1666d-a7fe-4069-827b-ae9dec05908f +Content-Type: image/png; name="image002.png" +Content-Transfer-Encoding: base64 +Content-ID: + +iVBORw0KGgoAAAANSUhEUgAAAkEAAAFRCAYAAABzOnmrAAAAAXNSR0IArs4c6QAAAAlwSFlzAAAO +xAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUATWljcm9zb2Z0IE9mZmljZX/tNXEAAJ/MSURBVHhe +7X0FfGTV2f6TTGbiLuvurri7FWlpoS2lhfb7qFBXWtp+daHyL3XBChSKlOItvrgt7C7r7tm4j9v/ +fc7khtlsZJLMJDOT9/Abspnce+45z3vuPc99NWvr1q0v2my2E/1+P7QpAoqAIqAIKAKKgCKQ7gjY +7XaEQqE1WdJOLC4uRk5OTrrPWeenCCgCioAioAgoAooAPB4PWlpalmX5fD7k5eUhNzdXYVEEFAFF +QBFQBBQBRSDtEcjMzER9fT2yOFNRCaX9hHWCioAioAgoAoqAIqAIRPMeQ4K0KQKKgCKgCCgCioAi +MNoQUBI02iSu81UEFAFFQBFQBBQBg4CSIF0IioAioAgoAoqAIjAqEVASNCrFrpNWBBQBRUARUAQU +ASVBugYUAUVAEVAEFAFFYFQioCRoVIpdJ60IKAKKgCKgCCgCSoJ0DSgCioAioAgoAorAqERASdCo +FLtOWhFQBBQBRUARUASUBOkaUAQUAUVAEVAEFIFRiYCSoFEpdp20IqAIKAKKgCKgCCgJ0jWgCCgC +ioAioAgoAqMSASVBo1Ls/U/a7/fD6/Wa4rosNKdNEbAQ4NpwuVyw2+1mfaRCc7vdZpiDLRQdDAbN +nMPhsJn3YPtJBayScYysb0n8+dNms5l1l5GRkYxD1TGlGAJKglJMYMM13Oeffx6PPPIIvvGNb2D8 ++PHDdVm9TpIj0NDQgF//+tfYtGkTZsyYgR/84AfIz89P8lEDv//975GTk4PPfe5zgxrra6+9hj/9 +6U/weDw4/vjj8eUvf3lQ/ehJg0OgpqYGP/nJT8Cf06dPxze/+U2UlpYOrjM9SxGIQkBJUJItB75p +3n777diwYYN54+RbDzcZvsnyDTwQCGDcuHH45Cc/mdC3cJ/Ph/b2dvANuL924MAB3HPPPairqzOH +HnfccTjnnHNG5dvynj17cO+996Ktrc28tVJeJAsf+MAHUFZW1h+UIPnkhvvRj37UyDmZGtfmXXfd +hdbWVlx33XVmXXKNpkKztAiDHWtjY6OZ66c+9akuuTQ3N+PWW2/F3Llzcf755w+2az0vBgR47/CZ +98orr2D16tXm3tKmCMQDASVB8UAxzn2MGTPGqH6zsrLMhvPyyy9j6dKlmDZtmiEl5eXlMZmodu7c +ie3bt+Pkk08eMGGiCYzX70/l/Mwzz+Avf/kLJkyYgPnz5xskVq1aZTbyb33rWygqKoorOiRc77zz +Dk444QQUFxfHte/eOtu4caN5AyWO/W363BjfeOMNLFu2DFVVVabLt956C6+++iq+/e1vY+bMmX2O +mTJ78cUXcckllyQdCSIRJzk/9dRTceyxxw4L9vG6CF8m+Bls433A9cZ1Z90TvEd5b/J3JUGDRTa2 +86jFW7RoEXh/vf3227GdpEcpAjEgoCQoBpCG8xA+UM8999yuS1K7sm7dOlx00UVmYx1I27p1K/7+ +97/jxBNPHMhpMR+7efNm/OEPf8AxxxxjzAyWfwi1IP/+97/R0tKSEBL0t7/9DcuXLx82EvTmm2/i +pZdewhlnnNEvNpRfYWEhPvjBDxoNENt5552Hr3/967j//vvxta99rc/NmOddfPHFKCkp6fdaQz2A +Pl/U9lVUVPTaFYkPN3sSbxJAvoHHotEa6tiS8XzLL8Uy/40dOxZci9nZ2ck43LQcE9dsdHM6ncZE +yfXZW+vo6AA124Ndt3wG8350OBy9XqO2ttaY5/o6Ji0FkgaTUhKU5ELkTc5mOXZGD5daGGp62KZO +nYqzzz7baIj4sP7Pf/5jNm4+oKmy50++wc+ePds4d5JYUTtBbQ/fkLnBT5kyZUBoPPnkk2bD//jH +P36Yponan4997GOH9VVdXY0nnnjCmId4PY6Ftn2rcR7btm0z43j99deNzwkfPDSrWQ+vp59+Gi+8 +8IIxw9x9993G3EbT25IlSwwO/JDwPfXUU6D5gngQF2pWqMHgXHkOSUn3hybJwKOPPmqIW2VlJS68 +8EKz6T/wwANG80RM6RPChxz7nTRpUp9YkThYbeLEieYtlg9TavJIlIjFrFmzzO8cLwkTx8Vx83qc +R7Smi3N77rnnzDgWLlx4BLHl37Zs2WLkv2LFCqxcubLX8bEPyo7XJZm84oorjjiWcuIYucY4FmJM +HzFuQjRJ0OzHc48++mhzLtcS1xTnRk0m5xJNDp599llDtihL9sNjqD3hGz4br0P5c/xHHXWU6Tu6 +cT1Q9pZ2klo54hfduK7/+9//Yvfu3WY9cu1EmxQpO95Pjz/+OOjbNGfOHJx++ukDWvPRBxPHNWvW +mLVETS0btX58CeC65Hrdt2+fGQPxsOba/YLUbtAMSpw5Lv6bY+W9MHnyZLMmH374YUNGqYGzrmX1 +E40NvzvllFMOw4Z/379/v7nniOGOHTvMmPmyFa2ppbmdzw3eq5YcKaPuGzsxpvwtB3GeV1BQgPe8 +5z1dMt+7d69ZY8SIcuf9ZPXDZxmx4TyamprMmBYsWNAlC86fY6asKR/rZaInQe3atQs333yzWfPv +fe97zTi6N64ruhhwrfKYWJ3aOUeuFd579I0k6e3eiCUx43yvv/56cx8QP77IWC+FXI+8Z84880yz +7rUlFwJKgpJLHjGNhg/Z3/3ud2bTs5yW+SChCeqrX/2qIQkHDx5EfX29eQjxZibxsDYW+nVwU7LM +auyPRIHOntysY2l8cPNBxQcZSUNfjRs0NVJ8QPHDjYgb8DXXXIPTTjvNnMqHGX1pSID4kORmyO/W +rl2L73znO+Y8mqQOHTpkSBwf6nxQz5s3z5xPMxLP50OID1ZiQCLABxT7IKHi8SQZxIkPNYvI8CH5 +q1/9yvTLtzkezw392muvBc1v3IRICvgw44M5muD0Nu/uphde13pT5KbBDYIy4L/ZOF9en9q7O+64 +w8zLIkHUqt13333mAcqNhyYYjuXKK680b7gkZ9yM+Xf2wbXADelDH/rQYcPjGzMfxg899JA576ST +TjKbU3Tj3EieSVS4drhxcrOkrHlNfse5UIYkzezzr3/9qzEBci0SY46P64kYWyZBjolrhvgRS5JO +663+j3/8I9avX2+OZf/cBLlZ0Y+K7cEHHzQkgOuMOPHNniZXah8tEkYZ/eIXvzDyIg6cH9cCNW80 +QRI3blQ//elPTZ+8Pjc4nve+970vliV/xDEcP7V7JKUWMSGBJcYkdZQt5UEyybX8+c9/vkdzKk3e +lAl9Xbj2iREJM2XKjZPzYD+8T7lm2I+l3e2ODeVC/KKx4ZoifpSLdW/x/qOZl75dJAU870c/+pH5 +yd8pR8qQcuFzgfcT50PCwfGQEFBW7JvkhmvJ8tPh9W+77TZzz5EI834jOfzKV75injlcM7wviROv +x3uF9zfnyJcbjo2y5vV4v/OZ1lsUIv2xuM4pB64JjoMvKdHBHJTPpZdeatYR5cJnDnHtidRQyFzn +xIvPAK7x//mf/+lax9Yi4POGMuPLFV/m+Cyz5vuPf/zDzJvripiQgPGe4T2pLfkQUBKUfDLpd0T/ ++te/QFMUH2C8wdn4wORDjBsmN0felLyBSQy++93vHqZV4AObJqxo/xQ+6PiwjpUEcSPiA4yaoL4a +H2J8IJKQcEx8OHCDYoQRiRE3ez6M+ODlQ55vy3zo8Q2VD+0bb7zRbLB8I/zIRz5i3nBpguPmFv2W +z/O5mVDz87Of/axrXHywckO1Hni8xhe/+EXzwCRO3JD54OVDljiRqHCzJhHhhsFj+VDjGNhvrOkC +SCb4Yf8knSRaJFVsfDByU+EGwu9INKzG/ompRaKoSaBM+dCmxo2NmyXlzcYNg2uBY7PmyLfsO++8 +07wdU/PHzZqbDjc1zp9aCW4EVnQNMeIx1IRxY+K4qQHguCxNAeXHDYd4kDhZJltrc/3CF75goqbY +uEEQS+LK79k4J5LLq666yvg7WY1z45v2DTfc0EWmqWmgoz1JO7UA9DXjPCyfM55L/yqSGIsEkbQR +K76Nc5zEmBpQvghwnRNXkiBuaNbYf/nLXxqNBNfWYMyPJArcvKM1PJQrTSMc19VXX20IDe9XfjjP +6DlYGFDWHB/JO9c+N1XOheSfcmQ/lBnvG0ZFcd7Emuf0hA3Pi8aGa5t9L1682Dwz+DvnTfLKjZ7a +JZJEypVrxtLgcYP/4Q9/aI7h9UiaSHC+9KUvdeHOe5EvWVzHnCvnTrmTAFgEm4SThJjrixpizpfE +ifLgc8fSWvK+I8nj2rMIMO8b9ttb47j5LOOH5J1Eh88NzoljsF48SI744fh5DO8F6xi+bFAjS/LD +dUQiy3VHshmtdeMxlCGP4UsB1ySxiH5mss/LLrvMPHep0eS9wPv8e9/73rCZ7/vdQPSAwxBQEpRi +C4Lkg5sJbzaLAHEK9Bfi2yFvOG68fHBYWgY+PKMbVc9s3PB4jOUEzc1wII2bQH/n8IHC8fCBZD1c ++QB8//vfb0gbHxLcvDkOmkpomrE2Xj5c+OZoRZ1xbNZcuvsGWOdzk40mZnyo81hqIjhWjoWblhX1 +Rs0BH+KMxrJIAX/yAWi92fIciyj0p0rnA57HU7NkyYDncPPlGyob++J4ae6IJkA9YU9ZEzcSOatx +0yBB4Bwscww3FG4YbCQxxIlzI1EkYaCseK2ezBvUGlJDwuuQHJEk9OQAThytsfM6vD7f8LmeLALE +77mBcK50YOV6JVHguSQG0QSIGHB90FxCTQnJHMdJTQE/3JTYFzcbNmoU2E93LRvJKjdqbnIkQGxc +05/4xCe65MzzuClF+9vxd2o6OMbBkKCe5EXcGcBA7YS1eVNe1BqQiPTUiCnHy3vEMhEz0ICmMBIW +EiA23jeUO9cy58N1ZWFDDSox68n5mzjzHvvwhz/cpVHh5s77jOY3q2/KkCSGcrBIGe8VrmercV10 +Xxsk1lxz7I/kgOPgWiLRsPIqcQ1Ypnv2xXuLmpFosy3x4logyafcOVdrfj0C1+1LPv/4IVkj3iTs +n/nMZwxBshpNhTSlct2RwJPE8IWKWnWSIz5zSDR7ui4JKUkaseM91ZuZjlonYsgXOBJAynUg84hl +rnpM/BBQEhQ/LIelJz7w+VDiQ7J7I4ngGyQfetFvT92JCjdLamG4+Vs+FtTq0Hcl1saHMx+QPfkq +RffBBz/H1d1Wzzdmnk/tjdW6R6Pxdz6MYzE/sQ/Lvyn6+nygUpNDjYC1QXCuFiHjQ4qtJ41Wd61P +f4TPerjzOnwL5iZGosBNsadcS7E4UdJcQ6y6H2uZhTh+EiCaxKxGIsENiR/+m5sWN2eOq6fQYh7D +/q1EdL2FH3efP/ukbOhb072RvHKj5oZoyb775sm1QwJCstZ9/CQllkw4P2oTLa0Ax0sZkuCysR9e +qyciE00KumsUSCJ4XveXhFjvgd6O43WiMSS2xK6ve4Vzih4r5dtbotJoOfSHTfS9FX0eZcFrWvcW +/0ZtITVzxITX59qNfpZQa8uNnwSfP3kc/V9IbC1ZkVSxT2o/o5vlqxb9Xff1wD748kHtEk2bJITU +CHX3gepLPpQlNUrEmrj3pLm1juHa5Bh4jKWNIw69RRFazxeLtPY2Dt6v9AmiRo6aa4vEDnVd6fmJ +QUBJUGJwTVivvLF5k/b0QKXd2fo7B8CblQ+66AcBz7vlllvM5kSTFAkK//7zn/+8X0ITPSmqkOl7 +wbc79tmbhoTf86HTfWPl5seHZbStn+ONPs56aEeH6Vvf9fRw634+NUiM3iG5ozqa1+K8v//975uf +bJYpo6+NsCccexOwdSw1c90dd7ufE0uuk97wY18WqaFWkGYnS/NnER9rLJQtTZ3UINBMQtMa34Yt +Xy4Sam46/BvNhI899hjOOussc0xfETXcFLjeLCyj58e1yPFFb3QcjzWm6PFTA/HZz362x/FTLiTs +NKtyHlxzvC7fsi3NCsfA73oaR/SYupM44k+s+ksDMdCb2ZqndV5P67inPruv/e79RN/TlsaR2JCI +WOZQ4vDb3/7W+KB0n3v0/LuPiaYvEk3Ll4yY0O+O5jBLE0TtCTGmNs3KW0aTsqVZtmRKMsPzuL6s +61iki8dY8+xp/fNl4cc//rHRaN90000mySVTbUQHUfSEHdc+tTTU7nDNcO0yIjP65YZjt45hHzyG +ZIWkhZoaOv9z7VMrShMqzaSWuZXHU5PGe43HUItNrSOPsci4NS6SQ5qpSRr5nON9p0RooHfR8B2v +JGj4sI7LlXhT8+FC08AFF1zQZWfm2zRNE9y8LK0BiQLfmKNNR7wpqRVh9IoVqUCywM9ANEF82PJh +yM2T/hv017HetEluqI7mA4IPF6qR6UwZnUuFDwY+BC3zRazgcE58mMWiHaIWhZomvqlaTsbUfvFN +0SJRxIBEiP4ExMTaEK3oLT58+R1x44O2twif7uPvb0OOdb70caJsaO4geWHj75Q1TVf8OzcnzjU6 +gy4JAteKlXCT2HNt0LeJEW+cH+dLMxs1KJQd0zAwooprixoBagYs5+mecjKxb25a1LaRpFg+WsSX +plbKvq88USR4XHM0odCkEn0Njp+/c0PjfLmhWOuTMqWTvCULbmJ0qubcqIGzcOAYeEz3SLNYsU/m +47h+SU4sbCwnf+JIbAYath+d6NQirtQyWVohYkEZUy4kAlZ0pUW8LayoIaJ2kuagaO2npcHuy4eQ +x1DelDu1i0xMSV8iard7I0GWqZumLP6b9wg/0Wkf+D0dounLQ8y4xvlsiib4vMfpQ0nzGc3DfH4x +/xn7pY8PzWQknpavEAki/0atFV8iLr/8cuOfRbnwXJr5SeZoEqQmmn8baPRtMq+/dBqbkqAklyaJ +Ah8Olg8LbzLLn4ZvI5ZTHjdxkiMSI6vRHMPz6QDJf/PhxY2JxIMRW5bGgBsqHzTRJIgPC163L20F +3+A5FkZm0H+Db09887NCpflWyYcR7fB0UuVDlaYRPkyZe4fEyXLm7el6lgkhWkvDBw4f8HxrpaaF +qnK+iRGf7uPlsXzwcNO3IuWs6DGL7HCT5sbJBx4f6NxM+IAjHtQesdGcxQcoH3gkTZxPbw9laxx9 +ZdrmvEiSetI+dceB8uX8/vznP5sHK4kDSQqvz7dL+h8Qb/oo0PeB8+JGyNBd+jpEb0Tc3Jjsjx/K +n0SIb7XRIfLE1vKb4MbBKDaSam4EbNZmZq0xEifLKd/yvSAp4hy5NiycuRF1x4RrmeYO4szx00eH +jePnerKiy7iB0KGVcyep4Xz5d765W5oljoPaB94T/J6klSTIKm/B63fX+Fj1wGLRyPX0mOhJjlxD +lG201sW6h6N9a6L76+3v0QTEOp79WzIgFhY2lnmahJj+VdHYWGuquybI0uawb5IO9sFnBdcciQyJ +N8dg4cPnB9cEo7woC/ZHDEmmuYZ4L9NPkeScEX/0s+H9xeO4RuiTRs0LGzHqTqC4Znlf8/pcG/Tt +YZ/RmqbucqCJlGSdffM+7uklhf1QM8OXACv1RV+PfT43LDJEJ31Gd1GrFB1NxucEI/D4TON9RI0c +zV98GeXzkEEM7IfPQK5dmnvptN9fIEmSb0dpOTwlQUkuVj6Y+ECLfsvnWzFVtozCIIHhQ4oOgXyr +j77J+ICkcyhvZDqA0kTDjfDTn/60iV6g0y3fbriR8u2aG4fVSKj4MOrLEZgPKhIZ9vvPf/7TOMLy +gUdyxA3aGgvf6Egk+ABl45z4wGC0itVIlrpfj9oJPlSjc/JQ88H0+Xzb4vgtkxPfTLufTw0Bo22I +E0kX58IINT6co98COVbiS1U6j+P1/u///q9Ls8H5WPlb+CbcV/JJPvQ5r740IMScRLSnXEPd58GH +Ok1dfOukpoOyJkmxwm35YGZNJc6R5MMqLsmIIis8vaclzo2KWp5omUcfR8Jgmc0srRvXDucW3S/n +YK1Fi/xwfdIxOHrNkiD35GtB4h09fis6jpuIpW2gszu1A5w/G+fOdUYzkNW4UZIAcR1Shlx7JFFW +8ACv392vihowrt3BFoHl+uRco+XIjY+YRvsfUYa8h3tLSsl1ybXb/e8cc3fixv55rPV9d2ysl6Bo +bCgv4hCtHaIs2Y+lvaMcaHay8CPZJ340j1prmU7TbLyneB+ykbDSR4jrj47IlDGDAPh3Eg82rlkS +byvZKLHhs6l7WRi+oJFIM7qLjX+n43JfKTiIEe/VvrLH816jCXyg2euJNZ+fvOd7yj/EMfIli88U +mh+5jvg8Jim08k/xPEbE8XllkdMk33JG3fCUBCW5yPkgIGHo3qjZ4UOqr8YHEqN0rKgk61jemFa4 +dW/nW2Gn/cHDhzEfsNyAemt84HLj6itPBrUd3W3r3Dy6F6rk9awokOjrMcqkpwSBfIDS2TK6db8O +++SDi5+eGh/ajPCIJZ8MSRk3k74aN2MS0Z5aTzjw4Up/BH56atw8B1MYlPPqLyqKY7XIAzcahlh3 +bz1h3P0Y+o701rhJW6H0PR3D+VPT0FNSx+jjuSFSo9RT6568k8eQOPWlZejeDwladLFYrk9qDKJb +T/cb5dPTPWydR8JBTUN047V6wqx7/7FgQxIfHb3H6/AZ0P35QRLC1AbRLRofhvnzeUTyHN1IMqjd +pVaIa4r3O18sevOD4bVJmLo3kjRqHC2tY09y7G7mI4HsL2JzsCTXun4smaYtwt6TzKhBS7UyM73e +rGn4ByVBaShUnZIioAjEFwFqnuh3RW0mtSY9RcTF94rJ1xs3evryWYkrOUKammiepTZkKLXZ+pst +TXf0HbOyt/d3vP5dEYgVASVBsSKlxykCisCoRcAyydBnhhrD0UiCaOKkNpAmMxIean6oxaMWi1rY +eEfZRS82ElD63dAkR+fkRBKuUbvIR+nElQSNUsHrtBUBRSB2BGgetvLVjNYNmGY9JhW1sjlTO9ZT +8sTYUY39SPq+Mau45Qg/0Oi32K+kR442BJQEjTaJ63wVAUVgwAjQR6c/35MBd5qiJ4wEDtQyxZqe +IkVh1WGPEAJKgkYIeL2sIqAIKAKKgCKgCIwsAkqCRhZ/vboioAgoAoqAIqAIjBACSoJGCHi9rCKg +CCgCioAioAiMLAJKgkYWf726IqAIKAKKgCKgCIwQAkqCRgh4vawiMFIIsMwAC2Yy0oZlBJj1ONUa +k/Pdd999poQES4iwHEP3jNCpNicdryKgCAw/AkqChh9zvaIiMGIIsF4T64Yx3woz/Vr1pEgmWJOL +vzNrdXdCwaR4bAPJsJzISVp1q1gChXXeWC5CSVAiEde+FYH0REBJUHrKVWelCPSIAMkDw71ZVZ6V +r63Gwo+sAcUaSCxV0r3EyT333GPOY82nRCbFi1VsLAzLulKsyfTss8/GepoepwgoAorAYQgoCdIF +oQiMMgRIYrpXsGelcWYD5ufxxx83GYCjq2YzNwxJULK1nqrDJ9sYdTyKgCKQvAgoCUpe2ejIFIFh +RYCZkKkheuSRR8znf//3f/u9/p49e8wx1DCxuGZ0Qjun04nW1lZQa8PK6jTB8e+szm2dw/NJylgQ +uCeSRd8fmuo4Nlbs7q+xijc/9HXqXqXcOpe1rugTxWNYvFSbIqAIjF4ElASNXtnrzBWBwxCgv9C0 +adNw0UUX4a677sJpp50GVmbvqW3fvt04Jq9du9aQGNaRYk2nT3/605g6dao5hX+jGe2MM87AK6+8 +Ap7DMgsf/vCHsWzZMtx///3m+1AoZCqTk3SxwjgbNVMPPvig+Xg8HvMdK3GzbAPrVfXWSGpo0mOF +9BNPPBHnnHPOEeSJ5Oipp54yx/C65557bhcx0yWhCCgCowsBJUGjS946W0WgVwSozeHn7LPPNpog +Fsr81re+1aOGpqGhwWh1fvOb3xgtjcvlwq9//Wvcdttt+Pa3v42srCxDeOrq6ozfzhVXXIEvfOEL +ePLJJ00hzEcffRRHHXUUbrzxRlOJ/Pe//70hK+973/vM+HgOx0BSRSJGYsNj77jjDtMP+++pscL7 +ddddZzQ9HP93v/tdLF++3ESPWeSM17n++utNRXKSNM7x6KOPNpohaqS0KQKKwOhBQEnQ6JG1zlQR +6BcB+tiQ3LBI5h//+Ee8+eabYPHQ7o2V1Plhs4pakki88cYbxt+IJIUaHpq4rrrqKpx88snmWBIs +OjIzyuyaa64x39E89vzzz4ORXmzt7e3md5KSE044wXxHDQ+JzL/+9S/QRDZp0qRe50LN1KJFi8yH +43/55ZcNQVuyZIlx+GZfHBcLovJD8xiP+eUvf2k0VNSElZeX94uVHqAIKAKpj4CSoNSXoc5AEYg7 +AqeeeqohIjSLLV68uIvUWBci8SHhufPOO9HU1GT+TrMVzWlWIwmiecvyAeL3dLAuKSk5wvyUl5cH +EjA2+g7Rn4imMGqDrEbfIF6HprJYG7VN1AD94x//MJohEqPufkA0s1E7xGPuvvtuQ4SUBMWKsB6n +CKQ2AkqCUlt+OnpFICEIMOcOQ+h/+MMfYtWqVUY7RBJihccz4eItt9xiNCuzZs0yY3jxxRdRX19/ +2HhIhOhr1L11JzKW1ojH0b+In1NOOcWE5Fu5jHhtkqhYnZlpsqPfEs1ehYWF+NGPfoSFCxceNhQS +Lh6zfv16lJWV4Sc/+YnJn6RNEVAERgcCSoJGh5x1lorAgBGgBoiOw9TG0L/H8qkhKaFD85w5c4yp +y2q7d+82pqqhttLSUkO2SEosc9hA+mTOIzo+80MfIZr2qNmKjj7bu3ev8U+iaY7zos8SHamTMQ3A +QOauxyoCisDAEFASNDC89GhFIG0RoDbG0rpYk7zkkkuM4zA1PCxPwUaCUlFRgdWrVxunZpIW+tSQ +LEU7FrMv9tm9WQ7Y0d9Hf8foL/oQ0TRFDQ79h3jNrVu3YteuXYZ40Rm7p0aNDn2ZaF77yle+YvyA +ujtRv/322/jzn/9szHKMECPZU/KTtstaJ6YI9ImAkiBdIIqAImDIT3cCRFhIaqhJ+etf/2p8cSwn +aJIjmpu+853vGPRIVOgoXV1dfVg/vRGe/ojRBz/4QdPPrbfe2nVdJnLkWPoiLCQ/H/nIR/rUIOXn +5+Pqq6/ucuxW8SsCisDoRUBJ0OiVvc58FCPQvfQFtTw//vGPe3QIpt8PnYXpj2OdRxMSCdDBgwcN +WWFCxOzsbNTU1Jjj2Bh59YMf/OCwvD5FRUX45je/CRKR6PapT33qsN/Zx8c//nGT58dymKZWqLKy +8rDjuhMi5irip69GM542RUARUASIgJIgXQeKwChDwCo+Ss0OSQQ/dHzuLeycpqee8ueQ9FgmMgtC +kiGrkeh0JzvsKzpazDq2N2fnno7lOdFzGGXi0+kqAopAHBFQEhRHMLUrRSDZESDhIRFhRBSryTMZ +YU95gJJ9HnTCZl4fVpCPDstP9nHr+BQBRSC5EFASlFzy0NEoAglFgE7CV155pSllwWZFfCX0ogno +nI7Z9Bti+D1z+lArpU0RUAQUgYEioCRooIjp8YpAiiPAPDipnguHvkVWFuoUF4cOXxFQBEYQASVB +Iwi+XloRUAQUAUVAEVAERg4BJUEjh71eWRFQBBQBRUARUARGEAElQSMIvl5aEVAEFAFFQBFQBEYO +ASVBI4e9XlkRUAQUAUVAEVAERhABJUEjCL5eWhFQBBQBRUARUARGDgElQSOHvV5ZEVAEFAFFQBFQ +BEYQASVBIwi+XloRUAQUAUVAEVAERg4BJUEjh71eWRFQBBQBRUARUARGEAElQSMIvl5aEVAEFAFF +QBFQBEYOASVBI4e9XlkRUAQUAUVAEVAERhABJUEjCL5eWhFQBBQBRUARUARGDgElQSOHvV5ZEVAE +FAFFQBFQBEYQASVBIwi+XloRUAQUAUVAEVAERg4BJUEjh71eWRFQBBQBRUARUARGEAElQSMIvl5a +EVAEFAFFQBFQBEYOASVBI4e9XlkRUAQUAUVAEVAERhABJUEjCL5eWhFQBBQBRUARUARGDgElQSOH +vV5ZEVAEFAFFQBFQBEYQASVBIwi+XloRSBsEQj6ZShAIeeVnhnzC8m9Pt+mFEeZ3Yfmb/D0jwwa/ +rQotXod8H+o6zZaZgSz58Cir2W0ZkK/MdxnyX1bn7zxWmyKgCCgCg0VASdBgkdPzFIF0QiAsJCQs +RCbQhnCwHfA3y78b5dMhv7cJv5HvAs7IMUH+FLITdJuf4YD8LeiSf/vlZ4egkhkhRPz+sCYkiP1A +riWkJyunCLuL/4I/rZ0Dl6ctQnyE5ZDg5GRlHkaCcuyZXSQoU0hQjoO/ZyBXfmbLsfy7+ci/eb5D +ftrl45B/Z9syUZRrQ7bDhlw5piQ3Czb5XulTOi1gnYsiMDgElAQNDjc9SxFIfgSodRFSQ41MONAk +xCbyMf927xWeIn/zHZLfWwFv9bukJhyIaHGo1QkJsTEEKcJdTOPPaAZh/bs7q+iLZRiVTiv8fjca +OwJwuv2GBLEZPZHRFr3bIt91KYsiyiQ5MiQ/o/9GzRC7yeRP4WI2IUokS46sDPBv/JAI5WfbUJBj +Q2F2lhCkLPNvkqjyfLv5G0mURaxIoBxCpLQpAopA+iGgJCj9ZKozGi0IkKSQwPgbEXZvl58NCHv2 +i3Jmv9HgwFcjP4XwiJYm7KuT30ULE7En9d56Ijc8mt/H82nBcWQ6xCQW0dyYz2GmrcHpaSzuFKFQ +QpKEJQXlp08UU11/k39EU6xovmVpoqhdys/OFE2TDWVCjPJE41RR4EB5oZAk+W5ssQOFOVmGNJFY +0VwnXEubIqAIpBgC8XyspdjUdbiKQAogINqasLc2Yo7y7DOfsJefg6LN2YWwS8gPzVAhMUfRr4Za +Gktjw005+mNLgfkOcYgWEYnwEfl/j8Skb7ZCIhQIhtDsDImWyo+9DR7ROEVoE01swneMCY7kh0TJ +kCEhSGX5Ea3SxNJs812pEKQqIU3qtzREoerpikACEVASlEBwtWtFIGYE6EtDjY5nb4TYiGYn3L5O +vqsTLU69EBvxw/FSqxNFbDr3eWu/Nz9JdEYB2YkZ10EcSCKVQTPaYcBGOiIXoh7JGwgZbVKHN4ia +Vh+21bgi/FMOoM8STWoleVkoK7CLBsluNEYTS3MwtsRhfo9omlRQgxCPnqIIxBUBJUFxhVM7UwT6 +Q0C2SjFNkeiEnesjxMe5RUjPToQ73on44dAHhzuqZbqK9rmx99e//j2RCBiCdISG6XDNEsXmF01S +TZsXB5vFH4u8lCazTp+kPBIk0RhNLs8xvkiTy3NRKoSJJKlSNEfaFAFFYPgQUBI0fFjrlUYbAjRT +kfCI03G47XUhPluB1leNH09YHJLhZZSVgGKZrKJ9b1VJkLKrheI0TtgUbKccIxokUeTJP1rdATS7 +/NhR5zZaJWqd6HNE36OqIvE7kp8zqvIwrSLHaJNoYqPmSJsioAjEHwElQfHHVHscjQgwZFxCyMPU +6LS9Brjkp3ubaHk2iJZHHJUjqXHebfF2NB6NmKfQnCMaJLZI9Jr5LYogBYJhHGqh5oh5loBntzRL +uD/JkWiIyrIxuSzHEKTxJdnG56hcTGraFAFFYOgIKAkaOobawyhEICROyO3t7ejoEOKTkY3xeAgZ +e36EICOyJOzb+O7w5Z0fbnr6Ij8KV0lsUyZBYih/tAO1cc6WyLYWSR3QsM+Ht/a0dTpi21AkJrQp +FbmYRW1RZa6QIzpgO9QBOza49ShF4DAElATpglAEYkCApKejowPNzc2ora1Fa2srWlpazHdZ9hzM +nT0Xyyd8ClkHf4WAV0iQI4ZO9RBFoBcELN8jao268icJMfKJQ3Ztuzhjt/nw2s5WE5rPKLQpoima +MSZXfIocWDShwJjRNCpNl5ci0D8CSoL6x0iPGKUIkOiQ9EQTH7/fD5/PZ/w4bDYb7Ha7RKb7sWHT +DrS5z8CKqXNR0vA9BJvWIGxpgUYpfjrt+CLQpTGKivunxqhJwvhrW714Y3ebSQpJU1lJnl18inKx +aGK+IUbUGGkao/jKQ3tLDwSUBKWHHHUWcUCA5Ka+vh7V1dVGy0MSRE0PsxebkGlJQcyfDsfhap7I +92Hs371BCNMEHLvkZkwsuQmhvX9EiGYxdXKOg3S0i54QIDGKJJu0dWXarm/3o040RVsOOfHYO/WG +EM0Zm4e54/INMWJUGqPRtCkCikB8c8AqnopAyiHQ0NBgCE9TUxMOHDgAp9OJQCBgiA81PVlZsW0W +JEdZWTY4Ww5g1autWLjgM1gwfRrsB3+BgEuyNSsRSrm1kWoDNkGGJOtmrb2r93FJuuw3drUavyIm +eywVUjRvXJ5oLYuMw/UEcbTWpgiMVgRie8KPVnR03mmHgMfjgcvlwr59+1BTU2MIEH9nI+mhVocm +rsE2m5CmkESJrVu3Du2zz8fyyVORf+hrEhW/R4nQYEHV84aEAH2KsqTUhwnTl/81tPvwTIsHz29t +MaYyOlbPEy3RsimFGF+cbXIXaVMERgsCSoJGi6RH8Typ3aHGZ//+/eYno7ro6MwPiU9389ZQoSKR +CoeD2LH5DTQ3TMTxS+5CRe63Eax5ViLJpHeNFBsqxHr+IBDocrYWjmPMZ0KKGjp8kvHaiw0HO/DI +unqMExK0eFIBFowvEPNZnoToKyEaBNR6SgohoCQohYSlQ40dAfr30LxFbQ8/JEJ0ara0PSQq/Hei +Gs0SdrsNjfUH8OwbVVg87wbMnXkvwvv/JGH0UgdMiVCioNd+Y0SApIjRZfyYRI4Skr+nwS1JHF14 +Yn2j5CfKwZwxeVg5Tcxm4kdULEkbtSkC6YaArup0k+gonk8wGDSOzZbGp66uzmh7SHj4ibfGp3+o +SYSy4Gqvw5trXGid82Esmb4UOfu+InkVJWO0Ro/1D6EeMSwIWP5EjC6j2z9zFJEMba914enNTSZJ +4+JJhVg8sQDzx+cb4qRNEUgHBJQEpYMUR/EcSHJIdkh+du3aZTQ+bre7y6k5kdqeWGGnc3VYqrxv +XL8OjY1TcdTcu1HZ8WMEDz1lTBKqFYoVST1uuBAwZT8iqa1NUdjdRkPkxpMbGo0j9SIhQ8vFh4iO +1VoIdrikotdJBAJKghKBqvaZcAQYzXXw4EEcOnTImLuoBbJC2LOzky/aJSNDNFH2MGqrd2GVcyyW +zvshZk2dLuaxv8jYlQglfMHoBQaNQKbYzbJFQ8TGwrA7RUO0rUbC79c1YKrUN6N26NS5ZRhbrBlC +Bw2ynjhiCCgJGjHo9cIDRYCRXVYeH2p9vF6viXahpmUoEV0DHcfgj4+Yx5xtNXj1rVZ4l38Zc2bM +gX3v9xHwtGr02OCB1TOHCYHuGqKtNS5slnxEz29rEWfqfKyUsHs6VqtD9TAJRC8zZASUBA0ZQu0g +kQiQ5DCaa+/evcbcxZB2an1IfGjqogNyqjWOPRTyYvWbb6Bx5qk4esYM5NaKeazuDYR5R6belFJN +BDreOCBADVGOPeJUzazVz4rv0KqtzZg7Nl9yEBXiqKnFmCDFX3U5xwFs7SJhCCgJShi02vFQEWB0 +19atW425i5FdbCQ+yeDnM9S5GdOdELxd29YJsZuOlXN/hQmO/4dQ7QNCkKR3jR4bKsR6/jAhQJLT +lbVaGBEzVW8Rc9lDaxqM39AJM0swf0I+cu26qIdJJHqZASCgJGgAYOmhiUfAyumzbdu2LvJDU1eq +an36QswKo2+uFz+h9lIsW/wDzJ11PGx7JKeQ26P53BO/3PQKcUaAitlsITt0+Pf4g1i1pdkUeqVG +iGTopFklpraZNkUgWRBQEpQskhjl42Cdrp07d2L37t1d9bpGJqx9uAXBchtZkjuoBa+/uRaNs07H +8qm3I7/2hwg0rY/4Cak9YbiFotcbIgJWsddcR4bJP7RLIst2y+epjY04TZyoT5lTYrJVa1MERhoB +JUEjLYFRfn2Gt1v+PtQCWckMU9HXZyiizJSCTxlhibzZ9g46XPOwcvYfUZnzI8ky/YTxuVAiNBR0 +9dyRRMBypuY6rpPirv947RBeEN+hY2cU40TRDDERozZFYKQQUBI0UsiP8uvS34cmL/60wtuHP5lh +cgnBKsJas38TnmkuwzHLfolpkychtF8q0ms1+uQSlo5mwAhQoekwGaptONTqwwNv1eG5zc1YKn5D +Z8wrxWxxqO5MTTTgvvUERWCwCCgJGixyet6gEGCIO52d9+zZA5a2oL9PaoS3D2q6gzqJYfQeZzNe +fmML6mddixVzViDrwM8QaN+rYfSDQlRPSiYEDBkyeYcy0OoJ4BmJKntNqtzPlhId5ywowxLJTE2/ +Im2KwHAgoCRoOFDWa5j8PiQ/rN7O/D70gxntmp++lkVWlk2q0buwadNGtHUsx4qZt6C09msINr+N +sJbb0DsqTRCwapf5AyGs3deOd/a3Y8GEArx3eZWQoYI0maVOI5kRUBKUzNJJg7E1NjZi8+bNxu/H +Ij+q+YlNsJEw+hD27d6EtrZxWLHoVkwp/p2Yx26WMHrxsNCX5diA1KOSHgHLb4glOkiEWLOMhVsv +XlKJ6VW5ST9+HWDqIqAkKHVll9Qjb25uxpYtWwz5cblcxuSlmp+Bi4x+Qg6HDe2ttXhltRvNsz+D +xTNnIWvfDxBwOTWMfuCQ6hlJjAATMObKemdE2fMSXr/pgBOnzy/D2WIm09D6JBZcCg9NSVAKCy8Z +h87sztT8MLszyQ+jvZT8DFVSkWKWPncr1qzdCNf887F46iwUVF+HQOs29RMaKrx6ftIhwPXOwqxt +4jN0/+pavLStGaeJ8/TJs0tRVaSh9UknsBQekJKgFBZeMg2d5S2o9Vm7VnLdiAlMNT/xl45JHyA4 +b9mwGi3NM3HMgttQXvgrBA/8C2H6map5LP6ga48jigAzUdvkUy9lOf7xWo2U5WiRSLIynCXaoYIc +JtHSpggMDQElQUPDT88WBFjNnaYv/gxJzYdkrOKeLoKyzGN1h3bgqfYqqUZ/HWZPmwZb9W8R8PpU +K5QugtZ5dCFAfk8H6ix5CaiV0Pq/v1KNNXvbcdnRVVgoTtTaFIGhIKAkaCjojfJz29raJHppk8n0 +zArvNHsx6ktbohGIZJn2uerx2lvtaJ17pfgJHYPc/V8V85iE0asIEi0A7X8EELBC66WIDjYd6sDP +HnPhrAXluHRlFQrEdKZNERgMAvq4HAxqeg62b99uTF/0AeKGrNqf4V8UkSzTXmzY8DaaWmfhuAV3 +oyT/xwgceixiGtNyG8MvFL1iwhHgss7OyoQ/GMZj7zRgqxRrPW9RBU6aXZLwa+sF0g8BJUHpJ9OE +zog1vtasWWP8f+gHpE7PCYW7384zMjKR7chE7cHteNY9CUct+Tkm5U1GaO9fJMu0lKNXP6F+MdQD +UhMB+guxUOuWGhd21e/HhoNOXLi0AhNLs1NzQjrqEUFASdCIwJ6aF2Wyw/Xr10vOmjbj+Dza6nsl +s9SojWtr2o+XXm3FwoWfxfw5y5C18ysIuNvVPJbMgtOxDQkBFmrNlezSDKl/alMj1u1vwweOGoNT +55SaiEptikB/CCgJ6g8h/TtaWlqwceNGU+sr4pirIarJuCyMn5C3HW+/vRZ1U1fguBl3Ia/+pwjW +v6JZppNRYDqmuCFAwpMrn0aJIrvp+YN4WxynP3TMWNUKxQ3h9O1ISVD6yjYuM2t0+vHK62+h7lC1 +UT3bhAQFJQKMSc3YVBsUF5jj1gnD6MPhIPbvWi8JFsU8tuj3mOD4KUKH7pPIPbmMmsfihrV2lHwI +OMRXiFmnX97Rgv1NHlx1wngslwKt2hSB3hBQEqRro0cEwj4X3G/cD7S3YEluFTwLp6AtIx9Olwet +7R3ocLlN9fdgwIeQ3yc+uEKM6Kgr5EiJ0cguKqsafXPDXrz4RjuWLP4x5s0+Bpn7bkDAWafmsZEV +j149wQjwBS1fsk5Xt3jxu6f34bzFFcZEpsaxBAOfot0rCUpRwSVy2KGWQ2i9/3p4Nz+HTFsWCgvL +UZJXgrEF5QiXTUWwZBJ8E8bDaStAszuI1nAuvMEMdLS3wd3RZoiRqXtFTRHCSowSKaw++qbfls/T +ijfeWC3lNk7HyhlT4Nj/LQRatmv02AjJRC87fAgwgszlC+Hu12tR3+4z5rGyfPvwDUCvlBIIKAlK +CTEN3yD9u1ej7eEfIrB/AzJzi02Ytd/jlJw07cio34uMPWsMsbHb7PJAKUFl0VhkVE5HsGg8OvLy +4BozCe7sMjS3dqDV6YbbJ9qiYAB+r1s0Rl5jRiNB4kdb4hEgzqGQH1s2rxPt3VwsnX0XqnK/gWDN +syJFw1K1KQJpiwAjyDLFV+jZzc3YXe/Bp06dgJlj8tJ2vjqxgSOgJGjgmKXtGa5X74LzmT8i1FaH +jNyid+eZmQWJxDaNG6fZPMXuHmxvhq+1HtjzttEY5eXkoTCnCBnFYzAlv1I0RhMRGDMLbeFstAbz +4MwsgNMXEF+VVrhdHQiLk0pEW9T5U01pCVlbJEIO+RzcuxltreOwcvH/w9TpdyK85xdCUOWSmmcu +Ibhrp8mBAIPEqBXa0+jGjx7bjQ+sHIsz55ea77QpAkqCdA0gLOYr55M3wrnqr7IhSuh7dn7/qNAx +WohPhnxgzzE5gwL+IAK+BqBV/E5oBguH5JBsVOSXYlxxFTLLp8KdVwlPYQV8EycbH6Omtg4pkhiE +aK3hdbukSKhURhfNkdEW2eTT6YDd/4D0iP4QoHnM2VaDF17rQN3sy7FkxjRkH/oRAu3VSoT6A0// +ntII8DFizGPeEG598SD2NLjxv6eMh0OeMdpGNwJKgka3/BFsPoj2R34K7/onkOHIFV+RQaoF+JQx +hOXdh4rRGgkRCrU3wddSKxqjdUKK7JLXIxsFuYUoK6jE1OLxyKiaAXdOJVoKHHDaJ4jGKF9MNy60 +trTC4/UY81uYKguJejKao06T2igX3aCmbxPSGg65JMv0JrRPW4GVc+5Dcd3XEax9GWGKXs1jg8JV +T0oNBFiDTNwX8czmJjETh3H1SeO15EZqiC5ho1QSlDBok7/jYOM+tN33TXh3vobMbClEaNm84jl0 +9ilvW0ZjJI3hqyEhNAEhRmgVrdGBDcAG0RiJBmpMUTnspeMRyh8DX14F/BXT4C4QUhTKQkfQJjlA +vPCKtskrpjSPs102c9EYSf+0+VsRaRqZ1r/wmGXanhXG3l0bJfHlJJyw8hZU5f8ewf1/Ep4Z0DD6 +/iHUI1IYAeYUyhYi9NyWZtR1+PC5MyahqlBzn6WwSIc0dCVBQ4IvdU8ONu4VAvQt+Ha9KQRI8mgM +l9nJXIdaIyFHUZpokiNvWxO8zeKPJJof+hg5RGuUI+SsNK8UWWNnIiSRaT75t6uiCq0ZVXBCNEfi +fM2QfadojriBMzItHApGSmepA3avCzSS9NKO1qYDeOYlF5Ysuhbz584Fdn4XAVejhtGn7q2tI48B +AZrZcxwZWL+/Az9/fA++dPZkSayYE8OZeki6IaAkKN0kGsN8/NUb0Xrnl0AilJHNSIkksIHQKVq0 +QfRJ6tIYiboarjbA2Qzvoa0RciSmtKKiCiFGJQjnVyA8Zg4CZVPgHCvkKCMXrYEsNHtC8Ih/EcP1 +PS6nMcnROZIPPtUYHb5ATJZpdzNWr34LzTOPw7KZkmV63+ckjH5bxE8oCZZGDEtaD1EEBowAl3a+ +VJ/fJVFj/+/JfaIRmoypFUqEBgxkip+gJCjFBTjQ4fsPCgG6/bMISp2pjJwkzqTapTHiDCUJo43q +ajGlUWNEM1pzrezPW5Cx/RVDbAqEHBVXTsOk8skI5FfBLyH7nsoJaLVNRIc/jHanBy0d4njt9SHo +98Dv8xrNETMsm5xGw6UJG6jAhuF4YhAS0+L2revR2DQVxy2+TVIf3IjggXtMlvDEZplWljUMItZL +9IFAnhQgpqM0idCVx4/FyqlRkbGKXNojoCQo7UX87gT9+99B6z++KAToQCQE3uxwqdQiztcZjOjo +1BiJy7QJ2aefkf/gZmDvOolKE42ROF4X5BejSCLdwqWTkDF2Lvxl4+HLrUCLvxgt4Rw4AxlwSoJH +fjxut3Qt5xk4JLKNSpBRFLIfyd0URlP9Ljz9ahmWL/ku5syYjvA+IUOSPTzuYfQUWoYDeXnFyLKJ +DFNtKabSbaNj7ReBHLsNB5s9+Muqg8g8DVJqQ4lQv6ClyQFKgtJEkP1Nw7/rDbTc9eVIDiBqgNJm +1+nUJJCwSDg++CEpEhOYt61RCJFojep2I2PL84YcZcumO75sAiaVTgCKJ8CdPxbukiq4HOPQ4Quj +sd2JdgmjDQQkwaPHLZojt4lKs3X6F6W3xigDlnnszdUb0LHgKiyesxL2g5I8s2GtpELob5UN9O80 +T4qWb6Cn6fGKQAIQyJZq9M1SK/H2V2pQKY7Sk8rUNJYAmJOuSyVBSSeS+A8o2FpjymCE5GeGJDPs +THcY/wslU4/ieG00Rp3NSvIY8okp7OBWYN96o+mx5eSjUPIclQg5CkvI/kxJ8BgaMxduewlaAjno +sFWKr1GOCdfv6GgXMxrrpElvQrKYB8nSFqUTOTJFWEMevLPmFTRPX4Sj5/0NRbnfR7D60UiizLim +VlEVUDLdNqN9LCRC+6TwKk1j3zh/qkSsatRYuq8JJUFpLuFQez3a7r1OnKD3dfoAjfJNh0VemQtJ +fIhIBoPifB30uOB3dwAN+0WF9KbRTOTSnCY107JKxplaae7sUvjHT4Inf6oJ1W/x+OESc5rP6xXn +6w5JEukx3CA6wWMqEyOG0WdlZWDfznWS4Xsyli7+LaZNHYvQ/tvE9Khh9Gn+2BjV08sVIrSr3o0/ +PLsfXz1nirwA6DaZzgtCpZvG0g373Gh74Lvwbn0BmUYDpO1wBDoTPBp7zLtJIkkTA34f/A0HxJS2 +R7Q9rwkhcJiQ/UIpIltZyOzXkxGsmIm2vHy0lxfAlS0Ran5JfSQlQdraJYeRyYcUiOTd6dQYpZoD +diSM3oHWxv149dVWtC/8PObPXIqs3dch4BXSOMi8mroKFYFkR4BRY+sPOHHTC9X49GkTkSvO09rS +EwElQekpVzMr57N/gnfj00KAhjEPULrgaWmMJBeR0RgJMwqKnxCapMREo5Cjna8bjRIzX5cUlMEm +PkaBgjHw8zNlGtqlTlqrD2iTkH23pKj1ibbJ2d4Kr/gZRUL1UydkP0vKbQT8Tqx+a52E0R8t1ejv +RX7d98RP6A2tRp8u613ncQQC1Ai9tL0FBTk2XHOK+BBqS0sElASlpVgBz7rHpRbYTeIsLM59icgE +naa49Twtaoz4F9ZL63wjFAdsUy9NQu0jGqO9kczV4kCdLX/Lkai0saItyqycjkDhOPhKytE+pkrI +USFcUkS2zSllQcQJmz5GIb9XHLFFjcR8RknqgM1x2TNC2L1TirC2TcbREkY/pvAGBPfcNgxh9KNq +selkkwQBvqg4xCT83JYmjC124KKllUkyMh1GPBFQEhRPNJOkL9/m59D+8I9E28BQchVxwsRi6qV1 ++hgZfRE/kbIgcLbA1yaRaTveMMQmK7dAzGjlqBLn63DRWISrZsM7cSJcKEW7JHls9mWiw+Mz5UCc +Yk7zCbligsdIqH4kXN/QsBHMZ2T8hCSMvqF2N557pRUrV34X0+csReaeH4pflWSZVvNYwpaadjwy +CLDERkD8Bu96rUaKQGfjqGnqVjAykkjcVXWHTBy2I9KzcYQWAhTqaJA0LDFUgx+RUabzRS0/I4lO +y5TbS8LKjcbI7xeN0UFk1IvztSE3jws/lQSPEpVWIUkepxVJgkcJ1/dXTIVzwni0SR6jDq8frZLk +sd3llVw9bhOyH2R0GhVSEsE1InmM5OKsRu91t+CVl19H07wzsHzOVGTtux6Bpo1abiOdl/YonVuW +ECGPP4T7V9di9tg8FKujdFqtBCVBaSRO1syiH1CwQSLBxByjLUkQ6KYx4qioNQqK+SsohWR9LTV0 +OEKmOF5n5RWhzJGHMqmRljFuLsJSL80/dgycWRKyHxJyJMVkXS432tta4ezoMM7XDNlnuL6lKRoO +chTJMu3Dxg1voal5BlbOvx0VjusQqn0KIVO4LUmw12EoAnFAgKHz2+vcuE+I0MdPHG/8+rSlBwJK +gtJDjmYWvi2r4Hr9XtEA5Q5fQdQ0wm/Yp2LMlcxnFLkNjcbI60FAnKjRWg9Ub0aGEFv+vVgSPJZL +uD4KKyVkfwq8VVPgmiyh+5J1uandg2ZvEB6PV+qASWkQOT8o5jSbOG5bfkqJeGRHot3CqDm4E0+3 +VuDoJb/EtJn/FPPYTyFVONQ8NuwLSi+YKAR4/9A/6KkNTVg0oQDHTC9O1KW032FGQEnQMAOeqMuF +pMgoHaGlMJbcrSyKqi3lEOjUGHUP1yc58jYdgtfkMQqaIrJZDknwKOa0UolKm1g+BaEKccAuH4tW +iBkNJaI5KhQHZqd82uASYkTvZWoKyU74QI9XuD61TllZNnid9XjxtXY0LrgCK+fNQtYuiR7r2Kfm +sZRbhDrg3hCwyVr3hkK4541azBoj2tr8uKdQV/BHAAElQSMAeiIu6XrmT2BpjAwJ2daWZgiYkiAM +1Y9krzUaI4bri58RnJsk+/U7hvxmSvbrsqJKVOWXIKN0IjyOUgRKpKDstFmiKZK6YE4f2gOZ8AbC +cIsDtleSPBpSJT4PhhR1wjYY52ubaKtoHtu0YQ3cnpVYMfMe5Df+FIF9D0eIUCJUUWkmZp1O8iNA +sxgTKd63ug6f1LD55BdYDCNUEhQDSMl+iH/vGrje/rfskWIG090m2cU19PEZf4TO0DFmv+4kR6Ze +Wkud0Rph30bJXm2TaK4sOIQc5eeXY3Kp+DJUzoArbxzac3MkweOEiMaovQPNrRKRJgkiwxLZFpRw +fSZ5NLmMOkP2Yxk0jyVB27FltWigZmLFohswbvZ0hHb/RggS1U+x9KLHKALJjUCOJE5cJWHzSycV +illMo8WSW1r9j05JUP8YJfURIXcb2h+7AWFXqzpDJ7WkhmFwVr00W0RNz3B9k+TR7QRcbUDNdmDT +c2JOy0F5frHk+SlHSIrIBvMrjcbIWzwZrX4pIukBOsKSIDEYMgkeXVIzjaY0OoNaYftkSD1pjCJZ +pu2or96OVW1NWLDgc1g8dxoydv8AQZeG0Q/DKtBLJBgBmsUYLfbw2nrMG5+PIkmmqC11EVASlLqy +MyP3SlJEn2QvzszVN5IUF2UChm8lGuJDWj62iDnNaIw6JHu1RKZlHNxmyAwJTp6YUgvF8XqK+Bmh +YoaE7FfBNb4M7fbpcIUdaHN50NjaBq8kezQJHqVeGqPTDDnqpjGyS7kNn4TRr3nrVbTOPBHLp96C +/ANfRqB1pzpMJ0DS2uXwIuDIysSOOhfe2d+BE2epk/Twoh/fqykJii+ew9pbWPxA3G8/JNFD8uav +IZvDin1KX8zSGBlnnc5wfQbts5Csa5dEpW0VY9uzyBTn67ycAiFG5UBeGVA1E4Gy6fDklMGZUWxy +GTV7wvCI47WzXRywnaJxYp00huxLvxFNURDbtryD9vbpOGrBP1FZ/AsED97Lw7QpAimLADWiPlGz +Pr2pEcfPLDYaUm2piYCSoNSUmxm1b/srCBxYLyHxUhpDmyIwJAToANSZ/do4YUvmaxaBdYuvkFNM +rRANDjWOQqCyZb3li3/ROCkLEmZJEKmX5ps8WTRG49HhC6HNE0CzJHn0Sbi/X4hVRsiFA3u3oqWl +CiuX/xizZy9GaMcPpUqtOGZrUwRSFAGHaD+31bjw5u429Q1KURly2EqCUlV44qPhWf0AwgGv+gKl +qgyTetzRma/fHSiJEcR5OlBLjZGY0uRP1BjliPN1Xl4JxhaNQcaYOfAXjoWnRDRGjnFoDeXCKRFp +zU2NeHPtZrTM+RDmz5qFgqZfi21OqsxqUwRSEAHhQHAL6X9KtEGLJsr6d6hvUAqKUUlQKgrNaIF2 +r4Z36wvIsGtEWKrKMCXH3RmZliE5isBPl8aIztftQP1eYNsrJoN1toTqF0iSx3H5ZQiXjJc8RjPh +qhyLDn+N5DI6CQVzFiO7LU+CxpQIpeRa0EGDIfP0C9pW48bSyQWKSAoioJqgFBQah+ymFsjTgQzx +2dCmCIwcApbGiCPofBMWcmTKgkjIfUC0RcxFZJyvJcljrpQGyRUfNvv4ucAl38WWtkq0u3eqT8XI +CVCvPAQE6AvklQKrz25uwpJJ+SNa4HgI0xjVpyoJSkHxB6q3wLftJSnOyTdxbYpAkiJg+Rh1Do9R +acGOFuSUVsE270z8e1c2Hli3Bz4xldlt6lmapFLUYfWDgF2Y0DsH23Gg2YtJZeqfmWoLRklQqklM +xusVAsRq8RnZWh4jBcU3OoccDiLsc6N45nK4T78Of6mZjpfeOYSscAAOqZ9GzZE2RSAVEbAJCXJ6 +gli3v11JUAoKUElQqglNHFOD9TsjGX01O3SqSW9UjpfO+5lCgsqO/wB2Lvsibl0XwNb9+5EjBSlN +lulRiYpOOl0QoJucX0xiG6uduGBxpWYrSTHBKglKMYGFOhrg3y9h8ZL1V5sikOwIhL1OZBdXIP/0 +T+Pl8otwx4tNaGppl0garaGR7LLT8cWOALWZB5q8aJT6fBUFkaSk2lIDASVBqSGnrlH69q6V8OQd +SoJSTG6jbrji/0MCVDRtEcLnfgd3Nc/BI8/uFY1QALlKgEbdckj3CWdJTEBduw/VLUqCUk3WSoJS +TGKBfWtZRlwzRKeY3EbTcE2dMZ8TpSsvxP5jvop/bMvGmm074RDzl03emLUpAumGAF0TWGtvtSRO +XDxRI3ZTSb5KglJJWjJW/4ENSoBSTGajabhhvwf2rCwUnPN5vD7lo7jt5RY0Njci1y7ZqDUAbDQt +hVE3V4bL0y/I5Qtq4sQUkr6SoBQSVrBuBwJ1kqnXpmJLIbGNkqFKzXqPEznl45F37pfxL5yOf6+q +llxBXt0QRskKGO3TZCHhZpcfh8QkNqOKSWy1pQICupumgpQ6xxhoOoCwX2oxSf0mbYpAsiBgIhX9 +bpQsPAXOU7+GP+ypwsub95mIsGyptq1NERgNCFDTGZIoMWqCtKUOAkqCUkdWUsyyTYpO+mXEaldI +IbGl9VAZ/p5ls6H49I9jx4JP4rZ1fmzevR952Zkm/F2bIjBaEGBWdI8/hGZ3YLRMOS3mqSQohcQY +bqs3CecysvNTaNQ61HRFIOxzIbewBDnnfR3/yTkb9z9Xi452JwpytJBkuspc59U7Anw19QXDJnGi +ttRBQElQ6shKCm67JEmiX+vTpJDM0nKoDH+XunWF05fAddp1+EfzbDz9hpi/EESOVtJOS5HrpPpH +wCRNlAixZie19dpSBQElQakiKRkn865oiE0KCSwNhxoWc2xm2I/Soy/EgZVfwl825WDrnn3IsUv2 +Z/VVS0OJ65QGggBNYm0eNYcNBLORPlZJ0EhLINbry9u3qReWqSKLFTI9Lr4IhL0uOHLzUHTGZ/Hq ++Ctw+6sNaGiu0eiv+MKsvaUwAvSC84pfkKZySx0h6o6aKrISM1hEE6TOpqkisrQZpzzRQ14xf02e +j4zTv4T7/CvwkIS/+31eyf6s/j9pI2edyJARyJRkQa3iGO0NhEQ7qs/qIQM6DB0oCRoGkONxCfoC +0SlazWHxQFP7iBUBE/4e8KB8xXloPPEbuG1bHl7btMcUP9Xw91hR1ONGEwKsKq+JQVNH4kqCUkRW +GY48ZBZUSCIKjTxIEZGl/DDDkugwKyOM0nOvxeopV+HO19qxv0bC3zX7c8rLVieQGARoBqMGyG7T +NCaJQTj+vSoJij+mielRzGCZuYViaw5plqDEIKy9diEg5i/J/pxXOQHZZ38V/805DXc8dwA+r0f9 +f3SVKAJ9IBCUZImFOVkSJKAkKFUWipKgVJEUx2nPYUrSVBqxjjXVEKCmUcyuRTOWInDmdfhz7Sy8 +8MpuoxHKEQ2QNkVAEegdAVEEqS9Qii0QJUEpJDCawzIkO6+GHqSQ0FJmqBlSksUDG81fp16JPYs/ +jZvW+rFt/x44RLWvb7YpI0gd6AghQFMYk6SX5Oq2OkIiGNRlVVqDgm1kTsrMK0GGPVsuzvcNVbeO +jBTS86phnxQ/LSpH3pnX4qXyi/GPF+tR39gm5S9U+5OeEtdZxRsBPpUdtkwUKAmKN7QJ7U9JUELh +jW/nGTl58qohIjNJKOLbt/Y2ShFg+LunHUWT5yF04Y9xa+1UPPXMPkCiwpQAjdI1odMeFAJhuZfo +D20XIqQtdRBQEpQ6soKtbLKpGxZmIVXoG3oKiS4ph2pVfy8//n04tOxa3LItH2u3S/ZneSrYtPp7 +UspMB5W8CJjIMEcmKgvsyTtIHdkRCCgJSqFFYauYgsz8MgScLeIblEID16EmHQJhnwdZDgdKz/wc +1sy4Gje91oKaumrkq/kr6WSlA0oNBILCgqqKHJg1Jjc1BqyjNAgoCUqhhZCZUwjH1BUI1GxPoVHr +UJMKAWP+6kD+mMnIOfdr+I/jNNz11B54vF41fyWVoHQwqYYANUFLJhWCyRK1pQ4CSoJSR1bGH9o+ ++0TgjXtk1OocnUqiS4qxip8P/G6ULTsTzcd9ATcfGIuXN+4Q9zINf08K+eggUhoB5giaPTY/pecw +GgevJCiFpB6S0hm2sgmSOboSIVezmMTU9pxC4hvRoYYDPtgkvULJWZ/E1vnX4JbVTmzft0/MX5KE +UxO7jahs9OKpjwAJUGVRNgqyAqhraERVRXnqT2qUzEBJUAoJOiQFVH2+AByTFsGz/kkgV0lQColv +xIYaFvNXTukYFF58Pf6beRLufaYG7e1OyWyrjmUjJhS9cFohwIKpy6py0VC9F2NmTU2ruaX7ZJQE +pZCEM8Qb2tfehOzJS+DZ9IwmTUwh2Y3IUCW7OPP/FM1aCf8Z1+GWxul48m0Jfw8HJIpFCdCIyEQv +mnYIMDQ+S8Lil08pxt6Na7Fs4Zy0m2M6T0hJUApJNyPLDn9rPfImzEeGOEkj4JV8QSrCFBLhsA2V +5q/McBClx1yC2uO+ips32LBmm1R/t2eIWUzzmAybIPRCaY+AWMJEq2rHuIIw9olGKJNpo7WlDAK6 +g6aMqITv2B3w1u6GO78IOTOOhnvjM8hwqAhTSITDMtSwmE2z8wpRdO7n8caYS3HLqno0trRL8dNM +qPvPsIhALzKKEPAFwzhpehlq9u3E/poG5OY4RtHsU3+quoOmkAwzpJK8LbcADW/9F5OOuRierS+J +aUMKqsr32hQBroWw14XCKfMROv0ruM+/HA89exBej1eLOuryUAQSgEBITGEOSSx63PQC/Osfr6Kg +sEiiLTVEPgFQJ6xLJUEJgzYxHWeXT8SBR3+LqmMvQvb0lfBse0W0QZqcKzFop06vJvtz0Iuyoy9C +/Qlfw03rM7Fmx24w92GOXUly6khSR5pKCHgDYRwzsxRZzhrc959VuOH6L6TS8HWsgoCSoBRbBvbi +Knnbd6N508uoWnw+vDvfUG1Qiskw3sM11d8lQVv5RV/FmokfxC0vteBgbQty1fwVb6i1P0WgC4GQ +OAM5pFjYe5aOwcP3/h3VdU0YW6mh8am2RJQEpZjE7IVlsBeUomn14yhfdAocEinm3fO2+AvlpNhM +dLhDRyBszF+5Ev6ee+5X8WTemfjnqmq0dbg0+/PQwdUeFIE+EfAFQzhqZiUyO2pw1yPPYNqk8Sgt +loAVbSmFgJKglBKXFLYUnyB7yRg4921A8/a3ULH4XHh3vZlis9DhDhWBcCgISPh78ayj4Tvrm/h7 +w3T855ndUsU6JOYvDX8fKr56viLQFwIskcEosJNnl+Dp5x7EvoN1WLF4Lgry1DUh1VaOkqAUk5i9 +sByOsnHo2PMOmlc/hsr/+TUcEjLvO7hZKsznpdhsdLiDQSDs90qYO1B2xv9g65yrcfvGMLbu2YVs +CX/PVCf5wUCq5ygCA0LA6w9i5rhiTMh146sPPwO73Y6y4iIUFWrZjAEBmQQHKwlKAiEMZAgZ9mxk +5UoEgryFuKu3o2nTayg76lL4Dv1EkycOBMgUPTbsc8NRXI6Cs7+I50vfg9tfPISWVgl/1+rvKSpR +HXaqIUAtUIbkmrhk5TiseuG/2HOw1pSeKS8tQX6uuiWkmjyVBKWaxGS8WeITxLD4TEmeWPv0zSj8 +3/+HvCXnwfnWQ8gUgqQtDREw4e8dKJy6GJnv+T5ur52KJ57eDUaF5QsBYjldbYqAIpB4BFy+IE5b +MAbjMpvx9Xsek2zRNvgDARTm52qixMTDH/crKAmKO6SJ79Au5rBMKZ7KAqq+pkM49OydmHbRtfDt +W4dA8yFxks5O/CD0CsOGQFgK52YEfSg/5r2oOfqL+PvWbLwl2Z8ZmWKTHCVKgIZNFHqhUY6A1x/C +hLJcfOiocvz0V7/F1t0HUFSQB+YLmjFlwihHJzWnryQoBeVGvyBmj2bNGltOnvgGPYrCOceKj8hn +0HLft9QsloIy7W3INH/Zc3JRdNansH7Gx3Dr6y3YX1sttXNtmv05jeSsU0l+BBgSnyUvHVefMgVP +PfkE7nt8ldH+8DnscNhRIeYwbamHgJKg1JMZHKWiCRJtT0jyw4hNTLRCDhx67PcouOa3yF9xMZxv +PhCpLaYtdRGQB2tIqr8XjJuK7POvxyPBY3DvE/vg9/uk/IVGf6WuYHXkqYqAW5yhL145EaX+Gvz2 +dnnGih8QI8QCgSCysx2oqhQ3BW0ph4CSoJQTmWQArpwUMXlJjhhIMmBqhfwtNTjwnz9j+sWfRZYk +UAy01mruoBSUrUhT/Hx8gHzKlp+DpuM+j5v2V+HFDbtM+Hu2vIlqUwQUgeFFwCMEaJZEg10wvwBf +/vZvsFecoQvzI9G41ATlZNsxvqpieAelV4sLAkqC4gLj8HZiEy2PzZGHIJq7LmyT8Pi2Dc+hfuZK +VJ7zBbTe/x0pJRUU/2nVGgyvdIZ2tbDfjSwJty0963PYveB/8LsXGrDn0L7O4qdKgIaGrp6tCAwc +gaCYwXKkUPWVJ0zAgw8/hGdfW4v8qHxA9MmziXN0WUnxwDvXM0YcASVBIy6CgQ/AllckYdJj4G3Y +/26pPokWy8jKxqEn/oqia/+M/OM/jPZVNyMjl2YxLeg3cJSH/wxT/b2wFEWXfh8v5JyK2/97AC1t +ThP9pU0RUASGHwGGwzMa7GMnT0a4cSd+dfN9cMhLCkPirRaSl83JY8dojqDhF09crqgkKC4wDnMn +QniyisrkoofHBWXashD0tGPfg7/GjI/9BHnOZrjeuB+ZeSXDPEC93IAQkIdo2OdC0fSlCJ31Dfy9 +aTaefHkXAv6A1P9SAjQgLPVgRSCOCDi9ARw/pworx4Zw7XV/QZvTdURWaEaGjakqN6Hy2lIPASVB +qSczkygxW8LkaYvu3jKlonz7ttex+58/wuyrfopQWz28W18UjZDmD0pGUYcDfmSG/Sg79r04ZMLf +c/DG5j3Ik8rvDvX/SUaR6ZhGCQIdngCOnlmBq48pxfd+9mu8vXFHj2Ux+Byuqig1jtLaUg8BJUGp +JzMz4uzKKQDrR/XQbDkFaN2wCnsf/SMmX/gthD3Xwbd/vZTVKEjR2abnsENi/sopKEHReV/Ci8Xn +4e4XW1DX1IACMX/p4zQ9Za6zSg0EaAJbOb0MnzyxAjf89s/499OvSDbonuuCMXR+/JjK1JiYjvII +BJQEpeiiyMovkZH3vFWa0E1xlK577nZTcHXC+36Ijn99G96Dm5ApDtXaRhgBZn+W/D8Fk+fBdvY3 +8E/XUjy0ai+Cfr+av0ZYNHp5RcAtBGhaZT6+ePZk3HL7nfj7A0+iQCLBMjN7ft4GpZp8Rak6Rafq +ylESlKKSc5SOFYJTKBFgAVHDHmmLzmBZDTGN1Tz5V9CResx5X0Xw3usQ7Gg0DtTaRgIBhr/7AYkA +K1l2LlxnXo+/bcnG8+/sRI7cidliAtOmCCgCI4cAQ+HHlubhc2dNxQP/fgi/vOk+5Ek9sN4IkBUe +X16i7gYjJ7WhXVlJ0NDwG7GzafKilifQ3sT4zB7HkSGO0lQWVUsiRfvl30HZxd9B633XI+RzKhEa +AcnR+TnL4UCZFD/dMedj+MtLrdhZvV/8fzT78wiIQy+pCByGgDcQQkl+Nj5/1hS8+MxjuP7XN0mG +6Cz59O7wzJphVeVlqBSfIG2piYCSoNSUmymimpVfDL84PmfA3ussmCcoFPBh730/QdbHfo7i931f +Smtcb8wxGaIp0jY8CDD7c17lROSc/WU8kXsG7nu6Gs2tTs3+PDzw61UUgT4RIAEqzLXjG++ZiXWv +PI1v/uJvsEuBaruQoL5aMBRCcVEBSos1Q3+qLjElQSkqOXtRBexFlXAd2ALDgfqoopmR5QCdcHfd +8U1Mv/qXKLn8p2h79GcItkixVfURSugKYMJKCPYl846D96xv46YD4/CUhL/bM0Pq/5NQ5LVzRSA2 +BDxCgHLtWfjyeTNxaOtqfP3nf5Fw9yzJB5TVb3HikPgDlRYXKQmKDeqkPEpJUFKKpf9Bkdhk2nMk +QizU/8FyBI8Nutuw85avYPpHf46SD/4C7Y/8WKLGNiJTTGva4o2A+P+I749NHqblZ1+DbXOuwt/f +CWHznr3IsYvjuvhsaVMEFIGRRYBRYGNLcvH5s6ehRgjQV3/2F1C7ky1m6z7eK7sGTafoInGazsuR +Z7G2lERASVBKii0yaHvJGGE3sW+mhgiJWWbnrV/B+POuxbhLf4yOB/4Pvr1rIgVXNc9F3FZDSJJW +5pSNRdH5X8Orpefhthf2oaFFTGKa/DBuGGtHisBgESDB6fAwDL4UnzptIp57+gl84+d/RVAiN3OE +AMXcxOeypEhNYTHjlYQHKglKQqHEOqTs8gnIsIktzCRNPDx8k79ZbzLR/2b1eSboO/DQrxBwtmDK +R/8A52M/hevtR0UjlC/dxE6qYh3nqDqO4e9CNAunLUbWxT/EPxum4aH/bEMwGFTz16haCDrZZEWA +GZ7dvhDOWjQWH1xRjFtuvQ2/u+NBU/9rIASI/WRLCY3pU8Yn61R1XDEgoCQoBpCS9RBH6RghQWK3 +lpvRylYaTXh6G7eJGpN2SMLnvS21mHH5N4UAFcL52r0SNSZvQZ1/T9Z5J+u4wuKAnhkOoOz496Ph +uC/hlo02vL1tF5j4Wau/J6vUdFyjCYGAJDYMBsO4/PjJOE3yzf7ghhtx339eQG5utjhB2yLvkzE2 +PncZPTausjzGM/SwZERASVAySiXGMTFrdKZEMIREszPQRiJkk8ixhpfvg7+1HrM/+mOUjJuD1sd+ +Kb4sHmTQ30hbzAgw2s6enYui0z6NDTOuwq0vN0v19xrkS/VptTLGDKMeqAgkDAGfOEBn2TLx8dOn +YXZ+C77yvT/jmVffNokQ+RI5EAJkDTJLnKfHjalI2Ji148QjoCQo8Rgn7Ap2CZOPmMHk9aVXFdDh +fzjsN7nxs6RsQ9umF7H15q9i6qVfQ/F7/w9tj0jNMVezlNkQ85gWcOhbfmL+YuRdwYRZyHnPd3B/ ++wI8/NRB+DweKX+ht1fCFr92rAgMAAFmgS4pyMYXz5kBT81mXPHNG7Fj3yEUF/IZN7hGTZBNskiP +rWAxa22pioA+pVNVcjJum+QJsuUWI9RaKw7Sg58IM0+371yNbbd8FdOv/AnKP/MPtD34A3h3vKHm +sb5gDQZMBujS5eeg/cSv4LZ9FXhm7T44JPw9WxIgalMEFIGRRYB1vdz+EBZMKsY1p0zCutefx3d+ +cwvqG1vEoTl/UNqfrhnRJ8hhR+EQiNTIoqNXJwJKglJ4HbAOmKOkCj7m++nBlh2jcsggYBOtj6/x +ILb99fMYf9YnMOEDN8Cx+l50vPj3SGJFNY9FrRRRnQsmDMyrPPda7F78cfzt5RZs2rMb+Sx+qs7l +KXxX6dDTBQGav8RbEucvG4dLFhXi4UcewI/++A8JgQ8jPy93aARIQApIsMPMqZNQVKD1GFN5zSgJ +SmHpsTZYzviZaN/xptDZIdQD62RLJFUMod//4K/Rtv0tTL7kiyidcSzaJIw+ULNDzGNys4sf0Whv +Icm3lFslDz8Jf3+54HTc8tgBtLaJSSxHsRnta0PnP/IIWNFfkyvyccXxE5DnOoCvf+8P+M8Lq6US +fA7scarR5/X6sXzBbORkD+HZO/JwjfoRKAlK4SVAZ7688XMiIfJRap/eI8SO/Mvh34TF0ZrRYWE0 +r3saHZJIcdJ7PoexH/sT3M/9ScLoHwaCGaNXK8Twd/H/KZ69Er4zrsPfW2fjv0/sNOHvOZr/J4Xv +JB16uiBA7Q+fi2cuHoP3zC/Am6+uwg9+dwcamltRmJ/bFUU71PmGqWMSf6BZ0yYPtSs9f4QRUBI0 +wgIY6uULpi+VpIlVCLjbxTzTWw2xWALno6094jAtlecDHc3Yfdf30LbzYkw++2qULTgLreI0HWw6 +KFoh1h07PDfRUOeSzOeHA14Jfw+h7ITLcOAoCX9fF8bandul+GkmHIyB16YIKAIjhgC1Px7x/WH2 +54+dNBlVqMN3f/Rzif5aK/l/Mk0EWDybzxfA1InjsGTezHh2q32NAAJKgkYA9HheMn/KQuSMFZPY +9tchxW7i2bXRCoVl46+TMPqOXWsx/Yrvo+x/b0XHYzfAtfZREz2WMRQzXFxHm6jO5J3P64K9uAJl +538Bb5ZdgJuer0d9UxsKxf9HmyKgCIwsAn7R/gREGX7mwrG4ZHExXnvlBXzttn9hy859JvrLyqEW +z1FGqseXSqLECfHsVvsaAQSUBI0A6PG8JJMb5opfUMf2N6TbIzNHW9c6QhcUo3KITr7UCnnq92LT +bz6OCed/GhNOvxaO2cfD+dIdCNTtjJjHMtNwKcnbZdjbgYJpS+A4/9u43zkXDzy1Bz6fX7M/x3MR +a1+KwCAQEP9muEQjM6E0Dx8V7c+UXCd++fs/4s4Hn0J2tkOivxJTE5Gh8Zlicps/a5rkHdIXoUGI +LqlOScOdK6nwHZbBlC46DfUv3tPpGxR/ExV7ZN2xkFRE3//IjWgSf6EZ1Ap98nY4n/4dXG89ItFS +rggZSpPIKIa+I+BB2bHvQ/vJX8Vt2+x4es12MX1laPbnYVnVehFFoGcE6ALpFe1PpvjknL14HN6/ +ohJvv/Yivv7nf2D7nmoUFOQbkpKoxldNltg4+ZilibqE9juMCCgJGkawE3WpvInz4CgdJ6HytRK8 +1Z9/SowqoB4GmyGRYQyldx3Yio03fgLlkh9n/AnvRdmSC+B88TZ4Nj9vzkr1cHpj/srNR+l5n8Wm +6R/BTS80Ya9kf45Uf0/cwzVR60P7VQTSBQE6PkvhdswZX4T3Hz0OE7PbcePv/4C7Hn7GhKwXiPNz +olswEMQYSZC4eO6sRF9K+x8GBJQEDQPIib6EXWqI5U9eAG/dXiA3vn5BR4xdSECmQ7RCfi9qXrgH +DW8/hfFnfgwTL/g2cle8Fx1P/wH+g5slZN8RSbSYSo3mL9Fo5VZMQM4F38IT9pPwz6f3o7XdpdXf +U0mOOta0Q8Av9b4C8plcWYBzFlVgQXkQzzz7OD5/72OS+blaQt9zJUjB3lU0OpEAeH0+zJkhztfl +JYm8jPY9TAgoCRomoBN5mQzxxylddjZa1j2DcEhCRJnFr4/Wly6ot+rzDARjQsauyvRSeyxLMk2H +hDTslbxCTXLtSed9GmWX3YDgukfgXP1vhNrqI7mFUsBEFpbsz/C7UbTgJITP+y5u212GJ9bsgJRU +VAKUyMWrfSsCfSDAxIbM+Dy+NMdUfZ9f5se6t17Cx+95DBt37IVdzFJFYv5iG0Dt00FjHpTnq8Ph +wCXnnGL8jrSlPgJKglJfhmYGpUvPRJ048HbsXIMM0dQMV8u02ZGRmwXnvo3YLNmmC2csx5Rzr0HZ +Ne+F55Xb4Vr9oGhXnDImUVMnKRkK+zzi8+RA2VnX4ODi/8HNbwewTh6wuQ41fw3XOtLrKALRCFgh +74U5DvH7qcD5C0ux6Z238MVf3Il1W3YZnxwmPkxE5FdfkmBQxKK5M3D+acerwNIEASVBaSJIW24R +ylach/ZtjBJ7lwQN3gNoYMAwe3VIwulbt76OjXs2YsJZH8P4E69E2fzTjb+Qd9dqhAMsvyFkqB9N +1cCuPLSjw5IhO7t8PEou+TZeLTgFdz53ENUNbchj+Yuhda1nKwKKwAARsJye7ZJ76/jZlbh0RRVc +dbvxvZ/chCdfehNeISH5eaz6PsCO43Q4Q+M/cP7pyMvRLNFxgnTEu1ESNOIiiN8ASpacgZqnb4Ov ++ZBoNrJjVg8bojRAttTT4Zmi6cnIKZCiokHse/T3qH31QYw/9QqMO/965NZvg+ed/8Cz9UWEPe2i +GRrhEhzM/izlL4rmHAvbRd/HffUTcN9jOxASsxgJkDZFQBEYPgQs8sOq7Aul2OnFyypQFGzCrTf/ +FQ89/RJqpeApNT958hmpRgI2bdJ4nHfacSM1BL1uAhBQEpQAUEeqy5yqqShbeR4OPf4nQMw7I5XR +OUNU1TZbgUSr1WHXv36OQy/fjzHHXoJxJ38KZcd9CO41jwghegIhkiFqhsS/aDgbw98z5FN23KWo +OfoLuGNjLt7aslP8CzLAN1BtioAiMDwI0OeHDs8Md188pUScnqtQkdGC+x68G/989DnU1DcjNze7 +y+9neEZ15FVI0jxeHy4QM9i4qoqRGoZeNwEIDO/uk4AJaJeHI1B10uVofPXf8DtbJTorOlLscN1N +v87RsWiGejom6jv62WTKGDz1+7D7379GtZCh8SddhgmnfRalR18Oz5qH4V73OEIdTULaspEh/kWJ +bgx/z2L4+7mfxZqpV+LmVxtwsPZgZ/X3RF9d+1cEFAEiEIn2CqFIolnnTivBmXOLke1twFNP3IfH +nn0VG7fvFcdjO4ok43MyNJrBJo6txIcvPicZhqNjiCMCSoLiCGYydJUzdgaKF51qkidGQtTjGzMR +Czc6DAeG1AvByZTyGr7Gauy6/wZUP/9PjDvlQxi34jKUHX8FPG/+y2iHgq01QobE2ZHZp+Nt9Jeo +DhY/zZNUAgUXfh3/9S7FHU8egM/rQaFUf48vSsmwEnQMikByIcB7jFqfgGh/WOPruJllOHNeCar3 +7cQj9z+Eh59+BYfqm0QxbENhQXxrfQ0FCT7zPD6vMYPNmKplMoaCZTKeqyQoGaUyxDGNOfUjaF7z +JIKi9SARsojLYEtnDHE4XadHyJADXknquOv+nwsZuhtVK87FhFM+iOLlF8O/9hHJPv0Qgm114jwt +jsmsSxYHMhQOBZAR8KH0qAvgP+Mb+MvOfDzz9m5kIoRsuxKgeMlX+1EEekIgQn5C8EmBr0nl+ThL +KrwvqAijtf4gfn3j7XjqpbdQXd9o/H3y8+JX6T1e0vD5AygtLMT7xSFaW/ohoCQo/WSKfAmVrzr5 +wzj4+B/EN0dMTHEgEnGDiZohIUIWGdr735tQ8/qjKFt8Kiad/AEUL3kPgltXwbP+KfgObZG8R0Hx +GZIw/EGaysJ+D2wSjcbip7vnXYW/v9GKd3bukezPmeZ7bYqAIpAYBOjvQ7MXw9gnVRTgrIUVmFEc +xOb1q/HDm1fhhTffgdvrl7rPWVLoNDF1voY6M9YJY3LEqy9/D5YtmD3U7vT8JERASVASCiUeQxpz +xkfRsuE5U+IikwkLD2u9GLX6sHUN2AwWdb3eos8sMuQXn6DqVXehbvV/UDL7KEw562oUX3oaClwN +cL16F7x71kjiRdEOWVmoY8o3FBbH6w7kVU5Cwflfx6qcU3H74wfQ5nQb/x9tioAiEH8E6EAclP+x +vEW++PSsmFaE85eORaanCW+9uQp/eOQZvCN5fkiQciXMvEA0P8na+NxyerxYOGcGvnD15ck6TB3X +EBFQEjREAJP1dNYSm3DRF7Hjr18wIeuiEhr4UGNkPv34R/d7XWp5ssRBMiRJC+vXPI2G9S+geMYy +qUv2PpSd9EmUnCL1gvavlYiy/8K3f6PMxx3RDhnH7x4Shoj2KCzZn0tmHw3fWd/C3xum4L8v7zbh +77miAdKmCCgC8UWAvj4+MXllSe3CMcV5Qn6KsWxiDsZme/DIUw/igf++gLWbd5okh9kOMYtLNFiy +N788N6ml+tL/fDBhFemTHYPRMD4lQWks5bJl56DimItRK07SttzBqZsPIzixsp3BJB4SOWRKqHyG +fMKSw6dl25vyWQ17cQUqFp6CccdcgKLzv4VCXyvc65+Ed/srCDQdiPgO0VQmP9nCUtMsU9ycy07+ +CBqO/SL+ttqDt3bsRq5Uf8/S8Pc0Xu06teFGgFmd/eLnI/xHiE8OZo8rwEqJ9CrPbMP+fdtx699e +xGvrtmDfwVpDfgryk8fZORasXG4PrvnQxZodOhawUvgYJUEpLLx+hy62+PEXfAatW16Bp6katoSV +04hRZdRtwL05bGeIucsmGahJhgLtTTj44r04KBFlhVMXYtyxF6Jy0SUolBD7jOZ9cL56t2iH1kvk +V4fReDnKJ0j4++fxdsUFuOXpOnG4bNXsz/0uFD1AEYgNATo5+8XURSfnojw7jppRhiWTCzA+PwS7 +rwX/evwePPvKW9i+96Dk1fHLi0dWUjo79zVb+jB1uNyYN3MqPnvVB2IDRo9KWQSUBKWs6GIbOBMo +TrjgWuy64/qu4qqHhYMPjr/EdvFejor1kiRDNHkZs5cMumP/FmzduwG78kpQPH0pppxzFUou/D8U ++tuMqSxYvwuZp30e97TPwkNP7DXJzTT785BEpScrAvIyIn4+TGooHxKEmWMLMXd8AeZW2uHw1GPL +hrdw0zMvY/32PWhoahWTmJi8pLhofl5qbi8ByQmUJUETX/vkFRhTUaYrIM0RSM1VmuZCiff0Ko+/ +VJykn0fDm48iK6+os/tYqUj8RjPUK1KTlSlPZPoONW54EY2bXkL++FmoWHAiJp9yGUomzURtIBv7 +th1AgRQ/zQjb0OEV7RAzQYuvQjIFycUPVe1JEYg/AlZOH7/4+TCKkuauY2eVY8mEPDiC7eiQnF+3 +3vw4Xnl7E2oaJLePEB+75Peho/NwFzWN5+w59rYOFy6/8ExccPoJ8exa+0pSBJQEJalg4jks5gqa +9N6voWPPO/A2HZRosSOzsA6VoMRzvKavrgF1G5k8pOg3ZJMPC7Z2HNyK1p3r0Lj2Kcz+8j/x/G43 +llXYceHCcWjzZWLzIRe2HurAngY3vP6QIUJZ4pTJGkXaFAFF4F0EjI+POPhQ88P7Y6Lk9JlUlovF +kwowIT+APTu24MmHt+HBp15CdV2j0bTa7faU8/XpS+ZOMYPNFTPYV6+5QpfGKEFASdAoEXTuuBmY +fuWPsePWr8Hf0WyyOA+V+PTnJz3U/vsTDd/a6DuUmWlH0NmMgLsdj766G/uqazF7YhkWTK3EcfMn +4djJ5QhkOrBJCNFbe1pR3eRBmydgaoU5RENEIJQS9Ye2/j3dEKC2J9SZy4emrlxHFmZU5WLexBIs +nZSPnFA7ag4ewIaXnsPvX33bRHd1uDwmqSGjwJjYMF1aJCu038ztp1//lBRKHZcuU9N59IOAkqBR +tERKFp2GyZd+Q/yDviVOxJJFeTBh8wPCK7E06F1lUSaCYseHswGVJfnYcyCMbQeasHV/Ex55ZRsm +VhTi6HnjsXDqGPzv8RVo92dhS40bO2pd8rNDkqEFJXd0REOUJcRICdGAhKwHpxAC1PKQ8DCDM8PU +S/KzMX9iMSaXOTC2wIbpJWG8tfYdPHLfFry1YZvU8NoDt+TK4WuCw2FP21Bxnzw/aPb79ueuxklH +L00hiepQh4qAkqChIphi51dK5XRP3V7sf+Q3yKJZrJesydH0pXuYfIY8SEeq1lZvtIpvtPaQV3wS +Iqa+HHmrZQtLzbD99W3YUd0sWaI3Y0JFEZbMqMIxoiFavLgY7oUlONAawvoDbahp9aC21SdOoJLv +pNNkRvNZpjoTpdgq1+FaCJD0iIFLiE+kble25Mli3a4ZYwqwVKq208zVXF+NLVu34o431mLL7oPY +f6gOre1SZ0+0IsyTk5MtWuM0vgeCLOkhpTG+8amP4GPvP18XzyhDQEnQKBN4hpCeSZJE0dt8SIqs +3o3MXDpKj5zuIxZdUb/HyAEhSZAYcjYJ0SkxPg1WY4SZXXIE0WkzJA+7/XVt2F3TjMde346KojzM +mVSOhdPH4uL545BfUIH9zX7UtvuxXbREu+rccPsC8pFkk7IJ2Ds1RaNsyeh0UwwBK5KLP0nmWR9v +5rhCrJhaLNoeWcdBJ4IddXjl2Wfw9y078NraTWhpc0rh4kxD+O1CfMpKrACKFJv8AIfLshjtLhc+ +cdmF+JyGww8QvfQ4XElQeshxQLOgY/G0D30PASlX0SQOxbacwgGdP5SDe8sNNKA+e3CaDon2JtPv +krdWOkz3rKei+t8hSRXtkKKp4lTd0OrGwYbdWLV2D0oKsjFjXCkWCSGaMrZUSFEpbEtL4QpkYlO1 +C3sb3TjUIpqiNm/EcZQaIumP/tWqKRqQ9PTgOCHAVc5NXLiOWfPC8c0LTUWhA1VF2ZhckYeJ4tg8 +f1yeRHMdxO7d6/Do42vxsonoakZTa7vR8OTlRAqXjrZGDVmH04X3n3ca/u+Ln5D7WbPJj7Y1wPkq +CRqNUqfgcwsx9fJvw9dci459G2AT05jhFn2oXfrVyAwWy1g67mtc8iAPSaLEYHsjisXHgQ92EpUj +NPhRffAY+v9k2bINIXKKo/SaHTVYve2QOW9Mab74EhVh1sRyQ4yWLygWjMpQ3xGSTwAbDnbggBCj +Dm8ATgnDNwRL+tOos8EuAj0vFgQiPj2SRFSUkyRBLANTIkkLuV6XTSmGJG1GfpbcC552tDcfwNsv +b8Jjkrhww9Zd2Lb7gLk37JLAMFMcmwvz5Z4fOSVwLNNN6DHtHW4ctXgefvjVT5o6ZtpGJwJKgkan +3M2sc8dIxNgVP8TWv1wrofOHZJPvIa19PwQlFv4SeT9NsB+REBmfsw354uDJyJWYWuegughRZ9g8 +X6gb2lw41NSBN7ccEP+ijcjPsRtCNGdiBabL5/2LyiQyrQyt3gwJw3eKlsiL3RKG39Th4+t5l4WR +WiIOR7VFMUlED4pCwCpGSn83S7fpEAIztTJf/HpyML0yF+NLslGZE8C+vbtRu3czntuzF1t27sM7 +Qno63F64JJrLL06/9OtJtbIViVwMDIWfM30yfnH951BRWpzIS2nfSY6AkqAkF1Cih1c4cwVmfuzn +2H7zV+BrrUNmzrs5hAZCXHp1pI6ewEA6PIw59XciNT+S48TVhjyJYKFam5vGgF9yLVIk59qZ/I3R +czQ3yCbU4fYLITqIVzfslxxFkjyuTDai0gIsnDYGc6ZUYcXcEmQ6SuAOZqLZHcLOOhcOSCh+k9OH +FvlQW8RGTRE/9NUwTX4MeJyJXhTa/7AhYMhNJ8OhSYuRW6LoMZXYHVLrrig3C+WFOZhWVYAlkq+n +INMHB/xorK9F9d79uOfBjdgttbl27DmAmvom0fDYTMZmantI7qnhyMvIGbb5pMKFOpxujB9Tgd// +4CumNIa20Y2AkqDRLX8z+xIpUDr7f3+DHRI6767dKxoh+gcMYGvuyY7WH2+JM+4kQT5XB0qLcmXz +ECdocZSOl64/UvFayIuYu7Klggc3q/oW0f40tmPN9kPGrFaUl405kyswTfyKxlWUYHpBLo6aXyDa +oiJ4Qlmoa/OjxR0UUuTHgWaP8S9iDSb2ZZnuSIx4rQEgH2cUtbtEI2D57tBpmdyHS4ukmI77pXkO +jC/NRYkQnwmlDhTn2jC+WBacqwnbdm7B60/uxc69B7D7QI0xbXn9QfglqokmrWwh/8VFw+fbl2ic +EtU/a4LNmDoBv/v+V7B43sxEXUb7TSEElASlkLASOdTi+Sdi7mf+jF13fR+tm18WZ2lxLujDYSBR +HMfqN9b+u46XsQY8TjhCHinaaDO5fwbbDr/2kSOJ+FVEygQYH2xmrvb48NqmA3hx3R4TkpwnbKlQ +NrUqyVs0bVwZJo0pweSxZVgxo1R2vRJIrl34hBztE7+i7bVONIu2qLHDjzZ3QLL2SqkCuQb9NI05 +LcLBzP/MP5UlDVa0CT/P0uxElDsRrQ61O6y0zrWSn20Tx2W7RCZmo0yc8aeU54kTcxZKHAFTDsbV +0YampiY0bq/F1pp6rNm0AwdqG3CothEtErZOssP1TU0Pw9f5e6SNVNKKhEMalwvwJYkaoAWzp+P3 +P/yyaICmxaVf7ST1EVASlPoyjNsM8ifNx+yP/xLb//5NNK9/TuqM8c1yeHbcWElPj5OlSUkYg9/j +QkFWQDYHu0np31sb0rW6dRrhJiQqzF6dKSH6QozkK0artbl8aG5zY9PeejkkbN7488S3qKqkANPH +l2O8JHGcWFWK98yuRElxGVo8YTQ6A2gVc1qrVxyw28SU5vJ3aY2Y4M4kuqMWQR7qJEjUHJlINZYT +GR5RxW29pXJHJDRGq2PIDSOzIiQk4gNGh/tMQ1LKhehMq8zDOPHdKXAARdkZKM+zwebvwKGaGmxc +vxvrpfZWbX0jDtY0YPue/XCKL4/RFJnILwlzpwO/kJ7RErYe73VhwuAlCuyUY5fjF9/8LKZMHBvv +S2h/KYyAkqAUFl4ihp5dOQmzPvELbL/py2je8AJsEkUWTYTiSSDiOn7JB/SuJiixyzoWDEz4vBBI +bmCRiP3IpuYRDdXuQ83Yuq9BInwCyBWNUUlBjmiNso2P0cSqYgnRL8f0MeWYW+QQh9YcyexdiJCU +/WBqgzrJYXRIzGl17T54pBYaHbFbxV/JKaSJ2i8SIY6vK3S/kxhZGiTL2KaEqefVZyUXjPw0Yusy +WRqln+G8kXIr+TmiwZHILBLfMmE4RssjGp6qwgjhsYfcyAyJfJobUVdbj+0HD2HX/kPYKqas5lYn +2mRjbm5pg09CvahVNL480hfrcWV12kgj4lMtz2CfFXwZIQF637mn4SdSDkOJ5GCRTN/zErtbpC9u +aT2z7NJxmH3NjUKEvoLGd55BVo4kTku2XbOLiUT+wY0p4HXDEfaZitYkHO+St1hoS+JFamqddX64 +6ck2aTbYNqc4ULe7sUeSOGLTPmNOY3wbCVKxEKRySepYWVIo/85FZXE+xlUWY/a4IuRKRt+8/BK4 +/EKupGpIm0fMcj7pT3yPaiSfER2zqT1iBmyf+B/x3yyQSUdv44DbGcRmaZFInDhGQ6DSyDcpmthw +zlwbhtB0mqiMX1aXFodO8ZkmszKzjuc6bOKYLARVqqgXZNNR2QbhphD+g6yMEHJtYXhl3fmdrWhs +bkHN9ia8JOarRiE3teKo3NjSLj48h8QU44lg2nkfGZIs2kvm58k3373Lugbl1J/45ZtyVyABog/Q +hy4+Gz/7xmc0DD7lJDg8A1YSNDw4p9xVHMVVmPPJG7Hzzu+i9pUHTB4hiCair9YT1Tjiu0TxkQwb +/G7xmZC379zc3nJ+RF88UQMZmKiNSUtIW6SMm/XGL5tyZ5mD2uYOVDe0CYGpNiY21jdiBuAc+obI +RlpamCuO2EVSAyoHY8Uhe0xZEaaWFkmGYDscU/OQz2KXolkIhOUCcm6D+B25RGPUImY3/vQKOWJG +bJfP+hk0kWz0TYqYeCKO2xFSGWnWnh1tKbXQ7LLIGY3Ukfa5Hrm0tf/3AV309a3DLLLQNbLOfiLX +sMyDorWRjOEOWbsOITYFoq3Jlqgram9IdBiBRQ0O8+2Q8Bhtjqhx8uwyb59bNDKiZXM50dBUi7ba +DjT7vNhYU2syLO87VI+91XUIiCbHLT5hHr8fPinC6ZUPx0syRTOtQ64VCU/v9BSKwrKneQ1sBenR +PSFAmbAUxic+eBG++/mPi0ZVmKs2RaAHBJQE6bLoFYGsgjIxjf0SjrLxqH767wj5vab6fO9Jf7oR +C/Pr8JANSxMU9rvFtJTzbumM7pfvczgDGWvnsQM5ZQBrzZi16IDNDNddhW4j5Ih6C6884D1CUtpd +kp/oUKNxwDWZsuUARsflykO/RDRHxUKOckSjRF+k8qJ8caS1oVBIYplolMYKTqWlhcJtxYmbm7QQ +yQDNP6KH8vIf8rtwI6NlCoQzZVMRjZJok1xieuP4SKLoxE2yROLE79xyAqOWIlFQoqGTORvHYJPO +OEOOD0ZkE8WPDFmw2JH8LeJTI2bEKLxIVkiqLJNUthCbPJlLSNYXjyV5KcsX8iI/iQG1No5MqYwu +Tzi7/D0opkeCJFxHepHxyTi8Ho+QFubSccErifMCQgh3iRbn6X2HJHmmV/y5nGjvcKFNPrVNLaLx +8XVqyjgS+U/6Iim1NJGcE01ZXc7KnRqmd7U83Q1bauYawC0R06FcVm6RE8nlNz79EXzyivdGOY/H +1IUeNMoQUBI0ygQ+0Olm2iVHyWXfQsH0pdh5x3el5liN1BtjdukYExIO9IKDPV42zqBsaGG/Rzb8 +ssM0F312mSASM9hp9HdexOfHMCT5RDZRyf8btbtGzF0kSdWNbRJZ1GxyzoQi7MnQCGOWkc2byidG +GjGZIzdzkqcCEiQxvxVJ5u2SwjwxIQiZKsyX7woiTrpyTLloobjJlMkYciUCjnmTqJmytvQ8OUd4 +kFQdFz8mfpspOWuskgTy7yNMq0F/xDbFJn2GJb0BP9EtHH2M/IEaNLeQGJr6+PEIaWlvcYtTsRsu +cSzeJ7+73B7xvWk3GjQSmlaSGkkeyFpRXsn0TUxMnS0ZLLMwEyD+m8kFCTHnZUXp0dk+Wz6RFlE5 +daUw7By7+d1Mw6Jq/UlT/x5PBCJ1wNwYU16Kb372Y/jghWfFs3vtK00RUBKUpoKN97QqV56PvDFT +seufP0bzlldkk5Cl0495bLBjiDatxPquzEKpDDEOe50oKhifhK6kfbCtIdsMD+/AZKc2UUoiAflf +pxGmiyhFfGI6o4+opRECQNLhlCR8Te0u7DnUZEqJBOUTNsn7JJ+RFZEmWhWSJSs6jaaeTMGeP/kd +R5ItUVEkWtniU0N+YBctDp1+OQB+x/FZZiCj1SIhkWtYyqGAaGloyjDaoc6oK7fPZ8bQpR+SP3m9 +EbMTz6UJyiUmKWpr6GtjjjP+TZFeLR8n9kkNTkanhpI/eITR6Mg/suQnid/hBKfztygzVu9rO9YV +O9i7Q8/rCQFqGkmATzpqCb517cewfNFcBUoRiAkBJUExwaQHEQGG0M//7J+x5+Hf4uB//yYmBb+E +hQ+98OJASU9vdILbj7+lFoWOWfKvKHtL3MSXYmqjXubd5TPDvxuYhCh1wUUVCL/rYePvciiOaJV4 +RKRiuZiWxB/GNPm9zfwQAmXMc6Qj1r8jztimdWlPSH4sQ1fkaw6ly3eoS0NkhmT9z3RhjjP/iNjX +6PdBM2DnBToPjyIlR5inrDke3u+Alku8OE+8+hnQ4NPjYGr+SHKvev8FuP6zV6FINJfaFIFYEVAS +FCtSepxBgCHz0y/7JgqnLMTuf/0S7vp9Ui5iYBmmB0p6YoaeO2fQh0JxbB3JPSU9qFLvqFv+OxEC +IiQn8o/ICeKHE6EUnebSTuIS+XE4IYkcF21CMl9Y/4v016OpqdtxXeSm2zViXjh6YCoiQA0ga4DN +mjYZn77yffiwRIFpUwQGioCSoIEipsfLvpeJqmMvRsHURdh66zfQsukVcZjOFQsZ38IjG100EYiJ +9PTDHGIjFnKU+AQVMn65nxZbf1YnUUcP7MT+hpHUf0+9qcaH+g6ul8GdldQLIFkHJwuTUXg0m77v +vFPxzWuvwqRxVck6Wh1XkiPQ/26R5BPQ4Y0cAnljp2PRl27D3gf/Hw6uuhtBd3tEKzRSOYXkuv6O +JuTYxPwyUrDEnTnEvcORQmb0XjfhizHhF0gq2bH8BaMZv/k/HzTRX12RhUk1Sh1MqiCgJChVJJWk +48ySqvMzPvhtFIh5bOd9N8DTsB8ZdofkvrEiabrrhQY4kS4OQA9Wy3TSSx9CgkJCxBg63btP0HCT +ioi/S2zbVDzGFo8+BiijHg+P5zhiQy8eo46pj8OGE4+xxaOPmEae0gdR80Pz17IFs0X78zGcKmUw +tCkCQ0VASdBQEdTzDQJjjrsEJXOOQfWqu7DviZtEK9SBDKlGP6yh9GKm87Q2oThHQr2lDEVAIopM +ZPag9uPOk2I6N6aD0muljMIpp5cAU2c2TM3gFudnJkH98MXnCAH6KMZUlKXOBHSkSY2AkqCkFk9q +DS67bBymve8rKJKcQnsf+6OE0r8u+fbskQSLw9BMwkQhX0yI55CCk36vtw+NUPSABr6jD/yMYQBg +pC4xKsGIVXvTx3GxdjFSck2C67IQMvM2Hb98Eb4o5q+Tj16aBKPSIaQTAkqC0kmaSTKX8qVnoGTe +sTjwzO3Y/+TfjYksk1ohyX6c0CaaIJ+Yw3LFbJYluWkiRqjOqKWEXnjgnY9K3jBwmOJ4xuAZR/eA +tTgOSrvqBYFIKRIvpk8Zj49fdiE+dNHZUmctR/FSBOKOgJKguEOqHRIB1hqbcv6nUb74dOx/4mZU +v3iflN0Q85SDD7JIVSmLogxme+ox+kw0QT5nOxz+NlOVvalZek4w7+pd2omgOYnoM87rNQWGGOcZ +x7W70U64mFvKKVm9c3Ky8dH3n4cvXH05JoytjCvG2pkiEI2AkiBdDwlFoGDiHMz7xA0onrUSe8RE +5qzeGTGRSb2qI9pQNlCeK5+QJO7L8LVHyjgMlV0lCpmhzDOWMSW6/1jGkITH9L4cErBQBtNljO7z +SQhtXIZEzQ9J0EnHLMFnP/oBnHzM0rj0q50oAn0hoCRI18ewIDD+5MtQseQ0VD9/D3Y9+gcEnK0m +nD4jrqU3WCgziBwp/5Cf64gUFE2JNpAIspSYUNoPMlVWVioIIhL15cH0yePxicsvxEcvPU/Kq2jV +91SQXTqMUUlQOkgxRebgKK7E1Is+i6KZy3Hw+btRv+YZ+A0ZEhNZX2SoJ9sX5xwdPt9pXAuJL0Fm +0C31q0pjL6LaA369K1NUzZIiyy2Ow1SZxxHMrq5Ifhj1xTIXV192AT5z5aWYMmFsIi6lfSoCvSKg +JEgXx7AjUDb/eJTNPw5Nm1/DAUmy2LD2WXidzbBJxXpWHB9KC4UCyAp4TBHPrjpVQ+kwBc7VLTpB +Qoqzume0+/tYUqLTs0fSVxTk5+LS80+Tau9n4iSN+krQItZu+0NgaDtOf73r3xWBXhHIQNm848yn +ccOL2PfsHWhc/6JohtpMJJlkWzRnDmSDZ4h8UNLpB1vrUFYyJ1KtvLOPgfWUPGI7Yv4DASR5ppH2 +I+mJLx3+XZwZVQoiaml+SooLcPYpx+DqD1yAY5ctTMGZ6JDTCQElQekkzRSdS/nCk1C24AQ0vPO8 +aIb+iYb1z8Mv+X6YX2hAPkNCEMKsaN7ehJIxubBJZem+o+STn1EMeeuMcYoxHpaEK2zICMUwpxiv +EeNhMVxwAIeMyEUHMD4p5yd5frxevxQ2zsN55x1nND8nH7NsQH3owYpAohBQEpQoZLXfASHAoqyV +4jhdvuBENG58CXueuAWNUpjV72qDLafAFG2NqbGiuFSXzstx9F5TKOYdv/PAmI/v1F31V96jayL9 +d9z/ETGh0q9OLfm30ljnmQ7HRUsjdSVjOTxXlpfg/FOPNyHvxyxdoLW+0mGJptEclASlkTDTYSoM +nScZqlh0CurWPC1msjtRv+ElyTHkkSr1ts5K9b3NVMxf4ZCUzmhArqxsm80miqBQZ1aiPtA5jGnE +j3ZEXzExvcZP4oMb3+DOit+otadkRMDn98MrZumykiJcfPbJkujwLEN+tCkCyYiAkqBklIqOSbJL +Z2LMirNRtfQ01ImZ7OCLD6Bxy6twN1aLmSwnUqDVFAY7vDErtU+0R/aQ25CgkGiFtHUi0CtnSTyZ +SfwVEiHl4dDCDMc1EoHN4X0yHYVfyI/L7cH4qgqcf/oJ+Nj7z8e8mVMTf3G9giIwBASUBA0BPD01 +8QgwseKYZWdizNIz0brnHTSIVmj/i/dL0sVdCEpyNZspx9G5jGWnNc7RHhdKczKldIbN+CIMuHJG +vHfsePdnwZ6ofg8T67BcJPELSa+QEATo78Mkh3a51+bOmCqan5PE32c5lsybmZDraaeKQLwRUBIU +b0S1v8QgIHtx8bTF5jPx5A8YMlTz9tOok/B6X3uz5BrqdKLu1ASV2CRUXoqomhqqCWuD8RlK2GC0 +4xFBYKAkMfU1P8FgCIFgACxuOrayAqcetxynH7cC7z33VBTm542IFPSiisBgEVASNFjk9LwRQyBb +ki5OOOG95tO07U0cfOlB1Kx5Cu76gwh63VJJ3omw3021UJ9jHOj2NfAJ93aFGK4cwyEDH4+eERsC +qU9UYpvnwI4KimnZ6XSb/D5TJ47DaUJ83n/B6Vg0Z8bAOtKjFYEkQkBJUBIJQ4cycATKZh8FfqZV +X426datw6M0n4Nq3AY6gC1l2u7yxhiRUfnBVVJWHDFweKXdGsvGdJBsPfX18zL0l9xGruJ9zyrG4 +7D1nCAFaLr9LPi9tikCKI6AkKMUFqMOPIFAwfqb5TDnjCjSuexaZYyZg1tgA6uvq0e72IcduQ5bk +DaLP0JATJ8aDHcWjjyEIf4QvP4SRJ/LUwTCQwZzT0xzi1c/Q8WHJPdbgc7ojwQX077norJNw0lFL +MH/WdPkuxnQVQx+K9qAIJBwBJUEJh1gvMJwI2KQoa9VRF5hLfu0DVVizdDLe2laNtTtqUNPYBqr0 +M4UM2eVBzozSsbckpw3DEOYfO1Z6ZCwIJA/tkZyi1Pj4A6I5DfIX8fUpM+HtKxfPk0gvyexeXBTL +lPQYRSDlEFASlHIi0wHHikBVSQHOOYqfGahvcWLNjkN4fdNBbNxTi+qGNnnoB6VadZaJtM8cUIGO +WEfQ/bi+iVRsEexJTsYGC42eN+wIhKS4XpAZ1sXBOVNugnFjKiTCa4oJa79UnJznanj7sMtELzj8 +CCgJGn7M9YojgEBlST7OXjnTfGqaOrBpTx1eXr8Pq7cdQHOHG25fEA4xmVFDFI+mVCUeKCaojz5U +MLFrZ2I/sudZDPX8wWHDq/qE9Hglp092tgMVJcU4Rup3nXzMEiybP1uJz+Bg1bNSGAElQSksPB36 +4BAYW1YAfk5fPh31rU68sfmAEKK9WCeaorpmpyFDNmExfDvuIR9j10V7JzpKgQYnGT0rEQgwYSgr +tzOnD83BM6ZMxNL5s3DCysU4ceUSTJowZoCm4USMUvtUBEYGASVBI4O7XjVJEKgszscFx84xn017 +6vHOTprM9mP7gQa4JNFiu8sj0WWZcEgyuCwyo17bEInPEE/vC854dh23vuLWUZIspFiG0Zvy57Dv +46MhIvExiQzdXhPFNbaqHEcvmY8LTj8es6dPwfTJ42MZsR6jCKQ9AkqC0l7EOsFYEZg/tRL8fODU +hWIi82D9rhq8tnEvDja0Y9fBRjS2OU1leu7fJEYaJRMrsnpcIhGgUzM1PNT28N8kQLk52ZLLZzyO +WjIPKxfNxQVnnICigvxEDkP7VgRSEgElQSkpNh10IhEguakozsNpy6abj9sbwIH6FqzfWYMt++qx +Q7RE1Q2taGpzg3lUchwMv4/4EvUccNaX2mMICRUTCUJK992XNmUQmpZumpqB9zDwM/qCn0SHH0Zy +eX0+UyC4sCAPUyaMFQ3PBGPqYsHS8eLoPGn8mJSWpA5eEUg0AkqCEo2w9p/yCORmZ2HWxArzYXNL +8rjt+xuwessB7KlpwgbRGNU0tpuNiR9qiUxOIvkkto1Gm9IgEY0vD+l3EPG8XLSmx6R4EKadI07N +k4XgzJ81FcsXzon4+SyYjYrS4n7HpgcoAorAuwgoCdLVoAgMEIFchx2LZ4wzH7ZDQoA27anBZgm9 +3ybkaM+hJrS0u9HupD9RhtQwE1Jk/In4zh7uTNg4wIsO+vBBEKVBnDLo4SXkxBGYQBxZjzFp0cQl +mh6fRHGFJZS9qFPTM2vaJMyX0PXjVywyWh7m86EDvzZFQBEYHAJKggaHm56lCHQhMK68EPycsWKW +UBxgt/gP7a1tFm1RPQ41tWHvoWbsq22SgpMB+GVjC8jbvCFH6leUoFUUR0bSNcKB9Bn7sYbwdBYk +9dOnR9aGXQr/Mnyd5qzZ0ycZ09bMKRNE6zMN48TBWZsioAjEDwElQfHDUntSBIzT9PQJ5eZz2vKZ +BpF2l1dyE7Whur5NfIpqjcaoVrJX1za3G2frCBnKkLD8SFmPDCZvHFA2awU+ORDonfxETFoRp2US +HSYp9PkCRtbF+fmG8FSWl2DiuCpJWDgZi+fOMIkLi4sKDCnSpggoAolBQO+uxOCqvSoCXQgU5mWj +MK9SfIoqccqySMXteiFAB+pbjcM1Ha2376/DfvEv6vD4xBHbB6f4HUn9AiFIkrNIHLVJkFjuI75t +BMxG8Z1Ar73FrotJzICs3DyWSStLanDl5DhQKBXYS4oLMW3iWKwQX55pk8ehtKjQkKCJYytht+sj +OTES0V4VgZ4R0DtOV4YiMAIIVJYWgp9lsyeaq/vEFOKRvES7qxuNtmjPoUZDlJrbXMak1ixJHTuk +ECw1RMa7SP5HrRG9QYz2iMkdR5X2KME0p6+s0sYBPmT8dsJiyuJPo+GR70zx0VBAHJezMV5ITWlR +PiaJdmeqkJ7Z0yZi4ZzpGFNRilz5e5bkntKmCCgCI4uAkqCRxV+vrggYBJiMkZ8lsyaYj9XaxLm6 +vqUDTUKC+LO+pV3Mai3iY9SMOiFHLtEcecWs0iFJ8drdHkOI6G/Ej120D0Z7xM26s8N465ISK74h +Ep2YTj/yIJquIoDRQZn5d8R8FYxkW2YCQpvYsKjVyXU4kFNgF/8dO4rFcZn+OuPHlGOJmLLGj61A +VVkpigvzUV6qxUcTu060d0Vg8AgoCRo8dnqmIpBwBIryc8DPjAmR8HyrcaN2imaoSXyKSIz2Cyna +U92ANslwTe1RQ3OHfNeENqfbFIcVHUWEDHVu7hFiRA1SOEq7FNEomU/CZzb8FzApDEhsRHsTITqR +JINWNJZFFiNxfJGWm5OFKvHVqZTQ87IScYCvKkO5VFQfI1FZY+T7MZWlGCuaHebpoclLmyKgCKQW +AkqCUkteOlpFwCBAjU+B+BrxM3lsGVbMndKFDJPotTu9aGztkI+Y0UiM2p1SF000SqJNos8R/9bc +7jJZhmmGo4ajQxy4ffLT4/HL9wGjRcpg/TQhDpmi/bDMcPyHFfAPIVHkVfJDWqdWhfzCsIiIRoVp +AcxvEQbW2SJ/M2d3O9fqJ/pv5pBQ9DX4TeTDbo1pSrQ2waD8FGITCTGPmKhIdDicLHEwZjR5QW4O +siXNAclerkRh0fE4n35bQmTKxBF5itTSGltRggnip1MuJssC8eMpys8TrHPVhKX3nyKQZggoCUoz +gep0FAFqJEqL8sxn5qTe8WBItlPMaC0dbrjFrEYfJJf53WV8kFxClppF0+QUMxu1S/wbz3F5vSZb +sUs0UXT8NVREiIahO5a2RSKhLM0TiQgbyUgXGZLj6MMU0VB1kqouP+0IWTJ+4JZZyvQe0Vx1dmKS +UVpaG5aJyM/NRllxAfLkZ578Tn8cflcqjsj8nYTHJjmbqsqKTd4dkjzrb+Wi5SGx1KYIKAKjCwEl +QaNL3jpbRaALAbv4IJUU5pkP27xpkeSP3ZvRFkm0GgkQNSz8/bCfonFxiraJJIKkyucPRAiTECRq +YzqERFGz1CHaKR7T7hITnfyk9sVocIQw5eWKf41oZ8iXqAFi1u0i0cB0Mh5zHMkNj+G/5X9GQ8M5 +FOTlmKgqanRyxT+HGh9+79BIK13tioAi0A8CSoJ0iSgCikCfCDCKqUAjmXSVKAKKQBoioCQoDYWq +U1IEFAFFQBFQBBSB/hFQEtQ/RnqEIqAIKAKKgCKgCKQhAkqC0lCoOiVFQBFQBBQBRUAR6B8BJUH9 +Y6RHKAKKgCKgCCgCikAaIqAkKA2FqlNSBBQBRUARUAQUgf4RUBLUP0Z6hCKgCCgCioAioAikIQJK +gtJQqDolRUARUAQUAUVAEegfASVB/WOkRygCioAioAgoAopAGiKgJCgNhapTUgQUAUVAEVAEFIH+ +EVAS1D9GeoQioAgoAoqAIqAIpCECSoLSUKg6JUVAEVAEFAFFQBHoHwElQf1jpEcoAoqAIqAIKAKK +QBoioCQoDYWqU1IEFAFFQBFQBBSB/hFQEtQ/RnqEIqAIKAKKgCKgCKQhAkqC0lCoOiVFQBFQBBQB +RUAR6B8BJUH9Y6RHKAKKgCKgCCgCikAaIqAkKA2FqlNSBBQBRUARUAQUgf4RUBLUP0Z6hCKgCCgC +ioAioAikIQJKgtJQqDolRUARUAQUAUVAEegfASVB/WOkRygCioAioAgoAopAGiKgJCgNhapTUgQU +AUVAEVAEFIH+EVAS1D9GeoQioAgoAoqAIqAIpCECSoLSUKg6JUUgXggEAgFkZmaaT7o2ztFmsyEj +IyMtphgOhxEMBpGVpY/3tBCoTiKhCOhdklB4tfNUQoAbx4YNGzBlyhSUlJQMeuhvvfUW2traDHFY +tmwZioqKBt3XUE/kBr927Vq0trZi/PjxmDdvXsxdhkIh3HrrrTjxxBN7PG/r1q04ePCg6W/OnDmY +MGFCzH0n4kCXy2Xm6vF4UFFRgcWLF/d7GZ/Ph5tvvhnnnnsupk2bdsTxGzduRF1dnfl+/vz5GDNm +TL99DscB69evR35+PqZPn37E5aqrq/HQQw/hqquuQl5eXp/DOXToEDZv3myOGTdu3IDWx3DMU6+h +CCQaASVBiUZY+08JBA4cOIB77rkHq1evxpe//GUcddRRvY77v//9L4477jgUFxcfdgw33/vuuw9+ +vx+TJk1CS0sL/va3v+G9732v2az4+2uvvWY23OFqb775Jnbu3GlIwd13343TTz8dp556akyXJ4nj +mL1e7xHHP/roo9i7dy9mzpwJEq277roLp5xyCo4++mhQE/Gf//wHp512GnJzc2O61lAPImF74403 +0NzcbDZ+zrW2thZnnXVWn107HA4zR8osunEODz74IGpqajBjxgxDrG6//XacffbZWLJkiTn+ySef +NLKkFmk425o1a/Cb3/wGxxxzDD7zmc+YSz/xxBNYuXIlysvLjTyamppgt9v7HBbXIj9z5841WjD2 +sWvXLlxwwQXmJ++Jk08+eTinptdSBIYdASVBww65XjAZEdi/fz+WLl1qNhBqhKzGzfXVV181m8qi +RYvQ2NiIRx55xGhAli9fbjQ9VnvqqafMcV/4whe6vuPGYr2VP/3001i1ahWofeC53ICpMaqvrzcb +KTexeJuduGGTsLHl5OQYokASRK0JSQI3e2q/pk6d2qU52bNnj9GoUDPCMXbf5N9++23w88UvfrFL +y0WSRxLJc6ghIkbEinOihogaBxIJ4nPsscfGnRxxE+c8s7OzzVwpQ5IFkiCSHM7V7Xabf5Os7d69 +G++8846ZN8/pbgqjzKkh+dKXvtQ1Vmr4OC8SXPbNf1N+nCNJJjVGTqcTHR0dZo7ELt6N/VOGJLNW +I3HnWEhKSULLysqMlmjbtm2GAFMmXLvRjeSOZP6KK67ArFmzzJ947h/+8AcUFBRg06ZN5lzKjC8E +1GayP65Prg+LcMV7ftqfIjDcCCgJGm7E9XrDikBjhx9/e7FaNnvAGwhh4YQCvH9F5RFjsIgCN3cS +A6uRwPCtn6akLVu2mA2GpjJuCtGmBm663Py7a1lWrFiBl19+2ZijqDniefxwg6RJgxqU97znPWYj +GqhPSqhNNt0HvweEggj7vciadhTyzrz2sLlFj5HzskgCx/Pb3/7WbNY0gzzwwAOG7HAD5L9JCDlf +agSo/YhuHPfChQsPM/NRm8A58XjiU1hYaP5O4kUCdMMNN+Ckk04y5w2U6HHc1FiQXHCMlAc39tmz +Z3cNi9jxw+u3t7ebn2eeeab5Ownrr3/9a6PV4PU5/meffdbMkf/et2/fEf4z/J5ENVqTRSLx2GOP +gYTZkiV/co4kIDfeeKO5Jk2OA5UlQi5gy1WAvwXg8sudLDbGm45Yp8899xwmT55sND4kcWyUsbWu +OF76AnHOJDI0391///1mTUebB7lWuZYtAsR+SktLMXHiRGzfvt3I0JojMSdp/vOf/2z+TvPocGu/ +hvWhoRcbVQgoCRpV4h59k3X7xUyyuw1B2QTc3hAcWb07+JLIRBMgosW3YZIEPvit9sorrxhTBDcj +q3Fj5uZrkYxopLlhcHPiJkQfE4soUetETcQll1wy8E1TLhD2ueDb+LSoPQIIe51AZu+3MzUIzz// +vCFcbNRwcZM744wzjBaD2ii+6XMe3BipaeC/OX+OM7pRm8JNOLqxP5pfSHBINKqqqnDCCSeYvqlR +4U+aWSorjySgsaxK+rnQ1MUNnua5nny2SJKooeFceYxFRPiT173wwgvNxk8TJcdIOfAcajaitX8c +D+cYTRAszHh9fugfRK0eiR0JH/EbO3asucagfMDCgnHDw8LUxfRIElQ06QhYiAEJ26c+9SmsW7eu +i4hwLLw2NTY03ZGkcUyULedLrQ9JTzQJIpY9ERl+R9mS7FALRJLMxuOpXaKJk1ogbYpAuiCgJChd +JKnz6BGBTAn4yRbiExISFA4BdtvAopxoLrj33nvx/e9/32gGqBXhhs8NIrpx8+cG0p1EWVE6JEE0 +BfF3nkvtAY/l5jxgrYF14YxMZDjE8VVIEFuGPWIK6t54HfqzcIOkZoqN31GDYGk6uMFx46eGiASG +jaSGmqHuc+L33b+zrsl+SJ44T5qf2IgXSQv7Gmwj8eB1+ZN996RN4oZ/6aWXmktQS0ItG810PDb6 ++jRhWUSF8ycOscyRx1BWnCNlSHLIOZJwcI7UpPTniNz7/GWh2vLl00mCMg93aOa1//Wvf5nTSaRJ +LKlhIymilpJjsdYkj+W8omXLOUe33mRIbHkeTbbRflJWnySz2hSBdEJASVA6SVPn0iMCdluGkKAM +BMR/tS8ORBLDj6XN4YOfWiD6+NDf4+c//7nR/nAj7O7vwd+pOeDmG/3GTcdkmiS4UbIPbjIkQBYR +6a6BGLAIs8TvRMgQQkKEetAEcQ40b3HTu/LKK7u65/f8cPO2iAqPoXaIGi02alO4eXYnaTQLcV48 +1yIj9Ctio2aLmyc35WitGI+1rjXgOcoJVpi+RTa7k6DuYeH0Q+L1OBaOn/+2sCYZs+ZIMw+1Qd3n +uGDBAmMOpDbFavSTIkHgmuB53WU51DkiU0hspixSaoIyj/QnovmuoaHBaOeoeSJh5e8kQRxL9Jrs +Ltue5kfTL/22LK0e+yKxItHnNaKJobVehrxeByN8PUcRSCACSoISCK52PfIIVBU58MvLZpqNhdt9 +rr1nTRBNIvTroCmBDrAkBNQiPPPMM2aToImFv3MDpMaBTqU0p9AXxmr0B7nzzjuN5oibME0IdJb+ +0Ic+ZDZZnkdyQD8jmhm4sXTXKA0EMVvJeJR8/gEzN6OlcBwZicVxMpLrwx/+sPGrscxV/EkthrXR +8c2fY6Gpg6SJRIGaK2623TdQmgLpN8LweYbGk2gwGozmGGpCuFFS80L/GWLEa0RfayBz5LG8Ps1z +JBn8N/vrTkI5do6bmgpqarjBczyUHf1jeH2LhHGOlAsJL01FlFP3RvMn1wQ1aJQ7zyeWNAdZ5I5z +ffjhh7siqCzN10DnZ46nFmjZqyLITqf8zMMjuzhvmt6sRsdtEm5qJ4kHtXeMViP2HB/xiJZt9wg/ +klU6zXO9sg9q2GjeI0EnqeL5XPv0QaL2kFhxfkqCBiVdPSmJEVASlMTC0aENHYEssYdVFfYfpcOH +PonOxRdfbDZ1vulzM+WGSf8LbkIf/OAHzabKY15//fUuc481Spq2Pv3pTxtHaGpQSCRoTnvhhRfM ++dyUSUbosMprcHPpKc9LzLO2ZSGzdGKfhzPn0Uc+8hFzDM1dJA8kAyQL73//+7tMJpyn5XDM72lu +od8MI4aoxYpu7OPjH/846Btl9cl5vfTSS3j88ceN9uTyyy832iLiSu0Zf7c0YDHPL+pAyqKvRg0N +iQtNRdTy8N/c3Nl4/csuu6yLvBB3EhgSOcrk+OOPP8LHiNe75pprzJwoSxILatJIFOhUTUJCckuy +RQJJLeAHPvCBISQoFHKeMyVmaGjatDQ4XFvve9/7TBQjiQr9eWgWtPCmDLv7dfFCF110kYkMJPkn +6T/nnHOMo/gdd9xh+mMfDJMn8aH5kOufLwHaFIF0QkBJUDpJU+cyaASo0YnW6lgd8a2Yn+hGLQc3 +jJ4aN55oEwqP4Vs3SRM3Z0Y1RSflS3TyPTrN8tNTI8mxGjdOq3FD7+4U3NP5JA/RjfgxDQDD0Uk8 +zjvvvK4/dw/RHrSg+jiRhI+f7o2+OvxEN0Zw9Zc4srv2heczLxJJEE1HJATnn39+V7dDSbA5UDyo ++bF8t3guiWp0FF+0bBnS31vjcdHHUjtEB/odO3YYTVG03Pi7NkUg3RBQEpRuEtX5JB0C3KwYNZTu +jQTQij5L17lSu0cNSro2mr2icxCl6zx1XoqAhYCSIF0LioAioAgoAoqAIjAqEVASNCrFrpNWBBQB +RUARUAQUASVBugYUAUVAEVAEFAFFYFQioCRoVIpdJ60IKAKKgCKgCCgCSoJ0DSgCioAioAgoAorA +qERASdCoFLtOWhFQBBQBRUARUASUBOkaUAQUAUVAEVAEFIFRiYCSoFEpdp20IqAIKAKKgCKgCCgJ +0jWgCCgCioAioAgoAqMSASVBo1LsOmlFQBFQBBQBRUARUBKka0ARUAQUAUVAEVAERiUChgRlZkoF +Y22KgCKgCCgCioAioAiMAgQs3pPFgnkulwuhUGgUTFunqAgoAoqAIqAIKAKjHQGPx2MUQFnhcPhA +U1PTxGAwONox0fkrAoqAIqAIKAKKwChAgAQoIyOj5f8DzeXMO5LoDyUAAAAASUVORK5CYII= +----_=_NextPart1_79e1666d-a7fe-4069-827b-ae9dec05908f +Content-Type: application/octet-stream; name="oledata.mso" +Content-Transfer-Encoding: base64 +Content-ID: + +ACwAAHic7JRlUF3Nl+5xP7hrcIIFd3cLEoK7BA5ygOB6cHcJLsFdEtzd3d3dPThc8v5nqqbmw517 +694vUzXP3r+1up7uXr13dVdPjGNsZP8i3IT4TxKCgIZ4fUOEgPsPHuS/8Y/QId77397+Nv89/9Xb +/+i/lV7e+bt/0O97B/MO7Dt/9xz+HYR3EN9Begf5HZR3AO+gvoP2ryMAgfEO5jtY72D/21n4H/33 +0RcI2/fHEeIDhCSEzXu2h3D7z1fB/1a47yfm32tB/hdjWapizH6jTUP+x/vCAIIVghOCC4L9HQ4I +3vfI887/ufAhoCD/4//8n8yBeieQ6v9ikf9C/7fr///W/9P6ru9v+qkXoq5q/58LU0hmD2wJjF50 +UdEYJmv6tC19ka9lyDbkVD49MPE/NfNzjGeXtGF6STRW7mqdept+hJUTaeN9rbFcLS+XLE+1NbNh +lrWxobhfe3qt9Mp4NmO7GxnhNR9Ld9gbMz0bTSEjWtX91eoG+BkI7IA855jr+ILWNyVF7ApRVTt/ +zkEIgJ17xnr9sskUoXuK7zwDzmWt94v1mSSUIsIHGdX4T5JKweOTyOJARBpao+RiRYyxcPlOwvYV +sHD5T+L07bE0dS5A9SWyNHUvIEkJRZCyIBlaA3JpI/RZ6nx/MUWssTx2LKBKGeC/GFqj5QpHQLLA +deHDmLBEiOGLG6IEsqL02eFTGp78PJ1uftNhfZsPAotAClvy4K76EIMZOl2bGFiIdH0kM0YpvTdE +q1hb0hnPKgySkrTpVjddM3t9HzRREU18hUTgqAA5xWTWEGn561mPdQ5w2C88C2+TH4iuYpGkOJPB +JjJkDyKm4rf50UeFltfETKv6yo9fBgaDJ2yBb7EHH9tfFfltEiI1gcNlNSxNL28m0t6VHRSFl2io +jEUYxERf7g7rovd8AxR+fcn+IjP7bNNoHBpBlkT+peRXkNNgghzlha6f/PP3UG+Y+9buKFaAoc9o +p8NUcJDLhDHjYh+FCJe7w9Lv/cpH0wuuMXIf2+WMJGhya94PIOgf/VBTZx5Q9hXEMAONLNAxdXFo +Aw9XyCJj0cgQH0+Wde1RJUBtzU7XrDn9jqPQUlfdHNefpKTJhcOuzRVl6LIeyY0+3PDKxcB6oafC +/yZcIX0kO1GKWRfhU87iKjq7VKBfJ9sReeMnDLlYEX8QpQ4qEqUZGR7duJp7FB6Gm5A2cS6ISqqI +8cO//tDJbth9H+rzMl9f+DghvX0y4m5b6x4cNDWPNgeDRugDKxPFA3LKS4dlzLaf7xACbZN2Nrkj +92XbOe9AqbPbsHDHEPXuvr0h6LGgUeBuQf6GzdHURTDypWYBwZzTY7SwKmbYNeHMC/hM01kHVmX0 +cxWi8vRD+S/8alhL4sHZmIE0WQlf1u2M+QB0mYcgzBbjEDoZYmFQJyZ2ISC++1oEndLHiftqMAuE +Z9M80E8qMVIq7YS/ZPkcvCYTefnQ+ZTAYucDSqW4a+Ws8L2bF7Hyu7sdfmjlpFjXoXwU5NT8ELSV +8K1EasDjCfNKn37uvNfompTYukF7ag6ioAgdGweLc0JulDhKjw/k51ssxa6Ja1IH12XUFMSvgdBq +odphCcCzLN+kRedDFeKo9feEPIC5PoVUDeXnRlpDrWGZZYS98QfzAlDY/T/AjQ0w3WLcdwOj+FpX +MpaRkaQNSQM/KkbERvrWEcBpUhrWOqOP9HDQUzayGfh3kfusQ/VNaaY3OVRvfNEChh0gLAwQy+o1 +sop2s4WtmC4IpYYS6xEXDLDNs1ORQQvvPQpA3ouFaNGM3KYX47JDK7A1FOuJt01c3O5N278KX7yh +pMPebFhj2ojOrucHOuCl+dhyQmZZQLUNwHimIN7DYV18BuwU9sB4mkBfxt+mJRfZoqxbQukbQ9kg +vTljXdgSanrXI97rY11k0GwEj1yZWMGsR2xGYXva5Epdg/aXv9gDv8InyaHV862EbfVD8VGgeBf3 +QtO93LBC3rFD2vYjuOQcvNog1LNuZc2IMyCBIak6OY3ZS4SMIKSJaqlWtOH32bssHE8jd8SP0JSC +zak6iNpNvfgphSweW/JUKPF08HSGzohvLuLtC066UlWEEmnuHecuKaEMPTKICdlnsmR4/ENhJpAn +DZnPk1DdJDxizCGkfQHfNiI02u6dZfhFeURQF/sAmgBQhw0QWlGcyI5oqSMnG8D4nkqyASFBXFXv +ftp7AgGhm9+TLRA6OIjLzhoIvR7EdWEF9P8DAG2sT8CREC39jBeFRi2HZIg+ULBCDyhNseygqYEd +YClOUzWh6rwVzQlljZbQJKPqFBOnunkNTj4VXk62NCRRa1mmhyL0h9MFdYYWCgMVqs9APqaIVaZS +ObwWqLIN5JihiIocaEkH5Cni4n5gYE2JOCYW+xxM3FCgk0xZTZVsPI1FUS1MNnzuHOGce5XmaVi3 +FJrUL8ORr/CEqqwjCoLeryshH7+mjGH7TaaIsfCpJsfIFniiJLtnmIutKCi8PFFJzvuyQJOwGIdR +FAyap0z6OjsJli6DzY+0tLQWvZVXHLsjoBKMtlAhtMcjPDCMJpAp5zUKB1PlcvVPFn51F+EhSJ3D ++k16+BoWeGAYTiALJAa14otYoSPGnHMsIjPA3ZWc2xfr41uFQRx4yPeJgtvX9wg+GCWwwsvk7cU2 +zMDLfmtxo2I6miZpui6ktNATTtFMlpwqArOxRudZvJgak8oOPw72CGCOv8cpxri+2/hQN6rRI1qs +a5mV47+x5b3NUC2T/o+l+4+lPatEsxdbU5ylgPDe8Y+VOv/XuvinvTSnRDNnFsvx3j9C+b30b7ws +ylK4icWuJuqWhWI+84NuvT99yOg1DtUl+SpB5UMhOMNY0dxHygwFlf3tctO6Fz7DFx88YFAxiAOH +XPGxvAHT4rZbOxJ2KL59HtiCbiFRgJGhUMVK4EvA1snHhot5mJb1iS3eQoGWkoNmug+FIDsqIl/i +8f7SxIxN0ZGNvM90KYUcK4fShDrWMlODLf57QTwiJ822bZBCURQKeax+hduYQgFihkIya4ohu2mX +o2kZ9ZSOUiVL/HdRU7ERK20GGZo80lR1Au+LKSwzts+Hpvgc5bUEbI/v1tvVjJkZ2+jBX6v8X5b3 +7ZGaGVuFIxtK6p5VUERbgVqf1RmzKc10umKQ6DTUSMzkfM3QvR7tGWv899x4owmO7H+bt7XHbMbG +hJ7Ccp3aF2zadZRt0dnVu75GPQhxNSNPkpL4T0WLvxVhkb3X1TsU+jL+VmwZ/VvR0EhSEpY9Rf2f +Qeb/GsSZlD9iev/XwQX+yzGvbB9S6PP/O03snw8x3Hxkr04ZWOh0IoSZPdQ0J/RNJGSId4cVGdqi +N8srd5Lxj4x1n4g5ssKAiL72S451P4pBencmY46OURqTOkJm5IM5evCL0QDFbUEiErs+BBZEJFPK +JnmnFjK3t5A+FUMmIzLLRzFBBJSAHPJZMi+I39x3hmJyELaOpbOSCeoSjiwSA/bTdiJ4H6AsnEIY +OXZQswO5ouswakNcO+BPN/tDTbeIU2QyimPwMOIBGL/1OOp8BB79ogBDKFGw2rMYIsta2JA1rQGI +mlDwKCJPBIyaWm9hLA2/uRrozfj9nA/mQxpQQnnCyWhjB8NCZDnaUi2tPxgQKNsYx8CC6FD3TC9y +x3FyH5V1s72oh/kqBhi6NoaWNkrw1wYf9xw4JGHWY3CQUanEMkulC2lURJxerpiM9Gy19eQja/X1 +hGR8bQw19dL+POguFADKARriHVy8IojCMp97lgpxlZHfPBkWurLmuuRMzGe6YtSx0H3qLJp2zYYl +7GO1s4nHlRJ3SsJDSDl4gy1dfxINwC66nuy6PuPcV9GRUYnvNF4QgvRVcqODlEv152JIHbkFsZGK +ijKAYUu63bCCF6y64mqS/FvYzDWgit5dCC/8mpBMTBXtAoEMMtMeumB46mUstgBHYSy2VFQCqhdS +dUggi168dOzBxM9jYnIx0rJogQV8N0q4nc69GCtjLjWhCQq8I0o8QkrbER9dICqvm1VH34D4TWww +Pi9MFBb0VUwTBruI/kidrz7g8Ur/6oS4CImXQ80u6EWUNqA626wYgAI4fVL1DwIT3+ONZsG/fLiR +v0y5YpRNnXsVzmGdRnnMd13JZfRU/rwObecT+ylnIJfJxnTY+QNxY6CEbJT2xzgCXjN15INkLPIu +4ueEGJnwuor29/v4uThPUbbxAFuAQ5ocQOBDhXUcpTbsOMXd4l0DhzGgj4ljKYsRK3dcCahJkni+ +wHT3HBDrDyv4Ii5LCGI7pvqsjwGnMQen0WutMwF5Onk7qLKNQSZNuQSTc+b/zVBg75GZzE2Gcn+I +za6CEfpf6WSIb09HZNFtSjcFljiEasH82yqxLB8L0QRisaV9gTZcPo7EtLv0gDbbDGrtn+8MJiBz +cuxY/ECxSA4f5/i+7710MR2D5NuEaCn5mWTkHvJ65DhWMDkTaGvQknK8vz9PtfZNUFkjC96KeD7q +65tnKtioiU+mf0aBqr5VxoaqqV9B4ML0/bqy/Fp16Jou35EYGxp9Dy/+0czvV4N4E+FjcEF3h4wn +jyfhSb/nDTT0CRlYgRpBVH2jcI5R9A0lVIKkJgQIh3voInHugdPpj4Ef8Gki1p0um2mn09lGtQjA +qJsFG1WFgD/obvsTgVF0VVxLlJ6zvVIb0aHzigOkWJRnT36EkuD/+WFzyWin/+POxM9eS3Acmypj +aMT7Yc0WoX975c1t7X0uArYtkOE9oYRHzXUQAaCsUT+g0YYg4uE7eTYD2xd/BoTUMkwyPJyYcMk8 +hnRL9n9HX4BeaT9zxf+szbSww8xMg2L7JEUVPZ5YFPSwH5UISnWgvwR+qNQBjXOrntect5pKM246 +eQ8NLtJqKDK+2WQXyvcq8c+h3ldzveraJzl54qWsfzMCWRQuD/mXlzmT6VWZgs7Lx5vv3YUcj1nL +TqRcs4bThDN5G92qZVRStv3W70j4NkiEBNvnRyRfhmhWRhWj1zE4m5UXS+xuG+cxTlSzTZZ32kdd +eDKm77Srg9n3JVYqQpodg6vNdYZFVZTOWrQ33Ert5tuSq3o+t26HFPMPhzMLaN+VeATK472dt1s8 +dXnXno/gFMJ7pz0POS1/6qbONhef19sXrn/JuZwEObNLPyePuYC87+wKp1KiK/SJGfmVBT36T0KN +uhmwooHp0m0hD72Hnrt5CbLWO4U8HG4/9HQ9Kon3ujR3ZOMw5EIVcDaip/wqwcROHBM2j9MW8IWZ +o8ceZ0D2yl+Q3wK/Q5ZeiUTe5aH4LqvVB2s8pdfULCphl4G1m4WOVhO1Ki331rabGZcM3W7UdUeK +I1J/qQTTfi5OrnMvx4uNS3tZLEHUcInmiXF0Vts5/FD/O9MDap/TOf1747gvWKcpL6N8I+N49dRS +pmQ/r9ahL6JhxlK0+Hi06v76k+6jHhJZ426pE05qhjQ0g/wTcUrN7Lkid4WAp43n3ngxwxzsypl3 +lV2GaTfsHXtzO9jpkim8OFdrW163oGtl3+dZVC6DnIAJcUIea4NJs0kilKOngq1zjy4LTye+3lh3 +c9fuEnxuU8yvCFp8gw/RmWq5HtzdT9Rrddz/M3NBZsOjwfQ6AK5ax2R4GqcufDE/8eKatC1fbmIQ +1CG+i59Nt7a/A9tUh+kZ8K0e3GaU2Oofl3RZpLloXH86+1N+5XqkIfhMNK6iUu2O8rzrWT5eboPm +tbxQRZmcksUpKXRgBYyqToufM+zxRDd+mtwgM9c7PfMsOjzGz2nKLziIdDW7V+JPjFprbNgo1Mcx +YW4qxK4feRZz7xgNPZ3t7C1gvAYvpmD3/558HuweJ0nUzyDiOo0EZVYdRB0HWM2CSdQ9vgG0ver+ +PPasV2RVnoLPomxBx/BMNng8jSetf1rKDjZHV0xoBeTvdJvdb6ZxOEmCmcdfujzmklW7pYQIwA+n +1cWFbO7YEp7HF9ODoerNldSjDekNL82kvgYtN0j8hByOl1zjzCc9WyOs8on8gg78adqJLdmyxxXF +SWZ/dodwLkFTSIkVyuveW+01cx6DoR8LabjlqgTwCPf2BZyN7RG/H9AwGIU2WIV55ysvcdlshVSS +NAGYstTjpmzjPBXKf09u15wN/j5Vi9YXRlhwGzqTiKbJPuxU+QEykFhbaNDJ/xUquGY23FGolnXS +VhfR+sx4eUmxu9gyL59vRVaA9jvrWMh0qyF4Npc5ybx1+aBu5yibu6IRt3Vd0c7jwUKhzcUh+e02 +Y/d2nXSEAU+oOsWDYfh0l/a41ECgilioUf5cp/RkFkcHXqGVXe5Wr3ORbh36jrblpUfeqUh+fyKr +tGWOeYFLpu47twrT2SwSxxlvcHtrbTjLb4djp3oRg10o/cff9zzn0BVZzYqVhxrO5IYio5vc22Q3 +J31eAva3G9FBSXh0J+6S/DVXclbsO4ODaWpqz+WUay2eXrqu571ltVbt9Hq4L49j5+1rQuuUZqfk +zbkqY172UagtrIfzS63DfIphj9eyapdz0o06NkpTK+tu29P1+8RIUbZaDycP3bXxFLSt4LZ76dG0 +1BTceazxMjugmkTRmVMEKeW6oq5utb3pxeAhTjj8cq9TbbVTZk7ybVVCVftDl/G3BeXSXuk/ePtJ +bwnCF/rlq4nFvsggVbw2wqmR2nQHCpOmeUmWGs0fiwMvwcvH15mFoEamO+VhXJewVaH9odvQxPW7 +xAel3cZAukfe5SBiNPsUr42ekw7BtMx7D0eyo/uMeqCsmK8lWGK4Ik1AN3xLHQe84uW3nwANZquQ +VnNJ6Y4PSVyVtvW0lz8xJRnTO7wSYH4d7thc/RoPG67k5tk29qKVaY5XH0YJNf9k0MzN1HJeXXD1 +miR614XbrGVLeD95rKw/jahB7I0BM54yeI5RdzJOIMr0Sd7dMfOXfbYX7Wuy01ayjmCcOvjus6Tv +S+Huj4ymxL5GWhKEclLpgIzh5e5mM96yIfPqz/ObyMuJKCTgFvvVSEpVTDey+u0T5TKi9dvEKsZP +m13LSz/yTYbtH+mXSJ+oji/39Cu7Kj7L0a9nbYK3Nf9E/64C1VauowrrlvPeFxu/PRMFS4GYgKRs +X9d2PG/bGJ488k68tmZ2wWVZd7ceuZbemhi3u1m+a9GfQry8gU7SR5NbT4oVIKjqcQevlaUwG17E +tlMB8aZT145XBxyH6fqy1jqWgezpPOXF8D/tJas6NkTXjwvob6pW47TSUhxr91aTvyujMt/K9hdX +K8nu7yOXH1WNZx/2JR+ar9IJDWSt2B26ayrcSFoKK5gFT2M3p1wTJFjLlx9sNdy/wt+sewW0no1t +DNqG8z7VJwiks8StvmhNcdjeqcZ+Ow6Wh3d/4dJ+lJXbSOJ6KIw+NfRuUV7zkB96roPeT9I9RBdo +uhi5KxTUQFD3mhq5tK6+oc8iFe5bVVRWQ2NqrmoBrYQ1q44DeJuZn1eT+puLT/qFWjAZSPfiL4GD +FVbiJQV4jRX4npYWbt8Vws+6nJherNDGZMrcvjcW7ns9yUZSIbcGlRDxZo7fCS6Xhn0yrHe6OPKw +XCsmG+8PGxYQUnoIEtxdRJPUUuUiGXhM8TbQvrFaSiDVezxBw6rR1+bbXa4Vl4Dn/grHk5AwQHzW +jLfi3KRxL/4dabLZ/tgTkUfLbsa58ffD4c/BzfC2jyvPIr94ZX6bbG+CB7MdzOvPgMt3xgZOylmp +a+ulfEIXT5ZXC3GjFSeAaYFqpIK7doGr3qu9WXKltCeFdYEy9bmlWnGxgY6ia9nPzMFCNrTlKzTb +piBhlqL7qZ9/vjuHz0V4pLScx82v2TKfLGfM7zbhve3dc4O7LXUWXPRrzVV2r7gqws7r9Vypmi+K +dj+GT41FU2I13Xh77K5sk89nNocn8mnC6bo6SYDtEuhM+mt9idxtTqaPbqmPfzVG9asvCmV4fuL1 +0D9P8sa+8t5aNKC7TTd/c6qnrSbVG7HN0NfWvNq/yroj1QUPW2q35yqlES+wVOkNpP1qHn++dJ7h +vtvz/prh2k/Zk6/iIjuyLL1fMP9HbXwwbeGuTqc0luH8/uylqFY+PrBy+ImarPS39s+EZ4tZa/fX +T7HHcC1Cgpbm3usxkdHCgld21tcWU3nBY0/On9pfXYn3LxalWY/yjcOFK77+sPWc9FyKQQ0YvRjN +vOvG+7zMbfdS4Z91Ivy0jNOfkXvKJTn2NDQeyP3sqs70CFp2ragW1mmwRhtp/DVAZnG7z3d1FiCk +Z3WujmndBnBkLspgi1KmGzvfHrVQFdwe2UNO98sSP+02FngScrdu742+yGLmq2FxeHvOx1Hc2jgW +JSBKxSI5HyeqPhg4qCQbjTrdj+O5ti+sAVEWjqgHCNvECe1TngdwZb60vPjj0pEs/WHWt9+73tF4 +0KFQ97q9HPdTs+Lzrn9TGF9Kb9ltZzb7LHDmxvKDOxupIZGKaerEk2jS08xdhCHJ6PzRWV0v02yz +9Upid3QunLvHoV1psf58IbKponrh1PdwWaO7w45dXlqkPWs6UCSxc5WklfzlVQZPd3HvPPEg+YCb +ockuFlEVHQu1CfOgq37uVj00L5rxgp+WccMcX8JxAq7Sb2PoAHmpBBEnJpr6GkAqr+jHUEalOd/p +i9wejE5xTyBpiiEfyglze5RSfN+gCam4LPInn2cl0qI06Q4Ou9PA2PPmiuFC5ZM9bF/XfuPGFFLw +NesMN59AOJk4zVIHMA/LifyLzO5AcIKWgGdeVv90aXVkoLqLGIJ21LwfY0wfJcRtar4hqZsE2Q+d +yxMRNzdeEcuwoEm4rezMW6na8s2mOjIjeMoiDwIoJ1C+V3u3ZU5IbWrf5Yjl0ychXwQKkw26y365 +hBKFQAE59B0yug35HWPYJdFwTBSZszUhsQ6NYskrjlgF8iQJxD75r37JQI80GRVpNee4OLS0YTUS +SRU/lFq+ZhMRHzkUNZG8Kw1T+Z0qhRLlKNzO2QKxFNKYAuxIf6D0MJQfNHQ3lFQ4264fMECafFjh +OPNj/CbyjD4mrepVf5ipit/MzQdREUdTiPJEhTEyPOoDdEJi+o1wyUUVqGKFvKDFyUULFagfAnod +eINTRt49lrseskUO/nYkWmMHMJKEiMhIABQUiQDWhuivcn6UdHY+pLgmZwlhxG6EWvI00hChX+kx +SrfVLEGqdA0Hr3YJj1g7iHTYYhtAh/e3Cs7+8oACcDDsMNNW1I1EphYM+0eA+hnV/NDZ9N6VTK9i +NQtru/6RatPcYVJKheo5xmPtRpt+o9Lr2Je7Zc+fDh2gyhpwpP3kY4ROCCD4DuWqBMNXowjhEMqB +57sYZIj9KBa4B+RmYzTKdBeGPJpCsMaUqZVVo8EhKK6r+o3ZjQ5z+n15K/VLJvUx1/AfAvcAOrLt +9BE5Ld3ezC4xUGFOvUgVsh2Y8NgFwjWLRNSpYNsRrkIYqzBr2xFXsb3jMIknI3K60k5OaFsAvlCS +h6nvUDd9rNsCUXHf5Pl9Hrki3qYjq2LSzzv7HlKzWojyDsUP97XIAT+27tQYuw/tv4a3Q21rhpKX +2jURdg+zeAKCynoPjRDIEMvcZpbDIZylEC+wis2vnDnwNn46EZdmQ3M6QsZr5RjOfUvIxZ4UVcJg +cmsaeotY8LbvoSuupDGrSpaie/q0kSe5o3ReQOJkB0S4STsXpzQR6zwQV6kPsPBkbQGo7tDBH2FN +dFUZcImLtmtDhI4tcE4z+S0tcNpiEH4sqg5Rrsa95Pl0QBZuWIOQiBjuehzP+HqsKXGxvkZRVG+e +Uh8SFxfHF47AbYXx7du3N02YXMmqz5o98cIO7q9OjGL39fUIRwt3HnshcqvE5BxWGKn2F9GSLNow +/QGSFwJXhS9OjBQ7tiCM1Sp9VWpnd2o9N91n5Ujask44fQEhXYm4Ow0vMguO8qzDNfPgzLnw2g9M +JWhogjjA57E+LvRwZH2HL9wWCQVVlzqPEHSUlkYztYaVbgmORM9W2jljL3dA2RIKkGdc3ApIufip +tH+Y6p6CiFbWVWGKagrcoChCIkOhJI/5URJ9JCkUvX4o/c8LHDCYnqgwpLvJN7snqCe6Z4yV4c8p +GZVzQDM/Woq1Oal7TrlgzRT2KbTAUzngV7Y4trjRonURa7NhSnXmpCokv8xC3w/p1jr1jupiBicY +EjeZ1ZVNWgBYzrANsYctDdkDAfnKkHJGkAG3OYqNjylgyMvwgUtEKEt2UJQOm63IAOUVnEWcSjDo +2xYdDOX+jQ0yI+VViBQp1P3J9evPCibg/Jw2RZOXEFsZzdg07kN0XBTKcs8i2it/eraubzpW8Z49 +tIg/91AiZizLER/fAhwHXQLGorWXLXqzXo093VP7INHFDySnBIg4jW/hzeb0akeusXKRIyT21CLE +JU8dEvSqHaFiFPHfzErZ1KiIp9TphDEu+j9O9hVZKkTJfMS4kLRnhYnnz1kK56nFJC+NXt8sFQrF +dPSJhxXGYf8ROp1O50ssBykrkZJCLarx8l2xYzyOLvbZ7ztWrBzFsMSU+5t1Xw0BUV8LAUPZuhkj +3zDTfmm/uXweBetOp0tNS6vC55z4ECAsJobWB/VJpB56JuovpGRbQfKILsolhQ55Q3xi8Bg/A5VT +bcoLD7FH/CDhbgytQitYjgzzwmNE4PmXjZI4i1wmXAJ5ra9Auzrkpdy/5sM7dY+buzQmwsnnuX5I +CoVE6xqpQmsAx4mQp1EBS+U0680MnfkEEKe6udc+np6m2CTNiv3BH9SWMixmKPDm5QK+HYDaqNId +O9Lh+A2HOtvXO8M61mc66wKvmXjBjhpPHtAGnC1BPIP6ufNCLTQuI2Pek7P07L0Eqz+O2mvrAUgP +Ii7IzT6lb6OrzCkzvHqhLS8+r1S4To5nwXAnZaw4+ZlPcyVpiGhnQxudt7a1hwzRtIHBrxrqpPk9 +Dgxevnr9zH1QYbSwBmhwuiww+2UbJM+kN/LtnQQJpVmvg2C4AQCAVqSKAFX/QsN+cW2Y4GzwDfFN +1ch4c7PHxNd5ut9N/8719YHCfNgv79rmUyCpwfyOHwbaH44ha88WqQzuzZXb0+fY6p5UbrehDBJM +LB1X23oysONdwVjgJoMz2H1vMRtRJ7PHzKX9V1cdR97VQt2Ij4/kLJOZ8zHnpvHGKq7Sfj7SOM59 +r1vUQfL89KFNO2dGc2BNGN1K/atRmOlQtHDp3qitG81JKXL9fGaTk/fE/2rXbv+ZQAAAjjNPMeaZ +idhKdmqycmISSh46IQ/JhVAnj5MxsR6Ya2UeaswVmbJ5aswl1DYPyy3hSpmVeVozbnw8NdsQ6Wl3 +f8K9uJf3/St+L35UN9QFRkWleaxUGi9K4Qf4nRpWoptfLIc9DJTT/9xqzhfQdcy2WuZRIT3tkTXB +7zUbwcsd8ZwM0YtUNJBpBS7V3xs64jaGH+rMSvnD3rDtcuriU+YbSZatJnl+EKTS0HsGwGt0mkOM +kW7k3ISNX9Yo/r6/JBeg1WZFpAxsg1/8jlxd9P1I6AgkBbx2zs3cYtRO8auKJ5gmFvYTZ++hv518 +0sPyaXEaDBujxaOunmpvy+A9YfmFJOcEtDf6YrHTJ0c4X9vZDqdBCVWr7yiVJQsJXQ29Y1Lb9c3x +iomuaokPOdpxMeKbpCqq786yYZ1bhvfWkIuZ4hf0LIp/K0wgwt/qZshSZ2OkVzY5wmtZG92fm+ZC +RXc45TkL/MwZNln6uRpV/ZXyTnWOX6aS9WhQ+NeBDfndu6P6oOhAcCaut072zN36A/xGx3ncVfJv +4MNkQ/vjpgUDsPoaLBSJdnfJD0dR5awwdoOwuCO56dAlwqe+pukVyyvcNKKs3B627p4+K88D1Tpy +DXepMAUtlsiawujsc3WiRDLsipcYTtTe57bMTS4XuKz0L8jerBJm+qaQzM4voOCh7+mpdQp7qsph +VX+jg8a6+Rfge5Y/Xn68HiNfv8ZjMxhS17RmprAPJMIs7k98ZV5NwBO6GJtG1SK35SqMxKv8jMka +1rO34LblEnpqeFh5QcPq9sTaTcyRpaMZfuqtwfFbzrI1na/P8lvC02yY+CIGBpfqSSNDlly3d2oC +UtIjKlwt8GEmBt3ywTgn/mgboBnCqvFM5jzLjiMUhocGISI36s2MWht3QlXBJmhajd62V7S9pOlr +x0HkSYpNoNrqeX289ZMEqNYo+Pkofc1H+9eShJdruJ4+Xxko6UeBehrcNtuWNzStXup6qcAy0rzI +VLZwj70Ro7RAnKk/5nB9MhKFMsLAoFh1GFQi50IvIfx7IzTgzgk0NV3QPPljzwM/X/9Cs7wZCeK9 +6cMQhLXVAgFLnXfIs0o+AEc+/7Z5n3os1/HoA+oxLp7HPeli+Uix+FK5BAiYDXLfPu5CIvFuP/C6 +37ztYCB5c5dG6RwhFq4OJiv3x+LQiY+ZmWRHGr77HGcvUGIMLJEOqeFGdod6J5ruiRenhy6HMHQs +gZj6/jgLj1RAaZxFGzwaP8hiFdfaiZMEOkS2qoXsC73MA0gT2k3DKoXgDxyLf3oNdgeAACYNw1US +H/4UQQL/jJukxLa+LWiARCmY+rjcQjFGLUabZ+AdVapG+8JFGlCslfyOQ05EFgd1BfY1JXP4+gdw +ZVU2PhRot/KUKaVgd1FwHAli7ar34hytRmHl+wN3J/fM2r2VqxVLOZ/Ol4kJCMSQx2v49h2fnYz7 +j7wkOow/rbXW5Kyoe7HELkilpK0tDue9orqVHnDaTp4lNubCcC0iul2e3oYDJMsmCGsAMc7Rg4h6 +CWcjcA071lMQut7r3fsqB2wAbzVNlIQKKvT6lJK2QvcWvd6/M3yg0/b1CPMQMYU4WjbryXL2c6MC +P2Rbe2ehivK04u5q8YP57Mk3UQIwczhPUf5cofJ7RfqJ/36J+t+/9DcRCRIF +----_=_NextPart1_79e1666d-a7fe-4069-827b-ae9dec05908f-- + +----_=_NextPart2_59cc6841-1d48-44c2-a513-965dfd30baa6 +Content-Type: application/octet-stream; name="ExampleAttachment.txt" +Content-Transfer-Encoding: base64 +Content-Disposition: attachment + +U3ViamVjdDogPDxbc3ViamVjdF0+Pg== +----_=_NextPart2_59cc6841-1d48-44c2-a513-965dfd30baa6-- + diff --git a/Examples/Data/Source/Email Templates/Pie Chart.msg b/Examples/Data/Source/Email Templates/Pie Chart.msg new file mode 100644 index 0000000000000000000000000000000000000000..96886a3d6ab9c415e06fb95d4a9a7dc7464a0ff0 GIT binary patch literal 227840 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
      >6m9aY|tQm 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 literal 0 HcmV?d00001 diff --git a/Examples/Data/Source/Email Templates/Scatter Chart.eml b/Examples/Data/Source/Email Templates/Scatter Chart.eml new file mode 100644 index 0000000..9ab3cd7 --- /dev/null +++ b/Examples/Data/Source/Email Templates/Scatter Chart.eml @@ -0,0 +1,1683 @@ +Message-ID: <058a5626efb049efb90349dcbc6c461a> +From: "<<[sender]>>" +Subject: <<[subject]>> +To: "<><<[r]>>", "<>" +Cc: "<<[cc]>>" +X-Unsent: 1 +Date: Mon, 7 Aug 2017 23:09:01 +0000 +MIME-Version: 1.0 +Content-Type: multipart/mixed; + boundary="--_=_NextPart2_2926c7a9-c811-4e6b-ba45-bc40d4ee834c" + +This is a multi-part message in MIME format. + +----_=_NextPart2_2926c7a9-c811-4e6b-ba45-bc40d4ee834c +Content-Type: multipart/related; type="multipart/alternative"; boundary="--_=_NextPart1_f1fb7270-67b2-4e2c-8cca-a742041c1278" + + +----_=_NextPart1_f1fb7270-67b2-4e2c-8cca-a742041c1278 +Content-Type: multipart/alternative; boundary="--_=_NextPart0_ed3faad0-777f-4e07-975a-a137326447a4" + + +----_=_NextPart0_ed3faad0-777f-4e07-975a-a137326447a4 +Content-Type: text/plain; charset="utf-8" +Content-Transfer-Encoding: quoted-printable + + + +----_=_NextPart0_ed3faad0-777f-4e07-975a-a137326447a4 +Content-Type: text/html; charset="koi8-r" +Content-Transfer-Encoding: quoted-printable + + +<= +meta name=3D"ProgId" content=3D"Word=2EDocument">

      +----_=_NextPart0_ed3faad0-777f-4e07-975a-a137326447a4-- + +----_=_NextPart1_f1fb7270-67b2-4e2c-8cca-a742041c1278 +Content-Type: image/png; name="image001.png" +Content-Transfer-Encoding: base64 +Content-ID: + +iVBORw0KGgoAAAANSUhEUgAAA4YAAAIPCAMAAAFvYgANAAAAAXNSR0IArs4c6QAAAARnQU1BAACx +jwv8YQUAAADSUExURXl5efX5/MfHx3Wr3O7u7mCe1svf8qOjo/Hx8bfT7KWlpczMzFlZWdnZ2aPH +6IKCglxcXKmpqfr8/nqu3eXv+Kurq2Wh2Pj4+NnZ2fn5+dHj82BgYLzW7q6urvz8/NbW1qjK6dfX +12RkZIuLi5S+5P///9nZ2X+x3o2Njdra2mqk2dvb29bm9I+Pj93d3Wtra7i4uJKSkmxsbJnB5eLi +4oS04PD2+3FxcdnZ2Vqa1b+/v1ub1Fub1XNzc1yc1cHBwenp6XZ2dp7E5tra2sXFxYm34TlmdkkA +AABEdFJOU//////////////////H/////////////9////////////////////////////////// +////////h/////////////+fa+A7zgAAAAlwSFlzAAAXEQAAFxEByibzPwAALmFJREFUeF7tnQ+D +s0hSh6Or5lVxb9xzjLnx4iWRvfHGv9HzNI46p+P3/0pWVTfQdEgFQtNQmd+z+05CaLqr+6GAEEJW +//ZjZlY/lpn5mi2+HcqikGfFcVXsnul5Ua6KbbGnR3pe7MpNWXzw02d6pShfqDj/Xz7za+uC5pbP +xaY4lq9cnGsK6WiRltxs6Mm5PO4PO26PitEDv8b/XsvNgSosv5XPLzRZcy7pJWqRQ9wWxdNxfabF +Lkg9qhddumCRa06tYvPmnwgrevmJHn/i+/VcPp/kyQ369LGgtaegP5sX1sjwOsJqnyiazY7XGpZa +nMqTzFLpP6pc1do9vUK6Pqbli7S465FECenfx4uCt1/oBC2GKA28u4eMLXrQYgVarFdDIlOLP2Rv +MSBpi7225Elb7AVaZNBixUwtIjs8aJFZdItYVz1okVl0i1hXPVZa/K/mgNczdYs/+MeGL+Kx+ER2 +eNAis+gWb573ZZK2WJ2MzkL/UU1F1WK8EeCz7W3i6cvTsv3quN7HnX+siJe+JC5x9o9t5hvVfKz8 +J5/56Pr0bFK+aov8eematnyHcs0fXbrP5nbPpXzIKhvEDb2442I8wS8W5Ypm7mSa/9Cs/erkF23T +0eK5/OCPxGiGq33D05KdG/r7XLy4RNvJyyuq9YPCovKrOoODZg5cT4s7RvUy7JBX/3iVha85NIxd +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 +YE5+/PH/AZZygCYldYx/AAAAAElFTkSuQmCC +----_=_NextPart1_f1fb7270-67b2-4e2c-8cca-a742041c1278 +Content-Type: image/png; name="image002.png" +Content-Transfer-Encoding: base64 +Content-ID: + +iVBORw0KGgoAAAANSUhEUgAAAkEAAAFRCAYAAABzOnmrAAAAAXNSR0ICQMB9xQAAAAlwSFlzAAAO +xAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUATWljcm9zb2Z0IE9mZmljZX/tNXEAAEe0SURBVHja +7b35nxXVnf+fP23mh8lMZuKaaBLNLMlkm2QyZiaJoIL7iogigmwKsiguKIoLW0RBBMWNVdn3ZrEF +pAN2A+Z8fNb3cfpbHO5t7u2+R6qp5/PxOLbcW3Wr6lWnzvt13udU1Xe2bNmycvv27eHTTz+1WCwW +i8ViueQLvmfr1q0ffWfHjh2hu7s7/PWvf7VYLBaLxWK55Au+ByP0HRzRqVOngoiIiEgdwPfgfwoT +hCsSERERqQP4Hk2QiIiI1A5NkIiIiNQSTZCIiIjUEk2QiIiI1BJNkIiIiNQSTZCIiIjUEk2QiIiI +1BJNkIiIiNQSTZCIiIjUEk2QiIiI1BJNkIiIiNQSTdAlyFdffVWcy7/97W+KUSO+/vrr4rz39fXV +9vh7enrC6dOnK7NPnIvjx4+HkydPDhsd2VfakKHA+l9++WU4ceJEOHPmjBenVBZN0CXIU089FW65 +5ZYhN2QyvDh06FD43//937B48eJaHv+BAwfCDTfcEJYtW1aZ/fm///u/cPnllxfXY5XMWTPYxzvv +vDNMmzZt0L9x9uzZ8OCDD4Yf/vCH4brrrgvvvfeeF6dUFk1QB6EXOm7cuPCnP/0p3HTTTeHWW28N +9913Xxg1alTxbz7HoORmypQp4Q9/+EM4derUBZfdsGFDuOOOO8KNN95Y7OOKFSuGRWOdgw8++KDQ +4uabby60+POf/xzmzZvXko7w/PPPh8cee+yi9fq7urrCL37xi/DKK690/Lc//PDDcNtttxXBje0M +tA/3339/EUg3b978rR7/3r17w89//vPw+uuvX/S6RPbj3nvvLUzp+++/HzZt2jQsMiJc+yNGjAiP +PvrooH+Dzhfmj7pCvTl27Fjx+cqVK4v2cN++fbVsX6SaaII6CMHyueeeC48//niYOnVqYYKuvPLK +MHbs2OLfkyZNCosWLWrptz766KPw1ltvFSn+dqEX98c//nHA4E1j9/TTTxe9VPaT/cM8EUQfeuih +LEaIQLB06dJvdbhm1apVYc2aNS0ti3ngfD3yyCOFHpxHerI06F988cUF10fHf/3Xfw1Hjx69KPXv +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 +H7+3qgAAAABJRU5ErkJggg== +----_=_NextPart1_f1fb7270-67b2-4e2c-8cca-a742041c1278 +Content-Type: application/octet-stream; name="oledata.mso" +Content-Transfer-Encoding: base64 +Content-ID: + +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 +rmoSWm7Hf93n/M8ef5kFY43ccAAAqoqRkg== +----_=_NextPart1_f1fb7270-67b2-4e2c-8cca-a742041c1278-- + +----_=_NextPart2_2926c7a9-c811-4e6b-ba45-bc40d4ee834c +Content-Type: application/octet-stream; name="ExampleAttachment.txt" +Content-Transfer-Encoding: base64 +Content-Disposition: attachment + +U3ViamVjdDogPDxbc3ViamVjdF0+Pg== +----_=_NextPart2_2926c7a9-c811-4e6b-ba45-bc40d4ee834c-- + diff --git a/Examples/Data/Source/Email Templates/Scatter Chart.msg b/Examples/Data/Source/Email Templates/Scatter Chart.msg new file mode 100644 index 0000000000000000000000000000000000000000..0ff7874d35854c405d59e054b294061fa9e4cc71 GIT binary patch literal 162816 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𝔱<}ThWE&x&ZdyQn=#!UPxZ$|CZk0js%GEXXq-i71b-3Zv3p@ z@un^V>?3%4KEv+=YWLx2=!SYerl`ucty0_AMGjt{FAAtYkqa7j)zKrI5!ZiyF^fH? zQ15~+vfyi*GiLkayX|LhWaZ8uUeCYvPMn0B(9&shsd0h?!i)Q`T$Oj3UAJEHq`lV_ z)59un|1u#~zC}>;sQ1Hj!4J+BJ(lv-8o&gVtrs*JJsokrF|77Wj=8Ih^RZrIzY4F^ z9D@GDn!sE~H76BiS2aycex$gnLtbImarcGfa)V1`kN1j~u39{L&}BatlUO`ez;(D) zx!wnM=oMt$8JF`w^^(E*V}U4y%)aIA7E!(Fd}<|a9fL{*W!re4?7e@#h4~*z=i=4? zhq?c*y9$c^f&PomtBd2m2Jq+p+wZ>7V1E9gH}_|cf9?hk1vy`cIXHgyUXjoQN6nnE@;{UQ&$0C1T6QC!OtQTewRB0wXA@^? z=O58Zk9FmdaB<}0OuRt&z~4Tw^lu5TCLpdC&??IKWpRh>Txo~A49TPrV##UFq{u%Y zSKJO49?0+dcgx`9z<*c&jx*=O1Dap@cM4#K_b30m{v9W3|4#qzm;Yb-cfa#L_3eJ~ z|F_O7;$%P9%8F?Y53KMjj^M={BCw(#267JFX>j`N>WYm8;w3VCuIxHSy`=oS>S~IujhB^tklE!`s!7arH3=&(=>4`$vc*pC;&gXZGlniEb2xG(d(7m(skh8+>#&g(C@qd=fa z;*J*g2sgwxNVtI*M8O zIW9kKJ()p~D>_J6>W0mp;#FJ}ahM^}WSw{wGG4q3l57-fdQwr47;ePN4)TXI4LhRD z7Oz;DTiLjyOcSZEiF}SyI)&ou>Ot$E#F3l2!W2|h=Pcv4z%=8uHTfz6At-lOl&g)E zhPQZ?4qDMnqFJt8TS?AKKH1;fPvaIw?}RwpL?D@qf(-W-NKP|#;qeOG>WAbjR^mnr zv7=3Qs$w*);|abo0?FKH6auYor!BNZdpWW|DjkA}4&5}j@yQKG4)C?g_*^AdRiN8 z=0P9w@s}pX9uMZLFcKt&swr`C@p{L|!<0Onwrz@8*N`ZDiQtIXhH}!4Q+1*{Gn{la zqoj#M|2P-wcA9Xbi5k(NdTYhrC?Ph~C1BsyE_?FU{6K#U1!-@AG<1lNA2OTTVNEc? zDP7XisuLa9% zNlD(-c3*uetZ^plSKvx+8-4tp++f7L5`d2#Txp}*#*_eUU&2n>E_$s=oDpVNOFu-$ z%?(+wm%UfQjf;Yzm|2;^P!Qq{N@!<@jJr;kZ^$(#LaYGA%$*o2T|5^qNw`Naw&kmU zH0+u747e9Uvu=y#`uF@47C8FTNmhcMikexbR0cfFQ zd3Ua2Q&{|ZbTQGLFlNUG^Gk5C3ge1`pVYdOT(#2@78Ju11>YfE{3FvXcf@sD@yRhQ zG&lMbWWf_=5o3r}syMSXbdW6J?h=?gVu2^R2se1|4uD05M6Ewrg>yrOd%7pMA!F$I zRkkKx#2F(2{J?#mTF8&<3 z%|Gh7nUO$(3x>kvEtamJVBi+K6rFI%O9j9VYa~1J;%W9#z0&ANA~%|Lz#M@VFjr<< zp(}g@6pZ=0N-rvU1|ZqjD?%)>BFWeJ-H6;Uctsh`EvCfhI=_mNjx0purr~T9q+u`H zme6>eUn%#dVJ~z$(V7cZwkxzC!eA=yI=?xjY*%Czq9TY3=76IeRqDFJoj(;rylEIm zI%z>wzRqvN)`%$EC6XLHV`?6Doj>Z9%PsS}edywwkqP&DV_<&8=*XM;%c#=0aLEwr zeuf7U^HpXOeHF|rF*`iMDaBlnog0baXQuoT zl-bdd!Y-{Z_`Q&5djM)qwP+VgBSs!+J%DDrHBOTil-Y)c3g*rC1h*SD9Qp+@fttkjJ=J5Qrm(k-3uQwzEg9&i^3nL|0#66&LNsB}20k#wXyV|XF+hSQ$+^Ks ztf9$(e`c`jXzMvQzT@R+@|-^;1)3sg(|M^IX)1I$g`56D+qb5I6%(mO+eGh7#4rdw z&|buk?jlR`Xj7O5U6X+tc)^dV#JHz+RuotSp0o%;0@s>!ae8>vfWdYQR12Yv0=l2v zve*mJMHr(@upLNI3f+`!M#a+1>mCu4h=G<+x)s7&6V0^6+Tps3Y_eQ_xKT2_qPEf; z=qikDOefZyn}N>h!bs#P?(GCu(hlkm4_dMiGP!COem6m%;7()iq2i$3^F790C^?K8m;>0L zi1Y|X$n9N-Xj}|FXgdu?iKWLeJf1lnMg~7@V1@Dvk`Lhz6ZE7hiL@j-Kw>2Ki&9hR zM;Pjj>Cg-W{U|DVI7%ypdJM>d>TRF^*|-z<90EB$6UarK#CEs)8ynA2NfyM zeC#>gvYs;KJh^~cNGqy6i=`5PVv;+#gnEfqbRI^%O709V*AF6JrmZjpoU({xc8P0b}?q+85FU`7}TtW+SFh?Ymhs`1TrC|Jd#38f0Jr`<1F*JkI(~@?rSCBR2zv zflG*Gl(ptH8W)Zm@B5CuJ%$i%0q|o1)HD2?5J8ya`);cd5=Qw!lq?2B$zoJ-S{?$% z_<=v;JjVdm;AIHsSa9+>>J9t_MOje&3@VSf2t{HQaEkaVmP#~0nZA*64W-Ib12#i% z`l#c9Ed&h`4TqwlX;ma`s15?qMcqZ|;|%caj4l?~Yd`_@P%|7BZ%%03YKgZZSd)Mj zsx8%yW=|hPI4~Vq9aO*>ibD(l76VsEZa8svdlBV&|)EMwl1m@1g(-P#<+pbT*XbrZX_sGL9}RggmwKozZ; z?!vmmyvwQqcA)MffCs2u`0aP^nb)%(0-mTw1ki+P#`f%QCAE>;sg=|R&B~ zuSa2_(Y#$+I!cr$P~a(Idq@Y+31uMe;U3dp5C8)173wwi4K9k@OXwr@lL1!UJJJA| zNj=0Iq7O4jP~ZdNBkB|O2yPTVM#vz2Ap;ZCN!oEbn=!>K!YLj2Mh9jXv&@sMdEh(r z3}O+rgawvy=kX8%7paKML*=FM(SeH$0j419G9ZEz#fuTHV*w}`MtuOZkfrd_gbJDr z8CXk&({8iY0~?@nhRCQWAU4x;?1W+um za4nQJRtG1K(fH}>AZpj!#S+i^aJ7`=zuodcna72A3 zJK>!1<8&7qu$}J8U;*x|9l$hd7h*RG*n^!Tc;fdFgn*pyUN~<&;6nhYeq?_tHzSZ9 z#0X{r0?-g33@VHzporKAoHz-HB1DrUXtB&VRy?qVbqE0*Myb&-*d!JSki(}Uj-Y@v ztO7NIe3Y6=+sHi5$YO$r6rBLbPzpi=cM_Y2Lz948kKAErP-n3^gmd`wgaQ)qbh(Ir zfk9;+V_pO0g8Af0-d&ztU_&Kslk%M;fq=KFY!&Tu|GwlPEX5I{|>O zgh)G4yRb9VJ@~x@PZF@e+|R%>y;#c#U#K5~3&#q;2I7M7d`B>jhyzUGI_vGWd|u#J z@K8uJZ)8kppj(VjbZD_Z(k6^pO^IrDnG44g2)q+od$5t@C~EYr<*lc?4!VSN#Q<^8 zcm$unnRWv0ApH;{nif;->OUXgADK!aH6$@e%;ZVH2ayV-K@T$%-)E4Hk~67@lz?DH z7B(A~E@w#~ER9jz`I2M0$ao4NdD6I2;*4&vPiQ_dFw%P|$t&S3HXoNf84+^N>00U|*U}+3Dy=0u>!zj=wHRl`(| zSlnRUoW_92Ui}TEhmyC<%b_&+dlnVA%KcFXj?GH-RxU~4x_ zW+ST!Xn_i}BHB>xXmC}80p_VTyS)vw2dS%n3;meuM>v|VOQ*->v1%!%M5>gwybMplSoSTT?`Jc%z6M! zp1bWGT0zrpGdkIDvm#O>^z-&ADllS^lw94!B21&c=}a-cG69;zs6`Ux8+nGh5Hp9J z$GxLT_}C#AI*QT3p%vF$=AHfHaw@8PCMK7w7YTXGRgd+&jS67lA#agwQ8#n@Q|%Lo zIc#2T;2pr^xmo#?U5Ex>O>LqxuZ`L%9frPP+(reEbT85?4Q?r6<$`2Bz7E60!FYht zl?M|>7Px%&WxC|S_!LR6){9*dFYPW?+y081CnJ`QhDcWwdGX?S!I~Tz21|-7^5P@$ zlLe@PG@%E?rCKlIE2zl5#|=`aLo*W&qMR!gt0j zd6DthM$$LQ+#4usD3R)cDUq2xRxmyYoL!T{romoQLTSlWUc{S?fGSy;W`<+pCIc5r z$4JX4zzUCHeIaQBlT-pxt{<+ zMcoaTh$!NQCd2+sx|^zi&D_QWtaOaUCd6h9GbWY=sE`6!7KmV!RB@4I08I@K_z7%9 zS$@Inw`LLnEu1zUaHKmpKV`a;;}H>zgSf};Py18-iiv#|-Z7UcK8QJ!_zhjAU6G8g zLUvi#D~upn)*kPoi19JldtBIuI^|jYM`%9ol81djEK+x)cG!_zCzu0xsKC#%g0s2 zUMAFfDI&Xk5^pP(l+d1B5i4;uDu41=4{YxeAwPRhLD3h&QYj@~k6a!Vo1lVUxK#o@ z$tDVwU3;^UNb$f84Gh<3$>@D%CP1|{ID&lqq%y3lKQjjQa*Cb=_-?wVbRqd|b+&VK z@XOKEt~j5p3ct*juB5sdKvW>c~1d@Wt!_<+ROPaoZip4N?`d}(W-KP|}sHt-` z_mMywUe4u4>=iNK@#2=1P7jKe$vDP5&H}Q46VQA*8Fijnz&gu#O#sfZddR)hBJfzz z0ah`Nd#RvW<#xl~R<>esz`jc6joaiqxrTR!;;SfT?{7aOz#14`e2`R|n&Q~x+@5Gt zMX4@Hh@w~H0WYTxm-sQtodzwvF*a)H^DETnk`LsM)K9d}4+kg@6K+xblE)lAzZuse zj+uP-Q*`kjPZ=L&7u;cgAs1AMPNt%+b5ESmMNby5>uB&xP$+&e7-(u!;jFR4P2nOh z(o{H=I)?sUy^hzb;ck_w>b>V@G+=`_EMoh+jIA*tawovHb9w=iZU&K zGLc;6n>=_2$*4j@PA?=^$?EA$7EePMfOYLzPA4rW?QPKgO;>`m#rh$0#qo7A3H$U7;3IuAg6tJeR6Q9#|$IA&bfqUNtT+(c_=T z%n{vQwS%e2uZS|4NdJiPa4^Fq5GB@fE^&V77vo6DiqLKH3Of&YjiB2fQDpYQb)sUz zO3(|*z$9foUe)h8(BUngaT_oGy zKRB?8s7RHKlO1Ai#DfxD2)g{Jz5;m@bV)YGVDps?sLfDi+7^Ta`^Q4E1|B5?jG0SF zLb<#Y>LOzrkbX$1E-AObbubc>-8wbutD8DDG-{4_2?yYV73^f!F-j|FkAEID2SO#M zH@qU6!YbJ7V4YL2X1vy8kvWkX(Ib8((W2d2EHUJ_?NCY4bHU>m#k}=f%XuGlkovdpY4*`6}Z)UBOVift07d= z)K}A>evIul8tKJt8n%wx!pIHqzStenIyJ`LpXSAF2D|D~Q^mg8V29NHs#e})tA{QO z_46ejAg)dEjQaMK!Aj;U}BEfz$uz_IKMw9%tn zcehUjVmFSyXJ7c;i(mKTSHY@e^`n~RBFwZP+!s;hDbY9rZNUrBKvyFdsyxa!Q|1+_ zQap;e6O+s#|KHHRTYvs@{X6H%F;nHIf8+lOAG5Lt z$=~C1)=G1*IrLkwe`)OmUCn=!_$z$$%Kk%tkN*?-=k+gve{=Kz?O$KK{|f)7{^j4} zbJBwc&1%!X1C&(*4Tt_3pQC^O_xO9ka5!t$SBuZ7D@f3A=&$j0SB3vi^Pdyn)#N|t z%k65?&#BMupjmDD_pA~hvy%6JpZ~tUVXqc{Hz;oa8V>z+{&V!7{vMxGpE$Y;tHtL$ zq~@UE&|l$m+MU(l|I_kc262%baFG5QpQDBI_v!Zr!y$rZwdr31Ws#ua&|l$mkXM1f zg8M5Eeunzj*G147`J2eU!~d!OzpC>8$M`QmY~H`c=cN6Ar~Kc6*qrj>(7#VV2Y+?t z&(Q&L1I=p7zaNxs_$>qe8h>@|F9$d3AK(vyvUS|x1*Ct6MDu$5Rv{p0$jleF6O z{{V539B`2S8h>^Aj~v}7PMfw`{O_PF5;Pq8YkbcBgMa({L%hInIC@*F#a{qrIqR4> z^w;d`2Se{^V=%%IU2yL!RP25MuKLw`9BTHB0Hq#?{HayqqgPf5{_XR}#nBH90?lgkpAE{cru{*KYjamo{wq4D z9NpB_;u{}jOg&-k47_y6_&Bc)*e{oVc}|8)Pc&0v_TE&r>a?B9()e(t}(X?r;> zpzWVZ{CAeK|NTEL|2oh+xGa8!{@wfU=l)|H{J(AgSN2Hw6^Gw~{Yy)Q3)Hp#Edqay zzq;|4I*6tLn$_k%XODzm5&UcXU#0MWH~(uvaKYaq@Ynd9_s`#!Ki3v8te@IZzo+Y0 z`u;2X9(Z$g<-fZ9$2j@Ud7rK}|L^|+|9`swLo_(@;b=dYgPIOM|7n7HHU#kA>c|b; zQNw*@Cymv~|5@r+{5iT7eqap#JLj=1Tb2pK+t( z_Pk97kIS5zE-J6ZQDr46zwkLHX#98f&)5p4-3ip~a0c^?lY{?V;^^4$gN9@OiaRGP zj@}AqsEgX1m&wvU{6flbZ|@qjzS{Ewj}cfVGChbCj)qrpNzZ{3F1+ z{jcFgtni%Ymk07*Q3S#z&T;=m<`DiB{?}gXJP?5u{#QLhfL$MsJjeWupU?`=*$;@r z^FWeU_+QU5H`&z)XU2tqm_j(|`Mo~LuGBBkIUamqG!YQF z75-OwBOpO5{=vr>%o|SqL#*Wg@AZ#=C4WJu75ekJKY}Tocf%UU+7(+9Qkc#uE6(WV zzouX32XU>)i$jnr_F9Pfia!TP>WawF@)760JKZAIQ0a%RO2f;?KWvmjl^9O+PS*KVOq&NFxBUjzGZ zaA5uZm;3}zT>29)@h?0ABDli;Do>7nCP&|ma|VJpSZl+;os2khIjg0Ar$6`q-an{5 zw33p47XP15)oNq=@8y1-zsL!%q(=~}`@f&R$no{Zb{&i+*v|hvfAJWoSS2RBp7S`1 zZMC-sKjm^;fvvThAm^bo5)do`Ev_h6J4;A;=Y~;`5hB{}1}B@vTR4X6w7R$~cynE} z&8}!SLO^t!cceeWDcCoX5Cw8bTtGmuuRm!*Hv$6L*|XK!!aaWfM3F%4KAU@V)%u;1 z2apQUxr#+yX^^$G?rXq}9oDqoDCwzxGmfXFkKgfJ(|Y_`rW~I;jCZ5gWqVbNgO0qG zNQD#MW*NptpUQ83iR$e8bhD`XsjVScBx=g~uh1Yu$5sBZPW9LR+e4?CI z-^riHtBm9lvNz|J3|hmz^nFGoo(#B(Dgj`9D3A zzA*iXewB56je65ymOU?w>ik<%H8ARE= zB-KjU`X9mF-ptkNa$~k`;>>RnNJ$q_L)d>rDVY2C#WRyhvZ!C-`#i$@7F~+Dqm+y2 zo#?s#_?75`*wR)xzvOuLoKN<-cI5%H%@Ir*C-TMcNKsBQIsd!5L0OG=OM3f%#iW(u z`rQbyQsA!TeP<*7ed0!fW?MZ;yYvcR+HsFNAhA$W8Y|{A_PvGqB78GPFAl zlr|6>xL$48lUIi`nX;ZAn0vT(d3lb0^iADI-JwL*A-uG}OyTSDeX(ar%-bXVxSU0M3 zAD?lVQ!lSod>hA1jM(w`y_Vl2O6{1>#v`SEZ)+olo)MCwoOa?J&ukHz{=|T8J5_Wg zVfv%ZbFHwx+q>wEM+EGeTQ2t$oyOc4FNyhlGv{3`V)MIbh8fW8)+p&D3m&j)84HeHb zjK*)G56`o!ZghtyTwjXUJ81M=fC((m`RbanQ=rximrIxVL}a4J_au&9IXgV{sVHv$ z29$F7yAWEv-j~{u9B*dg+%042thFfd+x;*5z#0?t7HG~86DbJ4AMAOHSUC{+RKxr1 zzF48Xg!&k1S@?kB-kmoO20S~zM%?IgaoJ9@%nC*IJ)$4==?l-)dh)+rdsAYQ)fD$| zx`_C~Nx${W?xoGkuCC7Eq2GSWpRx8=ym?)#`e5brxbf&k!V zvz6rZsgd@$T{=FQdh+puDW)nJgC`_Xck~M7TFDNjru;ZdS~x4_+!)`I72hrwXDyM9 zzL^fUWWS4In0hlz=du$|yK3~~HE`B59p|*04L=o1%?=!59e}c)FM5u@>kYVqfHmJX zKGA9z^)U^<{PpZmk1zR_BgQ>CXZ(52)O%gkVtAS1a5;4_-#16-us!_C=!?>$V3C+@ zhAf}*_r$A3Q4K7`1F39pKr&?C(Yczr_a%WCAs6G+4Ayv<;Ux_ z`nTVxg4M$BVSxq45W5-5L|)}>O#5uhyEH>1-P)mBGB-Y)g%YPObOgSZveGpkx}Q3w zH#KVicBpdW-4lGGZEF;|-1?u~@!Nhm)LMJMQ^xjkSj{`V!*dUqVLu+&ultzW&;~yE zeLXD?;?3^fu-|rnp`~mo*G~SJ6kD%9RB9*w2*22Isd?)1w^Fr|{9@94Gs2d|wRdNK zSk1mIA1@x27X}{|uPtjWDuCr5N1y34>&o^h-tO72XogfzQ%j2~A~p#{6r=-D`-k`T zc%0V>c15;9XlwY-+*eg-n!8^ipbJbXO#rl3#8G%<(1_yIN4x)v{Lw;{s% z?VeE7#de1mrU((xJZmzWX*c%8?QBmSe5+&s4vkF?spvkrG*SZ)l~B9~n9L<0vA@;5BNd zv3_nqb|Dv@<#}V1xOnG=BXeTgTNCvAL#xpVU*F%orQXK##wfwNo?-Um=FW{tzMc`L zN&~eQuDj_y*PO4)T&EqdEq)>d|6t&?Y805jGSx5gA7DqR363N@>p;KW}#E!|9z(&+QO$d`3*|Gr@?kkL$lU=bN8xJmj?l zY)y6ymC-splX-(9y`v<2L}~Qp@3mOqA~aF$c){BJ@d_1W2Ja)~CYxj48;52ZGBFpu zzMPxSPo7G<{P;n&jP|J6(zh4ST}t68iaXj#Y%98V`f*I61Kc{&+pVD75L@+bG6~!clT)Q&(mBlX-`MlQ(D&jgF_0 ze$-_Fc=iRjH-N2H0KFshf(plw920(Txpu$zvpXUJV^0h| z7=Kj%xT`#>W$n_}1qR71vSeEu&&c2@H|NpN%`JaB>uT`^c-)#OHY!IqDn;W z@*D|>6ZLED^71@3m4$i7 zsK>rUQGa-5fAB6DQ}dpG#Nf^HZetIN4c5W+J;p=%D%a$z?0<48d|SrWZ3+*QzFk7t z_yTup>NS>g)S5-CE$6+GGwqtJEG-4M<9G!IgjIHbPc~6b^Rt^WU$g}jHh+$L(wZMB zAm1eAn@nuBCoU^z~h_ZHR$UWKp&-*)Qt$oqng7XL># z>Ua14T@SuKQE&D?yHCbO*ixz0SmEYiL0u$uzD0F-0cMqXQlsXr)?K0ILhHmb^-sg| zoR>QWJ2IL_UGy`#Fx?WTTm3v=dmxX?KU8T;^#!%?t4OS9-rBSfK$bag z8!C(VE=|}g8JivWk)PL2(n?UJ&d$>~TcWRH-ds&718$cIky#V^cv@dEJAwzOJA3`n zqRl$?aj+-WX>O&w_{ zNyLBeK0AEpasFi*>1!UfB`NVoKT|%-wy-L_9d17@;wxqG$iUIJFrv{iHLBs9*1C|w zBM;y&&L9&X!!J5_L~XfNtKu|+Gsn0CiSCsdnL-|NwO-Xy0(lBt<#4>FwaPltb$MKQ zae8p0uzvKW%HwT=+EY8DrmCv^x+j8K^OGEXl=(>7L!}0?UkCS@XL?z?ng&DLc&wT( zI~eaW9lkh7@OYy9(2lsBUo)}OqPI}#-O#K3UTVy!{T|JQXYae{UC8&VRinoGELK@w zbN$qXDx{wFGg9qe6Yu8Lap2TenGwnuR8}P}$3}F@xGe`dG5Y9|jhx!qsG_9rqhZ`x zLIsr#$~hI6=n`3is5U6SP;;is<8a*_2c#xSow9XBwMVj&EQyuREQ%zovnxZJuCXs7 zs!~3yQV&N;r@@t4U>}+nU%KH=SZ21AZBQbsO3boL#4p!Xe2DJ@GW6>dgcT$&K(f~= zrXGwi;iqDnX8E^t$6~l;Fk*If8t{&~xYP+dQN&D|`fycub+F_S_nm2Le9tU14l+MO zc?E_=Mw}8KXB9sYR%lZh;bv^|*A6(Tnti|G18?c#jHpz3;P6fRZ`xt)M{=zV!dkR# z@4f%znf*!%XHt1f_MGo$-?5%G824b4=hSQg>z$G(UyiS(&)Y~ZpOzGrcxGaj5|VEH zW4@q&SRyx+>xIlm0h!d`z2f^fFg7&SIvtzJRy}4TJ|Ym2S#0O>mDO^71Rk{|2xe7y zB;;h2vcjph4f47shdZP?=(pAzdsIq|&pWod$i+F^?Qq=7b$T+|r>Wikis_8I^YU!` z+Xc9u3gXE~oJw7%DBx$Plj=7KebBg; zfwS90fS_-q9X#3c$iqE-P1C7wK7OfYXhs{yXnhq#i1Nv6T5mT?)P;&q@!n;|^LTelM?I;FDRH^>3HFX?TXsRd=p; zJTF9TA9dmx>b-(lX8M|e&^C!Ir;lZ}2M64DC%(1+pq8=zdW}|$O>~7~3$pU7eH@pB zYV&KJN}XQgBQWgl=G4lzF0FH_b4Io)$Ewahc${AglL$?Ki5{=)T<`bxD;$1T+9;}0 zDz0T#>_(OJ+LT?*^+g_Y+dNvZUAAd%W}R0ucLn2Mjn}fRjj!p)iCx)Y=qZujvaiC% z!b@E$YI#y)jKRANk6sul8V+uVpYrOx08fQ}s9f*=Lv@C$Fh9+0+uA%su6u%8mQP${ zv=7{FN1j03^<&#BDjPt3?wj&tuuH;UDjljp#OC~!gO2QBuhN; zFAGNQOCtBR>AGDOZBc7nCSJz6`h+TE7(M8h?2HfHReR;ZNNstKjAIHAzXb2k{BUzV z7U<6utWj=;``(?@wQmZ4W*pUfMgkIVW< z2A25Vp^7Rtap$(k$-z~JiNw=N`91v~n?96m)J%D>t=sQeLienbU7PTTg9%^C(QS&4 zYlmOA8BFU>>G$?1jODM@%+z}Oq@@?)S-x-gazR7}SlsJL>t4Y5=> zaO`xLosoQVTaQZDnJH)#_kqzDi*g4;^DsFunU_*SPkJ7;O(D@iYx_gr4;d*wuUWW{ zp2TDW(^x?2M+U~x=fTM^%kWV9HUqw?!2X7*Y!Pcw-wX4a*?Mo*hADO)A76Jj{?;z! zWw=RS{&#tW$MB{HHl~9OcUpBb^pCj*XP4e9tscKrKb3bESuJ1m64g6i?fNkET!+|U z!AF6iFP!T%1s&Qj1Fv&FZfP@3fY)p?C~Q^c&bX%)cJ>ABZ4XxnugNrQTH=$nVDtU% zI{T%mL04yC=TF~{MA_-9y88=ucxr=9;rWXiHC`U!yp#S%rfMIduYoTl3rQ(suGHNY zd9#&MUBpts3`rU!?%m*Ip#M`ohVoNA%h=Q=m#WPZpEteSR>f=SBYn(bYh0g;Oq?Dj z#eZkVHqmWw7c?YAx%cx=J~DqfrGJ6vYt$idxB3z9VNIon%`V=b(c+=Om*JZY6lRat z5hX_)61!vVuUu%Zt9p`QJ4l`8Z9maaa9Zqm>m|D-OfkCzb&ZGn$gwjcLbpG} ziK>JdOm}GaX9r#Ro-06x*`7VE#eZI__dxTtKq;TBT7=5H;(moO$Np-r&)I8CcHCBf zFl^)JMXXB93JToPB|p|m*lMr*@vt4@eZ4$8AWK6icvtm~7GDuKV-x)DrIB@XIBE>y z%X{#kI5bY{&fKY>?+RfF?vjn@5BI&Zhu1k+<~&Tccnwip?7rhrf3K}pe3Tj*x_*h8 zSQR^_-==HPB)F?QrcXqDxCoZ^P3+D3H`)o;b{@2Ki+vzN7K}StxyGJUVNfETEjQM( zFr86gR$?l*4 z_osz*|k;;rP>+WT24z2aGCYCv^Z91QXPbp z7}eWBFM`HqHc}(VS5S%ka5(}iKHGTM=w0Ny=Lu|;_w}yuP>;@qG&t?s7UgWB9dy#_ z8nHj#>`K_}#a)lc0@(+zj9{#L-Jiufw}0RnQm=e++@MXRrsI>8B~K-DzvUODZGDdD zvCn*E@Gm(}a32(t)sJ~)CwztZk2k;@^W1fw=iG#UJa3!qFLhy^Subzk@I503L9OpP zOj@rmOnHIN{Cm-Ox#Y;=yHlapV|4U~pWpnpXMK77?8jpziyd#Y!3he}=6BT&#qEL> zA8ZQ++pg6g?Vs88!6d>;szKKBuqehmKFp{;HSBZSo`tK5;0$)zEr3044)hiL-`rdKE-W>BXvp%3m_BaG( z^bpc1-z}eE12L|%qBs~83S)A*_Y^PgELXrI;7J4KGZE`>5X!O-m z$7$Zs3o?vDz42Y@xbcsGiqK0b5Yu$VHt%(Me`vx{NvN-q_h1zbd95a3T3&zu-lp+2 z@tGTNFF#yw+Nax5=Xo;DWyituk@a`#`@VOTRty(;)Jc{Y7k1xENKir5yqAmG=YJtg zfOTu6-nBO_B%)mkH&K2xZCCv8G1cKitoYOjySN`y<(M{AT2)U^>hRTq@Z&X4OXF_r z@HuLKf2{1ru)!m<_Ty_GYY8CF#2=h*D?eoVtvcq~&-|xm(B#w)53ricC~=V7_%H}c z>wUfX>4BM7FHW>&HOux+4I|U?2N(2lp_89=A*aWlIeH`x;rN|wY+g)s^zH} z=6%I*j8I*@+|ZjHD7ZY|{%2j!f3VBeDP>#ickTEw-u+{u`$yGhM(0561?#7$~S6N z)55%@TlPzElF1|PHal`KcmA^-c0K<5v5UYElmy48J{D1*+9mB&!%RA)lmB4ye#mpH zF*Ag`jEVlYp~`l7SsTRx(b_4=?Mcmt8ndjbQE?O3GrZp>px}g~c9}{6li*Zj54EnS za4ulS3v9em!p^m|YaXp( zpQat&_&R;9;ZBF5W9tT{kLsV|bBV2No=0yj-Y=wSr8wwWd{TnWnT4}< zU-c#u=icd8Bw92Xc$;9Z-R$Xg9kwC&uJzMen9e6jE>!J58g0@ZPy=~zb0}+ zn_;3Ij`9&r=+;H?ejtnq1omyC=jrz!J$&?0a^UPn>O!nCN_r`~RCQyH|6z9{fu$qK z#n5g{=u8(G@uR1`iA-7?QOm3%_?JFp+b8CkI2=BjOEr!Q-%z?(P-$6T-9)}$p_>NN ztlHQTf7!X^1G0E}Z&^Hi_y1w}B zW!z(_OAS9#>{|Ue+az0N)Y4Z>Fx&3k!Zz~$fwhXYypBxr_n0#TSUKy|P zhmiX{uG3|uQyE5A1C*a1rQ^|)KGw(gL0qO2;W?KTyf?wrct=d|el8b2KSMuQeuAd= zdw4vjI1iWhK`==oB+;{rsZI0Nj=RyvN5C;^v0Es=H*WLA;|puGLOH&o1m66$x+5iL z57BHwvfe13NJjF~bb0^#`m+gndLO%uD5|X~$@nrnuAY~BQT-4K7a1)h66A^(_?M^g z`mGzOR9wymqv9;$k0X{J53ZT-*N+>*76nTh#fW8A2kA&6MHyxu;7Yg0DR%09qj2}@ zV49rO9za52A)D7!Mez*Xtj8M0r3&#E+D zC8Qkag4tgjk}R%!P*k?@8CA-;NnGOYQ$STrSmuxwT-{;(v@F8$sNX@6X6jn2eCC)7 zCj~C@Th_?~>F;4@ty!xVw5a*h!Th_teMwJ-+a3`k)Ktaz?(<^LY0{^0+oYS51|?eG zVI1;mS_y>)#!sxrMef7=!UyTQlh)Tm4;)w;f zia>OwDZr|NVSJjBI=zvY`RtVx5&9mo6aMvNRMy$;85 zMDz{wH^2=&RyIeaHcbC4y6l5e5_`Mj&Vo*7Tg&NTi~7Szc1=&^U83N)8sOd&5mfv> zY<~5V_2N%KYMbQdP|ztRIInBi51r71Z(AU=tdwx?ghDu8%+-qdtNp;vF)~z%xC{y^ z-KE;5d{FESp2=mC>b*73RnLi!rU!}UvOH23&>=hTDwD(l8=reF;4XqIgF zHEMD9+PSno_o=BVQVXeGa1>vNUCXF{4R%e>i%)Y2P`9=$O}%E=wHd}X{F7vv*H8E# z`T*sDnehXSWqEgMncXw$0=Y+g#AraHRG(f-+9goJ zv`KO(E1LeQ9V8mH+jjUm5J>aY$1wkFsGd|cW2)ATXhuA0bI$mn*q-cWi{n*8n+cdr zyuZ(jn~L!wtem)Qs7GHUNoic)Djq%I=yOl9d@8aIo33<%KmE|KvCZ-br*oY4M)X^f zOSSB?uRHy>ZkIKM(ep8+y2xy`ehag@Lip_aROXwu+S`K()(^kO&xbPzpoOmr9n$U4 zTLg)YQc07g+9`4*@DU=pvs|Wf zh0#n>Zl;ZN-%`8#Vx?jbD5no6IYFIrrg9CQXCD57Vqe6pbh2|tOHy0}jW%0cUsx4Q zEiRH$=Em!FOL&Xj$Zi0N-we+RiixsSgh%vgNasv~LlhCiv(^hD&PU&TRDIG3&qlY& z?+&SqrR$0oYc=}OQeL>`-l9Ea>aRnTBs!%#O!6$r+EB!aP)UvwL!L40tltMSF zFx?cr)kXC`J<}pWG^alqLQ3jj!?aiGd7O|djgZeJnu7|c{_h-e2Gxs@_zKFll(>}-y^%_{O zFm=n#BkjTaMq5O4OOAycIJ=;eVN`qr#vj)U|M z_!Vn3oaJT7 znmKSn`ZYd!J>&gSC`-&oyKGyG%%Q#kDs`VA68jUpF83zw4pFD+enN|qQ#H7ruYPD26QqRz@UyG673iEcT zDd3`XREZtC@uP!-=`>VNm-UU~3`K?x%9QylX3N@6m0AbcPgN~p2?e7l^!YFItd&VKA z4r}@`CV`o6G&b@c$j`M&2GZXRyjaUx=L4%SP4P2|sp*}2o_L*yg5+#9``q!SZ_4V8 z4JQkK(;c9?OXyhaIckbHx|oy&IB+_Q3~aPbpX=_t-l#e`U~SD+D~9ap0Y|Mqyv5=7 z;*5PfM+}T;v(^e7?Psr6^HqP3=vzIdNQD0VSriM@f z@t7%NVxTpZDhZcw5=YZuGrDx0CR32%W}}9mC8ds^-uK>d%YNG?3XvRBdCAH+Sr2o! zneK7E5~ILJ(a5B6E&mnY?(;u9;Kub$87J-O-Fp|8+q^oZuU_PPbH(Hr`zO)w(FAxz zu2=ZQn)wObIa|tvG~^j;qV(`hQcP*Kw3a`Qy_Td=>Zs+yzqm%#w`3QTlv1SI&5kn@ z?^S%RdUA`uihd=N*7xUJGCcKrH}0yIv5T4SZfRH04As{y#ND5t1AcK6&ZAdU`xcOe%HBoD|Y6) zG^w80(zIHFCr{aGPGfQ^Mt}r)rki8t=i@eB%gbx8TZh=mMGDq`c)lvtI@%O9V5ZB+P$Z**d2MlR**^2PBs#0owbzF!^GqjK zTSE_1^s{bE5=`aAK%4t8$(2XhTCAK2JR$gRp3&CC3xuD+Y1$Qki|@|zmX9HL^`>Gc z!2&78xVqx@Gb7>2gwh{Y2^sWM*IK?UXE4#ZpxK`qvx|&gK)unDH@GNPjx&?@dcrxv z)ui#UDHkFCwyy7Ngu47qYVNHb_o(}B#ZALf!!JUX$TcUgPBY+)4JVy^ic3F2Z7of< zX--W@FB%o=;m%IQ9cq?^`=!Xyc)xz)6`G=~4hiza+k_&Xh>cJ9IO3jSw<__(1KxZ4H`%zCvL87=` z^r+CXLJhaXU~>C9C$UOOC_ZtEmAnY7QsDG1!6XH}JV~Jk4by7GG9Id9zmnsA2L?C#I%((2l+V~s#S)O0y|POPL;URXi}<>+5)|btcuLt^xpC*-wM5Ea zi+oB9=eQmbzs$%w>0{Juyhn(4K#zD*w!D9ywBLYwq3Wv~GP>;w=6$w1-lgDM0>ZNw zHv_b$vi9z@Bu zON7fCc(V=W`F!TUIs-M$+fCCpSxK|xFHF)d#O9^OMETbE$|uf<`XT#)q=5*>8zmoa zAV|xylvsUU;O^~QjlD0&R8iSvP{Q)Fw`xK3vnFsHH3m1_GKs`-5mv+N82NITm1-#$ z=p+_dP?6GLZMt1^ZFw!6-FhVUi?eVx?V$dbhUZ4Nc1#(1`{rn`5xgI#sD2>QI}z@Y z`=H@aZKJloXEKoWmb$1q;llxg^>{MY)iHDHphX+&3r*X2^Jx_4b?i8)C*=rO>p68E zYTI!Hlux}5viKP@O&Fu0bFF*D_j2Zr@AWSy8e`f#o6)cKipB8^)pdf3FON<(NXq!0 z99>IXenxN+cYDlPp)u{l$6}#DlT)x<&~xgerQEoFtY3?Ud1x6FXkEDGf972V{y~xW zPIvbBUcWL2WA7SfqU4)ld{#7xU5^Fy+8esoWC%Cik;ZrJ#yYmSb%lV_tE#hqt`yJc z+0Oaz1M*rUmnq%PO%dP;)ucp=*Mnp@LB)m-XV_mqdBg_}V-z53b zeD$6J_fwFMcwg(^O6aXYVZDPu-9L-{yYe#VfTnNDlN4-{vgjfVN)m?hjI%$0hTW|{ zbZx}C4P!ar*w5h#-2^M)>x?^s=TA;D$X&+&Pji=*twbyRPzxSwMK$;*gX#4YN=I8m zEup7qLdE@QuleS~O%jl6oR9?)A;W<}uGx!i;q`1cqVserkWUCCArm(~4D3x7umUc# zc~|#9lcP&K;X`LBfw*2x{p4AH7>3$ucT}guc6|6yytdDsZSeqwt?CmxLZW zPiugr#~DW4M=z4G1LX}h5z37ATI!Fn&b4R>vD#aou-cfcTJw+FB1HfE#@C2hh=ZJK zB>Qurp?*--)DHa(X7yKosajB1sUIGhaxoBH#>MFt5@6E)N{Ds~mt6>A5Vcl?Nqbld zj0jzf+}hR3l$Xie1~ZOL@$D4c=BCRHOe+d#b37#-)h`_EOuP=cPfv zwndzV`5z{0S$4(JT77wYZGeQw>tvFzQ zruSdj7RnOd5x=Te{iEW8>iF|T6GaQ30_r(24dF!wYt92;JhPq6@zhj659^6uXDk`I zMsIe$dd6qUW4nhhipjlEG?wemR+5e)1MkhW^Ss&_M*0d#CT01L`=+FP8GT`YEivpmk%LLSa|;yegDoI_^DYX49o3 z`}4h|`w&QIWn}eVe3rVL`!0dFVZB^a|A}}7mJO)K$MJ|`I4(q}ue6?}n9dF{9;667 zc(LuWuI8_Z&By1~O$KY}PNnkBjlaqDYEY=){cL$Lc6BFfgXAFD+a!Ni(lel3gWz~! z0rpuRK%W1LgkfAPmpO6+SH9Y+(AtGRi&pt35N02^s+6%0W{d&8oM!=j^%{Skt1Anb z{O5HcU2MGI-)hFt7M}f}1tZ->a|TH!3I2H4bjkdb%~|dtQt;f*LvhttaH(?xah=Bs z$yzcFv}#W>mpk5mSnC}6^l*Myg*SX`v)O-UY=&4PdjgVkO;N5{c-*@5csW|39Hs#s zh&R3^zz;JwJO9OjKHU9i^Vtf=q}>{o_bqinj)w+Nb-+kw%?$O^Ry7_Gw0nh0iMIpu zc#Doaa_Gu&dqzZG`|HG}_pr%ah4~)tQVyK1r|+(UezvNy4+XlGluG($ny)pg9yvS@ z!wYx`2FBr6pbrpj*9e)n^2_E2*BVs>4T_0^5BG@s3<}A)B6mpw-CJ(NQI@`<&b5Go zH5*LMyf{RcsU8A$lW&v`HLhJM3ALbCZo1$iVecWm@tw$O48@h6`$F;>?voopCZ-ts^c5*z$ca9i&q3i`JJtQ1jCNF@dXcNV=h?Z(Q z+gEW9)q^oDn%b{6#ZHwsc!B&Zc545h>N+%NRY>SBk?MWaCWA^2R3b@_ zO2|YI-2PI?gl>zx%uEu5COp30;M3;`r_?5)yJ)nZdvLozzhTxf`?+D!UD}tRl7vp^ z?yz!|TYSEln_;05#}uPCJ;I>5>S4qE9~#RMli5!`Tr#V_d}49yj-u`O-r876_k>Suz9vKI zz4ulfk={T3D4ep+NI8@-=^I@5EZ*6hDpdU7)`#Opr+u_;pj*<5k)~5a?YlTHEy{U# z2P3$hR9eeSn2M7xfU&$8mcBjiDW#})``L_MZZl-A0S zE-S3Rn}C%Y)cmiN?^zT2en-LC*jPc;Q>~Ilq3)NBvacp~53%CsdN%vRubq_3HsH{W z;5`99r;2~cs!TrJeAw!*C8NKqk6V`o2omqcej%*rNumPF*f?sE8M{F9xj>;rLQ36V zX(a|&h<8mloeO&lw4g^&Vl~)y-c$oDW6R>?g;gDL69AXWnlJs0UG@Nxm{zFb`nPK% z;HmoXzG-YPE;E2;C3!n?U3NgHRlU(cnm^IiU*rG%L?LDH^|-H1g>MFhY(Douvxs+m z6K~i{3X!T1ph=nn(Xo$KJ^%rQ z+&pTqc6_%R#`g?T7#{9H9#ODXK;HN>3_#OTPNW|9 zoQ@v)sDmtZLQf8rfCF#rUyCeMe5*&^{HN~^Gr6-Ja`}GN4AoJL`@2ZnBR%I28nVcC z%#EqeeR1YZAcq%|yp{YjsR7Ty$o~HD;r<58fRg8O>0m;7IQ^0kSqH&B$>D}HZ#?X4 zO9cP;o!|4Bs}3eFVEqMe5zQc-?23N6k$e&F)nSjJD+I1X?T{k;F)Kv&Xw|TV*lT%!EQ&S2F%{I!SW!m{ zgx{HK);BEJlDR9vbzBX!HmD%O;F@lQkGPwiiFo6)jouf6EDaLMq=s-eveuJ|>kE!I zI)~DFc}gGr{JQc$Kv2I(7Nl5bMLgqDH#n~XB1$ITRRWGs@D837Q)M0XgQ%(K&>)n5gP1= z>Z0#BM{hcmw{H(dmkg8-MrUTewI-|?Tlw;CW`bU`L0O9Ra zf2rzk9?2aQpq-Kl?O+wjp$DK@H^)9mUdP_z1fH7z#?Blo|I;Ah{j+`;AG?p}l7Xj6 zRQ6*{Eah*|mSL7M$&S6{zi2S{%}9&P8YBzvR$bTyT0>euDz@J^M7x9!Z+8uGCCXFh zXuYByEi|Tq>RGjcY=Sm;)_bXZ*kM-2y+#NW8iPV3DsAcc@KRt~MIb>j={yLKle!15 znZylu$YV$RdbT?BVINRRS*^BSJ>@nJ;*y2+w}2g+|64YMnaVi~k1&^ST&S~#_td~X z7B4<`HO!?|Qfuxq)=#f+ss0fA#>FN_CySL=D^*wjFj}g;VYtTqbH2WQaGJmlU~Im>4>5z$$tyPUJOd@Xb#*-+WY7n31nXO z3XOk#J7ztQA!7w9KVPVk5nePd=e}rCeKDR@p&tK3jn6aK8ZfnGg@+wstuOBs2^HS* zPRk$filc{Lb2QGoBf1NOcmx#uL|rO}>Ok`nicjjpi@rVneql;m)LY=OOG9|k7BDH} z^H<}`ix`dd3BY;j5e51Eb`?VUq`%`IFXVyp36p<9vIeSKclHkQ>&N@C6Xl|X3kLd| zj*>!#&*VK($#Wy44ZcWBBgen$!*dP6M>sku?hR#MK~I{m@%&}xQ7)h-Jukv?Dzzh& zYo)d(y7qU;=K-$yuuv(2UGa=h0F!(P=s&>nl`gcK=1B`_VcALz;>1eUie_vJlfiC! z=YlrLU$y)TU_8bmc;R0O@c~#AFJiy7V+F+j&zf;ZC=%MaA@@(|{%oN8&?w{u0UjRl zkQPw8F5>NM24wR3()h@=6a`D#C5tPl*PECH)$tnfqsZo&iL1k>@fSvBU zPa&UD7o7>7A}B>R-94yGVGY`96S4146>%KOE=4vUMw&MT=torfB4_n~NO_6k?y6J; z-zv2A61BH8Y4H3${=#*GaJbqQ*gq(tf3$_+XOvfuNLl5jFIqIqgDBNmD`20@gMtC_ zJP`-b!W4SJ$WYBT`*}1rDt6=ZytHRCa=_e z@WRmind@?Heez?O6v(@Di3NFOgT|=Q&ohs+*-11!g-_4`O3gYzuhB=6GEf6^krL9n zoOP~INgWwnp5J>LWSyw>gC@6Hskh{c*UL|SV3-bG%HWmgN_c@V+c#4l#K?p7(PEvX zq6h0Q2VprEpZ97+bPYl93~oT>X=Sk~M9$}p6wzQi;2;MBAc4BaXLB`0F6M3 zfG1MOt(U5h(%DT#AP1xo@ztr>JxP2~e3^cn^~HYVRGdB7ojwe2^%Yniotev-ftz(# zOv-Vzjv8)f2H;!H{N-d<+=wn+XPa^~RvKIu1oEO{uW;k}$uE3v-qX7_O_8Z1iSV^bM0baP8+K+9y zas}kWa2}kzgk9*wU~8vsx8=oNr@a7j&Ny(?=dUsl4PKz+6~|r=6#~ild9tEf6D#oay-S;x=uGY% zPZ{Vg08d2ehdUE52PHkd&2!17F3wH9ZhQWksh91nop@0Uti9sfi;YXu=I_*=e9cW( za>Er=HsFKQf-66Z%oZoBoI8L~Woz=zsuk$^HZ?)5e$%j)a-l3&pNA0tPiACCXkK$D zow{XkL7%hdqe&n>S6mmbX{NI;awg{(RNT z$36vhA^FeH2uy60{T7vZ){el5Jr9cQ388}e%Z(t8keHe2)Tz5MWL%DA4(joz%6Zm= zR1Xe*e(b|$RRfGS?`N6~11-pXwk(xo$8l~;q->a4(V?5)*cS$SE_YgDw&nmJ&BUp`p+VTg` zMUwNOg!5=*mX^QR(SzP^RzqQ-jg0^zWvBh9OR&8mVNPcE=M#Cc7r-BRhxcaRAGz=# zskP8wv*YtOhp4u*hmj}2rzjsEyrJZK!r^+O{!!geSiXK1_w&mP13)u>7H%#VZl7T> zIUr-cu#=M8O=B@{eh7{Rw>aHo8L9Noe+zTUY_8<_&7MPec#>=~{4Na>Lmo(kSH~8| zsjg}# zm)g>w(3Q&r-1G!y7$(&TD!vWu&ICT{-)}vX1@+$fh=DREtUwtCz0KW=S9pwF4BlGc z7WiwM5$q)ADgfcS!4Qa#m20c1;FbhAcs^E+=>`JPI4QnI`u9sk!7VJl3HpEawLKu% zsvOoC{(h+qxJ7o8xd8Zzc=^;S5NZsBJOcx97C!(C!UDGW z3iEGZe?1TM2P(*83T^EWVhUs;z(3dg?OCNP|1xpS$bYG_Kg9Xb+yGm1ExEN2h46Jw^|P1Ule8b>KFa8<^{!= z4v{TN#97Id$`F)>^w0N6s|_Qg+J8nFhv+CtnM1S^gp@=a1~NQ`Z>e{61nh6JbSDB| zWatqJI9Py(2R93H*aGAoeKOe=w1GDctM0Qi!J`F+!as+@&e#}KOPo0zpqPqkct!!3P$_Vnpzqc}suu(y^V=ecpf@K3O$?Pj+Ug)- zB9_;LJSfSo7gEl+{8U+J2GOWiJ&lYEm%blq8YX4d*Np1!e+Y68OOcuOe}iv%YP|UM zgC?RSH59lgET^ekObsr)mzCzgjkuxop~`v8js3pQgk4H&lqx$K0F*HMj9W#OqDM{W z^MwnXhs`HqONM&V<@HvDCq{GLeH$;j2?XE;mmenSqE8#$fN_QZYJ*Ug`-B$g3x`T% zr=??cOZO8ddXtD{2cROl)I>o3mpiW0RtA^9)B+cctVb+v0Vf+)pf2!N&~bzfbp~=w zaaQIJcC4l)1{FArO;Gtw8!h%$i{G9(G;5wg82)r*zU&tTbe>M#)05+l_cxN-A*HQW ze-9{%kpO)t3WQEYOap#?__E`*`$ZkTAsYS-AYU!a*n^G8)pD&ctuw;7dZA$H=yMu< zG0au(7oM$&;y0I=KU$9vkKFQTg1gVh{P>FV)G8S(0RATK$`=sa^*A~;c6d#D?hC*y zf~h64vaGeYAnTShSFQlhx&O9p#7%}KTZX^<5)X7BRWicprKFot%=fQPWlaYR!m*l0 z7#?GUvc7fhEk-*9tjpx7@-4tXZ{PRxVfjZ7Qb+7+Ci$^!8Vg>a<+1x4kV}Kyp8^dd zYJb@_8N9$R@Haj;lnj{k=0uUC23A_U1utB?@k$4KodbZhoO<1=ZebgK9_S|*GrdX#>$&(;Dy-dVjw8?PaORw6hlg$ae9Xp z75tFxmz?|yd+n$JdY-dx!1Px$`>z=aC(cN75c3@>v1k#oYz=#h7Wvy|>J=);f(90Q z6a*jz#k#Ek0N8x?V{+mo-kYn>BK>b;r-fTL9NKI-peVZsC_9dNCGHTZd8v-urE0{$ z>Ij3nwrb7#_rs-Mh?03DAu*Tfzx2ujSY_R6F2Gl8)hAR#3Wd_ax&USq6U$Y>49a5Q zS#gTUaod&bt*-v`*TFZMIg;Q$;i5^SBHVIxf0~g=-p|8iEehBa(QFsewk`;n){1m9 zy#mfr>#kTR4&G{zlV^$x@)2IT)?FVHeB#+>-3RO3=I9vle-l)k*J*p&D>+?N;E6~k zol*=wNH&-UK@@WW*&q<`H!Ge79Aw@2?Ci%rLOBHwAe~hdeyVn!j%DSUd;30r zkZ)@BmA+Sa+>nzaZC?XOTPXdtluqAg%5Hei+Hqy*4eG&!HoQ;Vsy!Tc1f%}a6VXjO z;H>s{P;~KuVnX@wE9BokFVRUMWCSw(8j#I)!{5ZPtK_NjO+qkoxid_&Tag}Jw1%Ax zpT;k7r3Qe(E4a}mbmy_*Sc$`fqH@MRK$VjQ-!NTF$v5Yo{` zz&0K6TpkY>sNp0n#~bd5QwZ}(`qGZCzS0Q>@k}aa-=ld|zl0csSKps0;BIx6h6+uf z^cJ6U5-brZAIQlsKT*190a0S3OS1>@2G<(+yBbrBPqfZDBgl8)S4?-rbILC|hphVN_@TtTclrl1uhn^ufazL+&91=|rD z3y8NSNwygu+_?K5fH4w8LL~vjoCZO^!adjkKp?ccqw&4Hv`Aqh>={5lxPE}9&uX&r zUhJDo_df^l`lTO$xKP!V8!(qfnBTmX8DE%dAV|I$H)utM>^HQ&t!&7HcMU<%bdXm- zfmXm3@W&Sw+x&zxZU9_`l#Uud?c*aQC@LQFrm|g)8^vjM?Ur{&MV+zn4%p8E-==&X z_Qr)aEu(VV8>Soj8h#>>+ad&17Gj&*BbnR?fmNGO_Bdyg%91J+f?A{i$ZkyMJ2wezVCitW zA1uDpREoQAD7rQz^t|!5m~C2&FcssWAl3qD6ZwMNDGl&0%E#|QPfym0@Ly5xTxpqc zvWsJux9*HqetOSJ`4Q1EHz!he{kP#cpNs;)z&Wa&4QGGOdh^ zJXu`72;;?%9+dK`BAc5>QwZzmm_%j8YG;gyC7~Epv*sP%&w>bra2-9qT%+$YBIa!X z>?!=5Lj(;WFg4DcfE8lTd>w?#`o;rVQ`7VL!nU}_Pm3EiW3SRY^ItE6SKka6Ng1zK z_s~?3(kUg2ta+q-@6mCc$s+LZC79TNVjYUNBG$Ovl8B?7L3cCD8AqA!#XgIZ`=;EU z`>bu>AXRhv!rH)UJ(IrEiV6gD6b{ANCd(mQu2^QH_EbzY1nq=M(DUPp&ji4Reuu}P z0h2=;n=!pDN85e#0D#SH+^L{w;b&b%{Kod?CNH`c_Er=?QtDv_Pmc!2`SGbXi#PKd zGgsaRNH72Vn8hkAqRK;$01JbjjKDWl)NiZPlSI1h8{sWhho>zOb*z(L_`O@jANtJ! z;jvInHkDkwS3epUuR|(2XnqA#8r!WLx+IBJNtvqE&yDUxeiic@jjb|MwYWh;RBc#UIIf3q|Ns#r4vTb`YDH zeqLBV<>*!#0Kq&FzO`@MzSy+rxu!kg%@OI?YM<`9v{63uv!}mo+Ais)UvN2vzO4vK z)I00UATi3HV`lj}5tvAuqeZAUpsXcWDMq zwVwdwB@F7-0-Im2OR^nyYh{1L43FQCw{+2w%n%ZkN1>~M%GiE+Y*>V4k~oSyO~hn#-|3U2@q@R=Le zv{j3*T0VmQ{y+czzdr)!KohM1{li61rRGBHbCrvH~?`1;sV4C2s#@^4E*K;#1BXS&;>w(fGz?O z0(1$GFdz{?qJW@#Qo$Hp27gNck^&?LuBE|m=o|s)eL3)3{?Fgw^8ft%GXnp2{P(lq zWB^>M-}vu@#Yxavb^jgyJD$Upn^(@9DN7_dvVs`p4<0-{6_|4>oL=4?aMFeb*&nF) znZW|vUuKw70_l8PUQI< z=CaV~h)ZT_1nvij&|q>1+c0>}Mw&DyN*vEOLk zPQ5qs^(oTg6m4N~d^*-!ezEVLpSzm}0O53N0!Hb3^3Klq^hy^W~?hrvu&#oiCEOj1(Zh!WvYG5iRK{xmi}DchWFY6v(v z`n6<{QZQz7ia{YpfJV1Fd(5_Wa(tK`YIdpQ-cxb*c3Khk`w67c%XXWIaF6L|@3qk) zbT;gCA4DwEH7^>Lz(bB;K>&KxOn5N35cJM|l74!OKJjsJWDj(plY3ot}R zKBr4rV2;!iSzS-iVi{A2FJCdJx=Q$mC@%)eWuN%;-Y`O$vz!jDM++kd+=vSn?ApO7 zwk&D*nc8FRd7Y5$q>+z`=)C<)UL(TymlfIFvc@})+2+XDCS~>l;5Rn6q?=C;*3uKr zi@jJVq3Vcz)`Gk-XUw!t&;pHvOthB&K)=5-bHYr>`v*1u;gKz{cvDQ#Y9?2@r?(-T1!4rN?kYSzE@;1BHSw!n={$O~7M>-zjdZ-2b{StoF|G zK^p#Yd)OyqlgTjYlSb&dU#1J>spQ7!zd0#0Q&5LctOA%qzvEX2rfgZe&A`gQ@5EoI z??lQ$Sl)^&GR?>x(&#$##A8gIwQ|s0U2{%b9atHoIpon$N&1*lEJF&D!O{5Svf_Rn znrLy{<95BfYs=Gal3ytRtD(svbS!SOO!x#bC5PVG3m(A8b_VZ5Q2yv=i9xow;A38s+4}ESbSk3PHk8I3^ z#A^qe<}k}8_&2iz^s{v?Ys;|4yTe5jkME3x)dnkccc1!v^0Le?2wC@?`MA85CTUut zm$>Zlf;2j#%1Jr?tn1Oa>Us7C=Put;coviJEQ)@rTbR+)BO$RXmi}WKX3-0CcM810 zJ|!%IppP@-yLd<{d^aj+EO@TL7O}P!0o+0nYmLDZ7)Atr#RhGS%n7oX{u@fMEb`D1 zGgnqllek)M2L>u=&ZR|JXQCy5x!}ld$ALV7=E9I0E zBJSXFh)Vx@S~@tifDv``jweJMIvH|xOg0xsFNSj?C@hWJ^jaJjDGIZ8 z)V`kLYw6fXgbSOFAj*+2m|(NHX%y;54f3O>4q}i2S+SPNMlQpeu|3ZAb|lR2lUFvi z#eP29;c6L7cI7y&`nXC*CbL6d3@n}eqydzL;>^i_ThP8cX4*^`SFiaoOjwNVU?|Eb zQ~F7X$)2_6C!A1etAXNg)hP3ko-bQ0y_g!5uOnP3NA~2B{d5$9e!^@_@Q`W@g}k1? z)}m5ulEX*|N7^%2fThyF3J>0&+L}RZ94@9FI!*t?$e}%F7F3U)Hv7zMdQN#ZMI|9n z-prxq-WF_MH}?=yiZXM)4UvZ)j=@JVLWxu(!L*5ETXl%#8OvVOk7R{}jfH&t4%ZHp z=kyn&KDb@4r|as@#<)!g3~9(hp}papZ*bPSZ*Barj7^Dd>^N<7+mGC^2e4fqe&=eJ ztZmAx`?!V-=GUt&nBl^7QOsL9ER=9QoGD?W2JK80Z>5Bmfju;%qVE{VPs_33%jkOj zJ+f#N8qQZSfk@g=YM$N;PO4&9@PZOqTYOuX11-pEP)}(}gS%@S=FsC~9a}*YX#a`h zK~NXS z7H>3IbTlJ;?dO)`OOVNkw!Gk*BTmXL-YkKNdxv|l(AOJl!7fsIB~xz(O=>RzVS9J) ztsFYyo^+~vi*hxLGHR{VS$SgrZ8}5o8pqhZ#xYEQRuj42CYXhh<|(D>HLt{`&}yKi)fmrP`Cce1zGa2$M#O zPI||u-nV$dmcB97gp?8Y>1EYxh*n7Ohi{D!GTGiVMI)#af}8dCf@kt-?s+&_=#g32 z%pE^9ODw2OP+&WBNeoUrE}PM6azh-h4I^Ysd4Mbzk~5x`!njWDTbCivS*J*2;E6fV zNh0Q_m)c7s*Q$eAa+-}?mDyz^=>$bK8)wZ2SNez=s+mg2F#<4SqRe7`>{ARYhXp2Wz| zeDm6ifAwfB;3kvBrBMO6SFHw^jmfPA8iKFEe4!(WPU``0i1Y|LQAp!;lPO_UJ&TLg zWMk;3G>=d*(|#qh!Z{P(6V=F*60I4fhUqso z$K!`iQ+sU2sR36R!H6II>S)%>R6kq~JgRQ_`OFL{aMs#8i!D$r?KQJborU&{P2sBb z7?N6>0h4gtxE^5f&)Q)L>{oiw@-i{lzEIWkP?2VQYN*|=}H$9h~B#@4r&WY{ljV@eeLXQAk^J$8l9DoyRpoW96A zbV!lgt!4|f*bonDQqgApIK7Fo^Lbt9GM6wfbH6|4<{swB{x5(O)UwZgnThh_>~cfq zvfgIF`l26@KEnz=dG*p!E!F`eiJGbP@M@dHUs0RBw28-;mL=JtcDj|^>uCNcKRWar z=UD}avUNW6I$U&@Zgn77L@m2p*kg{?!%SZvZOXlp{?TRa_a=3_Zo=-Pc@*lnHkd6+ z8i%d9qwe_aD+R?@dKOv)9UF7L+ZBVu#}$40`zAqd8M+jwKI_3%gKzlkt%3sgf@hOi zBOk7VvplBdGHyOo2tgb=8#QD`O@#UNidt)MP1uP1z}#PDZP02u8gf`yFdYNm*d$a@8uQB41kic5R}5R?3VN zVv3~zjS!Pw8XsOrWy>;Qp~#s|SXazgoyPA(jm3L|sm0u%O6>A(&grtd%lc;pB9aP& z`Jxb6b8}S-CE**g-xDZS5E3D`7_)-91Hh>o1|W*L9e65t@^)fxIb1-P?iJ<;)pNbN z`c$Rku}X0VCS=we#mOK%>8Z3HfSN>uz}SZCQ5nix8hyfGx*P^8KNK3>v+-I9mY7vC z*sTekFdK{ujx3>1yq6(upXl#XE_Fg4Txi4Av5I0sRv^VD!e9vsYFhWWT&r>flEH@XRTLI z;|__}Ovl#zfI#Clh+7sirG-@Opr>=b-{T*KK1Z|b}O7r^<#&PSM>ZI zDW6xv$(f$y61irJ$P({((DSU^jfPV=-!9M+5L318$kj#ZW;LH68M{Qxw1Jsvguvqt zeT7Rlp1)Kw-8mGOhipzP$Cfu`S+(j|^fo(sWyqsBn)mdT_LebebSZMn%R;2URAhF+ zh!(0ud1YrgDdUZIg%P%1$!T;ZFjYFs=|Kw2N&<$E%foDU!ghewnP8=iXIYLyPBQPz zDdHV4;CC9K4ui{bj!sxhU4Ze)%XE5+Sjn7t+10O^T;;9%`WZdg|D@gOxB}Aa3sTGj z?s*^XZH$26kR+QOIjdq&ZM`QV68^FngzxI>K`u>wQwcbxC_PbIoH_BYo%v3<9)#i# zoGAnkLJl`-q)v%1KEt8PenUXPTBuXLIoHzii_ptTc~Le)j6FeVA4D~%9Ll9Bj zmrQBAJ0`OH&Q&rfo_@_t2OFT(3IOvFl@7rbcqh%z6Hu)4$G5h#kUW}9)w2nVVqAw$2aWV|kJU?fWNhnk2`q;#zhHx+;%8Sw}TW@8gKZPr1ol%<6MZ+)2(GoSBz}FLxoCg@L(T z|0$CV>^SS5K>L$wC19YOe^e>^iz&;av*+s`QhZaE=odI+tS;mY+a(&o!^gsU+D?0~ znaQ%`GIBdl6O?X?P45{^u<_+-=j@Y3cP!sjFlJK1AIW@-Ir4)$AE`$ygsh_jZ933E z8uPgcxy@lvuL7<%BE7m3$C5|)tLR$hq<`3kjP2N36hxWUhfX%72c?cjK_s+Jk1%5iN z4>nl{b(gAlPAn6sXF@pIGU|Uiw zTc~$G9U0j$pr~`x|7O#1Oz%96!YIZ{n8H!bU)nL%U8OC-uVASQHf7cxjB-mMxh`{i z0>Pw%-{#90=l0A7H)>};vM&25MED*5(GpKq*Jje#7XhTq2Q_JJ2)kFTCzMP zD0h${5;Oa&t#Yqk7AHpaE)U`vqQ$O=vLxb{Yxn263~%enFBRPEthv8D^Tn=T&ZCYq zN6@#w^KeP5P@(nv*>aOmCH(T!Q*<20Wg`lbmd1dMk<5jobkodbdWy|Z<^^i~#am6_ zt`Y4^w5~JDru5tXU+qdozUDKWWS%jWz;`2a{w62By&&AVz&hoaV)p(1P-!`{YeE{x zn8(1F!oxJ#F|6?}w|5vVY_4i10##MjA$bz zs2sKL^YU9v&wQuM;iuiNU+Fl7?%~88Dh>*s$|vD?mhLfIZSI;=oUc%@+>3beHmH%W zxVV6aQVR_>z_WAEu~k-!$jvHrP9XIf9;;d%MyII1QDef)*94u+Y;}qzzdB9W5P1@N zDdE4-%)rs9WwxH$yxM8gor%_Mj}DTQPpXodD)_X@--9T~j3i?qM|SE46uCUoTv4x# zCS1@5k=rj+dr3R}Nm=hxIKhkVB1~V}Ha_1=V;!n#pqZUO;S(^%{s})jKUP4Gk z#+8>}6^nRNl_GNeTtD$B^t_HZ<`I%({%t%URd8nTGilkg$&%FeLF<*5cAlD1;!F9D zIUR{JJWh3jLc?`uJ!?}^Ur3JGYD&?Od)BG6kAE5NN%>%0yJ6#q3JR`oC^hYYCYT2?L+@3BRR2-@5T2iQt(L&UM z$z-tv!7!6*-OP46Xwt+!bVqKu^KA3WuJz*Eo{fHjE>#YN9_WS7W7W}Oc}(3aX6?+& zVB)#4m>^xWAU4yb`-6Tfl6`1=Fgc3onn~eFknlhkryqRXlbSHY|Atn~7PQg2hp@_p z(ZYt<%i^>L^=cyTKr%1|RDJN5v=p$GJaoucAsDf1a$MuZHnczIBF+wmhyD%UW~VIj4IZ)?+kntCIV zf~ipXY@MK(I+b@ZxDrS?6sMvbEW4rn_Zn$C^BO)7Asx`@iEt^Q-)Lg zJyI#!Ezx#-#Y~9lbYqz(jonf+^w!dk-aVdJlbAWumeL(b;?=D+95CGTtcs7W4<2R| z8Qs#=_~lr60XliZ=ha7d`iZud1A>!v74G3%Hea32oQ&h~UFp1SSuj+7Lg75PSp|Ae z$~V(lv&Dy_p6Q)PS$T%I;~5O>I{F9_ps>^oq-0G>7c{B$2&>qL^h zjM+EHifEe9PN{T1$_&i9KyiX-P7Zo7s}K?GldAFAW|+mB5@Vq&A2TDfM-iMHav>v17F^HjIv0d6<^eD-=skHYq)%! z2fggc!#4xSup3v>)R?gn;Hc5Ybn;^Y?&WYaDMWb<*wwt2{=sNGl z2PYNp8nq9fl3?;UZQLI~6;-e);X9c%{Ta=o$9)5L$S$`VAx(A4x zZq={qvz)syXXwY67&rBn)KgtdmnKWLD~TqBw+2omm26eIn)2AJ{p_$OnKO*6O{0V` zXFPonq^=9YT5F{itCLKQU=7BMYjI}YqJGQnb<8MkjcVPdC$5@YaY4Bb%PWk@Fx?Q4 zeT`sB*W$uu^$}`czAFdLSmpMwwFnF24)zyI)0idOd0LYGq5mW zEecccCmHjzaZrG*@)BEsxBg}(K&*o+o@a1bgC~um>SA^l8^YLeg$ zt%blA8uG-5OXvuW9W0pGi>oW|eWQId=CL;Yc(#)!_~o8tOewBp=_6M$4I-VkF5b}~ zu_Wp1Ee_E>slq){-`C<~yt||(N#Yn;FYZ;wl!#(`y?B3D#QxLt9_8qjS#v2XT5t>2 zccT{KcHRPzY=4#`NK7kurmZ7)v|^r=)yH<1^Z6k-mNa-wk`C|Js?oEI>kMZcCVHhp z&tk^bxgP`Uov|Z<bO((ZCgd-xpJKiqZj64vgVG^5foEU* zKK&OJ;J*h=l+cP>D~3rWcEkNQQ#aP6Q`-%T7u{QtTVn|?Tt{fEC54*(|Ex2>GO&3| zT4KFsBIovI*F?MPwjXty`Njv8o35LF+g%z@X~z0Wqd*0M+cKQhCh#XSmwoS?vM$;t~H9WWOIve z^<%*5miUvcr{k8pml(e}Mb_%{wQiBxkWPT<8^4#vOn z!4qo~Ei|-Ah&?1;5$=785U%JivixUs)z!)x53IqECO%}a5p2HhXi6ntvVr_wUHWHKV<&^kI?vQ|=~>GbM@&gR-#N{eb({2 zL;UaW5Eu=7yd@z?95M6GtS1-MmyfZBXm#^3U(fSj&ZFNkWdS2+S z-ux_w`L8vjY^HVufweX{jrQ<__9yR}>>?;%EfYXR<=8ELYZ_&n#;DVV=m_Z@>U4^Y z482EL675%DfJsSm=5gOakai(v(rxXHB>EvthFvJu4p_A7v!nRsn(*THOOcgs=i?FR zznPaBhLB${OH+dX^XHTQVbkN^xAPxw0RcwosP7AqCP2KLB+RQEQu+Ouw_!qiZ~tQ* z7wBnbWR76fta^@Fa-@WP#@czuU+G|sS5r~eE76r1V47!`DvK>YT4d02IASQd5Np%7|Lx~&3h!_plQV4x||R6%Rt z?^NPUWt>2Kr-}H`+iGN%Wzj}5aXGtMqBk%+b<(PL+PZItn)gB7B%0|evJMwX%@Bc`maW1j5+RK$ljI(Y|yU9r18t9ZGfM) z6~ylo4wV2FlvnTVmhRm+F_yBze`MKbN1v}%7MdqRf)%gHDka(LOZ~3HkC*6N=Ym_cT!%}9LWd%j zq&$F!7~`JM=uRN{-uv?2o*Q~u*1xf;BE?6)wO-Y?y2_TJRlp*UJ8 z`)$ANruwfCH3s0Dn&?^zxoIitcOh9^L8Ptl2^MunQZFr{M7Po&C8Uksf1s*u~tMqAx@5Qh2`| z`4q^Rv`%C=E%30JMeTG6wtGEq6E=Kv) z-)N}<^eJ*F2jPv}x>Sk1_z#;KugTv7D;(c|`AY7rv|-b_v^5C!A~UTS?pV1 z&H*7zR6+*A@Na`1b*Ooy-)W(qdO;ZT+uo0BqA>myoQBduDSty-p18EVcGN>OV4c?$C( zgB|!o(Hlu6>q$ui zIZsNiBxXUc9cmXFD^HzCPwu(TQNo7Ip*I}_&Y-opYVZPw0+*G$d=iNh$jKn$pXP&u z!Ye~KBZ>mVo76r2$TE!YDKJ3uQL69s5#T}4B~Fzq=-V(d4Z+n}mUXH2kqDi9hVS9Z z#7i))Z{0HxfKM;iq2E4Rktv}h4ytZvN*uS@;A1{{DVfe|c6r<&k6u_L3#TeTpH5-1 z&@tB}!FE6-!=x-#acTA32QGp$(mEF>@jW==OQdox`_n~qx#?DCRCpI5Tt%{Qt0)`< z`6h8tVbWJWO1w8K)hg8#!evbm8lcJ0Ks_H`J?#U?^{us(i=f;Y5y{bJ1@a)KL+ahU z5agnjdEzvZmBjs|EaiM`C)c7K9cYhNdel_aCz#M;xc!mc4nPoxD zJr~?|zZD5n#*_vRA^2H0BzzhOe2$ScV$V7y!8GTqq}@@Jbp;J|r#8aoZHXLi`E!DP zkydBHn$!Cstq}J;F-(QfNs~KmaL6LS6#mb|HA0uV8DSkl`rM8cZmWLNWNP2TEa|IW zQr}*W+9vaM@C^voWF-Ql@ppVc3=#exI(Q&c$Qm*SG2{-y@!&A=olKZqWJ>>{SaY_4iF zJ@q8;WOjda$DKfya7KX{=OHB_F?h@Vb(ZigF!3H!1p5MTgzu9QoO`CJ&=nV}0hdh6c z=R?$lx1h?V`TSyBxS6q%tnw#kWn!sAds9fl_q*`kNHQ=n&CogL8j?VF>EZ>pW1cBq ze6&%K;?m{Y%9Xj+%f8&?C0-wto1VIDZRpGUXOL?V2S|E$k5;$$ecbFzUdBDYuG(vuanXfQ(q>0_WbZESmL$LZN*+6bC1A>AR$<)s% z-duPtHBkK9v!Z~)x$<=8w=C8!#TBR0!j~TsnOsk=#0k5ME*0#Fp&sE(V?R0YNw8;H zF4Lw`vWN4WqlcJ9;5mb*AL~2Q`#UeYoRf&IuJ7z5wmR3%dIk3d&A}-aTjc9SVmi&R zd<79XXNJ52|IKR@-@QDXY)IQ$BXMnQ;W>*dcE)1B-4FApU8g%&$iGA$*^hZUnIQN?JwJ(688KOW4{Sc zHbaF6!S!AfLk7o|EBm!7jx4`DFA`OIfsEE;ChZ2 zy-{Ji?pO=ih>J&a`D4)uV?47G_LcTSb$0`vdg1QjaF+g(D;TtF(eL`yUwtu!>f))3 z4jb#Yj85D+S&(2uVk5^k>3?FD!{9)SH({OB1Ka0kRF`^}E?j@t*thOD%xK)mI$p2k zJ#d7eba?srSG_$KSSN-h)<c6rZJg| zZ!?`|!KVHT$0jv(k>jdaM_*=6sGsw_UpgOOdL}QO{%zlf$nlC8)zc9ix)vG4Su3*$xpS+qmU6UiP8HHN~&&*!^ru+1CWMlXfe|KOwn$ zXc!``E_-Vs=DyVJagcqw%%BvZcjuLk|B!oKv@PQi-vdidMo0Ia=9fMixUzced7)eT zo57CSCu?hJ?;RF6=0~)7pN8Khd#<_4vBhmdwIzu1mbr zqUBCpJD=P_Q(AOihAs~BlD*BI&&3B;)UEQ(d;>f$YCcI!Y;1EhD9)E8W?52qGdkn5 z{-q`3)!pJD=B?=3;=cXmA0|18qSPfh--P1n>YQOb9B;X%K0kgsq~odV)6O;D&o6nZ zU&*{y`())={~VcOKB#ZQ?*?W z2h&NU>o&fujCH$o<;8Aw7=_kL44hP`eW~WjRB*{;J?)_{3HS77gLvMSpd=UF`lGuI z>o1c$MBVjDJSr>q8$CV{?3m$&?9E>Jn)P6&et0^N_Q6TzkHMWr_l#c@jU*^B)DnwN zlp1(yB}<#-hZ!<=(kh6qwq<&ME;pUc@lja*E+n_f8o=>r?di2aI1Y)!N3@hhjjjm_2u)-<`_@jR1nY_4W;mncVE z@esW%_p0IBFtT)i2@R(?5{5ltkN>AGv`Dwpd~f{$$Q|vc`RX!A<-x?w{jQ4?S;- zxz1j__N8I3@Z-yt6^+H6!zYXs_pkaQM!LJx-*fd*XXt(^TOJ-UO6h1BtH^yG_og}e z*txc-$@6t{bxE>nucD}^(nE>zrW2?F9OB(a>?Y%tjql|3vLTlb3f?X~Sxtv~nORQl z!YP(J{Y*hle5vOL*1pkjQOw_!!ihJ2Tcwb!>(#JyTxLASXs*;EaIWo%3BFe=XXUDCr#A4ek& z@iD}+)_>FIWcRu$Kto_3d3+yROTek{x`R3K$oI4}^t^@qg$zqke(NUd<@bA!Kglbc02MhIOQKjY4zO5d~Vg9No71Qz0E#Gua^zBy^rxQr0 zI5E4WlFGGxqQ-OHF7~bBJ=}*igJ)|?)Xgaj34@Z$1*p944XLve*0*yV%aX&-;=87rr@fTM_xUKHL(tWaeR?6QY;Zo%q zf0sq={*8St>q^y!+hW?c&Oy6#uqP^vb)lUn<9EmQWhzpq<(qm-NuRB85+TH5#R zQt3D@=SiRy$BND+sD zggdC0<|ZM7aaqpa;!D!^%&~1Gr7f1|(0{@IAXQT6hMPxD_vzKWGtWZeZRlm4E>rcq zK{ixQy-$y;M&rcoRYCd=7d>-v(esmY)%Kp9tvh?+uumeztaj|@9={@`w_#5*=s5+Y zgXj#5>(4y6j*f>o9D}??Uql46T0Eg<*dKi4gD1`XhKmm_#H=lyDf#;JoQT9=Isb8r zhlj_;z3ER{bW(_~hhJ5?WJw#|nap&RyF)uN_!IAAvnTU)jUlpz&*booFPa6dy&Af_ znejZ3h>Jzu@bS9Tg$mnAgC3=9ji9OHeJLrUryf+Eu(o?UyawjXQIh5Fyd)gI;cg0t zjceAFGpyZE`u6o6>wM%yce2$|!f_?2rV)b-eurlpkl2ZNc!IJ3As#vXFYL(k80Ooj4Qw_b7! z$o)WWcZ&%xk}S8zgw8YRI7>XgoA|VmTGg`~RX9gvRiBZ3WxOI#?^FJWNKnXhp>XIB zRKw6VGn6*bogRKTrqbU->iXn8l$w%?1d4j}Ye<%7aLO}_&-(Whv^_t|R~@)8w6>@4 zsm&2ZR^%z+s-(MhJm@YQP@Bto zU$_27k2XKTy5t_)>zddDH6M^{c(S^q4u_-mKhUgcyS$II>0?r}ql;PO5fmRqT;uq; z6mv0_T$Hotmmq=g@>2;N&tmcKA8fRfXUJYHxms`}N2$2+#n{?C*1l%+m$NcmeYc|b zqcnBo*y0W`^eDXXMAbexn5x-wtZKB>*QkMK$o@cLI(_6d{2IgA1ew@91naYoX~ORU zmD&m;i{s+?oJ4dV^cRgkR%g~^TQlZAOdGqnFT`mw5Tf{zWR9;48F>SKbJQQ`G2l zJ}6Rap{&i>w)1)y`eBfrNp7%i|D1}Xcli48LU*KEWv2&QtKi&;Q&VH*I4}L?QMY5h zvUT?9WzLCKv^-16eI&v)w3?fK!DT%bKVH>bU0HeV{R6| zOd@nmx3cxBMTBjxMQ6dMNqu6jtSj$7CR2z{9ddPk;4IgbEgRjWQ?h4{@ow#AldIU< zL?26TUTTU={I+v)Uqr6mqEwsu7%D{9&M*IYmPHn6xlMIbzS3c^IQ|4 zhYnJys$l>-Nid9go@96TEoO@y^)vso! z^q*EO3bU6S_4vw@U7GzqBU-cB-_IsRm=C=c-j!$AD9~m2CHI(a6mNDZRpsk3!M=vT z34OOWeH*K%V{bi}wPj1XeOYIMg_-i1;D{V)?J(|LwESqDQ&NyG6nyYybNu+f7KaA(vl(a`@$6ki)t?3ZO$@% zMvgOE4h)TP*VKlsMW0-`_J*us=00<-!29WlSq`oBjr7e+A09{5zEtH~Sgr4Zw4R2iCiv*-DX~qH|T&4oqXO&+JK- zY3!xv{?wY3#keWweyyfuDX?{bWO;L`?QVZjO>_MHI)fK>bpz2vV~h*PiK2}0J!jb3 zeR>a^d)Y{@NJDU6DsT=rcy{i{{mds}o;NbwBnJr}CNN6XK2DQ;#Fa>=*vKa3?Rb2N zbWWJU_6eTO@rx#-(ZZY@XP((SKU%x66pvt)+^?%~B!5E?rQ(dXwGw>VmvN|ZS=WmI zC33)4D0QTHs#`&=X3#j|34chI3w7?d^}t0$N4w-3c1hv~4JH@VtQ}h4=EmHnuwXyw zsX=KdV%Pk_Et#qJ^G*FM=O^`gJh-yqJongn)fO2z7LS`xzq*=$4z7GZYR=s9~T(TOa=A(M%M^U$x=*mm4&$F0DYwZuNSMVg z5cXK|aBqI|8oNZ&Xc?8>`^TZAudG&G=gw>l5HdV;*8Ozv<}+k$@e9Ix!q<@jo7$SB zoy>J-Rw*`VMti)QZeACSZu@4$(UX)h`oiJe)Uk5C&M-e0s<%R;vQdlvHBH?dk6E|- zWTz|i0$gUC3U2KaHJ!9Be6f-KK(8&5RX2&SPM`I3Y@$W9Y@(sjMf3);pF(Icoz>!4wPEvnFe>%7^ndaR`Z_Qy=zGPMl`cn2L z&Y0)dzE-9+2S%M5x9zG*o|7$i<3(?od>X^{XadVfA^8bSt!0Li4esM16%D23 z0hCOX{QQ@q@7yvGK%FTV6%z|R&wQ0KoViLb+VrAt_=@13V7zu3MJ|HahP9dZcSE^i zKW3249$37D+6X2WH_l-=YiK=gH(eR0_w;BMg72<>Lihdy7u4KUg=8Njj18}OE7|v` z)Y7zn;Gr^5!b>o)`*N?J>s4W0X#2qYEx{!B*JyR?Rqdt%?=SWBRm&cniL@@4^p)c( z1O~?DuJ~!*`AX!}ofX^1FhL^zh>fSGQRrLr69L-=QkrpJEecttDT?9G?Sdi zoih?Gst*UAf4tYr&P(R(for2B$Bqg#KNHzMnrG0eHeqaeWkH9~w{D8EZyUr!Zw(pK_Ihctc0M2v z5+%&b_(UPv_^NQDRO8jX6CDKd3&k9S3OD)A@mp++l;9jCo;)=AFyyiRam%N?S8=8Y zYkWP3Z@J@pv_{0mcY1jr{-)@r7byGjijJ|ImIdG0*P6}bo=kywg_n6Uv!|ykbTjZe zvXz4LCd(MupGKaF?`z0jx3M7~wEVDlmM8dd%UiKnydZS#9?LpM6d%KdD!C*2E#hd8 zloi#Du#hBMNxCuNL8=yyVg#w7PQi&{;;WP0bqA82L}pA$RAce(u*B|Ja0#ppIf6X& zjD&+DJ1jQ%m9oYeYNeceBrA|ch_je%yr9&4eotEz9f$X0j^V*#rF*is$<3+r#@2mf zz0JH%>P;p)7v7m}l^B0(Czg08M&<4uGn}W5&kD5a<#k403m@1J-uSr5G^_=&KQ(Q^ z7>j=&|G5?WJjQ{87enNlj7bFGF{juNBU-uK*=`Y&pPx`e# zsFN5|ArrK7zoMP{8U3-}(f;rCWBnf(T+D&>zhL|!Zr5-?`ltWpkLy4EFMp(e`d|J? z|MUJAOnz+rJN++q7co~c{*}M_%YNy9`8Vkg?We@Var(CpT!@Mo^SrVCI_&eu+z#e> z<3fE}fA$CBLj8Y9GeOI6`e*)4IE^h27ux|BT&_>;Lrl`J*{tk1p^>7kD7efd5t>{^bV$?7=Q@`taD_c}*Aid$obT z(i-4dfUgnAeINW2gLuKm8kA)OFiqh+7;o@haK;MuaGFB~ASVx8n<>bv54@t7+}fa4 z%>Hw{&^^co{5SrNe;3qb3NUR!+8SVLgOmmEH2*twnu8kdgL2Km#~9RT0qVaCO2_ygqn>82bIu zhU5Q4o+|(o^MtKH-ednn{u`idQ;?q=?a40ODQN2hX1yaxlCJJ%*tc z6bC~Ks0xOFnBNa9zdj3}zXj#N&Ei9^4KJ zhz*8GnfB@@(g#ZiuyBFl$ z2Qz)lKb$?71sw6<-)W*s$O~cyAIyP;m@&W%zB1s813vKa9sH5_`TKn-$j=l13;vyW zfRShH&=HtUm*Ex=LmvNh$s92L5r_(45QF>sR}Xd=pAGr|*YEzXqC-?LJ_{rO!xIoK zT+VeU9flar^pkLy1!T1c&9yq@!bOweh zkOvHJL+@F?nC}G~G#5@g{;eE(7@r=Zg0IU#0x-M+y@8=6R0l(Uh!8y515oha@DIcI zhanLd9)k|S`7yh1{&NQ%j7I|1LXTj02dadj_kWEHu2R7Gl+aZ;zc9oILun`rhIaoDpB%>gO7=poP$_)=A#{#< z;uIP56y6*4-`)Qev%f0#3;zB-{u@yMJC9+3`wu^K2kswY5E%^5L8oDO337*_=HL1w zw*TS5_!Q8O{tTxnA?)}fgws?IcDypfX=(^N{;_;yAAFwnM}NlhCoG@C@=Gk=#qw{g z9KgzNtX#p$C#;;q>M6o-Jsdyy7MA~G^(m}8!RlvN{fZjKQ7j` z601jG^${$e!tx8O-iPJiSo&l6C{`X}^*XG+i{&#|eG$t)uzVED&kw`T?aUAUhJCJB zeHE+sGQ;^UKr%4A_~W@_^#ZJ15QMKQ{E$~zeHY8Ou<{oxKe7B=1jbYTp%-H16jtxU z%2^9IpBnTKhU!1$Dz^V&V=P`0L8cv)2;IDCT+Tw@2#OnQ6{UZ&=yASV$jp4&sJszu% zW939PT#o$@y&Eg9vHCDpk0^xmxxjm4WB55%Pr%MIO5y7df9O*IIGFo+1P#FO@elnD zW7EOt)mXg^EAO!Sc{N;)&yV>JRvu&Z0jzxOfb#`F$AHF51_eTwVfYksf??2)c@tKD z*azzoA#i_c$^Mh3%I-A$Nvlk F{s#ermdF4A literal 0 HcmV?d00001 diff --git a/Examples/Data/Source/Email Templates/Single Row.eml b/Examples/Data/Source/Email Templates/Single Row.eml new file mode 100644 index 0000000..07fb8b8 --- /dev/null +++ b/Examples/Data/Source/Email Templates/Single Row.eml @@ -0,0 +1,1048 @@ +Message-ID: <024eab6a791645109f22f27211d12d56> +From: "<<[sender]>>" +Subject: <<[subject]>> +To: "<><<[r]>>", "<>" +Cc: "<<[cc]>>" +X-Unsent: 1 +Date: Mon, 7 Aug 2017 23:09:01 +0000 +MIME-Version: 1.0 +Content-Type: multipart/mixed; + boundary="--_=_NextPart1_528e2344-1765-419f-9a40-9ca9712e8cb6" + +This is a multi-part message in MIME format. + +----_=_NextPart1_528e2344-1765-419f-9a40-9ca9712e8cb6 +Content-Type: multipart/alternative; boundary="--_=_NextPart0_6c2e718d-1539-43ff-92af-9689fd5a3543" + + +----_=_NextPart0_6c2e718d-1539-43ff-92af-9689fd5a3543 +Content-Type: text/plain; charset="utf-8" +Content-Transfer-Encoding: quoted-printable + +NOTE: Dynamic inserting of images is not supported yet=2E + +Name: +<<[customer=2ECustomerName]>> + +Contact Number: +<<[customer=2ECustomerContactNumber]>> +=20 + +----_=_NextPart0_6c2e718d-1539-43ff-92af-9689fd5a3543 +Content-Type: text/html; charset="koi8-r" +Content-Transfer-Encoding: quoted-printable + + +<= +meta name=3D"ProgId" content=3D"Word=2EDocument">

      NOTE: Dynamic inserting of images is not supported yet=2E<= +/span>

      = +Name:

      <<[customer=2ECustomerName]&= +gt;>

      Contact Num= +ber:

      = +<<[customer=2E= +CustomerContactNumber]>>

       

      +----_=_NextPart0_6c2e718d-1539-43ff-92af-9689fd5a3543-- + +----_=_NextPart1_528e2344-1765-419f-9a40-9ca9712e8cb6 +Content-Type: application/octet-stream; name="ExampleAttachment.txt" +Content-Transfer-Encoding: base64 +Content-Disposition: attachment + +U3ViamVjdDogPDxbc3ViamVjdF0+Pg== +----_=_NextPart1_528e2344-1765-419f-9a40-9ca9712e8cb6-- + diff --git a/Examples/Data/Source/Email Templates/Single Row.msg b/Examples/Data/Source/Email Templates/Single Row.msg new file mode 100644 index 0000000000000000000000000000000000000000..44a2bf06cbc16c1fc854354f2e3c45cac79d7848 GIT binary patch literal 58880 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 F{y%|^Er|dC literal 0 HcmV?d00001 diff --git a/Examples/Data/Source/HTML Templates/Common Master-Detail.html b/Examples/Data/Source/HTML Templates/Common Master-Detail.html index 0dc779b..515fcd2 100644 --- a/Examples/Data/Source/HTML Templates/Common Master-Detail.html +++ b/Examples/Data/Source/HTML Templates/Common Master-Detail.html @@ -1,9 +1,9 @@ -<<foreach [in customers]>> - -

      <<[CustomerName]>>

      -

      Products: <<foreach [in Order]>><<[IndexOf() != 0 ? ", " : ""]>><<[Product.ProductName]>><</foreach>>

      +<<foreach [in managers]>> + +

      <<[Name]>>

      +

      Clients: <<foreach [in Contracts]>><<[IndexOf() != 0 ? ", " : ""]>><<[Client.Name]>><</foreach>>

      <</foreach>> \ No newline at end of file diff --git a/Examples/Data/Source/Word Templates/In-Table List with Running (Progressive) Total.docx b/Examples/Data/Source/Word Templates/In-Table List with Running (Progressive) Total.docx index 1dd148f2476b0f040f2e71fdd4dc4d9571fdc871..14a9df96daf52d52927c0ff59a3e0cf017459710 100644 GIT binary patch delta 5246 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 Km~tZj+Wa2{bl=JV delta 5238 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 NjLZW9A<2I?{{{Ho!MXqd diff --git a/Examples/VisualBasic/GroupDocs.Assembly.Examples/GenerateReport.vb b/Examples/VisualBasic/GroupDocs.Assembly.Examples/GenerateReport.vb index eacc417..bf9b983 100644 --- a/Examples/VisualBasic/GroupDocs.Assembly.Examples/GenerateReport.vb +++ b/Examples/VisualBasic/GroupDocs.Assembly.Examples/GenerateReport.vb @@ -144,6 +144,7 @@ Namespace GroupDocs.AssemblyExamples assembler.AssembleDocument(CommonUtilities.GetSourceDocument(document), CommonUtilities.SetDestinationDocument(outDocument), table, "Managers") 'ExEnd:ChangingDocumentTableColumnType End Sub + Public Shared Sub GenerateBubbleChart(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) Select Case strDocumentFormat Case "document" @@ -389,6 +390,24 @@ Namespace GroupDocs.AssemblyExamples End Try End If Exit Select + Case "email" + If True Then + 'ExStart:GenerateBubbleChartinEmailFormat + 'Setting up source email template + Const strEmailTemplate As [String] = "Email Templates/Bubble Chart.msg" + 'Setting up destination email report + Const strEmailReport As [String] = "Email Reports/Bubble Chart Report.msg" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Bubble Chart Report in open presentation format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.GetOrdersData()), DataLayer.EmailDataSourceName(".msg", "orders")) + Catch ex As Exception + Console.WriteLine(ex.Message) + End Try + 'ExEnd:GenerateBubbleChartinEmailFormat + End If + Exit Select End Select End Sub Public Shared Sub GenerateBulletedList(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) @@ -643,6 +662,8 @@ Namespace GroupDocs.AssemblyExamples Try 'Instantiate DocumentAssembler class Dim assembler As New DocumentAssembler() + ' This is needed solely for images in HTML documents. + assembler.KnownTypes.Add(GetType(FileUtil)) 'Call AssembleDocument to generate Bulleted List Report in html format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetProductsData(), "products") Catch ex As Exception @@ -669,6 +690,24 @@ Namespace GroupDocs.AssemblyExamples 'ExEnd:GenerateBulletedListinTextFormat End If Exit Select + Case "email" + If True Then + 'ExStart:GenerateBulletedListinEmailFormat + 'Setting up source email template + Const strEmailTemplate As [String] = "Email Templates/Bulleted List.msg" + 'Setting up destination email report + Const strEmailReport As [String] = "Email Reports/Bulleted List Report.msg" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Bulleted List Report in email format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.GetProductsData()), DataLayer.EmailDataSourceName(".msg", "products")) + Catch ex As Exception + Console.WriteLine(ex.Message) + End Try + 'ExEnd:GenerateBulletedListinEmailFormat + End If + Exit Select End Select End Sub @@ -913,6 +952,25 @@ Namespace GroupDocs.AssemblyExamples End Try End If Exit Select + Case "email" + If True Then + 'ExStart:GenerateChartWithFilteringGroupingAndOrderinginEmailFormat + 'Setting up source email template + Const strEmailTemplate As [String] = "Email Templates/Chart with Filtering, Grouping, and Ordering.msg" + 'Setting up destination email report + Const strEmailReport As [String] = "Email Reports/Chart with Filtering, Grouping, and Ordering Report.msg" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Chart report with Filtering, Grouping, and Ordering in email format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.GetOrdersData()), DataLayer.EmailDataSourceName(".msg", "orders")) + Catch ex As Exception + Console.WriteLine(ex.Message) + End Try + 'ExEnd:GenerateChartWithFilteringGroupingAndOrderinginEmailFormat + End If + Exit Select + End Select End Sub Public Shared Sub GenerateCommonList(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) @@ -1193,6 +1251,24 @@ Namespace GroupDocs.AssemblyExamples 'ExEnd:GenerateCommonListinTextFormat End If Exit Select + Case "email" + If True Then + 'ExStart:GenerateCommonListinEmailFormat + 'Setting up source email template + Const strEmailDocumentTemplate As [String] = "Email Templates/Common List.msg" + 'Setting up destination email report + Const strEmailDocumentReport As [String] = "Email Reports/Common List Report.msg" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Common List Report in email document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailDocumentTemplate), CommonUtilities.SetDestinationDocument(strEmailDocumentReport), DataLayer.EmailDataSourceObject(strEmailDocumentTemplate, DataLayer.PopulateData()), DataLayer.EmailDataSourceName(".msg", "customers")) + Catch ex As Exception + Console.WriteLine(ex.Message) + End Try + 'ExEnd:GenerateCommonListinEmailFormat + End If + Exit Select End Select End Sub Public Shared Sub GenerateCommonMasterDetail(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) @@ -1447,6 +1523,8 @@ Namespace GroupDocs.AssemblyExamples Try 'Instantiate DocumentAssembler class Dim assembler As New DocumentAssembler() + ' This is needed solely for images in HTML documents. + assembler.KnownTypes.Add(GetType(FileUtil)) 'Call AssembleDocument to generate Common Master-Detail Report in html format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.PopulateData(), "customers") Catch ex As Exception @@ -1473,6 +1551,24 @@ Namespace GroupDocs.AssemblyExamples 'ExEnd:GenerateCommonMasterDetailinTextFormat End If Exit Select + Case "email" + If True Then + 'ExStart:GenerateCommonMasterDetailinEmailFormat + 'Setting up source email document template + Const strEmailDocumentTemplate As [String] = "Email Templates/Common Master-Detail.msg" + 'Setting up destination email document report + Const strEmailDocumentReport As [String] = "Email Reports/Common Master-Detail Report.msg" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Common Master-Detail Report in email document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailDocumentTemplate), CommonUtilities.SetDestinationDocument(strEmailDocumentReport), DataLayer.EmailDataSourceObject(strEmailDocumentTemplate, DataLayer.PopulateData()), DataLayer.EmailDataSourceName(".msg", "customers")) + Catch ex As Exception + Console.WriteLine(ex.Message) + End Try + 'ExEnd:GenerateCommonMasterDetailinEmailFormat + End If + Exit Select End Select End Sub Public Shared Sub GenerateInParagraphList(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) @@ -1753,6 +1849,24 @@ Namespace GroupDocs.AssemblyExamples 'ExEnd:GenerateInParagraphListinTextFormat End If Exit Select + Case "email" + If True Then + 'ExStart:GenerateInParagraphListinEmailFormat + 'Setting up source email document template + Const strEmailDocumentTemplate As [String] = "Email Templates/In-Paragraph List.msg" + 'Setting up destination email document report + Const strEmailDocumentReport As [String] = "Email Reports/In-Paragraph List Report.msg" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Paragraph List Report in email document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailDocumentTemplate), CommonUtilities.SetDestinationDocument(strEmailDocumentReport), DataLayer.EmailDataSourceObject(strEmailDocumentTemplate, DataLayer.GetProductsData()), DataLayer.EmailDataSourceName(".msg", "products")) + Catch ex As Exception + Console.WriteLine(ex.Message) + End Try + 'ExEnd:GenerateInParagraphListinEmailFormat + End If + Exit Select End Select End Sub Public Shared Sub GenerateInTableListWithAlternateContent(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) @@ -2015,6 +2129,26 @@ Namespace GroupDocs.AssemblyExamples 'ExEnd:GenerateInTableListWithAlternateContentinHtmlFormat End If Exit Select + + Case "email" + + If True Then + 'ExStart:GenerateInTableListWithAlternateContentinEmailFormat + 'Setting up source email template + Const strEmailTemplate As [String] = "Email Templates/In-Table List with Alternate Content.msg" + 'Setting up destination email report + Const strEmailReport As [String] = "Email Reports/In-Table List with Alternate Content Report.msg" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table List with Alternate Content Report in email format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.GetOrdersData()), DataLayer.EmailDataSourceName(".msg", "orders")) + Catch ex As Exception + Console.WriteLine(ex.Message) + End Try + 'ExEnd:GenerateInTableListWithAlternateContentinEmailFormat + End If + Exit Select End Select End Sub Public Shared Sub GenerateInTableListWithFilteringGroupingAndOrdering(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) @@ -2277,6 +2411,25 @@ Namespace GroupDocs.AssemblyExamples End If Exit Select + Case "email" + If True Then + 'ExStart:GenerateInTableListWithFilteringGroupingAndOrderinginEmailDocument + 'Setting up source email template + Const strEmailTemplate As [String] = "Email Templates/In-Table List with Filtering, Grouping, and Ordering.msg" + 'Setting up destination email report + Const strEmailReport As [String] = "Email Reports/In-Table List with Filtering, Grouping, and Ordering Report.msg" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering Report in email format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.GetOrdersData()), DataLayer.EmailDataSourceName(".msg", "orders")) + Catch ex As Exception + Console.WriteLine(ex.Message) + End Try + 'ExEnd:GenerateInTableListWithFilteringGroupingAndOrderinginEmailDocument + End If + Exit Select + End Select End Sub Public Shared Sub GenerateInTableListWithHighlightedRows(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) @@ -2539,6 +2692,25 @@ Namespace GroupDocs.AssemblyExamples 'ExEnd:GenerateInTableListWithHighlightedRowsinHtmlDocument End If Exit Select + Case "email" + If True Then + 'ExStart:GenerateInTableListWithHighlightedRowsinEmailDocument + 'Setting up source email template + Const strEmailTemplate As [String] = "Email Templates/In-Table List with Highlighted Rows.msg" + 'Setting up destination email report + Const strEmailReport As [String] = "Email Reports/In-Table List with Highlighted Rows Report.msg" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table List with Highlighted Rows Report in email format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.GetOrdersData()), DataLayer.EmailDataSourceName(".msg", "orders")) + Catch ex As Exception + Console.WriteLine(ex.Message) + End Try + 'ExEnd:GenerateInTableListWithHighlightedRowsinEmailDocument + End If + Exit Select + End Select End Sub Public Shared Sub GenerateInTableList(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) @@ -2801,6 +2973,24 @@ Namespace GroupDocs.AssemblyExamples 'ExEnd:GenerateInTableListinHtmlDocument End If Exit Select + Case "email" + If True Then + 'ExStart:GenerateInTableListinEmailDocument + 'Setting up source email template + Const strEmailTemplate As [String] = "Email Templates/In-Table List.msg" + 'Setting up destination email report + Const strEmailReport As [String] = "Email Reports/In-Table List Report.msg" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table List Report in email format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.PopulateData()), DataLayer.EmailDataSourceName(".msg", "customers")) + Catch ex As Exception + Console.WriteLine(ex.Message) + End Try + 'ExEnd:GenerateInTableListinEmailDocument + End If + Exit Select End Select End Sub Public Shared Sub GenerateInTableMasterDetail(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) @@ -3062,10 +3252,27 @@ Namespace GroupDocs.AssemblyExamples 'ExEnd:GenerateInTableMasterDetailinHtmlFormat End If Exit Select + Case "email" + If True Then + 'ExStart:GenerateInTableMasterDetailinEmailFormat + 'Setting up source email template + Const strEmailTemplate As [String] = "Email Templates/In-Table Master-Detail.msg" + 'Setting up destination email report + Const strEmailReport As [String] = "Email Reports/In-Table Master-Detail Report.msg" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table Master-Detail Report in email format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.PopulateData()), DataLayer.EmailDataSourceName(".msg", "customers")) + Catch ex As Exception + Console.WriteLine(ex.Message) + End Try + 'ExEnd:GenerateInTableMasterDetailinEmailFormat + End If + Exit Select End Select End Sub - Public Shared Sub GenerateInTableListWithProgressiveTotal(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) Select Case strDocumentFormat Case "document" @@ -3141,10 +3348,26 @@ Namespace GroupDocs.AssemblyExamples 'ExEnd:GenerateInTableListWithProgressiveTotalinHtmlFormat End If Exit Select + Case "email" + If True Then + 'ExStart:GenerateInTableListWithProgressiveTotalinEmailFormat + 'Setting up source email template + Const strEmailTemplate As [String] = "Email Templates/In-Table List with Running (Progressive) Total.msg" + 'Setting up destination email report + Const strEmailReport As [String] = "Email Reports/In-Table List with Running (Progressive) Total.msg" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate In-Table List with Progressive(Running) Total Report in email format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.GetOrdersData()), DataLayer.EmailDataSourceName(".msg", "orders")) + Catch ex As Exception + Console.WriteLine(ex.Message) + End Try + 'ExEnd:GenerateInTableListWithProgressiveTotalinEmailFormat + End If + Exit Select End Select End Sub - - Public Shared Sub GenerateMulticoloredNumberedList(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) Select Case strDocumentFormat Case "document" @@ -3404,6 +3627,24 @@ Namespace GroupDocs.AssemblyExamples 'ExEnd:GenerateMulticoloredNumberedListinHtml End If Exit Select + Case "email" + If True Then + 'ExStart:GenerateMulticoloredNumberedListinEmail + 'Setting up source email template + Const strEmailDocumentTemplate As [String] = "Email Templates/Multicolored Numbered List.msg" + 'Setting up destination email report + Const strEmailDocumentReport As [String] = "Email Reports/Multicolored Numbered List Report.msg" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Multicolored Numbered List Report in html format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailDocumentTemplate), CommonUtilities.SetDestinationDocument(strEmailDocumentReport), DataLayer.EmailDataSourceObject(strEmailDocumentTemplate, DataLayer.GetProductsData()), DataLayer.EmailDataSourceName(".msg", "products")) + Catch ex As Exception + Console.WriteLine(ex.Message) + End Try + 'ExEnd:GenerateMulticoloredNumberedListinEmail + End If + Exit Select End Select End Sub @@ -3685,6 +3926,24 @@ Namespace GroupDocs.AssemblyExamples 'ExEnd:GenerateNumberedListinTextFormat End If Exit Select + Case "email" + If True Then + 'ExStart:GenerateNumberedListinEmailFormat + 'Setting up source email template + Const strEmailDocumentTemplate As [String] = "Email Templates/Numbered List.msg" + 'Setting up destination email report + Const strEmailDocumentReport As [String] = "Email Reports/Numbered List Report.msg" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Numbered List Report in email format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailDocumentTemplate), CommonUtilities.SetDestinationDocument(strEmailDocumentReport), DataLayer.EmailDataSourceObject(strEmailDocumentTemplate, DataLayer.GetProductsData()), DataLayer.EmailDataSourceName(".msg", "products")) + Catch ex As Exception + Console.WriteLine(ex.Message) + End Try + 'ExEnd:GenerateNumberedListinEmailFormat + End If + Exit Select End Select End Sub Public Shared Sub GeneratePieChart(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) @@ -3928,6 +4187,24 @@ Namespace GroupDocs.AssemblyExamples End Try End If Exit Select + Case "email" + If True Then + 'ExStart:GeneratePieChartiEmailFormat + 'Setting up source email template + Const strEmailTemplate As [String] = "Email Templates/Pie Chart.msg" + 'Setting up destination email report + Const strEmailReport As [String] = "Email Reports/Pie Chart Report.msg" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Pie Chart Report in email format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.PopulateData()), DataLayer.EmailDataSourceName(".msg", "customers")) + Catch ex As Exception + Console.WriteLine(ex.Message) + End Try + 'ExEnd:GeneratePieChartiEmailFormat + End If + Exit Select End Select End Sub Public Shared Sub GenerateScatterChart(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) @@ -4171,6 +4448,24 @@ Namespace GroupDocs.AssemblyExamples End Try End If Exit Select + Case "email" + If True Then + 'ExStart:GenerateScatterChartinEmailFormat + 'Setting up source email template + Const strEmailTemplate As String = "Email Templates/Scatter Chart.msg" + 'Setting up destination email report + Const strEmailReport As [String] = "Email Reports/Scatter Chart Report.msg" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Scatter Chart Report in email format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.GetOrdersData()), DataLayer.EmailDataSourceName(".msg", "orders")) + Catch ex As Exception + Console.WriteLine(ex.Message) + End Try + 'ExEnd:GenerateScatterChartinEmailFormat + End If + Exit Select End Select End Sub Public Shared Sub GenerateSingleRow(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) @@ -4424,6 +4719,8 @@ Namespace GroupDocs.AssemblyExamples Try 'Instantiate DocumentAssembler class Dim assembler As New DocumentAssembler() + ' This is needed solely for images in HTML documents. + assembler.KnownTypes.Add(GetType(FileUtil)) 'Call AssembleDocument to generate Single Row Report in html format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomerData(), "customer") Catch ex As Exception @@ -4451,8 +4748,28 @@ Namespace GroupDocs.AssemblyExamples 'ExEnd:GenerateSingleRowinTextFormat End If Exit Select + + Case "email" + If True Then + 'ExStart:GenerateSingleRowinEmailFormat + 'Setting up source email format template + Const strEmailTemplate As [String] = "Email Templates/Single Row.msg" + 'Setting up destination email format report + Const strEmailReport As [String] = "Email Reports/Single Row Report.msg" + Try + 'Instantiate DocumentAssembler class + Dim assembler As New DocumentAssembler() + 'Call AssembleDocument to generate Single Row Report in email format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.GetCustomerData()), DataLayer.EmailDataSourceName(".msg", "customer")) + Catch ex As Exception + Console.WriteLine(ex.Message) + End Try + 'ExEnd:GenerateSingleRowinEmailFormat + End If + Exit Select End Select End Sub + Public Shared Sub GenerateReportLazilyAndRecursively() 'ExStart:GeneratingReportbyRecursivelyandLazilyAccessingtheData 'Setting up source open document template diff --git a/Examples/VisualBasic/GroupDocs.Assembly.Examples/GroupDocs.Assembly.Examples.vbproj b/Examples/VisualBasic/GroupDocs.Assembly.Examples/GroupDocs.Assembly.Examples.vbproj index acd7df6..d15e7b8 100644 --- a/Examples/VisualBasic/GroupDocs.Assembly.Examples/GroupDocs.Assembly.Examples.vbproj +++ b/Examples/VisualBasic/GroupDocs.Assembly.Examples/GroupDocs.Assembly.Examples.vbproj @@ -48,6 +48,10 @@ On + + ..\..\packages\GroupDocs.Assembly.17.8.0\lib\net40-client\GroupDocs.Assembly.dll + True + @@ -107,7 +111,9 @@ Settings.Designer.vb - + + Designer + diff --git a/Examples/VisualBasic/GroupDocs.Assembly.Examples/Module1.vb b/Examples/VisualBasic/GroupDocs.Assembly.Examples/Module1.vb index 3e2dc85..d4bcb5e 100644 --- a/Examples/VisualBasic/GroupDocs.Assembly.Examples/Module1.vb +++ b/Examples/VisualBasic/GroupDocs.Assembly.Examples/Module1.vb @@ -22,6 +22,7 @@ Namespace GroupDocs.AssemblyExamples 'ExEnd:ApplyingLicense + #Region "Generating Bubble Chart Report" 'Generate a bubble chart report in document processing format 'GenerateReport.GenerateBubbleChart("document", false, false, false, true); @@ -31,6 +32,10 @@ Namespace GroupDocs.AssemblyExamples 'Generate a Bulleted List report in presentation format 'GenerateReport.GenerateBubbleChart("presentation", false, false, false, true); + + 'Generate a Bubble chart report in email format + 'GenerateReport.GenerateBubbleChart("email", false, false, false, false); + #End Region #Region "Generating Bulleted List Report" @@ -48,6 +53,9 @@ Namespace GroupDocs.AssemblyExamples 'Generate a Bulleted List report in text format 'GenerateReport.GenerateBulletedList("text", false, false, false, false); + + 'Generate a Bulleted List report in email format + 'GenerateReport.GenerateBulletedList("email", false, false, false, false); #End Region #Region "Generating Chart report with Filtering, Grouping, and Ordering" @@ -59,6 +67,9 @@ Namespace GroupDocs.AssemblyExamples 'Generate a Chart report with Filtering, Grouping, and Ordering in presentation format 'GenerateReport.GenerateChartWithFilteringGroupingAndOrdering("presentation", false, false, false, true); + + 'Generate a Chart report with Filtering, Grouping, and Ordering in email format + 'GenerateReport.GenerateChartWithFilteringGroupingAndOrdering("email", false, false, false, false); #End Region #Region "Generating Common List Report" @@ -76,6 +87,9 @@ Namespace GroupDocs.AssemblyExamples 'Generate a Common List Report in text format 'GenerateReport.GenerateCommonList("text", false, false, false, false); + + 'Generate a Common List Report in email format + 'GenerateReport.GenerateCommonList("email", false, false, false, false); #End Region #Region "Generating Common Master-Detail Report" @@ -94,107 +108,134 @@ Namespace GroupDocs.AssemblyExamples 'Generate a Common Master-Detail Report in text format 'GenerateReport.GenerateCommonMasterDetail("text", false, false, false, false); + 'Generate a Common Master-Detail Report in email format + 'GenerateReport.GenerateCommonMasterDetail("email", false, false, false, false); + #End Region #Region "Generating In-Paragraph List Report" - 'Generate a In-Paragraph List Report in document processing format + 'Generate an In-Paragraph List Report in document processing format 'GenerateReport.GenerateInParagraphList("document", false, false, false, true); - 'Generate a In-Paragraph List Report in spreadsheet format + 'Generate an In-Paragraph List Report in spreadsheet format 'GenerateReport.GenerateInParagraphList("spreadsheet", false, false, false, true); - 'Generate a In-Paragraph List Report in presentation format + 'Generate an In-Paragraph List Report in presentation format 'GenerateReport.GenerateInParagraphList("presentation", false, false, false, true); - 'Generate a In-Paragraph List Report in html format + 'Generate an In-Paragraph List Report in html format 'GenerateReport.GenerateInParagraphList("html", false, false, false, false); - 'Generate a In-Paragraph List Report in text format + 'Generate an In-Paragraph List Report in text format 'GenerateReport.GenerateInParagraphList("text", false, false, false, false); + + 'Generate an In-Paragraph List Report in email format + 'GenerateReport.GenerateInParagraphList("email", false, false, false, false); #End Region #Region "Generating In-Table with Alternate Content Report" - 'Generate a In-Table List with Alternate Content Report in document processing format + 'Generate an In-Table List with Alternate Content Report in document processing format 'GenerateReport.GenerateInTableListWithAlternateContent("document", false, false, false, true); - 'Generate a In-Table List with Alternate Content Report in spreadsheet format + 'Generate an In-Table List with Alternate Content Report in spreadsheet format 'GenerateReport.GenerateInTableListWithAlternateContent("spreadsheet", false, false, false, true); - 'Generate a In-Table List with Alternate Content Report in presentation format + 'Generate an In-Table List with Alternate Content Report in presentation format 'GenerateReport.GenerateInTableListWithAlternateContent("presentation", false, false, false, true); - 'Generate a In-Table List with Alternate Content Report in html format + 'Generate an In-Table List with Alternate Content Report in html format 'GenerateReport.GenerateInTableListWithAlternateContent("html", false, false, false, false); + + 'Generate an In-Table List with Alternate Content Report in email format + 'GenerateReport.GenerateInTableListWithAlternateContent("email", false, false, false, false); + #End Region #Region "Generating In-Table with Filtering, Grouping and Ordering Report" - 'Generate a In-Table List with Filtering, Grouping, and Ordering Report in document processing format + 'Generate an In-Table List with Filtering, Grouping, and Ordering Report in document processing format 'GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("document", false, false, false, true); - 'Generate a In-Table List with Filtering, Grouping, and Ordering Report in spreadsheet format + 'Generate an In-Table List with Filtering, Grouping, and Ordering Report in spreadsheet format 'GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("spreadsheet", false, false, false, true); - 'Generate a In-Table List with Filtering, Grouping, and Ordering Report in presentation format + 'Generate an In-Table List with Filtering, Grouping, and Ordering Report in presentation format 'GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("presentation", false, false, false, true); - 'Generate a In-Table List with Filtering, Grouping, and Ordering Report in html format + 'Generate an In-Table List with Filtering, Grouping, and Ordering Report in html format 'GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("html", false, false, false, false); + + 'Generate an In-Table List with Filtering, Grouping, and Ordering Report in email format + 'GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("email", false, false, false, false); #End Region #Region "Generating In-Table List with Highlighted Rows Report" - 'Generate a In-Table List with Highlighted Rows Report in document processing format + 'Generate an In-Table List with Highlighted Rows Report in document processing format 'GenerateReport.GenerateInTableListWithHighlightedRows("document", false, false, false, true); - 'Generate a In-Table List with Highlighted Rows Report in spreadsheet format + 'Generate an In-Table List with Highlighted Rows Report in spreadsheet format 'GenerateReport.GenerateInTableListWithHighlightedRows("spreadsheet", false, false, false, true); - 'Generate a In-Table List with Highlighted Rows Report in presentation format + 'Generate an In-Table List with Highlighted Rows Report in presentation format 'GenerateReport.GenerateInTableListWithHighlightedRows("presentation", false, false, false, true); - 'Generate a In-Table List with Highlighted Rows Report in html format + 'Generate an In-Table List with Highlighted Rows Report in html format 'GenerateReport.GenerateInTableListWithHighlightedRows("html", false, false, false, false); + + 'Generate an In-Table List with Highlighted Rows Report in email format + 'GenerateReport.GenerateInTableListWithHighlightedRows("email", false, false, false, false); + + #End Region #Region "Generating In-Table List Report" - 'Generate a In-Table List Report in document processing format + 'Generate an In-Table List Report in document processing format 'GenerateReport.GenerateInTableList("document", false, false, false, true); - 'Generate a In-Table List Report in spreadsheet format + 'Generate an In-Table List Report in spreadsheet format 'GenerateReport.GenerateInTableList("spreadsheet", false, false, false, true); - 'Generate a In-Table List Report in presentation format + 'Generate an In-Table List Report in presentation format 'GenerateReport.GenerateInTableList("presentation", false, false, false, true); - 'Generate a In-Table List Report in html format + 'Generate an In-Table List Report in html format 'GenerateReport.GenerateInTableList("html", false, false, false, false); + + 'Generate an In-Table List Report in email format + 'GenerateReport.GenerateInTableList("email", false, false, false, false); #End Region #Region "Generating In-Table Master-Detail Report" - 'Generate a In-Table Master-Detail Report in document processing format + 'Generate an In-Table Master-Detail Report in document processing format 'GenerateReport.GenerateInTableMasterDetail("document", false, false, false, true); - 'Generate a In-Table Master-Detail Report in spreadsheet format + 'Generate an In-Table Master-Detail Report in spreadsheet format 'GenerateReport.GenerateInTableMasterDetail("spreadsheet", false, false, false, true); - 'Generate a In-Table Master-Detail Report in presentation format + 'Generate an In-Table Master-Detail Report in presentation format 'GenerateReport.GenerateInTableMasterDetail("presentation", false, false, false, true); - 'Generate a In-Table Master-Detail Report in html format + 'Generate an In-Table Master-Detail Report in html format 'GenerateReport.GenerateInTableMasterDetail("html", false, false, false, false); + + 'Generate an In-Table Master-Detail Report in email format + 'GenerateReport.GenerateInTableMasterDetail("email", false, false, false, false); #End Region -#Region "Generating In-Table With Running (Progressive) Total Report" - 'Generate a In-Table List with Running (Progressive) Total Report in document processing format - ' GenerateReport.GenerateInTableListWithProgressiveTotal("document", false, false, false, false) +#Region "Generating In-Table with Running (Progressive) Total Report" + 'Generate an In-Table List with Running (Progressive) Total Report in document processing format + 'GenerateReport.GenerateInTableListWithProgressiveTotal("document", false, false, false, false); + + 'Generate an In-Table List with Running (Progressive) Total Report in spreadsheet format + 'GenerateReport.GenerateInTableListWithProgressiveTotal("spreadsheet", false, false, false, false); - 'Generate a In-Table List with Running (Progressive) Total Report in spreadsheet format - ' GenerateReport.GenerateInTableListWithProgressiveTotal("spreadsheet", false, false, false, false) + 'Generate an In-Table List with Running (Progressive) Total Report in presentation format + 'GenerateReport.GenerateInTableListWithProgressiveTotal("presentation", false, false, false, false); - 'Generate a In-Table List with Running (Progressive) Total Report in presentation format - ' GenerateReport.GenerateInTableListWithProgressiveTotal("presentation", false, false, false, false) + 'Generate an In-Table List with Running (Progressive) Total Report in html format + 'GenerateReport.GenerateInTableListWithProgressiveTotal("html", false, false, false, false); - 'Generate a In-Table List with Running (Progressive) Total Report in html format - ' GenerateReport.GenerateInTableListWithProgressiveTotal("html", false, false, false, false) + 'Generate an In-Table List with Running (Progressive) Total Report in email format + 'GenerateReport.GenerateInTableListWithProgressiveTotal("email", false, false, false, false); #End Region #Region "Generating Multicolored Number List Report" @@ -209,6 +250,9 @@ Namespace GroupDocs.AssemblyExamples 'Generate a Multicolored Numbered List Report in html format 'GenerateReport.GenerateMulticoloredNumberedList("html", false, false, false, false); + + 'Generate a Multicolored Numbered List Report in email format + 'GenerateReport.GenerateMulticoloredNumberedList("email", false, false, false, false); #End Region #Region "Generating Numbered List Report" @@ -226,6 +270,9 @@ Namespace GroupDocs.AssemblyExamples 'Generate a Numbered List Report in text format 'GenerateReport.GenerateNumberedList("text", false, false, false, false); + + 'Generate a Numbered List Report in email format + 'GenerateReport.GenerateNumberedList("email", false, false, false, false); #End Region #Region "Generating Pie Chart Report" @@ -237,6 +284,9 @@ Namespace GroupDocs.AssemblyExamples 'Generate a Pie Chart Report in presentation format 'GenerateReport.GeneratePieChart("presentation", false, false, true, false); + + 'Generate a Pie Chart Report in email format + 'GenerateReport.GeneratePieChart("email", false, false, false, false); #End Region #Region "Generating Scatter Chart Report" @@ -248,6 +298,9 @@ Namespace GroupDocs.AssemblyExamples 'Generate a Scatter Chart Report in presentation format 'GenerateReport.GenerateScatterChart("presentation", false, false, false, true); + + 'Generate a Scatter Chart Report in email format + 'GenerateReport.GenerateScatterChart("email", false, false, false, false); #End Region #Region "Generating Single Row Report" @@ -265,8 +318,13 @@ Namespace GroupDocs.AssemblyExamples 'Generate a Single Row Report in text format 'GenerateReport.GenerateSingleRow("text", false, false, false, false); + + 'Generate a Single Row Report in email format + 'GenerateReport.GenerateSingleRow("email", false, false, false, false); #End Region + + #Region "Generating Report by Recursively and Lazily Accessing the Data" 'GenerateReport.GenerateReportLazilyAndRecursively(); #End Region diff --git a/Examples/VisualBasic/GroupDocs.Assembly.Examples/packages.config b/Examples/VisualBasic/GroupDocs.Assembly.Examples/packages.config index e883c5d..ead65a3 100644 --- a/Examples/VisualBasic/GroupDocs.Assembly.Examples/packages.config +++ b/Examples/VisualBasic/GroupDocs.Assembly.Examples/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.vb b/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.vb index 34b7c14..42d3c4c 100644 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.vb +++ b/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.vb @@ -126,6 +126,14 @@ Namespace GroupDocs.AssemblyExamples.BusinessLayer End Class 'ExEnd:ConvertToDataTable End Module + + Public NotInheritable Class FileUtil + Private Sub New() + End Sub + Public Shared Function GetBytesAsBase64(path As String) As String + Return Convert.ToBase64String(File.ReadAllBytes(path)) + End Function +End Class 'ExEnd:CommonUtilities End Namespace diff --git a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/DataLayer.vb b/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/DataLayer.vb index 725b578..ec5a5c1 100644 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/DataLayer.vb +++ b/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/DataLayer.vb @@ -543,6 +543,48 @@ Namespace GroupDocs.AssemblyExamples.BusinessLayer End Function + + ''' + ''' Creates an Email data source object + ''' + ''' Name of the template file + ''' data source + ''' + + Public Shared Function EmailDataSourceObject(fileName As String, dataSource As Object) As Object() + 'ExStart:EmailDataSourceObject + Dim dataSources As Object() + Dim extension As String = Path.GetExtension(fileName) + + If (extension = ".msg") OrElse (extension = ".eml") Then + Dim recipients As New List(Of String)() + recipients.Add("Named Recipient ") + recipients.Add("unnamed@example.com") + + + dataSources = New Object() {dataSource, "Example Sender ", recipients, "cc@example.com", Path.GetFileNameWithoutExtension(fileName)} + Else + dataSources = New Object() {dataSource} + End If + Return dataSources + 'ExEnd:EmailDataSourceObject + End Function + + Public Shared Function EmailDataSourceName(extension As String, name As String) As String() + 'ExStart:EmailDataSourceName + Dim dataSourceNames As String() + If (extension = ".msg") OrElse (extension = ".eml") Then + + dataSourceNames = New String() {name, "sender", "recipients", "cc", "subject"} + Else + dataSourceNames = New String() {} + End If + Return dataSourceNames + 'ExEnd:EmailDataSourceName + End Function + + + End Class 'ExEnd:DataLayer #End Region diff --git a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.vbproj b/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.vbproj index 340b005..789fc7a 100644 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.vbproj +++ b/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.vbproj @@ -45,8 +45,8 @@ On - - ..\..\packages\GroupDocs.Assembly.17.3.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.17.8.0\lib\net40-client\GroupDocs.Assembly.dll True @@ -109,7 +109,9 @@ My Settings.Designer.vb - + + Designer + diff --git a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/packages.config b/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/packages.config index 564bf1a..52916bf 100644 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/packages.config +++ b/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file From 7f67c555dbda6bcf4f3d89a81fcea103bf2b5509 Mon Sep 17 00:00:00 2001 From: rida-fatima-aspose Date: Wed, 6 Sep 2017 18:53:59 +0500 Subject: [PATCH 07/80] UI-less VB examples project removed --- .../Source/Email Templates/Bubble Chart.msg | Bin 314880 -> 314880 bytes ...roupDocs.Assembly.Examples.VisualBasic.sln | 41 - .../GroupDocs.Assembly.Examples/App.config | 6 - ...nNameExtractingDocumentTableLoadHandler.vb | 11 - .../CustomDocumentTableLoadHandler.vb | 26 - .../GenerateReport.vb | 5056 ----------------- .../GroupDocs.Assembly.Examples.vbproj | 137 - .../GroupDocs.Assembly.Examples/Module1.vb | 397 -- .../My Project/Application.Designer.vb | 13 - .../My Project/Application.myapp | 10 - .../My Project/AssemblyInfo.vb | 35 - .../My Project/Resources.Designer.vb | 62 - .../My Project/Resources.resx | 117 - .../My Project/Settings.Designer.vb | 73 - .../My Project/Settings.settings | 7 - .../packages.config | 4 - .../CommonUtilities.vb | 140 - .../DataLayer.vb | 697 --- ...Docs.AssemblyExamples.BusinessLayer.vbproj | 131 - .../My Project/Application.Designer.vb | 13 - .../My Project/Application.myapp | 10 - .../My Project/AssemblyInfo.vb | 44 - .../My Project/Resources.Designer.vb | 62 - .../My Project/Resources.resx | 117 - .../My Project/Settings.Designer.vb | 73 - .../My Project/Settings.settings | 7 - .../packages.config | 5 - .../BusinessObjects.vb | 193 - .../DatabaseEntities.dbml | 45 - .../DatabaseEntities.dbml.layout | 51 - .../DatabaseEntities.designer.vb | 879 --- ...cs.AssemblyExamples.ProjectEntities.vbproj | 127 - .../My Project/Application.Designer.vb | 13 - .../My Project/Application.myapp | 10 - .../My Project/AssemblyInfo.vb | 35 - .../My Project/Resources.Designer.vb | 62 - .../My Project/Resources.resx | 117 - .../My Project/Settings.Designer.vb | 83 - .../My Project/Settings.settings | 14 - .../app.config | 32 - 40 files changed, 8955 deletions(-) delete mode 100644 Examples/GroupDocs.Assembly.Examples.VisualBasic.sln delete mode 100644 Examples/VisualBasic/GroupDocs.Assembly.Examples/App.config delete mode 100644 Examples/VisualBasic/GroupDocs.Assembly.Examples/ColumnNameExtractingDocumentTableLoadHandler.vb delete mode 100644 Examples/VisualBasic/GroupDocs.Assembly.Examples/CustomDocumentTableLoadHandler.vb delete mode 100644 Examples/VisualBasic/GroupDocs.Assembly.Examples/GenerateReport.vb delete mode 100644 Examples/VisualBasic/GroupDocs.Assembly.Examples/GroupDocs.Assembly.Examples.vbproj delete mode 100644 Examples/VisualBasic/GroupDocs.Assembly.Examples/Module1.vb delete mode 100644 Examples/VisualBasic/GroupDocs.Assembly.Examples/My Project/Application.Designer.vb delete mode 100644 Examples/VisualBasic/GroupDocs.Assembly.Examples/My Project/Application.myapp delete mode 100644 Examples/VisualBasic/GroupDocs.Assembly.Examples/My Project/AssemblyInfo.vb delete mode 100644 Examples/VisualBasic/GroupDocs.Assembly.Examples/My Project/Resources.Designer.vb delete mode 100644 Examples/VisualBasic/GroupDocs.Assembly.Examples/My Project/Resources.resx delete mode 100644 Examples/VisualBasic/GroupDocs.Assembly.Examples/My Project/Settings.Designer.vb delete mode 100644 Examples/VisualBasic/GroupDocs.Assembly.Examples/My Project/Settings.settings delete mode 100644 Examples/VisualBasic/GroupDocs.Assembly.Examples/packages.config delete mode 100644 Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.vb delete mode 100644 Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/DataLayer.vb delete mode 100644 Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.vbproj delete mode 100644 Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/My Project/Application.Designer.vb delete mode 100644 Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/My Project/Application.myapp delete mode 100644 Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/My Project/AssemblyInfo.vb delete mode 100644 Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/My Project/Resources.Designer.vb delete mode 100644 Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/My Project/Resources.resx delete mode 100644 Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/My Project/Settings.Designer.vb delete mode 100644 Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/My Project/Settings.settings delete mode 100644 Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/packages.config delete mode 100644 Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/BusinessObjects.vb delete mode 100644 Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/DatabaseEntities.dbml delete mode 100644 Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/DatabaseEntities.dbml.layout delete mode 100644 Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/DatabaseEntities.designer.vb delete mode 100644 Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/GroupDocs.AssemblyExamples.ProjectEntities.vbproj delete mode 100644 Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/My Project/Application.Designer.vb delete mode 100644 Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/My Project/Application.myapp delete mode 100644 Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/My Project/AssemblyInfo.vb delete mode 100644 Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/My Project/Resources.Designer.vb delete mode 100644 Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/My Project/Resources.resx delete mode 100644 Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/My Project/Settings.Designer.vb delete mode 100644 Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/My Project/Settings.settings delete mode 100644 Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/app.config diff --git a/Examples/Data/Source/Email Templates/Bubble Chart.msg b/Examples/Data/Source/Email Templates/Bubble Chart.msg index 5179bdcb1101a78f9160905b5fea48890bfae3dd..37e823aa339fd335104fa090404de8184423190e 100644 GIT binary patch delta 117648 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�Xo@@zZu+~l0erQwtqUg_i4 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 D9y+b_ delta 82654 zcmZ^~1yCK$x&;~tu6yI|7Mu_W?v@bTf;$A40Ktc#J7`FP1a}Rt!QC}za0^b@xWgO% zbI!f@-FF{VQ`Jn(p6TiN`s?+rwK^aLKOhDFGdBm~lYjp~o;<+?n@_>x{^8-_@$6&! zBX}T#2Nrlxe$7OpuW$}P_=0GUVKUPomQ6N+poviBff$Z}{0ia8le<_`VkC925o_v; z#sdCA>7O>u*DfR(B!hq2r-3MWCWL z4@q3+ICGw8hd9{vo`lKVeon&?mk;+*=@4%uE$w%Q4A{z2;q7pmZ5Cl|l$F;4)p zYIE0Dzg$AAN5o~+54e3b>{f}41DjWW&QfbVX&rjlcN-gbrYl8Ivi6r79%lwvzSoy> z=o$+^m7XwXp|8liKmZhE_;8S_TvookLj+H^efe~m(0Yq}cXu}@exqBcb5~>G?{B0$ zbCPIdW8>P8)~iVp)6Y1L@a?~8YtqBj86u0RhzJ2l{Hzn&OWJJwr_B3v6bMbX)(7e!gW@MLHJhc}uGPAd>a zr`|IiGoVD;CqVX6auh2HS#5bfj0fkeBv-FgZn8G+6^o;vT%EhGp32ACsou= z6xE5|V%3n~>B6D15tU4F=1L85l`-JXYwY~`M7uWws&h6Y2Z&v(83E`ut$KNDIuB<@ z+dNdAo<`o92CN)Y;H9%kFViBDifCa`%hN?C<1rq^rAO)>z8EP*GE)mD|LtxaD1ai18ZG_haXQhlk+xYm+vAi?7V@}@j-V4)7`~JPc%LwDHCHT55 z591E_r$6cL525#d6qrmuf<;}NV^N|iIF*{xD= zhS9(=No-YPq%`HO#WLT|G_@1A#P4S*f5ZClJ+F3wh}R@3P=VCr*@MEJPE9lTMyxJV znwA8>od+u~sUM#?(?oXdxVfFU79P^5n0R%8{je{>EZd;IlxH?jL?<9K5peF#4@2Si1jqjBk{}4Bq!?%O!!f<^PT8( zHo24Xe|}kHxy__0s*S=((oy{p&Kt-~gtdQUoyBb-_A6pH;` zrc-nuV|e`BBn7*LZ*e7H2y7M zpusUq^f`QW+{MAEM|UN#{^L>qft2bQ1)UzzXNJkL)0~W`b` z5+&TlmzP`$_$~O0X|lB(G&%PIw}Z^9aWg?dpK2<(sZJxt%oYL?|phFNYa^;f>A zqFv`k@)kF;!5ECW6@UH0v%ky3*usSg&NaKk6WULsHL?SNCJ0C0Po+j7FVc zw!G)76!un5miM2tH51pT9`Xb$KBI4M?HbAN&ksC+0~V~R`^TBJR88=rOo;G$GMLz- zO+25FYA1_(^Q^tq4N-DR9-{sM(Nrn_kA^0z+c+gLbjF?Zh>pR-P|AK!SB9TTUiGSe zwv3#!|11kaw2Iow;M=%N{V=x^eYDg0PoFCaVLfU6_Gc1zg$f0va&BJYA`?l$=`#qx zXo{mtu^%#Ej4Sl8~o?6xliUof=V*{j7>Up^mz_O}+DBycY7_^A+O792O$b71ypNpm|+~LMc-u!GLSn4p$JrZJr0nl~Y zTWD)RQvVb_>r9Lz#9Vv5IL?c8as)4V_Mi3pe`H5{A{jq@jlasVrWCkr|Fyt_7YHDm zTRYM(xXSsD5a|IFALDpoWmoH$H&!8-bSJM^s4G3(@xmQ%&>HaNUB~41+9ph z5jLw8>9Jz>3g_h#iv7DY>60IgI$H%2M8!QS46WBKz|5-_8Zu{zqGwwNrtsLEitaY zzBtXzMaAIzoR$@QRzM z`iLP*Z-g%MgihU?IF?E3b+4ez6s4TW5zWFxlEp=Weh6@Ra8Kjg+$$e3MFGy`rN$2` z$yFUn3yC!h%~udJR+QDRzp-LYt?I4ArM}NR6?YjV)8h-N&!evdW|||TH5BYb!wZfj zJ(*@qbQFkcuNciD(>2*?)42scP^%UjY>vGWu+hUJudYqa;#~}6HXY`I?_Kt!9)w$ z#eV<926>b_J&+KS&aY&&jGLsV;$PE*S`+ecJ<~d{^PSgvV=}hj;yZAElKx=cV062q z0{q&f7`?r1;;*~+D18}2Egr8?HD5T;_u9k1oDL|pM$zisJv>Y}Nq$+TV!o_j=h(mA z>~$iizxMW@gUdn+oh$YJx69Ow>?Yd%;*|2;j8Iy|LJC5VBg25 zVJhVJG1@ewp;t2h1M~cY!vDuCPRXKC&vqp|U3||D$lKZ$@mtFt9KPFTBhc^lzWBRX zG-{aHz@UpG6y4I^+{|CPNmBc^*zTu+$gVds3d+FFR^$ZBTB+f~-x^)UrH+ok6dm+j z6-__M$;09?Ct+URlN%sOJ>yNr=9FuQQ0dWS@HNH$-OYt-QH*rvgUShO=eS5}L?8xw zcb&sLz<>4dyUNW`i0uwyVvd7jJfgS{?~hj@~N1nBE(X6`GrY3J0;5r8D2skYB(sDr_U}4 z1PmoLze`PR=-1lEYJ@brtHm=kjg+>eh$D^b07x!09?rh^c>2aU+s@~%(Myv&_-71Ne+)^s|Q=L8+KQ@YQEA00tBU-j#uWVU`Qrg(1 z@T}(&T^~7i%ow=4Ro{}D-}a%>+$qU8QQOK>otaH+Nyo@%gRw%j%3OA(Nbxm|AyJ}3 z0O`6adNxKu1r1p~8=;J-Ep^C!s|#hOu@yUvppLZ~qee7UcUIsZ`Y8#cPw)$*P0sNi)PKH6sF3RY`#bDiOIOvSr_b zUpvhu?5iSwnP!`ja8R6>GQgEze}No(WiIzpxQLtkF&3ZwI~KceC4j3WtMJUd_67#ID#rlq9Doe-Z&c&U-c*K5*)86Ezf z{K{aC#?!qWA=U1Tw8`Cc7{0B3rM~g@*;YoLt+5v5td~}QSY1L1Y_S$#Btl;+=p(De z@bDHq6Lp+vU3<%MeUVaoK0z!~Q^HE&_GaA<0pnU<`0i>PXkt~c{V8>)qmfOwyUbUl zgV}?auVW;n)9eteHXgMlQDA9NcRx4bieZu5puEff`|Zl<(eA|iY_kDgwL!{De5&|(wcK?@pJpyMlvfY{DIEKXL3*?0UZ|TQ~XLD8gs>Hq~5#F7Z zYr(~d{7m(5?mVoXIV-j!tCg!uz9>rkot8xA5}%*9%Na@#4_5u$IN;Lse_#g?WeneU zg`0};u@T95JDm$Q37aPZD*Z(Sv5(giokRbRO04aF<>CK9E4;0wDLT(B-boH|;Y@4t zji_A3RIm|^HYawnQzW&v>JNOkpBmxfPp3CR>%YRxfU_)ryJFaNz9eHY&xoWm+Af-{ zH6ISR$bpzp|!X6^@mG1Nk|!_pvh~D2KOV zNZO;cMR#;xLc|lfZaXR`I^;!gEtJHieIGbn_Pi0=Yvg4mDSFzw^z6@GwE@6U2@&Qx zR$?BFm0POpH+Y)W4E5 z?qc^ME7CiYi)8Bi@g7Itru&TI)Ua#Xx}= z_`N0Q;mvy9z_Q;Qm^e~QXArCMrgJx@(|94iAy>bgjh%S;FK!#L{<%#B_efhPC(M*D z?9UCaw^!bL2%S zzB45j;nmv+N(>l~Mk@q_Kf*S7Vfb}L&zf~U&v9T_bwV$RPt97(uTWcMe4A%**LmOT zVMX$Sltd1KM2gGp&y`9S8TZe4;rcu!5GyM0h#x=G)wsEC^UYgnZa%YoGc!!7myIAO zdR6!CqgIu=q=80qIlTbp1-00;*+L@2R1_UeK4IGT1Ngu}g;*0%m?Y_YBJ#_J=rgC| zZ}UB?l~mLA=nO1-58U3op!T_?$g0ODQ!S*FSPrjmmHjEPdNYd6fVC`Nq}m$!{UwVa z_M|a_o+Bc*nVy$6L0@NCtcb6Um>^bFirnY=5c;!6WS&-FX3x`}eS2HFjy7cTPjxhr zyqYi*1uFu0a$bzmW;&|>ubfxEsdv6=sAXPfx9`)RXe+Xjsph1qJ&d>S zi4!|R%*_wjr2dHDQYUy%M&gfBz4T4v(!2t9sK(* z*TSCa4UvDfE?dg9x<%~3oL^1V#+>+ny$iAUy2&2gKp2Czk^fURZvo~n3cF%pU&a%!}F}knFaK8L4 ze()>OqVQLeK(AQ?}%OSh$|E!_ej0jAc z1u&rw#E@Ukc=vxM;CM&%IWJ6fJX_%3rQkEIz^id5&$QMnLM7|v%$*HP&5_&S+gQ6q zJqRDc`lNk*;I_tCOdA+>4kFJmrWvm~gx&+Y=&Yj%ceo#SK1dM)Pp!JDZ#Y$HUt4W% zXmnkSGfNUf)x~2121q?4Jhwj%|Ais$`P6W=&P2Cy?~R7C!X|SD6&KX66F$vP%w?lF z35F%6QO63MKMCpek5_7#b3zckkfFWppX-W<&qot~u53^IyOw6&;95sjk|Mw^NtOWU zlCnRCbu72e7gC0pPN!pQK~C7s;Y0QzPU8^7Vr$EY?*-9=$LBBJUy~k3H_7(D%6MHs zFUm7a{GcI6O=r5opVe4O({z;rhsLy**}uMox!KLJI4Kp<+#fU={)?|rMIL9aLZ>Rk zJ`NG#`;Fm{m~g;i9x^xn;X_U&K>Afh#xs2KNM0e2YpT1%&TU5PDkF4>9z|=oy-bGS z9klmjm)>JB_rY;Bi>8w9d3rQ<9*iFTrZ7leJIohZQbna?xPi0ZBiF_6B}Cj=F?hZ* z)zbGtNmqehmPYl(3Fj3UrSj{Lk^%go0_sO2~DV~trt83O$4ow=6lF_%wK z>htwiQpE!Tj%|V`DT(U}tT*;R+DjIU3Asqsw%Ihh<3-cROO*qT&SYhbR`mkYodV6y zpnmLGN-g$QnT#3Yhg;KD4}wr#;IU9wB(vVDViIVjT>3r?A0jGx`y#L{TskX&62GpH z+0rf<7JqUKc<|+|)2%gf(r4a0UlS&REc#-Y@>RjP$buW;ycgZtCh`jW{EhM}d(C2( zu3^a@NZ`%mHM<<B6QloN5PvHO>%r`<`^e2+V zm-zESGwk%^pu*lySa7^ou#QT5YdNmtv$I*sw3reAoT29ukjJ{#>B7@S-X!s?*GiIt zoP1*Q9{X%}6N{iWn!eDZYi>+18~Lwp>KcEIvA-XcL>XTZE^XzJz}ox>P0bBrSBe%v2LXsaYqGDyQFtd)0>plfx}bZ6J3Z9WPbN2fL{6`h0nbiuCHXg! z3gD8w%QPA5sO5KjV`2R|Q|ihrIhy9@0mJjg5t?Q{s{VN0V8RcbqJdqEEPKzSSAPn^FyO7Ia!c?nZoI#xNT{>zY@ zP|_~#7@8ldEY_}s=b@IEd~dq74?Uq~6~M5tTtu9y7$tcn4PLJFma1SwK;)(k(x2MC z{6fc1Q_i2t0+Lll%c_MgtzNW?S3$*Wrktamb=|`Z_Ay4IH#H%i<#J9mAe$MJEQZ@=@N5abZnyl}sNoA(5_LhPY4VBUmB>1M|N` zO?6$b{vf8{Hw>6YRZdLCjt=5$+z^Nnw>+ejm4$#qYrFAB)ePNB&+3{!mU#s-uSgJG^d)))4gId`6S^g``I;pWEdm+vlrC744Sq4y*=j~c^*ePIUpE*P zm)fo(5fyx313s(c%k0KdTGQ<`%?>QJCyFCaY9b`o2{ZOzd=|dJcm+s{(}M7^gX|GX zp`>~F2|$dasD1Hk5{EjAFzD*|ET_YR8(zu0NKdd$5V(D^Gr^_mp?w+tAs{oqZTo%3 z0h1~%hIvmHeV0c>;H(=NLR{F2p+G>;tFu|sFHyjE`vUjJZs4&v@^s2dM(+HK4qm6d^?3h`!>1se@w+qRET8yk=UTt5+_Z1xdz1>AxHT zg@B`_W}iwLSAC65a~l#7CPyAw$?6nYw=GMCaQ)GR&a!a^jKv`?I^J-Hkx$%An&Ym7 zed4#T3A*%Q?+hiJ?_4h9BHQV!D1EXO|GXQ0xQi*XY_b9Z{A8>a;r%-Sz;7g}Jr$Zt z@B@X+S%Oe@IIy0>kM0{Bo10PU!Z73Yx4y_vy|BZ^kMQ^tv_gF33O9MUC}nz#NTb zI@%m^l*DAGGZR<@&N0DiKo&=ohq5KCeu*50H$T>y)K=69e}*S!=8btSld$4bMsjOD zXvDD@g-iVSrmyXSt+gBLyD6ld7kOl0fc{8gX)$cC@fpSj=(2bxt5b_p||}j zbLMOD9(YDxe$KBPyGr4{_8t*k%P$Y7&6X}fa%noMErqE5Q^$7PGU`J(Y4GG|g#P4v z*nWNR_Fua-?Xw0fm$i7l+8fraIZiY_k&u;LK^H|~Iw!@8ULA9JRVIE)v>x$V;P1qL zZdcx+d}*O4^U*fU=?D!mxQs*{K+KHim7*kuJi{=mX8Gn~m;ha_fz_WQ%jhc8)!ULS zA^SNiIduK)qq9GY?wx7$gLixA{O3*k?8v0vsl60YAbj6g5~9Xp{#mu@^Y!`~|LF^} zxe@w8AE=F=&SzlS4|+6wf>x3e;N(br-m7KeHE%{~5eG z|5P&1_PuQtjUIdavi^iKm*bG$ml^&btU)Z_ZjK@#h9$Dp23(&120OJs2^{EwXuXW+ zieK;B7Kw_C{;FV~C}-kGjw3^CDsMv8auMEbb)jH?1{*VbfvU)w#Tu|s_N;1p!#!QX zV~;)1H7R#gVVSG}^I=rD7+W$#R0<&sqW?&(A|P4t{i8Vq@sG5g69 z45IAsTo|S}=W-jXCT}uXQl{q8HiH1_Y3}rI<}=1w>$m!DseT^^J{9-<6^PyleI*lr zPS;eA3T14D{UDLk9R5}tCJ6HA0?4CFP4Z`-X5I;%5V@a>s`1=Fys}@q+^w=XV7~AC z|K|(-A)VSlJ+Zr6R+*TX_|G@f#2Uc5JFwnvhEwp5Hb2(7fVR8cKvWB9Pepmm|637; zt07l3Hyb9uXGcaxo=dsfIXs-%oKAnZE_-;ScfJ2m>fc_C0@GmI_TaW4P(WO~Y*>&; z|NF%JynZq-v7G*}?H0%mR|~T3*=!j)k5-IT@H;Ivu?qi||1VMdzn8!OcGzj> zKRmDnsCkE)CXSL4$%LAcghI<{o?~@#M+Sfc1fEA?hk^fL(I@x@A)o_mLh6QwQInIJ z2h=CeUMVYwcAJggI~YvQr_dik6#O^~QRBM5SF19sReIsGq}p zt&;w+(>6&|RFs`nS;-#IoEG@b$^XL(YI<1DQd0`Dypg&5)KjZK_hRP6|M(fcun}_>8*Dc97x;vexNIP|mk^F_>!GUJEC)y9Ma;9!= zG0M~+JFRoe(_WD42Sv){_+s;7&&jiFFUzw0{QML$wV5}D%nfqD>&bViM=1{IRFW=Z z?%95)HpTn=+H>AMXh}M~&y8^JYUu0@5C8m1JN`7cG(8-5|5nbvgqLcWN}u4=I2ARu zv7yw>|JqJ@C$lxJI=wRXn02_!tvNohR?RDwMtHJf|I_=QO@+&0n={XeSyJ>Dj{ zw?~5D2uh^eoFdBtAl=J$QiN5CTLk|dt|B?l5l5>dgv-k9jgS*rTGkeYEJ^rUbTGBf zMZY@?EsIKjOL9Bmw_aJ9=BXqQHThhNl!V8KH?UTxz%H+B+a6?uXFi>e8xvhSc{pD(nmwO0cO8+lkF2en#sixz(T({bHb zkTZ6|d>7%6l0UY;Umuk*MWN5hQ)@S92Uk$hL|(1G4+FoA*hIllF{{@4VoJ$?daLMS z>iEMHT9#0}k;t}q>fr0G3iVuttxWO1>LIR$C)$LhnRQ-_6*OYnkOZMxe?iG!wVBty z8y2n#fxEcjZ-0AEa?S`&+)ct~74u8e_9!~#{+r*F7FRl>KE`iH3-i877)*ZA8gFw;JM(&Y@1)K4 zq<0GmWEt5%wmdf-dWzoT`ciOc3-gh!#Og!?9)YAOiCi0K0|93RB9RQUTr;=Msz#PL zF2;FNQ051ho@s}XP}_nG+`azSy>6$1q~wkyndamZzVtc89iI0+Jw`=51Fx}NK^=Lj{CJ zqR3xvOrq5U_}yMs47*cz*e0LvRn){7K@t@4eJ1QU*40TS)Y6wM!gvnEk+Nwx6Aot@ z-f-JJ#mvIb;%buPQsa2Zf523*HdzT)XCmt>nyJlCJG`sq$UoEvqN^t;3J zZ#6DQwu!}0x9o$dpX3u3&v4b^M15v>_He--OCkT#MwUR9=Q8PWI1SOr1ma8NAPEsM zn`eaKJYsX{tjyW+1*~q}uFGb-nFlQX=3_dVNQP{Bj>X4}+CELWNNUtChxgXA9tJ;Q zl^Ane*H6|=rZ-j`*AUj}SuMn8JnYVKFv6}+U*^$Ey8Hldt%$F`w>?|^CS8SKutdW{ zeJnkJBXWLwB6*s0!u{DPFcY75eOv#HrYQOOzx()A0@>J@WsgqmJl(m%aB@~og4!L+-2ZuAG6!@DbIsMp z%*nfii8E<;G{&AM9#yp32=KE3?yx_zI(513$bsgaIPp8aU+L+wf2MiTafoE(%oI%y zLRiuD34g1nfzG{*>M2Z&ir8OM(^mkC9FH~$a_n!<1gjtfcA%UoP=OlK>V0ObMJ>Vm zxFGNzj|VC&(?L&pxc`|BRcgBUxUnYxtRDQ&?U?>qC#qsi|2aW|@b4+}|CurW*BVod zC$pOrl>yC+qL<}jXNSK7txuiYL!s7MfeOuI_H)&*Q0N(8wv?Fkoj)j5j9Nhci&Vy) zJ=_^wYiFPn?$|u3I?yQ(=xTfwSV~2=4cK^Yon`sM6Kk0}xv4vfkkn#!8z+edOUy~E zEC=Md6c8dogAiC?D3JLDZye<-qqra)t8-?FD#_okicj~i2+CSGhL$48QxCV z63seX*n-+CCJY}Rqt)pYRbO14As2fmRRLd!*Tr%t2D zDmBTQFe{QC6cD(apchaJAReZ0UJ_tq#yHA(dPor@kJ9RSdVjjBi{&{Y0Y#Ak`D{?* zn8#k_SV91KNbEJB|F*0TNb`^0SZ$P&0SKrz8CPl3WEJjQkhEiIqB}IuvJ_oK&t(W! zP?u$VYv#!x?ncXMcuh!p&@i*U(j_mv9HE!;#DQ{bS;Fia1Nx?s_W(7oP`*?s;fhG0 zZ8TlEE0KRLKKvPpL?`zZUL-HR@%Yn=Nfggbx7TV6P)rAbXA}HD?H()MwG*A!2Gy?+ zZYyO`*^zxki(wJ@o>Sh6ee^G(e`$@-tnG1Yo;R~}o&K0L-UtD!IWEdD6@Ti5omd+w zLXXhR6`vTATe~pS`!MR{=R;r0X@t;0^9^Q&FqbHjw>=RvtFWz}N)$U@HO&L=eemT+ z;YxQ}2l?e(S$6|KE*SFq%8(4*;tYBjr_`Yjqp#r?Nqid>rjlkSZMf(Aul~72z4xTf1bo`=dq90|1L86hw}f=%m8#irQA=S!NM? zRTw5~@TXS?y1y>*f1iq3-U_NSv50(q_$o(DZ?h4*z-juqDLCCi!>^c|^EK}CA3N3O z?ff+Y6hR--ru0F&B4p82aBlp&iqbnt)Y~fkmDp*dGB7lVu-jXG)fdJn;&&ctn-=}Z zcVb+?1RtncnQfDImkugy6J^>#j}9a!ZU7J>BoJz}XuZn|LSH?Ryy%VZ(3Lb_K7 zD2((8oDz{%9m+r^zR$RN70oh*h)ol%0Se1MVp-I`-o2v@Kjr+iB&%jgW}q0O9>Rig z807u@2(px=s161pMp-)-DK6E~g-!aG_;GVsF@=<~zp%&zS?*`AO*hO@e^q}WsHzwv zbqMMV1(a&VMMh7VHuFy8OC!jGK45@!D1G)8;uk#?x;!J#gg^A~!NXvE*C+_kDfKLL z*{64HKB)cD%J@mk;$A-GcT*DmAB8lIzbj>v&Fy)7Z!3Kn+>W0T6`t(~mYLN_{Rs?8jWq}SxM7PTS-M6z)Mn6=8*>tQ> zcEz%I=uxMCNg#QH&0b`^YRr!gP_O!pWee6-TTv(!#AjUw8DsE&8u)VMrio1se0SD1Gh~ zcNSY1^z#G;sOjwE^mlkX5ZIrEcM^ehvPV?g#oyIAD45s7`3PnHHaGw_hy%Izu zQpN{=o>OHQRV*m=R>H9~m^7)xuq~yK>^KpW#1SdQb;W!B`XHT(l;1lwBfKym zirdkpjReiN)2AAHsB?Fx+ou>=b6kD$4wFdY1y;)5WRqCS5mc#P5)ut!{CF%u3XGm@ z*y;Q#Gc#9OSi`E>3%EY!2)`c9vWH`-lQTh*mQfz;Bj99vUBilu26)9QY3itDr%acY zbu`>%PiaF8k7Mnejo6wridOIpVRx&7vy>?xDG{E{ZYIM(k`6585kB@WM3Hy?2#o;= z|E(pb<(8@V=iZ3nVNeE<8jvyiC7g5NHz@!LB{*N?{?Y^Pw>+-FbvkZqI+_@m$P{0%mZALBt7KzU;SZ=B@{XCd zr-;9jnV^8t7{)`S&}Gh42is3FNAy3=5nP?^+jP$YQL{0FA)BwuoK@c9oPW9k?TyYc zT(b7)%NyL0qCX15`fj1EpzQoj`Q72iAAt%~W^NZT$9JZ`;C>cwL}mZ3&aenxvDtE> zWj3N?iJ(~dqbP?95XnHuJ{8Z2_-XQ-$$3U~ytfB_TAdM`Y#Gs;-$LR6e^TurV@|W5ZF;#yrN8t~zS|Aky-i8rBNbVe-|u(|K%aoU9#`6(j>8 zr6G0OA{Tf{@`u^3x2�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 - - - - - \ No newline at end of file diff --git a/Examples/VisualBasic/GroupDocs.Assembly.Examples/ColumnNameExtractingDocumentTableLoadHandler.vb b/Examples/VisualBasic/GroupDocs.Assembly.Examples/ColumnNameExtractingDocumentTableLoadHandler.vb deleted file mode 100644 index 485a626..0000000 --- a/Examples/VisualBasic/GroupDocs.Assembly.Examples/ColumnNameExtractingDocumentTableLoadHandler.vb +++ /dev/null @@ -1,11 +0,0 @@ - -Imports GroupDocs.Assembly.Data - -Public Class ColumnNameExtractingDocumentTableLoadHandler - Implements IDocumentTableLoadHandler - - Public Sub Handle(args As DocumentTableLoadArgs) Implements IDocumentTableLoadHandler.Handle - args.Options = New DocumentTableOptions() - args.Options.FirstRowContainsColumnNames = True - End Sub -End Class diff --git a/Examples/VisualBasic/GroupDocs.Assembly.Examples/CustomDocumentTableLoadHandler.vb b/Examples/VisualBasic/GroupDocs.Assembly.Examples/CustomDocumentTableLoadHandler.vb deleted file mode 100644 index 4a276d2..0000000 --- a/Examples/VisualBasic/GroupDocs.Assembly.Examples/CustomDocumentTableLoadHandler.vb +++ /dev/null @@ -1,26 +0,0 @@ - -Imports GroupDocs.Assembly.Data - -Public Class CustomDocumentTableLoadHandler - Implements IDocumentTableLoadHandler - Public Sub Handle(args As DocumentTableLoadArgs) Implements IDocumentTableLoadHandler.Handle - Select Case args.TableIndex - Case 0 - ' Do nothing. The table is to be loaded with default options. - Exit Select - Case 1 - ' Discard loading of the table completely. - args.IsLoaded = False - Exit Select - Case 2 - ' Load the table with custom options. - args.Options = New DocumentTableOptions() - args.Options.FirstRowContainsColumnNames = True - Exit Select - Case Else - Throw New InvalidOperationException() - End Select - End Sub - -End Class - diff --git a/Examples/VisualBasic/GroupDocs.Assembly.Examples/GenerateReport.vb b/Examples/VisualBasic/GroupDocs.Assembly.Examples/GenerateReport.vb deleted file mode 100644 index bf9b983..0000000 --- a/Examples/VisualBasic/GroupDocs.Assembly.Examples/GenerateReport.vb +++ /dev/null @@ -1,5056 +0,0 @@ - -Imports System.Collections.Generic -Imports System.Linq -Imports System.Text -Imports System.Threading.Tasks -Imports GroupDocs.Assembly -Imports GroupDocs.Assembly.Data -Imports GroupDocs.AssemblyExamples.BusinessLayer -Imports GroupDocs.AssemblyExamples.BusinessLayer.GroupDocs.AssemblyExamples.BusinessLayer - - - -Namespace GroupDocs.AssemblyExamples - Public NotInheritable Class GenerateReport - - ''' - ''' Shows how to load document Table set using default options - ''' Features is supported by version 17.01 or greater - ''' - ''' name of the data source file - Public Shared Sub LoadDocTableSet(dataSource As String) - 'ExStart:LoadDocTableSet - ' Load all document tables using default options. - Dim tableSet As New DocumentTableSet(CommonUtilities.GetDataSourceDocument(Convert.ToString("Word DataSource/") & dataSource)) - - ' Check loading. - Debug.Assert(tableSet.Tables.Count = 3) - Debug.Assert(tableSet.Tables(0).Name = "Table1") - Debug.Assert(tableSet.Tables(1).Name = "Table2") - Debug.Assert(tableSet.Tables(2).Name = "Table3") - 'ExEnd:LoadDocTableSet - End Sub - - ''' - ''' Show how to Load document table set using custom options - ''' Features is supported by version 17.01 or greater - ''' - ''' name of the data source file - Public Shared Sub LoadDocTableSetWithCustomOptions(dataSource As String) - 'ExStart:LoadDocTableSetWithCustomOptions - ' Load document tables using custom options. - Dim tableSet As New DocumentTableSet(CommonUtilities.GetDataSourceDocument(Convert.ToString("Word DataSource/") & dataSource), New CustomDocumentTableLoadHandler()) - - ' Ensure that the second table is not loaded. - Debug.Assert(tableSet.Tables.Count = 2) - Debug.Assert(tableSet.Tables(0).Name = "Table1") - Debug.Assert(tableSet.Tables(1).Name = "Table3") - - ' Ensure that default options are used to load the first table (that is, default column names are used). - Debug.Assert(tableSet.Tables(0).Columns.Count = 2) - Debug.Assert(tableSet.Tables(0).Columns(0).Name = "Column1") - Debug.Assert(tableSet.Tables(0).Columns(1).Name = "Column2") - - ' Ensure that custom options are used to load the third table (that is, column names are extracted). - Debug.Assert(tableSet.Tables(1).Columns.Count = 2) - Debug.Assert(tableSet.Tables(1).Columns(0).Name = "Name") - Debug.Assert(tableSet.Tables(1).Columns(1).Name = "Address") - 'ExEnd:LoadDocTableSetWithCustomOptions - End Sub - - ''' - ''' Shows how to use document TableSet as DataSource - ''' Features is supported by version 17.01 or greater - ''' - ''' Name of the data source file - ''' name of the template file - Public Shared Sub UseDocumentTableSetAsDataSource(dataSource As String, slideDoc As String) - 'ExStart:UseDocumentTableSetAsDataSource - 'setting up output document - Const outDocument As String = "Presentation Reports/Use Document Table Set As DataSource Output.pptx" - 'set up path for the template file - Dim templateFile As String = CommonUtilities.GetSourceDocument(Convert.ToString("Presentation Templates/") & slideDoc) - ' Set table column names to be extracted from the document. - Dim tableSet As New DocumentTableSet(CommonUtilities.GetDataSourceDocument(Convert.ToString("Word DataSource/") & dataSource), New ColumnNameExtractingDocumentTableLoadHandler()) - - ' Set table names for conveniency. - tableSet.Tables(0).Name = "Planets" - tableSet.Tables(1).Name = "Persons" - tableSet.Tables(2).Name = "Companies" - - ' Pass DocumentTableSet as a data source. - Dim assembler As New DocumentAssembler() - assembler.AssembleDocument(templateFile, CommonUtilities.SetDestinationDocument(outDocument), tableSet) - 'ExEnd:UseDocumentTableSetAsDataSource - End Sub - - ''' - ''' Shows how to define document table relations - ''' Feature is supported by version 17.01 or greater - ''' - ''' name of the data source file - ''' name of the template file - Public Shared Sub DefiningDocumentTableRelations(relatedTables As String, docTableRelations As String) - 'ExStart:DefiningDocumentTableRelations - 'setting up output document - Const outDocument As String = "Word Reports/document relations output.docx" - 'set up path for the related tables data source - Dim relatedTablesDataSource As String = CommonUtilities.GetDataSourceDocument(Convert.ToString("Excel DataSource/") & relatedTables) - 'set up path for the template file - Dim templateFile As String = CommonUtilities.GetSourceDocument(Convert.ToString("Word Templates/") & docTableRelations) - - ' Set table column names to be extracted from the document. - Dim tableSet As New DocumentTableSet(relatedTablesDataSource, New ColumnNameExtractingDocumentTableLoadHandler()) - - ' Define relations between tables. - ' NOTE: For Spreadsheet documents, table names are extracted from sheet names. - tableSet.Relations.Add(tableSet.Tables("CLIENT").Columns("ID"), tableSet.Tables("CONTRACT").Columns("CLIENT_ID")) - - tableSet.Relations.Add(tableSet.Tables("MANAGER").Columns("ID"), tableSet.Tables("CONTRACT").Columns("MANAGER_ID")) - - ' Pass DocumentTableSet as a data source. - Dim assembler As New DocumentAssembler() - assembler.AssembleDocument(templateFile, CommonUtilities.SetDestinationDocument(outDocument), tableSet) - 'ExEnd:DefiningDocumentTableRelations - End Sub - - ''' - ''' Shows how to change document table column type - ''' Feature is supported by version 17.01 or greater - ''' - ''' - Public Shared Sub ChangingDocumentTableColumnType(document As String) - 'ExStart:ChangingDocumentTableColumnType - 'setting up data source document - Const dataSrcDocument As String = "Word DataSource/Managers Data.docx" - 'setting up output document - Const outDocument As String = "Presentation Reports/Out.pptx" - - ' Set table column names to be extracted from the document. - Dim options As New DocumentTableOptions() - options.FirstRowContainsColumnNames = True - - Dim table As New DocumentTable(CommonUtilities.GetDataSourceDocument(dataSrcDocument), 1, options) - - ' NOTE: For non-Spreadsheet documents, the type of a document table column is always string by default. - Debug.Assert(table.Columns("Total_Contract_Price").Type = GetType(String)) - - ' Change the column's type to double thus enabling to use arithmetic operations on values of the column - ' such as summing in templates. - table.Columns("Total_Contract_Price").Type = GetType(Double) - - ' Pass DocumentTable as a data source. - Dim assembler As New DocumentAssembler() - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(document), CommonUtilities.SetDestinationDocument(outDocument), table, "Managers") - 'ExEnd:ChangingDocumentTableColumnType - End Sub - - Public Shared Sub GenerateBubbleChart(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) - Select Case strDocumentFormat - Case "document" - If isDatabase Then - 'ExStart:GenerateBubbleChartFromDatabaseinOpenDocumentProcessingFormat - 'setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Bubble Chart_DB.docx" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Bubble Chart_DB Report.docx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Bubble Chart Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetOrdersDataDB(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBubbleChartFromDatabaseinOpenDocumentProcessingFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateBubbleChartFromDataSetinOpenDocumentProcessingFormat - 'setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Bubble Chart_DB.docx" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Bubble Chart_DT Report.docx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Bubble Chart Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersAndOrdersDataDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBubbleChartFromDataSetinOpenDocumentProcessingFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateBubbleChartFromXMLinOpenDocumentProcessingFormat - 'setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Bubble Chart_DB.docx" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Bubble Chart_XML Report.docx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Bubble Chart Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBubbleChartFromXMLinOpenDocumentProcessingFormat - - End Try - ElseIf isJson Then - 'ExStart:GenerateBubbleChartFromJsoninWord - 'setting up source - Const strDocumentTemplate As [String] = "Word Templates/Bubble Chart.docx" - 'Setting up destination - Const strDocumentReport As [String] = "Word Reports/Bubble Chart_Json Report.docx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Bubble Chart Report in document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBubbleChartFromJsoninWord - End Try - Else - 'ExStart:GenerateBubbleChartinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Bubble Chart.docx" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Bubble Chart Report.docx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Bubble Chart Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetOrdersData(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBubbleChartinOpenDocumentProcessingFormat - End Try - End If - Exit Select - - Case "spreadsheet" - If isDatabase Then - 'ExStart:GenerateBubbleChartFromDatabaseinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Bubble Chart_DB.xlsx" - 'Setting up destination open document report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Bubble Chart_DB Report.xlsx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Bubble Chart Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetOrdersDataDB(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBubbleChartFromDatabaseinOpenSpreadsheetFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateBubbleChartFromDataSetinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Bubble Chart_DB.xlsx" - 'Setting up destination open document report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Bubble Chart_DT Report.xlsx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Bubble Chart Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetCustomersAndOrdersDataDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBubbleChartFromDataSetinOpenSpreadsheetFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateBubbleChartFromXMLinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Bubble Chart_DB.xlsx" - 'Setting up destination open document report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Bubble Chart_XML Report.xlsx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Bubble Chart Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBubbleChartFromXMLinOpenSpreadsheetFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateBubbleChartFromJsoninExcel - 'setting up source - Const strDocumentTemplate As [String] = "Spreadsheet Templates/Bubble Chart.xlsx" - 'Setting up destination - Const strDocumentReport As [String] = "Spreadsheet Reports/Bubble Chart_Json Report.xlsx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Bubble Chart Report in spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBubbleChartFromJsoninExcel - End Try - Else - 'ExStart:GenerateBubbleChartinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Bubble Chart.xlsx" - 'Setting up destination open document report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Bubble Chart Report.xlsx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Bubble Chart Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetOrdersData(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBubbleChartinOpenSpreadsheetFormat - End Try - End If - Exit Select - - Case "presentation" - If isDatabase Then - 'ExStart:GenerateBubbleChartFromDatabaseinOpenPresentationFormat - 'Setting up source open spreadsheet template - Const strPresentationTemplate As [String] = "Presentation Templates/Bubble Chart_DB.pptx" - 'Setting up destination open document report - Const strPresentationReport As [String] = "Presentation Reports/Bubble Chart_DB Report.pptx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Bubble Chart Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetOrdersDataDB(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBubbleChartFromDatabaseinOpenPresentationFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateBubbleChartFromDataSetinOpenPresentationFormat - 'Setting up source open spreadsheet template - Const strPresentationTemplate As [String] = "Presentation Templates/Bubble Chart_DB.pptx" - 'Setting up destination open document report - Const strPresentationReport As [String] = "Presentation Reports/Bubble Chart_DT Report.pptx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Bubble Chart Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetCustomersAndOrdersDataDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBubbleChartFromDataSetinOpenPresentationFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateBubbleChartFromXMLinOpenPresentationFormat - 'Setting up source open spreadsheet template - Const strPresentationTemplate As [String] = "Presentation Templates/Bubble Chart_DB.pptx" - 'Setting up destination open document report - Const strPresentationReport As [String] = "Presentation Reports/Bubble Chart_XML Report.pptx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Bubble Chart Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBubbleChartFromXMLinOpenPresentationFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateBubbleChartFromJsoninPresentation - 'setting up source - Const strDocumentTemplate As [String] = "Presentation Templates/Bubble Chart.pptx" - 'Setting up destination - Const strDocumentReport As [String] = "Presentation Reports/Bubble Chart_Json Report.pptx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Bubble Chart Report in presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBubbleChartFromJsoninPresentation - End Try - Else - 'ExStart:GenerateBubbleChartinOpenPresentationFormat - 'Setting up source open spreadsheet template - Const strPresentationTemplate As [String] = "Presentation Templates/Bubble Chart.pptx" - 'Setting up destination open document report - Const strPresentationReport As [String] = "Presentation Reports/Bubble Chart Report.pptx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Bubble Chart Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetOrdersData(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBubbleChartinOpenPresentationFormat - End Try - End If - Exit Select - Case "email" - If True Then - 'ExStart:GenerateBubbleChartinEmailFormat - 'Setting up source email template - Const strEmailTemplate As [String] = "Email Templates/Bubble Chart.msg" - 'Setting up destination email report - Const strEmailReport As [String] = "Email Reports/Bubble Chart Report.msg" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Bubble Chart Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.GetOrdersData()), DataLayer.EmailDataSourceName(".msg", "orders")) - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateBubbleChartinEmailFormat - End If - Exit Select - End Select - End Sub - Public Shared Sub GenerateBulletedList(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) - Select Case strDocumentFormat - Case "document" - If isDatabase Then - 'ExStart:GenerateBulletedListFromDatabaseinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Bulleted List_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Bulleted List_DB Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Bulleted List Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataDB(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBulletedListFromDatabaseinOpenDocumentProcessingFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateBulletedListFromDataSetinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Bulleted List_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Bulleted List_DT Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Bulleted List Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBulletedListFromDataSetinOpenDocumentProcessingFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateBulletedListFromXMLinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Bulleted List_XML_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Bulleted List_XML Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Bulleted List Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBulletedListFromXMLinOpenDocumentProcessingFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateBulletedListFromJsoninOpenWord - 'setting up source - Const strDocumentTemplate As [String] = "Word Templates/Bulleted List_OpenDocument.odt" - 'Setting up destination - Const strDocumentReport As [String] = "Word Reports/Bulleted List_OpenDocument_Json Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Bulleted list report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBulletedListFromJsoninOpenWord - End Try - Else - 'ExStart:GenerateBulletedListinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Bulleted List_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Bulleted List Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Bulleted List Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsData(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBulletedListinOpenDocumentProcessingFormat - End Try - End If - Exit Select - - Case "spreadsheet" - If isDatabase Then - 'ExStart:GenerateBulletedListFromDatabaseinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Bulleted List_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Bulleted List_DB Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Bulleted List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetProductsDataDB(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBulletedListFromDatabaseinOpenSpreadsheetFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateBulletedListFromDataSetinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Bulleted List_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Bulleted List_DT Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Bulleted List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetProductsDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBulletedListFromDataSetinOpenSpreadsheetFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateBulletedListFromXMLinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Bulleted List_XML_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Bulleted List_XML Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Bulleted List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBulletedListFromXMLinOpenSpreadsheetFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateBulletedListFromJsoninOpenExcel - 'setting up source - Const strDocumentTemplate As [String] = "Spreadsheet Templates/Bulleted List_OpenDocument.ods" - 'Setting up destination - Const strDocumentReport As [String] = "Spreadsheet Reports/Bulleted List_OpenDocument_Json Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate bulleted list in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBulletedListFromJsoninOpenExcel - End Try - Else - 'ExStart:GenerateBulletedListinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Bulleted List_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Bulleted List Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Bulleted List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetProductsData(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBulletedListinOpenSpreadsheetFormat - End Try - End If - Exit Select - - Case "presentation" - If isDatabase Then - 'ExStart:GenerateBulletedListFromDatabaseinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/Bulleted List_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/Bulleted List_DB Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Bulleted List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetProductsDataDB(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBulletedListFromDatabaseinOpenPresentationFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateBulletedListFromDataSetinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/Bulleted List_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/Bulleted List_DT Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Bulleted List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetProductsDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBulletedListFromDataSetinOpenPresentationFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateBulletedListFromXMLinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/Bulleted List_XML_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/Bulleted List_XML Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Bulleted List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBulletedListFromXMLinOpenPresentationFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateBulletedListFromJsoninOpenPresentation - 'setting up source - Const strDocumentTemplate As [String] = "Presentation Templates/Bulleted List_OpenDocument.odp" - 'Setting up destination - Const strDocumentReport As [String] = "Presentation Reports/Bulleted List_OpenDocument_Json Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate bulleted list in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBulletedListFromJsoninOpenPresentation - End Try - Else - 'ExStart:GenerateBulletedListinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/Bulleted List_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/Bulleted List Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Bulleted List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetProductsData(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateBulletedListinOpenPresentationFormat - End Try - End If - Exit Select - - Case "html" - If True Then - 'ExStart:GenerateBulletedListinHTMLFormat - 'Setting up source html template - Const strHtmlTemplate As [String] = "HTML Templates/Bulleted List.html" - 'Setting up destination html report - Const strHtmlReport As [String] = "HTML Reports/Bulleted List Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - ' This is needed solely for images in HTML documents. - assembler.KnownTypes.Add(GetType(FileUtil)) - 'Call AssembleDocument to generate Bulleted List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetProductsData(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateBulletedListinHTMLFormat - End If - Exit Select - Case "text" - If True Then - 'ExStart:GenerateBulletedListinTextFormat - 'Setting up source text document template - Const strTextTemplate As [String] = "Text Templates/Bulleted List.txt" - 'Setting up destination text document report - Const strTextReport As [String] = "Text Reports/Bulleted List Report.txt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Bulleted List Report in text format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strTextTemplate), CommonUtilities.SetDestinationDocument(strTextReport), DataLayer.GetProductsData(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateBulletedListinTextFormat - End If - Exit Select - Case "email" - If True Then - 'ExStart:GenerateBulletedListinEmailFormat - 'Setting up source email template - Const strEmailTemplate As [String] = "Email Templates/Bulleted List.msg" - 'Setting up destination email report - Const strEmailReport As [String] = "Email Reports/Bulleted List Report.msg" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Bulleted List Report in email format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.GetProductsData()), DataLayer.EmailDataSourceName(".msg", "products")) - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateBulletedListinEmailFormat - End If - Exit Select - - End Select - End Sub - Public Shared Sub GenerateChartWithFilteringGroupingAndOrdering(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) - Select Case strDocumentFormat - Case "document" - If isDatabase Then - 'ExStart:GenerateChartWithFilteringGroupingAndOrderingFromDatabaseinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Chart with Filtering, Grouping, and Ordering_DB.docx" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Chart with Filtering, Grouping, and Ordering_DB Report.docx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Chart report with Filtering, Grouping, and Ordering in document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetOrdersDataDB(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateChartWithFilteringGroupingAndOrderingFromDatabaseinOpenDocumentProcessingFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateChartWithFilteringGroupingAndOrderingFromDataSetinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Chart with Filtering, Grouping, and Ordering_DB.docx" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Chart with Filtering, Grouping, and Ordering_DT Report.docx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Chart report with Filtering, Grouping, and Ordering in document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersAndOrdersDataDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateChartWithFilteringGroupingAndOrderingFromDataSetinOpenDocumentProcessingFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateChartWithFilteringGroupingAndOrderingFromXMLinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Chart with Filtering, Grouping, and Ordering_XML.docx" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Chart with Filtering, Grouping, and Ordering_XML Report.docx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Chart report with Filtering, Grouping, and Ordering in document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateChartWithFilteringGroupingAndOrderingFromXMLinOpenDocumentProcessingFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateChartWithFilteringGroupingAndOrderingFromJsoninWord - 'setting up source - Const strDocumentTemplate As [String] = "Word Templates/Chart with Filtering, Grouping, and Ordering.docx" - 'Setting up destination - Const strDocumentReport As [String] = "Word Reports/Chart with Filtering, Grouping, and Ordering_Json Report.docx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Chart with Filtering, Grouping, and Ordering report in document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateChartWithFilteringGroupingAndOrderingFromJsoninWord - End Try - Else - 'ExStart:GenerateChartWithFilteringGroupingAndOrderinginOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Chart with Filtering, Grouping, and Ordering.docx" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Chart with Filtering, Grouping, and Ordering Report.docx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Chart report with Filtering, Grouping, and Ordering in document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetOrdersData(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateChartWithFilteringGroupingAndOrderinginOpenDocumentProcessingFormat - End Try - End If - Exit Select - - Case "spreadsheet" - If isDatabase Then - 'ExStart:GenerateChartWithFilteringGroupingAndOrderingFromDatabaseinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Chart with Filtering, Grouping, and Ordering_DB.xlsx" - 'Setting up destination open document report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Chart with Filtering, Grouping, and Ordering_DB Report.xlsx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Chart report with Filtering, Grouping, and Ordering in spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetOrdersDataDB(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateChartWithFilteringGroupingAndOrderingFromDatabaseinOpenSpreadsheetFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateChartWithFilteringGroupingAndOrderingFromDataSetinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Chart with Filtering, Grouping, and Ordering_DB.xlsx" - 'Setting up destination open document report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Chart with Filtering, Grouping, and Ordering_DT Report.xlsx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Chart report with Filtering, Grouping, and Ordering in spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetCustomersAndOrdersDataDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateChartWithFilteringGroupingAndOrderingFromDataSetinOpenSpreadsheetFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateChartWithFilteringGroupingAndOrderingFromXMLinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Chart with Filtering, Grouping, and Ordering_XML.xlsx" - 'Setting up destination open document report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Chart with Filtering, Grouping, and Ordering_XML Report.xlsx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Chart report with Filtering, Grouping, and Ordering in spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateChartWithFilteringGroupingAndOrderingFromXMLinOpenSpreadsheetFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateChartWithFilteringGroupingAndOrderingFromJsoninSpreadsheet - 'setting up source - Const strDocumentTemplate As [String] = "Spreadsheet Templates/Chart with Filtering, Grouping, and Ordering.xlsx" - 'Setting up destination - Const strDocumentReport As [String] = "Spreadsheet Reports/Chart with Filtering, Grouping, and Ordering_Json Report.xlsx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Chart with Filtering, Grouping, and Ordering report in spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateChartWithFilteringGroupingAndOrderingFromJsoninSpreadsheet - End Try - Else - 'ExStart:GenerateChartWithFilteringGroupingAndOrderinginOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Chart with Filtering, Grouping, and Ordering.xlsx" - 'Setting up destination open document report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Chart with Filtering, Grouping, and Ordering Report.xlsx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Chart report with Filtering, Grouping, and Ordering in spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetOrdersData(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateChartWithFilteringGroupingAndOrderinginOpenSpreadsheetFormat - End Try - End If - Exit Select - - Case "presentation" - If isDatabase Then - 'ExStart:GenerateChartWithFilteringGroupingAndOrderingFromDatabaseinOpenPresentationFormat - 'Setting up source open spreadsheet template - Const strPresentationTemplate As [String] = "Presentation Templates/Chart with Filtering, Grouping, and Ordering_DB.pptx" - 'Setting up destination open document report - Const strPresentationReport As [String] = "Presentation Reports/Chart with Filtering, Grouping, and Ordering_DB Report.pptx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Chart report with Filtering, Grouping, and Ordering in presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetOrdersDataDB(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateChartWithFilteringGroupingAndOrderingFromDatabaseinOpenPresentationFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateChartWithFilteringGroupingAndOrderingFromDataSetinOpenPresentationFormat - 'Setting up source open spreadsheet template - Const strPresentationTemplate As [String] = "Presentation Templates/Chart with Filtering, Grouping, and Ordering_DB.pptx" - 'Setting up destination open document report - Const strPresentationReport As [String] = "Presentation Reports/Chart with Filtering, Grouping, and Ordering_DT Report.pptx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Chart report with Filtering, Grouping, and Ordering in presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetCustomersAndOrdersDataDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateChartWithFilteringGroupingAndOrderingFromDataSetinOpenPresentationFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateChartWithFilteringGroupingAndOrderingFromXMLinOpenPresentationFormat - 'Setting up source open spreadsheet template - Const strPresentationTemplate As [String] = "Presentation Templates/Chart with Filtering, Grouping, and Ordering_XML.pptx" - 'Setting up destination open document report - Const strPresentationReport As [String] = "Presentation Reports/Chart with Filtering, Grouping, and Ordering_XML Report.pptx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Chart report with Filtering, Grouping, and Ordering in presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateChartWithFilteringGroupingAndOrderingFromXMLinOpenPresentationFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateChartWithFilteringGroupingAndOrderingFromJsoninPresentation - 'setting up source - Const strDocumentTemplate As [String] = "Presentation Templates/Chart with Filtering, Grouping, and Ordering.pptx" - 'Setting up destination - Const strDocumentReport As [String] = "Presentation Reports/Chart with Filtering, Grouping, and Ordering_Json Report.pptx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Chart with Filtering, Grouping, and Ordering report in presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateChartWithFilteringGroupingAndOrderingFromJsoninPresentation - End Try - Else - 'ExStart:GenerateChartWithFilteringGroupingAndOrderinginOpenPresentationFormat - 'Setting up source open spreadsheet template - Const strPresentationTemplate As [String] = "Presentation Templates/Chart with Filtering, Grouping, and Ordering.pptx" - 'Setting up destination open document report - Const strPresentationReport As [String] = "Presentation Reports/Chart with Filtering, Grouping, and Ordering Report.pptx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Chart report with Filtering, Grouping, and Ordering in presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetOrdersData(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateChartWithFilteringGroupingAndOrderinginOpenPresentationFormat - End Try - End If - Exit Select - Case "email" - If True Then - 'ExStart:GenerateChartWithFilteringGroupingAndOrderinginEmailFormat - 'Setting up source email template - Const strEmailTemplate As [String] = "Email Templates/Chart with Filtering, Grouping, and Ordering.msg" - 'Setting up destination email report - Const strEmailReport As [String] = "Email Reports/Chart with Filtering, Grouping, and Ordering Report.msg" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Chart report with Filtering, Grouping, and Ordering in email format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.GetOrdersData()), DataLayer.EmailDataSourceName(".msg", "orders")) - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateChartWithFilteringGroupingAndOrderinginEmailFormat - End If - Exit Select - - End Select - End Sub - Public Shared Sub GenerateCommonList(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) - Select Case strDocumentFormat - Case "document" - If isDatabase Then - 'ExStart:GenerateCommonListFromDatabaseinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Common List_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Common List_DB Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common List Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersDataDB(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonListFromDatabaseinOpenDocumentProcessingFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateCommonListFromDataSetinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Common List_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Common List_DT Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common List Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersAndOrdersDataDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonListFromDataSetinOpenDocumentProcessingFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateCommonListFromXMLinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Common List_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Common List_XML Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common List Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonListFromXMLinOpenDocumentProcessingFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateCommonListReportFromJsoninOpenWord - 'setting up source - Const strDocumentTemplate As [String] = "Word Templates/Common List_OpenDocument.odt" - 'Setting up destination - Const strDocumentReport As [String] = "Word Reports/Common List_OpenDocument_Json Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Common List report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonListReportFromJsoninOpenWord - End Try - Else - 'ExStart:GenerateCommonListinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Common List_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Common List Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common List Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.PopulateData(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonListinOpenDocumentProcessingFormat - End Try - End If - Exit Select - - Case "spreadsheet" - If isDatabase Then - 'ExStart:GenerateCommonListFromDatabaseinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Common List_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Common List_DB Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetCustomersDataDB(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonListFromDatabaseinOpenSpreadsheetFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateCommonListFromDataSetinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Common List_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Common List_DT Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetCustomersAndOrdersDataDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonListFromDataSetinOpenSpreadsheetFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateCommonListFromXMLinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Common List_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Common List_XML Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonListFromXMLinOpenSpreadsheetFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateCommonListReportFromJsoninOpenSpreadsheet - 'setting up source - Const strDocumentTemplate As [String] = "Spreadsheet Templates/Common List_OpenDocument.ods" - 'Setting up destination - Const strDocumentReport As [String] = "Spreadsheet Reports/Common List_OpenDocument_Json Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Common List report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonListReportFromJsoninOpenSpreadsheet - End Try - Else - 'ExStart:GenerateCommonListinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Common List_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Common List Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.PopulateData(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonListinOpenSpreadsheetFormat - End Try - End If - Exit Select - - Case "presentation" - If isDatabase Then - 'ExStart:GenerateCommonListFromDatabaseinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/Common List_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/Common List_DB Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetCustomersDataDB(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonListFromDatabaseinOpenPresentationFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateCommonListFromDataSetinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/Common List_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/Common List_DT Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetCustomersAndOrdersDataDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonListFromDataSetinOpenPresentationFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateCommonListFromXMLinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/Common List_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/Common List_XML Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonListFromXMLinOpenPresentationFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateCommonListReportFromJsoninOpenPresentation - 'setting up source - Const strDocumentTemplate As [String] = "Presentation Templates/Common List_OpenDocument.odp" - 'Setting up destination - Const strDocumentReport As [String] = "Presentation Reports/Common List_OpenDocument_Json Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Common List report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonListReportFromJsoninOpenPresentation - End Try - Else - 'ExStart:GenerateCommonListinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/Common List_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/Common List Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.PopulateData(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonListinOpenPresentationFormat - End Try - End If - Exit Select - - Case "html" - If True Then - 'ExStart:GenerateCommonListinHtmlFormat - 'Setting up source html template - Const strDocumentTemplate As [String] = "HTML Templates/Common List.html" - 'Setting up destination html report - Const strDocumentReport As [String] = "HTML Reports/Common List Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.PopulateData(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateCommonListinHtmlFormat - End If - Exit Select - Case "text" - If True Then - 'ExStart:GenerateCommonListinTextFormat - 'Setting up source text document template - Const strTxtDocumentTemplate As [String] = "Text Templates/Common List.txt" - 'Setting up destination text document report - Const strTxtDocumentReport As [String] = "Text Reports/Common List Report.txt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common List Report in text document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strTxtDocumentTemplate), CommonUtilities.SetDestinationDocument(strTxtDocumentReport), DataLayer.PopulateData(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateCommonListinTextFormat - End If - Exit Select - Case "email" - If True Then - 'ExStart:GenerateCommonListinEmailFormat - 'Setting up source email template - Const strEmailDocumentTemplate As [String] = "Email Templates/Common List.msg" - 'Setting up destination email report - Const strEmailDocumentReport As [String] = "Email Reports/Common List Report.msg" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common List Report in email document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailDocumentTemplate), CommonUtilities.SetDestinationDocument(strEmailDocumentReport), DataLayer.EmailDataSourceObject(strEmailDocumentTemplate, DataLayer.PopulateData()), DataLayer.EmailDataSourceName(".msg", "customers")) - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateCommonListinEmailFormat - End If - Exit Select - End Select - End Sub - Public Shared Sub GenerateCommonMasterDetail(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) - Select Case strDocumentFormat - Case "document" - If isDatabase Then - 'ExStart:GenerateCommonMasterDetailFromDatabaseinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Common Master-Detail_DB_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Common Master-Detail_DB Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common Master-Detail Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersDataDB(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonMasterDetailFromDatabaseinOpenDocumentProcessingFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateCommonMasterDetailFromDataSetinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Common Master-Detail_DB_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Common Master-Detail_DT Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common Master-Detail Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersAndOrdersDataDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonMasterDetailFromDataSetinOpenDocumentProcessingFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateCommonMasterDetailFromXMLinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Common Master-Detail_DB_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Common Master-Detail_XML Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common Master-Detail Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonMasterDetailFromXMLinOpenDocumentProcessingFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateCommonMasterDetailReportFromJsoninOpenWord - 'setting up source - Const strDocumentTemplate As [String] = "Word Templates/Common Master-Detail_OpenDocument.odt" - 'Setting up destination - Const strDocumentReport As [String] = "Word Reports/Common Master-Detail_OpenDocument_Json Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Common master-detail report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonMasterDetailReportFromJsoninOpenWord - End Try - Else - 'ExStart:GenerateCommonMasterDetailinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Common Master-Detail_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Common Master-Detail Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common Master-Detail Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.PopulateData(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonMasterDetailinOpenDocumentProcessingFormat - End Try - End If - Exit Select - - Case "spreadsheet" - If isDatabase Then - 'ExStart:GenerateCommonMasterDetailFromDatabaseinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Common Master-Detail_DB_OpenDocument.ods" - 'Setting up destination open document report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Common Master-Detail_DB Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetCustomersDataDB(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonMasterDetailFromDatabaseinOpenSpreadsheetFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateCommonMasterDetailFromDataSetinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Common Master-Detail_DB_OpenDocument.ods" - 'Setting up destination open document report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Common Master-Detail_DT Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetCustomersAndOrdersDataDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonMasterDetailFromDataSetinOpenSpreadsheetFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateCommonMasterDetailFromXMLinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Common Master-Detail_DB_OpenDocument.ods" - 'Setting up destination open document report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Common Master-Detail_XML Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonMasterDetailFromXMLinOpenSpreadsheetFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateCommonMasterDetailReportFromJsoninOpenSpreadsheet - 'setting up source - Const strDocumentTemplate As [String] = "Spreadsheet Templates/Common Master-Detail_OpenDocument.ods" - 'Setting up destination - Const strDocumentReport As [String] = "Spreadsheet Reports/Common Master-Detail_OpenDocument_Json Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Common master-detail report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonMasterDetailReportFromJsoninOpenSpreadsheet - End Try - Else - 'ExStart:GenerateCommonMasterDetailinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Common Master-Detail_OpenDocument.ods" - 'Setting up destination open document report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Common Master-Detail Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.PopulateData(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonMasterDetailinOpenSpreadsheetFormat - End Try - End If - Exit Select - - Case "presentation" - If isDatabase Then - 'ExStart:GenerateCommonMasterDetailFromDatabaseinOpenPresentationFormat - 'Setting up source open spreadsheet template - Const strPresentationTemplate As [String] = "Presentation Templates/Common Master-Detail_DB_OpenDocument.odp" - 'Setting up destination open document report - Const strPresentationReport As [String] = "Presentation Reports/Common Master-Detail_DB Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetCustomersDataDB(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonMasterDetailFromDatabaseinOpenPresentationFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateCommonMasterDetailFromDataSetinOpenPresentationFormat - 'Setting up source open spreadsheet template - Const strPresentationTemplate As [String] = "Presentation Templates/Common Master-Detail_DB_OpenDocument.odp" - 'Setting up destination open document report - Const strPresentationReport As [String] = "Presentation Reports/Common Master-Detail_DT Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetCustomersAndOrdersDataDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonMasterDetailFromDataSetinOpenPresentationFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateCommonMasterDetailFromXMLinOpenPresentationFormat - 'Setting up source open spreadsheet template - Const strPresentationTemplate As [String] = "Presentation Templates/Common Master-Detail_DB_OpenDocument.odp" - 'Setting up destination open document report - Const strPresentationReport As [String] = "Presentation Reports/Common Master-Detail_XML Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonMasterDetailFromXMLinOpenPresentationFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateCommonMasterDetailReportFromJsoninOpenPresentation - 'setting up source - Const strDocumentTemplate As [String] = "Presentation Templates/Common Master-Detail_OpenDocument.odp" - 'Setting up destination - Const strDocumentReport As [String] = "Presentation Reports/Common Master-Detail_OpenDocument_Json Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Common master-detail report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonMasterDetailReportFromJsoninOpenPresentation - End Try - Else - 'ExStart:GenerateCommonMasterDetailinOpenPresentationFormat - 'Setting up source open spreadsheet template - Const strPresentationTemplate As [String] = "Presentation Templates/Common Master-Detail_OpenDocument.odp" - 'Setting up destination open document report - Const strPresentationReport As [String] = "Presentation Reports/Common Master-Detail Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.PopulateData(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateCommonMasterDetailinOpenPresentationFormat - End Try - End If - Exit Select - - Case "html" - If True Then - 'ExStart:GenerateCommonMasterDetailinHtmlFormat - 'Setting up source html template - Const strDocumentTemplate As [String] = "HTML Templates/Common Master-Detail.html" - 'Setting up destination html report - Const strDocumentReport As [String] = "HTML Reports/Common Master-Detail Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - ' This is needed solely for images in HTML documents. - assembler.KnownTypes.Add(GetType(FileUtil)) - 'Call AssembleDocument to generate Common Master-Detail Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.PopulateData(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateCommonMasterDetailinHtmlFormat - End If - Exit Select - Case "text" - If True Then - 'ExStart:GenerateCommonMasterDetailinTextFormat - 'Setting up source text document template - Const strTxtDocumentTemplate As [String] = "Text Templates/Common Master-Detail.txt" - 'Setting up destination text document report - Const strTxtDocumentReport As [String] = "Text Reports/Common Master-Detail Report.txt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common Master-Detail Report in text document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strTxtDocumentTemplate), CommonUtilities.SetDestinationDocument(strTxtDocumentReport), DataLayer.PopulateData(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateCommonMasterDetailinTextFormat - End If - Exit Select - Case "email" - If True Then - 'ExStart:GenerateCommonMasterDetailinEmailFormat - 'Setting up source email document template - Const strEmailDocumentTemplate As [String] = "Email Templates/Common Master-Detail.msg" - 'Setting up destination email document report - Const strEmailDocumentReport As [String] = "Email Reports/Common Master-Detail Report.msg" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Common Master-Detail Report in email document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailDocumentTemplate), CommonUtilities.SetDestinationDocument(strEmailDocumentReport), DataLayer.EmailDataSourceObject(strEmailDocumentTemplate, DataLayer.PopulateData()), DataLayer.EmailDataSourceName(".msg", "customers")) - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateCommonMasterDetailinEmailFormat - End If - Exit Select - End Select - End Sub - Public Shared Sub GenerateInParagraphList(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) - Select Case strDocumentFormat - Case "document" - If isDatabase Then - 'ExStart:GenerateInParagraphListFromDatabaseinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/In-Paragraph List_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/In-Paragraph List_DB Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Paragraph List Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataDB(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInParagraphListFromDatabaseinOpenDocumentProcessingFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateInParagraphListFromDataSetinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/In-Paragraph List_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/In-Paragraph List_DT Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Paragraph List Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInParagraphListFromDataSetinOpenDocumentProcessingFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateInParagraphListFromXMLinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/In-Paragraph List_XML_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/In-Paragraph List_XML Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Paragraph List Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInParagraphListFromXMLinOpenDocumentProcessingFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateInParagraphListReportFromJsoninOpenWord - 'setting up source - Const strDocumentTemplate As [String] = "Word Templates/In-Paragraph List_OpenDocument.odt" - 'Setting up destination - Const strDocumentReport As [String] = "Word Reports/In-Paragraph List_OpenDocument_Json Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate In-Paragraph List report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInParagraphListReportFromJsoninOpenWord - End Try - Else - 'ExStart:GenerateInParagraphListinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/In-Paragraph List_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/In-Paragraph List Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Paragraph List Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsData(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInParagraphListinOpenDocumentProcessingFormat - End Try - End If - Exit Select - - Case "spreadsheet" - If isDatabase Then - 'ExStart:GenerateInParagraphListFromDatabaseinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Paragraph List_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Paragraph List_DB Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Paragraph List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetProductsDataDB(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInParagraphListFromDatabaseinOpenSpreadsheetFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateInParagraphListFromDataSetinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Paragraph List_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Paragraph List_DT Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Paragraph List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetProductsDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInParagraphListFromDataSetinOpenSpreadsheetFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateInParagraphListFromXMLinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Paragraph List_XML_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Paragraph List_XML Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Paragraph List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInParagraphListFromXMLinOpenSpreadsheetFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateInParagraphListReportFromJsoninOpenExcel - 'setting up source - Const strDocumentTemplate As [String] = "Spreadsheet Templates/In-Paragraph List_OpenDocument.ods" - 'Setting up destination - Const strDocumentReport As [String] = "Spreadsheet Reports/In-Paragraph List_OpenDocument_Json Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate In-Paragraph List report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInParagraphListReportFromJsoninOpenExcel - End Try - Else - 'ExStart:GenerateInParagraphListinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Paragraph List_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Paragraph List Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Paragraph List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetProductsData(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInParagraphListinOpenSpreadsheetFormat - End Try - End If - Exit Select - - Case "presentation" - If isDatabase Then - 'ExStart:GenerateInParagraphListFromDatabaseinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/In-Paragraph List_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/In-Paragraph List_DB Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Paragraph List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetProductsDataDB(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInParagraphListFromDatabaseinOpenPresentationFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateInParagraphListFromDataSetinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/In-Paragraph List_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/In-Paragraph List_DT Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Paragraph List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetProductsDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInParagraphListFromDataSetinOpenPresentationFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateInParagraphListFromXMLinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/In-Paragraph List_XML_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/In-Paragraph List_XML Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Paragraph List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInParagraphListFromXMLinOpenPresentationFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateInParagraphListReportFromJsoninOpenPresentation - 'setting up source - Const strDocumentTemplate As [String] = "Presentation Templates/In-Paragraph List_OpenDocument.odp" - 'Setting up destination - Const strDocumentReport As [String] = "Presentation Reports/In-Paragraph List_OpenDocument_Json Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate In-Paragraph List report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInParagraphListReportFromJsoninOpenPresentation - End Try - Else - 'ExStart:GenerateInParagraphListinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/In-Paragraph List_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/In-Paragraph List Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Paragraph List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetProductsData(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInParagraphListinOpenPresentationFormat - End Try - End If - Exit Select - Case "html" - If True Then - 'ExStart:GenerateInParagraphListinHtmlFormat - 'Setting up source html template - Const strDocumentTemplate As [String] = "HTML Templates/In-Paragraph List.html" - 'Setting up destination html report - Const strDocumentReport As [String] = "HTML Reports/In-Paragraph List Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Paragraph List Report in htmlformat - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsData(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateInParagraphListinHtmlFormat - End If - Exit Select - - Case "text" - If True Then - 'ExStart:GenerateInParagraphListinTextFormat - 'Setting up source text document template - Const strDocumentTemplate As [String] = "Text Templates/In-Paragraph List.txt" - 'Setting up destination text document report - Const strDocumentReport As [String] = "Text Reports/In-Paragraph List Report.txt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Paragraph List Report in text document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsData(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateInParagraphListinTextFormat - End If - Exit Select - Case "email" - If True Then - 'ExStart:GenerateInParagraphListinEmailFormat - 'Setting up source email document template - Const strEmailDocumentTemplate As [String] = "Email Templates/In-Paragraph List.msg" - 'Setting up destination email document report - Const strEmailDocumentReport As [String] = "Email Reports/In-Paragraph List Report.msg" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Paragraph List Report in email document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailDocumentTemplate), CommonUtilities.SetDestinationDocument(strEmailDocumentReport), DataLayer.EmailDataSourceObject(strEmailDocumentTemplate, DataLayer.GetProductsData()), DataLayer.EmailDataSourceName(".msg", "products")) - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateInParagraphListinEmailFormat - End If - Exit Select - End Select - End Sub - Public Shared Sub GenerateInTableListWithAlternateContent(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) - Select Case strDocumentFormat - Case "document" - If isDatabase Then - 'ExStart:GenerateInTableListWithAlternateContentFromDatabaseinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/In-Table List with Alternate Content_DB_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/In-Table List with Alternate Content_DB Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Alternate Content Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataDB(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithAlternateContentFromDatabaseinOpenDocumentProcessingFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateInTableListWithAlternateContentFromDataSetinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/In-Table List with Alternate Content_DT_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/In-Table List with Alternate Content_DT Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Alternate Content Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDT(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithAlternateContentFromDataSetinOpenDocumentProcessingFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateInTableListWithAlternateContentFromXMLinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/In-Table List with Alternate Content_XML_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/In-Table List with Alternate Content_XML Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Alternate Content Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithAlternateContentFromXMLinOpenDocumentProcessingFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateInTableListwithAlternateContentReportFromJsoninOpenWord - 'setting up source - Const strDocumentTemplate As [String] = "Word Templates/In-Table List with Alternate Content_OpenDocument.odt" - 'Setting up destination - Const strDocumentReport As [String] = "Word Reports/In-Table List with Alternate Content_OpenDocument_Json Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate In-Table List with Alternate Content report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListwithAlternateContentReportFromJsoninOpenWord - End Try - Else - 'ExStart:GenerateInTableListWithAlternateContentinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/In-Table List with Alternate Content_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/In-Table List with Alternate Content Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Alternate Content Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetOrdersData(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithAlternateContentinOpenDocumentProcessingFormat - End Try - End If - Exit Select - - Case "spreadsheet" - If isDatabase Then - 'ExStart:GenerateInTableListWithAlternateContentFromDatabaseinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Table List with Alternate Content_DB_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Table List with Alternate Content_DB Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Alternate Content Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetProductsDataDB(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithAlternateContentFromDatabaseinOpenSpreadsheetFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateInTableListWithAlternateContentFromDataSetinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Table List with Alternate Content_DT_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Table List with Alternate Content_DT Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Alternate Content Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetProductsDT(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithAlternateContentFromDataSetinOpenSpreadsheetFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateInTableListWithAlternateContentFromXMLinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Table List with Alternate Content_XML_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Table List with Alternate Content_XML Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Alternate Content Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithAlternateContentFromXMLinOpenSpreadsheetFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateInTableListwithAlternateContentReportFromJsoninOpenExcel - 'setting up source - Const strDocumentTemplate As [String] = "Spreadsheet Templates/In-Table List with Alternate Content_OpenDocument.ods" - 'Setting up destination - Const strDocumentReport As [String] = "Spreadsheet Reports/In-Table List with Alternate Content_OpenDocument_Json Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate In-Table List with Alternate Content report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListwithAlternateContentReportFromJsoninOpenExcel - End Try - Else - 'ExStart:GenerateInTableListWithAlternateContentinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Table List with Alternate Content_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Table List with Alternate Content Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Alternate Content Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetOrdersData(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithAlternateContentinOpenSpreadsheetFormat - End Try - End If - Exit Select - - Case "presentation" - If isDatabase Then - 'ExStart:GenerateInTableListWithAlternateContentFromDatabaseinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/In-Table List with Alternate Content_DB_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/In-Table List with Alternate Content_DB Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Alternate Content Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetProductsDataDB(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithAlternateContentFromDatabaseinOpenPresentationFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateInTableListWithAlternateContentFromDataSetinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/In-Table List with Alternate Content_DT_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/In-Table List with Alternate Content_DT Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Alternate Content Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetProductsDT(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithAlternateContentFromDataSetinOpenPresentationFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateInTableListWithAlternateContentFromXMLinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/In-Table List with Alternate Content_XML_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/In-Table List with Alternate Content_XML Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Alternate Content Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithAlternateContentFromXMLinOpenPresentationFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateInTableListwithAlternateContentReportFromJsoninOpenPresentation - 'setting up source - Const strDocumentTemplate As [String] = "Presentation Templates/In-Table List with Alternate Content_OpenDocument.odp" - 'Setting up destination - Const strDocumentReport As [String] = "Presentation Reports/In-Table List with Alternate Content_OpenDocument_Json Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate In-Table List with Alternate Content report in presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListwithAlternateContentReportFromJsoninOpenPresentation - End Try - Else - 'ExStart:GenerateInTableListWithAlternateContentinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/In-Table List with Alternate Content_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/In-Table List with Alternate Content Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Alternate Content Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetOrdersData(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithAlternateContentinOpenPresentationFormat - End Try - End If - Exit Select - Case "html" - - If True Then - 'ExStart:GenerateInTableListWithAlternateContentinHtmlFormat - 'Setting up source html template - Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Alternate Content.html" - 'Setting up destination html report - Const strHtmlReport As [String] = "HTML Reports/In-Table List with Alternate Content Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Alternate Content Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetOrdersData(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateInTableListWithAlternateContentinHtmlFormat - End If - Exit Select - - Case "email" - - If True Then - 'ExStart:GenerateInTableListWithAlternateContentinEmailFormat - 'Setting up source email template - Const strEmailTemplate As [String] = "Email Templates/In-Table List with Alternate Content.msg" - 'Setting up destination email report - Const strEmailReport As [String] = "Email Reports/In-Table List with Alternate Content Report.msg" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Alternate Content Report in email format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.GetOrdersData()), DataLayer.EmailDataSourceName(".msg", "orders")) - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateInTableListWithAlternateContentinEmailFormat - End If - Exit Select - End Select - End Sub - Public Shared Sub GenerateInTableListWithFilteringGroupingAndOrdering(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) - Select Case strDocumentFormat - Case "document" - If isDatabase Then - 'ExStart:GenerateInTableListWithFilteringGroupingAndOrderingFromDatabaseinDocumentProcessingDocument - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/In-Table List with Filtering, Grouping, and Ordering_DB_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/In-Table List with Filtering, Grouping, and Ordering_DB Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetOrdersDataDB(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithFilteringGroupingAndOrderingFromDatabaseinDocumentProcessingDocument - End Try - ElseIf isDataSet Then - 'ExStart:GenerateInTableListWithFilteringGroupingAndOrderingFromDataSetinDocumentProcessingDocument - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/In-Table List with Filtering, Grouping, and Ordering_DB_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/In-Table List with Filtering, Grouping, and Ordering_DT Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersAndOrdersDataDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithFilteringGroupingAndOrderingFromDataSetinDocumentProcessingDocument - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateInTableListWithFilteringGroupingAndOrderingFromXMLinDocumentProcessingDocument - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/In-Table List with Filtering, Grouping, and Ordering_XML_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/In-Table List with Filtering, Grouping, and Ordering_XML Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithFilteringGroupingAndOrderingFromXMLinDocumentProcessingDocument - End Try - ElseIf isJson Then - 'ExStart:GenerateInTableListwithFilteringGroupingAndOrderingReportFromJsoninOpenWord - 'setting up source - Const strDocumentTemplate As [String] = "Word Templates/In-Table List with Filtering, Grouping, and Ordering_OpenDocument.odt" - 'Setting up destination - Const strDocumentReport As [String] = "Word Reports/In-Table List with Filtering, Grouping, and Ordering_OpenDocument_Json Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListwithFilteringGroupingAndOrderingReportFromJsoninOpenWord - End Try - Else - 'ExStart:GenerateInTableListWithFilteringGroupingAndOrderinginDocumentProcessingDocument - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/In-Table List with Filtering, Grouping, and Ordering_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/In-Table List with Filtering, Grouping, and Ordering Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetOrdersData(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithFilteringGroupingAndOrderinginDocumentProcessingDocument - End Try - End If - Exit Select - - Case "spreadsheet" - If isDatabase Then - 'ExStart:GenerateInTableListWithFilteringGroupingAndOrderingFromDatabaseinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Table List with Filtering, Grouping, and Ordering_DB_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Table List with Filtering, Grouping, and Ordering_DB Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetOrdersDataDB(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithFilteringGroupingAndOrderingFromDatabaseinOpenSpreadsheetFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateInTableListWithFilteringGroupingAndOrderingFromDataSetinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Table List with Filtering, Grouping, and Ordering_DB_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Table List with Filtering, Grouping, and Ordering_DT Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetCustomersAndOrdersDataDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithFilteringGroupingAndOrderingFromDataSetinOpenSpreadsheetFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateInTableListWithFilteringGroupingAndOrderingFromXMLinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Table List with Filtering, Grouping, and Ordering_XML_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Table List with Filtering, Grouping, and Ordering_XML Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithFilteringGroupingAndOrderingFromXMLinOpenSpreadsheetFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateInTableListwithFilteringGroupingAndOrderingReportFromJsoninOpenSpreadsheet - 'setting up source - Const strDocumentTemplate As [String] = "Spreadsheet Templates/In-Table List with Filtering, Grouping, and Ordering_OpenDocument.ods" - 'Setting up destination - Const strDocumentReport As [String] = "Spreadsheet Reports/In-Table List with Filtering, Grouping, and Ordering_OpenDocument_Json Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListwithFilteringGroupingAndOrderingReportFromJsoninOpenSpreadsheet - End Try - Else - 'ExStart:GenerateInTableListWithFilteringGroupingAndOrderinginOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Table List with Filtering, Grouping, and Ordering_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Table List with Filtering, Grouping, and Ordering Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetOrdersData(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithFilteringGroupingAndOrderinginOpenSpreadsheetFormat - End Try - End If - Exit Select - - Case "presentation" - If isDatabase Then - 'ExStart:GenerateInTableListWithFilteringGroupingAndOrderingFromDatabaseinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/In-Table List with Filtering, Grouping, and Ordering_DB_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/In-Table List with Filtering, Grouping, and Ordering_DB Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetOrdersDataDB(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithFilteringGroupingAndOrderingFromDatabaseinOpenPresentationFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateInTableListWithFilteringGroupingAndOrderingFromDataSetinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/In-Table List with Filtering, Grouping, and Ordering_DB_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/In-Table List with Filtering, Grouping, and Ordering_DT Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetCustomersAndOrdersDataDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithFilteringGroupingAndOrderingFromDataSetinOpenPresentationFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateInTableListWithFilteringGroupingAndOrderingFromXMLinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/In-Table List with Filtering, Grouping, and Ordering_XML_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/In-Table List with Filtering, Grouping, and Ordering_XML Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithFilteringGroupingAndOrderingFromXMLinOpenPresentationFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateInTableListwithFilteringGroupingAndOrderingReportFromJsoninOpenPresentation - 'setting up source - Const strDocumentTemplate As [String] = "Presentation Templates/In-Table List with Filtering, Grouping, and Ordering_OpenDocument.odp" - 'Setting up destination - Const strDocumentReport As [String] = "Presentation Reports/In-Table List with Filtering, Grouping, and Ordering_OpenDocument_Json Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListwithFilteringGroupingAndOrderingReportFromJsoninOpenPresentation - End Try - Else - 'ExStart:GenerateInTableListWithFilteringGroupingAndOrderinginOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/In-Table List with Filtering, Grouping, and Ordering_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/In-Table List with Filtering, Grouping, and Ordering Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetOrdersData(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithFilteringGroupingAndOrderinginOpenPresentationFormat - End Try - End If - Exit Select - Case "html" - If True Then - 'ExStart:GenerateInTableListWithFilteringGroupingAndOrderinginHtmlDocument - 'Setting up source html template - Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Filtering, Grouping, and Ordering.html" - 'Setting up destination html report - Const strHtmlReport As [String] = "HTML Reports/In-Table List with Filtering, Grouping, and Ordering Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetOrdersData(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateInTableListWithFilteringGroupingAndOrderinginHtmlDocument - End If - Exit Select - - Case "email" - If True Then - 'ExStart:GenerateInTableListWithFilteringGroupingAndOrderinginEmailDocument - 'Setting up source email template - Const strEmailTemplate As [String] = "Email Templates/In-Table List with Filtering, Grouping, and Ordering.msg" - 'Setting up destination email report - Const strEmailReport As [String] = "Email Reports/In-Table List with Filtering, Grouping, and Ordering Report.msg" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Filtering, Grouping, and Ordering Report in email format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.GetOrdersData()), DataLayer.EmailDataSourceName(".msg", "orders")) - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateInTableListWithFilteringGroupingAndOrderinginEmailDocument - End If - Exit Select - - End Select - End Sub - Public Shared Sub GenerateInTableListWithHighlightedRows(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) - Select Case strDocumentFormat - Case "document" - If isDatabase Then - 'ExStart:GenerateInTableListWithHighlightedRowsFromDatabaseinDocumentProcessingDocument - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/In-Table List with Highlighted Rows_DB_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/In-Table List with Highlighted Rows_DB Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Highlighted Rows Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetOrdersDataDB(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithHighlightedRowsFromDatabaseinDocumentProcessingDocument - End Try - ElseIf isDataSet Then - 'ExStart:GenerateInTableListWithHighlightedRowsFromDataSetinDocumentProcessingDocument - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/In-Table List with Highlighted Rows_DT_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/In-Table List with Highlighted Rows_DT Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Highlighted Rows Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersAndOrdersDataDT(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithHighlightedRowsFromDataSetinDocumentProcessingDocument - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateInTableListWithHighlightedRowsFromXMLinDocumentProcessingDocument - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/In-Table List with Highlighted Rows_XML_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/In-Table List with Highlighted Rows_XML Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Highlighted Rows Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithHighlightedRowsFromXMLinDocumentProcessingDocument - End Try - ElseIf isJson Then - 'ExStart:GenerateInTableListwithHighlightedRowsReportFromJsoninOpenWord - 'setting up source - Const strDocumentTemplate As [String] = "Word Templates/In-Table List with Highlighted Rows_OpenDocument.odt" - 'Setting up destination - Const strDocumentReport As [String] = "Word Reports/In-Table List with Highlighted Rows_OpenDocument_Json Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate In-Table List with Highlighted Rows report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListwithHighlightedRowsReportFromJsoninOpenWord - End Try - Else - 'ExStart:GenerateInTableListWithHighlightedRowsinDocumentProcessingDocument - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/In-Table List with Highlighted Rows_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/In-Table List with Highlighted Rows Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Highlighted Rows Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetOrdersData(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithHighlightedRowsinDocumentProcessingDocument - End Try - End If - Exit Select - - Case "spreadsheet" - If isDatabase Then - 'ExStart:GenerateInTableListWithHighlightedRowsFromDatabaseinSpreadsheetDocument - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Table List with Highlighted Rows_DB_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Table List with Highlighted Rows_DB Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Highlighted Rows Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetOrdersDataDB(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithHighlightedRowsFromDatabaseinSpreadsheetDocument - End Try - ElseIf isDataSet Then - 'ExStart:GenerateInTableListWithHighlightedRowsFromDataSetinSpreadsheetDocument - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Table List with Highlighted Rows_DT_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Table List with Highlighted Rows_DT Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Highlighted Rows Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetCustomersAndOrdersDataDT(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithHighlightedRowsFromDataSetinSpreadsheetDocument - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateInTableListWithHighlightedRowsFromXMLinSpreadsheetDocument - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Table List with Highlighted Rows_XML_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Table List with Highlighted Rows_XML Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Highlighted Rows Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithHighlightedRowsFromXMLinSpreadsheetDocument - End Try - ElseIf isJson Then - 'ExStart:GenerateInTableListwithHighlightedRowsReportFromJsoninOpenSpreadsheet - 'setting up source - Const strDocumentTemplate As [String] = "Spreadsheet Templates/In-Table List with Highlighted Rows_OpenDocument.ods" - 'Setting up destination - Const strDocumentReport As [String] = "Spreadsheet Reports/In-Table List with Highlighted Rows_OpenDocument_Json Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate In-Table List with Highlighted Rows report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListwithHighlightedRowsReportFromJsoninOpenSpreadsheet - End Try - Else - 'ExStart:GenerateInTableListWithHighlightedRowsinSpreadsheetDocument - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Table List with Highlighted Rows_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Table List with Highlighted Rows Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Highlighted Rows Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetOrdersData(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithHighlightedRowsinSpreadsheetDocument - End Try - End If - Exit Select - - Case "presentation" - If isDatabase Then - 'ExStart:GenerateInTableListWithHighlightedRowsFromDatabaseinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/In-Table List with Highlighted Rows_DB_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/In-Table List with Highlighted Rows_DB Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Highlighted Rows Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetOrdersDataDB(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithHighlightedRowsFromDatabaseinOpenPresentationFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateInTableListWithHighlightedRowsFromDataSetinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/In-Table List with Highlighted Rows_DT_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/In-Table List with Highlighted Rows_DT Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Highlighted Rows Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetCustomersAndOrdersDataDT(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithHighlightedRowsFromDataSetinOpenPresentationFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateInTableListWithHighlightedRowsFromXMLinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/In-Table List with Highlighted Rows_XML_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/In-Table List with Highlighted Rows_XML Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Highlighted Rows Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithHighlightedRowsFromXMLinOpenPresentationFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateInTableListwithHighlightedRowsReportFromJsoninOpenPresentation - 'setting up source - Const strDocumentTemplate As [String] = "Presentation Templates/In-Table List with Highlighted Rows_OpenDocument.odp" - 'Setting up destination - Const strDocumentReport As [String] = "Presentation Reports/In-Table List with Highlighted Rows_OpenDocument_Json Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate In-Table List with Highlighted Rows report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListwithHighlightedRowsReportFromJsoninOpenPresentation - End Try - Else - 'ExStart:GenerateInTableListWithHighlightedRowsinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/In-Table List with Highlighted Rows_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/In-Table List with Highlighted Rows Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Highlighted Rows Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetOrdersData(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListWithHighlightedRowsinOpenPresentationFormat - End Try - End If - Exit Select - - Case "html" - If True Then - 'ExStart:GenerateInTableListWithHighlightedRowsinHtmlDocument - 'Setting up source html template - Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Highlighted Rows.html" - 'Setting up destination html report - Const strHtmlReport As [String] = "HTML Reports/In-Table List with Highlighted Rows Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Highlighted Rows Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetOrdersData(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateInTableListWithHighlightedRowsinHtmlDocument - End If - Exit Select - Case "email" - If True Then - 'ExStart:GenerateInTableListWithHighlightedRowsinEmailDocument - 'Setting up source email template - Const strEmailTemplate As [String] = "Email Templates/In-Table List with Highlighted Rows.msg" - 'Setting up destination email report - Const strEmailReport As [String] = "Email Reports/In-Table List with Highlighted Rows Report.msg" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Highlighted Rows Report in email format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.GetOrdersData()), DataLayer.EmailDataSourceName(".msg", "orders")) - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateInTableListWithHighlightedRowsinEmailDocument - End If - Exit Select - - End Select - End Sub - Public Shared Sub GenerateInTableList(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) - Select Case strDocumentFormat - Case "document" - If isDatabase Then - 'ExStart:GenerateInTableListFromDatabaseinDocumentProcessingDocument - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/In-Table List_DB_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/In-Table List_DB Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersDataDB(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListFromDatabaseinDocumentProcessingDocument - End Try - ElseIf isDataSet Then - 'ExStart:GenerateInTableListFromDataSetinDocumentProcessingDocument - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/In-Table List_DT_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/In-Table List_DT Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersAndOrdersDataDT(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListFromDataSetinDocumentProcessingDocument - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateInTableListFromXMLinDocumentProcessingDocument - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/In-Table List_XML_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/In-Table List_XML Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListFromXMLinDocumentProcessingDocument - End Try - ElseIf isJson Then - 'ExStart:GenerateInTableListReportFromJsoninOpenWord - 'setting up source - Const strDocumentTemplate As [String] = "Word Templates/In-Table List_OpenDocument.odt" - 'Setting up destination - Const strDocumentReport As [String] = "Word Reports/In-Table List_OpenDocument_Json Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate In-Table List report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListReportFromJsoninOpenWord - End Try - Else - 'ExStart:GenerateInTableListinDocumentProcessingDocument - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/In-Table List_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/In-Table List Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.PopulateData(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListinDocumentProcessingDocument - End Try - End If - Exit Select - - Case "spreadsheet" - If isDatabase Then - 'ExStart:GenerateInTableListFromDatabaseinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Table List_DB_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Table List_DB Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetCustomersDataDB(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListFromDatabaseinOpenSpreadsheetFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateInTableListFromDataSetinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Table List_DT_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Table List_DT Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetCustomersAndOrdersDataDT(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListFromDataSetinOpenSpreadsheetFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateInTableListFromXMLinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Table List_XML_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Table List_XML Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListFromXMLinOpenSpreadsheetFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateInTableListReportFromJsoninOpenSpreadsheet - 'setting up source - Const strDocumentTemplate As [String] = "Spreadsheet Templates/In-Table List_OpenDocument.ods" - 'Setting up destination - Const strDocumentReport As [String] = "Spreadsheet Reports/In-Table List_OpenDocument_Json Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate In-Table List report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListReportFromJsoninOpenSpreadsheet - End Try - Else - 'ExStart:GenerateInTableListinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Table List_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Table List Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.PopulateData(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListinOpenSpreadsheetFormat - End Try - End If - Exit Select - - Case "presentation" - If isDatabase Then - 'ExStart:GenerateInTableListFromDatabaseinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/In-Table List_DB_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/In-Table List_DB Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetCustomersDataDB(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListFromDatabaseinOpenPresentationFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateInTableListFromDataSetinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/In-Table List_DT_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/In-Table List_DT Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetCustomersAndOrdersDataDT(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListFromDataSetinOpenPresentationFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateInTableListFromXMLinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/In-Table List_XML_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/In-Table List_XML Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListFromXMLinOpenPresentationFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateInTableListReportFromJsoninOpenPresentation - 'setting up source - Const strDocumentTemplate As [String] = "Presentation Templates/In-Table List_OpenDocument.odp" - 'Setting up destination - Const strDocumentReport As [String] = "Presentation Reports/In-Table List_OpenDocument_Json Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate In-Table List report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListReportFromJsoninOpenPresentation - End Try - Else - 'ExStart:GenerateInTableListinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/In-Table List_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/In-Table List Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.PopulateData(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableListinOpenPresentationFormat - End Try - End If - Exit Select - - Case "html" - If True Then - 'ExStart:GenerateInTableListinHtmlDocument - 'Setting up source html template - Const strHtmlTemplate As [String] = "HTML Templates/In-Table List.html" - 'Setting up destination html report - Const strHtmlReport As [String] = "HTML Reports/In-Table List Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.PopulateData(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateInTableListinHtmlDocument - End If - Exit Select - Case "email" - If True Then - 'ExStart:GenerateInTableListinEmailDocument - 'Setting up source email template - Const strEmailTemplate As [String] = "Email Templates/In-Table List.msg" - 'Setting up destination email report - Const strEmailReport As [String] = "Email Reports/In-Table List Report.msg" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List Report in email format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.PopulateData()), DataLayer.EmailDataSourceName(".msg", "customers")) - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateInTableListinEmailDocument - End If - Exit Select - End Select - End Sub - Public Shared Sub GenerateInTableMasterDetail(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) - Select Case strDocumentFormat - Case "document" - If isDatabase Then - 'ExStart:GenerateInTableMasterDetailFromDatabaseinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/In-Table Master-Detail_DB_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/In-Table Master-Detail_DB Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table Master-Detail Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersDataDB(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableMasterDetailFromDatabaseinOpenDocumentProcessingFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateInTableMasterDetailFromDataSetinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/In-Table Master-Detail_DT_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/In-Table Master-Detail_DT Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table Master-Detail Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersAndOrdersDataDT(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableMasterDetailFromDataSetinOpenDocumentProcessingFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateInTableMasterDetailFromXMLinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/In-Table Master-Detail_XML_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/In-Table Master-Detail_XML Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table Master-Detail Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableMasterDetailFromXMLinOpenDocumentProcessingFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateInTableMasterDetailReportFromJsoninOpenWord - 'setting up source - Const strDocumentTemplate As [String] = "Word Templates/In-Table Master-Detail_OpenDocument.odt" - 'Setting up destination - Const strDocumentReport As [String] = "Word Reports/In-Table Master-Detail_OpenDocument_Json Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate In-Table Master-Detail report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableMasterDetailReportFromJsoninOpenWord - End Try - Else - 'ExStart:GenerateInTableMasterDetailinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/In-Table Master-Detail_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/In-Table Master-Detail Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table Master-Detail Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.PopulateData(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableMasterDetailinOpenDocumentProcessingFormat - End Try - End If - Exit Select - - Case "spreadsheet" - If isDatabase Then - 'ExStart:GenerateInTableMasterDetailFromDatabaseinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Table Master-Detail_DB_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Table Master-Detail_DB Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table Master-Detail Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetCustomersDataDB(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableMasterDetailFromDatabaseinOpenSpreadsheetFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateInTableMasterDetailFromDataSetinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Table Master-Detail_DT_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Table Master-Detail_DT Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table Master-Detail Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetCustomersAndOrdersDataDT(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableMasterDetailFromDataSetinOpenSpreadsheetFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateInTableMasterDetailFromXMLinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Table Master-Detail_XML_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Table Master-Detail_XML Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table Master-Detail Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableMasterDetailFromXMLinOpenSpreadsheetFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateInTableMasterDetailReportFromJsoninOpenSpreadsheet - 'setting up source - Const strDocumentTemplate As [String] = "Spreadsheet Templates/In-Table Master-Detail_OpenDocument.ods" - 'Setting up destination - Const strDocumentReport As [String] = "Spreadsheet Reports/In-Table Master-Detail_OpenDocument_Json Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate In-Table Master-Detail report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableMasterDetailReportFromJsoninOpenSpreadsheet - End Try - Else - 'ExStart:GenerateInTableMasterDetailinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Table Master-Detail_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Table Master-Detail Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table Master-Detail Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.PopulateData(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableMasterDetailinOpenSpreadsheetFormat - End Try - End If - Exit Select - - Case "presentation" - If isDatabase Then - 'ExStart:GenerateInTableMasterDetailFromDatabaseinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/In-Table Master-Detail_DB_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/In-Table Master-Detail_DB Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table Master-Detail Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetCustomersDataDB(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableMasterDetailFromDatabaseinOpenPresentationFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateInTableMasterDetailFromDataSetinOpenPresentationFormat - 'Setting up source open spreadsheet template - Const strPresentationTemplate As [String] = "Presentation Templates/In-Table Master-Detail_DT_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/In-Table Master-Detail_DT Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table Master-Detail Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetCustomersAndOrdersDataDT(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableMasterDetailFromDataSetinOpenPresentationFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateInTableMasterDetailFromXMLinOpenPresentationFormat - 'Setting up source open spreadsheet template - Const strPresentationTemplate As [String] = "Presentation Templates/In-Table Master-Detail_XML_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/In-Table Master-Detail_XML Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table Master-Detail Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableMasterDetailFromXMLinOpenPresentationFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateInTableMasterDetailReportFromJsoninOpenPresentation - 'setting up source - Const strDocumentTemplate As [String] = "Presentation Templates/In-Table Master-Detail_OpenDocument.odp" - 'Setting up destination - Const strDocumentReport As [String] = "Presentation Reports/In-Table Master-Detail_OpenDocument_Json Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate In-Table Master-Detail report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableMasterDetailReportFromJsoninOpenPresentation - End Try - Else - 'ExStart:GenerateInTableMasterDetailinOpenPresentationFormat - 'Setting up source open spreadsheet template - Const strPresentationTemplate As [String] = "Presentation Templates/In-Table Master-Detail_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/In-Table Master-Detail Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table Master-Detail Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.PopulateData(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateInTableMasterDetailinOpenPresentationFormat - End Try - End If - Exit Select - Case "html" - If True Then - 'ExStart:GenerateInTableMasterDetailinHtmlFormat - 'Setting up source html template - Const strHtmlTemplate As [String] = "HTML Templates/In-Table Master-Detail.html" - 'Setting up destination html report - Const strHtmlReport As [String] = "HTML Reports/In-Table Master-Detail Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table Master-Detail Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.PopulateData(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateInTableMasterDetailinHtmlFormat - End If - Exit Select - Case "email" - If True Then - 'ExStart:GenerateInTableMasterDetailinEmailFormat - 'Setting up source email template - Const strEmailTemplate As [String] = "Email Templates/In-Table Master-Detail.msg" - 'Setting up destination email report - Const strEmailReport As [String] = "Email Reports/In-Table Master-Detail Report.msg" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table Master-Detail Report in email format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.PopulateData()), DataLayer.EmailDataSourceName(".msg", "customers")) - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateInTableMasterDetailinEmailFormat - End If - Exit Select - End Select - End Sub - - Public Shared Sub GenerateInTableListWithProgressiveTotal(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) - Select Case strDocumentFormat - Case "document" - 'ExStart:GenerateInTableListWithProgressiveTotalinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/In-Table List with Running (Progressive) Total.docx" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/In-Table List with Running (Progressive) Total Report.docx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Progressive(Running) total Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetOrdersData(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateInTableListWithProgressiveTotalinOpenDocumentProcessingFormat - - Exit Select - - Case "spreadsheet" - If True Then - 'ExStart:GenerateInTableListWithProgressiveTotalinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/In-Table List with Running (Progressive) Total.xlsx" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/In-Table List with Running (Progressive) Total Report.xlsx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Progressive(Running) total Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetOrdersData(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateInTableListWithProgressiveTotalinOpenSpreadsheetFormat - End If - Exit Select - - Case "presentation" - If True Then - 'ExStart:GenerateInTableListWithProgressiveTotalinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/In-Table List with Running (Progressive) Total.pptx" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/In-Table List with Running (Progressive) Total Report.pptx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Progressive(running) total Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetOrdersData(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateInTableListWithProgressiveTotalinOpenPresentationFormat - End If - Exit Select - Case "html" - If True Then - 'ExStart:GenerateInTableListWithProgressiveTotalinHtmlFormat - 'Setting up source html template - Const strHtmlTemplate As [String] = "HTML Templates/In-Table List with Running (Progressive) Total.html" - 'Setting up destination html report - Const strHtmlReport As [String] = "HTML Reports/In-Table List with Running (Progressive) Total.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Progressive(Running) Total Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetOrdersData(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateInTableListWithProgressiveTotalinHtmlFormat - End If - Exit Select - Case "email" - If True Then - 'ExStart:GenerateInTableListWithProgressiveTotalinEmailFormat - 'Setting up source email template - Const strEmailTemplate As [String] = "Email Templates/In-Table List with Running (Progressive) Total.msg" - 'Setting up destination email report - Const strEmailReport As [String] = "Email Reports/In-Table List with Running (Progressive) Total.msg" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate In-Table List with Progressive(Running) Total Report in email format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.GetOrdersData()), DataLayer.EmailDataSourceName(".msg", "orders")) - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateInTableListWithProgressiveTotalinEmailFormat - End If - Exit Select - End Select - End Sub - Public Shared Sub GenerateMulticoloredNumberedList(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) - Select Case strDocumentFormat - Case "document" - If isDatabase Then - 'ExStart:GenerateMulticoloredNumberedListFromDatabaseinOpenDocumentProcessingDocument - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Multicolored Numbered List_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Multicolored Numbered List_DB Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Multicolored Numbered List Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataDB(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateMulticoloredNumberedListFromDatabaseinOpenDocumentProcessingDocument - End Try - ElseIf isDataSet Then - 'ExStart:GenerateMulticoloredNumberedListFromDataSetinOpenDocumentProcessingDocument - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Multicolored Numbered List_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Multicolored Numbered List_DT Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Multicolored Numbered List Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateMulticoloredNumberedListFromDataSetinOpenDocumentProcessingDocument - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateMulticoloredNumberedListFromXMLinOpenDocumentProcessingDocument - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Multicolored Numbered List_XML_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Multicolored Numbered List_XML Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Multicolored Numbered List Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateMulticoloredNumberedListFromXMLinOpenDocumentProcessingDocument - End Try - ElseIf isJson Then - 'ExStart:GenerateMulticoloredNumberedListReportFromJsoninOpenWord - 'setting up source - Const strDocumentTemplate As [String] = "Word Templates/Multicolored Numbered List_OpenDocument.odt" - 'Setting up destination - Const strDocumentReport As [String] = "Word Reports/Multicolored Numbered List_OpenDocument_Json Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Multicolored Numbered List report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateMulticoloredNumberedListReportFromJsoninOpenWord - End Try - Else - 'ExStart:GenerateMulticoloredNumberedListinOpenDocumentProcessingDocument - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Multicolored Numbered List_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Multicolored Numbered List Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Multicolored Numbered List Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsData(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateMulticoloredNumberedListinOpenDocumentProcessingDocument - End Try - End If - Exit Select - - Case "spreadsheet" - If isDatabase Then - 'ExStart:GenerateMulticoloredNumberedListFromDatabaseinOpenSpreadsheetDocument - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Multicolored Numbered List_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Multicolored Numbered List_DB Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Multicolored Numbered List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetProductsDataDB(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateMulticoloredNumberedListFromDatabaseinOpenSpreadsheetDocument - End Try - ElseIf isDataSet Then - 'ExStart:GenerateMulticoloredNumberedListFromDataSetinOpenSpreadsheetDocument - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Multicolored Numbered List_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Multicolored Numbered List_DT Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Multicolored Numbered List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetProductsDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateMulticoloredNumberedListFromDataSetinOpenSpreadsheetDocument - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateMulticoloredNumberedListFromXMLinOpenSpreadsheetDocument - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Multicolored Numbered List_XML_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Multicolored Numbered List_XML Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Multicolored Numbered List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateMulticoloredNumberedListFromXMLinOpenSpreadsheetDocument - End Try - ElseIf isJson Then - 'ExStart:GenerateMulticoloredNumberedListReportFromJsoninOpenSpreadsheet - 'setting up source - Const strDocumentTemplate As [String] = "Spreadsheet Templates/Multicolored Numbered List_OpenDocument.ods" - 'Setting up destination - Const strDocumentReport As [String] = "Spreadsheet Reports/Multicolored Numbered List_OpenDocument_Json Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Multicolored Numbered List report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateMulticoloredNumberedListReportFromJsoninOpenSpreadsheet - End Try - Else - 'ExStart:GenerateMulticoloredNumberedListinOpenSpreadsheetDocument - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Multicolored Numbered List_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Multicolored Numbered List Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Multicolored Numbered List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetProductsData(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateMulticoloredNumberedListinOpenSpreadsheetDocument - End Try - End If - Exit Select - - Case "presentation" - If isDatabase Then - 'ExStart:GenerateMulticoloredNumberedListFromDatabaseinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/Multicolored Numbered List_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/Multicolored Numbered List_DB Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Multicolored Numbered List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetProductsDataDB(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateMulticoloredNumberedListFromDatabaseinOpenPresentationFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateMulticoloredNumberedListFromDataSetinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/Multicolored Numbered List_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/Multicolored Numbered List_DT Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Multicolored Numbered List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetProductsDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateMulticoloredNumberedListFromDataSetinOpenPresentationFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateMulticoloredNumberedListFromXMLinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/Multicolored Numbered List_XML_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/Multicolored Numbered List_XML Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Multicolored Numbered List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateMulticoloredNumberedListFromXMLinOpenPresentationFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateMulticoloredNumberedListReportFromJsoninOpenPresentation - 'setting up source - Const strDocumentTemplate As [String] = "Presentation Templates/Multicolored Numbered List_OpenDocument.odp" - 'Setting up destination - Const strDocumentReport As [String] = "Presentation Reports/Multicolored Numbered List_OpenDocument_Json Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Multicolored Numbered List report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateMulticoloredNumberedListReportFromJsoninOpenPresentation - End Try - Else - 'ExStart:GenerateMulticoloredNumberedListinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/Multicolored Numbered List_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/Multicolored Numbered List Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Multicolored Numbered List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetProductsData(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateMulticoloredNumberedListinOpenPresentationFormat - End Try - End If - Exit Select - Case "html" - If True Then - 'ExStart:GenerateMulticoloredNumberedListinHtml - 'Setting up source html template - Const strDocumentTemplate As [String] = "HTML Templates/Multicolored Numbered List.html" - 'Setting up destination html report - Const strDocumentReport As [String] = "HTML Reports/Multicolored Numbered List Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Multicolored Numbered List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsData(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateMulticoloredNumberedListinHtml - End If - Exit Select - Case "email" - If True Then - 'ExStart:GenerateMulticoloredNumberedListinEmail - 'Setting up source email template - Const strEmailDocumentTemplate As [String] = "Email Templates/Multicolored Numbered List.msg" - 'Setting up destination email report - Const strEmailDocumentReport As [String] = "Email Reports/Multicolored Numbered List Report.msg" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Multicolored Numbered List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailDocumentTemplate), CommonUtilities.SetDestinationDocument(strEmailDocumentReport), DataLayer.EmailDataSourceObject(strEmailDocumentTemplate, DataLayer.GetProductsData()), DataLayer.EmailDataSourceName(".msg", "products")) - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateMulticoloredNumberedListinEmail - End If - Exit Select - - End Select - End Sub - Public Shared Sub GenerateNumberedList(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) - Select Case strDocumentFormat - Case "document" - If isDatabase Then - 'ExStart:GenerateNumberedListFromDatabaseinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Numbered List_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Numbered List_DB Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Numbered List Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataDB(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateNumberedListFromDatabaseinOpenDocumentProcessingFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateNumberedListFromDataSetinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Numbered List_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Numbered List_DT Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Numbered List Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateNumberedListFromDataSetinOpenDocumentProcessingFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateNumberedListFromXMLinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Numbered List_XML_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Numbered List_XML Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Numbered List Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateNumberedListFromXMLinOpenDocumentProcessingFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateNumberedListReportFromJsoninOpenWord - 'setting up source - Const strDocumentTemplate As [String] = "Word Templates/Numbered List_OpenDocument.odt" - 'Setting up destination - Const strDocumentReport As [String] = "Word Reports/Numbered List_OpenDocument_Json Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Numbered List report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateNumberedListReportFromJsoninOpenWord - End Try - Else - 'ExStart:GenerateNumberedListinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Numbered List_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Numbered List Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Numbered List Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsData(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateNumberedListinOpenDocumentProcessingFormat - End Try - End If - Exit Select - - Case "spreadsheet" - If isDatabase Then - 'ExStart:GenerateNumberedListFromDatabaseinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Numbered List_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Numbered List_DB Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Numbered List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetProductsDataDB(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateNumberedListFromDatabaseinOpenSpreadsheetFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateNumberedListFromDataSetinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Numbered List_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Numbered List_DT Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Numbered List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetProductsDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateNumberedListFromDataSetinOpenSpreadsheetFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateNumberedListFromXMLinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Numbered List_XML_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Numbered List_XML Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Numbered List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateNumberedListFromXMLinOpenSpreadsheetFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateNumberedListReportFromJsoninOpenSpreadsheet - 'setting up source - Const strDocumentTemplate As [String] = "Spreadsheet Templates/Numbered List_OpenDocument.ods" - 'Setting up destination - Const strDocumentReport As [String] = "Spreadsheet Reports/Numbered List_OpenDocument_Json Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Numbered List report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateNumberedListReportFromJsoninOpenSpreadsheet - End Try - Else - 'ExStart:GenerateNumberedListinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Numbered List_OpenDocument.ods" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Numbered List Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Numbered List Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetProductsData(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateNumberedListinOpenSpreadsheetFormat - End Try - End If - Exit Select - - Case "presentation" - If isDatabase Then - 'ExStart:GenerateNumberedListFromDatabaseinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/Numbered List_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/Numbered List_DB Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Numbered List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetProductsDataDB(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateNumberedListFromDatabaseinOpenPresentationFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateNumberedListFromDataSetinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/Numbered List_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/Numbered List_DT Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Numbered List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetProductsDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateNumberedListFromDataSetinOpenPresentationFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateNumberedListFromXMLinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/Numbered List_XML_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/Numbered List_XML Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Numbered List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateNumberedListFromXMLinOpenPresentationFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateNumberedListReportFromJsoninOpenPresentation - 'setting up source - Const strDocumentTemplate As [String] = "Presentation Templates/Numbered List_OpenDocument.odp" - 'Setting up destination - Const strDocumentReport As [String] = "Presentation Reports/Numbered List_OpenDocument_Json Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Numbered List report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsDataJson(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateNumberedListReportFromJsoninOpenPresentation - End Try - Else - 'ExStart:GenerateNumberedListinOpenPresentationFormat - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/Numbered List_OpenDocument.odp" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/Numbered List Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Numbered List Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetProductsData(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateNumberedListinOpenPresentationFormat - End Try - End If - Exit Select - - Case "html" - If True Then - 'ExStart:GenerateNumberedListinHtmlFormat - 'Setting up source html template - Const strDocumentTemplate As [String] = "HTML Templates/Numbered List.html" - 'Setting up destination html report - Const strDocumentReport As [String] = "HTML Reports/Numbered List Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Numbered List Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsData(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateNumberedListinHtmlFormat - End If - Exit Select - Case "text" - If True Then - 'ExStart:GenerateNumberedListinTextFormat - 'Setting up source text document template - Const strDocumentTemplate As [String] = "Text Templates/Numbered List.txt" - 'Setting up destination text document report - Const strDocumentReport As [String] = "Text Reports/Numbered List Report.txt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Numbered List Report in text document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetProductsData(), "products") - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateNumberedListinTextFormat - End If - Exit Select - Case "email" - If True Then - 'ExStart:GenerateNumberedListinEmailFormat - 'Setting up source email template - Const strEmailDocumentTemplate As [String] = "Email Templates/Numbered List.msg" - 'Setting up destination email report - Const strEmailDocumentReport As [String] = "Email Reports/Numbered List Report.msg" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Numbered List Report in email format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailDocumentTemplate), CommonUtilities.SetDestinationDocument(strEmailDocumentReport), DataLayer.EmailDataSourceObject(strEmailDocumentTemplate, DataLayer.GetProductsData()), DataLayer.EmailDataSourceName(".msg", "products")) - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateNumberedListinEmailFormat - End If - Exit Select - End Select - End Sub - Public Shared Sub GeneratePieChart(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) - Select Case strDocumentFormat - Case "document" - If isDatabase Then - 'ExStart:GeneratePieChartFromDatabaseinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Pie Chart_DB.docx" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Pie Chart_DB Report.docx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Pie Chart Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersDataDB(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GeneratePieChartFromDatabaseinOpenDocumentProcessingFormat - End Try - ElseIf isDataSet Then - 'ExStart:GeneratePieChartFromDataSetinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Pie Chart_DB.docx" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Pie Chart_DT Report.docx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Pie Chart Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersAndOrdersDataDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GeneratePieChartFromDataSetinOpenDocumentProcessingFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GeneratePieChartFromXMLinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Pie Chart_DB.docx" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Pie Chart_XML Report.docx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Pie Chart Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GeneratePieChartFromXMLinOpenDocumentProcessingFormat - End Try - ElseIf isJson Then - 'ExStart:GeneratePieChartReportFromJsoninWord - 'setting up source - Const strDocumentTemplate As [String] = "Word Templates/Pie Chart.docx" - 'Setting up destination - Const strDocumentReport As [String] = "Word Reports/Pie Chart_Json Report.docx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Pie Chart report in document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GeneratePieChartReportFromJsoninWord - End Try - Else - 'ExStart:GeneratePieChartinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Pie Chart.docx" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Pie Chart Report.docx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Pie Chart Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.PopulateData(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GeneratePieChartinOpenDocumentProcessingFormat - End Try - End If - Exit Select - - Case "spreadsheet" - If isDatabase Then - 'ExStart:GeneratePieChartFromDatabaseinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Pie Chart_DB.xlsx" - 'Setting up destination open document report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Pie Chart_DB Report.xlsx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Pie Chart Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetCustomersDataDB(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GeneratePieChartFromDatabaseinOpenSpreadsheetFormat - End Try - ElseIf isDataSet Then - 'ExStart:GeneratePieChartFromDataSetinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Pie Chart_DB.xlsx" - 'Setting up destination open document report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Pie Chart_DT Report.xlsx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Pie Chart Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetCustomersAndOrdersDataDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GeneratePieChartFromDataSetinOpenSpreadsheetFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GeneratePieChartFromXMLinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Pie Chart_DB.xlsx" - 'Setting up destination open document report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Pie Chart_XML Report.xlsx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Pie Chart Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GeneratePieChartFromXMLinOpenSpreadsheetFormat - End Try - ElseIf isJson Then - 'ExStart:GeneratePieChartReportFromJsoninSpreadsheet - 'setting up source - Const strDocumentTemplate As [String] = "Spreadsheet Templates/Pie Chart.xlsx" - 'Setting up destination - Const strDocumentReport As [String] = "Spreadsheet Reports/Pie Chart_Json Report.xlsx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Pie Chart report in spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GeneratePieChartReportFromJsoninSpreadsheet - End Try - Else - 'ExStart:GeneratePieChartinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Pie Chart.xlsx" - 'Setting up destination open document report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Pie Chart Report.xlsx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Pie Chart Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.PopulateData(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GeneratePieChartinOpenSpreadsheetFormat - End Try - End If - Exit Select - - Case "presentation" - If isDatabase Then - 'ExStart:GeneratePieChartFromDatabaseinOpenPresentationFormat - 'Setting up source open spreadsheet template - Const strPresentationTemplate As [String] = "Presentation Templates/Pie Chart_DB.pptx" - 'Setting up destination open document report - Const strPresentationReport As [String] = "Presentation Reports/Pie Chart_DB Report.pptx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Pie Chart Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetCustomersDataDB(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GeneratePieChartFromDatabaseinOpenPresentationFormat - End Try - ElseIf isDataSet Then - 'ExStart:GeneratePieChartFromDataSetinOpenPresentationFormat - 'Setting up source open spreadsheet template - Const strPresentationTemplate As [String] = "Presentation Templates/Pie Chart_DB.pptx" - 'Setting up destination open document report - Const strPresentationReport As [String] = "Presentation Reports/Pie Chart_DT Report.pptx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Pie Chart Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetCustomersAndOrdersDataDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GeneratePieChartFromDataSetinOpenPresentationFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GeneratePieChartFromXMLinOpenPresentationFormat - 'Setting up source open spreadsheet template - Const strPresentationTemplate As [String] = "Presentation Templates/Pie Chart_DB.pptx" - 'Setting up destination open document report - Const strPresentationReport As [String] = "Presentation Reports/Pie Chart_XML Report.pptx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Pie Chart Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GeneratePieChartFromXMLinOpenPresentationFormat - End Try - ElseIf isJson Then - 'ExStart:GeneratePieChartReportFromJsoninPresentation - 'setting up source - Const strDocumentTemplate As [String] = "Presentation Templates/Pie Chart.pptx" - 'Setting up destination - Const strDocumentReport As [String] = "Presentation Reports/Pie Chart_Json Report.pptx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Pie Chart report in presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerDataFromJson(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GeneratePieChartReportFromJsoninPresentation - End Try - Else - 'ExStart:GeneratePieChartinOpenPresentationFormat - 'Setting up source open spreadsheet template - Const strPresentationTemplate As [String] = "Presentation Templates/Pie Chart.pptx" - 'Setting up destination open document report - Const strPresentationReport As [String] = "Presentation Reports/Pie Chart Report.pptx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Pie Chart Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.PopulateData(), "customers") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GeneratePieChartinOpenPresentationFormat - End Try - End If - Exit Select - Case "email" - If True Then - 'ExStart:GeneratePieChartiEmailFormat - 'Setting up source email template - Const strEmailTemplate As [String] = "Email Templates/Pie Chart.msg" - 'Setting up destination email report - Const strEmailReport As [String] = "Email Reports/Pie Chart Report.msg" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Pie Chart Report in email format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.PopulateData()), DataLayer.EmailDataSourceName(".msg", "customers")) - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GeneratePieChartiEmailFormat - End If - Exit Select - End Select - End Sub - Public Shared Sub GenerateScatterChart(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) - Select Case strDocumentFormat - Case "document" - If isDatabase Then - 'ExStart:GenerateScatterChartFromDatabaseinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Scatter Chart_DB.docx" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Scatter Chart_DB Report.docx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Scatter Chart Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetOrdersDataDB(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateScatterChartFromDatabaseinOpenDocumentProcessingFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateScatterChartFromDataSetinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Scatter Chart_DB.docx" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Scatter Chart_DT Report.docx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Scatter Chart Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomersAndOrdersDataDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateScatterChartFromDataSetinOpenDocumentProcessingFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateScatterChartFromXMLinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Scatter Chart_DB.docx" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Scatter Chart_XML Report.docx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Scatter Chart Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateScatterChartFromXMLinOpenDocumentProcessingFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateScatterChartReportFromJsoninWord - 'setting up source - Const strDocumentTemplate As [String] = "Word Templates/Scatter Chart.docx" - 'Setting up destination - Const strDocumentReport As [String] = "Word Reports/Scatter Chart_Json Report.docx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Scatter Chart report in document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateScatterChartReportFromJsoninWord - End Try - Else - 'ExStart:GenerateScatterChartinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Scatter Chart.docx" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Scatter Chart Report.docx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Scatter Chart Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetOrdersData(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateScatterChartinOpenDocumentProcessingFormat - End Try - End If - Exit Select - - Case "spreadsheet" - If isDatabase Then - 'ExStart:GenerateScatterChartFromDatabaseinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Scatter Chart_DB.xlsx" - 'Setting up destination open document report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Scatter Chart_DB Report.xlsx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Scatter Chart Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetOrdersDataDB(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateScatterChartFromDatabaseinOpenSpreadsheetFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateScatterChartFromDataSetinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Scatter Chart_DB.xlsx" - 'Setting up destination open document report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Scatter Chart_DT Report.xlsx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Scatter Chart Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetCustomersAndOrdersDataDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateScatterChartFromDataSetinOpenSpreadsheetFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateScatterChartFromXMLinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Scatter Chart_DB.xlsx" - 'Setting up destination open document report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Scatter Chart_XML Report.xlsx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Scatter Chart Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateScatterChartFromXMLinOpenSpreadsheetFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateScatterChartReportFromJsoninSpreadsheet - 'setting up source - Const strDocumentTemplate As [String] = "Spreadsheet Templates/Scatter Chart.xlsx" - 'Setting up destination - Const strDocumentReport As [String] = "Spreadsheet Reports/Scatter Chart_Json Report.xlsx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Scatter Chart report in spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateScatterChartReportFromJsoninSpreadsheet - End Try - Else - 'ExStart:GenerateScatterChartinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Scatter Chart.xlsx" - 'Setting up destination open document report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Scatter Chart Report.xlsx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Scatter Chart Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetOrdersData(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateScatterChartinOpenSpreadsheetFormat - End Try - End If - Exit Select - - Case "presentation" - If isDatabase Then - 'ExStart:GenerateScatterChartFromDatabaseinOpenPresentationFormat - 'Setting up source open spreadsheet template - Const strPresentationTemplate As [String] = "Presentation Templates/Scatter Chart_DB.pptx" - 'Setting up destination open document report - Const strPresentationReport As [String] = "Presentation Reports/Scatter Chart_DB Report.pptx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Scatter Chart Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetOrdersDataDB(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateScatterChartFromDatabaseinOpenPresentationFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateScatterChartFromDataSetinOpenPresentationFormat - 'Setting up source open spreadsheet template - Const strPresentationTemplate As [String] = "Presentation Templates/Scatter Chart_DB.pptx" - 'Setting up destination open document report - Const strPresentationReport As [String] = "Presentation Reports/Scatter Chart_DT Report.pptx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Scatter Chart Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetCustomersAndOrdersDataDT()) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateScatterChartFromDataSetinOpenPresentationFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateScatterChartFromXMLinOpenPresentationFormat - 'Setting up source open spreadsheet template - Const strPresentationTemplate As [String] = "Presentation Templates/Scatter Chart_DB.pptx" - 'Setting up destination open document report - Const strPresentationReport As [String] = "Presentation Reports/Scatter Chart_XML Report.pptx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Scatter Chart Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateScatterChartFromXMLinOpenPresentationFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateScatterChartReportFromJsoninPresentation - 'setting up source - Const strDocumentTemplate As [String] = "Presentation Templates/Scatter Chart.pptx" - 'Setting up destination - Const strDocumentReport As [String] = "Presentation Reports/Scatter Chart_Json Report.pptx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Scatter Chart report in presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerOrderDataFromJson(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateScatterChartReportFromJsoninPresentation - End Try - Else - 'ExStart:GenerateScatterChartinOpenPresentationFormat - 'Setting up source open spreadsheet template - Const strPresentationTemplate As [String] = "Presentation Templates/Scatter Chart.pptx" - 'Setting up destination open document report - Const strPresentationReport As [String] = "Presentation Reports/Scatter Chart Report.pptx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Scatter Chart Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetOrdersData(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateScatterChartinOpenPresentationFormat - End Try - End If - Exit Select - Case "email" - If True Then - 'ExStart:GenerateScatterChartinEmailFormat - 'Setting up source email template - Const strEmailTemplate As String = "Email Templates/Scatter Chart.msg" - 'Setting up destination email report - Const strEmailReport As [String] = "Email Reports/Scatter Chart Report.msg" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Scatter Chart Report in email format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.GetOrdersData()), DataLayer.EmailDataSourceName(".msg", "orders")) - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateScatterChartinEmailFormat - End If - Exit Select - End Select - End Sub - Public Shared Sub GenerateSingleRow(strDocumentFormat As String, isDatabase As Boolean, isDataSet As Boolean, isDataSourceXML As Boolean, isJson As Boolean) - Select Case strDocumentFormat - Case "document" - If isDatabase Then - 'ExStart:GenerateSingleRowFromDatabaseinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Single Row_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Single Row_DB Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Single Row Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetSingleCustomerDataDB(), "customer") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateSingleRowFromDatabaseinOpenDocumentProcessingFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateSingleRowFromDataSetinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Single Row_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Single Row_DT Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Single Row Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetSingleCustomerDT(), "customer") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateSingleRowFromDataSetinOpenDocumentProcessingFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateSingleRowFromXMLinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Single Row_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Single Row_XML Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Single Row Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetSingleCustomerXML(), "customer") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateSingleRowFromXMLinOpenDocumentProcessingFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateSingleRowReportFromJsoninOpenWord - 'setting up source - Const strDocumentTemplate As [String] = "Word Templates/Single Row_OpenDocument.odt" - 'Setting up destination - Const strDocumentReport As [String] = "Word Reports/Single Row_OpenDocument_Json Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Single Row report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetSingleCustomerDataJson(), "customer") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateSingleRowReportFromJsoninOpenWord - End Try - Else - 'ExStart:GenerateSingleRowinOpenDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Single Row_OpenDocument.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Single Row Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Single Row Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerData(), "customer") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateSingleRowinOpenDocumentProcessingFormat - End Try - End If - Exit Select - - Case "spreadsheet" - If isDatabase Then - 'ExStart:GenerateSingleRowFromDatabaseinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Single Row_OpenDocument.ods" - 'Setting up destination open document report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Single Row_DB Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Single Row Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetSingleCustomerDataDB(), "customer") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateSingleRowFromDatabaseinOpenSpreadsheetFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateSingleRowFromDataSetinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Single Row_OpenDocument.ods" - 'Setting up destination open document report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Single Row_DT Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Single Row Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetSingleCustomerDT(), "customer") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateSingleRowFromDataSetinOpenSpreadsheetFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateSingleRowFromXMLinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Single Row_OpenDocument.ods" - 'Setting up destination open document report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Single Row_XML Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Single Row Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetSingleCustomerXML(), "customer") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateSingleRowFromXMLinOpenSpreadsheetFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateSingleRowReportFromJsoninOpenSpreadsheet - 'setting up source - Const strDocumentTemplate As [String] = "Spreadsheet Templates/Single Row_OpenDocument.ods" - 'Setting up destination - Const strDocumentReport As [String] = "Spreadsheet Reports/Single Row_OpenDocument_Json Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Single Row report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetSingleCustomerDataJson(), "customer") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateSingleRowReportFromJsoninOpenSpreadsheet - End Try - Else - 'ExStart:GenerateSingleRowinOpenSpreadsheetFormat - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Single Row_OpenDocument.ods" - 'Setting up destination open document report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Single Row Report.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Single Row Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetCustomerData(), "customer") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateSingleRowinOpenSpreadsheetFormat - End Try - End If - Exit Select - - Case "presentation" - If isDatabase Then - 'ExStart:GenerateSingleRowFromDatabaseinOpenPresentationFormat - 'Setting up source open spreadsheet template - Const strPresentationTemplate As [String] = "Presentation Templates/Single Row_OpenDocument.odp" - 'Setting up destination open document report - Const strPresentationReport As [String] = "Presentation Reports/Single Row_DB Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Single Row Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetSingleCustomerDataDB(), "customer") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateSingleRowFromDatabaseinOpenPresentationFormat - End Try - ElseIf isDataSet Then - 'ExStart:GenerateSingleRowFromDataSetinOpenPresentationFormat - 'Setting up source open spreadsheet template - Const strPresentationTemplate As [String] = "Presentation Templates/Single Row_OpenDocument.odp" - 'Setting up destination open document report - Const strPresentationReport As [String] = "Presentation Reports/Single Row_DT Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Single Row Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetSingleCustomerDT(), "customer") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateSingleRowFromDataSetinOpenPresentationFormat - End Try - ElseIf isDataSourceXML Then - 'ExStart:GenerateSingleRowFromXMLinOpenPresentationFormat - 'Setting up source open spreadsheet template - Const strPresentationTemplate As [String] = "Presentation Templates/Single Row_OpenDocument.odp" - 'Setting up destination open document report - Const strPresentationReport As [String] = "Presentation Reports/Single Row_XML Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Single Row Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetSingleCustomerXML(), "customer") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateSingleRowFromXMLinOpenPresentationFormat - End Try - ElseIf isJson Then - 'ExStart:GenerateSingleRowReportFromJsoninOpenPresentation - 'setting up source - Const strDocumentTemplate As [String] = "Presentation Templates/Single Row_OpenDocument.odp" - 'Setting up destination - Const strDocumentReport As [String] = "Presentation Reports/Single Row_OpenDocument_Json Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'initialize object of DocumentAssembler class - 'Call AssembleDocument to generate Single Row report in presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetSingleCustomerDataJson(), "customer") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateSingleRowReportFromJsoninOpenPresentation - End Try - Else - 'ExStart:GenerateSingleRowinOpenPresentationFormat - 'Setting up source open spreadsheet template - Const strPresentationTemplate As [String] = "Presentation Templates/Single Row_OpenDocument.odp" - 'Setting up destination open document report - Const strPresentationReport As [String] = "Presentation Reports/Single Row Report.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Single Row Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetCustomerData(), "customer") - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GenerateSingleRowinOpenPresentationFormat - End Try - End If - Exit Select - Case "html" - If True Then - 'ExStart:GenerateSingleRowinHtmlFormat - 'Setting up source html template - Const strHtmlTemplate As [String] = "HTML Templates/Single Row.html" - 'Setting up destination html report - Const strHtmlReport As [String] = "HTML Reports/Single Row Report.html" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - ' This is needed solely for images in HTML documents. - assembler.KnownTypes.Add(GetType(FileUtil)) - 'Call AssembleDocument to generate Single Row Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomerData(), "customer") - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateSingleRowinHtmlFormat - End If - Exit Select - - Case "text" - If True Then - 'ExStart:GenerateSingleRowinTextFormat - 'Setting up source text format template - Const strTextTemplate As [String] = "Text Templates/Single Row.txt" - 'Setting up destination text format report - Const strDocumentReport As [String] = "Text Reports/Single Row Report.txt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Single Row Report in text format format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strTextTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerData(), "customer") - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateSingleRowinTextFormat - End If - Exit Select - - Case "email" - If True Then - 'ExStart:GenerateSingleRowinEmailFormat - 'Setting up source email format template - Const strEmailTemplate As [String] = "Email Templates/Single Row.msg" - 'Setting up destination email format report - Const strEmailReport As [String] = "Email Reports/Single Row Report.msg" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Single Row Report in email format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.GetCustomerData()), DataLayer.EmailDataSourceName(".msg", "customer")) - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GenerateSingleRowinEmailFormat - End If - Exit Select - End Select - End Sub - - Public Shared Sub GenerateReportLazilyAndRecursively() - 'ExStart:GeneratingReportbyRecursivelyandLazilyAccessingtheData - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Lazy And Recursive.docx" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Lazy And Recursive Report.docx" - Try - 'Instantiate DynamicEntity class - Dim dentity As New DynamicEntity(Guid.NewGuid()) - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Single Row Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), dentity, "root") - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:GeneratingReportbyRecursivelyandLazilyAccessingtheData - End Sub - Public Shared Sub GenerateReportUsingMultipleDS(strDocumentFormat As String) - If strDocumentFormat = "document" Then - 'ExStart:GeneratingReportUsingMultipleDataSourcesdocumentprocessing - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Multiple DS.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Multiple DS.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Create an array of data source objects - Dim dataSourceObj As Object() = New Object() {DataLayer.GetAllDataFromXML(), DataLayer.GetProductsDataJson()} - 'Create an array of data source string - Dim dataSourceString As String() = New String() {"ds", "products"} - - 'Call AssembleDocument to generate report - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), dataSourceObj, dataSourceString) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GeneratingReportUsingMultipleDataSourcesdocumentprocessing - End Try - ElseIf strDocumentFormat = "spreadsheet" Then - 'ExStart:GeneratingReportUsingMultipleDataSourcesspreadsheet - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Spreadsheet Templates/Multiple DS.ods" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Spreadsheet Reports/Multiple DS.ods" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Create an array of data source objects - Dim dataSourceObj As Object() = New Object() {DataLayer.GetAllDataFromXML(), DataLayer.GetProductsDataJson()} - 'Create an array of data source string - Dim dataSourceString As String() = New String() {"ds", "products"} - - 'Call AssembleDocument to generate report - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), dataSourceObj, dataSourceString) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GeneratingReportUsingMultipleDataSourcesspreadsheet - End Try - ElseIf strDocumentFormat = "presentation" Then - 'ExStart:GeneratingReportUsingMultipleDataSourcespresentation - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Presentation Templates/Multiple DS.odp" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Presentation Reports/Multiple DS.odp" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Create an array of data source objects - Dim dataSourceObj As Object() = New Object() {DataLayer.GetAllDataFromXML(), DataLayer.GetProductsDataJson()} - 'Create an array of data source string - Dim dataSourceString As String() = New String() {"ds", "products"} - - 'Call AssembleDocument to generate report - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), dataSourceObj, dataSourceString) - Catch ex As Exception - Console.WriteLine(ex.Message) - 'ExEnd:GeneratingReportUsingMultipleDataSourcespresentation - End Try - End If - - End Sub - Public Shared Sub TemplateSyntaxFormatting() - 'ExStart:TemplateSyntaxFormatting - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/String_Numeric_Formatting.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/String_Numeric_Formatting Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetOrdersData(), "orders") - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:TemplateSyntaxFormatting - End Sub - Public Shared Sub OuterDocumentInsertion() - 'ExStart:OuterDocumentInsertion - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/OuterDocInsertion.odt" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/OuterDocInsertion Report.odt" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerData(), "customer") - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:OuterDocumentInsertion - End Sub - - ''' - ''' Generate barcodes - ''' - ''' - Public Shared Sub AddBarCodes(strDocumentFormat As String) - Select Case strDocumentFormat - Case "document" - 'ExStart:AddBarCodesDocumentProcessingFormat - 'Setting up source open document template - Const strDocumentTemplate As [String] = "Word Templates/Barcode.docx" - 'Setting up destination open document report - Const strDocumentReport As [String] = "Word Reports/Barcode.docx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetCustomerData(), "customer") - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:AddBarCodesDocumentProcessingFormat - Exit Select - - Case "spreadsheet" - 'ExStart:AddBarCodesSpreadsheet - 'Setting up source open spreadsheet template - Const strSpreadsheetTemplate As [String] = "Spreadsheet Templates/Barcode.xlsx" - 'Setting up destination open spreadsheet report - Const strSpreadsheetReport As [String] = "Spreadsheet Reports/Barcode.xlsx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), DataLayer.GetCustomerData(), "customer") - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:AddBarCodesSpreadsheet - Exit Select - - Case "presentation" - 'ExStart:AddBarCodesPowerPoint - 'Setting up source open presentation template - Const strPresentationTemplate As [String] = "Presentation Templates/Barcode.pptx" - 'Setting up destination open presentation report - Const strPresentationReport As [String] = "Presentation Reports/Barcode.pptx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), DataLayer.GetCustomerData(), "customer") - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:AddBarCodesPowerPoint - Exit Select - End Select - End Sub - - ''' - ''' Update word processing documents fields while assembling - ''' - ''' - Public Shared Sub UpdateWordDocFields(documentType As String) - - If documentType = "document" Then - 'ExStart:UpdateWordDocFields - 'Setting up source document template - Const strDocumentTemplate As [String] = "Word Templates/Update_Field_XML.docx" - 'Setting up destination document report - Const strDocumentReport As [String] = "Word Reports/Update_Field_XML Report.docx" - Dim assembler As New DocumentAssembler() - assembler.Options = assembler.Options Or DocumentAssemblyOptions.UpdateFieldsAndFormulas - 'ExEnd:UpdateWordDocFields - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") - ElseIf documentType = "spreadsheet" Then - 'ExStart:updateformula - 'Setting up source document template - Const strDocumentTemplate As [String] = "Spreadsheet Templates/Update-Fomula.xlsx" - 'Setting up destination document report - Const strDocumentReport As [String] = "Spreadsheet Reports/Update-Fomula Report.xlsx" - Dim assembler As New DocumentAssembler() - assembler.Options = assembler.Options Or DocumentAssemblyOptions.UpdateFieldsAndFormulas - 'ExEnd:updateformula - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") - End If - - End Sub - - ''' - ''' Support for Analogue of Microsoft Word NEXT Field - ''' - Public Shared Sub NextIteration() - 'ExStart:nextiteration - 'Setting up source document template - Const strDocumentTemplate As [String] = "Word Templates/Using Next.docx" - 'Setting up destination document report - Const strDocumentReport As [String] = "Word Reports/Using Next Report.docx" - Try - 'Instantiate DocumentAssembler class - Dim assembler As New DocumentAssembler() - 'Call AssembleDocument to generate Report - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.GetAllDataFromXML(), "ds") - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:nextiteration - End Sub - - ''' - ''' Generate report from excel data source - ''' - Public Shared Sub UseSpreadsheetAsDataSource() - 'ExStart:UseSpreadsheetAsDataSource - Dim strDocumentTemplate As String = "Word Templates/Using Spreadsheet as Table of Data.docx" - Dim strDocumentReport As String = "Word Reports/Using Spreadsheet as Table of Data_Output.docx" - - ' Assemble a document using the external document table as a data source. - Dim assembler As New DocumentAssembler() - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.ExcelData(), "contracts") - 'ExEnd:UseSpreadsheetAsDataSource - End Sub - ''' - ''' Generate report from presentation data source - ''' - Public Shared Sub UsePresentationTableAsDataSource() - Dim strDocumentTemplate As String = "Presentation Templates/Using Presentation as Table of Data.pptx" - Dim strDocumentReport As String = "Presentation Reports/Using Presentation as Table of Data_Output.pptx" - - - ' Assemble a document using the external document table as a data source. - Dim assembler As New DocumentAssembler() - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.PresentationData(), "table") - End Sub - ''' - ''' Import word proccessing table into presentation - ''' - Public Shared Sub ImportingWordProcessingTableIntoPresentation() - Dim strDocumentTemplate As String = "Presentation Templates/Importing Word Processing Table into Presentation.pptx" - Dim strDocumentReport As String = "Presentation Reports/Importing Word Processing Table into Presentation_Output.pptx" - - - ' Assemble a document using the external document table as a data source. - Dim assembler As New DocumentAssembler() - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.ImportingWordDocToPresentation(), "table") - End Sub - - ''' - ''' Import Spreadsheet into HTML Document - ''' - Public Shared Sub ImportingSpreadsheetIntoHtmlDocument() - 'ExStart:ImportingSpreadsheetIntoHtmlDocument - Try - Dim strHtmlTemplate As String = "HTML Templates/Importing Spreadsheet into HTML Document.html" - Dim strHtmlReport As String = "HTML Reports/Importing Spreadsheet into HTML Document.html" - - - ' Assemble a document using the external document table as a data source. - Dim assembler As New DocumentAssembler() - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.ImportingSpreadsheetToHtml(), "table") - Catch ex As Exception - Console.WriteLine(ex.Message) - End Try - 'ExEnd:ImportingSpreadsheetIntoHtmlDocument - End Sub - End Class -End Namespace - - diff --git a/Examples/VisualBasic/GroupDocs.Assembly.Examples/GroupDocs.Assembly.Examples.vbproj b/Examples/VisualBasic/GroupDocs.Assembly.Examples/GroupDocs.Assembly.Examples.vbproj deleted file mode 100644 index d15e7b8..0000000 --- a/Examples/VisualBasic/GroupDocs.Assembly.Examples/GroupDocs.Assembly.Examples.vbproj +++ /dev/null @@ -1,137 +0,0 @@ - - - - - Debug - AnyCPU - {8242D80D-B78A-448B-AB17-96C35F9058DF} - Exe - GroupDocs.Assembly.Examples.GroupDocs.AssemblyExamples.Module1 - GroupDocs.Assembly.Examples - GroupDocs.Assembly.Examples - 512 - Console - v4.5 - ..\..\ - true - - - AnyCPU - true - full - true - true - bin\Debug\ - GroupDocs.Assembly.Examples.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - AnyCPU - pdbonly - false - true - true - bin\Release\ - GroupDocs.Assembly.Examples.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - On - - - Binary - - - Off - - - On - - - - ..\..\packages\GroupDocs.Assembly.17.8.0\lib\net40-client\GroupDocs.Assembly.dll - True - - - - - - - - - - - - - - - - - - - - - - - - - - - - True - Application.myapp - - - True - True - Resources.resx - - - True - Settings.settings - True - - - - - VbMyResourcesResXFileCodeGenerator - Resources.Designer.vb - My.Resources - Designer - - - - - MyApplicationCodeGenerator - Application.Designer.vb - - - SettingsSingleFileGenerator - My - Settings.Designer.vb - - - - Designer - - - - - {cafc2537-d6c0-4a47-a7d9-db9178c24e17} - GroupDocs.AssemblyExamples.BusinessLayer - - - {4d94149e-43d1-48ad-aea1-03ab9d686540} - GroupDocs.AssemblyExamples.ProjectEntities - - - - - - \ No newline at end of file diff --git a/Examples/VisualBasic/GroupDocs.Assembly.Examples/Module1.vb b/Examples/VisualBasic/GroupDocs.Assembly.Examples/Module1.vb deleted file mode 100644 index d4bcb5e..0000000 --- a/Examples/VisualBasic/GroupDocs.Assembly.Examples/Module1.vb +++ /dev/null @@ -1,397 +0,0 @@ - -Imports System.Collections.Generic -Imports System.Linq -Imports System.Text -Imports System.Threading.Tasks -Imports GroupDocs.AssemblyExamples.BusinessLayer -Imports GroupDocs.AssemblyExamples.BusinessLayer.GroupDocs.AssemblyExamples.BusinessLayer -Imports GroupDocs.Assembly -Imports System.Reflection - -Namespace GroupDocs.AssemblyExamples - Module Module1 - - Sub Main() - 'ExStart:ApplyingLicense - '* - ' * Applying product license - ' * Please uncomment the statement if you do have license. - ' - - 'CommonUtilities.ApplyLicense() - 'ExEnd:ApplyingLicense - - - -#Region "Generating Bubble Chart Report" - 'Generate a bubble chart report in document processing format - 'GenerateReport.GenerateBubbleChart("document", false, false, false, true); - - 'Generate a Bulleted List report in spreadsheet format - 'GenerateReport.GenerateBubbleChart("spreadsheet", false, false, false, true); - - 'Generate a Bulleted List report in presentation format - 'GenerateReport.GenerateBubbleChart("presentation", false, false, false, true); - - 'Generate a Bubble chart report in email format - 'GenerateReport.GenerateBubbleChart("email", false, false, false, false); - -#End Region - -#Region "Generating Bulleted List Report" - 'Generate a Bulleted List report in document processing format - 'GenerateReport.GenerateBulletedList("document", false, false, true, false); - - 'Generate a Bulleted List report in spreadsheet format - 'GenerateReport.GenerateBulletedList("spreadsheet", false, false, true, false); - - 'Generate a Bulleted List report in presentation format - 'GenerateReport.GenerateBulletedList("presentation", false, false, true, false); - - 'Generate a Bulleted List report in html format - 'GenerateReport.GenerateBulletedList("html", false, false, false, false); - - 'Generate a Bulleted List report in text format - 'GenerateReport.GenerateBulletedList("text", false, false, false, false); - - 'Generate a Bulleted List report in email format - 'GenerateReport.GenerateBulletedList("email", false, false, false, false); -#End Region - -#Region "Generating Chart report with Filtering, Grouping, and Ordering" - 'Generate a Chart report with Filtering, Grouping, and Ordering in document processing format - 'GenerateReport.GenerateChartWithFilteringGroupingAndOrdering("document", false, false, true, false); - - 'Generate a Chart report with Filtering, Grouping, and Ordering in spreadsheet format - 'GenerateReport.GenerateChartWithFilteringGroupingAndOrdering("spreadsheet", false, false, false, true); - - 'Generate a Chart report with Filtering, Grouping, and Ordering in presentation format - 'GenerateReport.GenerateChartWithFilteringGroupingAndOrdering("presentation", false, false, false, true); - - 'Generate a Chart report with Filtering, Grouping, and Ordering in email format - 'GenerateReport.GenerateChartWithFilteringGroupingAndOrdering("email", false, false, false, false); -#End Region - -#Region "Generating Common List Report" - 'Generate a Common List Report in document processing format - 'GenerateReport.GenerateCommonList("document", false, false, true, false); - - 'Generate a Common List Report in spreadsheet format - 'GenerateReport.GenerateCommonList("spreadsheet", false, false, true, false); - - 'Generate a Common List Report in presentation format - 'GenerateReport.GenerateCommonList("presentation", false, false, true, false); - - 'Generate a Common List Report in html format - 'GenerateReport.GenerateCommonList("html", false, false, false, false); - - 'Generate a Common List Report in text format - 'GenerateReport.GenerateCommonList("text", false, false, false, false); - - 'Generate a Common List Report in email format - 'GenerateReport.GenerateCommonList("email", false, false, false, false); -#End Region - -#Region "Generating Common Master-Detail Report" - 'Generate a Common Master-Detail Report in document processing format - 'GenerateReport.GenerateCommonMasterDetail("document", false, false, false, true); - - 'Generate a Common Master-Detail Report in spreadsheet format - 'GenerateReport.GenerateCommonMasterDetail("spreadsheet", false, false, false, true); - - 'Generate a Common Master-Detail Report in presentation format - 'GenerateReport.GenerateCommonMasterDetail("presentation", false, false, false, true); - - 'Generate a Common Master-Detail Report in html format - 'GenerateReport.GenerateCommonMasterDetail("html", false, false, false, false); - - 'Generate a Common Master-Detail Report in text format - 'GenerateReport.GenerateCommonMasterDetail("text", false, false, false, false); - - 'Generate a Common Master-Detail Report in email format - 'GenerateReport.GenerateCommonMasterDetail("email", false, false, false, false); - -#End Region - -#Region "Generating In-Paragraph List Report" - 'Generate an In-Paragraph List Report in document processing format - 'GenerateReport.GenerateInParagraphList("document", false, false, false, true); - - 'Generate an In-Paragraph List Report in spreadsheet format - 'GenerateReport.GenerateInParagraphList("spreadsheet", false, false, false, true); - - 'Generate an In-Paragraph List Report in presentation format - 'GenerateReport.GenerateInParagraphList("presentation", false, false, false, true); - - 'Generate an In-Paragraph List Report in html format - 'GenerateReport.GenerateInParagraphList("html", false, false, false, false); - - 'Generate an In-Paragraph List Report in text format - 'GenerateReport.GenerateInParagraphList("text", false, false, false, false); - - 'Generate an In-Paragraph List Report in email format - 'GenerateReport.GenerateInParagraphList("email", false, false, false, false); -#End Region - -#Region "Generating In-Table with Alternate Content Report" - 'Generate an In-Table List with Alternate Content Report in document processing format - 'GenerateReport.GenerateInTableListWithAlternateContent("document", false, false, false, true); - - 'Generate an In-Table List with Alternate Content Report in spreadsheet format - 'GenerateReport.GenerateInTableListWithAlternateContent("spreadsheet", false, false, false, true); - - 'Generate an In-Table List with Alternate Content Report in presentation format - 'GenerateReport.GenerateInTableListWithAlternateContent("presentation", false, false, false, true); - - 'Generate an In-Table List with Alternate Content Report in html format - 'GenerateReport.GenerateInTableListWithAlternateContent("html", false, false, false, false); - - 'Generate an In-Table List with Alternate Content Report in email format - 'GenerateReport.GenerateInTableListWithAlternateContent("email", false, false, false, false); - -#End Region - -#Region "Generating In-Table with Filtering, Grouping and Ordering Report" - 'Generate an In-Table List with Filtering, Grouping, and Ordering Report in document processing format - 'GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("document", false, false, false, true); - - 'Generate an In-Table List with Filtering, Grouping, and Ordering Report in spreadsheet format - 'GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("spreadsheet", false, false, false, true); - - 'Generate an In-Table List with Filtering, Grouping, and Ordering Report in presentation format - 'GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("presentation", false, false, false, true); - - 'Generate an In-Table List with Filtering, Grouping, and Ordering Report in html format - 'GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("html", false, false, false, false); - - 'Generate an In-Table List with Filtering, Grouping, and Ordering Report in email format - 'GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("email", false, false, false, false); -#End Region - -#Region "Generating In-Table List with Highlighted Rows Report" - 'Generate an In-Table List with Highlighted Rows Report in document processing format - 'GenerateReport.GenerateInTableListWithHighlightedRows("document", false, false, false, true); - - 'Generate an In-Table List with Highlighted Rows Report in spreadsheet format - 'GenerateReport.GenerateInTableListWithHighlightedRows("spreadsheet", false, false, false, true); - - 'Generate an In-Table List with Highlighted Rows Report in presentation format - 'GenerateReport.GenerateInTableListWithHighlightedRows("presentation", false, false, false, true); - - 'Generate an In-Table List with Highlighted Rows Report in html format - 'GenerateReport.GenerateInTableListWithHighlightedRows("html", false, false, false, false); - - 'Generate an In-Table List with Highlighted Rows Report in email format - 'GenerateReport.GenerateInTableListWithHighlightedRows("email", false, false, false, false); - - -#End Region - -#Region "Generating In-Table List Report" - 'Generate an In-Table List Report in document processing format - 'GenerateReport.GenerateInTableList("document", false, false, false, true); - - 'Generate an In-Table List Report in spreadsheet format - 'GenerateReport.GenerateInTableList("spreadsheet", false, false, false, true); - - 'Generate an In-Table List Report in presentation format - 'GenerateReport.GenerateInTableList("presentation", false, false, false, true); - - 'Generate an In-Table List Report in html format - 'GenerateReport.GenerateInTableList("html", false, false, false, false); - - 'Generate an In-Table List Report in email format - 'GenerateReport.GenerateInTableList("email", false, false, false, false); -#End Region - -#Region "Generating In-Table Master-Detail Report" - 'Generate an In-Table Master-Detail Report in document processing format - 'GenerateReport.GenerateInTableMasterDetail("document", false, false, false, true); - - 'Generate an In-Table Master-Detail Report in spreadsheet format - 'GenerateReport.GenerateInTableMasterDetail("spreadsheet", false, false, false, true); - - 'Generate an In-Table Master-Detail Report in presentation format - 'GenerateReport.GenerateInTableMasterDetail("presentation", false, false, false, true); - - 'Generate an In-Table Master-Detail Report in html format - 'GenerateReport.GenerateInTableMasterDetail("html", false, false, false, false); - - 'Generate an In-Table Master-Detail Report in email format - 'GenerateReport.GenerateInTableMasterDetail("email", false, false, false, false); -#End Region - -#Region "Generating In-Table with Running (Progressive) Total Report" - 'Generate an In-Table List with Running (Progressive) Total Report in document processing format - 'GenerateReport.GenerateInTableListWithProgressiveTotal("document", false, false, false, false); - - 'Generate an In-Table List with Running (Progressive) Total Report in spreadsheet format - 'GenerateReport.GenerateInTableListWithProgressiveTotal("spreadsheet", false, false, false, false); - - 'Generate an In-Table List with Running (Progressive) Total Report in presentation format - 'GenerateReport.GenerateInTableListWithProgressiveTotal("presentation", false, false, false, false); - - 'Generate an In-Table List with Running (Progressive) Total Report in html format - 'GenerateReport.GenerateInTableListWithProgressiveTotal("html", false, false, false, false); - - 'Generate an In-Table List with Running (Progressive) Total Report in email format - 'GenerateReport.GenerateInTableListWithProgressiveTotal("email", false, false, false, false); -#End Region - -#Region "Generating Multicolored Number List Report" - 'Generate a Multicolored Numbered List Report in document processing format - 'GenerateReport.GenerateMulticoloredNumberedList("document", false, false, false, true); - - 'Generate a Multicolored Numbered List Report in spreadsheet format - 'GenerateReport.GenerateMulticoloredNumberedList("spreadsheet", false, false, false, true); - - 'Generate a Multicolored Numbered List Report in presentation format - 'GenerateReport.GenerateMulticoloredNumberedList("presentation", false, false, false, true); - - 'Generate a Multicolored Numbered List Report in html format - 'GenerateReport.GenerateMulticoloredNumberedList("html", false, false, false, false); - - 'Generate a Multicolored Numbered List Report in email format - 'GenerateReport.GenerateMulticoloredNumberedList("email", false, false, false, false); -#End Region - -#Region "Generating Numbered List Report" - 'Generate a Numbered List Report in document processing format - 'GenerateReport.GenerateNumberedList("document", false, false, false, true); - - 'Generate a Numbered List Report in spreadsheet format - 'GenerateReport.GenerateNumberedList("spreadsheet", false, false, false, true); - - 'Generate a Numbered List Report in presentation format - 'GenerateReport.GenerateNumberedList("presentation", false, false, false, true); - - 'Generate a Numbered List Report in html format - 'GenerateReport.GenerateNumberedList("html", false, false, false, false); - - 'Generate a Numbered List Report in text format - 'GenerateReport.GenerateNumberedList("text", false, false, false, false); - - 'Generate a Numbered List Report in email format - 'GenerateReport.GenerateNumberedList("email", false, false, false, false); -#End Region - -#Region "Generating Pie Chart Report" - 'Generate a Pie Chart Report in document processing format - 'GenerateReport.GeneratePieChart("document", false, false, false, true); - - 'Generate a Pie Chart Report in spreadsheet format - 'GenerateReport.GeneratePieChart("spreadsheet", false, false, false, true); - - 'Generate a Pie Chart Report in presentation format - 'GenerateReport.GeneratePieChart("presentation", false, false, true, false); - - 'Generate a Pie Chart Report in email format - 'GenerateReport.GeneratePieChart("email", false, false, false, false); -#End Region - -#Region "Generating Scatter Chart Report" - 'Generate a Scatter Chart Report in document processing format - 'GenerateReport.GenerateScatterChart("document", false, false, false, true); - - 'Generate a Scatter Chart Report in spreadsheet format - 'GenerateReport.GenerateScatterChart("spreadsheet", false, false, false, true); - - 'Generate a Scatter Chart Report in presentation format - 'GenerateReport.GenerateScatterChart("presentation", false, false, false, true); - - 'Generate a Scatter Chart Report in email format - 'GenerateReport.GenerateScatterChart("email", false, false, false, false); -#End Region - -#Region "Generating Single Row Report" - 'Generate a Single Row Report in document processing format - 'GenerateReport.GenerateSingleRow("document", false, false, false, false); - - 'Generate a Single Row Report in spreadsheet format - 'GenerateReport.GenerateSingleRow("spreadsheet", false, false, false, true); - - 'Generate a Single Row Report in presentation format - 'GenerateReport.GenerateSingleRow("presentation", false, false, false, true); - - 'Generate a Single Row Report in html format - 'GenerateReport.GenerateSingleRow("html", false, false, false, false); - - 'Generate a Single Row Report in text format - 'GenerateReport.GenerateSingleRow("text", false, false, false, false); - - 'Generate a Single Row Report in email format - 'GenerateReport.GenerateSingleRow("email", false, false, false, false); -#End Region - - - -#Region "Generating Report by Recursively and Lazily Accessing the Data" - 'GenerateReport.GenerateReportLazilyAndRecursively(); -#End Region - -#Region "Generating Report using Multiple DataSources" - 'Generate a report using multiple data sources in document processing format - 'GenerateReport.GenerateReportUsingMultipleDS("document"); - 'Generate a report using multiple data sources in spreadsheet format - 'GenerateReport.GenerateReportUsingMultipleDS("spreadsheet"); - 'Generate a report using multiple data sources in presentation format - 'GenerateReport.GenerateReportUsingMultipleDS("presentation"); -#End Region - -#Region "Template Syntax Formatting" - - 'Generate document processing formatted reports with desired string or numeric format - 'GenerateReport.TemplateSyntaxFormatting(); - -#End Region - -#Region "Insert Outer Documents" - - 'Outer document insertion in a report - 'GenerateReport.OuterDocumentInsertion(); - -#End Region - -#Region "Barcode Insertion" - - 'add barcode in word processing documents - 'GenerateReport.AddBarCodes("document"); - 'add barcode in spreadsheet documents - 'GenerateReport.AddBarCodes("spreadsheet"); - 'add barcode in persentation documents - 'GenerateReport.AddBarCodes("presentation"); - -#End Region - - 'Update fields/formulas in word processing or spreadsheet documents - 'GenerateReport.UpdateWordDocFields("spreadsheet"); - 'Use of Next keyword in template syntax - 'GenerateReport.NextIteration(); - - 'Generate report from excel data source - 'GenerateReport.UseSpreadsheetAsDataSource(); - - 'Generate report from presentation data source - 'GenerateReport.UsePresentationTableAsDataSource(); - - 'Importing word processing table into presentation - 'GenerateReport.ImportingWordProcessingTableIntoPresentation(); - - 'Importing spread table into html - 'GenerateReport.ImportingSpreadsheetIntoHtmlDocument(); - - - 'Load document table set using default options - 'GenerateReport.LoadDocTableSet("Multiple Tables Data.docx") - 'Load document table set using custom options - 'GenerateReport.LoadDocTableSetWithCustomOptions("Multiple Tables Data.docx") - 'Using DocumentTableSet as Data Source - 'GenerateReport.UseDocumentTableSetAsDataSource("Multiple Tables Data.docx", "Using Document Table Set as Data Source.pptx") - 'GenerateReport.DefiningDocumentTableRelations("Related Tables Data.xlsx", "Using Document Table Relations.docx") - 'GenerateReport.ChangingDocumentTableColumnType("Presentation Templates/Changing Document Table Column Type.pptx") - - End Sub - - End Module -End Namespace - diff --git a/Examples/VisualBasic/GroupDocs.Assembly.Examples/My Project/Application.Designer.vb b/Examples/VisualBasic/GroupDocs.Assembly.Examples/My Project/Application.Designer.vb deleted file mode 100644 index db8b8b3..0000000 --- a/Examples/VisualBasic/GroupDocs.Assembly.Examples/My Project/Application.Designer.vb +++ /dev/null @@ -1,13 +0,0 @@ -'------------------------------------------------------------------------------ -' -' 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 - diff --git a/Examples/VisualBasic/GroupDocs.Assembly.Examples/My Project/Application.myapp b/Examples/VisualBasic/GroupDocs.Assembly.Examples/My Project/Application.myapp deleted file mode 100644 index 23b627f..0000000 --- a/Examples/VisualBasic/GroupDocs.Assembly.Examples/My Project/Application.myapp +++ /dev/null @@ -1,10 +0,0 @@ - - - false - false - 0 - true - 0 - 2 - true - diff --git a/Examples/VisualBasic/GroupDocs.Assembly.Examples/My Project/AssemblyInfo.vb b/Examples/VisualBasic/GroupDocs.Assembly.Examples/My Project/AssemblyInfo.vb deleted file mode 100644 index 9d96e48..0000000 --- a/Examples/VisualBasic/GroupDocs.Assembly.Examples/My Project/AssemblyInfo.vb +++ /dev/null @@ -1,35 +0,0 @@ -Imports System -Imports System.Reflection -Imports System.Runtime.InteropServices - -' General Information about an assembly is controlled through the following -' set of attributes. Change these attribute values to modify the information -' associated with an assembly. - -' Review the values of the assembly attributes - - - - - - - - - - -'The following GUID is for the ID of the typelib if this project is exposed to COM - - -' Version information for an assembly consists of the following four values: -' -' Major Version -' Minor Version -' Build Number -' Revision -' -' You can specify all the values or you can default the Build and Revision Numbers -' by using the '*' as shown below: -' - - - diff --git a/Examples/VisualBasic/GroupDocs.Assembly.Examples/My Project/Resources.Designer.vb b/Examples/VisualBasic/GroupDocs.Assembly.Examples/My Project/Resources.Designer.vb deleted file mode 100644 index 74f433a..0000000 --- a/Examples/VisualBasic/GroupDocs.Assembly.Examples/My Project/Resources.Designer.vb +++ /dev/null @@ -1,62 +0,0 @@ -'------------------------------------------------------------------------------ -' -' 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("GroupDocs.Assembly.Examples.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/Examples/VisualBasic/GroupDocs.Assembly.Examples/My Project/Resources.resx b/Examples/VisualBasic/GroupDocs.Assembly.Examples/My Project/Resources.resx deleted file mode 100644 index ffecec8..0000000 --- a/Examples/VisualBasic/GroupDocs.Assembly.Examples/My Project/Resources.resx +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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/Examples/VisualBasic/GroupDocs.Assembly.Examples/My Project/Settings.Designer.vb b/Examples/VisualBasic/GroupDocs.Assembly.Examples/My Project/Settings.Designer.vb deleted file mode 100644 index 72ec7d0..0000000 --- a/Examples/VisualBasic/GroupDocs.Assembly.Examples/My Project/Settings.Designer.vb +++ /dev/null @@ -1,73 +0,0 @@ -'------------------------------------------------------------------------------ -' -' 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 - - _ - 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 "My.Settings Auto-Save Functionality" -#If _MyType = "WindowsForms" Then - Private Shared addedHandler As Boolean - - Private Shared addedHandlerLockObject As New Object - - _ - Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal 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 - End Class -End Namespace - -Namespace My - - _ - Friend Module MySettingsProperty - - _ - Friend ReadOnly Property Settings() As Global.GroupDocs.Assembly.Examples.My.MySettings - Get - Return Global.GroupDocs.Assembly.Examples.My.MySettings.Default - End Get - End Property - End Module -End Namespace diff --git a/Examples/VisualBasic/GroupDocs.Assembly.Examples/My Project/Settings.settings b/Examples/VisualBasic/GroupDocs.Assembly.Examples/My Project/Settings.settings deleted file mode 100644 index 377f56d..0000000 --- a/Examples/VisualBasic/GroupDocs.Assembly.Examples/My Project/Settings.settings +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/Examples/VisualBasic/GroupDocs.Assembly.Examples/packages.config b/Examples/VisualBasic/GroupDocs.Assembly.Examples/packages.config deleted file mode 100644 index ead65a3..0000000 --- a/Examples/VisualBasic/GroupDocs.Assembly.Examples/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.vb b/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.vb deleted file mode 100644 index 42d3c4c..0000000 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.vb +++ /dev/null @@ -1,140 +0,0 @@ - -Imports GroupDocs.Assembly -Imports System.Collections.Generic -Imports System.IO -Imports System.Linq -Imports System.Text -Imports System.Threading.Tasks -Imports System.Reflection - -Namespace GroupDocs.AssemblyExamples.BusinessLayer - 'ExStart:CommonUtilities - Public Class CommonUtilities - - Public Const sourceFolderPath As String = "../../../../Data/Source/" - Public Const destinationFolderPath As String = "../../../../Data/Destination/" - Public Const dataSourcesFolderPath As String = "../../../../Data/Data Sources/" - - 'ExStart:LicenseFilePath - Public Const licensePath As String = "D:/Aspose Projects/License/GroupDocs.Total.lic" - 'ExEnd:LicenseFilePath - -#Region "DocumentDirectories" - - 'ExStart:DocumentDirectories - ''' - ''' Takes source file name as argument. - ''' - ''' Source file name - ''' Returns explicit path by combining source folder path and source file name. - - Public Shared Function GetSourceDocument(sourceFileName As String) As String - Return Path.Combine(Path.GetFullPath(sourceFolderPath), sourceFileName) - End Function - ''' - ''' Takes output file name as argument. - ''' - ''' output file name - ''' Returns explicit path by combining destination folder path and output file name. - Public Shared Function SetDestinationDocument(outputFileName As String) As String - Return Path.Combine(Path.GetFullPath(destinationFolderPath), outputFileName) - End Function - - - ''' - ''' Takes source file name as argument. - ''' - ''' Source file name - ''' Returns explicit path by combining data source folder path and source file name. - Public Shared Function GetDataSourceDocument(sourceFileName As String) As String - Return Path.Combine(Path.GetFullPath(dataSourcesFolderPath), sourceFileName) - End Function - - - 'ExEnd:DocumentDirectories -#End Region - -#Region "ProductLicense" - 'ExStart:ApplyLicense - ''' - ''' Set product's license - ''' - - Public Shared Sub ApplyLicense() - Dim lic As New License() - lic.SetLicense(licensePath) - End Sub - 'ExEnd:ApplyLicense - - 'ExStart:metered licensing - ''' - ''' provide metered licensing - ''' - Public Shared Sub MeteredLicensing() - - ' Set metered license public and private keys. - Dim metered As New Metered() - metered.SetMeteredKey("PublicKey", "PrivateKey") - - ' Ensure that the product is licensed. - Dim license As New License() - Debug.Assert(license.IsLicensed) - End Sub - 'ExEnd:metered licensing - -#End Region - - End Class - Module module2 -#Region "ToADOTable" - 'ExStart:ConvertToDataTable - ''' - ''' It takes delegate and varlist IEnumberable as parameter - ''' - ''' Template - ''' IEnumerable varlist - ''' Delegate as parameter - ''' It returns DataTable - - Public Function ToADOTable(Of T)(varlist As IEnumerable(Of T), fn As ConvertDataTable.CreateRowDelegate(Of T)) As DataTable - Dim dtReturn As New DataTable() - Dim oProps As PropertyInfo() = Nothing - For Each rec As T In varlist - If oProps Is Nothing Then - oProps = DirectCast(rec.[GetType](), Type).GetProperties() - For Each pi As PropertyInfo In oProps - Dim colType As Type = pi.PropertyType - If (colType.IsGenericType) AndAlso (colType.GetGenericTypeDefinition() = GetType(Nullable(Of ))) Then - colType = colType.GetGenericArguments()(0) - End If - dtReturn.Columns.Add(New DataColumn(pi.Name, colType)) - Next - End If - Dim dr As DataRow = dtReturn.NewRow() - For Each pi As PropertyInfo In oProps - dr(pi.Name) = If(pi.GetValue(rec, Nothing) Is Nothing, DBNull.Value, pi.GetValue(rec, Nothing)) - Next - dtReturn.Rows.Add(dr) - Next - Return (dtReturn) - End Function -#End Region - Public NotInheritable Class ConvertDataTable - Private Sub New() - End Sub - Public Delegate Function CreateRowDelegate(Of T)(t As T) As Object() - End Class - 'ExEnd:ConvertToDataTable - End Module - - Public NotInheritable Class FileUtil - Private Sub New() - End Sub - Public Shared Function GetBytesAsBase64(path As String) As String - Return Convert.ToBase64String(File.ReadAllBytes(path)) - End Function -End Class - 'ExEnd:CommonUtilities -End Namespace - - diff --git a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/DataLayer.vb b/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/DataLayer.vb deleted file mode 100644 index ec5a5c1..0000000 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/DataLayer.vb +++ /dev/null @@ -1,697 +0,0 @@ -Imports System.Collections.Generic -Imports System.Linq -Imports System.Text -Imports System.Threading.Tasks -Imports GroupDocs.AssemblyExamples.ProjectBusinessObjects -Imports GroupDocs.AssemblyExamples.ProjectBusinessObjects.GroupDocs.AssemblyExamples.ProjectEntities -Imports System.Reflection -Imports System.IO -Imports Newtonsoft.Json -Imports GroupDocs.Assembly.Data - - -Namespace GroupDocs.AssemblyExamples.BusinessLayer -#Region "DataLayer" - 'ExStart:DataLayer - Public NotInheritable Class DataLayer - Private Sub New() - End Sub - - Public Const productXMLfile As String = "../../../../Data/XML DataSource/Products.xml" - Public Const customerXMLfile As String = "../../../../Data/XML DataSource/Customers.xml" - Public Const orderXMLfile As String = "../../../../Data/XML DataSource/Orders.xml" - Public Const productOrderXMLfile As String = "../../../../Data/XML DataSource/ProductOrders.xml" - Public Const jsonFile As String = "../../../../Data/Data Sources/JSON DataSource/CustomerData-Json.json" - Public Const wordDataFile As String = "../../../../Data/Data Sources/Word DataSource/Managers Data.docx" - Public Const excelDataFile As String = "../../../../Data/Data Sources/Excel DataSource/Contracts Data.xlsx" - Public Const presentationDataFile As String = "../../../../Data/Data Sources/Presentation DataSource/Managers Data.pptx" - - - -#Region "DataInitialization" - 'ExStart:PopulateData - ''' - ''' This function initializes/populates the data. - ''' Initialize Customer information, product information and order information - ''' - ''' Returns customer's complete information - Public Shared Iterator Function PopulateData() As IEnumerable(Of BusinessObjects.Customer) - Dim customer As New BusinessObjects.Customer() With { - .CustomerName = "Atir Tahir", - .CustomerContactNumber = "+9211874", - .ShippingAddress = "Flat # 1, Kiyani Plaza ISB", - .Barcode = "123456789qwertyu0025"} - - - - customer.Order = New BusinessObjects.Order() {New BusinessObjects.Order() With { - .Product = New BusinessObjects.Product() With { - .ProductName = "Lumia 525" - }, - .Customer = customer, - .Price = 170, - .ProductQuantity = 5, - .OrderDate = New DateTime(2015, 1, 1) - }} - Yield customer - 'yield return statement will return one data at a time - - customer = New BusinessObjects.Customer() With { - .CustomerName = "Usman Aziz", - .CustomerContactNumber = "+458789", - .ShippingAddress = "Quette House, Park Road, ISB", - .Barcode = "123456789qwertyu0025"} - - - customer.Order = New BusinessObjects.Order() {New BusinessObjects.Order() With { - .Product = New BusinessObjects.Product() With { - .ProductName = "Lenovo G50" - }, - .Customer = customer, - .Price = 480, - .ProductQuantity = 2, - .OrderDate = New DateTime(2015, 2, 1) - }, New BusinessObjects.Order() With { - .Product = New BusinessObjects.Product() With { - .ProductName = "Pavilion G6" - }, - .Customer = customer, - .Price = 400, - .ProductQuantity = 1, - .OrderDate = New DateTime(2015, 10, 1) - }, New BusinessObjects.Order() With { - .Product = New BusinessObjects.Product() With { - .ProductName = "Nexus 5" - }, - .Customer = customer, - .Price = 320, - .ProductQuantity = 3, - .OrderDate = New DateTime(2015, 6, 1) - }} - Yield customer - 'yield return statement will return one data at a time - End Function - 'ExEnd:PopulateData -#End Region - -#Region "GetOrders" - 'ExStart:GetOrdersData - ''' - ''' Fetches order from PopulateData - ''' - ''' Returns order details, one data at a time - Public Shared Iterator Function GetOrdersData() As IEnumerable(Of BusinessObjects.Order) - For Each customer As BusinessObjects.Customer In PopulateData() - For Each order As BusinessObjects.Order In customer.Order - Yield order - 'yield return statement returns one data at a time - Next - Next - End Function - 'ExEnd:GetOrdersData -#End Region - -#Region "GetProducts" - 'ExStart:GetProductsData - ''' - ''' Fetches products from PopulateData - ''' - ''' Returns product details, one data at a time - Public Shared Iterator Function GetProductsData() As IEnumerable(Of BusinessObjects.Product) - For Each customer As BusinessObjects.Customer In PopulateData() - For Each order As BusinessObjects.Order In customer.Order - Yield order.Product - Next - Next - End Function - 'ExEnd:GetProductsData -#End Region - -#Region "GetSingleCustomerData" - 'ExStart:GetSingleCustomerData - ''' - ''' Fetches customer details of very first customer - ''' - ''' Returns first customer's infromation - Public Shared Function GetCustomerData() As BusinessObjects.Customer - Dim customer As IEnumerator(Of BusinessObjects.Customer) = PopulateData().GetEnumerator() - customer.MoveNext() - - Return customer.Current - End Function - 'ExEnd:GetSingleCustomerData -#End Region - -#Region "GetOrdersDataDB" - 'ExStart:GetOrdersDataDB - ''' - ''' Fetches orders from database - ''' - ''' Returns order details, one data at a time - Public Shared Function GetOrdersDataDB() As IEnumerable(Of Order) - 'create object of data context - Dim dbEntities As New DatabaseEntitiesDataContext() - Return dbEntities.Orders - End Function - 'ExEnd:GetOrdersDataDB -#End Region - -#Region "GetProductsDataDB" - 'ExStart:GetProductsDataDB - ''' - ''' Fetches products from database - ''' - ''' Returns products information, one data at a time - Public Shared Function GetProductsDataDB() As IEnumerable(Of Product) - 'create object of data context - Dim dbEntities As New DatabaseEntitiesDataContext() - Return dbEntities.Products - End Function - 'ExEnd:GetProductsDataDB -#End Region - -#Region "GetCustomersDataDB" - 'ExStart:GetCustomersDataDB - ''' - ''' Fetches customers from database - ''' - ''' Returns customers information, one data at a time - Public Shared Function GetCustomersDataDB() As IEnumerable(Of Customer) - 'create object of data context - Dim dbEntities As New DatabaseEntitiesDataContext() - Return dbEntities.Customers - End Function - 'ExEnd:GetCustomersDataDB -#End Region - -#Region "GetSingleCustomerDataDB" - 'ExStart:GetSingleCustomerDataDB - ''' - ''' Fetches single customer data - ''' - ''' Return single, first customer's data - Public Shared Function GetSingleCustomerDataDB() As Customer - 'create object of data context - Dim dbEntites As New DatabaseEntitiesDataContext() - Dim customer As IEnumerator(Of Customer) = GetCustomersDataDB().GetEnumerator() - customer.MoveNext() - Return customer.Current - End Function - 'ExEnd:GetSingleCustomerDataDB -#End Region - -#Region "GetSingleCustomerDataDT" - 'ExStart:GetSingleCustomerDT - ''' - ''' Fetches Customers from database - ''' - ''' Returns DataSet, very first record from the table - Public Shared Function GetSingleCustomerDT() As DataRow - Dim dbEntities As New DatabaseEntitiesDataContext() - Dim customersQuery = (From c In dbEntities.Customers Select New With { - c.CustomerID, - c.CustomerName, - c.ShippingAddress, - c.CustomerContactNumber, - c.Photo - }).AsEnumerable() - Dim Customers As New DataTable() - 'ToADOTable function converts query results into DataTable - Customers = customersQuery.ToADOTable(Function(rec) New Object() {customersQuery}) - Customers.TableName = "Customers" - Dim dataSet As New DataSet() - 'Adding DataTable in DataSet - dataSet.Tables.Add(Customers) - Return dataSet.Tables("Customers").Rows(0) - End Function - 'ExEnd:GetSingleCustomerDT -#End Region - -#Region "GetCustomersAndOrdersDataDT" - 'ExStart:GetCustomersAndOrdersDataDT - ''' - ''' Fetches Orders, ProductOrders and Customers from database - ''' - ''' Returns DataSet - Public Shared Function GetCustomersAndOrdersDataDT() As DataSet - Dim dbEntities As New DatabaseEntitiesDataContext() - Dim ordersQuery = (From c In dbEntities.Orders).AsEnumerable() - Dim productOrdersQuery = (From c In dbEntities.ProductOrders).AsEnumerable() - Dim customersQuery = (From c In dbEntities.Customers).AsEnumerable() - Dim Orders As New DataTable() - 'ToADOTable function converts query results into DataTable - Orders = ordersQuery.ToADOTable(Function(rec) New Object() {ordersQuery}) - Dim ProductOrders As New DataTable() - ProductOrders = productOrdersQuery.ToADOTable(Function(rec) New Object() {productOrdersQuery}) - Dim Customers As New DataTable() - Customers = customersQuery.ToADOTable(Function(rec) New Object() {customersQuery}) - ProductOrders.TableName = "ProductOrder" - Orders.TableName = "Orders" - Customers.TableName = "Customers" - Dim dataSet As New DataSet() - 'Adding DataTable in DataSet - dataSet.Tables.Add(Orders) - dataSet.Tables.Add(ProductOrders) - dataSet.Tables.Add(Customers) - Return dataSet - End Function - 'ExEnd:GetCustomersAndOrdersDataDT -#End Region - -#Region "GetProductsDataDT" - 'ExStart:GetProductsDataDT - ''' - ''' Fetches Products and ProductOrders information, store them in DataTables and load DataTable to DataSet - ''' - ''' Returns DataSet - Public Shared Function GetProductsDT() As DataSet - Dim dbEntities As New DatabaseEntitiesDataContext() - Dim productsQuery = (From c In dbEntities.Products).AsEnumerable() - Dim productOrdersQuery = (From c In dbEntities.ProductOrders).AsEnumerable() - Dim Products As New DataTable() - 'ToADOTable function converts query results into DataTable - Products = productsQuery.ToADOTable(Function(rec) New Object() {productsQuery}) - Dim ProductOrders As New DataTable() - ProductOrders = productOrdersQuery.ToADOTable(Function(rec) New Object() {productOrdersQuery}) - ProductOrders.TableName = "ProductOrder" - Products.TableName = "products" - Dim dataSet As New DataSet() - 'Adding DataTable in DataSet - dataSet.Tables.Add(Products) - dataSet.Tables.Add(ProductOrders) - Return dataSet - End Function - 'ExEnd:GetProductsDataDT -#End Region - -#Region "GetAllDataFromXML" - 'ExStart:GetAllDataXML - ''' - ''' Fetches the data from the XML files and store data in the DataSet - ''' - ''' Returns the DataSet - Public Shared Function GetAllDataFromXML() As DataSet - Try - Dim tempDs As New DataSet() - Dim mainDs As New DataSet() - - - Dim fsReadXml As New System.IO.FileStream(customerXMLfile, System.IO.FileMode.Open) - - tempDs.ReadXml(fsReadXml, XmlReadMode.ReadSchema) - tempDs.Tables(0).TableName = "Customers" - - mainDs.Merge(tempDs.Tables(0)) - tempDs = New DataSet() - - fsReadXml = New System.IO.FileStream(orderXMLfile, System.IO.FileMode.Open) - - tempDs.ReadXml(fsReadXml, XmlReadMode.ReadSchema) - tempDs.Tables(0).TableName = "Orders" - - mainDs.Merge(tempDs.Tables(0)) - tempDs = New DataSet() - - fsReadXml = New System.IO.FileStream(productOrderXMLfile, System.IO.FileMode.Open) - - tempDs.ReadXml(fsReadXml, XmlReadMode.ReadSchema) - tempDs.Tables(0).TableName = "ProductOrders" - - mainDs.Merge(tempDs.Tables(0)) - tempDs = New DataSet() - - fsReadXml = New System.IO.FileStream(productXMLfile, System.IO.FileMode.Open) - - tempDs.ReadXml(fsReadXml, XmlReadMode.ReadSchema) - tempDs.Tables(0).TableName = "Product" - - mainDs.Merge(tempDs.Tables(0)) - - 'Defining relations between the tables - Dim productColumn As DataColumn, orderColumn As DataColumn, customerColumn As DataColumn, customerOrderColumn As DataColumn, productProductIDColumn As DataColumn, productOrderProductIDColumn As DataColumn - orderColumn = mainDs.Tables("Orders").Columns("OrderID") - productColumn = mainDs.Tables("ProductOrders").Columns("OrderID") - customerColumn = mainDs.Tables("Customers").Columns("CustomerID") - customerOrderColumn = mainDs.Tables("Orders").Columns("CustomerID") - - productOrderProductIDColumn = mainDs.Tables("ProductOrders").Columns("ProductID") - productProductIDColumn = mainDs.Tables("Product").Columns("ProductID") - - Dim dr2 As New DataRelation("Customer_Orders", customerColumn, customerOrderColumn) - mainDs.Relations.Add(dr2) - Dim dr As New DataRelation("Order_ProductOrders", orderColumn, productColumn) - mainDs.Relations.Add(dr) - Dim dr3 As New DataRelation("Product_ProductOrders", productProductIDColumn, productOrderProductIDColumn) - mainDs.Relations.Add(dr3) - Return mainDs - Catch - Return Nothing - End Try - End Function - 'ExEnd:GetAllDataXML -#End Region - -#Region "GetSingleRowXML" - 'ExStart:GetSingleCustomerXML - ''' - ''' Fetches information from the xml file and add it to the DataSet - ''' - ''' Returns DataSet, first record from the table - Public Shared Function GetSingleCustomerXML() As DataRow - Dim singleCustomer As New DataSet() - - Dim readProductXML As New FileStream(customerXMLfile, FileMode.Open) - singleCustomer.ReadXml(readProductXML, XmlReadMode.ReadSchema) - singleCustomer.Tables(0).TableName = "Customers" - - Return singleCustomer.Tables("Customers").Rows(0) - End Function - 'ExEnd:GetSingleCustomerXML -#End Region - -#Region "GetCustomerDataJson" - 'ExStart:GetCustomerDataJson - ''' - ''' Deserializes the json file, loop over the deserialized data - ''' - ''' Returns deserialized data - Public Shared Iterator Function GetCustomerDataFromJson() As IEnumerable(Of BusinessObjects.Customer) - Dim rawData As String = File.ReadAllText(jsonFile) - Dim customers As BusinessObjects.Customer() = JsonConvert.DeserializeObject(Of BusinessObjects.Customer())(rawData) - - For Each customer As BusinessObjects.Customer In customers - Yield customer - Next - End Function - 'ExEnd:GetCustomerDataJson -#End Region - -#Region "GetCustomerOrderDataJson" - 'ExStart:GetCustomerOrderDataJson - ''' - ''' Deserializes the json file, loop over the deserialized data - ''' - ''' Returns deserialized data - Public Shared Iterator Function GetCustomerOrderDataFromJson() As IEnumerable(Of BusinessObjects.Order) - Dim rawData As String = File.ReadAllText(jsonFile) - Dim customers As BusinessObjects.Customer() = JsonConvert.DeserializeObject(Of BusinessObjects.Customer())(rawData) - - For Each customer As BusinessObjects.Customer In customers - For Each order As BusinessObjects.Order In customer.Order - Yield order - Next - Next - End Function - 'ExEnd:GetCustomerOrderDataJson -#End Region - -#Region "GetProductsJson" - 'ExStart:GetProductsDataJson - ''' - ''' Deserializes the json file, loop over the deserialized data - ''' - ''' Returns deserialized data - Public Shared Iterator Function GetProductsDataJson() As IEnumerable(Of BusinessObjects.Product) - Dim rawData As String = File.ReadAllText(jsonFile) - Dim customers As BusinessObjects.Customer() = JsonConvert.DeserializeObject(Of BusinessObjects.Customer())(rawData) - - For Each customer As BusinessObjects.Customer In customers - For Each order As BusinessObjects.Order In customer.Order - Yield order.Product - Next - Next - End Function - 'ExEnd:GetProductsDataJson -#End Region - -#Region "GetSingleCustomerDataJson" - 'ExStart:GetSingleCustomerDataJson - ''' - ''' Deserializes the json file, loop over the deserialized data - ''' - ''' Returns deserialized data - Public Shared Function GetSingleCustomerDataJson() As BusinessObjects.Customer - Dim rawData As String = File.ReadAllText(jsonFile) - Dim customers As BusinessObjects.Customer() = JsonConvert.DeserializeObject(Of BusinessObjects.Customer())(rawData) - - Dim customer As IEnumerator(Of BusinessObjects.Customer) = GetCustomerDataFromJson().GetEnumerator() - customer.MoveNext() - Return customer.Current - End Function - 'ExEnd:GetSingleCustomerDataJson -#End Region - - ''' - ''' Generate report from excel data source - ''' - ''' - Public Shared Function ExcelData() As Global.GroupDocs.Assembly.Data.DocumentTable - Dim options As New DocumentTableOptions() - options.FirstRowContainsColumnNames = True - - ' Use data of the _first_ worksheet. - Dim table As New DocumentTable(excelDataFile, 0, options) - - ' Check column count, names, and types. - Debug.Assert(table.Columns.Count = 3) - - Debug.Assert(table.Columns(0).Name = "Client") - Debug.Assert(table.Columns(0).Type = GetType(String)) - - Debug.Assert(table.Columns(1).Name = "Manager") - Debug.Assert(table.Columns(1).Type = GetType(String)) - - ' NOTE: A space is replaced with an underscore, because spaces are not allowed in column names. - Debug.Assert(table.Columns(2).Name = "Contract_Price") - - ' NOTE: The type of the column is double, because all cells in the column contain numeric values. - Debug.Assert(table.Columns(2).Type = GetType(Double)) - Return table - End Function - - ''' - ''' Import word doc to presentation - ''' - ''' - Public Shared Function ImportingWordDocToPresentation() As Global.GroupDocs.Assembly.Data.DocumentTable - - ' Do not extract column names from the first row, so that the first row to be treated as a data row. - ' Limit the largest row index, so that only the first four data rows to be loaded. - Dim options As New DocumentTableOptions() - options.MaxRowIndex = 3 - - ' Use data of the _second_ table in the document. - Dim table As New DocumentTable(wordDataFile, 1, options) - - ' Check column count and names. - Debug.Assert(table.Columns.Count = 2) - - ' NOTE: Default column names are used, because we do not extract the names from the first row. - Debug.Assert(table.Columns(0).Name = "Column1") - Debug.Assert(table.Columns(1).Name = "Column2") - Return table - End Function - - - ''' - ''' Import spread sheet to html document - ''' - ''' - Public Shared Function ImportingSpreadsheetToHtml() As Global.GroupDocs.Assembly.Data.DocumentTable - - ' Do not extract column names from the first row, so that the first row to be treated as a data row. - ' Limit the largest row index, so that only the first four data rows to be loaded. - Dim options As New DocumentTableOptions() - 'options.MaxRowIndex = 3; - - ' Use data of the _second_ table in the document. - Dim table As New DocumentTable(excelDataFile, 0) - - ' Check column count and names. - Debug.Assert(table.Columns.Count = 3) - - ' NOTE: Default column names are used, because we do not extract the names from the first row. - Debug.Assert(table.Columns(0).Name = "A") - Debug.Assert(table.Columns(1).Name = "B") - Debug.Assert(table.Columns(2).Name = "C") - Return table - End Function - - - - ''' - ''' Presentation file data source - ''' - ''' - Public Shared Function PresentationData() As Global.GroupDocs.Assembly.Data.DocumentTable - - ' Do not extract column names from the first row, so that the first row to be treated as a data row. - ' Limit the largest row index, so that only the first four data rows to be loaded. - Dim options As New DocumentTableOptions() - options.MaxRowIndex = 3 - - ' Use data of the _second_ table in the document. - Dim table As New DocumentTable(presentationDataFile, 1, options) - - ' Check column count and names. - Debug.Assert(table.Columns.Count = 2) - - ' NOTE: Default column names are used, because we do not extract the names from the first row. - Debug.Assert(table.Columns(0).Name = "Column1") - Debug.Assert(table.Columns(1).Name = "Column2") - Return table - End Function - - - - ''' - ''' Creates an Email data source object - ''' - ''' Name of the template file - ''' data source - ''' - - Public Shared Function EmailDataSourceObject(fileName As String, dataSource As Object) As Object() - 'ExStart:EmailDataSourceObject - Dim dataSources As Object() - Dim extension As String = Path.GetExtension(fileName) - - If (extension = ".msg") OrElse (extension = ".eml") Then - Dim recipients As New List(Of String)() - recipients.Add("Named Recipient ") - recipients.Add("unnamed@example.com") - - - dataSources = New Object() {dataSource, "Example Sender ", recipients, "cc@example.com", Path.GetFileNameWithoutExtension(fileName)} - Else - dataSources = New Object() {dataSource} - End If - Return dataSources - 'ExEnd:EmailDataSourceObject - End Function - - Public Shared Function EmailDataSourceName(extension As String, name As String) As String() - 'ExStart:EmailDataSourceName - Dim dataSourceNames As String() - If (extension = ".msg") OrElse (extension = ".eml") Then - - dataSourceNames = New String() {name, "sender", "recipients", "cc", "subject"} - Else - dataSourceNames = New String() {} - End If - Return dataSourceNames - 'ExEnd:EmailDataSourceName - End Function - - - - End Class - 'ExEnd:DataLayer -#End Region -#Region "LazyAndRecursiveAccess" - 'ExStart:RecursiveandLazyAccessOfData - Public Interface IPropertyProvider(Of T) - Default ReadOnly Property Item(propertyName As String) As T - End Interface - - Public Class DynamicEntity - Implements IPropertyProvider(Of String) - ''' - ''' Gets a property value by its name. - ''' - Default Public ReadOnly Property Item(propertyName As String) As String Implements IPropertyProvider(Of String).Item - Get - ' In this example, we simply return a property name as its value. - ' In a real-life application, a real property value should be returned. - ' This value can be cached using for example a Dictionary, or fetched - ' every time the property is requested. - Return propertyName & Convert.ToString(" Value") - End Get - End Property - - ''' - ''' Provides access to individual related instances - ''' by their names. - ''' - Public ReadOnly Property Entities() As IPropertyProvider(Of DynamicEntity) - Get - Return mEntities - End Get - End Property - - ''' - ''' Provides access to enumerations of related instances - ''' by their names. - ''' - Public ReadOnly Property Children() As IPropertyProvider(Of IEnumerable(Of DynamicEntity)) - Get - Return mChildren - End Get - End Property - - Private Class ReferencedEntities - Implements IPropertyProvider(Of DynamicEntity) - Default Public ReadOnly Property Item(propertyName As String) As DynamicEntity Implements IPropertyProvider(Of Global.GroupDocs.AssemblyExamples.BusinessLayer.GroupDocs.AssemblyExamples.BusinessLayer.DynamicEntity).Item - Get - ' In this example, we simply return the root entity. - ' In a real-life application, a DynamicEntity instance corresponding - ' to propertyName for the given root entity should be returned. - ' This instance can be cached using for example a Dictionary, - ' or fetched every time the referenced entity is requested. - Return mRootEntity - End Get - End Property - - Public Sub New(rootEntity As DynamicEntity) - ' The reference to the root entity allows to access fields of the root entity - ' (such as an identifier) in the above indexer for a real-life application. - mRootEntity = rootEntity - End Sub - - Private ReadOnly mRootEntity As DynamicEntity - End Class - - Private Class ChildEntities - Implements IPropertyProvider(Of IEnumerable(Of DynamicEntity)) - Public ReadOnly Iterator Property Item(propertyName As String) As IEnumerable(Of DynamicEntity) Implements IPropertyProvider(Of System.Collections.Generic.IEnumerable(Of Global.GroupDocs.AssemblyExamples.BusinessLayer.GroupDocs.AssemblyExamples.BusinessLayer.DynamicEntity)).Item - Get - ' In this example, we simply return the root entity three times. - ' In a real-life application, an enumeration of DynamicEntity instances - ' corresponding to propertyName for the given root entity should be returned. - ' This enumeration can be cached using for example a Dictionary, - ' or fetched every time the child entities are requested. - Yield mRootEntity - Yield mRootEntity - Yield mRootEntity - End Get - End Property - - Public Sub New(rootEntity As DynamicEntity) - ' The reference to the root entity allows to access fields of the root entity - ' (such as an identifier) in the above indexer for a real-life application. - mRootEntity = rootEntity - End Sub - - Private ReadOnly mRootEntity As DynamicEntity - End Class - Public Sub New(id As Guid) - ' In this example, we use Guid to represent an entity identifier. - ' In a real-life application, the identifier can be of any type or even missing. - mId = id - - ' In this example, we simply initialize fields in the constructor. - ' In a real-life application, these fields can be initialized lazily - ' at the corresponding properties, if needed. - mEntities = New ReferencedEntities(Me) - mChildren = New ChildEntities(Me) - End Sub - - Private ReadOnly mId As Guid - Private ReadOnly mEntities As ReferencedEntities - Private ReadOnly mChildren As ChildEntities - End Class - 'ExEnd:RecursiveandLazyAccessOfData -#End Region -End Namespace - - diff --git a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.vbproj b/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.vbproj deleted file mode 100644 index 789fc7a..0000000 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.vbproj +++ /dev/null @@ -1,131 +0,0 @@ - - - - - Debug - AnyCPU - {CAFC2537-D6C0-4A47-A7D9-DB9178C24E17} - Library - GroupDocs.AssemblyExamples.BusinessLayer - GroupDocs.AssemblyExamples.BusinessLayer - 512 - Windows - v4.5 - ..\..\ - true - - - true - full - true - true - bin\Debug\ - GroupDocs.AssemblyExamples.BusinessLayer.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - pdbonly - false - true - true - bin\Release\ - GroupDocs.AssemblyExamples.BusinessLayer.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - On - - - Binary - - - Off - - - On - - - - ..\..\packages\GroupDocs.Assembly.17.8.0\lib\net40-client\GroupDocs.Assembly.dll - True - - - ..\..\packages\Newtonsoft.Json.8.0.2\lib\net45\Newtonsoft.Json.dll - True - - - - - - - - - - - - - - - - - - - - - - - - - - True - Application.myapp - - - True - True - Resources.resx - - - True - Settings.settings - True - - - - - VbMyResourcesResXFileCodeGenerator - Resources.Designer.vb - My.Resources - Designer - - - - - MyApplicationCodeGenerator - Application.Designer.vb - - - SettingsSingleFileGenerator - My - Settings.Designer.vb - - - Designer - - - - - {4d94149e-43d1-48ad-aea1-03ab9d686540} - GroupDocs.AssemblyExamples.ProjectEntities - - - - - - \ No newline at end of file diff --git a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/My Project/Application.Designer.vb b/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/My Project/Application.Designer.vb deleted file mode 100644 index db8b8b3..0000000 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/My Project/Application.Designer.vb +++ /dev/null @@ -1,13 +0,0 @@ -'------------------------------------------------------------------------------ -' -' 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 - diff --git a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/My Project/Application.myapp b/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/My Project/Application.myapp deleted file mode 100644 index 0167050..0000000 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/My Project/Application.myapp +++ /dev/null @@ -1,10 +0,0 @@ - - - false - false - 0 - true - 0 - 1 - true - diff --git a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/My Project/AssemblyInfo.vb b/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/My Project/AssemblyInfo.vb deleted file mode 100644 index 0c09c8a..0000000 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/My Project/AssemblyInfo.vb +++ /dev/null @@ -1,44 +0,0 @@ - -Imports System.Reflection -Imports System.Runtime.CompilerServices -Imports System.Runtime.InteropServices - -' General Information about an assembly is controlled through the following -' set of attributes. Change these attribute values to modify the information -' associated with an assembly. - - - - - - - - - -' Setting ComVisible to false makes the types in this assembly not visible -' to COM components. If you need to access a type in this assembly from -' COM, set the ComVisible attribute to true on that type. - - -' The following GUID is for the ID of the typelib if this project is exposed to COM - - -' Version information for an assembly consists of the following four values: -' -' Major Version -' Minor Version -' Build Number -' Revision -' -' You can specify all the values or you can default the Build and Revision Numbers -' by using the '*' as shown below: -' [assembly: AssemblyVersion("1.0.*")] - - - -'======================================================= -'Service provided by Telerik (www.telerik.com) -'Conversion powered by NRefactory. -'Twitter: @telerik -'Facebook: facebook.com/telerik -'======================================================= diff --git a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/My Project/Resources.Designer.vb b/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/My Project/Resources.Designer.vb deleted file mode 100644 index d322887..0000000 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/My Project/Resources.Designer.vb +++ /dev/null @@ -1,62 +0,0 @@ -'------------------------------------------------------------------------------ -' -' 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("GroupDocs.AssemblyExamples.BusinessLayer.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/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/My Project/Resources.resx b/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/My Project/Resources.resx deleted file mode 100644 index ffecec8..0000000 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/My Project/Resources.resx +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/My Project/Settings.Designer.vb b/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/My Project/Settings.Designer.vb deleted file mode 100644 index c315677..0000000 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/My Project/Settings.Designer.vb +++ /dev/null @@ -1,73 +0,0 @@ -'------------------------------------------------------------------------------ -' -' 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 - - _ - 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 "My.Settings Auto-Save Functionality" -#If _MyType = "WindowsForms" Then - Private Shared addedHandler As Boolean - - Private Shared addedHandlerLockObject As New Object - - _ - Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal 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 - End Class -End Namespace - -Namespace My - - _ - Friend Module MySettingsProperty - - _ - Friend ReadOnly Property Settings() As Global.GroupDocs.AssemblyExamples.BusinessLayer.My.MySettings - Get - Return Global.GroupDocs.AssemblyExamples.BusinessLayer.My.MySettings.Default - End Get - End Property - End Module -End Namespace diff --git a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/My Project/Settings.settings b/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/My Project/Settings.settings deleted file mode 100644 index 377f56d..0000000 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/My Project/Settings.settings +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/packages.config b/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/packages.config deleted file mode 100644 index 52916bf..0000000 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.BusinessLayer/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/BusinessObjects.vb b/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/BusinessObjects.vb deleted file mode 100644 index ee63f85..0000000 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/BusinessObjects.vb +++ /dev/null @@ -1,193 +0,0 @@ - -Imports System.Collections.Generic -Imports System.Linq -Imports System.Text -Imports System.Threading.Tasks -Imports System.IO - -Namespace GroupDocs.AssemblyExamples.ProjectEntities - Public Class BusinessObjects - Public Shared imagePath As String = "../../../../Data/Images/" - Public Shared docPath As String = "../../../../Data/OuterDocuments/" - - 'ExStart:ProjectEntities - Public Class Customer - Public Property CustomerName() As [String] - Get - Return m_CustomerName - End Get - Set(value As [String]) - m_CustomerName = value - End Set - End Property - Private m_CustomerName As [String] - Public Property ShippingAddress() As String - Get - Return m_ShippingAddress - End Get - Set(value As String) - m_ShippingAddress = value - End Set - End Property - Private m_ShippingAddress As String - Public Property CustomerContactNumber() As String - Get - Return m_CustomerContactNumber - End Get - Set(value As String) - m_CustomerContactNumber = value - End Set - End Property - Private m_CustomerContactNumber As String - Public Property Order() As IEnumerable(Of Order) - Get - Return m_Order - End Get - Set(value As IEnumerable(Of Order)) - m_Order = value - End Set - End Property - Private m_Order As IEnumerable(Of Order) - - Public Property Barcode() As String - Get - Return m_Barcode - End Get - Set(value As String) - m_Barcode = Value - End Set - End Property - Private m_Barcode As String - - Public ReadOnly Property Photo() As [String] - Get - Return Path.Combine(Path.GetFullPath(imagePath), "no-photo.jpg") - End Get - End Property - - Public ReadOnly Property Document() As [String] - Get - Return Path.Combine(Path.GetFullPath(docPath), "outerDoc.odt") - End Get - End Property - - End Class - - Public Class Order - Public Property Customer() As Customer - Get - Return m_Customer - End Get - Set(value As Customer) - m_Customer = value - End Set - End Property - Private m_Customer As Customer - Public Property Product() As Product - Get - Return m_Product - End Get - Set(value As Product) - m_Product = value - End Set - End Property - Private m_Product As Product - Public Property ProductQuantity() As Integer - Get - Return m_ProductQuantity - End Get - Set(value As Integer) - m_ProductQuantity = value - End Set - End Property - Private m_ProductQuantity As Integer - Public Property Price() As Integer - Get - Return m_Price - End Get - Set(value As Integer) - m_Price = value - End Set - End Property - Private m_Price As Integer - - Public Property Barcode() As String - Get - Return m_Barcode - End Get - Set(value As String) - m_Barcode = Value - End Set - End Property - Private m_Barcode As String - - Public Property OrderDate() As DateTime - Get - Return m_OrderDate - End Get - Set(value As DateTime) - m_OrderDate = value - End Set - End Property - Private m_OrderDate As DateTime - Public Property OrderNumber() As Integer - Get - Return m_OrderNumber - End Get - Set(value As Integer) - m_OrderNumber = value - End Set - End Property - Private m_OrderNumber As Integer - Public Property ShippingDate() As DateTime - Get - Return m_ShippingDate - End Get - Set(value As DateTime) - m_ShippingDate = value - End Set - End Property - Private m_ShippingDate As DateTime - End Class - - Public Class Product - Public Property ProductName() As String - Get - Return m_ProductName - End Get - Set(value As String) - m_ProductName = value - End Set - End Property - Private m_ProductName As String - Public Property UnitInStock() As Integer - Get - Return m_UnitInStock - End Get - Set(value As Integer) - m_UnitInStock = value - End Set - End Property - Private m_UnitInStock As Integer - Public Property Discount() As Integer - Get - Return m_Discount - End Get - Set(value As Integer) - m_Discount = value - End Set - End Property - Private m_Discount As Integer - Public Property ProductPrice() As String - Get - Return m_ProductPrice - End Get - Set(value As String) - m_ProductPrice = value - End Set - End Property - Private m_ProductPrice As String - End Class - 'ExEnd:ProjectEntities - End Class -End Namespace diff --git a/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/DatabaseEntities.dbml b/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/DatabaseEntities.dbml deleted file mode 100644 index e934f7e..0000000 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/DatabaseEntities.dbml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - -
      - - - - - - - - - - -
      - - - - - - - - - - -
      - - - - - - - - - -
      -
      \ No newline at end of file diff --git a/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/DatabaseEntities.dbml.layout b/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/DatabaseEntities.dbml.layout deleted file mode 100644 index b51f09d..0000000 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/DatabaseEntities.dbml.layout +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/DatabaseEntities.designer.vb b/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/DatabaseEntities.designer.vb deleted file mode 100644 index 5ec32b6..0000000 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/DatabaseEntities.designer.vb +++ /dev/null @@ -1,879 +0,0 @@ -'------------------------------------------------------------------------------ -' -' 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 - -Imports System -Imports System.Collections.Generic -Imports System.ComponentModel -Imports System.Data -Imports System.Data.Linq -Imports System.Data.Linq.Mapping -Imports System.Linq -Imports System.Linq.Expressions -Imports System.Reflection - - - _ -Partial Public Class DatabaseEntitiesDataContext - Inherits System.Data.Linq.DataContext - - Private Shared mappingSource As System.Data.Linq.Mapping.MappingSource = New AttributeMappingSource() - - #Region "Extensibility Method Definitions" - Partial Private Sub OnCreated() - End Sub - Partial Private Sub InsertCustomer(instance As Customer) - End Sub - Partial Private Sub UpdateCustomer(instance As Customer) - End Sub - Partial Private Sub DeleteCustomer(instance As Customer) - End Sub - Partial Private Sub InsertProductOrder(instance As ProductOrder) - End Sub - Partial Private Sub UpdateProductOrder(instance As ProductOrder) - End Sub - Partial Private Sub DeleteProductOrder(instance As ProductOrder) - End Sub - Partial Private Sub InsertOrder(instance As [Order]) - End Sub - Partial Private Sub UpdateOrder(instance As [Order]) - End Sub - Partial Private Sub DeleteOrder(instance As [Order]) - End Sub - Partial Private Sub InsertProduct(instance As Product) - End Sub - Partial Private Sub UpdateProduct(instance As Product) - End Sub - Partial Private Sub DeleteProduct(instance As Product) - End Sub - #End Region - - Public Sub New() - MyBase.New(Global.GroupDocs.AssemblyExamples.ProjectBusinessObjects.My.MySettings.Default.OrderingSystemConnectionString, mappingSource) - OnCreated - End Sub - - Public Sub New(ByVal connection As String) - MyBase.New(connection, mappingSource) - OnCreated - End Sub - - Public Sub New(ByVal connection As System.Data.IDbConnection) - MyBase.New(connection, mappingSource) - OnCreated - End Sub - - Public Sub New(ByVal connection As String, ByVal mappingSource As System.Data.Linq.Mapping.MappingSource) - MyBase.New(connection, mappingSource) - OnCreated - End Sub - - Public Sub New(ByVal connection As System.Data.IDbConnection, ByVal mappingSource As System.Data.Linq.Mapping.MappingSource) - MyBase.New(connection, mappingSource) - OnCreated - End Sub - - Public ReadOnly Property Customers() As System.Data.Linq.Table(Of Customer) - Get - Return Me.GetTable(Of Customer) - End Get - End Property - - Public ReadOnly Property ProductOrders() As System.Data.Linq.Table(Of ProductOrder) - Get - Return Me.GetTable(Of ProductOrder) - End Get - End Property - - Public ReadOnly Property Orders() As System.Data.Linq.Table(Of [Order]) - Get - Return Me.GetTable(Of [Order]) - End Get - End Property - - Public ReadOnly Property Products() As System.Data.Linq.Table(Of Product) - Get - Return Me.GetTable(Of Product) - End Get - End Property -End Class - - _ -Partial Public Class Customer - Implements System.ComponentModel.INotifyPropertyChanging, System.ComponentModel.INotifyPropertyChanged - - Private Shared emptyChangingEventArgs As PropertyChangingEventArgs = New PropertyChangingEventArgs(String.Empty) - - Private _CustomerID As Long - - Private _CustomerName As String - - Private _ShippingAddress As String - - Private _CustomerContactNumber As String - - Private _Photo As String - - Private _Orders As EntitySet(Of [Order]) - - #Region "Extensibility Method Definitions" - Partial Private Sub OnLoaded() - End Sub - Partial Private Sub OnValidate(action As System.Data.Linq.ChangeAction) - End Sub - Partial Private Sub OnCreated() - End Sub - Partial Private Sub OnCustomerIDChanging(value As Long) - End Sub - Partial Private Sub OnCustomerIDChanged() - End Sub - Partial Private Sub OnCustomerNameChanging(value As String) - End Sub - Partial Private Sub OnCustomerNameChanged() - End Sub - Partial Private Sub OnShippingAddressChanging(value As String) - End Sub - Partial Private Sub OnShippingAddressChanged() - End Sub - Partial Private Sub OnCustomerContactNumberChanging(value As String) - End Sub - Partial Private Sub OnCustomerContactNumberChanged() - End Sub - Partial Private Sub OnPhotoChanging(value As String) - End Sub - Partial Private Sub OnPhotoChanged() - End Sub - #End Region - - Public Sub New() - MyBase.New - Me._Orders = New EntitySet(Of [Order])(AddressOf Me.attach_Orders, AddressOf Me.detach_Orders) - OnCreated - End Sub - - _ - Public Property CustomerID() As Long - Get - Return Me._CustomerID - End Get - Set - If ((Me._CustomerID = value) _ - = false) Then - Me.OnCustomerIDChanging(value) - Me.SendPropertyChanging - Me._CustomerID = value - Me.SendPropertyChanged("CustomerID") - Me.OnCustomerIDChanged - End If - End Set - End Property - - _ - Public Property CustomerName() As String - Get - Return Me._CustomerName - End Get - Set - If (String.Equals(Me._CustomerName, value) = false) Then - Me.OnCustomerNameChanging(value) - Me.SendPropertyChanging - Me._CustomerName = value - Me.SendPropertyChanged("CustomerName") - Me.OnCustomerNameChanged - End If - End Set - End Property - - _ - Public Property ShippingAddress() As String - Get - Return Me._ShippingAddress - End Get - Set - If (String.Equals(Me._ShippingAddress, value) = false) Then - Me.OnShippingAddressChanging(value) - Me.SendPropertyChanging - Me._ShippingAddress = value - Me.SendPropertyChanged("ShippingAddress") - Me.OnShippingAddressChanged - End If - End Set - End Property - - _ - Public Property CustomerContactNumber() As String - Get - Return Me._CustomerContactNumber - End Get - Set - If (String.Equals(Me._CustomerContactNumber, value) = false) Then - Me.OnCustomerContactNumberChanging(value) - Me.SendPropertyChanging - Me._CustomerContactNumber = value - Me.SendPropertyChanged("CustomerContactNumber") - Me.OnCustomerContactNumberChanged - End If - End Set - End Property - - _ - Public Property Photo() As String - Get - Return Me._Photo - End Get - Set - If (String.Equals(Me._Photo, value) = false) Then - Me.OnPhotoChanging(value) - Me.SendPropertyChanging - Me._Photo = value - Me.SendPropertyChanged("Photo") - Me.OnPhotoChanged - End If - End Set - End Property - - _ - Public Property Orders() As EntitySet(Of [Order]) - Get - Return Me._Orders - End Get - Set - Me._Orders.Assign(value) - End Set - End Property - - Public Event PropertyChanging As PropertyChangingEventHandler Implements System.ComponentModel.INotifyPropertyChanging.PropertyChanging - - Public Event PropertyChanged As PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged - - Protected Overridable Sub SendPropertyChanging() - If ((Me.PropertyChangingEvent Is Nothing) _ - = false) Then - RaiseEvent PropertyChanging(Me, emptyChangingEventArgs) - End If - End Sub - - Protected Overridable Sub SendPropertyChanged(ByVal propertyName As [String]) - If ((Me.PropertyChangedEvent Is Nothing) _ - = false) Then - RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propertyName)) - End If - End Sub - - Private Sub attach_Orders(ByVal entity As [Order]) - Me.SendPropertyChanging - entity.Customer = Me - End Sub - - Private Sub detach_Orders(ByVal entity As [Order]) - Me.SendPropertyChanging - entity.Customer = Nothing - End Sub -End Class - - _ -Partial Public Class ProductOrder - Implements System.ComponentModel.INotifyPropertyChanging, System.ComponentModel.INotifyPropertyChanged - - Private Shared emptyChangingEventArgs As PropertyChangingEventArgs = New PropertyChangingEventArgs(String.Empty) - - Private _ProductOrderID As Long - - Private _OrderID As System.Nullable(Of Long) - - Private _ProductID As System.Nullable(Of Long) - - Private _ProductQuantity As System.Nullable(Of Integer) - - Private _Price As System.Nullable(Of Double) - - Private _Order As EntityRef(Of [Order]) - - Private _Product As EntityRef(Of Product) - - #Region "Extensibility Method Definitions" - Partial Private Sub OnLoaded() - End Sub - Partial Private Sub OnValidate(action As System.Data.Linq.ChangeAction) - End Sub - Partial Private Sub OnCreated() - End Sub - Partial Private Sub OnProductOrderIDChanging(value As Long) - End Sub - Partial Private Sub OnProductOrderIDChanged() - End Sub - Partial Private Sub OnOrderIDChanging(value As System.Nullable(Of Long)) - End Sub - Partial Private Sub OnOrderIDChanged() - End Sub - Partial Private Sub OnProductIDChanging(value As System.Nullable(Of Long)) - End Sub - Partial Private Sub OnProductIDChanged() - End Sub - Partial Private Sub OnProductQuantityChanging(value As System.Nullable(Of Integer)) - End Sub - Partial Private Sub OnProductQuantityChanged() - End Sub - Partial Private Sub OnPriceChanging(value As System.Nullable(Of Double)) - End Sub - Partial Private Sub OnPriceChanged() - End Sub - #End Region - - Public Sub New() - MyBase.New - Me._Order = CType(Nothing, EntityRef(Of [Order])) - Me._Product = CType(Nothing, EntityRef(Of Product)) - OnCreated - End Sub - - _ - Public Property ProductOrderID() As Long - Get - Return Me._ProductOrderID - End Get - Set - If ((Me._ProductOrderID = value) _ - = false) Then - Me.OnProductOrderIDChanging(value) - Me.SendPropertyChanging - Me._ProductOrderID = value - Me.SendPropertyChanged("ProductOrderID") - Me.OnProductOrderIDChanged - End If - End Set - End Property - - _ - Public Property OrderID() As System.Nullable(Of Long) - Get - Return Me._OrderID - End Get - Set - If (Me._OrderID.Equals(value) = false) Then - If Me._Order.HasLoadedOrAssignedValue Then - Throw New System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException() - End If - Me.OnOrderIDChanging(value) - Me.SendPropertyChanging - Me._OrderID = value - Me.SendPropertyChanged("OrderID") - Me.OnOrderIDChanged - End If - End Set - End Property - - _ - Public Property ProductID() As System.Nullable(Of Long) - Get - Return Me._ProductID - End Get - Set - If (Me._ProductID.Equals(value) = false) Then - If Me._Product.HasLoadedOrAssignedValue Then - Throw New System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException() - End If - Me.OnProductIDChanging(value) - Me.SendPropertyChanging - Me._ProductID = value - Me.SendPropertyChanged("ProductID") - Me.OnProductIDChanged - End If - End Set - End Property - - _ - Public Property ProductQuantity() As System.Nullable(Of Integer) - Get - Return Me._ProductQuantity - End Get - Set - If (Me._ProductQuantity.Equals(value) = false) Then - Me.OnProductQuantityChanging(value) - Me.SendPropertyChanging - Me._ProductQuantity = value - Me.SendPropertyChanged("ProductQuantity") - Me.OnProductQuantityChanged - End If - End Set - End Property - - _ - Public Property Price() As System.Nullable(Of Double) - Get - Return Me._Price - End Get - Set - If (Me._Price.Equals(value) = false) Then - Me.OnPriceChanging(value) - Me.SendPropertyChanging - Me._Price = value - Me.SendPropertyChanged("Price") - Me.OnPriceChanged - End If - End Set - End Property - - _ - Public Property [Order]() As [Order] - Get - Return Me._Order.Entity - End Get - Set - Dim previousValue As [Order] = Me._Order.Entity - If ((Object.Equals(previousValue, value) = false) _ - OrElse (Me._Order.HasLoadedOrAssignedValue = false)) Then - Me.SendPropertyChanging - If ((previousValue Is Nothing) _ - = false) Then - Me._Order.Entity = Nothing - previousValue.ProductOrders.Remove(Me) - End If - Me._Order.Entity = value - If ((value Is Nothing) _ - = false) Then - value.ProductOrders.Add(Me) - Me._OrderID = value.OrderID - Else - Me._OrderID = CType(Nothing, Nullable(Of Long)) - End If - Me.SendPropertyChanged("[Order]") - End If - End Set - End Property - - _ - Public Property Product() As Product - Get - Return Me._Product.Entity - End Get - Set - Dim previousValue As Product = Me._Product.Entity - If ((Object.Equals(previousValue, value) = false) _ - OrElse (Me._Product.HasLoadedOrAssignedValue = false)) Then - Me.SendPropertyChanging - If ((previousValue Is Nothing) _ - = false) Then - Me._Product.Entity = Nothing - previousValue.ProductOrders.Remove(Me) - End If - Me._Product.Entity = value - If ((value Is Nothing) _ - = false) Then - value.ProductOrders.Add(Me) - Me._ProductID = value.ProductID - Else - Me._ProductID = CType(Nothing, Nullable(Of Long)) - End If - Me.SendPropertyChanged("Product") - End If - End Set - End Property - - Public Event PropertyChanging As PropertyChangingEventHandler Implements System.ComponentModel.INotifyPropertyChanging.PropertyChanging - - Public Event PropertyChanged As PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged - - Protected Overridable Sub SendPropertyChanging() - If ((Me.PropertyChangingEvent Is Nothing) _ - = false) Then - RaiseEvent PropertyChanging(Me, emptyChangingEventArgs) - End If - End Sub - - Protected Overridable Sub SendPropertyChanged(ByVal propertyName As [String]) - If ((Me.PropertyChangedEvent Is Nothing) _ - = false) Then - RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propertyName)) - End If - End Sub -End Class - - _ -Partial Public Class [Order] - Implements System.ComponentModel.INotifyPropertyChanging, System.ComponentModel.INotifyPropertyChanged - - Private Shared emptyChangingEventArgs As PropertyChangingEventArgs = New PropertyChangingEventArgs(String.Empty) - - Private _OrderID As Long - - Private _CustomerID As System.Nullable(Of Long) - - Private _OrderDate As System.Nullable(Of Date) - - Private _ShippingDate As System.Nullable(Of Date) - - Private _OrderNumber As String - - Private _ProductOrders As EntitySet(Of ProductOrder) - - Private _Customer As EntityRef(Of Customer) - - #Region "Extensibility Method Definitions" - Partial Private Sub OnLoaded() - End Sub - Partial Private Sub OnValidate(action As System.Data.Linq.ChangeAction) - End Sub - Partial Private Sub OnCreated() - End Sub - Partial Private Sub OnOrderIDChanging(value As Long) - End Sub - Partial Private Sub OnOrderIDChanged() - End Sub - Partial Private Sub OnCustomerIDChanging(value As System.Nullable(Of Long)) - End Sub - Partial Private Sub OnCustomerIDChanged() - End Sub - Partial Private Sub OnOrderDateChanging(value As System.Nullable(Of Date)) - End Sub - Partial Private Sub OnOrderDateChanged() - End Sub - Partial Private Sub OnShippingDateChanging(value As System.Nullable(Of Date)) - End Sub - Partial Private Sub OnShippingDateChanged() - End Sub - Partial Private Sub OnOrderNumberChanging(value As String) - End Sub - Partial Private Sub OnOrderNumberChanged() - End Sub - #End Region - - Public Sub New() - MyBase.New - Me._ProductOrders = New EntitySet(Of ProductOrder)(AddressOf Me.attach_ProductOrders, AddressOf Me.detach_ProductOrders) - Me._Customer = CType(Nothing, EntityRef(Of Customer)) - OnCreated - End Sub - - _ - Public Property OrderID() As Long - Get - Return Me._OrderID - End Get - Set - If ((Me._OrderID = value) _ - = false) Then - Me.OnOrderIDChanging(value) - Me.SendPropertyChanging - Me._OrderID = value - Me.SendPropertyChanged("OrderID") - Me.OnOrderIDChanged - End If - End Set - End Property - - _ - Public Property CustomerID() As System.Nullable(Of Long) - Get - Return Me._CustomerID - End Get - Set - If (Me._CustomerID.Equals(value) = false) Then - If Me._Customer.HasLoadedOrAssignedValue Then - Throw New System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException() - End If - Me.OnCustomerIDChanging(value) - Me.SendPropertyChanging - Me._CustomerID = value - Me.SendPropertyChanged("CustomerID") - Me.OnCustomerIDChanged - End If - End Set - End Property - - _ - Public Property OrderDate() As System.Nullable(Of Date) - Get - Return Me._OrderDate - End Get - Set - If (Me._OrderDate.Equals(value) = false) Then - Me.OnOrderDateChanging(value) - Me.SendPropertyChanging - Me._OrderDate = value - Me.SendPropertyChanged("OrderDate") - Me.OnOrderDateChanged - End If - End Set - End Property - - _ - Public Property ShippingDate() As System.Nullable(Of Date) - Get - Return Me._ShippingDate - End Get - Set - If (Me._ShippingDate.Equals(value) = false) Then - Me.OnShippingDateChanging(value) - Me.SendPropertyChanging - Me._ShippingDate = value - Me.SendPropertyChanged("ShippingDate") - Me.OnShippingDateChanged - End If - End Set - End Property - - _ - Public Property OrderNumber() As String - Get - Return Me._OrderNumber - End Get - Set - If (String.Equals(Me._OrderNumber, value) = false) Then - Me.OnOrderNumberChanging(value) - Me.SendPropertyChanging - Me._OrderNumber = value - Me.SendPropertyChanged("OrderNumber") - Me.OnOrderNumberChanged - End If - End Set - End Property - - _ - Public Property ProductOrders() As EntitySet(Of ProductOrder) - Get - Return Me._ProductOrders - End Get - Set - Me._ProductOrders.Assign(value) - End Set - End Property - - _ - Public Property Customer() As Customer - Get - Return Me._Customer.Entity - End Get - Set - Dim previousValue As Customer = Me._Customer.Entity - If ((Object.Equals(previousValue, value) = false) _ - OrElse (Me._Customer.HasLoadedOrAssignedValue = false)) Then - Me.SendPropertyChanging - If ((previousValue Is Nothing) _ - = false) Then - Me._Customer.Entity = Nothing - previousValue.Orders.Remove(Me) - End If - Me._Customer.Entity = value - If ((value Is Nothing) _ - = false) Then - value.Orders.Add(Me) - Me._CustomerID = value.CustomerID - Else - Me._CustomerID = CType(Nothing, Nullable(Of Long)) - End If - Me.SendPropertyChanged("Customer") - End If - End Set - End Property - - Public Event PropertyChanging As PropertyChangingEventHandler Implements System.ComponentModel.INotifyPropertyChanging.PropertyChanging - - Public Event PropertyChanged As PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged - - Protected Overridable Sub SendPropertyChanging() - If ((Me.PropertyChangingEvent Is Nothing) _ - = false) Then - RaiseEvent PropertyChanging(Me, emptyChangingEventArgs) - End If - End Sub - - Protected Overridable Sub SendPropertyChanged(ByVal propertyName As [String]) - If ((Me.PropertyChangedEvent Is Nothing) _ - = false) Then - RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propertyName)) - End If - End Sub - - Private Sub attach_ProductOrders(ByVal entity As ProductOrder) - Me.SendPropertyChanging - entity.[Order] = Me - End Sub - - Private Sub detach_ProductOrders(ByVal entity As ProductOrder) - Me.SendPropertyChanging - entity.[Order] = Nothing - End Sub -End Class - - _ -Partial Public Class Product - Implements System.ComponentModel.INotifyPropertyChanging, System.ComponentModel.INotifyPropertyChanged - - Private Shared emptyChangingEventArgs As PropertyChangingEventArgs = New PropertyChangingEventArgs(String.Empty) - - Private _ProductID As Long - - Private _ProductName As String - - Private _ProductPrice As System.Nullable(Of Double) - - Private _UnitsInStock As System.Nullable(Of Integer) - - Private _Discount As System.Nullable(Of Double) - - Private _ProductOrders As EntitySet(Of ProductOrder) - - #Region "Extensibility Method Definitions" - Partial Private Sub OnLoaded() - End Sub - Partial Private Sub OnValidate(action As System.Data.Linq.ChangeAction) - End Sub - Partial Private Sub OnCreated() - End Sub - Partial Private Sub OnProductIDChanging(value As Long) - End Sub - Partial Private Sub OnProductIDChanged() - End Sub - Partial Private Sub OnProductNameChanging(value As String) - End Sub - Partial Private Sub OnProductNameChanged() - End Sub - Partial Private Sub OnProductPriceChanging(value As System.Nullable(Of Double)) - End Sub - Partial Private Sub OnProductPriceChanged() - End Sub - Partial Private Sub OnUnitsInStockChanging(value As System.Nullable(Of Integer)) - End Sub - Partial Private Sub OnUnitsInStockChanged() - End Sub - Partial Private Sub OnDiscountChanging(value As System.Nullable(Of Double)) - End Sub - Partial Private Sub OnDiscountChanged() - End Sub - #End Region - - Public Sub New() - MyBase.New - Me._ProductOrders = New EntitySet(Of ProductOrder)(AddressOf Me.attach_ProductOrders, AddressOf Me.detach_ProductOrders) - OnCreated - End Sub - - _ - Public Property ProductID() As Long - Get - Return Me._ProductID - End Get - Set - If ((Me._ProductID = value) _ - = false) Then - Me.OnProductIDChanging(value) - Me.SendPropertyChanging - Me._ProductID = value - Me.SendPropertyChanged("ProductID") - Me.OnProductIDChanged - End If - End Set - End Property - - _ - Public Property ProductName() As String - Get - Return Me._ProductName - End Get - Set - If (String.Equals(Me._ProductName, value) = false) Then - Me.OnProductNameChanging(value) - Me.SendPropertyChanging - Me._ProductName = value - Me.SendPropertyChanged("ProductName") - Me.OnProductNameChanged - End If - End Set - End Property - - _ - Public Property ProductPrice() As System.Nullable(Of Double) - Get - Return Me._ProductPrice - End Get - Set - If (Me._ProductPrice.Equals(value) = false) Then - Me.OnProductPriceChanging(value) - Me.SendPropertyChanging - Me._ProductPrice = value - Me.SendPropertyChanged("ProductPrice") - Me.OnProductPriceChanged - End If - End Set - End Property - - _ - Public Property UnitsInStock() As System.Nullable(Of Integer) - Get - Return Me._UnitsInStock - End Get - Set - If (Me._UnitsInStock.Equals(value) = false) Then - Me.OnUnitsInStockChanging(value) - Me.SendPropertyChanging - Me._UnitsInStock = value - Me.SendPropertyChanged("UnitsInStock") - Me.OnUnitsInStockChanged - End If - End Set - End Property - - _ - Public Property Discount() As System.Nullable(Of Double) - Get - Return Me._Discount - End Get - Set - If (Me._Discount.Equals(value) = false) Then - Me.OnDiscountChanging(value) - Me.SendPropertyChanging - Me._Discount = value - Me.SendPropertyChanged("Discount") - Me.OnDiscountChanged - End If - End Set - End Property - - _ - Public Property ProductOrders() As EntitySet(Of ProductOrder) - Get - Return Me._ProductOrders - End Get - Set - Me._ProductOrders.Assign(value) - End Set - End Property - - Public Event PropertyChanging As PropertyChangingEventHandler Implements System.ComponentModel.INotifyPropertyChanging.PropertyChanging - - Public Event PropertyChanged As PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged - - Protected Overridable Sub SendPropertyChanging() - If ((Me.PropertyChangingEvent Is Nothing) _ - = false) Then - RaiseEvent PropertyChanging(Me, emptyChangingEventArgs) - End If - End Sub - - Protected Overridable Sub SendPropertyChanged(ByVal propertyName As [String]) - If ((Me.PropertyChangedEvent Is Nothing) _ - = false) Then - RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propertyName)) - End If - End Sub - - Private Sub attach_ProductOrders(ByVal entity As ProductOrder) - Me.SendPropertyChanging - entity.Product = Me - End Sub - - Private Sub detach_ProductOrders(ByVal entity As ProductOrder) - Me.SendPropertyChanging - entity.Product = Nothing - End Sub -End Class diff --git a/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/GroupDocs.AssemblyExamples.ProjectEntities.vbproj b/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/GroupDocs.AssemblyExamples.ProjectEntities.vbproj deleted file mode 100644 index af4eedb..0000000 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/GroupDocs.AssemblyExamples.ProjectEntities.vbproj +++ /dev/null @@ -1,127 +0,0 @@ - - - - - Debug - AnyCPU - {4D94149E-43D1-48AD-AEA1-03AB9D686540} - Library - GroupDocs.AssemblyExamples.ProjectBusinessObjects - GroupDocs.AssemblyExamples.ProjectBusinessObjects - 512 - Windows - v4.5 - - - true - full - true - true - bin\Debug\ - GroupDocs.AssemblyExamples.ProjectBusinessObjects.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - pdbonly - false - true - true - bin\Release\ - GroupDocs.AssemblyExamples.ProjectBusinessObjects.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - On - - - Binary - - - Off - - - On - - - - - - - - - - - - - - - - - - - - - - - - - True - True - DatabaseEntities.dbml - - - - True - Application.myapp - - - True - True - Resources.resx - - - True - Settings.settings - True - - - - - - DatabaseEntities.dbml - - - VbMyResourcesResXFileCodeGenerator - Resources.Designer.vb - My.Resources - Designer - - - - - MSLinqToSQLGenerator - DatabaseEntities.designer.vb - Designer - - - MyApplicationCodeGenerator - Application.Designer.vb - - - SettingsSingleFileGenerator - My - Settings.Designer.vb - - - - - - - - \ No newline at end of file diff --git a/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/My Project/Application.Designer.vb b/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/My Project/Application.Designer.vb deleted file mode 100644 index db8b8b3..0000000 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/My Project/Application.Designer.vb +++ /dev/null @@ -1,13 +0,0 @@ -'------------------------------------------------------------------------------ -' -' 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 - diff --git a/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/My Project/Application.myapp b/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/My Project/Application.myapp deleted file mode 100644 index 0167050..0000000 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/My Project/Application.myapp +++ /dev/null @@ -1,10 +0,0 @@ - - - false - false - 0 - true - 0 - 1 - true - diff --git a/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/My Project/AssemblyInfo.vb b/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/My Project/AssemblyInfo.vb deleted file mode 100644 index f87a43a..0000000 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/My Project/AssemblyInfo.vb +++ /dev/null @@ -1,35 +0,0 @@ -Imports System -Imports System.Reflection -Imports System.Runtime.InteropServices - -' General Information about an assembly is controlled through the following -' set of attributes. Change these attribute values to modify the information -' associated with an assembly. - -' Review the values of the assembly attributes - - - - - - - - - - -'The following GUID is for the ID of the typelib if this project is exposed to COM - - -' Version information for an assembly consists of the following four values: -' -' Major Version -' Minor Version -' Build Number -' Revision -' -' You can specify all the values or you can default the Build and Revision Numbers -' by using the '*' as shown below: -' - - - diff --git a/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/My Project/Resources.Designer.vb b/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/My Project/Resources.Designer.vb deleted file mode 100644 index f2d4b76..0000000 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/My Project/Resources.Designer.vb +++ /dev/null @@ -1,62 +0,0 @@ -'------------------------------------------------------------------------------ -' -' 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("GroupDocs.AssemblyExamples.ProjectBusinessObjects.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/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/My Project/Resources.resx b/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/My Project/Resources.resx deleted file mode 100644 index ffecec8..0000000 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/My Project/Resources.resx +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/My Project/Settings.Designer.vb b/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/My Project/Settings.Designer.vb deleted file mode 100644 index 627645b..0000000 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/My Project/Settings.Designer.vb +++ /dev/null @@ -1,83 +0,0 @@ -'------------------------------------------------------------------------------ -' -' 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 - - _ - 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 "My.Settings Auto-Save Functionality" -#If _MyType = "WindowsForms" Then - Private Shared addedHandler As Boolean - - Private Shared addedHandlerLockObject As New Object - - _ - Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal 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 ReadOnly Property OrderingSystemConnectionString() As String - Get - Return CType(Me("OrderingSystemConnectionString"),String) - End Get - End Property - End Class -End Namespace - -Namespace My - - _ - Friend Module MySettingsProperty - - _ - Friend ReadOnly Property Settings() As Global.GroupDocs.AssemblyExamples.ProjectBusinessObjects.My.MySettings - Get - Return Global.GroupDocs.AssemblyExamples.ProjectBusinessObjects.My.MySettings.Default - End Get - End Property - End Module -End Namespace diff --git a/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/My Project/Settings.settings b/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/My Project/Settings.settings deleted file mode 100644 index a883e10..0000000 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/My Project/Settings.settings +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - <?xml version="1.0" encoding="utf-16"?> -<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <ConnectionString>Data Source=atirtahir;Initial Catalog=OrderingSystem;Integrated Security=True</ConnectionString> - <ProviderName>System.Data.SqlClient</ProviderName> -</SerializableConnectionString> - Data Source=atirtahir;Initial Catalog=OrderingSystem;Integrated Security=True - - - \ No newline at end of file diff --git a/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/app.config b/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/app.config deleted file mode 100644 index 629961d..0000000 --- a/Examples/VisualBasic/GroupDocs.AssemblyExamples.ProjectEntities/app.config +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - From ef1f869edab025025aa4a604ece7d2730fff6cfe Mon Sep 17 00:00:00 2001 From: Muhammad Rizwan Niazi Date: Wed, 4 Oct 2017 12:17:44 +0500 Subject: [PATCH 08/80] Example code updated with API v17.9 --- .../GroupDocs.AssemblyExamples.BusinessLayer.csproj | 5 ++--- .../packages.config | 2 +- .../GroupDocs.AssemblyExamples/GenerateReport.cs | 8 ++++---- .../GroupDocs.AssemblyExamples.csproj | 8 +++++--- .../GroupDocs.AssemblyExamples/packages.config | 6 +++--- Examples/README.md | 12 ++++++------ README.md | 10 +++++----- .../ReportGenerator.cs | 6 ++++-- .../GroupDocs.ReportGenerator.csproj | 2 +- .../GroupDocs.ReportGenerator/packages.config | 6 +++--- Showcases/GroupDocs.ReportGenerator/README.md | 2 +- 11 files changed, 35 insertions(+), 32 deletions(-) diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj index 5c9a087..a5a1de9 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj @@ -32,9 +32,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.17.8.0\lib\net40-client\GroupDocs.Assembly.dll - True + + ..\..\packages\GroupDocs.Assembly.17.9\lib\net40-client\GroupDocs.Assembly.dll ..\..\packages\Newtonsoft.Json.8.0.2\lib\net45\Newtonsoft.Json.dll diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config index 52916bf..e83ac9d 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs index f0315a7..c1ba0f4 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs @@ -8,7 +8,7 @@ using System.Diagnostics; using GroupDocs.AssemblyExamples.ProjectEntities; using GroupDocs.Assembly.Data; -using static GroupDocs.AssemblyExamples.BusinessLayer.CommonUtilities; + namespace GroupDocs.AssemblyExamples { @@ -815,7 +815,7 @@ public static void GenerateBulletedList(string strDocumentFormat, bool isDatabas //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); // This is needed solely for images in HTML documents. - assembler.KnownTypes.Add(typeof(FileUtil)); + assembler.KnownTypes.Add(typeof(GroupDocs.AssemblyExamples.BusinessLayer.CommonUtilities.FileUtil)); //Call AssembleDocument to generate Bulleted List Report in html format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetProductsData(), "products"); } @@ -1910,7 +1910,7 @@ public static void GenerateCommonMasterDetail(string strDocumentFormat, bool isD //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); // This is needed solely for images in HTML documents. - assembler.KnownTypes.Add(typeof(FileUtil)); + assembler.KnownTypes.Add(typeof(GroupDocs.AssemblyExamples.BusinessLayer.CommonUtilities.FileUtil)); //Call AssembleDocument to generate Common Master-Detail Report in html format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), DataLayer.PopulateData(), "customers"); } @@ -5973,7 +5973,7 @@ public static void GenerateSingleRow(string strDocumentFormat, bool isDatabase, //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); // This is needed solely for images in HTML documents. - assembler.KnownTypes.Add(typeof(FileUtil)); + assembler.KnownTypes.Add(typeof(GroupDocs.AssemblyExamples.BusinessLayer.CommonUtilities.FileUtil)); //Call AssembleDocument to generate Single Row Report in html format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), DataLayer.GetCustomerData(), "customer"); } diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj index ad41957..eac202b 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj @@ -34,9 +34,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.17.8.0\lib\net40-client\GroupDocs.Assembly.dll - True + + ..\..\packages\GroupDocs.Assembly.17.9\lib\net40-client\GroupDocs.Assembly.dll @@ -67,6 +66,9 @@ GroupDocs.AssemblyExamples.ProjectEntities + + + + + + + + + + + + +
      + +

      + +

      <<[value]>>

      + +
      + + + + diff --git a/Examples/Data/ResourceLoad/TestWordsResourceLoad_files/colorschememapping.xml b/Examples/Data/ResourceLoad/TestWordsResourceLoad_files/colorschememapping.xml new file mode 100644 index 0000000..6a0069c --- /dev/null +++ b/Examples/Data/ResourceLoad/TestWordsResourceLoad_files/colorschememapping.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/Examples/Data/ResourceLoad/TestWordsResourceLoad_files/filelist.xml b/Examples/Data/ResourceLoad/TestWordsResourceLoad_files/filelist.xml new file mode 100644 index 0000000..2fc5612 --- /dev/null +++ b/Examples/Data/ResourceLoad/TestWordsResourceLoad_files/filelist.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/Examples/Data/ResourceLoad/TestWordsResourceLoad_files/image001.jpg b/Examples/Data/ResourceLoad/TestWordsResourceLoad_files/image001.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d29fc0010f00d62f64c8e132aeebb29f6d7b371c GIT binary patch literal 1671 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 literal 0 HcmV?d00001 diff --git a/Examples/Data/ResourceSave/TestCellsResourceSaveOneSheet.xlsx b/Examples/Data/ResourceSave/TestCellsResourceSaveOneSheet.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..c4a7e5bf6f6dc6030286f2422f20a4b2f03f31c5 GIT binary patch literal 11041 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 literal 0 HcmV?d00001 diff --git a/Examples/Data/ResourceSave/TestCellsResourceSaveTwoSheets.xlsx b/Examples/Data/ResourceSave/TestCellsResourceSaveTwoSheets.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..b10aea4b670aeb94d8cbca7722d7b8e81612653b GIT binary patch literal 14495 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�cbgJYr7 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 literal 0 HcmV?d00001 diff --git a/Examples/Data/ResourceSave/TestEmailResourceSave.msg b/Examples/Data/ResourceSave/TestEmailResourceSave.msg new file mode 100644 index 0000000000000000000000000000000000000000..d325ce77ea2940999d078feb0e978828d653b266 GIT binary patch literal 25088 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 Ca*iVa literal 0 HcmV?d00001 diff --git a/Examples/Data/ResourceSave/TestWordsResourceSave.docx b/Examples/Data/ResourceSave/TestWordsResourceSave.docx new file mode 100644 index 0000000000000000000000000000000000000000..9e0b2f5f5bd9bf0fe4246c1d08ad773d4e7b1c32 GIT binary patch literal 13628 zcmeHubyQr-^6ubHaCdii3+}D~0>RxSxCAG-TX0B#Ai-S**WgZYNpN?VH#u_8Il1?} z_1^pUcYD^JS$lVXwX0@#bxnU&qpAP}jRk-OzykmPazL!v1il#r0H6T_0AK>(A@wC3 z9o)zI{PmrJG3M7!^_Ix ziCT#Ci>6+%T~nodC)qc2o}`OvYKay>rpXSqaYtIR>Di_*1L3Td7%#50_r)H?{ zGTV0IsE`uyfyvyei73z<1gopaG=y;E5)BB{8GYY#=umuNGef%t*!W7z=b1Jus!B~C zvt~t4eA?lLD67Wi@At``bD z&DY1$`MrH98zmaZx31L4=zI$W0DwSH0M&muCrJW9;|X}iDT93v3GAG2T+HoUSy_I* z|JN!12Yce*OfOFa+Vrp?i=G5O1y8oCEdlWgm03+Emhl$h;PvGcF_#x?=AWO078W24 zei+M)Oid?Ec)Na(c3)36I3-BcLV4egFn4FzqyNz62}lWTD`xkcbJ|4C+P$`T8m5$^ z9}bSv#eP3d0Gn_dkv`Uixx*lNz4Hmlnu30O#+0hIFvnSI{wCd@GcSXEcFsmt-v_Qt zSgIq8xaBLpKcdCU>NHN~__*%X8iQWV{iG(27#sR4CIUM)R_YH4Cgq3(r)`t_-i4i? z`XWP_5b_ZsSs#2YUSsGz@4er}f5~$~u3PtJ!;$cVf!GB&ME$#ee29=7h6nf5gT03c z01x5e=winDyOWqXn!4MA16c#4*rQ~tWh3ZX-`Cz#O<{Q0(`Xavj zSV7&+A=EpH@w62cd{q+m#gFLgykp#7Y}`Cimm4a|&VX|#1Sr`h>$y#S(gnB8Xw_35 zvXC^!IFVf{QB3OZLjrI*hdziWXuj)*_ypPNRq3Bmle5V}vgENP!n8}|pdnB>Vwtg7w8i9!$+?Gehunv8ry zQoVkfEs2Q+#@!jE6vy-VRWn07vsNa8$XQ|S#0{N_VO-Xy3MJP8pWc}L24BReMRy{oS zGuyr`*n)X<@uUTG8^elFf&MDa3|{;%Bv4Wc>tszV=_}!9YFvCwdhtg-Vs@WvW|xPo zJeP<^u@`~1FFcW-X7II&O`k*oKcV% zPC>pd!$z8>qs-?L(<4zHZs zLZm@rIx1GofCksP2)^2hI48*b0gj zCAi!SLsiSg6g5UeF_19GLA`gtui3IZEzSJr?_fRb`})cQ4<}1gyNK@=%G*ysnpJSB zt|k#WpBoKML8?>c$P=RP&1H~^k|u9)j-gEZVTv}d?3Hp!+WkGR!$;ZQRA6Kp-LI0B zE6_N;(luG9^I`Znn+aLaqEyWYkF$`?6SK{6ZW$mH`t|#p8;iY-a$aPasMSjszWtc) zJ}W%bfk~#!r_i}cwn}boX!^ax`gzyGayyOS_^qR=dmk`qZ^>!XBTXLRTxoe{cj==B~ zQVI{9hfdZ$ZaJQ}%I+;lId3z+mX1Y-9R#lOa|rVw-1T_yg`9-awe+%f8N3ekWhaTw zmdOB#qfNp`3Iyl(nRr3`=siD;Pi8Mz%1!0!ndCt{B2^TVlLsEr)p2o*ZE19ldX6s6OZ#?*lkP)^R^~!6q|G2xM;GwZ+$yx-t>KXR0_=EUI03inu z=Y7Bk2lxCuu>V{&?9I)rjajYjjV;aDS!|pvK?|UD0GhnCoHPIe0s>$JegQzs00{s* zEG!%>3_Khh90CG7A~F^VG7=IpJ_hCsEMfvu5@G@(A~Gr#S~3bIN+KdUUV0`rb}lY1 zQd)jtJ`N!kPA-n0LLd+j5Rj3O@la6kILL{}IsTs;s0)A&51;_3LP1afAkiV9&>=v* z08#(|0tT$@Plf+z5Rg#NFtBj&2#84F0rhAANC+q>NN6Y+7-;ai3E>Cs2SB64V34zm z!D6Zz!%;Y6alA{&ho=;;24bsEo>Fm|xC9{};^5-p6HwF8($O<;ar5x<@e4>uN=eJe z%E@bJYH91d($zCHGqE#_95*ijB5&1qbDLExIEj=T%ps=X;6zKN`Gv)$jm@p?o!!0fKlabgFD|dHZ*K4If7%5B zfco96e_8g6UFcxDAfch5py7Vn1p(;+KA_N{VaVBGF~rp1jGZwlINrfyi6`V&0}&`W z)lacaTqY55sJJ$$&wiTrn`QrZh6Vk9S@ti({<3QcfD8ozet1ymfR})qd%7y&86oSE zmHqiSZ);hTy6ij-_}RsXeii0-|rkY2dNNihm3$uDj$U5G?%Av<(JJK}%>H?Qn%6#c+Z|sQdeVj)g%dOSjy8>|# ztf1N=pb`cGpi`Xr)ivM_UE4cMi@4Fov5WQZ+`Ca$-_QFPB62C9AoY8TG{dYGv*bIM z$e=HvYc&$_tYbMzyBc1}rC8d=xUUh?>>6}MmjX%U?>_ad0_M3;^ba`>JmLxr4JnF_ zWjSg;w>k`H6SArJ1|Pi_;qIJ1JZo>O9zc4}BSKm%?0c3V`E-+jXbESKggEx{y&yNzzzwNx%iC5Wzxry_J z%TvEUJwdC6RYk~WF8ijtZ)Q8{sM<4oxI?r3kk&$Fw8zH%N?1udX}vx%Lo~QoS+il~ zjnqZ#z_G{WK3!9}L@s*3M8%flBP!RdBj!iv4M+TQIS?RjOFLjg{>SF*ww15UF3Pf+ zBgGyfA_(vTpPyu*IBEUkhsF^=T(1SjhT@uCL?Gupg!KxO3&B%rYx!-k;5-WXo*vJd{)o--p$H$bO#}$q>`WQ%#35 zKBvq5-ur!4<4RkjRgjqU8}4s0bjM~xy)IXYMU@{n^~qvx}& zm(WfhPF0s(vxMMfM!03iwx zpaTX=72;Yy;BEu=>6Gq)x%2Tf>iHH+O%!g?9t7A6d2`cMUg7<9PQk~_$4Xc6@v}7i zOG*N|JY@ZLf!=ge9_uqi+^o#)%~^kYXaBixI@DE)BIL#Ez`ZB!T_Fw_yETpET`(22 zuFVQLq@kAalFm^p$H$jjHNb?V=Ep%Sw*Ha-Zq=L49tz>ul0=cF%hZ)Gn^B|G#W-` zK`f`tN^{M_23*=kY=l}+V4cbx>LFh>+H|%{23!sPxq{n!^+n!~Oz*_Cbv04(g;M=7 z)ho3aVq74d_XDwLrjEwW@ZjKyELgI?b>9UJ29&PrN{B9q?GoVQAQCEWP_*WHXkUMoSJYKZk#l@ z*8x!QI0x_Mv0E`c(F2en`KLcb#a?+I8LsIYajP2E-5&EkT$R0>f1Kw%HDGDTa^<-r)vaDv~3j#<00- zu{OT;{&~Q)vzD9`^f6h9?w%6Fn$_?vfP_s5n|ROk$Lu7Tqv7-I?vAU|{rA2fg>RHe zUyAr$*7ofaC{ljgzq)zz_;jgpI)8Cu`0{Qzc2D5>CRgO)XrA>*G#~1X-_v0n?zo}f z#a-@8q3W(y`a%D6)-U;?5B}{(y5r9?ib9SFGa<#*x5+$le`r@kzD0IT_gs!rA zF!K@?&?g-9m^|yVi+;hUVxtz2`hoLXy?|p4dGBQ1JvU)Og}82}n8V=OjM!F`jRbqU z0Oro%Ma@bNJJ%lrgLz(2gULPc#j=6ramr{l>EC)5A`V1Q@pjypx`dIv(ex!;B4qk) z^zaROB1cD7q*Zs9BgUQ$CJK9ZJK|y$i&n7X7hY4Cgq$&aKuCXu-xKnEP?*kya447` zDLT-VoRgSb97rblVcE{1rdjN!B^lRe>1IfXJwb6j5~UfAem22R;LJ2#vEqX>!NEe@ ztt5*Yyn~uCwb&SO;;cD|Q49As4|a|zzw6Zw%9Pm-(V86mT6+Y^u_r!S(}?7Y^UNGt zK4FcOd9!amjWsNxm$Qv3M=d_&Fzq8>++`|8Zh2N(JRg!nZ#Qi{NWV_$%R1m9UADV* zrX7RY-5i(4_gEJgW3cOce*;rDN6&q_nv5w>!}hYDwWUlVX0XW?~8B zbV3g-4 zerd;=>U>Vx^$Nbht;#0BTayLetN|1j!jmpn;6OgfL@-X4Z}FCeX$c3XV)RKHXWupf zyBP!+^`ALi`H=A1F+PuNM8n~Y+06=PJ9GMOoo(umdd|wdBw=k4{twIx8V<)aHKqYe$0xOv>rg{ zrI-Lo>3)ok64`b})iAhw#AHH)f~Iw;IIt%B@m{}vZgkgEY^a_Qm(^uoL4|`LPK~Ug zuDq;<)x+e-Pr*q$pHuFh3^fiIF}h$+2erffSr;HN+Q*SeZn3m!DCMkFiK9Px+hv9=?9lx{fja_-adqO@)}O{P9-{NYU9!9c6vHn%q8 zH{Mq}Q|*=RN8$$!*%*!iWL7iU!T2*A{WvzCwUd_k4dLrHQWad6@ts#c0q@JkP$M=C zOKk|NXuf~%czx&RWsr>y#MW}7$VGqLl-YTWplO@WLJK*Hcg**K!EpY{Hs?)QU7OfY zMQe)s$ibX~!T4t#IK%p>lUb7Cya>Kh@4E$wJ0XePC|=ewzpWz$_1CqmFkJK+?k`vv zO|Pzt^_HKnVT|xI;9{1(7&zV#6u)g3WNLmg{5*3_*sk8W!TZqDaZCw>U(}brDw01E;x0Vq}6cU{mLoP=>rZOvcct&X&&Q{d_C1 zj~@jst%%4G6Wc3!;urur`bN&#tEb8->_o2EKVn^1t8M<&LGKYl=}L`_4$xM2HQUf| zd?5PqNw2SX8&OwJRr;vx!N8KZ#pF29(DX zuTRDesFuyfeUlNTWz9QQ97r-hJ?IwYYw#1LPvq1bFxRd z%-19F&3%a$Vm$wBw(?9LW8`Xzi5jQAl$S|0;>Jh7nx#m*M9w>Mc34@lL8MDnxKUz$ z!$0M9&?&i-vFsgi;N*g}f7ZW=dM2(hqu<)T;6V`TpQ(X<8q}4Sq(M~`1?YE%!i&Yz z2S&qmjdP5%aodP71X$P>HD<4AO9bd3UOb-lr7gdZ1eKas5M1UZ*p#4aPED577j=uM zl5BruIX9v<;?5SW@5;Six+%3CC$Dwt^Y0~z|MY%-*8TBz(ZE5BeFEYKUvB-ViGW8r znQf7#M5RfVGNp8*V3q(T(i=QO4Un2095c`9LLTrDj=>;5?;DB0BH5twWtbSxp;;jr zp?i&Ue2m~C)gX;>LvZ!n7t`Fpy^ZhNDQ1c!@Xr$)YY~|=>BQ=0ljTN6S$5Dz$~^6U z(mBRJOhx8LIW;WT%fss@qs>u$`>@!W2Fn&y*WvvYC~2Hf1VPU0=zx?c9|C#A!_m05 z?>x_>N}JIH3y6p$aE$I~;#fio&j)p13cloC!+#=5JfH>un_Z^CQ)On5TZ zdVe^zMazuv)_UfkI&Kd6eo0rfxN!3ozW+o#d>Vdu{pLS9yT1KX5(1bWI0GM8;1R!3 zrXJ=d8h`Wm=7!PaeIj?iq2$P*FG{MrCiq!}%$y!t_GTOrGO zl`6+U%K4bIDA>P`@(QweE;_8fl*~&ntj=a^d?nO;qB{r9gFc( zdPH}FQzr%g;P~OnH4aH^`XK?cyUBZvx*X4p455hcB6yv`Zsf%2lYQtRKu!dA^OBK6 z+9kCmkune3=+3SkP~aJa=-NsZMzy|Vj3{j>7N^EopbG+?h>@~y&kWL+rY!Vv zPoYnkGnbhEX`P%YRrm7*e{Fl(hi_c|1JR{GSOI?dH5LPH|3{lh>U`T8XrlXP?yo>JX=Gr19;1(x zTfA9aS~6h@H)OQQAQ_x77it@TR2Pb2-V!eJD?)~=h8$ni+p(Ng>(yX$UGJR|v7=`Q z|7>9)ZXNgLlJ3B)C;Q+{M9 zp@s9_T2Nq+sb5s1uedsH0r3T5>emP!&WAE2)WZe={w>F|DI;^2$CVB04GMEodAFre|oyBo0pyWZ$Z5++rV|X1wHIUa2nJ#spYdVcy77L z{}q2Z(pF`QD0k4Ik{lyZH8^BAZsE9!6`+psgPM+|=_-X;?E%o+${Mi~ez|~ z#)ZkiPpTwx7zddX!hkWf>3ezW)PCcPWyY^SL8H|@E>k5$`1E{N6>xWS$29VWdK?l( zwx*U(h?M!l*PVyNawBno=^;;BXp(S`Ax5|I&BrL`(Wy@+^|)o8eJ<>n>f2RY!B0;~ zYN2uusx!VU;?Gi{Qlm*L{c##B+-lT|>g6@uN6jyebc-h$w8+Of+NZ0Tyx1{^U^)3A z^InCN4$laI@;pB7CrJG`9qM>uP1WyWM|JuF(YvvDM4?8XB`18}Li;W(M&w{4PV+W& zT$lV}v`z73df)tN__R` zsjA(No`Rhq3#S&eAJdsGL`qClzShhkY}H1qTl1CG>6zJyv(0Lz_3>Rq zvClLTCST>-@<;vUZ?nrf4I9`K)H=<^7lrXBTKL>+f792tB!C%NVczsfW)KkaTE`7vmgaX$H84mFgneK>!$5<#~q zcN9FNF8R2ZNE?SA*Kh*zvahZ8rqq-w0KF8-USNvXy}Y8{W=wkUw(X9lSyKw+%4O+o za3*}t<+f9&pTz0h9#sSYx0$=&l7{lJq3hZ^E@$**`8DQ>bGzLdq7b+1NDQ3JP7L{Q zyWJb2`1w|aG3|mD<7FwH)d|pfph{Z#PiE+|nh z_Y}9+Our4u{bJWdt*9lPWXU<_aZ^359wLfjj1u~z5Uct?#O=1*@Sf0)+#o$>7OD*c zkc@s4U(BI$At<^pDZ=x1PBKx>IBBBA-;f{)KBy>GH@$4bKqK1D|CXj^!_=G%XiiQ| zYvT7wj(vo{knq*$=~S0Vm<}usXB%6IwKTURc8paK1HojV7FU5Y<3*Cq3izby=gDWQ zo`EB=?J4E6E3JVdP;)C|>8RHs@G1ShRQDyM(e1`Z0ZW3F+GJ++20hr_ayP+-j`4-J zELxWYLaId5JXB@w?MexZ?ei4$VK1zLrOhi*;sy-~NfLlOZ5ueP(<5fJqOJL*mLL0= z9Jwo~uQ-m9hYDU#pn4FFgj+7m0p=;j2JI$dsR!3jEck7=i_-5J+KE=HnQfaYR=>&@ zeft~_-JZwX65-98NpYFcm~lmCA(Kplw5T zPr5&^(-kb(K+q;}lNcEy-B{(rj>(ayFSa7I;)g^sGn|}ZVPqAU#xSm>*kAq?`uT`9 z_bK~hFm4OHvSH-)b*7!r>Qx(xmS-8UkGa20;)CBFT^!JdXv4IRVK9PJ6sbY5}EbWff&ljfBAkT zC!kKjfKVx%utU*mJ&YB-JoEn4=seBHlCWt*aJftE=rF}hm*zv7YP*+aYwNDs$;s(v z)h2!Elo$CASSJ)JLLhg%9efJYCRO2z=?LYD@krt7o9^Ulp&$*H)SEa>Ni&mIcqte- z($vABYSu=^MUcpy5}#lR{j-!&cpeS2F{JCDOMoTk(U+$xZYiH&3x_$8{yJ)VSRr!9 zuPD-w(KIB~cV45&dF08tkW^_7Pw7x>>kQ#WuR~kQwW`dn2*u~+%p5>1_OkExOF)Q2KI#rnAn?0b9Z ziKL!2JTwrtEBp9kMwyc+re)PWxsMJ#e;srOuEH;WGg?m1Ezh;IMrz$kpxbnp+33Nd z4Sx!@m*x$Mdkg2NgAp^hm6PygEa_XqvX%?wd7UMd-G%A6?7_6OSsH1_m&;Oabmi7_ zON}l5#FIM4C>~(N*jwr;ni^&pmDZXPyP>-9(G*NgwSUU2mY%Z;mKh=11==^M^04V~~`eNcUT2kv>svi81bd0fm0< zXWAkeSe=d`ob*|Bru0@3b&#ye7{rgwOk7D`bxi_aPIRH1sKpkdShrxri_5AoY8$tM zp%6o()4%tT zL)vRbh=PZzO2cdzN{3?Asr_-O-gjnVt%QxlQWNh43^`+GDEeKsKW_A!KL4(w4J!^R z8$3ZZ*5MGs%Loi-- zLDgVxv2sg#DWItNtM~K~Yum_n{oV^yun9a%BPeJC17DVkr9`I^V0`&ar0n11l_}Wx z;1rW{%WvrMIiPDJ^%BS1zH1t4#`&(sJX;|AxtIW0s~4nK!9Ad*;6Aw$(y`x+;AifJ zsp>7j?rHpuuCCi5Id`VXrc}u$ps)q3mGf+(hRy5x8G7zYz5QeY9p>iZek}!i^{ujE zp3)~;OJ1;E|GRGIS@o7xOuFspt+uN(z@pIHl~($?A%me ztv;W&*?BJ6zGzz!SZsVT*10Ic*a;fL&s~b_M!@40)aWSp=Nn~T-Qn%l(fN{1Z@n_X zv2y+PeLiLT(ei!g;RWbFZk$iL@r0(`7avGASB5kv ze1KF>N^nC|Pb1MxT8;|2koImtbq99VkIj7L*f|}^Y zbx0U(g+D|kD^wAt=*6b1eYvS^=y`P#ys??cQd~ zMM0(sis?KiH+VcYjvP8N$RYM>3Rv#x;$Q3eJOf!!RS;!ZZm}DZfE8nQ>%P5#G{nNO z33+2eISv{bXCv{*au!Dnfh*|0!UvDEb8(2uz6n`@SmN z-WbCPJP`)KGyvM)X#is_369Qxvwg5sky*y+yN$$gk$JCN{T-(*=Lrzl)~_QQEj18 zEY;uEk$eG|E9f7z?7D}1%Tls1b_v5oh#sQo_ELoME%XM^r?6Po?bUOExznT;y^mna zSc|*S7J42uVREk6Cn(my7;+)o<>l{4HQ18GA&$zcu+W6`$Sm}NRUwh^hv9+6w(Vc2 z2EyK7ifp#Bek&8~vEJe3A8wj1UGyXuWS!rtD}=R+kdnHFgM)%lxfBfgv28s+SMrrJ zfbiQ>!&B>aZI-pz+L@7MtjUWPVF6(3{`Xl50m%&J^#1dIME-m#e}4Xle~hRq{8PX` z>)8JU{`|}a-|}x&?Y{#5S>XG3U^_T@{eLR={Z-Ph1)hJ&f&=^Jzm`O5$R literal 0 HcmV?d00001 From db509612b45aaa227810b7b53d5a6cb674b4905a Mon Sep 17 00:00:00 2001 From: Muhammad Umar Date: Mon, 22 Jul 2019 20:00:44 +0500 Subject: [PATCH 35/80] Updated for version 19.7 --- .../CommonUtilities.cs | 10 +- .../DataLayer.cs | 39 +- ...Docs.AssemblyExamples.BusinessLayer.csproj | 4 +- .../packages.config | 2 +- .../BusinessObjects.cs | 9 + .../GenerateReport.cs | 1127 +---------------- .../GroupDocs.AssemblyExamples.csproj | 4 +- .../GroupDocs.AssemblyExamples/Program.cs | 520 ++++---- .../packages.config | 2 +- .../Numbered List_RestartNum.msg | Bin 0 -> 15872 bytes .../Numbered List_RestartNum.pptx | 0 .../Numbered List_RestartNum.xlsx | Bin 0 -> 8806 bytes .../Numbered List_RestartNum.docx | Bin 0 -> 11809 bytes .../Numbered List_RestartNum.msg | Bin 0 -> 24576 bytes .../Merging Cells Dynamically.docx | Bin 12599 -> 12668 bytes .../Numbered List_RestartNum.docx | Bin 0 -> 13959 bytes 16 files changed, 362 insertions(+), 1355 deletions(-) create mode 100644 Examples/Data/Destination/Email Reports/Numbered List_RestartNum.msg create mode 100644 Examples/Data/Destination/Presentation Reports/Numbered List_RestartNum.pptx create mode 100644 Examples/Data/Destination/Spreadsheet Reports/Numbered List_RestartNum.xlsx create mode 100644 Examples/Data/Destination/Word Reports/Numbered List_RestartNum.docx create mode 100644 Examples/Data/Source/Email Templates/Numbered List_RestartNum.msg create mode 100644 Examples/Data/Source/Word Templates/Numbered List_RestartNum.docx diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs index de2c519..d9e31c8 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs @@ -89,9 +89,13 @@ public static void MeteredLicensing() Metered metered = new Metered(); metered.SetMeteredKey("PublicKey", "PrivateKey"); - // Ensure that the product is licensed. - License license = new License(); - Debug.Assert(license.IsLicensed); + //Do something here.... + + // and get consumption quantity + decimal consumptionQuantitiy = GroupDocs.Assembly.Metered.GetConsumptionQuantity(); + + // get consumption credit (Supported since version 19.7) + decimal consumptionCredit = GroupDocs.Assembly.Metered.GetConsumptionCredit(); } //ExEnd:metered licensing #endregion diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/DataLayer.cs b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/DataLayer.cs index e949fce..a3265d0 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/DataLayer.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/DataLayer.cs @@ -34,21 +34,47 @@ public static class DataLayer /// Returns customer's complete information public static IEnumerable PopulateData() { - BusinessObjects.Customer customer = new BusinessObjects.Customer { CustomerName = "Atir Tahir", CustomerContactNumber = "+9211874", ShippingAddress = "Flat # 1, Kiyani Plaza ISB", Barcode = "123456789qwertyu0025" }; + BusinessObjects.Customer customer = new BusinessObjects.Customer { CustomerName = "Jane Doe", CustomerContactNumber = "+9211874", ShippingAddress = "Flat # 1, Kiyani Plaza ISB", Barcode = "123456789qwertyu0025" }; + customer.Order = new BusinessObjects.Order[] { - new BusinessObjects.Order { Product = new BusinessObjects.Product { ProductName ="Lumia 525" }, Customer = customer, Price= 170, ProductQuantity = 5, OrderDate = new DateTime(2015, 1, 1) } + new BusinessObjects.Order { Product = new BusinessObjects.Product { ProductName ="Lumia 525" }, Customer = customer, Price= 170, ProductQuantity = 5, OrderDate = new DateTime(2015, 1, 1), + Services= new BusinessObjects.Service[] + { + new BusinessObjects.Service { ServiceName="Regular Cleaning"}, + new BusinessObjects.Service { ServiceName="Oven Cleaning"} + } + } }; yield return customer; //yield return statement will return one data at a time - customer = new BusinessObjects.Customer { CustomerName = "Usman Aziz", CustomerContactNumber = "+458789", ShippingAddress = "Quette House, Park Road, ISB", Barcode = "123456789qwertyu0025" }; + customer = new BusinessObjects.Customer { CustomerName = "John Smith", CustomerContactNumber = "+458789", ShippingAddress = "Quette House, Park Road, ISB", Barcode = "123456789qwertyu0025" }; customer.Order = new BusinessObjects.Order[] { - new BusinessObjects.Order { Product = new BusinessObjects.Product { ProductName = "Lenovo G50" }, Customer = customer, Price = 480, ProductQuantity = 2, OrderDate = new DateTime(2015, 2, 1) }, - new BusinessObjects.Order { Product = new BusinessObjects.Product { ProductName = "Pavilion G6"}, Customer = customer, Price = 400, ProductQuantity = 1, OrderDate = new DateTime(2015, 10, 1) }, - new BusinessObjects.Order { Product = new BusinessObjects.Product { ProductName = "Nexus 5"}, Customer = customer, Price = 320, ProductQuantity = 3, OrderDate = new DateTime(2015, 6, 1) } + new BusinessObjects.Order { Product = new BusinessObjects.Product { ProductName = "Lenovo G50" }, Customer = customer, Price = 480, ProductQuantity = 2, OrderDate = new DateTime(2015, 2, 1), + Services= new BusinessObjects.Service[] + { + new BusinessObjects.Service { ServiceName="Regular Cleaning"}, + new BusinessObjects.Service { ServiceName="Oven Cleaning"}, + new BusinessObjects.Service { ServiceName="Carpet Cleaning"} + } + }, + new BusinessObjects.Order { Product = new BusinessObjects.Product { ProductName = "Pavilion G6"}, Customer = customer, Price = 400, ProductQuantity = 1, OrderDate = new DateTime(2015, 10, 1), + Services= new BusinessObjects.Service[] + { + new BusinessObjects.Service { ServiceName="Regular Cleaning"}, + new BusinessObjects.Service { ServiceName="Carpet Cleaning"} + + } + }, + new BusinessObjects.Order { Product = new BusinessObjects.Product { ProductName = "Nexus 5"}, Customer = customer, Price = 320, ProductQuantity = 3, OrderDate = new DateTime(2015, 6, 1), + Services= new BusinessObjects.Service[] + { + new BusinessObjects.Service { ServiceName="Oven Cleaning"} + } + } }; yield return customer; //yield return statement will return one data at a time } @@ -99,6 +125,7 @@ public static BusinessObjects.Customer GetCustomerData() { IEnumerator customer = PopulateData().GetEnumerator(); customer.MoveNext(); + customer.MoveNext(); return customer.Current; } //ExEnd:GetSingleCustomerData diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj index 7d93455..a4efb7b 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj @@ -32,8 +32,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.19.5.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.19.7.0\lib\net40-client\GroupDocs.Assembly.dll True diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config index 64ca09c..5e25a87 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.ProjectEntities/BusinessObjects.cs b/Examples/CSharp/GroupDocs.AssemblyExamples.ProjectEntities/BusinessObjects.cs index 869e2e7..8049102 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.ProjectEntities/BusinessObjects.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.ProjectEntities/BusinessObjects.cs @@ -35,6 +35,9 @@ public class Order public DateTime OrderDate { get; set; } public int OrderNumber { get; set; } public DateTime ShippingDate { get; set; } + public IEnumerable Services { get; set; } + + } public class Product { @@ -43,6 +46,12 @@ public class Product public int Discount { get; set; } public string ProductPrice { get; set; } } + public class Service + { + public string ServiceName { get; set; } + + } + //ExEnd:ProjectEntities } } diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs index 5809779..72d170c 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs @@ -5942,1092 +5942,51 @@ public static void GenerateNumberedList(string strDocumentFormat, bool isDatabas break; } } - public static void GeneratePieChart(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) - { - switch (strDocumentFormat) - { - case "document": - if (isDatabase) - { - //ExStart:GeneratePieChartFromDatabaseinOpenDocumentProcessingFormat - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/Pie Chart_DB.docx"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/Pie Chart_DB Report.docx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Pie Chart Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetCustomersDataDB(), "customers")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GeneratePieChartFromDatabaseinOpenDocumentProcessingFormat - } - else if (isDataSet) - { - //ExStart:GeneratePieChartFromDataSetinOpenDocumentProcessingFormat - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/Pie Chart_DB.docx"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/Pie Chart_DT Report.docx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Pie Chart Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetCustomersAndOrdersDataDT())); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GeneratePieChartFromDataSetinOpenDocumentProcessingFormat - } - else if (isDataSourceXML) - { - //ExStart:GeneratePieChartFromXMLinOpenDocumentProcessingFormat - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/Pie Chart_DB.docx"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/Pie Chart_XML Report.docx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Pie Chart Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetAllDataFromXML(), "ds")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GeneratePieChartFromXMLinOpenDocumentProcessingFormat - } - else if (isJson) - { - //ExStart:GeneratePieChartReportFromJsoninWord - //setting up source - const String strDocumentTemplate = "Word Templates/Pie Chart.docx"; - //Setting up destination - const String strDocumentReport = "Word Reports/Pie Chart_Json Report.docx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Pie Chart report in document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetCustomerDataFromJson(), "customers")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GeneratePieChartReportFromJsoninWord - } - else - { - //ExStart:GeneratePieChartinOpenDocumentProcessingFormat - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/Pie Chart.docx"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/Pie Chart Report.docx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Pie Chart Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.PopulateData(), "customers")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GeneratePieChartinOpenDocumentProcessingFormat - } - break; - - case "spreadsheet": - if (isDatabase) - { - //ExStart:GeneratePieChartFromDatabaseinOpenSpreadsheetFormat - //Setting up source open spreadsheet template - const String strSpreadsheetTemplate = "Spreadsheet Templates/Pie Chart_DB.xlsx"; - //Setting up destination open document report - const String strSpreadsheetReport = "Spreadsheet Reports/Pie Chart_DB Report.xlsx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Pie Chart Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), new DataSourceInfo(DataLayer.GetCustomersDataDB(), "customers")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GeneratePieChartFromDatabaseinOpenSpreadsheetFormat - } - else if (isDataSet) - { - //ExStart:GeneratePieChartFromDataSetinOpenSpreadsheetFormat - //Setting up source open spreadsheet template - const String strSpreadsheetTemplate = "Spreadsheet Templates/Pie Chart_DB.xlsx"; - //Setting up destination open document report - const String strSpreadsheetReport = "Spreadsheet Reports/Pie Chart_DT Report.xlsx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Pie Chart Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), new DataSourceInfo(DataLayer.GetCustomersAndOrdersDataDT())); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GeneratePieChartFromDataSetinOpenSpreadsheetFormat - } - else if (isDataSourceXML) - { - //ExStart:GeneratePieChartFromXMLinOpenSpreadsheetFormat - //Setting up source open spreadsheet template - const String strSpreadsheetTemplate = "Spreadsheet Templates/Pie Chart_DB.xlsx"; - //Setting up destination open document report - const String strSpreadsheetReport = "Spreadsheet Reports/Pie Chart_XML Report.xlsx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Pie Chart Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), new DataSourceInfo(DataLayer.GetAllDataFromXML(), "ds")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GeneratePieChartFromXMLinOpenSpreadsheetFormat - } - else if (isJson) - { - //ExStart:GeneratePieChartReportFromJsoninSpreadsheet - //setting up source - const String strDocumentTemplate = "Spreadsheet Templates/Pie Chart.xlsx"; - //Setting up destination - const String strDocumentReport = "Spreadsheet Reports/Pie Chart_Json Report.xlsx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Pie Chart report in spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetCustomerDataFromJson(), "customers")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GeneratePieChartReportFromJsoninSpreadsheet - } - else - { - //ExStart:GeneratePieChartinOpenSpreadsheetFormat - //Setting up source open spreadsheet template - const String strSpreadsheetTemplate = "Spreadsheet Templates/Pie Chart.xlsx"; - //Setting up destination open document report - const String strSpreadsheetReport = "Spreadsheet Reports/Pie Chart Report.xlsx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Pie Chart Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), new DataSourceInfo(DataLayer.PopulateData(), "customers")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GeneratePieChartinOpenSpreadsheetFormat - } - break; - - case "presentation": - if (isDatabase) - { - //ExStart:GeneratePieChartFromDatabaseinOpenPresentationFormat - //Setting up source open spreadsheet template - const String strPresentationTemplate = "Presentation Templates/Pie Chart_DB.pptx"; - //Setting up destination open document report - const String strPresentationReport = "Presentation Reports/Pie Chart_DB Report.pptx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Pie Chart Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), new DataSourceInfo(DataLayer.GetCustomersDataDB(), "customers")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GeneratePieChartFromDatabaseinOpenPresentationFormat - } - else if (isDataSet) - { - //ExStart:GeneratePieChartFromDataSetinOpenPresentationFormat - //Setting up source open spreadsheet template - const String strPresentationTemplate = "Presentation Templates/Pie Chart_DB.pptx"; - //Setting up destination open document report - const String strPresentationReport = "Presentation Reports/Pie Chart_DT Report.pptx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Pie Chart Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), new DataSourceInfo(DataLayer.GetCustomersAndOrdersDataDT())); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GeneratePieChartFromDataSetinOpenPresentationFormat - } - else if (isDataSourceXML) - { - //ExStart:GeneratePieChartFromXMLinOpenPresentationFormat - //Setting up source open spreadsheet template - const String strPresentationTemplate = "Presentation Templates/Pie Chart_DB.pptx"; - //Setting up destination open document report - const String strPresentationReport = "Presentation Reports/Pie Chart_XML Report.pptx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Pie Chart Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), new DataSourceInfo(DataLayer.GetAllDataFromXML(), "ds")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GeneratePieChartFromXMLinOpenPresentationFormat - } - else if (isJson) - { - //ExStart:GeneratePieChartReportFromJsoninPresentation - //setting up source - const String strDocumentTemplate = "Presentation Templates/Pie Chart.pptx"; - //Setting up destination - const String strDocumentReport = "Presentation Reports/Pie Chart_Json Report.pptx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Pie Chart report in presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetCustomerDataFromJson(), "customers")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GeneratePieChartReportFromJsoninPresentation - } - else - { - //ExStart:GeneratePieChartinOpenPresentationFormat - //Setting up source open spreadsheet template - const String strPresentationTemplate = "Presentation Templates/Pie Chart.pptx"; - //Setting up destination open document report - const String strPresentationReport = "Presentation Reports/Pie Chart Report.pptx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Pie Chart Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), new DataSourceInfo(DataLayer.PopulateData(), "customers")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GeneratePieChartinOpenPresentationFormat - } - break; - case "email": - { - //ExStart:GeneratePieChartiEmailFormat - //Setting up source email template - const String strEmailTemplate = "Email Templates/Pie Chart.msg"; - //Setting up destination email report - const String strEmailReport = "Email Reports/Pie Chart Report.msg"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - - var dataSources = DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.PopulateData()); - var dataSourcesNames = DataLayer.EmailDataSourceName(".msg", "customers"); - - //Call AssembleDocument to generate Pie Chart Report in email format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), - CommonUtilities.SetDestinationDocument(strEmailReport), - new DataSourceInfo(dataSources.DataSource, dataSourcesNames.Name), - new DataSourceInfo(dataSources.Sender, dataSourcesNames.Sender), - new DataSourceInfo(dataSources.Recipients, dataSourcesNames.Recipients), - new DataSourceInfo(dataSources.CC, dataSourcesNames.CC), - new DataSourceInfo(dataSources.Subject, dataSourcesNames.Subject) - ); - - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GeneratePieChartiEmailFormat - } - break; - } - } - public static void GenerateScatterChart(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) - { - switch (strDocumentFormat) - { - case "document": - if (isDatabase) - { - //ExStart:GenerateScatterChartFromDatabaseinOpenDocumentProcessingFormat - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/Scatter Chart_DB.docx"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/Scatter Chart_DB Report.docx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Scatter Chart Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetOrdersDataDB(), "orders")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateScatterChartFromDatabaseinOpenDocumentProcessingFormat - } - else if (isDataSet) - { - //ExStart:GenerateScatterChartFromDataSetinOpenDocumentProcessingFormat - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/Scatter Chart_DB.docx"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/Scatter Chart_DT Report.docx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Scatter Chart Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetCustomersAndOrdersDataDT())); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateScatterChartFromDataSetinOpenDocumentProcessingFormat - } - else if (isDataSourceXML) - { - //ExStart:GenerateScatterChartFromXMLinOpenDocumentProcessingFormat - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/Scatter Chart_DB.docx"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/Scatter Chart_XML Report.docx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Scatter Chart Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetAllDataFromXML(), "ds")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateScatterChartFromXMLinOpenDocumentProcessingFormat - } - else if (isJson) - { - //ExStart:GenerateScatterChartReportFromJsoninWord - //setting up source - const String strDocumentTemplate = "Word Templates/Scatter Chart.docx"; - //Setting up destination - const String strDocumentReport = "Word Reports/Scatter Chart_Json Report.docx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Scatter Chart report in document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetCustomerOrderDataFromJson(), "orders")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateScatterChartReportFromJsoninWord - } - else - { - //ExStart:GenerateScatterChartinOpenDocumentProcessingFormat - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/Scatter Chart.docx"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/Scatter Chart Report.docx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Scatter Chart Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetOrdersData(), "orders")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateScatterChartinOpenDocumentProcessingFormat - } - break; - - case "spreadsheet": - if (isDatabase) - { - //ExStart:GenerateScatterChartFromDatabaseinOpenSpreadsheetFormat - //Setting up source open spreadsheet template - const String strSpreadsheetTemplate = "Spreadsheet Templates/Scatter Chart_DB.xlsx"; - //Setting up destination open document report - const String strSpreadsheetReport = "Spreadsheet Reports/Scatter Chart_DB Report.xlsx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Scatter Chart Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), new DataSourceInfo(DataLayer.GetOrdersDataDB(), "orders")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateScatterChartFromDatabaseinOpenSpreadsheetFormat - } - else if (isDataSet) - { - //ExStart:GenerateScatterChartFromDataSetinOpenSpreadsheetFormat - //Setting up source open spreadsheet template - const String strSpreadsheetTemplate = "Spreadsheet Templates/Scatter Chart_DB.xlsx"; - //Setting up destination open document report - const String strSpreadsheetReport = "Spreadsheet Reports/Scatter Chart_DT Report.xlsx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Scatter Chart Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), new DataSourceInfo(DataLayer.GetCustomersAndOrdersDataDT())); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateScatterChartFromDataSetinOpenSpreadsheetFormat - } - else if (isDataSourceXML) - { - //ExStart:GenerateScatterChartFromXMLinOpenSpreadsheetFormat - //Setting up source open spreadsheet template - const String strSpreadsheetTemplate = "Spreadsheet Templates/Scatter Chart_DB.xlsx"; - //Setting up destination open document report - const String strSpreadsheetReport = "Spreadsheet Reports/Scatter Chart_XML Report.xlsx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Scatter Chart Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), new DataSourceInfo(DataLayer.GetAllDataFromXML(), "ds")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateScatterChartFromXMLinOpenSpreadsheetFormat - } - else if (isJson) - { - //ExStart:GenerateScatterChartReportFromJsoninSpreadsheet - //setting up source - const String strDocumentTemplate = "Spreadsheet Templates/Scatter Chart.xlsx"; - //Setting up destination - const String strDocumentReport = "Spreadsheet Reports/Scatter Chart_Json Report.xlsx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Scatter Chart report in spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetCustomerOrderDataFromJson(), "orders")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateScatterChartReportFromJsoninSpreadsheet - } - else - { - //ExStart:GenerateScatterChartinOpenSpreadsheetFormat - //Setting up source open spreadsheet template - const String strSpreadsheetTemplate = "Spreadsheet Templates/Scatter Chart.xlsx"; - //Setting up destination open document report - const String strSpreadsheetReport = "Spreadsheet Reports/Scatter Chart Report.xlsx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Scatter Chart Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), new DataSourceInfo(DataLayer.GetOrdersData(), "orders")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateScatterChartinOpenSpreadsheetFormat - } - break; - - case "presentation": - if (isDatabase) - { - //ExStart:GenerateScatterChartFromDatabaseinOpenPresentationFormat - //Setting up source open spreadsheet template - const String strPresentationTemplate = "Presentation Templates/Scatter Chart_DB.pptx"; - //Setting up destination open document report - const String strPresentationReport = "Presentation Reports/Scatter Chart_DB Report.pptx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Scatter Chart Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), new DataSourceInfo(DataLayer.GetOrdersDataDB(), "orders")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateScatterChartFromDatabaseinOpenPresentationFormat - } - else if (isDataSet) - { - //ExStart:GenerateScatterChartFromDataSetinOpenPresentationFormat - //Setting up source open spreadsheet template - const String strPresentationTemplate = "Presentation Templates/Scatter Chart_DB.pptx"; - //Setting up destination open document report - const String strPresentationReport = "Presentation Reports/Scatter Chart_DT Report.pptx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Scatter Chart Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), new DataSourceInfo(DataLayer.GetCustomersAndOrdersDataDT())); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateScatterChartFromDataSetinOpenPresentationFormat - } - else if (isDataSourceXML) - { - //ExStart:GenerateScatterChartFromXMLinOpenPresentationFormat - //Setting up source open spreadsheet template - const String strPresentationTemplate = "Presentation Templates/Scatter Chart_DB.pptx"; - //Setting up destination open document report - const String strPresentationReport = "Presentation Reports/Scatter Chart_XML Report.pptx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Scatter Chart Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), new DataSourceInfo(DataLayer.GetAllDataFromXML(), "ds")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateScatterChartFromXMLinOpenPresentationFormat - } - else if (isJson) - { - //ExStart:GenerateScatterChartReportFromJsoninPresentation - //setting up source - const String strDocumentTemplate = "Presentation Templates/Scatter Chart.pptx"; - //Setting up destination - const String strDocumentReport = "Presentation Reports/Scatter Chart_Json Report.pptx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Scatter Chart report in presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetCustomerOrderDataFromJson(), "orders")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateScatterChartReportFromJsoninPresentation - } - else - { - //ExStart:GenerateScatterChartinOpenPresentationFormat - //Setting up source open spreadsheet template - const String strPresentationTemplate = "Presentation Templates/Scatter Chart.pptx"; - //Setting up destination open document report - const String strPresentationReport = "Presentation Reports/Scatter Chart Report.pptx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Scatter Chart Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), new DataSourceInfo(DataLayer.GetOrdersData(), "orders")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateScatterChartinOpenPresentationFormat - } - break; - case "email": - { - //ExStart:GenerateScatterChartinEmailFormat - //Setting up source email template - const string strEmailTemplate = "Email Templates/Scatter Chart.msg"; - //Setting up destination email report - const String strEmailReport = "Email Reports/Scatter Chart Report.msg"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - - var dataSources = DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.GetOrdersData()); - var dataSourcesNames = DataLayer.EmailDataSourceName(".msg", "orders"); - - //Call AssembleDocument to generate Scatter Chart Report in email format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), - CommonUtilities.SetDestinationDocument(strEmailReport), - new DataSourceInfo(dataSources.DataSource, dataSourcesNames.Name), - new DataSourceInfo(dataSources.Sender, dataSourcesNames.Sender), - new DataSourceInfo(dataSources.Recipients, dataSourcesNames.Recipients), - new DataSourceInfo(dataSources.CC, dataSourcesNames.CC), - new DataSourceInfo(dataSources.Subject, dataSourcesNames.Subject) - ); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateScatterChartinEmailFormat - } - break; - } - } - public static void GenerateSingleRow(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) - { - switch (strDocumentFormat) - { - case "document": - if (isDatabase) - { - //ExStart:GenerateSingleRowFromDatabaseinOpenDocumentProcessingFormat - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/Single Row_OpenDocument.odt"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/Single Row_DB Report.odt"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Single Row Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetSingleCustomerDataDB(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowFromDatabaseinOpenDocumentProcessingFormat - } - else if (isDataSet) - { - //ExStart:GenerateSingleRowFromDataSetinOpenDocumentProcessingFormat - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/Single Row_OpenDocument.odt"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/Single Row_DT Report.odt"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Single Row Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetSingleCustomerDT(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowFromDataSetinOpenDocumentProcessingFormat - } - else if (isDataSourceXML) - { - //ExStart:GenerateSingleRowFromXMLinOpenDocumentProcessingFormat - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/Single Row_OpenDocument.odt"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/Single Row_XML Report.odt"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Single Row Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetSingleCustomerXML(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowFromXMLinOpenDocumentProcessingFormat - } - else if (isJson) - { - //ExStart:GenerateSingleRowReportFromJsoninOpenWord - //setting up source - const String strDocumentTemplate = "Word Templates/Single Row_OpenDocument.odt"; - //Setting up destination - const String strDocumentReport = "Word Reports/Single Row_OpenDocument_Json Report.odt"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Single Row report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetSingleCustomerDataJson(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowReportFromJsoninOpenWord - } - else - { - //ExStart:GenerateSingleRowinOpenDocumentProcessingFormat - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/Single Row_OpenDocument.odt"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/Single Row Report.odt"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Single Row Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetCustomerData(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowinOpenDocumentProcessingFormat - } - break; - - case "spreadsheet": - if (isDatabase) - { - //ExStart:GenerateSingleRowFromDatabaseinOpenSpreadsheetFormat - //Setting up source open spreadsheet template - const String strSpreadsheetTemplate = "Spreadsheet Templates/Single Row_OpenDocument.ods"; - //Setting up destination open document report - const String strSpreadsheetReport = "Spreadsheet Reports/Single Row_DB Report.ods"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Single Row Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), new DataSourceInfo(DataLayer.GetSingleCustomerDataDB(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowFromDatabaseinOpenSpreadsheetFormat - } - else if (isDataSet) - { - //ExStart:GenerateSingleRowFromDataSetinOpenSpreadsheetFormat - //Setting up source open spreadsheet template - const String strSpreadsheetTemplate = "Spreadsheet Templates/Single Row_OpenDocument.ods"; - //Setting up destination open document report - const String strSpreadsheetReport = "Spreadsheet Reports/Single Row_DT Report.ods"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Single Row Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), new DataSourceInfo(DataLayer.GetSingleCustomerDT(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowFromDataSetinOpenSpreadsheetFormat - } - else if (isDataSourceXML) - { - //ExStart:GenerateSingleRowFromXMLinOpenSpreadsheetFormat - //Setting up source open spreadsheet template - const String strSpreadsheetTemplate = "Spreadsheet Templates/Single Row_OpenDocument.ods"; - //Setting up destination open document report - const String strSpreadsheetReport = "Spreadsheet Reports/Single Row_XML Report.ods"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Single Row Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), new DataSourceInfo(DataLayer.GetSingleCustomerXML(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowFromXMLinOpenSpreadsheetFormat - } - else if (isJson) - { - //ExStart:GenerateSingleRowReportFromJsoninOpenSpreadsheet - //setting up source - const String strDocumentTemplate = "Spreadsheet Templates/Single Row_OpenDocument.ods"; - //Setting up destination - const String strDocumentReport = "Spreadsheet Reports/Single Row_OpenDocument_Json Report.ods"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Single Row report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetSingleCustomerDataJson(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowReportFromJsoninOpenSpreadsheet - } - else - { - //ExStart:GenerateSingleRowinOpenSpreadsheetFormat - //Setting up source open spreadsheet template - const String strSpreadsheetTemplate = "Spreadsheet Templates/Single Row_OpenDocument.ods"; - //Setting up destination open document report - const String strSpreadsheetReport = "Spreadsheet Reports/Single Row Report.ods"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Single Row Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), new DataSourceInfo(DataLayer.GetCustomerData(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowinOpenSpreadsheetFormat - } - break; - - case "presentation": - if (isDatabase) - { - //ExStart:GenerateSingleRowFromDatabaseinOpenPresentationFormat - //Setting up source open spreadsheet template - const String strPresentationTemplate = "Presentation Templates/Single Row_OpenDocument.odp"; - //Setting up destination open document report - const String strPresentationReport = "Presentation Reports/Single Row_DB Report.odp"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Single Row Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), new DataSourceInfo(DataLayer.GetSingleCustomerDataDB(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowFromDatabaseinOpenPresentationFormat - } - else if (isDataSet) - { - //ExStart:GenerateSingleRowFromDataSetinOpenPresentationFormat - //Setting up source open spreadsheet template - const String strPresentationTemplate = "Presentation Templates/Single Row_OpenDocument.odp"; - //Setting up destination open document report - const String strPresentationReport = "Presentation Reports/Single Row_DT Report.odp"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Single Row Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), new DataSourceInfo(DataLayer.GetSingleCustomerDT(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowFromDataSetinOpenPresentationFormat - } - else if (isDataSourceXML) - { - //ExStart:GenerateSingleRowFromXMLinOpenPresentationFormat - //Setting up source open spreadsheet template - const String strPresentationTemplate = "Presentation Templates/Single Row_OpenDocument.odp"; - //Setting up destination open document report - const String strPresentationReport = "Presentation Reports/Single Row_XML Report.odp"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Single Row Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), new DataSourceInfo(DataLayer.GetSingleCustomerXML(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowFromXMLinOpenPresentationFormat - } - else if (isJson) - { - //ExStart:GenerateSingleRowReportFromJsoninOpenPresentation - //setting up source - const String strDocumentTemplate = "Presentation Templates/Single Row_OpenDocument.odp"; - //Setting up destination - const String strDocumentReport = "Presentation Reports/Single Row_OpenDocument_Json Report.odp"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Single Row report in presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetSingleCustomerDataJson(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowReportFromJsoninOpenPresentation - } - else - { - //ExStart:GenerateSingleRowinOpenPresentationFormat - //Setting up source open spreadsheet template - const String strPresentationTemplate = "Presentation Templates/Single Row_OpenDocument.odp"; - //Setting up destination open document report - const String strPresentationReport = "Presentation Reports/Single Row Report.odp"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Single Row Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), new DataSourceInfo(DataLayer.GetCustomerData(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowinOpenPresentationFormat - } - break; - case "html": - { - //ExStart:GenerateSingleRowinHtmlFormat - //Setting up source html template - const String strHtmlTemplate = "HTML Templates/Single Row.html"; - //Setting up destination html report - const String strHtmlReport = "HTML Reports/Single Row Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - // This is needed solely for images in HTML documents. - assembler.KnownTypes.Add(typeof(GroupDocs.AssemblyExamples.BusinessLayer.CommonUtilities.FileUtil)); - //Call AssembleDocument to generate Single Row Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), new DataSourceInfo(DataLayer.GetCustomerData(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowinHtmlFormat - } - break; - - case "text": - { - //ExStart:GenerateSingleRowinTextFormat - //Setting up source text format template - const String strTextTemplate = "Text Templates/Single Row.txt"; - //Setting up destination text format report - const String strDocumentReport = "Text Reports/Single Row Report.txt"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Single Row Report in text format format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strTextTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetCustomerData(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowinTextFormat - } - break; + public static void GenerateNumberedListRestartNum_Documents() + { - case "email": - { - //ExStart:GenerateSingleRowinEmailFormat - //Setting up source email format template - const String strEmailTemplate = "Email Templates/Single Row.msg"; - //Setting up destination email format report - const String strEmailReport = "Email Reports/Single Row Report.msg"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - - var dataSources = DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.GetCustomerData()); - var dataSourcesNames = DataLayer.EmailDataSourceName(".msg", "customer"); + //ExStart:GenerateNumberedListRestartNum + //setting up source + const String strDocumentTemplate = "Word Templates/Numbered List_RestartNum.docx"; + //Setting up destination + const String strDocumentReport = "Word Reports/Numbered List_RestartNum.docx"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class + //Call AssembleDocument to generate Numbered List report in open document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetOrdersData(), "orders")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateNumberedListRestartNum + } + + + public static void GenerateNumberedListRestartNum_Email() + { - //Call AssembleDocument to generate Single Row Report in email format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), - CommonUtilities.SetDestinationDocument(strEmailReport), - new DataSourceInfo(dataSources.DataSource, dataSourcesNames.Name), - new DataSourceInfo(dataSources.Sender, dataSourcesNames.Sender), - new DataSourceInfo(dataSources.Recipients, dataSourcesNames.Recipients), - new DataSourceInfo(dataSources.CC, dataSourcesNames.CC), - new DataSourceInfo(dataSources.Subject, dataSourcesNames.Subject) - ); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowinEmailFormat - } - break; - } - } - public static void GenerateReportLazilyAndRecursively() + //ExStart:GenerateNumberedListRestartNum + //setting up source + const String strDocumentTemplate = "Email Templates/Numbered List_RestartNum.msg"; + //Setting up destination + const String strDocumentReport = "Email Reports/Numbered List_RestartNum.msg"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class + //Call AssembleDocument to generate Numbered List report in open document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetOrdersData(), "orders")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateNumberedListRestartNum + } + public static void GenerateReportLazilyAndRecursively() { //ExStart:GeneratingReportbyRecursivelyandLazilyAccessingtheData //Setting up source open document template diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj index 8dafd68..0a4993e 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj @@ -34,8 +34,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.19.5.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.19.7.0\lib\net40-client\GroupDocs.Assembly.dll True diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs index 95e78a5..f0280b5 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs @@ -26,334 +26,341 @@ static void Main(string[] args) //Change target file format using the file extension //GenerateReport.ChangeTargetFileFormat(); - //Change target file format using explicit specifying - //GenerateReport.ChangeTargetFileFormatUsingExplicitSpecifying(); - #endregion + //Change target file format using explicit specifying + //GenerateReport.ChangeTargetFileFormatUsingExplicitSpecifying(); + #endregion - #region Generating Bubble Chart Report - //Generate a bubble chart report in document processing format - //GenerateReport.GenerateBubbleChart("document", false, false, false, true); + #region Generating Bubble Chart Report + //Generate a bubble chart report in document processing format + //GenerateReport.GenerateBubbleChart("document", false, false, false, true); - //Generate a Bulleted List report in spreadsheet format - //GenerateReport.GenerateBubbleChart("spreadsheet", false, false, false, true); + //Generate a Bulleted List report in spreadsheet format + //GenerateReport.GenerateBubbleChart("spreadsheet", false, false, false, true); - //Generate a Bulleted List report in presentation format - //GenerateReport.GenerateBubbleChart("presentation", false, false, false, true); + //Generate a Bulleted List report in presentation format + //GenerateReport.GenerateBubbleChart("presentation", false, false, false, true); - //Generate a Bubble chart report in email format - //GenerateReport.GenerateBubbleChart("email", false, false, false, false); + //Generate a Bubble chart report in email format + //GenerateReport.GenerateBubbleChart("email", false, false, false, false); - #endregion + #endregion - #region Generating Bulleted List Report - //Generate a Bulleted List report in document processing format - //GenerateReport.GenerateBulletedList("document", false, false, true, false); + #region Generating Bulleted List Report + //Generate a Bulleted List report in document processing format + //GenerateReport.GenerateBulletedList("document", false, false, true, false); - //Generate a Bulleted List report in spreadsheet format - //GenerateReport.GenerateBulletedList("spreadsheet", false, false, true, false); + //Generate a Bulleted List report in spreadsheet format + //GenerateReport.GenerateBulletedList("spreadsheet", false, false, true, false); - //Generate a Bulleted List report in presentation format - //GenerateReport.GenerateBulletedList("presentation", false, false, true, false); + //Generate a Bulleted List report in presentation format + //GenerateReport.GenerateBulletedList("presentation", false, false, true, false); - //Generate a Bulleted List report in html format - //GenerateReport.GenerateBulletedList("html", false, false, false, false); + //Generate a Bulleted List report in html format + //GenerateReport.GenerateBulletedList("html", false, false, false, false); - //Generate a Bulleted List report in text format - //GenerateReport.GenerateBulletedList("text", false, false, false, false); + //Generate a Bulleted List report in text format + //GenerateReport.GenerateBulletedList("text", false, false, false, false); - //Generate a Bulleted List report in email format - //GenerateReport.GenerateBulletedList("email", false, false, false, false); - #endregion + //Generate a Bulleted List report in email format + //GenerateReport.GenerateBulletedList("email", false, false, false, false); + #endregion - #region Generating Chart report with Filtering, Grouping, and Ordering - //Generate a Chart report with Filtering, Grouping, and Ordering in document processing format - //GenerateReport.GenerateChartWithFilteringGroupingAndOrdering("document", false, false, true, false); + #region Generating Chart report with Filtering, Grouping, and Ordering + //Generate a Chart report with Filtering, Grouping, and Ordering in document processing format + //GenerateReport.GenerateChartWithFilteringGroupingAndOrdering("document", false, false, true, false); - //Generate a Chart report with Filtering, Grouping, and Ordering in spreadsheet format - //GenerateReport.GenerateChartWithFilteringGroupingAndOrdering("spreadsheet", false, false, false, true); + //Generate a Chart report with Filtering, Grouping, and Ordering in spreadsheet format + //GenerateReport.GenerateChartWithFilteringGroupingAndOrdering("spreadsheet", false, false, false, true); - //Generate a Chart report with Filtering, Grouping, and Ordering in presentation format - //GenerateReport.GenerateChartWithFilteringGroupingAndOrdering("presentation", false, false, false, true); + //Generate a Chart report with Filtering, Grouping, and Ordering in presentation format + //GenerateReport.GenerateChartWithFilteringGroupingAndOrdering("presentation", false, false, false, true); - //Generate a Chart report with Filtering, Grouping, and Ordering in email format - //GenerateReport.GenerateChartWithFilteringGroupingAndOrdering("email", false, false, false, false); - #endregion + //Generate a Chart report with Filtering, Grouping, and Ordering in email format + //GenerateReport.GenerateChartWithFilteringGroupingAndOrdering("email", false, false, false, false); + #endregion - #region Generating Common List Report - //Generate a Common List Report in document processing format - //GenerateReport.GenerateCommonList("document", false, false, true, false); + #region Generating Common List Report + //Generate a Common List Report in document processing format + //GenerateReport.GenerateCommonList("document", false, false, true, false); - //Generate a Common List Report in spreadsheet format - //GenerateReport.GenerateCommonList("spreadsheet", false, false, true, false); + //Generate a Common List Report in spreadsheet format + //GenerateReport.GenerateCommonList("spreadsheet", false, false, true, false); - //Generate a Common List Report in presentation format - //GenerateReport.GenerateCommonList("presentation", false, false, true, false); + //Generate a Common List Report in presentation format + //GenerateReport.GenerateCommonList("presentation", false, false, true, false); - //Generate a Common List Report in html format - //GenerateReport.GenerateCommonList("html", false, false, false, false); + //Generate a Common List Report in html format + //GenerateReport.GenerateCommonList("html", false, false, false, false); - //Generate a Common List Report in text format - //GenerateReport.GenerateCommonList("text", false, false, false, false); + //Generate a Common List Report in text format + //GenerateReport.GenerateCommonList("text", false, false, false, false); - //Generate a Common List Report in email format - //GenerateReport.GenerateCommonList("email", false, false, false, false); - #endregion + //Generate a Common List Report in email format + //GenerateReport.GenerateCommonList("email", false, false, false, false); + #endregion - #region Generating Common Master-Detail Report - //Generate a Common Master-Detail Report in document processing format - //GenerateReport.GenerateCommonMasterDetail("document", false, false, false, true); + #region Generating Common Master-Detail Report + //Generate a Common Master-Detail Report in document processing format + //GenerateReport.GenerateCommonMasterDetail("document", false, false, false, true); - //Generate a Common Master-Detail Report in spreadsheet format - //GenerateReport.GenerateCommonMasterDetail("spreadsheet", false, false, false, true); + //Generate a Common Master-Detail Report in spreadsheet format + //GenerateReport.GenerateCommonMasterDetail("spreadsheet", false, false, false, true); - //Generate a Common Master-Detail Report in presentation format - //GenerateReport.GenerateCommonMasterDetail("presentation", false, false, false, true); + //Generate a Common Master-Detail Report in presentation format + //GenerateReport.GenerateCommonMasterDetail("presentation", false, false, false, true); - //Generate a Common Master-Detail Report in html format - //GenerateReport.GenerateCommonMasterDetail("html", false, false, false, false); + //Generate a Common Master-Detail Report in html format + //GenerateReport.GenerateCommonMasterDetail("html", false, false, false, false); - //Generate a Common Master-Detail Report in text format - //GenerateReport.GenerateCommonMasterDetail("text", false, false, false, false); + //Generate a Common Master-Detail Report in text format + //GenerateReport.GenerateCommonMasterDetail("text", false, false, false, false); - //Generate a Common Master-Detail Report in email format - //GenerateReport.GenerateCommonMasterDetail("email", false, false, false, false); + //Generate a Common Master-Detail Report in email format + //GenerateReport.GenerateCommonMasterDetail("email", false, false, false, false); - #endregion + #endregion - #region Generating In-Paragraph List Report - //Generate an In-Paragraph List Report in document processing format - //GenerateReport.GenerateInParagraphList("document", false, false, false, true); + #region Generating In-Paragraph List Report + //Generate an In-Paragraph List Report in document processing format + //GenerateReport.GenerateInParagraphList("document", false, false, false, true); - //Generate an In-Paragraph List Report in spreadsheet format - //GenerateReport.GenerateInParagraphList("spreadsheet", false, false, false, true); + //Generate an In-Paragraph List Report in spreadsheet format + //GenerateReport.GenerateInParagraphList("spreadsheet", false, false, false, true); - //Generate an In-Paragraph List Report in presentation format - //GenerateReport.GenerateInParagraphList("presentation", false, false, false, true); + //Generate an In-Paragraph List Report in presentation format + //GenerateReport.GenerateInParagraphList("presentation", false, false, false, true); - //Generate an In-Paragraph List Report in html format - //GenerateReport.GenerateInParagraphList("html", false, false, false, false); + //Generate an In-Paragraph List Report in html format + //GenerateReport.GenerateInParagraphList("html", false, false, false, false); - //Generate an In-Paragraph List Report in text format - //GenerateReport.GenerateInParagraphList("text", false, false, false, false); + //Generate an In-Paragraph List Report in text format + //GenerateReport.GenerateInParagraphList("text", false, false, false, false); - //Generate an In-Paragraph List Report in email format - //GenerateReport.GenerateInParagraphList("email", false, false, false, false); - #endregion + //Generate an In-Paragraph List Report in email format + //GenerateReport.GenerateInParagraphList("email", false, false, false, false); + #endregion - #region Generating In-Table with Alternate Content Report - //Generate an In-Table List with Alternate Content Report in document processing format - //GenerateReport.GenerateInTableListWithAlternateContent("document", false, false, false, true); + #region Generating In-Table with Alternate Content Report + //Generate an In-Table List with Alternate Content Report in document processing format + //GenerateReport.GenerateInTableListWithAlternateContent("document", false, false, false, true); - //Generate an In-Table List with Alternate Content Report in spreadsheet format - //GenerateReport.GenerateInTableListWithAlternateContent("spreadsheet", false, false, false, true); + //Generate an In-Table List with Alternate Content Report in spreadsheet format + //GenerateReport.GenerateInTableListWithAlternateContent("spreadsheet", false, false, false, true); - //Generate an In-Table List with Alternate Content Report in presentation format - //GenerateReport.GenerateInTableListWithAlternateContent("presentation", false, false, false, true); + //Generate an In-Table List with Alternate Content Report in presentation format + //GenerateReport.GenerateInTableListWithAlternateContent("presentation", false, false, false, true); - //Generate an In-Table List with Alternate Content Report in html format - //GenerateReport.GenerateInTableListWithAlternateContent("html", false, false, false, false); + //Generate an In-Table List with Alternate Content Report in html format + //GenerateReport.GenerateInTableListWithAlternateContent("html", false, false, false, false); - //Generate an In-Table List with Alternate Content Report in email format - //GenerateReport.GenerateInTableListWithAlternateContent("email", false, false, false, false); + //Generate an In-Table List with Alternate Content Report in email format + //GenerateReport.GenerateInTableListWithAlternateContent("email", false, false, false, false); - #endregion + #endregion - #region Generating In-Table with Filtering, Grouping and Ordering Report - //Generate an In-Table List with Filtering, Grouping, and Ordering Report in document processing format - //GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("document", false, false, false, true); + #region Generating In-Table with Filtering, Grouping and Ordering Report + //Generate an In-Table List with Filtering, Grouping, and Ordering Report in document processing format + //GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("document", false, false, false, true); - //Generate an In-Table List with Filtering, Grouping, and Ordering Report in spreadsheet format - //GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("spreadsheet", false, false, false, true); + //Generate an In-Table List with Filtering, Grouping, and Ordering Report in spreadsheet format + //GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("spreadsheet", false, false, false, true); - //Generate an In-Table List with Filtering, Grouping, and Ordering Report in presentation format - //GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("presentation", false, false, false, true); + //Generate an In-Table List with Filtering, Grouping, and Ordering Report in presentation format + //GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("presentation", false, false, false, true); - //Generate an In-Table List with Filtering, Grouping, and Ordering Report in html format - //GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("html", false, false, false, false); + //Generate an In-Table List with Filtering, Grouping, and Ordering Report in html format + //GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("html", false, false, false, false); - //Generate an In-Table List with Filtering, Grouping, and Ordering Report in email format - //GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("email", false, false, false, false); - #endregion + //Generate an In-Table List with Filtering, Grouping, and Ordering Report in email format + //GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("email", false, false, false, false); + #endregion - #region Generating In-Table List with Highlighted Rows Report - //Generate an In-Table List with Highlighted Rows Report in document processing format - //GenerateReport.GenerateInTableListWithHighlightedRows("document", false, false, false, true); + #region Generating In-Table List with Highlighted Rows Report + //Generate an In-Table List with Highlighted Rows Report in document processing format + //GenerateReport.GenerateInTableListWithHighlightedRows("document", false, false, false, true); - //Generate an In-Table List with Highlighted Rows Report in spreadsheet format - //GenerateReport.GenerateInTableListWithHighlightedRows("spreadsheet", false, false, false, true); + //Generate an In-Table List with Highlighted Rows Report in spreadsheet format + //GenerateReport.GenerateInTableListWithHighlightedRows("spreadsheet", false, false, false, true); - //Generate an In-Table List with Highlighted Rows Report in presentation format - //GenerateReport.GenerateInTableListWithHighlightedRows("presentation", false, false, false, true); + //Generate an In-Table List with Highlighted Rows Report in presentation format + //GenerateReport.GenerateInTableListWithHighlightedRows("presentation", false, false, false, true); - //Generate an In-Table List with Highlighted Rows Report in html format - //GenerateReport.GenerateInTableListWithHighlightedRows("html", false, false, false, false); + //Generate an In-Table List with Highlighted Rows Report in html format + //GenerateReport.GenerateInTableListWithHighlightedRows("html", false, false, false, false); - //Generate an In-Table List with Highlighted Rows Report in email format - //GenerateReport.GenerateInTableListWithHighlightedRows("email", false, false, false, false); + //Generate an In-Table List with Highlighted Rows Report in email format + //GenerateReport.GenerateInTableListWithHighlightedRows("email", false, false, false, false); - #endregion + #endregion - #region Generating In-Table List Report - //Generate an In-Table List Report in document processing format - //GenerateReport.GenerateInTableList("document", false, false, false, true); + #region Generating In-Table List Report + //Generate an In-Table List Report in document processing format + //GenerateReport.GenerateInTableList("document", false, false, false, true); - //Generate an In-Table List Report in spreadsheet format - //GenerateReport.GenerateInTableList("spreadsheet", false, false, false, true); + //Generate an In-Table List Report in spreadsheet format + //GenerateReport.GenerateInTableList("spreadsheet", false, false, false, true); - //Generate an In-Table List Report in presentation format - //GenerateReport.GenerateInTableList("presentation", false, false, false, true); + //Generate an In-Table List Report in presentation format + //GenerateReport.GenerateInTableList("presentation", false, false, false, true); - //Generate an In-Table List Report in html format - //GenerateReport.GenerateInTableList("html", false, false, false, false); + //Generate an In-Table List Report in html format + //GenerateReport.GenerateInTableList("html", false, false, false, false); - //Generate an In-Table List Report in email format - //GenerateReport.GenerateInTableList("email", false, false, false, false); - #endregion + //Generate an In-Table List Report in email format + //GenerateReport.GenerateInTableList("email", false, false, false, false); + #endregion - #region Generating In-Table Master-Detail Report - //Generate an In-Table Master-Detail Report in document processing format - //GenerateReport.GenerateInTableMasterDetail("document", false, false, false, true); + #region Generating In-Table Master-Detail Report + //Generate an In-Table Master-Detail Report in document processing format + //GenerateReport.GenerateInTableMasterDetail("document", false, false, false, true); - //Generate an In-Table Master-Detail Report in spreadsheet format - //GenerateReport.GenerateInTableMasterDetail("spreadsheet", false, false, false, true); + //Generate an In-Table Master-Detail Report in spreadsheet format + //GenerateReport.GenerateInTableMasterDetail("spreadsheet", false, false, false, true); - //Generate an In-Table Master-Detail Report in presentation format - //GenerateReport.GenerateInTableMasterDetail("presentation", false, false, false, true); + //Generate an In-Table Master-Detail Report in presentation format + //GenerateReport.GenerateInTableMasterDetail("presentation", false, false, false, true); - //Generate an In-Table Master-Detail Report in html format - //GenerateReport.GenerateInTableMasterDetail("html", false, false, false, false); + //Generate an In-Table Master-Detail Report in html format + //GenerateReport.GenerateInTableMasterDetail("html", false, false, false, false); - //Generate an In-Table Master-Detail Report in email format - //GenerateReport.GenerateInTableMasterDetail("email", false, false, false, false); - #endregion + //Generate an In-Table Master-Detail Report in email format + //GenerateReport.GenerateInTableMasterDetail("email", false, false, false, false); + #endregion - #region Generating In-Table with Running (Progressive) Total Report - //Generate an In-Table List with Running (Progressive) Total Report in document processing format - //GenerateReport.GenerateInTableListWithProgressiveTotal("document", false, false, false, false); + #region Generating In-Table with Running (Progressive) Total Report + //Generate an In-Table List with Running (Progressive) Total Report in document processing format + //GenerateReport.GenerateInTableListWithProgressiveTotal("document", false, false, false, false); - //Generate an In-Table List with Running (Progressive) Total Report in spreadsheet format - //GenerateReport.GenerateInTableListWithProgressiveTotal("spreadsheet", false, false, false, false); + //Generate an In-Table List with Running (Progressive) Total Report in spreadsheet format + //GenerateReport.GenerateInTableListWithProgressiveTotal("spreadsheet", false, false, false, false); - //Generate an In-Table List with Running (Progressive) Total Report in presentation format - //GenerateReport.GenerateInTableListWithProgressiveTotal("presentation", false, false, false, false); + //Generate an In-Table List with Running (Progressive) Total Report in presentation format + //GenerateReport.GenerateInTableListWithProgressiveTotal("presentation", false, false, false, false); - //Generate an In-Table List with Running (Progressive) Total Report in html format - //GenerateReport.GenerateInTableListWithProgressiveTotal("html", false, false, false, false); + //Generate an In-Table List with Running (Progressive) Total Report in html format + //GenerateReport.GenerateInTableListWithProgressiveTotal("html", false, false, false, false); - //Generate an In-Table List with Running (Progressive) Total Report in email format - //GenerateReport.GenerateInTableListWithProgressiveTotal("email", false, false, false, false); - #endregion + //Generate an In-Table List with Running (Progressive) Total Report in email format + //GenerateReport.GenerateInTableListWithProgressiveTotal("email", false, false, false, false); + #endregion - #region Generating Multicolored Number List Report - //Generate a Multicolored Numbered List Report in document processing format - //GenerateReport.GenerateMulticoloredNumberedList("document", false, false, false, true); + #region Generating Multicolored Number List Report + //Generate a Multicolored Numbered List Report in document processing format + //GenerateReport.GenerateMulticoloredNumberedList("document", false, false, false, true); - //Generate a Multicolored Numbered List Report in spreadsheet format - //GenerateReport.GenerateMulticoloredNumberedList("spreadsheet", false, false, false, true); + //Generate a Multicolored Numbered List Report in spreadsheet format + //GenerateReport.GenerateMulticoloredNumberedList("spreadsheet", false, false, false, true); - //Generate a Multicolored Numbered List Report in presentation format - //GenerateReport.GenerateMulticoloredNumberedList("presentation", false, false, false, true); + //Generate a Multicolored Numbered List Report in presentation format + //GenerateReport.GenerateMulticoloredNumberedList("presentation", false, false, false, true); - //Generate a Multicolored Numbered List Report in html format - //GenerateReport.GenerateMulticoloredNumberedList("html", false, false, false, false); + //Generate a Multicolored Numbered List Report in html format + //GenerateReport.GenerateMulticoloredNumberedList("html", false, false, false, false); - //Generate a Multicolored Numbered List Report in email format - //GenerateReport.GenerateMulticoloredNumberedList("email", false, false, false, false); - #endregion + //Generate a Multicolored Numbered List Report in email format + //GenerateReport.GenerateMulticoloredNumberedList("email", false, false, false, false); + #endregion - #region Generating Numbered List Report - //Generate a Numbered List Report in document processing format - //GenerateReport.GenerateNumberedList("document", false, false, false, true); + #region Generating Numbered List Report + //Generate a Numbered List Report in document processing format + //GenerateReport.GenerateNumberedList("document", false, false, false, true); - //Generate a Numbered List Report in spreadsheet format - //GenerateReport.GenerateNumberedList("spreadsheet", false, false, false, true); + //Generate a Numbered List Report in spreadsheet format + //GenerateReport.GenerateNumberedList("spreadsheet", false, false, false, true); - //Generate a Numbered List Report in presentation format - //GenerateReport.GenerateNumberedList("presentation", false, false, false, true); + //Generate a Numbered List Report in presentation format + //GenerateReport.GenerateNumberedList("presentation", false, false, false, true); - //Generate a Numbered List Report in html format - //GenerateReport.GenerateNumberedList("html", false, false, false, false); + //Generate a Numbered List Report in html format + //GenerateReport.GenerateNumberedList("html", false, false, false, false); - //Generate a Numbered List Report in text format - //GenerateReport.GenerateNumberedList("text", false, false, false, false); + //Generate a Numbered List Report in text format + //GenerateReport.GenerateNumberedList("text", false, false, false, false); - //Generate a Numbered List Report in email format - //GenerateReport.GenerateNumberedList("email", false, false, false, false); - #endregion + //Generate a Numbered List Report in email format + //GenerateReport.GenerateNumberedList("email", false, false, false, false); - #region Generating Pie Chart Report - //Generate a Pie Chart Report in document processing format - //GenerateReport.GeneratePieChart("document", false, false, false, true); + //Generate a Nested Numbered List Report with restartNum in Documents + //GenerateReport.GenerateNumberedListRestartNum_Documents(); - //Generate a Pie Chart Report in spreadsheet format - //GenerateReport.GeneratePieChart("spreadsheet", false, false, false, true); + //Generate a Nested Numbered List Report with restartNum in Emails + //GenerateReport.GenerateNumberedListRestartNum_Email(); - //Generate a Pie Chart Report in presentation format - //GenerateReport.GeneratePieChart("presentation", false, false, true, false); + #endregion - //Generate a Pie Chart Report in email format - //GenerateReport.GeneratePieChart("email", false, false, false, false); - #endregion + #region Generating Pie Chart Report + //Generate a Pie Chart Report in document processing format + //GenerateReport.GeneratePieChart("document", false, false, false, true); - #region Generating Scatter Chart Report - //Generate a Scatter Chart Report in document processing format - //GenerateReport.GenerateScatterChart("document", false, false, false, true); + //Generate a Pie Chart Report in spreadsheet format + //GenerateReport.GeneratePieChart("spreadsheet", false, false, false, true); - //Generate a Scatter Chart Report in spreadsheet format - //GenerateReport.GenerateScatterChart("spreadsheet", false, false, false, true); + //Generate a Pie Chart Report in presentation format + //GenerateReport.GeneratePieChart("presentation", false, false, true, false); - //Generate a Scatter Chart Report in presentation format - //GenerateReport.GenerateScatterChart("presentation", false, false, false, true); + //Generate a Pie Chart Report in email format + //GenerateReport.GeneratePieChart("email", false, false, false, false); + #endregion + + #region Generating Scatter Chart Report + //Generate a Scatter Chart Report in document processing format + //GenerateReport.GenerateScatterChart("document", false, false, false, true); - //Generate a Scatter Chart Report in email format - //GenerateReport.GenerateScatterChart("email", false, false, false, false); - #endregion + //Generate a Scatter Chart Report in spreadsheet format + //GenerateReport.GenerateScatterChart("spreadsheet", false, false, false, true); - #region Generating Single Row Report - //Generate a Single Row Report in document processing format - //GenerateReport.GenerateSingleRow("document", false, false, false, false); + //Generate a Scatter Chart Report in presentation format + //GenerateReport.GenerateScatterChart("presentation", false, false, false, true); + + //Generate a Scatter Chart Report in email format + //GenerateReport.GenerateScatterChart("email", false, false, false, false); + #endregion - //Generate a Single Row Report in spreadsheet format - //GenerateReport.GenerateSingleRow("spreadsheet", false, false, false, true); + #region Generating Single Row Report + //Generate a Single Row Report in document processing format + //GenerateReport.GenerateSingleRow("document", false, false, false, false); - //Generate a Single Row Report in presentation format - //GenerateReport.GenerateSingleRow("presentation", false, false, false, true); + //Generate a Single Row Report in spreadsheet format + //GenerateReport.GenerateSingleRow("spreadsheet", false, false, false, true); - //Generate a Single Row Report in html format - //GenerateReport.GenerateSingleRow("html", false, false, false, false); + //Generate a Single Row Report in presentation format + //GenerateReport.GenerateSingleRow("presentation", false, false, false, true); - //Generate a Single Row Report in text format - //GenerateReport.GenerateSingleRow("text", false, false, false, false); + //Generate a Single Row Report in html format + //GenerateReport.GenerateSingleRow("html", false, false, false, false); - //Generate a Single Row Report in email format - //GenerateReport.GenerateSingleRow("email", false, false, false, false); - #endregion + //Generate a Single Row Report in text format + //GenerateReport.GenerateSingleRow("text", false, false, false, false); - #region Generating Report by Recursively and Lazily Accessing the Data - //GenerateReport.GenerateReportLazilyAndRecursively(); - #endregion + //Generate a Single Row Report in email format + //GenerateReport.GenerateSingleRow("email", false, false, false, false); + #endregion + + #region Generating Report by Recursively and Lazily Accessing the Data + //GenerateReport.GenerateReportLazilyAndRecursively(); + #endregion - #region Generating Report using Multiple DataSources - //Generate a report using multiple data sources in document processing format - //GenerateReport.GenerateReportUsingMultipleDS("document"); - //Generate a report using multiple data sources in spreadsheet format - //GenerateReport.GenerateReportUsingMultipleDS("spreadsheet"); - //Generate a report using multiple data sources in presentation format - //GenerateReport.GenerateReportUsingMultipleDS("presentation"); - #endregion + #region Generating Report using Multiple DataSources + //Generate a report using multiple data sources in document processing format + //GenerateReport.GenerateReportUsingMultipleDS("document"); + //Generate a report using multiple data sources in spreadsheet format + //GenerateReport.GenerateReportUsingMultipleDS("spreadsheet"); + //Generate a report using multiple data sources in presentation format + //GenerateReport.GenerateReportUsingMultipleDS("presentation"); + #endregion - #region Template Syntax Formatting + #region Template Syntax Formatting - //Generate document processing formatted reports with desired string or numeric format - //GenerateReport.TemplateSyntaxFormatting(); + //Generate document processing formatted reports with desired string or numeric format + //GenerateReport.TemplateSyntaxFormatting(); - #endregion + #endregion - #region Insert Outer Documents + #region Insert Outer Documents - //Outer document insertion in a report - //GenerateReport.OuterDocumentInsertion(); + //Outer document insertion in a report + //GenerateReport.OuterDocumentInsertion(); //Insert nested external output documents in word //GenerateReport.InsertNestedExternalDocumentsInWord(); @@ -375,7 +382,7 @@ static void Main(string[] args) #endregion #region Ability to remove selective chart series - // GenerateReport.RemoveSelectiveChartSeries(); + // GenerateReport.RemoveSelectiveChartSeries(); #endregion #region Dynamic Chart Axis Title @@ -386,7 +393,7 @@ static void Main(string[] args) //Dynamic Chart Axis Title in Spreadsheet Document //GenerateReport.DynamicChartAxisTitleSpreadSheet(); //Dynamic Chart Axis Title in Presentation Document - GenerateReport.DynamicChartAxisTitleEmail(); + //GenerateReport.DynamicChartAxisTitleEmail(); #endregion #region Dynamic Color @@ -398,7 +405,7 @@ static void Main(string[] args) // Sets colors of chart series dynamically based upon expressions presentation docuement //GenerateReport.DynamicChartSeriesColorPresentation(); // Sets colors of chart series dynamically based upon expressions email docuement - GenerateReport.DynamicChartSeriesColorEmail(); + //GenerateReport.DynamicChartSeriesColorEmail(); // Sets colors of chart series point color dynamically based upon expressions wordprocessing document //GenerateReport.DynamicChartSeriesPointColor(); @@ -407,29 +414,29 @@ static void Main(string[] args) // Sets colors of chart series point color dynamically based upon expressions prosentation document //GenerateReport.DynamicChartSeriesPointColorPresentation(); // Sets colors of chart series point color dynamically based upon expressions email document - GenerateReport.DynamicChartSeriesPointColorEmail(); - #endregion - - #region Working With Table Row Data Bands - // Working With Table Row DataBands in Word Processing Document - //GenerateReport.WorkingWithTableRowDataBandsWord(); - // Working With Table Row DataBands in SpreadSheet Document - //GenerateReport.WorkingWithTableRowDataBandsSpreadSheet(); - // Working With Table Row DataBands in Presentation Document - //GenerateReport.WorkingWithTableRowDataBandsPresentation(); - // Working With Table Row DataBands in Email Format - //GenerateReport.WorkingWithTableRowDataBandsEmail(); - #endregion - - #region Insert Hyperlinks Dynamically - //Insert Hyperlink Dynamically in Word Document - //GenerateReport.DynamicHyperlinkInsertionWord(); - //Insert Hyperlink Dynamically in Presentation Document - //GenerateReport.DynamicHyperlinkInsertionPresentation(); - //Insert Hyperlink Dynamically in Spreadsheet Document - //GenerateReport.DynamicHyperlinkInsertionSpreadsheet(); - //Insert Hyperlink Dynamically in Email Document - GenerateReport.DynamicHyperlinkInsertionEmail(); + //GenerateReport.DynamicChartSeriesPointColorEmail(); + #endregion + + #region Working With Table Row Data Bands + // Working With Table Row DataBands in Word Processing Document + //GenerateReport.WorkingWithTableRowDataBandsWord(); + // Working With Table Row DataBands in SpreadSheet Document + //GenerateReport.WorkingWithTableRowDataBandsSpreadSheet(); + // Working With Table Row DataBands in Presentation Document + //GenerateReport.WorkingWithTableRowDataBandsPresentation(); + // Working With Table Row DataBands in Email Format + //GenerateReport.WorkingWithTableRowDataBandsEmail(); + #endregion + + #region Insert Hyperlinks Dynamically + //Insert Hyperlink Dynamically in Word Document + //GenerateReport.DynamicHyperlinkInsertionWord(); + //Insert Hyperlink Dynamically in Presentation Document + //GenerateReport.DynamicHyperlinkInsertionPresentation(); + //Insert Hyperlink Dynamically in Spreadsheet Document + //GenerateReport.DynamicHyperlinkInsertionSpreadsheet(); + //Insert Hyperlink Dynamically in Email Document + //GenerateReport.DynamicHyperlinkInsertionEmail(); #endregion @@ -482,7 +489,6 @@ static void Main(string[] args) //Load document table set using custom options //GenerateReport.LoadDocTableSetWithCustomOptions("Multiple Tables Data.docx"); - //Using DocumentTableSet as Data Source //GenerateReport.UseDocumentTableSetAsDataSource("Multiple Tables Data.docx", "Using Document Table Set as Data Source.pptx"); //GenerateReport.DefiningDocumentTableRelations("Related Tables Data.xlsx", "Using Document Table Relations.docx"); @@ -504,6 +510,8 @@ static void Main(string[] args) // Saving of external resource files in a specified folder at relative path while saving output to HTML //GenerateReport.SaveDocToHTMLWithResource_ExplicitFolder(); + Console.WriteLine("Done..."); + Console.ReadKey(); } } } \ No newline at end of file diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config index 617595e..31fb8a6 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Examples/Data/Destination/Email Reports/Numbered List_RestartNum.msg b/Examples/Data/Destination/Email Reports/Numbered List_RestartNum.msg new file mode 100644 index 0000000000000000000000000000000000000000..0225a876d324e59a5936222b00155f89a26f5944 GIT binary patch literal 15872 zcmeHu2UJr@8}^0J5rP5%1vdf2vI+?uDSHtV6~PPGMGY+i3fw?KTg6Z;U?Jez3$Y540;6CbfHtP_S-J|mH|~-RFw79%t3rGL0HEZ)5b*Zj@c)qov>2T&T!R`A z!+bj<<*$?ln8HU46tN1XqKH+oU`0&9#w%hqOhXZ?WBQ6%12a{`n%Hqgtc9IW#M%mC zO-x7W0ysj=(O5h-9!tc+V9di}Fg_N5ao`;frbNLzAB==g6X9JfOyMh}E`qLdca^s* zUDfzVrRv9ZuA`OrhZHxSUTBjJ0A7z0azzR!dA48=7OONMd; zlzEsNrU&~Jf}f(7Af4fm5yb*xvv8 z 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 Yy1W$l`(_dd2==`Izt1vgs=sRg18m!@@c;k- literal 0 HcmV?d00001 diff --git a/Examples/Data/Source/Email Templates/Numbered List_RestartNum.msg b/Examples/Data/Source/Email Templates/Numbered List_RestartNum.msg new file mode 100644 index 0000000000000000000000000000000000000000..9d4299066151b468b1675fa87eceeb8d59682365 GIT binary patch literal 24576 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 b00000005km&@es$S(6VjA_k={000006d+^X delta 2906 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 diff --git a/Examples/Data/Source/Word Templates/Numbered List_RestartNum.docx b/Examples/Data/Source/Word Templates/Numbered List_RestartNum.docx new file mode 100644 index 0000000000000000000000000000000000000000..d1a29d1071d3ef08dec8b9319c12073ecfaa983e GIT binary patch literal 13959 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 HE%pBZQiTE% literal 0 HcmV?d00001 From c4c6625a518d25750678b3e42b6f5f6974c29a1c Mon Sep 17 00:00:00 2001 From: Muhammad Umar Date: Fri, 30 Aug 2019 18:40:46 +0500 Subject: [PATCH 36/80] Update README.md --- README.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7da76f5..e52046a 100644 --- a/README.md +++ b/README.md @@ -11,13 +11,27 @@ GroupDocs.Assembly for .NET is a .NET API engine designed to generate documents

        +## How to Run the Examples + ++ You can either clone the repository using your favorite GitHub client or download the ZIP file from the above button. ++ Extract the contents of the ZIP file to any folder on your computer. All the examples are located in the Examples folder. ++ In the extracted files and folders, you can see solution file for C# Project.. ++ The project is created in Visual Studio 2013, but the solution file is compatible with Visual Studio 2010 SP1 and higher. ++ Open the solution file in Visual Studio and build the project. ++ On the first run, the dependencies will automatically be downloaded via NuGet. ++ Data folder at the root folder of Examples contains some sample input templates used in code examples. It is mandatory that you download the Data folder along with the examples project. ++ Open Program.cs file, all the examples are called from here. ++ Uncomment the examples you want to run from within the project. + +Please find more details for how to run the examples [here](https://docs.groupdocs.com/display/assemblynet/How+to+Run+Examples). + Directory | Description --------- | ----------- [Examples](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Examples) | Contains the package of all .NET examples and sample files that will help you learn how to use product features. [Plugins](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Plugins) | Analyze the progress of GroupDocs.Assembly and WinWard while generating the reports, compare code and template preparation. [Showcases](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Showcases) | Web Report Generator is an ASP.NET Web Forms Application that demonstrates the core functionalities provided by GroupDocs.Assembly for .NET. -# Resources +## Resources + **Website:** [www.groupdocs.com](https://www.groupdocs.com/) + **Product Home:** [GroupDocs.Assembly for .NET](https://products.groupdocs.com/assembly/net) From a9629443ee5997852fd562872cd802641c8b1951 Mon Sep 17 00:00:00 2001 From: Muhammad Umar Date: Mon, 2 Sep 2019 10:15:09 +0500 Subject: [PATCH 37/80] Updated for version 19.8 --- .../CommonUtilities.cs | 10 ++ ...Docs.AssemblyExamples.BusinessLayer.csproj | 4 +- .../packages.config | 2 +- .../GenerateReport.cs | 104 ++++++++++++++++++ .../GroupDocs.AssemblyExamples.csproj | 4 +- .../GroupDocs.AssemblyExamples/Program.cs | 11 ++ .../packages.config | 2 +- ..., Grouping, and Ordering_Dynamic_Title.msg | Bin 50176 -> 50176 bytes .../Dynamic Chart Point Series Color.msg | Bin 0 -> 31744 bytes .../Dynamic Chart Series Color.msg | Bin 0 -> 33280 bytes .../Email Reports/Dynamic Hyperlink.msg | Bin 0 -> 14336 bytes .../Email Reports/Empty Paragraph.msg | Bin 0 -> 13312 bytes .../Markdown Reports/ReadMe Out.md | 6 + .../Destination/Word Reports/ReadMe Out.docx | Bin 0 -> 5638 bytes .../Data/Source/Markdown Templates/ReadMe.md | 6 + .../Numbered List_RestartNum.pptx | Bin 0 -> 37943 bytes .../Numbered List_RestartNum.xlsx | Bin 0 -> 9669 bytes .../Source/Word Templates/Numbered List.docx | Bin 12726 -> 13095 bytes .../Data/Source/Word Templates/ReadMe.docx | Bin 0 -> 12292 bytes 19 files changed, 143 insertions(+), 6 deletions(-) create mode 100644 Examples/Data/Destination/Email Reports/Dynamic Chart Point Series Color.msg create mode 100644 Examples/Data/Destination/Email Reports/Dynamic Chart Series Color.msg create mode 100644 Examples/Data/Destination/Email Reports/Dynamic Hyperlink.msg create mode 100644 Examples/Data/Destination/Email Reports/Empty Paragraph.msg create mode 100644 Examples/Data/Destination/Markdown Reports/ReadMe Out.md create mode 100644 Examples/Data/Destination/Word Reports/ReadMe Out.docx create mode 100644 Examples/Data/Source/Markdown Templates/ReadMe.md create mode 100644 Examples/Data/Source/Presentation Templates/Numbered List_RestartNum.pptx create mode 100644 Examples/Data/Source/Spreadsheet Templates/Numbered List_RestartNum.xlsx create mode 100644 Examples/Data/Source/Word Templates/ReadMe.docx diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs index d9e31c8..b5ad2fb 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs @@ -149,7 +149,17 @@ public static string GetBytesAsBase64(string path) return Convert.ToBase64String(File.ReadAllBytes(path)); } } + public enum DocumentFormat + { + Word = 0, + Email = 1, + Presentation = 2, + Markdown = 3, + Spreadsheet = 4 + + } } + //ExEnd:CommonUtilities } diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj index a4efb7b..834186f 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj @@ -32,8 +32,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.19.7.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.19.8.0\lib\net40-client\GroupDocs.Assembly.dll True diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config index 5e25a87..e1980f7 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs index 72d170c..ddaa011 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs @@ -6561,5 +6561,109 @@ public static void SaveDocToHTMLWithResource_ExplicitFolder() } //ExEnd:SaveDocToHTMLWithResource_ExplicitFolder_19.5 } + /// + /// Saving an assembled Markdown document to a Word Processing format using file extension. + /// Features is supported by version 19.8 or greater + /// + public static void SaveMdtoWord_UsingExtension() + { + //ExStart:SaveMdtoWord_UsingExtension_19.8 + + //Setting up source document template + const String strDocumentTemplate = "Markdown Templates/ReadMe.md"; + //Setting up destination Markdown reports + const String strDocumentReport = "Word Reports/ReadMe Out.docx"; + //Setting up description variable + const string description = "GroupDocs.Assembly for .NET is a class library that enables you to generate documents in popular " + + "office and email file formats based upon template documents and data obtained from various sources " + + "including databases, XML, JSON, OData, objects of custom .NET types, external documents, and more."; + + try + { + + + DocumentAssembler assembler = new DocumentAssembler(); + + assembler.AssembleDocument( + CommonUtilities.GetSourceDocument(strDocumentTemplate), + CommonUtilities.SetDestinationDocument(strDocumentReport), + new DataSourceInfo("GroupDocs.Assembly for .NET", "product"), + new DataSourceInfo(description, "description")); + + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:SaveMdtoWord_UsingExtension_19.8 + } + /// + /// Saving an assembled Word Processing document or email to Markdown using file extension. + /// Features is supported by version 19.8 or greater + /// + public static void SaveWordOrEmailtoMD_UsingExtension() + { + //ExStart:SaveWordtoMD_UsingExtension_19.8 + + //Setting up source document template (Email or Word Document) + const String strDocumentTemplate = "Word Templates/ReadMe.docx"; + + //Setting up destination Markdown reports + const String strDocumentReport = "Markdown Reports/ReadMe Out.md"; + //Setting up description variable + const string description = "GroupDocs.Assembly for .NET is a class library that enables you to generate documents in popular " + + "office and email file formats based upon template documents and data obtained from various sources " + + "including databases, XML, JSON, OData, objects of custom .NET types, external documents, and more."; + try + { + DocumentAssembler assembler = new DocumentAssembler(); + + assembler.AssembleDocument( + CommonUtilities.GetSourceDocument(strDocumentTemplate), + CommonUtilities.SetDestinationDocument(strDocumentReport), + new DataSourceInfo("GroupDocs.Assembly for .NET", "product"), + new DataSourceInfo(description, "description")); + + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:SaveWordtoMD_UsingExtension_19.8 + } + /// + /// Saving an assembled Word Processing document or email to Markdown using explicit specifying. + /// Features is supported by version 19.8 or greater + /// + public static void SaveWordOrEmailtoMD_Explicit() + { + //ExStart:SaveWordtoMD_Explicit_19.8 + + try + { + //Setting up source document template (Email or Word Document) + Stream sourceStream = File.OpenRead(CommonUtilities.GetSourceDocument("Word Templates/ReadMe.docx")); + //Setting up destination Markdown Reports + FileStream targetStream = File.Create(CommonUtilities.SetDestinationDocument("Markdown Reports/ReadMe Out.md")); + + //Setting up description variable + const string description = "GroupDocs.Assembly for .NET is a class library that enables you to generate documents in popular " + + "office and email file formats based upon template documents and data obtained from various sources " + + "including databases, XML, JSON, OData, objects of custom .NET types, external documents, and more."; + + DataSourceInfo dataSourceInfo1 = new DataSourceInfo("GroupDocs.Assembly for .NET(Using Stream)", "product"); + DataSourceInfo dataSourceInfo2 = new DataSourceInfo(description, "description"); + + DocumentAssembler assembler = new DocumentAssembler(); + + assembler.AssembleDocument(sourceStream, targetStream, new LoadSaveOptions(FileFormat.Markdown), dataSourceInfo1,dataSourceInfo2); + + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:SaveWordtoMD_UsingExtension_19.8 + } } } diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj index 0a4993e..803b16e 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj @@ -34,8 +34,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.19.7.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.19.8.0\lib\net40-client\GroupDocs.Assembly.dll True diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs index f0280b5..5a372dc 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs @@ -465,6 +465,17 @@ static void Main(string[] args) // GenerateReport.TableCellsMergingInEmails(); #endregion + #region Using Markdown File Format + //Saving an assembled Markdown document to a Word Processing format using file extension. + //GenerateReport.SaveMdtoWord_UsingExtension(); + + //Saving an assembled Word Processing document or email to Markdown using file extension. + //GenerateReport.SaveWordOrEmailtoMD_UsingExtension(); + + //Saving an assembled Word Processing document or email to Markdown using file extension. + //GenerateReport.SaveWordOrEmailtoMD_Explicit(); + #endregion + //Update fields/formulas in word processing or spreadsheet documents //GenerateReport.UpdateWordDocFields("spreadsheet"); diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config index 31fb8a6..4a9f8b3 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Examples/Data/Destination/Email Reports/Chart with Filtering, Grouping, and Ordering_Dynamic_Title.msg b/Examples/Data/Destination/Email Reports/Chart with Filtering, Grouping, and Ordering_Dynamic_Title.msg index 8ff30fb6f91b23e9ca1b22f77d016b0585bddaf3..012fe52cbb7baa51cb96754b0ccf0b8c601bcf6f 100644 GIT binary patch delta 394 zcmZqZU~cGO-p~*xAjHJL@Ryl^!6(YC^ozjWf0HMK{jN7s5c{BKE;nEDNJ-|q62$`& z@5LGQHSdcZlzbE{^FU&Mx~XV`4cmj1O_k!cmS*At`~hX+1=V8342lX23E4Pu^V zb|wb;hDKuAMhfBr1qyz}ii@NL7!DMrb2sRIRDDojWx#46YhY^1_CTM>fw{o+3X_m7 z!-T5T3@by!dR7A^19@Zr^l26nh3p0CCL4;9r3I{#`5mm-3&bv{3m6zA80r<|rAvQc z{*aPVk|8Z%Y9ZGsu^{tbI^PCq0f_{;Ms^38Lb=KR4a~R}8>kx>8JKe|anWJ?Nvqx1`Y!@1_lNwfAaO#m9hxAKlMm*jLZyw>)AGc W?BQpee4#mHQ%8jY(6q`G?a}}>C52P~ delta 393 zcmZqZU~cGO-p~*xAjrhP@Ryl^!6(YC^kesz1(PR){jQf%5c{Af*DtxXB(vnZ;sJ^G z;*9#5_r(rMK9YH$DX~A@RJ6f{?LkWAP4QYwGjRd_fHLs{v0_^WMFj>116R=oF;6oS zc>{ezBQb3w1#y7_h2rIki=+h@4iu$xH|VN9_)%bGz-l0CU~0i{?ol898{t^LPkL?R;8GQ~+4)oRD zd?4ZmKcnd8nHlP`;wk4pP0zk{h0%e5!+?!}fdR^&e7$w0EJE&2J(3(FGsE9{w#^@V V_!%c(Xb#!bQK0}dt#U=XGyo=ph1viB diff --git a/Examples/Data/Destination/Email Reports/Dynamic Chart Point Series Color.msg b/Examples/Data/Destination/Email Reports/Dynamic Chart Point Series Color.msg new file mode 100644 index 0000000000000000000000000000000000000000..3a6705b0f126535f672a3b75117fedaba1ee164a GIT binary patch literal 31744 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 literal 0 HcmV?d00001 diff --git a/Examples/Data/Destination/Email Reports/Dynamic Hyperlink.msg b/Examples/Data/Destination/Email Reports/Dynamic Hyperlink.msg new file mode 100644 index 0000000000000000000000000000000000000000..d9acda3651e88064e7982aa06bc6536c2548f0b5 GIT binary patch literal 14336 zcmeHN2Ut_dx4%i~5s07^0f`8RQj*Yn6%0u;X)CvQQ5ox{(e+E3ILb?pZ*VdK!z?F;Yu`s z80I0$h<~Rq#qc?@7|%%<3D3zG4bLgq3_O>>{PA28lfrW;OaafOF*Q7w!A{}1EOr{t z<*+I|r{WEf#)f^dLFQ27iE%N1ECFLfF2JHOAvO);z?A?>BH_vn<3Vi#T*X3(5SPRT z2e(sPPBcFdI;{U|?HkI@;QkM#Ke%4(&%xzHW$}0s)gP=U9>>AuL}l^(5sy33`^0+U zc{gyri0g>t;(19#_j5X)m=DZ06U-ZCl@MmweS5-~nD5%Mtb znLQQ-ei1^60JFsy@JYr$Ca@NWb;IB5ihat!95FiFf$EcB1qsK!Pk(PS5xmZUwM7Uz z)9_U$8gvuiuO`uO4;N}&U_?BDlMZ@3_(pa(z-$E9Xymw1!T|;$UV_#tE|d!K6^ZkY zRvcJngO;cSt!9y+hitIHwgAfGuux#;;3ZsWDIG6G_k=;u=}?0F@S)A9MbTh`j?IUf zM9@RF`0$B^@-UoV)CU2~F?mexAACAmpO*MhFl@3khE1L8kvQU9=id~#KOu}C$uhOb zzirtBe!}^&9F2q9HA})IXrp(k*Kpa=>2(^kNZB5V9JWxh zSmSk$i-6D5$}yQGS*#E)K_}BBD^0xJ{Y~jAJtkIg%Nb$x6XBRjwQf}sV|<&+@9MYw zG~3lqMOutZx0h-UFPX2JYGbKNQ}jtv8dn7 z-CHnbw+0QXOo*hW8$Z=+=i4$RnOaN>3#s--vNMHmYi;o?mYP1MK~^m{I#Qw7mc_K( zpr^$oD;Z-s3pm!aEvAx89j3O~^hj&9c#ToMvit}Q+NcD9Eu)l?Y~OAoTPYL5AC27| z%QTV9jbmu^n4i_$y}?*AL$4v4Ot1i76s;PFn^&2Q_%+Fe9MEL13DYW^v8Z3cS z4?9#~9m6!Suz2RUBT-um{9_fW#gchuJC=FPBc4RpVuoT3F%CLfJr%|tk|g?MB^w@V z#3TpPmlGWpn>3pmy0|DY)tTdto27cWv7Ne|`(35SNyq&%4yn=kl#nDv=f9=bOkpKT zr<0kI4H#dNeld|6;^aEq$H!BGuGbzw_iK=DFw!I^N#qDm1^8fmryNp_Mo7SnIJrZI zXT@VVk=%d|2^vSLA#hA(z|(N^VzuG~EgyQlL%e^O1f7~rpD)7>=y}Jd`pCCCnK|T6 zN%P8PUhijG%H>U6#k7*!9U^0vN~-KLbm6O}n)58uEVHe4TJLpa*-SUncHZeyB<&m> zswhdb;h8zvW$2GhVN;Y3g%~6nTUwY|^)ZT_O#7#Fd-Z=G9Lx(zOJiq;u4mt5j+5Ix zb(M+{vqdeQ!RVTrZTyF|p^HhHvHBq^qsyvpsf+oaK4@PkS#RC5earmWt{bkanYCU& zJn;)^Uo2+htAI1CCke1Ngu{w}R%G$IXacK5%op!P73UMyKP=NcH?d;ms+bk2@60f= zf$mpt7*sjpUo`Nqwx5X&{8+$#=G!c?FiY?jb5O5{i#}cyi4hP%%fKyTu!pURr_feP z6Jh{m$OGMYTp@=m4EBemOb}#}5*K@5&3W%CCe6Kf^4pBN##6SHILqigTvDA?y?asR zxy`yNHP=h_&iuP~>Sce|0=i19(G9cS9d@@9PHIaZsoJz{@05ejTn%+QH6{h+w^>cU zQ5djt@hCNWcD~}K7v&Wv46K%?d#>CvBY)vNe&o~=hpe0g?VLTA-&m8+TO{eH_oXY; zCHgk2b*@}veY?i(+Fi=gVy)Q@Pwu|nqCdP?DOD8@TNzv*Nmn<%cgk+Z%C4JDb7D`l zWR+wsvi$yn_wW59LjH1kpxk&NEier{(%(1f>4=)5_-T1xJ?Oy-{M-hB@5 zidMbuSa+YUvSq(i)h#!t^HCj14yV$V)GXbzS5GD|g}*Fs;msq#CwwmD+1If&@+Ti< zu2)iAabx<48AYz)muhI2r?}rV57kZEyCy#Pn)aq0>g|?O8~;+7am^~ED7&Dh|8N!a z!j9>`ryVr9>n_2yS~oTNPUx-z#%;foIR%{kS4KA+Irh4#54!ScM`Px1P|1J}{s_2Y#l9PaD$gm634&3e$-JN}k?r=h+a+4}R1U+8usXf?zL z^>hqV`CQ{!sM%d}f>&wO3{O+MV>j%%NoU(n?~FDmM(fV6Z#}YF&#pP_;FT@Wy!z4y z+{be@m$fgf^`i5W@95=}*=ts7HM?Y;xKpJTyY~F@$%*w*SB#HzwVahuPLe!7wR6_h zQ$_oWCM34?b#bPgq+XC@Dyw(s@mixIKjCCBbNZOt;&YExF?2qw;1w(#93YX9Md zr~2xGgu2SxLKW|r#b++~LFewXg1IBj)I4q}1l}4}5y;%3BYV)k=%P)z#L4l6mh+AT zSh(vxKRGNv_vO=2mx$|IC#-*Wa`m&}ORr6pvtZ^e+U+0aTW6Ao#(oumQu2;d3OKEgr${lPwcvX=jj}qXj-Pr zufdP5VH0}e^IjHM%v=A)9IJ~czPxQ!;o+7QOUNQC9E-1HHiYv(7NJVQ0lFvz0mMQ%$O zr|V7c*|3FomRi$ZF54l+ZtFX1shWoqN@a&P#iJ zx2|(%+lhC7Z#`JC;Q5>7q1?jSwRRqJVr%=}lsWa?XPoMN*Vh=F*7s)XqDMg|m`}Sa z`m2toy?vhghSU+>S1;?+-d;-%wkz$mu{G=PTN~QpaC&2_--gpN5^ozsL>`-KAYP++Cp=yP34;;+U()(tBqyj86ZYc~Cb#YSE@W zDn091wjs^YOP9|xsk+cOQ|0)$`-aNBBX&`*H4m>fVq^z+ojY_U-*if``*T_M%@bJ{ zi(gzx?$QjaepEp}Q_?wpbG-g_*9E~eUiykgUB83~_r`z+oA$JCJhF=Z>SjsZLjkX{ zAm*yuBKBA|kN$}6boPqr?bOn>28sK&?OwM<%E`qve$BQ6uP>ZgohdQBdXp*7yxR3x z_-MiGgB>rH=R`Dfo$@=ccqDjU46>b03)4?HcQH>Q-%B;gwdBm1A51QenYgAm(^K{B zx*K*APiAQQBsH|u%N}j+>xk_cW_rLgT7&**>&WC+&m1EH-g-9)7Z)2|eKCJt{&mN3 z7ayn{2sJF7&iv(pQXT8%j?^b1%n+~h_W~~~DxI59eSPF?#T>0)A30Q!7wBDW?z&&2 ztaBh|d;2D>c0qZor+v)2{1w`l-^!fe{<%mZ-y~78GR)S_YH_yAi*y>pJI`Jvw@T(o z#@wB{=O%vCgsq)~K*J@Jhw>kEn zxjU!bbn&E__d>{2Rly#P{lz=oE2iqp&ONQ}+cIlPsBb~m(z0-JR@RGRzp~SfGZ)m} zd%Y&|WKovY^V$hH%~{t@CunB<8lJ^HQdXUkzo5>tsk%^uJmsaW?oTzbO4FoQzKrlu z_tbu}XEtr{IR4yG#p*AMbC2&yZP~neNkl8Bo@e1Evsr!a%eRu6T2*1? znb(Iu+Nipl)qLuLZoSppX{P7bQf(&c)W{e8?7c&Nh7POOz;j{6+#eoFZF#7<`?sqa zIW)&P2|<$$caE~*mp=|aF}r=Uc?Hfq@c~^(Bd)q44&)$6Q=+iR4O+S{#w0b^NtF0a$q+d{A5Mf&1VY_~# z@I_!W<#yq0Gqo#BPhXk((3v6A^5$MGJuu2lg8QI#*X&y&AoE&vVYNtS6SoGXnB&c4Zs>&TrT!%xlUujdg$Ak)pPA`;%AeyMvH)i*Xc#pdD#JXbn2sFwcxjTqJ%=eErTHlgW#GiFyZkzT&RoSCB(6XASOgI!V}oZU^p(8VajA$ zGUC|LTpfC7B+Ef3R>;z!3sc}KJO-{pBTZ46DJp}j@EEvahlRmb4m93hh)bYeRPv9G znYhGEtYa=NF&CFuh)XQQC6?k6OC5StY%~{6UhqtZ9>I&9EGiIR=`b8co(@*sqq4Rv z)n%p5@``<)C-#4<|A*4ohPQ%f#FgGFYGYQo4ATxz+L*&fGMVIp%X6WYf<2Pf#$0h3 zZF*4BhBFFe52hTRwBfV@$sg+ZxctFBSpn65kST*?i9xc~AQ_{f`@e_DiV~S5i_5d% z+!M8rOrkPTJq;jg?;9s1>jO|ClWuX4JOUunzm3Zy-^gpY^#erHSymqRpCN>TeMm^3b<^AnUPSUNsF=oKuIshA2rJ|EiGijU7uZ&Zu) zpW?FYdjk}VoIa4Bf>8#^61Y5btr~tm6_fg?o{C9-BvUY%k7Q>|7MI2Cr()W8`^D|U zjs6dQp?CLaJW>8FK=1ws>!Uf2<~7>ms{)XRkPiA^fCd0PqgsH`0GRg}9WVx<0~iZH z2Zwq9eZXMbgJlNjpi?&%z!YExK<|Pr0G0qN0D6XO0JZ=-fIYwgfR;WdfHS}a;0ka9 zpu|FrTN8=QQ$RT~5-<&YNB-kR#k9>umO_aXG zkGwAOJu&}Ffi0r^$X7%8U&L=oxc_jxNthq`O8k5E_5Rxs=12C3_8<9*SpQuJ^UHn% zKk^lk{VGs=C?-bf zYy6fF(GulHu{TkEG*(3Bza{?s6Py1i?kCER#)?S)MYEq6KiYE;l_{zv;;qWoyB_znf(kiPW% zi};Dhe`s$_lpl>1I=@2cOZ=jl=Zg29$o>ay=ZNx;1Kpv1|IFYw*8_IvME#G>6o~R0 zfUYh8r7!g#t$ptJ^G_`P)COBb`NxAUTCY+1IzRFKA02EF<(~k$XuU@1OZ?Wj=ZVk% zF<^@*zai)j<$n>s=qVr)f9ZS!zY*x7Ga{6}-hUMT5_|r~f-R!`HwN9Iet$*%C%*qe z{v^t80=nq@7^ScGpZN2y2eydvhk-6SuSV(X{BF4SiL5{RV2db!6zC3Ie?KJ; literal 0 HcmV?d00001 diff --git a/Examples/Data/Destination/Email Reports/Empty Paragraph.msg b/Examples/Data/Destination/Email Reports/Empty Paragraph.msg new file mode 100644 index 0000000000000000000000000000000000000000..a01fc2b29faa59c1a9e9cb2933ad2cdf0bdae3a5 GIT binary patch literal 13312 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 +----- +## Description +<<[description]>> +## Evaluation and Licensing +The library comes up with some limitations in the evaluation mode. In order to test full features of <<[product]>>, please request a **free 30-day temporary license**. \ No newline at end of file diff --git a/Examples/Data/Source/Presentation Templates/Numbered List_RestartNum.pptx b/Examples/Data/Source/Presentation Templates/Numbered List_RestartNum.pptx new file mode 100644 index 0000000000000000000000000000000000000000..ee2aaf5c86cefbde8e9a33b5c2d7ab09e228cf70 GIT binary patch literal 37943 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 literal 0 HcmV?d00001 diff --git a/Examples/Data/Source/Word Templates/Numbered List.docx b/Examples/Data/Source/Word Templates/Numbered List.docx index ab0d0cefbbf4b23731275e5c95fc29e9bc69c970..9b3d5c109246eb0c45bbdd44df624bae75b5097f 100644 GIT binary patch delta 7931 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 delta 7587 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 at)1nipg`>LTOlz5pbO+i(9!+&^#1@~jtQ#( literal 0 HcmV?d00001 From ec042f78c2c97c5e4fd095668130d4f7172fc290 Mon Sep 17 00:00:00 2001 From: Muhammad Umar Date: Mon, 2 Sep 2019 13:51:26 +0500 Subject: [PATCH 38/80] Update README.md --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index e52046a..00ad14e 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,12 @@ GroupDocs.Assembly for .NET is a .NET API engine designed to generate documents

        +Directory | Description +--------- | ----------- +[Examples](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Examples) | Contains the package of all .NET examples and sample files that will help you learn how to use product features. +[Plugins](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Plugins) | Analyze the progress of GroupDocs.Assembly and WinWard while generating the reports, compare code and template preparation. +[Showcases](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Showcases) | Web Report Generator is an ASP.NET Web Forms Application that demonstrates the core functionalities provided by GroupDocs.Assembly for .NET. + ## How to Run the Examples + You can either clone the repository using your favorite GitHub client or download the ZIP file from the above button. @@ -25,12 +31,6 @@ GroupDocs.Assembly for .NET is a .NET API engine designed to generate documents Please find more details for how to run the examples [here](https://docs.groupdocs.com/display/assemblynet/How+to+Run+Examples). -Directory | Description ---------- | ----------- -[Examples](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Examples) | Contains the package of all .NET examples and sample files that will help you learn how to use product features. -[Plugins](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Plugins) | Analyze the progress of GroupDocs.Assembly and WinWard while generating the reports, compare code and template preparation. -[Showcases](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Showcases) | Web Report Generator is an ASP.NET Web Forms Application that demonstrates the core functionalities provided by GroupDocs.Assembly for .NET. - ## Resources + **Website:** [www.groupdocs.com](https://www.groupdocs.com/) From 9681047858a145cbd2f1672f0d9d159d66d8b080 Mon Sep 17 00:00:00 2001 From: Muhammad Umar Date: Sat, 19 Oct 2019 12:17:18 +0500 Subject: [PATCH 39/80] Updated for V19.10 --- ...Docs.AssemblyExamples.BusinessLayer.csproj | 8 +- .../packages.config | 4 +- .../GenerateReport.cs | 97 ++++++++++++++++++ .../GroupDocs.AssemblyExamples.csproj | 5 +- .../GroupDocs.AssemblyExamples/Program.cs | 10 ++ .../packages.config | 2 +- .../Data Sources/Excel DataSource/Person.csv | 4 + .../JSON DataSource/ManagerData.json | 71 +++++++++++++ .../Data Sources/XML DataSource/Managers.xml | 67 ++++++++++++ .../Source/Text Templates/CsvDatasetDemo.txt | 4 + .../Word Templates/SimpleDatasetDemo.docx | Bin 0 -> 12192 bytes 11 files changed, 261 insertions(+), 11 deletions(-) create mode 100644 Examples/Data/Data Sources/Excel DataSource/Person.csv create mode 100644 Examples/Data/Data Sources/JSON DataSource/ManagerData.json create mode 100644 Examples/Data/Data Sources/XML DataSource/Managers.xml create mode 100644 Examples/Data/Source/Text Templates/CsvDatasetDemo.txt create mode 100644 Examples/Data/Source/Word Templates/SimpleDatasetDemo.docx diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj index 834186f..882efb9 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj @@ -32,13 +32,11 @@ 4 - - ..\..\packages\GroupDocs.Assembly.19.8.0\lib\net40-client\GroupDocs.Assembly.dll - True + + ..\..\packages\GroupDocs.Assembly.19.10.0\lib\net40-client\GroupDocs.Assembly.dll - ..\..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll - True + ..\..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config index e1980f7..b198266 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config @@ -1,5 +1,5 @@  - - + + \ No newline at end of file diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs index ddaa011..0e8cd5b 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs @@ -6665,5 +6665,102 @@ public static void SaveWordOrEmailtoMD_Explicit() } //ExEnd:SaveWordtoMD_UsingExtension_19.8 } + /// + /// Working with JSON data sources + /// Features is supported by version 19.10 or greater + /// + public static void SimpleJsonDS_Demo() + { + //ExStart:SimpleJsonDS_Demo_19.10 + + try + { + //Setting up source document template (Email or Word Document) + const String strDocumentTemplate = "Word Templates/SimpleDatasetDemo.docx"; + + //Setting up destination for reports + const String strDocumentReport = "Word Reports/SimpleJsonDSDemo Out.docx"; + + //Setting up destination Markdown reports + const String strDataSource = "JSON DataSource/ManagerData.json"; + + + //initialize data source + JsonDataSource dataSource = new JsonDataSource(CommonUtilities.GetDataSourceDocument(strDataSource)); + + DocumentAssembler assembler = new DocumentAssembler(); + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate),CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(dataSource, "managers")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:SimpleJsonDS_Demo_19.10 + } + /// + /// Working with XML data sources + /// Features is supported by version 19.10 or greater + /// + public static void SimpleXMLDS_Demo() + { + //ExStart:SimpleXMLDS_Demo_19.10 + + try + { + //Setting up source document template (Email or Word Document) + const String strDocumentTemplate = "Word Templates/SimpleDatasetDemo.docx"; + + //Setting up destination for reports + const String strDocumentReport = "Word Reports/SimpleXMLDSDemo Out.docx"; + + //Setting up destination Markdown reports + const String strDataSource = "XML DataSource/Managers.xml"; + + + //initialize data source + XmlDataSource dataSource = new XmlDataSource(CommonUtilities.GetDataSourceDocument(strDataSource)); + + DocumentAssembler assembler = new DocumentAssembler(); + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(dataSource, "managers")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:SimpleXMLDS_Demo_19.10 + } + /// + /// Working with XML data sources + /// Features is supported by version 19.10 or greater + /// + public static void SimpleCsvDS_Demo() + { + //ExStart:SimpleCsvDS_Demo_19.10 + + try + { + //Setting up source document template (Email or Word Document) + const String strDocumentTemplate = "Text Templates/CsvDatasetDemo.txt"; + + //Setting up destination for reports + const String strDocumentReport = "Word Reports/SimpleCsvDSDemo Out.docx"; + + //Setting up destination Markdown reports + const String strDataSource = "Excel DataSource/Person.csv"; + + CsvDataLoadOptions options = new CsvDataLoadOptions(true); + + //initialize data source + CsvDataSource dataSource = new CsvDataSource(CommonUtilities.GetDataSourceDocument(strDataSource), options); + + DocumentAssembler assembler = new DocumentAssembler(); + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(dataSource, "persons")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:SimpleCsvDS_Demo_19.10 + } } } diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj index 803b16e..b690b96 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj @@ -34,9 +34,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.19.8.0\lib\net40-client\GroupDocs.Assembly.dll - True + + ..\..\packages\GroupDocs.Assembly.19.10.0\lib\net40-client\GroupDocs.Assembly.dll diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs index 5a372dc..721d320 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs @@ -521,6 +521,16 @@ static void Main(string[] args) // Saving of external resource files in a specified folder at relative path while saving output to HTML //GenerateReport.SaveDocToHTMLWithResource_ExplicitFolder(); + + //Working with JSON data sources + //GenerateReport.SimpleJsonDS_Demo(); + + //Working with XML data sources + //GenerateReport.SimpleXMLDS_Demo(); + + //Working with csv data sources + //GenerateReport.SimpleCsvDS_Demo(); + Console.WriteLine("Done..."); Console.ReadKey(); } diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config index 4a9f8b3..af3300c 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Examples/Data/Data Sources/Excel DataSource/Person.csv b/Examples/Data/Data Sources/Excel DataSource/Person.csv new file mode 100644 index 0000000..5d16125 --- /dev/null +++ b/Examples/Data/Data Sources/Excel DataSource/Person.csv @@ -0,0 +1,4 @@ +Name,Age,Birth +John Doe,30,4/1/1989 16:00 +Jane Doe,27,1/31/1992 7:00 +John Smith,51,3/8/1968 13:00 diff --git a/Examples/Data/Data Sources/JSON DataSource/ManagerData.json b/Examples/Data/Data Sources/JSON DataSource/ManagerData.json new file mode 100644 index 0000000..1ca5d8a --- /dev/null +++ b/Examples/Data/Data Sources/JSON DataSource/ManagerData.json @@ -0,0 +1,71 @@ +[ + { + Name:"John Smith", + Contract:[ + { + Client:{ + Name:"A Company" + }, + Price:1200000 + }, + { + Client:{ + Name:"B Ltd." + }, + Price:750000 + }, + { + Client:{ + Name:"C & D" + }, + Price:350000 + } + ] + }, + { + Name:"Tony Anderson", + Contract:[ + { + Client:{ + Name:"E Corp." + }, + Price:650000 + }, + { + Client:{ + Name:"F & Partners" + }, + Price:550000 + } + ] + }, + { + Name:"July James", + Contract:[ + { + Client:{ + Name:"G & Co." + }, + Price:350000 + }, + { + Client:{ + Name:"H Group" + }, + Price:250000 + }, + { + Client:{ + Name:"I & Sons" + }, + Price:100000 + }, + { + Client:{ + Name:"J Ent." + }, + Price:100000 + } + ] + } +] \ No newline at end of file diff --git a/Examples/Data/Data Sources/XML DataSource/Managers.xml b/Examples/Data/Data Sources/XML DataSource/Managers.xml new file mode 100644 index 0000000..9ad6a8b --- /dev/null +++ b/Examples/Data/Data Sources/XML DataSource/Managers.xml @@ -0,0 +1,67 @@ + + + + John Smith + + + A Company + + 1200000 + + + + B Ltd. + + 750000 + + + + C & D + + 350000 + + + + Tony Anderson + + + E Corp. + + 650000 + + + + F & Partners + + 550000 + + + + July James + + + G & Co. + + 350000 + + + + H Group + + 250000 + + + + I & Sons + 43 + + 100000 + + + + J Ent. + + 100000 + + + \ No newline at end of file diff --git a/Examples/Data/Source/Text Templates/CsvDatasetDemo.txt b/Examples/Data/Source/Text Templates/CsvDatasetDemo.txt new file mode 100644 index 0000000..6c7b5c4 --- /dev/null +++ b/Examples/Data/Source/Text Templates/CsvDatasetDemo.txt @@ -0,0 +1,4 @@ +<>Name: <<[Name]>>, Age: <<[Age]>>, Date of +Birth: <<[Birth]:"dd.MM.yyyy">> +<> +Average age: <<[persons.Average(p => p.Age)]>> \ No newline at end of file diff --git a/Examples/Data/Source/Word Templates/SimpleDatasetDemo.docx b/Examples/Data/Source/Word Templates/SimpleDatasetDemo.docx new file mode 100644 index 0000000000000000000000000000000000000000..afc7a3c7c5d5119f07a7a587ba729327e1c93b84 GIT binary patch literal 12192 zcmeHt1y>!(*7m{O-5r9v1Pv~S;1V=A!R6piaCi6M?h*(PG`IwJ2n2U0*muV6%w*>M z{=mJxR`=@es%Lj~_qMA2C;_3Mu>r6EcmM!E0az>eYOM_c0Fc7~09XKcNF8xITPIUn zr?+bE_NE{`7B?Gf@(<9EFLD8p;Qs&H{)@jrL*lS)HygU-P0|mvxMp>u-4A69kP*Vk z%qn|u_@0m&kMUnVJ#}C~Dyu`pAzD+?aNewPYV-$8E~Z-}U^KeY9N-Bh`zPpI@G>sU zZ87_r5YTQUvaN~^^7vVEeQGC==Ye3OYV3(0RYg?H%+CzKd2o;)|pzX-2~xI*~bXDKifAQx>@zmPS;2sp-0ZtSMkpSR!7(R4=4y__4?= z!3q&Kww(T<@=e}K_VWw4q9}+@f|8p{Bxv+;>x2M-9fd#~d68WM<9B;jV0QUy%%K zFWuYRLID8J&rkrRznLUy9AWbbSkDx|7Ka2j$+wQC)*x1vUylDX#s6aa`^&3W#CKWt zupz%X33v>cY*$|F!p~P=HJ(_)Ux0(xk(I| ztzQDxrxaPcB|dDw6Q~hi^gvN|A?n16(b-;l6#-O784Rv0Rd)OdY-R)uS^t8~g3gYZ zI^1GQC@l-C&)T=Q!W~f&W2-`S-5$9r-`|hh+)URp4~5A%W{(~Dic~5TH5GDgBd|ah zgYLr^?pN+|d^3-}NyIYe>+1NeGpr_=*qUpnu#1J8BpNyoIZ_5;5_!u(iyPGsB1j5Q zU~xI<7JD!hlB?0<+xg!?X}CmD#q_)j>lIMqc|{h7417%{5bViC{fd+8D1esg)%r&7 zQU0fVWeN_Bt5;7i(BI5Z!EDN`Ij|5*r(eoW^2N{5z5WvC@xAv442#^5XbVQXAxbre zB=YdRjXUHz=7Coh-bWwEA}k*K%!_*rTz?IqfxaUbg_t~b!)bgl<@UA4dCRPb#Z}ba znSN&nH=$$bvuBcNJD*xMl`K+d&^p8LuuE`#Ef=~O%GL%A9qF6N%cZ2_&wJqEWGK?MQrnz4%#MfIsOb&03q+;7rO-oY&AU0 zM|kqvhLE1zWD^ZgR;T_e6MnC*xw0XzRL!}~(nG_9 z5ZOCNkB3=}R0D50@SdZl3^|q2q>m$EOgJRJTbo*OTmOA;43O!J+hpmA)qL{O(M+?l zX2Noca7N@^)W(~5ugs-rEavu`;{qG)uPCdyt*jq~-f=+5fhKqC5FcaidOqc*n#}HG z>L7zMySsKedFkOdeCzE(D~oP+&{8Kgyn>Mjbxoa_?@?j&8^URi_vZu}&~<_G4dEfF zjjc`^NH^a;YWb`OZ5(#r)0t2Fz{{ zV(da1w0y9sclc^*p}bYYohb}VzPfo^`Jf@j-5lR64vFjL!*)^BSg9Jb4oYNPER=hW|y-j^~#rE zdt?XOCNTgW;#a%;EqMLaI{ye{5a65=Y~TOgTSfdZ*pY*Cs-UNURBvVhZzZuUYdMOg z*++mRsYnSE!sz8jXSIy%!GuBUsbf_tXxxuyX}l}kHFDasICsDieK)e&bB@8Sl(hO- z6x~YG>VSj+Kh8i$U*9@=!cqY^edRClflpqo z5xXO)0SuoYi!kOWR$?mqoZnaa*)Y4jQ?D+2ish+^tpB7Y71W~jHSa8%vAr29CTI5r zg`%*>9e9fIPj6nPLbFB%3jjnA0svsO`pug=y)(5jW&QQY{)cf(D1^)Sr*s?D zMeK9DvPn1V!DOvPYXf?%9&NJm`~As#xfrhOVNC^0$Y}J<)FP5%kJ4{|L|Cp~i)n{r zVpJeAoIS)8I%fKZXin+nk9GGOa48$np~~<58WitP5BX}*r?MQ=;OYp@fllEn3%o^4 z{$d(hYN!N)$v#*rRq6~;j*t%fe%Q2Mk4De%;oynQSh7~S@B9XQOV_o;U(Jhd6B6Je z5-F4|;N^gF*zBQYzr<|@Uf!Z-!NZ{s1Rd`3;au$`y0WIENJ&`N&Kw5s+Zi^q!P9Y@ ze)%x@b;4Pwc~b9(CV-O1Az(X~{TjZw*UBiSLU4w-@qH3&5J&wZ~Q)MX{1kI754c3wlQy&Jj(kg^Hlkn9-m%}kQp=|A0W ze+SwB*zMcPf2%+yBJ6!x-?vXFPqnfSc8d>>m#U|87bp56cSF%T{7*MI!uLmWtVgf% zpx$~v9>(B}>w90^<%kH@er`jKcDkidK!@X3L z!kY;w45D2kkW4PjoVXeE2?sqE&-%=QcfhIWh#91g-`r*|;8<18BT;L|Nr(s-)6Eoh z7*L-U-G;IeXJhTl+!?T-R^@69+WRt)>mD(X*aKfE<5v-*fL@on(lZ}=AdHIt-HGY5 z5V8llj<{o}bibuGfnHD8$ndh1()Lp5=#$<=e(!ciOtgH#GEVHgE~Qc68AB#Q>KlTd zz}*3%7e+*b0WXmv{Xi6)Boty@UY@jMrA1_jyUj*`UBn35W_a<90ubA0u_UhSYtn(25|mrYP_gCH^b z$VX=!ns{-Zo=wLmq`Ew3vf|lX#}afo)2w*Z>PZ39K3wB0T{(Qqv)t--pBQxe&B~Q* z?5mE9EgsTkyHjV%@pHSA-O~6D>pWwWM#}BCvZ`fjos%PD`2qh_tcEX1t)Q3f_AiLk zB?*|xu!?G#Sb{n2F#^hv@o{ntFvxoC8A3|SFep3hNgUV;b+ggR7WM@W$m>mVg59ke zwFT4Upk8PkoqN$Qez%}LpOpe#!8bWoTgG{)vA~-&JqHK!q{@D`3FTZ`XoUro>?k2$vS-z?EH6Z+OJ?mSf*~W0 zq$jtcj93YaF9^Mq6VH-bMUfH0TMnqIdUp?4Oz2S1bdHq=7UX;3I*qd<+is$Rjf{A# zj{87G4#F5^@}`E0vN~2*qa$yiy+$6V><@C(n6A)~d7Bqd-?_`R0OBKk9O)Ehi{JDm z9bQ-A>P+7DSvN{jr1jf7eAqS0?ooG_mCgt;Y87Uz??@eaF%*9}TYS7Ar4>S(u7etT zINfmYrA=UqTZ3_h_s#dO?N!c4Vh2rGn0CJ8@1`{Z2&OsuaV^U=5*AlS`t;$?(TNz-g&$0WnpyTs5?>SU_5-2{;rFlW|hZ62RVX&%!kIH zKX+x7{kE*(ljvY&TawD~!7Na3yj&AbzwztI4CzpAC|{|^-Msjnp!jwKFKe0i<`Gau zx1JS-i(b_kjfK(p>bg*S>FFBAfFKPnYOzMo?uM|?rCosO39m=;^%h8h478|Rcf0Hm@RLY9KGu6J~Clp$Jr%}!cy!6a^Z;g zq!@+0YSy$}bN7;Nq?Zk%kW{oVY0z*V0%B4`o-Yk^ER2v#_DGfBv(6kbt)oioeBP$$ zbjJxN;9vl%3cn3}&R@KIseg#!Rqh^uEKo9U+}sY&J*6@G zBR-@qFHKjB_{YIOcYatKP+QN?CPIv?!gv;k7D4obKe*%6-G0oYM0zieV&Oq&eoTuS zsR1lYRGWkB5$ep~Y}LntL4Cntg795DX}L|%mlD25&6lpTk+w5{CibvO25q0 zo{|m4+;h+C>zH9Y7p&PQd%D82GG!-W5^3303Cl^;FsV)V1~&u(U7E=fn^skm#4i?K zJ8tMXveC}@+!0>J^w;;TOKy=Fx4kLQoH_%__~5WUyyBC@b$8^>X#Qxy+0EGo>UiN> zXEU=I)rWj0raY~)SUKHH800Zfdg>->P!?xwqK-$3+ygs7%--aObnS-}WuCfksW5vy zk}PAxzp5eL{vwFL^`h5whfKMXK}!>*RkOr$v9G+>Vo_Vg(3bwjQ4f#Nj>Z6$OtkTH zj_c6(QsB5Sr;?BD;WDLWzk=q>#)_tn8?*)I4EF2yB1&!-ec_1Vc^+|yno~^}soD#a zv_LiW*R0qXZkTMX3+eOe_-@^&?wh3HufH0F^~A%1&`KIkP#2H#5@_^Y3V2WJMCpL- zOh+c-tVAw#aVb$1)<{!|>26g+M6kGJCv?=}-0Mqo0j5;%G*ga` zIL_e(q6{q8%WFTR=1aGIi;v^BYb4+wSj^nj9%0ZdM#d-Dg6j^ewR(SIR7=!Qpj1;1 z#oF5EHVZvg5=^1dh03kseux*+XAx}bj?xZGN2mB@&&wyS#WsNE*rnP5gnIlKT>&aU zuw}R7x0ZhrA$m zfp9n6atRZ(;{5wII{`9jW&Ii^Llx5pr^}&>$&?8$T?LNWrQK{m(Z-w$Ej3cWQfI`Yy2F?0! z0Sl?E(x|50H!dr0OLd{5?ftv~e9@Bcjfv+XYs0MV9iw}Qnc45GhTcjk6Z&@e3?!PV zTF98aqpWw1gIe;nF@8I;C8PF`H2#J@V!30wxz$Ij)A89`RVz+ zlU1I|n~WneZ|#m-twnz`)4Y8t;@ls;K_mefye@3pscNL$Ip+(mI3njJDye7+(pAhC z+mBb3xN<~f+0nuuc}6p^vcnnUs0FRO*fSympVKc6g?9#jJc@L_WSz0=EgKnGgQKIf z#T^j*=oNO?%|GRp&R#xON}Lo`Vo zvoJv%lLFq=!8_Ij@wkLENbmxG^h{nAx>%{!4wr}a-ru~*71Vq})!nk>ieR{Wu&EzmmPy)3P+>j_>Mujk;;8IO}HHI2~RUHCks>Gi)Y@lg8ktcAB!ml}wOazVOb? zrT7c?pcJM-*@(tTDBP6Mw!U2s#aO|{{YAHib6mP4=b4hF>OR^L-*|Qlm!xZNeD5i| ze>z^_b)?Kd=B!sg_qdV5%i6u%Cd|k>jx5ZPQ5a8h<1;1-(hiz9YWfP=hSHp!S?c!& zD#c8*mTq&{RKsX%lEPjUOw|0Wg{Bgzb9`WZ^b5VT#`s3BcO z(ztdFLCSziw;pB}~LF8%MV%sQ6pAQI14B)c z(_wmR^w09Az^Qsz7mkt2~E@nzN#hS zD~oE6Wf~8_?E?jMopKgE{bRw+TNZI2u=&7D5HIM-M!A4qU z#~nX~jh%BDs9lV7m29U4D35Z&<)@p&y`>V)NRwn+VJY%2NC%-%uSC-_y0t2$?`cwQ z6>gzLt^+J2>){e+1A-dEWe9$yD{>9r&=ZG&jA zs)UxdVz?!@3R*QcY;N>;JxGuqSV*@exzegp{dw8HwCPZ#s2@trU&Ai-Ke)LkNbAg_ zC`zQU2q2!Y@d@ve9hzNAoo-yOUmZJBotKzXTVJ?&Zh7prV7Pzf#B92&H7~f>lQKym z>)?2t=f_ZJ-5xJHJ(KT9sM2acw6$rnqO7D`Dq5GFV_K|{bHe>{jn1!DoMZlQ_BgT` z^QC1#v1@)%aqoyxajyB^1(I!oN8hL@fgE? z0kMCx4kr?AP$L#Iz7n<|7IlOrg$VGJ%v;d_HXyW2pr1axW^D9kFFbF2w#5pEf^vfs!Rd%>(Ksq&@bZ& z{pS!}VQu`B4F$(a*o1paVlj=>WJLcnw%;J&OC>3o4beYGznh+ORr+eJamVvEKYMj} z{ywL*OyH{C-4}%AJVDlYn3OZ~4EYEuB+Z{~J44lNpG2c9QhDJTx(KTJIOsfwkgMSJ z(zzpqmfT}TJgc{tbk-37rsJ#r+r zY9bJf+|LOdvcSs!f=B4YY<*fcTE{P|?TD@gQD>b^gz{6?s^DCN^k;5(q{{2pf}EA4bFzB) zzm#y~RR`qkSJYL86p5&6J+h_UZSn(=*FQcfSCthHB9$v`Um&r3M=9^9#C@uk6J{(^ z1Sg3B5UXComDvtEQFAOOo)DX(V`{7iWYQOru2<9dKi)&1BsL6InzpRWu!~E3tTcar zdzbS3ueCqH_4bHVa0?4~Zjb#(4(@7dr23bsePY6r0=PIDd=lpt!f;bT5)!6vErSI~ zK@rF&_$s|sM*>sYp@}1#wE1A(KzAae|1Rq}Vx?7cj%=2i5x!vZb+3JF7<6X0O52^p zr}ous-SEHDMxspEZu6lp#C`fFc zU(cgw@Ug=}mC?fOR${S4kQ7a+uQJ`ceB7hsR@_I@_r(~SR70l|i?K#9ZMZ-^-oF*EHs#a84hP)9unpsf6@$0K2kF@vNru?iDo+SwJjk# zw%<*X2i)*Io7t_j{|jHWq;#gmOF+LHez~!y2@(8~$(l3X5k?t{c4@{kEd7#h-gve@ zC4|j9HKGjFxaYO`{Zxjln-eo9*Y|$JN{<$83VesYOPLY}G~Z8z#0~6q(PbE;4c~+W zcW}wB-gfe5I%8F4O4jHvRGA26@~61w57Z?BEgAWD5aYvm;`!aUH)T{VEaJ)7m_hr! zN+#W-`KhtAEbQCt*jd!?&p1bE;~DX0rGw31O%D}OHUk$A*&EV$@|WNBR|W|TSFFo2 zOe3mR+W8e2Nah!dez2{Z1%1=*KyTy=#t5C)0m z-8KuwC&9~}m79>ZoOccvRt^`Q4xVi-cgp%URyfWwNKz)9qM0eQ&!!* zYh%Z(CbA;UX@WHma5g^5rFx2Cf7hBN6qTe0(~h+{eRRm&kuPXr_tK|o6%xmZ0vmWG z!m#@^ymMc@<}wrgyvm;kcel83)!sg^NDtTa4EJv{eEZMC0)Aj^Jp}6|2DpL=E?X)& z+S!9xjqMzNRY@@a=6_{Nu(3wQi-KJ&I^aa+f#O`qc{v>M16LB@N&*H`lH9g`wW+Aq zc)@n+DbSq!_#scRTQ)s0m$c=`!(95HG2u+ZtP3_0=OZD-*9av*_;=lsK6s%~+6@}S ziu~{?CQUXmftq)j**P@wUzm7L4IEMW5o-K->4`Xn#DF_ak+r74*y(G*JTHfABH1j( zQAn#H4JU{eGD&f!E@cIhzCyO?N(_?3%tpC(9xa-6WN}!`#QM}rc;PzK$Oby1vLRL# z#O5h`Oq+1#_Qnq|5g&GO0uZk*upT(tJu9jR5!H{wA>^>ejOcV>E#AlE#T@=PB1tWe zS?c{V0&xB)dqZ|#{kZeg2ASUDxWYJ(^KoOg*@YvIUxl8&+R4|i?#pMX#5GD1HHi$`5R$nb2($;=ZypJ+zq{Lm1Tu0P$l}Ul zB`7{-Vqhjj@P+FS-|;_6=LsU8`fk=(Swmliw?1<|{;MmU?kkTP2e-_E3-9QERa--Q z`(GUC|FjmYvfwRKwaa#i4Y?g{UIf3DSFY{@KBQz{tkJHa4pgtrc&0pEw~1`*eD1HUf#*cUV`6V3wcAsHltQ@+T zY_INJEi=S=C2&D~n8MY4{x7NuMz;M(wg`%a%ok(%$x)~DgPR&*Pu{!lO(f`!?eJp0 zMeq(7RVRk&%WdKR`W(*Fh3$J+Dl9oWRo2hKPd>diBwM^CQ^JqlvglGG!X^Z3iR3xr zk+%hy2Fbjh1=7M6@W9C!gnAa^1!ec{t459yk{_2nS-wVm*`OwLsZs8zKWGtVbT7cg zI`~y~JSj7HKjJDN4x*+O`X2i1blWy^dd#l}MMSrGorB>nL+J+Iv_z+-Z!JzknhRSc z=}3|EKt*kh!q{R?o0vlDlsdSMVz)LTExwBRZ;7oKUKhysduU6S$hmPvkKRILGpT-jLaB%j{~={6 zN9IAqog#A4N Date: Mon, 25 Nov 2019 17:55:30 +0500 Subject: [PATCH 40/80] Updated for version 19.11 --- ...oupDocs.AssemblyExamples.BusinessLayer.csproj | 4 ++-- .../packages.config | 2 +- .../GroupDocs.AssemblyExamples/GenerateReport.cs | 10 +++++++--- .../GroupDocs.AssemblyExamples.csproj | 4 ++-- .../GroupDocs.AssemblyExamples/packages.config | 2 +- .../Word Reports/SimpleCsvDSDemo Out.docx | Bin 0 -> 5234 bytes .../Word Reports/SimpleJsonDSDemo Out.docx | Bin 0 -> 9834 bytes .../Word Reports/SimpleXMLDSDemo Out.docx | Bin 0 -> 5234 bytes 8 files changed, 13 insertions(+), 9 deletions(-) create mode 100644 Examples/Data/Destination/Word Reports/SimpleCsvDSDemo Out.docx create mode 100644 Examples/Data/Destination/Word Reports/SimpleJsonDSDemo Out.docx create mode 100644 Examples/Data/Destination/Word Reports/SimpleXMLDSDemo Out.docx diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj index 882efb9..092cf01 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj @@ -32,8 +32,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.19.10.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.19.11.0\lib\net40-client\GroupDocs.Assembly.dll ..\..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config index b198266..5b7a779 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs index 0e8cd5b..1a44a69 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs @@ -6713,7 +6713,7 @@ public static void SimpleXMLDS_Demo() //Setting up destination for reports const String strDocumentReport = "Word Reports/SimpleXMLDSDemo Out.docx"; - //Setting up destination Markdown reports + //Setting up Data Source file const String strDataSource = "XML DataSource/Managers.xml"; @@ -6730,7 +6730,7 @@ public static void SimpleXMLDS_Demo() //ExEnd:SimpleXMLDS_Demo_19.10 } /// - /// Working with XML data sources + /// Working with csv data sources /// Features is supported by version 19.10 or greater /// public static void SimpleCsvDS_Demo() @@ -6748,13 +6748,17 @@ public static void SimpleCsvDS_Demo() //Setting up destination Markdown reports const String strDataSource = "Excel DataSource/Person.csv"; + //Setting up CSV data load options CsvDataLoadOptions options = new CsvDataLoadOptions(true); //initialize data source CsvDataSource dataSource = new CsvDataSource(CommonUtilities.GetDataSourceDocument(strDataSource), options); + //Assemble the document DocumentAssembler assembler = new DocumentAssembler(); - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(dataSource, "persons")); + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), + CommonUtilities.SetDestinationDocument(strDocumentReport), + new DataSourceInfo(dataSource, "persons")); } catch (Exception ex) { diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj index b690b96..e94f988 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj @@ -34,8 +34,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.19.10.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.19.11.0\lib\net40-client\GroupDocs.Assembly.dll diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config index af3300c..2f55990 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Examples/Data/Destination/Word Reports/SimpleCsvDSDemo Out.docx b/Examples/Data/Destination/Word Reports/SimpleCsvDSDemo Out.docx new file mode 100644 index 0000000000000000000000000000000000000000..09abac17859a0f7cf55785a96ba60c6a4efb9da9 GIT binary patch literal 5234 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 Dd?3W_ literal 0 HcmV?d00001 diff --git a/Examples/Data/Destination/Word Reports/SimpleJsonDSDemo Out.docx b/Examples/Data/Destination/Word Reports/SimpleJsonDSDemo Out.docx new file mode 100644 index 0000000000000000000000000000000000000000..6a02238c5d07cd2b1d352417671362f2389aa3ea GIT binary patch literal 9834 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 literal 0 HcmV?d00001 diff --git a/Examples/Data/Destination/Word Reports/SimpleXMLDSDemo Out.docx b/Examples/Data/Destination/Word Reports/SimpleXMLDSDemo Out.docx new file mode 100644 index 0000000000000000000000000000000000000000..803c3a696c5ec03a6da722ece39260919ea6cd03 GIT binary patch literal 5234 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 Dn7+g5 literal 0 HcmV?d00001 From 5bdb51f90f638029e1ec3f5417cbe7609865353d Mon Sep 17 00:00:00 2001 From: Muhammad Umar Date: Mon, 6 Jan 2020 15:58:53 +0500 Subject: [PATCH 41/80] Updated for version 19.12 --- .../GroupDocs.AssemblyExamples.BusinessLayer.csproj | 4 ++-- .../packages.config | 2 +- .../CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs | 6 +++--- .../GroupDocs.AssemblyExamples.csproj | 4 ++-- Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs | 6 +++++- Examples/CSharp/GroupDocs.AssemblyExamples/packages.config | 2 +- Examples/Data/Source/Markdown Templates/List_demo.md | 5 +++++ 7 files changed, 19 insertions(+), 10 deletions(-) create mode 100644 Examples/Data/Source/Markdown Templates/List_demo.md diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj index 092cf01..2d9eb46 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj @@ -32,8 +32,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.19.11.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.19.12.0\lib\net40-client\GroupDocs.Assembly.dll ..\..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config index 5b7a779..cc3b29d 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs index 1a44a69..dd97b14 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs @@ -6565,14 +6565,14 @@ public static void SaveDocToHTMLWithResource_ExplicitFolder() /// Saving an assembled Markdown document to a Word Processing format using file extension. /// Features is supported by version 19.8 or greater ///