From 1f876a2f69fc96953195f376528dd40037de52f5 Mon Sep 17 00:00:00 2001 From: PrasanthMadhaiyan Date: Mon, 15 Dec 2025 21:57:12 +0530 Subject: [PATCH 1/2] 998894: Include UG document for the Template support in EJ2 Navigation pane and LargeIcons view. --- .../HomeController_core.cs | 123 ++++++++++++++++++ .../HomeController_mvc.cs | 94 +++++++++++++ .../large-icon-view-template/razor | 39 ++++++ .../large-icon-view-template/tagHelper | 42 ++++++ .../HomeController_core.cs | 123 ++++++++++++++++++ .../HomeController_mvc.cs | 94 +++++++++++++ .../navigation-pane-template/razor | 19 +++ .../navigation-pane-template/tagHelper | 19 +++ .../how-to/customize-navigation-items.md | 38 ++++++ .../images/large-icons-view-template.png | Bin 0 -> 63605 bytes .../images/navigationpane-template.png | Bin 0 -> 64050 bytes .../file-manager/user-interface.md | 8 ++ ej2-asp-core-mvc/file-manager/views.md | 27 ++++ ej2-asp-core-toc.html | 1 + ej2-asp-mvc-toc.html | 1 + 15 files changed, 628 insertions(+) create mode 100644 ej2-asp-core-mvc/code-snippet/file-manager/large-icon-view-template/HomeController_core.cs create mode 100644 ej2-asp-core-mvc/code-snippet/file-manager/large-icon-view-template/HomeController_mvc.cs create mode 100644 ej2-asp-core-mvc/code-snippet/file-manager/large-icon-view-template/razor create mode 100644 ej2-asp-core-mvc/code-snippet/file-manager/large-icon-view-template/tagHelper create mode 100644 ej2-asp-core-mvc/code-snippet/file-manager/navigation-pane-template/HomeController_core.cs create mode 100644 ej2-asp-core-mvc/code-snippet/file-manager/navigation-pane-template/HomeController_mvc.cs create mode 100644 ej2-asp-core-mvc/code-snippet/file-manager/navigation-pane-template/razor create mode 100644 ej2-asp-core-mvc/code-snippet/file-manager/navigation-pane-template/tagHelper create mode 100644 ej2-asp-core-mvc/file-manager/how-to/customize-navigation-items.md create mode 100644 ej2-asp-core-mvc/file-manager/images/large-icons-view-template.png create mode 100644 ej2-asp-core-mvc/file-manager/images/navigationpane-template.png diff --git a/ej2-asp-core-mvc/code-snippet/file-manager/large-icon-view-template/HomeController_core.cs b/ej2-asp-core-mvc/code-snippet/file-manager/large-icon-view-template/HomeController_core.cs new file mode 100644 index 0000000000..c6e1574103 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/file-manager/large-icon-view-template/HomeController_core.cs @@ -0,0 +1,123 @@ +using System; +using System.Collections.Generic; +using System.Linq; +//File Manager's base functions are available in the below package +using Syncfusion.EJ2.FileManager.Base; +//File Manager's operations are available in the below package +using Syncfusion.EJ2.FileManager.PhysicalFileProvider; +using Newtonsoft.Json; +// use the package for hosting +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; + +namespace WebApplication.Controllers +{ + public class HomeController : Controller + { + public PhysicalFileProvider operation; + public string basePath; + // Root Path in which files and folders are available. + string root = "wwwroot\\Files"; + public HomeController(IHostingEnvironment hostingEnvironment) + { + // Map the path of the files to be accessed with the host + this.basePath = hostingEnvironment.ContentRootPath; + this.operation = new PhysicalFileProvider(); + // Assign the mapped path as root folder + this.operation.RootFolder(this.basePath + "\\" + this.root); + } + + public object FileOperations([FromBody] FileManagerDirectoryContent args) + { + // Restricting modification of the root folder + if (args.Action == "delete" || args.Action == "rename") + { + if ((args.TargetPath == null) && (args.Path == "")) + { + FileManagerResponse response = new FileManagerResponse(); + ErrorDetails er = new ErrorDetails + { + Code = "401", + Message = "Restricted to modify the root folder." + }; + response.Error = er; + return this.operation.ToCamelCase(response); + } + } + // Processing the File Manager operations + switch (args.Action) + { + case "read": + // Path - Current path; ShowHiddenItems - Boolean value to show/hide hidden items + return this.operation.ToCamelCase(this.operation.GetFiles(args.Path, args.ShowHiddenItems)); + case "delete": + // Path - Current path where of the folder to be deleted; Names - Name of the files to be deleted + return this.operation.ToCamelCase(this.operation.Delete(args.Path, args.Names)); + case "copy": + // Path - Path from where the file was copied; TargetPath - Path where the file/folder is to be copied; RenameFiles - Files with same name in the copied location that is confirmed for renaming; TargetData - Data of the copied file + return this.operation.ToCamelCase(this.operation.Copy(args.Path, args.TargetPath, args.Names, args.RenameFiles, args.TargetData)); + case "move": + // Path - Path from where the file was cut; TargetPath - Path where the file/folder is to be moved; RenameFiles - Files with same name in the moved location that is confirmed for renaming; TargetData - Data of the moved file + return this.operation.ToCamelCase(this.operation.Move(args.Path, args.TargetPath, args.Names, args.RenameFiles, args.TargetData)); + case "details": + // Path - Current path where details of file/folder is requested; Name - Names of the requested folders + return this.operation.ToCamelCase(this.operation.Details(args.Path, args.Names)); + case "create": + // Path - Current path where the folder is to be created; Name - Name of the new folder + return this.operation.ToCamelCase(this.operation.Create(args.Path, args.Name)); + case "search": + // Path - Current path where the search is performed; SearchString - String typed in the searchbox; CaseSensitive - Boolean value which specifies whether the search must be casesensitive + return this.operation.ToCamelCase(this.operation.Search(args.Path, args.SearchString, args.ShowHiddenItems, args.CaseSensitive)); + case "rename": + // Path - Current path of the renamed file; Name - Old file name; NewName - New file name + return this.operation.ToCamelCase(this.operation.Rename(args.Path, args.Name, args.NewName)); + } + return null; + } + + + + // Processing the Upload operation + public IActionResult Upload(string path, IList uploadFiles, string action) + { + // Here we have restricted the upload operation for our online samples + if (Response.HttpContext.Request.Host.Value == "ej2.syncfusion.com") + { + Response.Clear(); + Response.ContentType = "application/json; charset=utf-8"; + Response.StatusCode = 403; + Response.HttpContext.Features.Get().ReasonPhrase = "File Manager's upload functionality is restricted in the online demo. If you need to test upload functionality, please install Syncfusion Essential Studio on your machine and run the demo"; + } + // Use below code for performing upload operation + else + { + FileManagerResponse uploadResponse; + //Invoking upload operation with the required paramaters + // path - Current path where the file is to uploaded; uploadFiles - Files to be uploaded; action - name of the operation(upload) + uploadResponse = operation.Upload(path, uploadFiles, action, null); + } + return Content(""); + } + // Processing the Download operation + public IActionResult Download(string downloadInput) + { + FileManagerDirectoryContent args = JsonConvert.DeserializeObject(downloadInput); + //Invoking download operation with the required paramaters + // path - Current path where the file is downloaded; Names - Files to be downloaded; + return operation.Download(args.Path, args.Names); + } + // Processing the GetImage operation + public IActionResult GetImage(FileManagerDirectoryContent args) + { + //Invoking GetImage operation with the required paramaters + // path - Current path of the image file; Id - Image file id; + return this.operation.GetImage(args.Path, args.Id, false, null, null); + } + public IActionResult Index() + { + return View(); + } + } +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/file-manager/large-icon-view-template/HomeController_mvc.cs b/ej2-asp-core-mvc/code-snippet/file-manager/large-icon-view-template/HomeController_mvc.cs new file mode 100644 index 0000000000..47fdf31a18 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/file-manager/large-icon-view-template/HomeController_mvc.cs @@ -0,0 +1,94 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web.Mvc; +//File Manager's base functions are available in the below package +using Syncfusion.EJ2.FileManager.Base; +//File Manager's operations are available in the below package +using Syncfusion.EJ2.FileManager.PhysicalFileProvider; +using Newtonsoft.Json; +// Use the package for hosting +using System.Web.Hosting; + + +namespace WebApplication.Controllers +{ + public class HomeController : Controller + { + // Accessing the File Operations from File Manager package + PhysicalFileProvider operation = new PhysicalFileProvider(); + public HomeController() + { + // Map the path of the files to be accessed with the host + var path = HostingEnvironment.MapPath("~/Content/Files"); + // Assign the mapped path as root folder + operation.RootFolder(path); + } + public ActionResult FileOperations(FileManagerDirectoryContent args) + { + // Processing the File Manager operations + switch (args.Action) + { + case "read": + // Path - Current path; ShowHiddenItems - Boolean value to show/hide hidden items + return Json(operation.ToCamelCase(operation.GetFiles(args.Path, args.ShowHiddenItems))); + case "delete": + // Path - Current path where of the folder to be deleted; Names - Name of the files to be deleted + return Json(operation.ToCamelCase(operation.Delete(args.Path, args.Names))); + case "copy": + // Path - Path from where the file was copied; TargetPath - Path where the file/folder is to be copied; RenameFiles - Files with same name in the copied location that is confirmed for renaming; TargetData - Data of the copied file + return Json(operation.ToCamelCase(operation.Copy(args.Path, args.TargetPath, args.Names, args.RenameFiles, args.TargetData))); + case "move": + // Path - Path from where the file was cut; TargetPath - Path where the file/folder is to be moved; RenameFiles - Files with same name in the moved location that is confirmed for renaming; TargetData - Data of the moved file + return Json(operation.ToCamelCase(operation.Move(args.Path, args.TargetPath, args.Names, args.RenameFiles, args.TargetData))); + case "details": + if (args.Names == null) + { + args.Names = new string[] { }; + } + // Path - Current path where details of file/folder is requested; Name - Names of the requested folders + return Json(operation.ToCamelCase(operation.Details(args.Path, args.Names))); + case "create": + // Path - Current path where the folder is to be created; Name - Name of the new folder + return Json(operation.ToCamelCase(operation.Create(args.Path, args.Name))); + case "search": + // Path - Current path where the search is performed; SearchString - String typed in the searchbox; CaseSensitive - Boolean value which specifies whether the search must be casesensitive + return Json(operation.ToCamelCase(operation.Search(args.Path, args.SearchString, args.ShowHiddenItems, args.CaseSensitive))); + case "rename": + // Path - Current path of the renamed file; Name - Old file name; NewName - New file name + return Json(operation.ToCamelCase(operation.Rename(args.Path, args.Name, args.NewName))); + } + return null; + } + + // Processing the Upload operation + public ActionResult Upload(string path, IList uploadFiles, string action) + { + FileManagerResponse uploadResponse; + //Invoking upload operation with the required paramaters + // path - Current path where the file is to uploaded; uploadFiles - Files to be uploaded; action - name of the operation(upload) + uploadResponse = operation.Upload(path, uploadFiles, action, null); + + return Content(""); + } + // Processing the Download operation + public ActionResult Download(string downloadInput) + { + FileManagerDirectoryContent args = JsonConvert.DeserializeObject(downloadInput); + //Invoking download operation with the required paramaters + // path - Current path where the file is downloaded; Names - Files to be downloaded; + return operation.Download(args.Path, args.Names); + } + // Processing the GetImage operation + public ActionResult GetImage(FileManagerDirectoryContent args) + { + //Invoking GetImage operation with the required paramaters + // path - Current path of the image file; Id - Image file id; + return operation.GetImage(args.Path, args.Id, false, null, null); + } + public ActionResult Index() + { + return View(); + } + } +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/file-manager/large-icon-view-template/razor b/ej2-asp-core-mvc/code-snippet/file-manager/large-icon-view-template/razor new file mode 100644 index 0000000000..c2bcfb5938 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/file-manager/large-icon-view-template/razor @@ -0,0 +1,39 @@ +
+
+ @Html.EJS().FileManager("filemanager").AjaxSettings( + new Syncfusion.EJ2.FileManager.FileManagerAjaxSettings + { + Url = "/Home/FileOperations", + GetImageUrl = "/Home/GetImage", + UploadUrl = "/Home/Upload", + DownloadUrl = "/Home/Download" + } + ).CssClass("fm_template").LargeIconsTemplate("#largeIconsTemplate").Render() +
+
+ + + + + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/file-manager/large-icon-view-template/tagHelper b/ej2-asp-core-mvc/code-snippet/file-manager/large-icon-view-template/tagHelper new file mode 100644 index 0000000000..882b904e55 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/file-manager/large-icon-view-template/tagHelper @@ -0,0 +1,42 @@ +
+
+ + + + +
+
+ + + + + + \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/file-manager/navigation-pane-template/HomeController_core.cs b/ej2-asp-core-mvc/code-snippet/file-manager/navigation-pane-template/HomeController_core.cs new file mode 100644 index 0000000000..c6e1574103 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/file-manager/navigation-pane-template/HomeController_core.cs @@ -0,0 +1,123 @@ +using System; +using System.Collections.Generic; +using System.Linq; +//File Manager's base functions are available in the below package +using Syncfusion.EJ2.FileManager.Base; +//File Manager's operations are available in the below package +using Syncfusion.EJ2.FileManager.PhysicalFileProvider; +using Newtonsoft.Json; +// use the package for hosting +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; + +namespace WebApplication.Controllers +{ + public class HomeController : Controller + { + public PhysicalFileProvider operation; + public string basePath; + // Root Path in which files and folders are available. + string root = "wwwroot\\Files"; + public HomeController(IHostingEnvironment hostingEnvironment) + { + // Map the path of the files to be accessed with the host + this.basePath = hostingEnvironment.ContentRootPath; + this.operation = new PhysicalFileProvider(); + // Assign the mapped path as root folder + this.operation.RootFolder(this.basePath + "\\" + this.root); + } + + public object FileOperations([FromBody] FileManagerDirectoryContent args) + { + // Restricting modification of the root folder + if (args.Action == "delete" || args.Action == "rename") + { + if ((args.TargetPath == null) && (args.Path == "")) + { + FileManagerResponse response = new FileManagerResponse(); + ErrorDetails er = new ErrorDetails + { + Code = "401", + Message = "Restricted to modify the root folder." + }; + response.Error = er; + return this.operation.ToCamelCase(response); + } + } + // Processing the File Manager operations + switch (args.Action) + { + case "read": + // Path - Current path; ShowHiddenItems - Boolean value to show/hide hidden items + return this.operation.ToCamelCase(this.operation.GetFiles(args.Path, args.ShowHiddenItems)); + case "delete": + // Path - Current path where of the folder to be deleted; Names - Name of the files to be deleted + return this.operation.ToCamelCase(this.operation.Delete(args.Path, args.Names)); + case "copy": + // Path - Path from where the file was copied; TargetPath - Path where the file/folder is to be copied; RenameFiles - Files with same name in the copied location that is confirmed for renaming; TargetData - Data of the copied file + return this.operation.ToCamelCase(this.operation.Copy(args.Path, args.TargetPath, args.Names, args.RenameFiles, args.TargetData)); + case "move": + // Path - Path from where the file was cut; TargetPath - Path where the file/folder is to be moved; RenameFiles - Files with same name in the moved location that is confirmed for renaming; TargetData - Data of the moved file + return this.operation.ToCamelCase(this.operation.Move(args.Path, args.TargetPath, args.Names, args.RenameFiles, args.TargetData)); + case "details": + // Path - Current path where details of file/folder is requested; Name - Names of the requested folders + return this.operation.ToCamelCase(this.operation.Details(args.Path, args.Names)); + case "create": + // Path - Current path where the folder is to be created; Name - Name of the new folder + return this.operation.ToCamelCase(this.operation.Create(args.Path, args.Name)); + case "search": + // Path - Current path where the search is performed; SearchString - String typed in the searchbox; CaseSensitive - Boolean value which specifies whether the search must be casesensitive + return this.operation.ToCamelCase(this.operation.Search(args.Path, args.SearchString, args.ShowHiddenItems, args.CaseSensitive)); + case "rename": + // Path - Current path of the renamed file; Name - Old file name; NewName - New file name + return this.operation.ToCamelCase(this.operation.Rename(args.Path, args.Name, args.NewName)); + } + return null; + } + + + + // Processing the Upload operation + public IActionResult Upload(string path, IList uploadFiles, string action) + { + // Here we have restricted the upload operation for our online samples + if (Response.HttpContext.Request.Host.Value == "ej2.syncfusion.com") + { + Response.Clear(); + Response.ContentType = "application/json; charset=utf-8"; + Response.StatusCode = 403; + Response.HttpContext.Features.Get().ReasonPhrase = "File Manager's upload functionality is restricted in the online demo. If you need to test upload functionality, please install Syncfusion Essential Studio on your machine and run the demo"; + } + // Use below code for performing upload operation + else + { + FileManagerResponse uploadResponse; + //Invoking upload operation with the required paramaters + // path - Current path where the file is to uploaded; uploadFiles - Files to be uploaded; action - name of the operation(upload) + uploadResponse = operation.Upload(path, uploadFiles, action, null); + } + return Content(""); + } + // Processing the Download operation + public IActionResult Download(string downloadInput) + { + FileManagerDirectoryContent args = JsonConvert.DeserializeObject(downloadInput); + //Invoking download operation with the required paramaters + // path - Current path where the file is downloaded; Names - Files to be downloaded; + return operation.Download(args.Path, args.Names); + } + // Processing the GetImage operation + public IActionResult GetImage(FileManagerDirectoryContent args) + { + //Invoking GetImage operation with the required paramaters + // path - Current path of the image file; Id - Image file id; + return this.operation.GetImage(args.Path, args.Id, false, null, null); + } + public IActionResult Index() + { + return View(); + } + } +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/file-manager/navigation-pane-template/HomeController_mvc.cs b/ej2-asp-core-mvc/code-snippet/file-manager/navigation-pane-template/HomeController_mvc.cs new file mode 100644 index 0000000000..47fdf31a18 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/file-manager/navigation-pane-template/HomeController_mvc.cs @@ -0,0 +1,94 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web.Mvc; +//File Manager's base functions are available in the below package +using Syncfusion.EJ2.FileManager.Base; +//File Manager's operations are available in the below package +using Syncfusion.EJ2.FileManager.PhysicalFileProvider; +using Newtonsoft.Json; +// Use the package for hosting +using System.Web.Hosting; + + +namespace WebApplication.Controllers +{ + public class HomeController : Controller + { + // Accessing the File Operations from File Manager package + PhysicalFileProvider operation = new PhysicalFileProvider(); + public HomeController() + { + // Map the path of the files to be accessed with the host + var path = HostingEnvironment.MapPath("~/Content/Files"); + // Assign the mapped path as root folder + operation.RootFolder(path); + } + public ActionResult FileOperations(FileManagerDirectoryContent args) + { + // Processing the File Manager operations + switch (args.Action) + { + case "read": + // Path - Current path; ShowHiddenItems - Boolean value to show/hide hidden items + return Json(operation.ToCamelCase(operation.GetFiles(args.Path, args.ShowHiddenItems))); + case "delete": + // Path - Current path where of the folder to be deleted; Names - Name of the files to be deleted + return Json(operation.ToCamelCase(operation.Delete(args.Path, args.Names))); + case "copy": + // Path - Path from where the file was copied; TargetPath - Path where the file/folder is to be copied; RenameFiles - Files with same name in the copied location that is confirmed for renaming; TargetData - Data of the copied file + return Json(operation.ToCamelCase(operation.Copy(args.Path, args.TargetPath, args.Names, args.RenameFiles, args.TargetData))); + case "move": + // Path - Path from where the file was cut; TargetPath - Path where the file/folder is to be moved; RenameFiles - Files with same name in the moved location that is confirmed for renaming; TargetData - Data of the moved file + return Json(operation.ToCamelCase(operation.Move(args.Path, args.TargetPath, args.Names, args.RenameFiles, args.TargetData))); + case "details": + if (args.Names == null) + { + args.Names = new string[] { }; + } + // Path - Current path where details of file/folder is requested; Name - Names of the requested folders + return Json(operation.ToCamelCase(operation.Details(args.Path, args.Names))); + case "create": + // Path - Current path where the folder is to be created; Name - Name of the new folder + return Json(operation.ToCamelCase(operation.Create(args.Path, args.Name))); + case "search": + // Path - Current path where the search is performed; SearchString - String typed in the searchbox; CaseSensitive - Boolean value which specifies whether the search must be casesensitive + return Json(operation.ToCamelCase(operation.Search(args.Path, args.SearchString, args.ShowHiddenItems, args.CaseSensitive))); + case "rename": + // Path - Current path of the renamed file; Name - Old file name; NewName - New file name + return Json(operation.ToCamelCase(operation.Rename(args.Path, args.Name, args.NewName))); + } + return null; + } + + // Processing the Upload operation + public ActionResult Upload(string path, IList uploadFiles, string action) + { + FileManagerResponse uploadResponse; + //Invoking upload operation with the required paramaters + // path - Current path where the file is to uploaded; uploadFiles - Files to be uploaded; action - name of the operation(upload) + uploadResponse = operation.Upload(path, uploadFiles, action, null); + + return Content(""); + } + // Processing the Download operation + public ActionResult Download(string downloadInput) + { + FileManagerDirectoryContent args = JsonConvert.DeserializeObject(downloadInput); + //Invoking download operation with the required paramaters + // path - Current path where the file is downloaded; Names - Files to be downloaded; + return operation.Download(args.Path, args.Names); + } + // Processing the GetImage operation + public ActionResult GetImage(FileManagerDirectoryContent args) + { + //Invoking GetImage operation with the required paramaters + // path - Current path of the image file; Id - Image file id; + return operation.GetImage(args.Path, args.Id, false, null, null); + } + public ActionResult Index() + { + return View(); + } + } +} \ No newline at end of file diff --git a/ej2-asp-core-mvc/code-snippet/file-manager/navigation-pane-template/razor b/ej2-asp-core-mvc/code-snippet/file-manager/navigation-pane-template/razor new file mode 100644 index 0000000000..a6dbaeafb8 --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/file-manager/navigation-pane-template/razor @@ -0,0 +1,19 @@ +
+
+ @Html.EJS().FileManager("filemanager").AjaxSettings( + new Syncfusion.EJ2.FileManager.FileManagerAjaxSettings + { + Url = "/Home/FileOperations", + GetImageUrl = "/Home/GetImage", + UploadUrl = "/Home/Upload", + DownloadUrl = "/Home/Download" + } + ).NavigationPaneTemplate("#navigationPaneTemplate").Render() +
+
+ + diff --git a/ej2-asp-core-mvc/code-snippet/file-manager/navigation-pane-template/tagHelper b/ej2-asp-core-mvc/code-snippet/file-manager/navigation-pane-template/tagHelper new file mode 100644 index 0000000000..a16c74f78a --- /dev/null +++ b/ej2-asp-core-mvc/code-snippet/file-manager/navigation-pane-template/tagHelper @@ -0,0 +1,19 @@ +
+
+ + + + +
+
+ + \ No newline at end of file diff --git a/ej2-asp-core-mvc/file-manager/how-to/customize-navigation-items.md b/ej2-asp-core-mvc/file-manager/how-to/customize-navigation-items.md new file mode 100644 index 0000000000..8bf2f183f3 --- /dev/null +++ b/ej2-asp-core-mvc/file-manager/how-to/customize-navigation-items.md @@ -0,0 +1,38 @@ +--- +layout: post +title: Customize the Navigation Pane in ##Platform_Name## File Manager Control | Syncfusion +description: Learn here all about Customize the Navigation Pane in Syncfusion ##Platform_Name## File Manager control of Syncfusion Essential JS 2 and more. +platform: ej2-asp-core-mvc +control: Customize the Navigation Pane +publishingplatform: ##Platform_Name## +documentation: ug +--- + +# Customize Navigation Pane in File Manager Control + +The navigation pane in the File Manager Control displays the folder hierarchy in a tree-like structure. You can customize the layout of each folder node in the navigation pane using the `navigationPaneTemplate` property. This allows you to modify the appearance of folders based on your application's requirements. + +You may use this template to show additional metadata, custom icons, or other UI elements alongside the folder name. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/file-manager/navigation-pane-template/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="HomeController_core.cs" %} +{% include code-snippet/file-manager/navigation-pane-template/HomeController_core.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/file-manager/navigation-pane-template/razor %} +{% endhighlight %} +{% highlight c# tabtitle="HomeController_mvc.cs" %} +{% include code-snippet/file-manager/navigation-pane-template/HomeController_mvc.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} \ No newline at end of file diff --git a/ej2-asp-core-mvc/file-manager/images/large-icons-view-template.png b/ej2-asp-core-mvc/file-manager/images/large-icons-view-template.png new file mode 100644 index 0000000000000000000000000000000000000000..784bf8bed4f95840504d096c1414de061422ca78 GIT binary patch literal 63605 zcmce;byQSs^fo+-fP#n$h_nSrOLvQOGed)jGy~E|4F({sLrHfG-Ce>XNOw0#4c#!q z4Br_apWpi4wchW)_j}J;z{ELs?R#JQ+WX#{U=1~S5+Z6M5C}w~sPIw?1j0`Pfv%%& z5&)mH-anWC{#l9vG$_tS0yZ*Evgt4f1FWs$^}X86GSTkjO~T|l7wuDG9T^Og*r zAkaCH;!9~APm}FAm{H6L=IUVmUcez?LU2Wf^|dOEnlDOa6t8!_uw|Xx;*ixvV7@wk zsQ+5URZ2Ci#7@H*r>9-XSd~3Gs?EAa&PE~_15qLtRin&4I)5sC;BzJ9pG2(jkIN!$ z|B7FOam_NuFEzCNpx$IXY5jfbnML``j{7xWSh#EPjd2*szb`?c+K*jAc&No6pG3Tl z^K9+xXaw>8el^H0DJglfF(gZA?D|c+K^x?|zxadczi&a-B<3C4l{Y$vGUaKmZvK5n zs(^~uG8dF!A^2bWP>bI0bvGaXecQ@$Gwr`&I7oy38^t@~>(+no@Hf0G^@vrgy`wH}brs)?`JMP{X(wLYSqFc9|=&vmn+A5_^JmvDs zd)g5(Ui7G;J9-*B|OFGau$ef9;dj9DyZgT!JwCCHhF+2QfCtHZGTY=9DOVTe| z9eitx%Det)O^K7U{l(w$!z9D9r5nON(&iy(eKwDmk0`P`JJMa~X>;wNBeglsQy|$F zobAVZ$ZNTGC+)0oXqIBwIC3F}EzB3#ttWTvHTqx5{8{1M3af*sUi(#Z9hQVGFU0v^ z&AV5Aa|2f<8S?b{d2=V%ilis;N^G%0TuOKBNb~G%BAg$@ZTesGFHS$M--$IO*GkP~ z$QunLu{&PMMT0Y&LuljD!^*xPx1`Bv!l^1e2nS&UL(q7w@r2uRZ?^Ho{z++38zBqL z4ziRi`3JRpGgT9de%Uw3&H)o^o5c5wP7tTjIqu+TGOaiCzEgFGrZtPS?YewM@}e5I z3#1ZvhTy@Z$ek?{t#1cSuF$%*`K!;}yPn{Z@qljc2a6$~n*5?zY8VNhqq@ zHz=2I)-H%LmC&am;_x>*xdim=kyrEUPp38e zicl*{FB*AWi?%=0I(MCuwJJQOsc>(2~D(t41|tV#8b8Q?Y3)=ZI8Dh)UCU)AG}=W?~67GR2didqo{UV=r z@Tv+-L9yL&1ls2y>)N&3VsqgDlas*0Q?91o_dnK4bVp6vPZF>oBM!Q&bg1N0@luF! zc;OlKbb5bQhXWBZ8a*|@#XT|gw6YuJb4tqb#T9H2;6_)tDGRtX{1#Pw`$3HR`YpqA7Zw$RXTD4POn3Rt*O^0T?Rbh{>QLL9 z?gn;>sy@4lGN9QeBm}GV_WQ+liSoy+a!E^DMH=3XMVdaINWLC19(@GwQPpK8Sg8rZ z3UfD^i7i{KyNg4$38A!%kE zgzkmA`-|%v6$hc3sKRIX;C}6H;?)k50dvu3iDe`^IY0O7=pXY@ih>E;mp6;a9yPx>tuE|_7aTmz zpdL34hdt7b4fM}cl3Qt`pcj?z&}(?>Rom9yS@7#!sh(CM!=6UXgZ-yJ;aSV_$njzO zMuB%#;Mk;tkQN(_#EGd&D2tAPR`g1S+R`WTvsT&|T6^Ko!bj$dgYU|6Iw-?LMiM&c zZ3h~xZl!Kf$!x?xlej%4)Jz}sUR+} zCW96~;N2%(r;u0gii$~cxfE<>AZgJvbSop{0>zT6-Azrq3!XY33~Kz_^ds8U*PnBW z8ELjaIcE!FEtG28GRwi!zx8Z6U>6J*Qu#%}$BfS7Y_>e{h~yz64?hu9if`Db)P_sknc++XrT z?=T|qSx+bQm2R?6Br&feGAPgmdSCO*SnyFIZ^{qX*4QKk_2YEOpEJ5QhMX#EeSIVU zO37PU2g%n^pt3cgq=itDuurOuK^)_;2$_9;LS2<2ph332#s7!=%qaiOajGi=EY1x?@n(x%X?> za%B-BP7tnN^#U4ePs%wFVcbx;Rj0QCiqv&kEN$ydVe~21rIcB?!nBLLi=AFlTP5zW zS-x-c@>R;=`Wg!cf;b){XUvJ?yJZw+Z^uh6_(Tq$0uvLxBs71R685bcn3I4ez8b^0 z9(ey~sC(Y$!z)#{u)an%1q)^E=e-qH>k!Nc@2x2fSr$~)1>hq0?=I<nj8NO*=s7H2Yr4qDb8_nA)h;vlTjd0sZenzj+J39?5J0je6yKI$TUVN+7$ zm8qzp(``ib$6}3h{bCYuwQc%?V%x*w$*F*)`X>tcvm@6k=m!3o{}pHIH+9~5=d{Ro z%DjE2Jt+0+^xaTRM{-S@?kWB)v(wVg_@^aEgF8iPRi+FNEE%dwn}0gg!0K8hSlN3e zkTI6i*iy7>;+#Vbg8@{%Nut*e<0#=oEx0>ino57<6pKOGbxd{6(O8luR`0r^C6Bht z%qC_kBqZiW3;7YJrKK;tkqI5)ojY4O#*U;7meIb_ax3l)a}JVkO$9lo=^w-0%QL%hp zv?5U?1Cv3dunz2pvN^`_DedscCe67PxfSyaEO!gGYwT1uymNZzG2!&A?x+Ozs?%eJQgYj~w~e4I&%@B@HbgQGmR}!~q;T2p34PEu7R7gnjN_c+> zYGEWR7Q;J0PqTJOi}M6qYrvddtr9*m=@@&*Y=by1ooQm`+clD<8}{BVT!7p7gEtM$ zYIEvLK|xW~m`&nT_~DJc$8_vgc4}4Q$L_kDd{#E&$sbr@0&@6PdQs(Ot)@pp#i#RfJ+wT?+#hCPO^{W=a zZc~3|b+@)#Q)+Yj7<2hm|3l#TmxCw@jzpyzK7jA2olIvuh$O`CVBJZ-X`}oNvR&kO z8!{Yqi^!RpCT}DC9-Q?UJoiJRtXyF=Wb`+pED%kRwvoylN)bLFEtLmfcN~s5JK}#_ zZV-E^7!pbis4R6K)X@%FD*_qfL}Q2JBidPG?A>XDuB|;|JfEt3V_}o22`M^viRW|9 zfE&5OXnE6H#*U(RE6axj`9*qq*S*BOQ%=08p`+T+DYvPQ2Un%&X%eco0zZGKHk zhNkM^x9uM^i!<7syTr=6%BVdJ8{fPgVV>#Vr(Mg6Ur(%edF;9UGMkmLa~sj@i>_`w+1>Q4umeQv)xGfWYn6Ul@031Ifl;0M1Z=JbQF3O;s2_cr zSzpCW17+D$K)L3+E5o1gy?I+&X=yw+oxN&cY#;MJOaGqi8wz_i%`SJve63BCvyG?9 zO!FI)ld3{^;Jjy3S?A+tI_dCkHrlg%;c;;acpwtRK<)kPf*->wyT$Oy>mCuYldb=Z zob78DJMkO%h}5i*kdiQQlKfLcLkaq4_@)%B2qU#19k-Zn-3QOlHu=I^o~k+3ykyzc zUzZDR&d>YG89IK_7ZB`s%@)4rSx4#u_%AidX6RL=a;;wkj4F>yh$?)9$1wgs&kHreit{D-5Ka|(|BaF%}No8 z#=JYxiFfz2+_q_$TeZ*{lp?Wjw`#t1rZ&!j1Z+P6>&xB=;yKO%_$ z+oypU84R+gd14%5d%1@KO^4^NC&Vwg5fu5{M%L|qx^6mb*o4QJEGElcG&!{_x6^<8 zosi&EK%i=l5}%rmUnO{CeKYD4<@0l9GQOwgvCbWQWag*)YiSo>x*tfEFd7<0gh$#N zXROD?B3=!D4O(Yg*QM&VHuJ_()+GCiA3%s|Sry;!t+72WRSMv$zPx5o;0i^hk6c*q zI6d@rEdOX13V!R9<+}1WT*izS{b0ApK)Iiu z-B|4Ajt6O;)$!c`Ds;cx*-gfQ0bS<>Rtl9aNc>U)vGmieaTZ4h7lZYSUIUS}Ck(EI z9CNd=5{(YyuCFVH7v}O+LwWgG&)Fz)m~Hh&t=sF*?r>n}aVlq3ZrXDcYkfu$oG|{o z=}6odclIcx;N(KDdgAJqjop<7<)!S77bt``#9wqJ+_t(5M*`5YUw1vWO!&&VD>YCd0#H~Pc<rCdS+N7XF7H+EF>i@8x?ajEduqGlwb4bS(TW& z;EcxkAg*E5W1~vCm*2XJxHBlXHZYV=J{WBu(EWsj{W? zD_?8&*lnadKzv_0$VIa(XluK$!H8% z4fo3hQ&7MOKC@IFyveItH8{vQI=J`VC2VxoN!w0)sOPBh(d;I|aCqHrT2;Ps_O6U* z+xn`A^9WyGs>Dmqh}dMkg>LXtu4)89SG7rjfKvUTvwX6XG}JoZh{BY5rvJB5MEj#~ zg)h+%&WVs1Io3)!+qR}%jNVzuc@SUuNWj1y-LSs#%n3#Gsel&?q(Qz17N7M`RvoJJ zV3Aj-R6<^zeLl0)sYMGO+Pq3}H>#M*5^)(&S#QVrvfIZh?XCV`ZyEBsbQ#aWBmFqe zudD2-u3%kJhN5ea6_pyn!zNo7z7;sF_K!psWZeoz)|scT6+4Q=7n%J2PP-ar^L}{X z+lfonJ9%|RH3cmi$SYU2>l@Y7U$c^OpS<VECE>a?4zHKHi4{8c{u zq-R)I$@`JolwERAXN1bvYRbIVE}vh`&OW!NqGqlbFR+dW-{T%y=QbCTT8l4vp6*!Z z3=>gVaUr5RTi>~!J;$vQH6MF_4TJ5aJRnkpAiqDFnpf2H(ZVd~5=t(B|t`ho>RjC=}CgNDegvhuv%Ga@ph_zzAj0dTPweo zSG&8wi;gf;s!+H$!ZY9_<|=46-gpBaIso?B_FUz3yF@?WQqaCERb+*HH0dh2O8ybj z%&&*?iO|v_rfu2U5l$c%)wGCv7`yl|CFl5u*2T8xPr)z_jp;lg3U~E)OZDvzzXhe9 zR;ULJa>XgL!Y*9Tlf<>~ke1uKCYN8}yQ;Qhu?M@tK6kuIb*3^2SZx3C%w8qW^R!4` z6HCrGH)COypiVz#-kMNx2et{jYub}%6iwd?mSY}JG-`~7kdpN82;Hu?1GegezApW} z;ZRc4vlg~!J~UW0v=}XvmtpMgif3j5#^7l7Q~i~o-S4X?_CEUc zjAH;u@;;m9uw@MKQ)cA$Lu54S*7zhKx&}JuG6@|EDRakl=SeqMF5+F~XgMI=rJmUw z&x>bZWkk+e(L%e&+iSzQnLwatbG>Srl8MDGn_Nslk)wtD25u+u*6u!5rQw8nax3>- zLAPBus03chwi)Q<9WC_4oGcUAob!phCYM#L+>=TTS|mJ*nSZN~r%0q@zst(eqo%QM z70{gm&xmGWNjL}^L#-jZl$w9M@Uc$ng}d%N54ZODk+CaFAv(&G$RU&IH+<-Pv*`ZA zf<|ybG%u50!$LQtJDNN@Ye4(GM!EC6adzWUcy5jWvs4-H7B;85zGZV$CdM=|d$lfe zv`6UDhykxM*))%d++nzU`-a@4K*4iKLzWR2aP5IzK={DWp@*raRur+BqE?=kscG?O z>wSytoaYuw)sUn{6S6}=n~Q%c zbee!c^qKN>ON-(;yCU8b#|aKiS-#(eGaU7d87HZx1d%-xZ0d|QuP2hr8xw$Lr&vpM z@~({I4IuSKWW~08=Z$uFo0`c-4 zm2a-BV^I6=XYP?alrX>}_08kAo8W6{s?!)4@YHy^*JvudM>o_;Xfj-|SyOA@bV%@+ zjL%N1v{G1Be{Yhu6WP!c9e=klS$QjBY?LbDY+f+LlU<*~NU7qaI3dlV;D~>Tzy@<< z6M<15&@$8ae%+XiX8_`#$*15P(COUu)pG2akB^Wz4$7C?`?7=YhjTsBa@(-FE+B^;%b-^UBx6@ z^AHVEU;5CAaFfnhP9Yg%YdB2kHwoGr-JR&}l|L@0hu)XS+)?7qlDO&0yo?JH;IZwO&kSGLkWj&P+6AWpt8|iQD$@ zpJADG+&c@rs&);(|1XC@`}Ad(XNq2LW{kbueqfweJp|^~6zU#eo%3V2cM-q1wfUg4 z9Mpru)G7SvDzk&51oW%;i2pehf=kf+uLo&sbcFYO$gc4%igdCo)k(;$MsiNnGsin2 zmE^H0nP}b#h4zYLTNDRUxt0_dYTBo5{mU=(K1Bg6Jbq?gc?Un2ubN&)ij`|Lgiqw< zlbyB}B{JF`gg~!J-2d-zw^r!ub3`l#-UE`@rh}ega(3yW_+Vv{jA`XFNH9t zES33Fain+>xB2NVh&r)7>59kLij09hrb%0q(x5tBKSjXNTTYRH-4tFYz%bO}Gr|7BNpCg%WI`g+h;<-!0 zPMX+NYGx0d$Ya?Hbk?u~oOM!Wvs6ThS>{Mw<7-q7CUU-006U{dIB^dC zm|~Q@8YxgA!DqDmYaw-l3`U|^O*qC53G3h(+OjsXev+S&@ zlk@p~dq5`903KjaA1N69_vX+Sc>i}+;ZTqq)%VJehs{G zye}oVdjsU!h$1CK4E*_~bp$v*k6rxp8u<19b-Mk7dJwd@r1$Sq8B{wiNYIISYA~y( z@VQ^J&MY==KxTw;4l~9Xz1bFFGw+y1f>0Ynnfb-V;|T5CFk_Ja(O|YRCH{>YdGe9; z9h|}cp0XQM0u5pIU{~7K)_Ip0O!ypVIxi>Z6%eFBj^qvq2MuO)dMJwj{b)V`T9t;Kx2n<95sRbRyF5~&2`uh6m$s3?| z+_oIJ8K21_psd5+V5iBmE?{|34E1HbnS? z&Nh#R@5dBE>!FB3?mL8kh5!sQpv$3VW($^ASg50*@a5>H;)2gnco~8WF|-czGKw;p zFXsK(i%mD@N0X{=1e$cvgWe_kVNg_wI{Nx7ihbi&xQ6yEt}fRlPudxFwH&rK@|4}J7-UQ45xrDOFr6fyf-0{wI9N&sAZ+~Mp#>fNvTcU5?YqFLm?)-EP z5pr>moM7zbHT2b2*{^tGLj~$geG9a+b$+mdI!e7N6rA^z1-4!EGcXvu2?PkVfz#jd zVq?3;TeyL@w%gCugEu!fQOluRVaA+p8-tJg68M$5nvUTS43eCRBA)wc<>lqa{i1sh zgW8q3@w~bQ+|KqS1qB3qB#-GW)>XmwF!RWYg!WXsO)kIUi*fH``5qk-fjibi5*&1} z8k1=Ydyf~Ay7}7-%IFaK@g^>;d}azdH0KpsnFQ7ulVF@sWY$4*eV;l-1g}0nU+HY# zyX16x%6uFCY|i&=&g*o_s>*%GK>YC6)5D{qk;{uC3No@4*O`l>b-VNZrH;gZlMpH` z+%3J!W_C~$E!b?J4RuHXm{~39>od2_VY!2Y15}r~-7q@#D(i`4|N_vI1v;`u=P1-d0B34Ati&f3N6IQ8XfKF@HdT_Tu! zzne zX^V@m$Hr0pavd3&nQnVcXClz2ufjBH9OhgPep0eMeJZOicJLWDu@%)J#k*3ZI2*QkR#b6E8m*Za^uiTHNhyTh@7xSJSt<=bKAAAx0)|<%TenW%gx+lsaYIHQ zSgHd0b~Tivns}VafKg~cjg`0pkhM8(=s1QsTPPVF)%n@kN#i(d10a;`udk2QW?Dbs zt*(2-p1d2f`7Z&fbsf6UY^)4hcf^UesH!8B>)bX7qa%{~kLeJL1QkE5kEHX@d5+QYNcr|&#mZh>0V zXJ~ z1k}|oR!K>z(huX6>z8TL!X@10>;P3 zC&BRZ^Ox(fcXxMd85krC4-X&DEMTj<Bh<}p19m)}87W93GojO%)5+kg zdUdPGfRaXZsJuNf`u#$C0_I!vK5?hWu==dK9^-&`A^Na7mHsSps@`$f9=a2iX44X% ztv{eLCO+YlInbPE(%MX~xcES$podDh^*3CDc;hzv~hAT zUq0vN)^uz-i5>ZeDzl)tUg_Swd(*W}nGe|Y(moNAQU~$nnR21R1?LCPn$N@;85uWo zB{7IQv_fg`kJdH|N}6pSqETBV1%-tw07_@>Hl3M}Q1QHMaNijQbSr12Gg5S?2C(iu zaa9Qx6M+0_kpKoaye-U?_7b`MpG5`+z>fmsAbaZqUAk@kw-|xuX3FKJ8$yv*l zF`(~*;%BqC9kJPTHb1h~mq>$QIcYonc*|=Q%a-ggVzc9==pip^ z`9#ouCC)b0X_jitdL)Tm-?lg51jTUj&s>CC)?Pfe9(%kohN|9(WGzlyY_wTTL_sW7 zdwgHwz=h5)GR5@^p}nRqDzE3TxjZq@e! zr$OsG`%CSp^OeYxkyNbCT!V+8yWl-a%G~xK(t?bPw#l(Hpv(HbW;Cv0%$DiZFz}F|mk<7yyq=m`94|ILy^=ej=5yen@lwenxJJmr`(W zFg4HHFF355a~)Bgu5nB~-JRR2TmYI@!y~*i8tHfZG+u=X!THM09EQ;>95)%{0BqSg! zp>y?PLfc^m=!X~_p3XOUQ_#^BeS0d8!%QU=6&*lHz0P(4UurtI^Tr^&rT7v^7E8H0 zQuHdy=n(e7Uc~Hp+-r>xz}Y4tOLjr~NK(<7sfC4@JkM1#W9KtW$j<7ln}vN+@#q8S z#pr=cOLLsUbiNx+l2s}i-HUf8t!Zbz$&dkdStcVR!{@#|8OT56b%M}H^fTj@LylGvjixZ8IM`t9%L@*gM`ThHEwr$7dD2=m# zvnhc_NgG@`Pe&M4CP2oXKY1cEQw<#{)UT*CYbVIH5SF<3P3E>Wt|~a^sx7O*t|%=n zUB6x4bG&ectub>y+NoJ6mheUKg>lEL5Rs68RaI4^EQA2oOhHYJ9ChDcl=j75tk>_> zZ@I373yPfZTTPalsipg1d_|m=Ulwq7JXahV8mb4lL~=D?gV7ykR-@CMdERHc$nl~? zR#w&|%RG;r>60+tnI#kY(_eyj(qS2?=Wl>eL{srlUppOdEKPM{{{i>;DGf$`xLFc2 z`<}_owK8KbxrB?+SAX-nw(p5A6*Y~QUM!X6&u8N4aq}3Xh3Z{dc94WM_VNOk12H1t zbN+6nlotg61&*A7ArNGzB(`kC9=U+o^?+wx0q%gv`@<|I)r2f82EElzDyd^+lmwsx zAo=dYKRg0(`Mx~`CiS`OqA($`Z#D^_znken^uyZf;@JRj=)iytpWH0x1$00s?EJE> zu1>Au^T_aUrOUe7l)V5z!+@RuUjUhUb(tH>uAhPH8+B3wE6P@m6F@<80Y^nBU@YG| z)eXRQUqD|xh@2Bw_V!9bx!hCkY_6~80*WF$ms@d*gkN$(nWynQ3W{ z=DfCwaGC-zO&tx5w3232K6vY0yRR6#|M=!zR2c&@DDvX<`SzPndwuRHigVW9%bjj= zSra5)8T;Z*M`#4K)22z2@X>nx5i_ZsO}3LGXc1u8K4rVj=v}7Nzy$!|>QBZESAl{2 z_(W)Tf*kWgB63GdOeLW+)v5r>=t3Z|J)Ay&D2#`(>yR9d95iE5cILVjwzjse=lf>H zPCqF+ig}R>EiE{1W9&X^hK8~&v#vTa3U(3(WAFddXD3A+%u(?&z zG9IIAf=I<4=hm;r8YcOvH*o?6L};tVu*RVyhe?HLL|+zpI-1b=>n+db>5St<2@GRL zLL;DZg*|KGx9X?mFlqdL7D<9acUglc<>rXd-{Undr}!Y^5bQ?QqlP zas#!soaY^VunZ7T&A>N!)mz!7say3Upg|D~>O>nbU%>7^0Wc6p$DmQr<$r=nll6)YMdfUs`M*S{M0-Aps#Ndo1|YU>B~?Flqt& z@72(m96(&cJ7fT3z_U)O2@PUd0~D);T{HM-xL@@lW%wDX+TfRT`03t=pqe;nks5%4 zGl~Zfa(vOJn?ET{T@4a(RK#niYT_8+Jo)wY28jYtTfM#Bw>*Cs;YeR6;wRDs65$p=WyCSZBRGich@kWCSY-kH$YKB{SlQT= zVW^SR;~#_!8-PnNf%9i}W@^;S%F0M6&uE0+rTLw=GuY16yLkaFN|n>fE8LFpy26~r z#KleAePQZ*GA82u`^y6kgRF2GLEDv%aDY>e0L2X?Eln224enz=l%oho?r^52>TTD3 z-19g>wgzN@;Xdm~^!z+7@e0R{Q{JypahNtYF70_8^$D&5NcH8*%@v0swVP=e+AD+; zkh##04JSDxrYg|IiYc3yL@8Z;MNqXQq*F}|Z1vG$sk!|=BPDauey)WmU;V-<+&93_ z`hs|2Emg^udZY<-@-e8kALolnUR?~-?^MtHUSDS}7|VBTzIX-j!||g5$r79sb?w?U zY7y5w)bVEKA0r8j7)L+FFZbJl^}>$+{`e55h3|@iJ&_HpBobf+5LegA6z^SO)f6%P zpFe*Z)Ho#1!>)YAk9v8jCH)$&_5Pk=trW-kl4z>?xs_b-u74!{>jGXv@M|ixJ=!nFTS3(A#G@Ox0Pfv$uB|6kA zN?vrS>wv-804dRC(=8qaZkk-C9^|-1L^S-nD~jUYy>vjXTLUm`MJ$(TF@P=Bt^U_K zmgv)~B8PCs9WXyOfb>XUx_k3YF>v^D87z_O#T1QimbSh=;_KJD>-XHWFGY*!xHkJ0 zmE8^oOtl<_&x|Y9j)P%aePPVU(-Y<=ogOK#A8`9awkAqa%M@c`BG^6(=%)Sw@Hh+* z`4}aIoy(fL6eNqdDdF5_(<_v&g_V^Zuox&{YR7RcmvS@$_Jb3qFn~&X@!#kMNQqU_ z#cfvssBmW(74NmmEUv4|Qa|jnyKu>8pOnjzQ9PHcEP21*a0MFw$bTb}{^NGaLXeWW zeJcNoe}gxmdbPeKUzBsF6>7kvBgJJM*2Pav>lN(vO&m{1{@)UrK`-d7&X?!6D-8_$ zxy?INfGQjM&woRFB^*oN=Nu-6vy}mZ<#vr59HLA%oimK#5ZHp6{MF;PpLN z;vKy6U$M?2uL@I?Lkq^;*rksji1Rr}{U0dZ`QL}uZh;mF0DBT;%a$!mDo}}|-Eh|* z_>_D=;0d^d03G!@-L|nOSbS0>(dk90;I|N$(DnUR+O^hC$6FKX`4>_sfsRRB2^Qd4 z#iNS9T@O_5d)v$Y11CM)^)3_$ECNQ-_919dOvCQa$5K`!`IS!}J!<`b1t>uq_CQSX z3|9bU;`zAZ2-Hea@4A^m%+;tN?sfd)Z#k7`6~y@SUC>}e?cXA&eI_8<{clg8!TJAI z5Cr<)mpe%%VgOtO1E(kegoPXbPmz;;=glk@!I9(-Fk zU|>Lq+@CP7s0iT4;kdZhA3_Nfnl+y_?b+b;Hl6Nc!gWsuBoRpW@HpZ6A|DXv-Djk` zD+L2+VSZs@G{Dh0>we!i_FM|+cnoT61u!HRFt`Z7hk5+?F`YZ7wzhx&r~2!yF=E*{ zAnWerYkZWCZ-5v)08-@(g!hnu1{c>OSxs(SH`#6@<{Aa-8fW7uD!`#emfC~DWoIK2 zuDf!MQhH=mAG&b{1L|CRd$D$y)_AbV0RR-s9vTx*$M^KBIuEVETs| zSb~y!fe3#Fj>mOa#%1P!n*XfAbU_YiLkQSMi=S|DA$oDIclQ`t35|gDLk?vI0iRiK zJ5$*bEgI&rfs7F1wnY9Ba)35VYyeS!!t9&pUjerU_Znz49cVNNx3sgy+8|eUoM@y0 z1`3X(7Z2+Li6DT+H*kUf|IM9|xT+wdKZ$f@efAzRW~XA#URf%U21G% zod1!~WFNjQQ2LF)I~UWDt$Abo3nwhmZHqx(~O2d9;8uI&(Q z#mk$2%NARS?@D>!y{hnQXP1gwh%Z_F{NH&+Bj{QsCDD`5f6EjX@o%OzMcc_*|0yXG zn=K^?(VC@Oi788aIc~cG{R1oKGL(B61`6@M2P0q?;^F6~) zgEB;(WMpGAfYr|ZXN0Z3?wai-ohG#oWg2O{O=bDS#7_O!-fUbrkCp-Rskpg^5yP_dwCbE4OT3L!EFvY~jZmaLvb)4P>48xDIQv0;#XH^)3bh_Ze z2E6mEkm))7^7*9f#=48{MrMUopa{a+hzrPxsyqj(Bc3x_jLzl$TO)w2QJokso{!HR z@|d`i==5V_p9)EJKo~lhr!n>S>0FGxR;RZ~EIFvD%~x$>F5UA(3do{cY~zPJ$LDgl!3Gli zGT_j)yk9T4>)u!dyrLMplBj@NacZaN4|mHH<-xNa$%XOt_?VYwNs)v(h4C)X=7SU& z9VzpbZgnTb<$wMbflk6si*V3;&`16y0E-`PrVV)!<|mEAIAIkU|E6dY*^hE6*4uv6 zB6~JN^V3b)Qm^WbBEnTR=YfiANZG)`m?AZQ?a;s+P=KNX?@bV@KG-ADa#hKDTQInb zlKlN$PR?l;hLJMc=N6iE}m!SF=B$ZT!X`~OL*raZrS z^BwBmUnTRpF=$f|9WCcn2N#%p*DIo5Olqd9RU`Rb}rZSF<_Htk{ULOH*Q3Kb2E{GLgqNMSl!GP`}3 z`$gNPl_C)lk{Kb>(871hM{%GL!DIy0c2bHan3FK6bBrkn8T(tdJ$UP$RAx+m)%=@p z*UkAWZLrg}*TltK5*&YjdLQAIkT^9Q)F8w|8U{f%7*^Rh<-Ed&Ww#x_Bmr{SKXQfP z{axt2SD(*P6kMyPu^VLsjLgZ&;x1Azw=SLo#p>~S?HUnvLSfRxxXl(?n1?W$<*e&E zKc?Wn?&Lt>6?w647J;wSIU!?IIkIrvG;s3@)E z$7Fm@J~W1h-Nc4C!~)S`D$Jrp>p@=umnCGC(HaV^V>PkS{6Q>NuEgpqqU1#SJHHfL z=4S>khba9pk3zP20jVSTv2GP|*)c{BTV3?QFIbJ1mV#OH_)hC|yIec@S%=4|z5RKG z^orpptL0nvoI1o5Bn0&)L05JT5vz*hqow9Z<=&Od-fAx8fK%k)$5pl&oU$;eI$j zBT%9z%tlar%LG}Pe{Hv*D3$scAdnz%6#&=tT> zUeC=;`72~!S(Gsu?c|V#G^$mx0v4lDk|O`g+%RSe1*1MMh3B^OZ<2IgF>_32C%LfW zS-BLiW9o#~eSxxwgHxjzHmMJB_$(T59gZ1neqelpwE1Bb>r7#5b)$eY4Zv-FvYd^4 zafi);O@qkR_O$5v@r%l8q=L)pSmUyOY#N-!-GZj-4SjTxI2-s;x7)B(74qyNKITfX zxp$7_)3cbCySe{d)=yqcyA~NPb$9;EZ$mG~G>OZ^?{R87i;e?i(DTTS0%WCY2&B4e z=aA8iuD(vvzM4ux9;Iw!BWCpe_&QXB^pDO1t??0h7bTE~4gJN{GWcAS%F;viDU?E> zS@z{J3j^Kq{xaW6Sy2HFEiaX?I>tG(Xvt5+_%c&I;X- zvcrGHD*RM_)BNd{{}I1FI~P_9oRZ*Ug35&U#Uo743~sGOUOZ z9=GlX*!p3hHujq9-4+d1&q;R0@@CzPz>AP7FstulxdTCxe8VWGuNk`vnm=N5MzRXn zIJ$iwnP`4eE8(KMlF`p3_M_rz9P15e9naw}L|gw`65Qf3xWmFaX&Loady{yDLibEG zW4Axn0=D9-R1FPKQVtnTd$7B=8R`!%cw-Z?oQXW;e@6U3-vk6MYMc)k<`p>njLDItNJ zjjI|W0mAVKGS&bP)PBv75lp0R_eY*~Y=MPwe9_PeIwVB5n}#CaiTWvG99LSM+ZjNr zr86wn=}hd;g*Gc^ntg;T8GFe2z~B&)ZXcpEd`05AD-<_DVy-|YI;5AZ-6pJq9V zs&t-6MXk0z>3r;L#w=IC$9SU$^)IS*Na=Esw9HCS0`Md)B_eTh4G+bJo# zy2>V`<*97Ij6D%;!lKZCPIh@VOGtzGgcFt|JW3xf!8z8CV%&}>n#kvmxZ;>AuPD}J zH8p*bnDsr8#y6<9TE@mhtQd}c`u|Y(o>5IOU%zNT5kAi#WqKJY)DWP`=kU&5>gsuY8kuJRmNa!dvlsnPqdGC48S^ss;{czV^H(zv-$&@{N z_U!r_{x(KzfOTS<5mR9c1LcqmuD}D`mdLA`Xu~Qn!`!mRqGx!sy(BYv+rihZbS9ey zyPQVj;}R5Uzf!n48Llzd{Q72OR&mk`WY=9S-G(iNYf)KQB8A#hIn`TbzwYfm9L0ne2KhxXAg^tX6RfA|N zBr>%Na%sWUGLt`BpgNgx^4(n;t6#n)lynX+c^_0i*q@G*=DSUor|?)Iu3mo0sNE$= zoCOEpe=1Kr%fEz#VybmF%;n3L%Ifl0%M-O*;SBjx7v*h++P@i~lSlI-Q*}3_7!Ffv zwSvv#`wBOQtlVlf;+kvg5c4eHsLmy!Z%mrXY zoP>U?2E4a~b*o%WB&+qNkYkDc3Wr%)V$J!D+&g$QuQ0p4sx*TsYN8<|BPLQg)z+mW ziF>rt2>(Dgen&>GT=lm+diHZ+Z)c=^n6}dFueD-RW&YF&|DGP5mI@K-?|N~IZq!>U zjiKkt+KO*zU+2uErDH%p=4=XY+#)*cig4I$_Q?1zNSh<+{q|)!Vok=rDLekx^0iT&>Y1>{&P3{Hfb~-cq!e()*s_Rz9#!ou}4{O1BfZk^9}3 zV%z?pfJcH18FXua+2dg6^%;QDGU@6K9kfa%8&96B5$^04effqXhST5n6?vWl;zLUA zGx1RPbCtKYTZ$A7InpYI+1e=y`M)XJqrH-ghFbb#tjFnvBuC$*^(|PsEbIuJU~#;!?TpGV;(T~puLxAO<~!pi4cJjA>)NcJ`XR#Iug>wml6&po!Jk*Q zwHijwF2ezx+q>oK%&+s!0}XY^n7-U=u`iN*@~fyzd~auC??O{s^0mUp;-MOCy`fiw zoOiR**gB7F!f)sNu-tQzw-Cw}P8~j0)Jn63`s6*?FIA(^&uXZa;lywJIu;Tcaw*g+ zmvZiZ^Gj#@#5zrl7FmxL@E!*IGAX&Uc401(9JTI`tRJ*Sm9_5p!ZeMzn<%P;~g(|(3+DkxJ zP(6EEYx#?&@|!d6og4E_P^0+F89n)-+b}D~%k;=rehtn^mloxM^-3yms0b5JF!zQ9jIy^$YWG*bI#l{ zd4J(rLe`Iq@=Y*)izX^v+Wa5h=UDcW5PXG#Bd)6g+N=e^l@mpw27S}I+8{DtMk2s#lIUm2F*8O7)ylKIWNPQaq z<*Vl5(U7@3e9xkq;q?hI99{v<^G<7K*}0WRa*;<#?c=$!j13_@05TEF)UK11(#e>9 ziS;ErZfNuS5@MAuGfqxERI|fT-X<)%qDT_&9xd}KX#z1?T0VgQX#|WbwO#|=MdcXN zx%oc94_Q6r8;n`|@2-M3qd^7bl%2cC?F3TW5>Q&?_ z@`H7lz#1ZN_5{ubX+kL5-fFH&@kZKw5k(|%W}bqiT_O3@OZE0xWMJG6RGf;O=&#Zi zJZ9z9tTCp-^QpGGm@w4gnKvA>BPr!ZQu1~aFQYbHU-vS<>H8=fikPFz%8JK?{&va# z7PqaLMXrgSiN5o%n!GJhlfkRVCV$^tR?f!Pvvh`8PD4f^V}=(-qv;VL9(!5=KCf{p z603Re^Khb*V{^Yl9F(-HbGo%ErHM}-f$j5t+u?%1iL6|$u{39B?_qRHv+ zax|hJj^C2!Z7FqKytPZCA5WF4qA?N#Z|UV1Ys|p739xfNPUd{Dgt|72zUvze`vgtl*b2Pi{9;?p!f)I8H*q=?ZMWMK;GEB*pD)!pvoM*& z*k08YiwQExV4B|cv^K0gJGkXmf@2c6DP=V~gDU#=vE+j(I{ZweW`U4668>D_H81=! zt$=l~X1#qan^nc;+8gU!#C6Q9z$%(bzA=<(CbXU^SsKNzZH1|V+8+eIzHp|Fuhr?> zv>xZ?gt~?3g8q)z>{xg0n-E?UzeMl0Q0V*6-k&rrHUZx%-U(7uh^DI6X^~A)kz~MN z38EE01YI)9v-N8Xku-k4&ae3Vwom-yLZ3cE4}589FSl(e&BFIm9u0TJhuH0UiTHDgBHq6Jm$hjk(N>uk|dtx5K2@w-xab95gu0+xI zb`*g83pBKYR?t{&tv*%eHpuVCUnpbzMB}0T3R@v!jri7<+&gvB>?)VG^(?#M)adqA z%jXJ#p_80yBcZK0F)zZ~18HTRf2A#Q@dX+sBR$7{;8u4hb zYWo$Yjp#TB6it3BY>>08sW7wx zDbnrjvC1I9z*KT)Zl6ZinjP6O6kdfa?3 z%@X5KNH@gi0_dxhmW1ONAbVPEU9BWT>djk7uMrgMpP}z$9t#A>g`#(X@bQK6~1zi3vHH>niHnWy{eRNi_Q( zC%|BMIDPiFzO#ry%ck(+Nf}O2QR$`@`pM#>pg{GuiJ38@4QHRs4L2K2Rh|gy7|ad! zx>b+!a7}oD0=4jDIr{*xg2gTt=046DsthLqxE(e}M1po8-gG`p_>sG7wlt!wIS^E0 zM4t*4S=AUj;iBpMvH77=r0MAVfzJ6qfvqcxq%3eyHt2FIKqgPR<%=8?VU=n25NZSp z{C3RRoo#b(F9;95?>eZzryEuxAS|ZL?sn7lhpG&x+Ev`B&we=^r7#o=bPrSCDh(nB z1B}h3remBzfW;uaRGo7K7#F%Oo2b~!xBxqfglK+Qq{BGlKR$uS(*7WlgmXDGeOHQ> z;4FFz?)(i9r}Puk`<}?tlZ$cl?=yT1)lbOy(s5a!jydx`;e$o?r9$QZ2c#+v<2@HX z6r(yixw`Tb>!0;OggMA9FTj0!vI*wq!zthHC)&Q&ZL)VUi<4wHHqcEgP2#1P*b046 zo0xOPLul~5N|#QSvcIDCm%!)B$%ce$-X`y!A7pJYw5v?kVV^W5veG=_R~y_y7Y|mj z0E4g-{u?Jn>*!Tl>Q@q7t57H!Kc$ni->O|Y_3bI9SWWu%^?sFb)EyhI2<)xiGOTF? zh%ptqBoqVI?R zU;BF+Oh(zw-*nOmuHMlZ&I<1ytvaQ(acXk?haeO*g00@NDUp3NA@cS2wgHxy+~37I zXt8UozIY?_mdIp{%2nw$#w)H~{*kV3#qif6$Ju}Mi)<;%q=aP6LN0g_ms)FmQkt5$ zl*QBhUgppb9Mk ze2cSz)9fEnA$)=4jLQ4%d8T*&9MVSl^r3XbZFY;?Cuh9oVvCxMDsm@|%WSCz=iI8+ zhlsddvu}960H-XeVS!8V6&1uXDhtvS*V#L986X$K%kILss8p_{e@%Dd&C_IO5st~Y zL$WH}Up+?>k#8JR0=eWLH&VrD7UeuUa=n5e;{Jj4VGJsyLTMI+jw9*w@-*v;C8|_& ztPYr*LaW&ooVta1em@)6__pbHc!1;zeQ`(jN zaCFK|t&8FkCPOdcopx)Wszu7#EY(tFgZg*jPxD{PTqEjnJeAAOKoo2x=4Fk*ar#$s zhvQCTh-yvLsJlyw?1)^~66MDG-v}RrIqUB9{LFo(kR+y>%2*@OC?217{d!3>U$*=K z7iZcQU)+gI)X}OI2#{jb8;vpd9;tuMkYN~1{UF`fXH(VW{mZQ|D*11r`9u`E|5t>rM9`+7-9Rz$ zoQTGgQUVGD*=ERUy%eE+UGoJ2FP1;{HBqUaRqN?7ovSHV(Vy&&5K2?3QoWjFbo@_^ z?$0NHh#&61;uc@DEIi6*{j>m_qUM&rOMEnZ~GOMp&KL!h35v&*F zgm19PzpYRhv9WV*{3pXLjqgUlwi;6EXEa?KJIbbuMlhtiJQ=EM6=8;!ZaV9XiV!y1 zP=5(hPUOntlyF|-jzzV=Gd6`eji`Mj|9MqTqj5BR^y>V(p^vHaSkYUCVSFkr-H|j0 zQR<<&T=2$QiO-*BsCvA50^2U8qU9RBd;Yx@jb62cM~Qi-qFT?kK~qb(_G<5b{e9() z&$lr;XS~?O<-^gqm$be%AAj#LqO-2%zCcUIR4iD+m!F^vpX&s%vgu+>f=s2XrLS9V^R{98l|d2t$WmKKX7na4j$#q3`WAuGjbWJi+;1 z7v|VjWy@35-M_^yUn@_ex#OHA&&7wL8hI1!pq%p0XUZ^+Y~?0&q6^U&b31m^1}z~i z9$f$c=2jpzmx1bA8TeO?4p?wrs9NjtJ+ZEov?I~-{8Z_MkBI2p-)m^QF@;iMfYbZG z{Xu$);>gZJQeI#0;WiWBFH-R>(cJ#bV0vty<4UM>deg#d_yULjtr&yxs8M=UAn1N# z;Y;#Dt;o*G+gw<{OObA0kJZsWH4O-*vG5w1>X&l>?YnE>tuOXaRGq_PEK7rE{NeDY zR-u;^hy3=M7-B`czPFW09ee0pJT&f~)|XC7@Uy0ZG{};wABCBSMgD{@;{LfBl-k#- zYX&jLM~^uwF2o!TKQN&SaF;M7n^Neffduf}1ctpUH%C2U#ll05qyGN(i$}zbap9^* z@SN?r>(!9TD{d44Fm(+GL=41*Aw8IWzrD(30WA}k9C)<_RwbrIj-&2@JDKANQW{-G zHU#2x9w?+~eIJJoWOM2cONy#Aidl{%IF7F0Bpz##dc62=k9BWIJz5Q4*c)a@ikc++ zuwX?H=VlFlQ#xMxuih^G?M?f5boj>=l|w;ej*4ToZIe-?A*AbyTQHuy^0Gj10y*Sw zXP*7c_se(B5jPBls}4hi%N)v!&Nl3&6@b(8p02zdtnodGP0FKbBiO7Jr1xC662j6`h5Qy!xlt zo+{FWrp~G$^2&KpVMh>0rhnEhkwePs`}stv`P8*xI~&*M#2d-NyI?^QCAlyQDMPX@ z3V}IWFtMJ!xMlb1+M|%RHih6ec+ z1(l&9JL3_#oC~i>BH7R7p7EUvK|E2zcOq(h(upB&fDnEE3dp0(xfx*3 zH_<*0VFj~Yz8-AWRA4a_65h@hkQFJG zn;<1N$y{77d*o4{+jITgF$t}{&c<-#5s_tWyr zC^zl_{$Cd(d0tdr=}J2Wu8HxLH{_^mPmzP~)3O^VNL`#G*=rK4+fkGBiIAxpQqtsQ z0g8YM(n>n_YQFJa86yGw2L@A*%GCiSpXOr1|~vc z=RXr^AP%dx`W>(ov+TZ9Ib67uJR*+Rc1S@T{ya4+HpoR zxwmGv+tk~$#s0*MW!WM5GRk+g0p7cYcQxLRn&MxCnr;eidr|z6@gCJ_1!=5m+Ff6h ziS8oSRKnx}6b+sr+1YN_|36E5fLQV|^+T<7_HxK^8-s9Z;fRA-1?^(LU==x7+?fNQ%WHXy9!hWGK9?E{`uvQ0>_bwEroE`TZO@$-|qdiFX#!O9+}wJjs zMWC6?tXbIJr|OyWn70wS$qz9$i8STCt{)g~Qs~4OyKeNq{(^@Fq~A6S4J*TAQ<}BX zKF8rtUQ3*^%Z07q>!;97SxsIS-7zQorAO8Lh zN;|P|Ew!@2df7FekQwq$8RCO7vw`39V)@_;T?>i-CDf4#sAK;DFcg;pN3YFX5P3K8L*xb&? zC>bJg5=1_?sMFVlDG6Zb+|VxI1Zt2dcn!F8E{Q%+ydv2qun_*3>VijySi$6F<8p;E zEnkFL&43X7#r!F~u&Xt`*-VJ`;#@Vvkjx$M>;`1@IRUlY2P?76*Gr9%LDT>!(K01QV77|sGP+-<+W&^G{0t^=UOPc+NY%a*IB$sm=r z(r{|QG4nhJ+WR3w(6dTfo83Y04B;Tf>hot*`QY$PT{LN%O?lIX`zq!=Umo#L`ywje}dF=!djxCs+wK~iEsc`j^ z*t!>Bt8)Z}90}#XmNdXEcSS`$$v5S|`)KI_C-lDmFBF{p)|bEJFNGklxQ z%Eva8DlY@IZvZl8=Q({}1i1Shl{saVj8M_Cfvk{h>GJd_l;DulXsftrR%po>O+f5Y zuRd?G!v>i_!w-%qV-^!w%_TRAlpuVskebF6CyB`C$Vw@(BRXkgAl=6)n=3~GO+;3> z20sNbyD{Z7xsKH?@7=8G?()J`(tjBre#aN9q07<}4&d35vI%C)@xTwkHI!|f>S^`9 zILWDPoH^^&UScVs>WqS=>uATdSxZQAXsarrw|$tZR74{-B|MDSKm@nR&0JXWNdXFG zP*@hynFPcwOZmwij;0{#X>a2pMQ^&)$2EFu9J*%I{AqH>A?#U=6 zL!SE&$XB`@0*WY%!oXpCY`Dml%efA!0U*pk0qvw>PP|oO98Yy*z>P8ZWv-tEw#^6U zWXiA?47EDCy`qy`*eZqI>Q;pxY<-R{8Z>A8{v_b|y1D#`pJVt_8*Y-WcQv#zqh^sx z&CD-g1S(;Aa30gM(=vgIOG=#PFRa#WH6b@MG{}nFl7{A=({xsd)Z<&gXY^Xz_O5of zA(bPu0`fW(I*ki(=yv{T0+d#{3oegy(o9|rByd?BhL`~mA+bhq_UD`Ug>_=_f^I(< z|0nW!lE{Y&Z4QQs*6eX@3}jCiR6h}q!OH2U^P1;>;9}F2mqN0hBVn?__hNX3I!(%H z^KvVlUS<)RVd9GTJ8*gN^C;_j^#QVlf>V!KqfKLM6^k|3gNv>N@Z8(;pBz3}TEY#4 z+t~1F9vQ>OEtv(bxBF>aMS)D~mV&G}1@X@e72ff;_v0IdwGr!|&YmB$kchk;9*xD? zhNeX4pEjvi2O<0BlkzeAP2#+=O)#$FyPX3+cSRS=)pF7Yn=)zLJV5qq`Cp_;Tl7Jl zBrk{6ld!)06R3MjwCumRv{zL_tbA0`XUkz{1vuE%!4nO$WUj)7^$WXtH+$5T4B6|~ zuIo<&&iVOokD2uRX_BlUokc^S-o6Wl|#L*hwG74ps$VU>@_uS4$ zE{1v_JB=Fu+K1rUb-hPW_%&ALP?3?H_7X5^DFQ@p!iwWnY}I04I;k95xL~`zi-{uk zCS`ibyyn2o_f(^`ZzJKi42rxkRI3Boh;Mk9B_xa6|M3!z7!HcQ=a1Tao$9oD4+8R@ zeNVY3j}Toj`^L@GX}-J0ncR(GNZh}}`~4lh1Ps6P@9+^KCoJn2eq17_6>&)(>`cy2 z4>ZOsuc4uKom$&}{1HdQrPHZoyVT-!@HgQmgtmmx`lXLfSgt}5$wd6tlE*Z{VBtP&!!cL?{ERcc)UCiFXb70K&{LK_ZkOK zDXB<`6sZpG1+7MfBHR7E(<|Mkgxh-|z&ZlDQja>2wO0fvn1G4dpg}SbYQl_--@4I$ zBU>ii(ipm7!Y2$YU*Xek=qM6(NVhsPg_aC5fmXcGGITc3-5gHW+W&d@9cgmZK<~@~ zdgl!w%~JkM&I~VS=yjceZ0Fa~=Xd2QVgJ1ib7BfuBS>}yXO*E z5gk}jAXt&qpB1SNDYExbG;1~Z;$348UT6$qK(h(Zj6r~61xeDY{xl26j3Od2c}3S9 zGr8dsaYdJsPrFg9yvO&(gDpKGZ7C@f)j)Jz;fOyV(K`;`+K(#K@UZTuEfoakM@IRv zH)->p0t*RTFK9v4XOY=b0O>?qDgy3w(59Ny#z2%6Z18(bqDityTCHnU!$vc8 zG94HXiSMlf<4uspyG9yM#BI^WmTau~$56}gtFAZrAonMR8)W@7rK}_cPKHDPg=~9+ zIfj*78-J6t!Z!(2BeZVlzRc`2Lz2)3aWzPQ2f^!Y5rrd5xZq?%J>STc7X5{m`upHt z2FQg!U8orHL@3eG>yr)f8Q$5uAJ)kMn8PR+Ru`BMv`tc^r%6`6QEUGSmHcfJzA3Nl z0$z$&^!ne<09xAT!o)y3cTjHlx7`Hk26_wg{d}mDZC~tBI|lfJG;>MAjZ0wWS4cA_ zS+VOXhWm2a_F!w~ma_{CbSJdIs4AehAkZ6W)J4*$6PWg3-i>VPl?KzzSf!(8b5|Ka z%`1e^_i5Q_$t0E(Cap1+w{-#?TXe}$$Q$V1w_Wu>qYH%4LeR+fzZwnky48LeK3SP! z{Go^<`5GX25PpU)m(!AtbOVQz4pc23JnjbJwji`Q&1>YsEGheGS%7F1A*o`nf3|jD z%R7>@VVJ7&>U5w(dO_MFHEkcDK(3Hj?(-jBioq^|IGezP`3O{FNc@a`E~ld)pb-zLjCtM2kFLExxUlS# zuTnPTd-Y~^R}L_8fY4@b!4vCq-i^Xu#&F|)KTV~6EHL9B%(W?ydvK&N zj|t3&%#C6d@TxMP$XOtWVu45gju!10T~4&L2<^Rldf&wDYYe$paB5E08SvBTWK;Ya z+VM)`?{E!!e0z$w?ybv%^`3QW5(MT7H)*|~HZRJS2R^+m!QNq*Gq)$y7XST)w_HTz z4{i3dH~AqCi-=qIACN5+o^3(#05=8~I0In`;KJWLF==ulgfHzCHKbT>F{sGmKi|4HCy zoun?(7t-@sY5bI2HpGOl$36Qjx?qy8{8I>^uX8_bs*G}AJBbZ1k^c|{s2Feu`#;x>1H;9+?l$3oPuSO)z z6@&B{064A#4}=n=ey$d^jeS%UF;dm~I6ZH%WfcLBY|i`GI}Fm9TWB0{O1BFj)O3Vi zWvVy#{=@j*W5c}}Z#ZH>mSvj4FH-pq+P+=w8(pL(dwZ!6^!~(8gOk*n%W|NUuv5X0 zS9Z_;I~JiTEjQ|dvT$mwS@1;{+nSsbfC#QH!K!!lUQ2{y~W zX%mNRKsIXQ3FIRcTbn)_5ARSa=st||b5XdfpG+k8umhs(l=aM*&z$PJXqx<2#zR}; zw0SpX!}U6`!B!=v-i}o!GP^EC@bSYps%?Yj?3})&_qwue`tOGoM}eZAx!<^UKZe3@ z_22U+j$`L4dA_&Ozi`Zfh9@(hXlQq3dTL8H($T+?ROlK2E;e$yi~?|qNa2C?+hWWT zirVkI<$tv(NLy)?IeI8dd3UY`dp+O0Y_;rD%fCvMGrIfAIuSa!VEy}xAhAetq-?k63puE>%h}aHTQ2#GI}xRrJ)vg z*L~0v7hm8Pb>0?d)8*}V`QV@m+M6T>j6zjCuYwoi;L~B!&PtBl>fa)vR;DpVp1jk) zeGO}MT17)n7`4+lmKB|`6gkd&$F=?#2rL>Ppn<@GlLXe6g%g&o#?LN1l>EsamD=-Z zT%c?E*NJD&cO|D!h;DVimfNc-EMkia{0LjXHg+Eh3!S2&7TY& z2}L>g-DrCBAunSEfpwo?f;hN5W}|x^s2GPgxMS#8TXemSw8QBI65zUVBV9M=$y{IJ zFM5qhoM&8k31&e7j{R5s+=rAYsh5)`Yzv#!O9 z(hAx?EJ?doa?1=cE!nQSDqDt49vlVc&!e}Y5vJoFDV)Lq;ckzkmFTDi%E@u&gd>yq zT?H6@X2FywkX^45f_{+{3sBu9qNnyTh~eninW7!KB(`wV!UDkJRJppvaSOVag*0OH z)-_*YCsMMWd1PUx?7~2r2Gr<7`UYpPb({vHu-c`_P@@jShC&#X(H-aCZh|l?r4Od^ z8V9T{nl+?1C;nEWo^{(tSn%J_ElCOeu#!xZLwx30Em6h!mVWYHb(JPx#tgq$PS3ac zVjY*;78spIg*sU8M-7Nkjz=-c5Ti;m93tc0y6#|00n|g_nM?p?n?6Z+a{|*;4M)(E ze;E}mI-LE95>!1|zvfM`ACGy!ZDe(ob0$SyIHYnA4Q%y3eAN}#+CiJH-+$^*2UFei zCUHY~_TSAo|K~DL!XT1b&34;)?mZHeCwVF)MrM=-8(V#;nM=6jX}_c=F!nxb38n8L z-s?=YCBLKYWozo&&yrmk@p$A=tDF={XBSYErj)s}Fg~ZiWDB5~3Qh1&KPc6%&2dsM zH1{L2CwAnIrkk084F|$ZX%s+52T&scbbS9kkWIFOh4$_~yDpqkE8pIHO1_+z_Q*Yk zN=z&keItm5sF~6$d#ZvM3?Zw0{2yZ@tD4J`qOj@}o=EzX`GBjg5tyA?Uc-Z|qD&2^ z1y2x(_P$J@(tD40t^*diDtNPe2@tl@*v`)G^Ks&Ta0rMwuUJ0Lj24AMiJeb6i8Xpu z?=&}E+Di*e$AxU$qvdzcK~$6uQzALnEkp;V@A}N1XEJz+4;lnZ1qa%a30ygAE$1v% zpTZFC0I z>fqle6%k(LxDM>>;d22`D1a+ZdW%_Og{#FV(K(kn@;gr>37fU?V!vKf7f2gE20>9v zVDcq^Fip=}5)8fQdA_vq%kGYbOnGv%b5f^D6C8Z`}{wHiv%)1)-mhsJ)sW`wA_eLI_`^y?W)zRZyrA{Q^k zxoEs$v&QqBSq`_eF^fTudAHs~EM~}>5mGa`V>?h7?V#@3^p}ai`Z-53A(Tlb1b}$~ zp!ic(ab)9lD!v>82Z~r+WbO7xQ-J=;Qxi?{_bL+hAH|dV-H5MLDjf5fsCJn&dW-Mf zQ`1iPoAR(N+#lT)lF)m%%R9}a%HJNQSO;wF~u7aOIM6WD7>M0t# zF7b=$&%;w7zWD!x9NWX=QQ~oBZnwzfv440b+>OurK~&t8O*8Spw`USo$>rb2^^sd$ zc&^bfzx*`uCBNbC(buhuXX0!>D2F9w%c;Mujr)>!x&IucW%toMFZPTIR@6f7l##S5-2H6;!itS$Y;Wr9GS zoILaA>2*Lni6Z`w2 z`$IXf2t2Qm)4VW5du@gXEp8sCDC_ZS2|gw@-+PHk*j3KT%4+^OME!2$tXQP)i8%Z% zp>5Xhf&rMfP8XC4>gwtOkM+3^75KVLg9pH~bwNX>9n_*NOIxq!;^N7eZ1(X3yG?hi z%9$c24LooMvi-YdcWL=u6aPR#0t$V(XD-o_;7jYAzoOQvI*Ra0t=b%MtBpe+;5bLT zvb5s0T(|=AK7sU>OBY+6SX%4Ilnf&ni4n^T4gFs#DR0y9rQLs4(-JPHpx$=!Ho#I4 zVwWZ?X;lmv{LQh2+|Y{nZ(HzGhZ!Zr*yiw5;UDY^N1U95$z{)hxP=d&?;m6?pLg*F z^CErv&YZDSsuOWWR8<*mWw(r&x=8)~g7nQ#9k+>0Y)D^e|MZ916n-ubtyW)nWFev; zB=5(@j^J<1mJN5=evt9@-au8R5=E*~)aU7*Ue$b!KJS;~Mps5Jn-z3ul`lrrd>#7- zJ*>f1l3ZA85AU{X`MSKK-f^ri3h1Sn|&mAR5 zQOiaoge-02gw2E)p~Lre7LV6+GgXPFI7sYt~$@rG6~tAJCMGx?o9LTiB&Juc|e}3^w^okLzV_1_vrF|h}A2x3j~&7VaJM*H8=$HE9Y5m!^=6#vS-aSLi8rD?b8eUkFgaB=-X(2 zXO}+`Y>S@F?h-=F5lRclW5_u7_>0wTuuInKGR=kw56cn>67FBU`^A`K1p~&lzC#_x)zanSJpAx{+P8; zeZJIvC&dW2x2T0GXw%xp!tLy!+QoRy1#8Wj`DCmgzy5ca3u6C054PvFTMgliYMNqi z9#VL7z zzN6Gw*q$m*@A$cF+6r$D)s?JpL%Zq1^g=1F>Vsk&x90X(gWecJsy$+DflyXaWe`m2 zyjTszRgLf}R8{sDkJH(%GssR5j6&@Hs>K>6<}IVXxA{8fZQFODRwR(+C!+=?9w`%k zDr&ZhYn~#uBR0-fmmM!HrWcal$^xG^4=?xJ=hEl#8W~u%8k%5#oh1E`u3Jpv1+3dPn5i+WbQVF-V=ZLrOjtj!Tez0!85;nu`me)DXWY8jVgWI0m zPwVfZ8xS|hkP+-OHhtJDgopG8BdeNoe6`p;c<`94@8+J*X7YJuCnHvpTsqfroB4%k z+#MG@zo&dL=F9Cw<;czlY&S){v)PVylLb&Pv$q|!a*^YHVOjP}{zC?QKl|kiU1jm` z&zHAeMqcGm^p)*DG@4r4?G{31s0h@Lq@G$sd28pnI;1D38KaFGAc@dnimuFCnI|_|$uRH>L4E zH?8A|h=6d!#-g*I5bWc;%N=j*rdX=*J>tW?)>8w1LaLa?pf6?B14qawp4g$>hAJ7i z38ewClvvd(Gh%Pg@|`rwN$Q`&UTdKrYIr4bW%##? z=W%m95OLm>lG;UU3qL$Fm8e6c%pBrix9;xxQnDzbVsz8MQfjWO#~VKxpE4O7oz)un ztcaSt=v?3aVOH>f#EA7r#_!$o(v%huAa9)bx^zb@teJ))Q>zN7LF(D#MdbfR_&-? zI>>~{1j5iM!QHs6y@Br^Rod4$&rW>Ho_;@xXsX)ya8op zVWB8qkB@H;8=oVNpB9ch@-D*_7*u7m-^?zps17-7ni%-bY4tYpN{7HpdqWzY+M)E% z>HZgAJv?%cHC03qm=4(+J5PJ-^>4@g7%ekg{m@Ct&bgYs7wHqKc&`(}@*)f7RKV6b zLEx=J6{U8td@b!?tzL&j{?a9Q|TO zh|a*Hc%7qgu*>tq{8m)^JmU!CL!Iaoou3%XjIA4?;Y6~!LygTwXKJ6DT1T8=sR zW@{#{SCHI2r{K$EJx=$KP-m#$zZ|CBdW=PEwAs>%Y3D_r#LQMJ2UZ(KvuU^ct@x3y zI~Rn(P}-(9`(!~(BhubC=LgD^_+tJZ%fshvhCDb#lUQnGJzgV(dPVEdWgxH;Uat{? zz2zx5$mv!oGAC}qooc=xE9zaUIp8+h?`K)4uoi_+G0wzJ$ut+W=X|E@g3h(tVGok3 zxGT@;%@lvUa1O4-`S z#_?ApSr}E>V!Y{|v0L!g;>18My>?xw5p$9as_sa7Zlqds=ldKKYft}BMVSYM`N@Yk zQ4#7@L3d{*;zOOgX6sh6J?AKfHnZ;W(-~LadaYHlL@Jvll*kOrVxvA$p(6J?3XQ&5 zA+>+uLEBb5I&k!`*ZGqJgXp4qr-{(b3MPF2?x+NA!78LU<${4;g%>1a)F` ze{G)9UgM}kA2UY1CH_O(rQh3?h`D8Bs;8LVBr|IOk{`!N(S{0@Zd3ep` zHR{7Fy#@Mf=k|D?Jpc58_~BmUuhoW-rX6kUGvBrkwJiG-F*mbQoa;vku%_+pFa(SP!s6`5k z(N^NB=Zli2i0*gnq{p9rdR}V6t0Zc$e?2x~GU9+TNSr4`%F2e&FQoM5cX0WA9`*ay zcbCP@1+1~uHRT`mr`hEtWSen0n}aFt>*-blsw;yF2@4VN!n6qr3=W zNiwzrITXQ!2plrTKh`%A!To4Ci=wwRKhC4o>lNAEZ!;pO&5YQM)C+lh5g!hGJJ%N> zWz-szQ)4!de^xVcr#q*7si(*U>nleX*G^C38O-(8MZ0@%TQ4Pu3|#jbeL5uOxvXNh zzu;bWTnfLwFplLc(2z|n&B`@GrJjA4*kG4#Q})DUXVD`TGqtGY#sk%yoAUM?f4)7QrWN5YiL)kE0pvR+C|g{fASh2I|x@Ix4vZ#L6G9 z+EkVaK4R5}hmZ@sHS&bIXs)l=qqSGGh~4Gb^)8hGpJ(e=J62x{Kyz(T9!^uf1KK}0 zyI6KJUGhzC$qVb{Y>C+E5e?8uXZ+l14YHCt1gs5o7+>%_DAY?GdHAE2arkHCsCxED zCkm>x-g@X0_~4|)<`zpudE(i!EsK>A!!pSuZG*N8wJRF%C9U_o3>Ox`<4cB}V}r8} z9`e=$_@}q-w+uYA<+btgn)5{K8a2V@X5Hm$H&aorvOdF%I}rL!{B8`J8)iecx7nDnuPEkuQ+r-Bk9q6X z2o8GCQfqx|h1S{yhiDx$i|kYIJrEhG_Ae~I+LUJ#qFA8q6ZuGEE-~zchag4l$24J?~$y~nata46S)tVmydWW$3(FuLcZQnj`&qDPAhy6L90;945 zr6xClR)h{+Qmdf*-DtMjfn4(?nKBlk>~Wj_i@o=bigH={Mlpa91B!}>0Rbgv5sh?0X2IV({Zn30?rGLj{ZWF$&fa-Q2Wc;0i~bKmpNUF&}9yWhIA z)?T>hnWwwDtGc?X`d8H$+E2ZGc~%geZWB_9z?7$d4{Whqu?V|xT(~Y*(RAO=cx0tQ z5;-AaB)IZ&3Q6ZOaI`(?PbZE<+#$m;!BN0usJ$1{SbWj@Jcn2nxS;Km9__`X@9`#d z^ig+L=7N^CT(dt!Mw;-*52^lq+w(rbh)#(2$C|svnl)b{1md^hpVh%z`^$BQsu{bq zc>h7Q)ha^m+|~O$w-r84zHYbVP>e;@7g1+G=A5!ZR`g`JkTqY%?%d;S3El5zpn|*; z6mKJ=!LJ5=*}V~950P4^eME)oo?KEGd$o*x@vZhbJi>JG$>_0l`dtV_(eU8l(K{@P zmn#Ap(qaAJg8LDXI3uG$QtbWL9@)*!6PJZq<$v)vcust)_+cRDT%AwL*s8ISrs`*F zmX*)I*eb(h%Gu?&{qoMV2t%-3NQr&j;-uRp55>vvPpGJ0)V(?08NnZuH*jrEyK(!a$?%k1)6-WB!AbLoH zh}RoQyHV)^>xMgq@V9paK>t6#ze;DwxJxZ4);26FecwN3Ff7fv)?S~#cdS?RV(q1-N@v18sVo4`cct>Z%RK3+MO;W>)t<8irI0UHU0ddJuV|xDU)%& zDgW8GyQuDIf%WKgr3_}F88*MjbMkVFZ-3{Y`q;-R#o|7du8hZ|-h_-t{Gd+FaCf)a z!tPd5(C;}q!OuNO>~_{tsah?PTNKDugd|0^`>wSloL33iP<#v7oeM+yXw5t zpwUA2b5)Ig2eV~T*vi0oeBAFt#T)2+ZX73_sp-VX_y|SQrJ%kzhEz;MV(?{q32Ha1 zJSKkFeBCnBzoq{Zj%}<&uiOqgsyTMNcnPY7g^l2v<*a$L_sl%kw)SQ{pULsFJGItS z=(?e}d`p`ras*pkDlOJ}q$u5cGt|9;+O(bgF!U8qUG#;T>YpqXmu74HUR3D|$Gjvn z54m75$`ftG3b}XKc5u+J-j2!S^_@>_7`XfF%8@lM3SA__AEzmMAP3WL4OI>q$l6J= zf&{j~Z>?8OM57T6qZfD|KF{Rl5{p?XAZ>|&Wr;l*^9xfjM@ElY-mRRTi`Wr@IFBb_BljB_pKtHWlN2b#rPv#=$lQJ7|Ws$IbL0 zYC7dx_q{YnV_;+_M?idi&Fntc(hUYU>hdH(#(+m8K>-558!16h&lH$;qN!Fg5Qf0l z?pz9c6B|r>j4@o8*?QslEyvF;mCj%1d_^6CVT)&g9e1m^8Ud`DsA6z=nb+=g%0)`{ zlz1F4#7l+Z@q6SsR->pSJ@QtbP~%2nU*oPT*4B#N@&ecw7)P1Go9~W0BahxJ2(3(D zR>J)b|Kh24&Fp<1*2-bA;eQ_aaRpz8me3XbfEZj>R!GvBVLsIj*P?{ZcNTPFGSFAA5lD&n7yBSIl zmBgufbg&=QrHGYM%k|xinaH{=|CW0xgJsIk+U_pJUd|G^?m_7n*lpNcAJ~ikt3FV5 zdcw#uGWMEtpL^@!kG8$51I&z`J$ZF+dZv19EM)bbb)36>zOGo-$R^K@wM_lgwM!u8 zdDlEO2w$$VrKj_3k$nYK@G4IBS*iK_u&u5}6Umy=Vt-i{1nRQXpANUwdJrf_slOGg3foE>lEsdo!w(I0^1^#e z@bVuf?w!}pDw@U}hzW8A!ln!$*2S$iD*UDrk`^OxdP#fr>Zfkz9LzpZD^!y8%w+lX zQg4caUQXbf%Zo#yp_PJ8n%s%f7H;`^t6W1nkE$o)o(xX}XZVLj+*n?ZhB^I|Nm)1; zwoIcdM(ecHc!(P}hBfcB-Ows+&zdoDGM|r_>s+0RI?jHrTAwOs=~mTyw4n72rlOaX zbJ4ut(H>oLoa+=BnkRPedzJ?hdArc#d%!aDOh5t8Jl zHKSS(gw@R%4KZrkNuuG-f3BY5qnW28V8cO2vK{{J!)Ex92hF2*o{mmVkikid`ap-~ zw4AKFv&DkY{a1(jaB5rk?G_-$Td{)F2eI&&ohkuNI^lCITN?Q`sY#n>o4vk=d{+*k zym9}lS_$uAL)5s3+ibK#+*LBJ*T81~u{+~Z9b9>%rMCDYj_FL9Iu$jjh>N}fR?|&T zTokC4zCQGJ;AW?HO)XqnPGbg9n@h&L zs~cbYCVTf`^?0+(bbqCvsk}RDWrMQM6^>#td1JBDj3MDe@U_hU5Yre|eK zoO0UA6+w=K-C9mx1;*k7E*aH^y%4u;A6kXAZLe<0%Zy=~aec19KR^?tT@4+<-s@nX zo5{9`o0-U0Ncv0$kf{H7jdXd2pHZLjOJ9S7IoVj%#y3iz-|=nz_Lwybrv)< zgP&>mM~nwFJF#v=wwisu{l`<4jW6XS7%km}_mQcaf)%slH+HGYcFJZwxqrQ#VUK(| zwm1;|gt@;6P;Sy*l+nUA4@>eH@xW(jDhM+ki)1cNVZ@WMS>j`L+CQq{vmtvMrgsnG)vH%Oo`S8x*<$yR*$jkUW*eIRo1se3}UKE=$d;CQFv9G4W3)HZ$JjtR%$ za*Te+am#7IROeH`R4Y=p)>n9F)(BH9de$IfKg+~mYo3>w)TPpJO*K5s#VEP2gxC&p;u$FZD9{r2cK_19seFpdVUKH?dZhZ#WCUD0H>6b$>Fb8 z8>f3nydfMbe2?xqZ1atT_F@%5>=qemM3<3C&0M2qeNWgVq^7kuT#kJHjNIvN%|x?w z{FYRjP?=BHP?&<0t{L(}WKrW+mLbz34_r}p+w6367qX*vM}F+p*^-UB)k@RrnrTPc zE>eqAqB`Sz!y!j?3Oasc`cHmZ%sZuRZe*YFK<}#L^&DrtCu^|m<%Vm1)<3E>w9WZ& zjLVSnop1csnJz3~wd~$zn$AY`qNdBb=&IGA{a$3xb{?;k@fXk5Gm3_3Sy(6F+jq># zH&~={&s1-E9ZerKXHME`u6y@=pSduh^)okXP$Poog%w0Dq`y1*4mtKxji7x>8r6Ed zB9&!#?)k%ez}`;pr)-Y5E~d)rNH`x_)}vIJ{|R3{C;ipMwWP4_>7K){vWz(@>JhS1 zX@TEIwJzM7oUg-@_xH#QB^M{Vott8wQCWVXmXMU8Yw@5vxU$i6A#Fw5oGe_gm*O#R zgK1<5S!ph{ZA6As+P0kUd^7T#`W^ZS5sEviFF7A~fA7z?m$A4QDroL`=Y^ZpQXfZ1 z`1rW6O)|@#LtxK0s%7WK4eMP_?fvQLM}}Up`TQ1OraZpxmCg7Nh+g3dd)tiqsN6FD z#n!r#^Gg)&Rf|zFSV!_b9Y2g+(64ly!eB`;A?|7wuEU8om~3}o*F}ZZC_7nhdg1U;an8=#Id>5 znnoV~`o)n@p-?3gb|kY+6J#Fs$~Nu;g_s`-~ts1dNEV?xnjZyxBke=$#LI4ql}hwjN3D79n0I^ z!ij8{R|L+Kg&R%Ostq3G$jQlN4C7TXqf1E{!sL>6%fPSDU!2l<2hRVKYijBolUZUs zGpI}o>K9w=5OwBU#^;i!w_F?SPOjhrw`>LoOcXM5Ki)q6c;*_FPSUw_M4XQ!^wgxQ zZQkjJvc%*0{JPct5<`DA7i{@y60|}a4mkSTlNC86Hr0d;KSKs&(wux~-<;(kX?%zp zxLZ-uY|-rvRHr#L>)(x{Tivr&8_x#kP*GtRP~?}`gPC6NvOnvPew%uQVomp^526`;Q* zf*j;eag+lpL@&pKi_3*~C(qb(dOzI)*AEgdSN#t^)he_3)RiQdb?G)+EQ&-T4*dN& zT5eDHy4;LNh8TeiD~W$J9zwX-Z}a$IEdkIGN4TK4bj&FMkbE7G{1@@JYT&mn1VTcz zie7zS)2;g4m!*^dS`P$&m%tziUxU^OZ-^4#F#5+Em*r$+-s6@Kp^^_Tdi<(8x9(ak zDtCnuk{EnX)#}M1G%D$mrxq|~A zmaR$1h^^Y}iBfX^gX3T4IurPmF5P1JR^_t62=!w4nCS)8vKz)wcnL*D6ow=DCREJM%N2CCW+9m^)Te&Go`DM>AFd- zIF#!A8T^jg+}ACsoM$C8z4?YMn+IWeOjQk|{3qigdGGB<$Ef%lbt!7hUM!1lVHJ+3 z(#c@8j*m~W7>tIg6uq?ngq$a9&&_=H!64pc#Rk|!t*4__e)iWIt^5txj|z_52+XM4 zmW$f9`CvABq*~rU!~{_#USHM7$!%Gj;kWM@{d27r0fs=Hje+T~DZ;4qmS*=;~nOm|hNf z36rJ!0FPlA23Cz!xj&Je)F}u}pw0^83->QA*8+zq%+FCSlOJ%OkBdrnX1NCL6*2BS z*fC$b)YJy z8mPwxMGs&yVM0D{HmrEp*4s-e;7!hP+9Q#B68Xr1>^Y&j&24Pa=K*Wg9}~Bjdx{ce z0McyM@Aek)#~=Oc<|T&ijMUO2VM#aG_7$MNF_|AQ#N| zoH5gm$bEUWhs7SUPsSsr)|AK@(iL(cT6U%B=+)W~(+NfwdRDiG1EX9IA1MbSD=N+u zmQ>>hSxw_qM69fywhD~E|3E?}nZRuP8ze*|c3Hu*;ICr6E>*KH4{cYhioG5yCol3c z*`Sq^_*9F-P5ibw$eS3gPBYm3u`#YsM541U6E#i zi!ajQSX`m@(CUPp4~;)~H{XoOr9@3-_-Yp|kYmeL#@KP$#og$tC`O+*66U zyd?e{7jDHslvGz~L0xK=m+ViXL(xvk{?435)#d;_S8V@-bh) z*`hx)W_0mIAM+4J)UjUM<`j2f@j|kr8U3kHYDi&i>L~r z0r>hW*mN#%7X!n=j~8H0fdTnBD@(f2qo! zr-vd8E?yJLl!b%E_<^$ZERVTpOYG|w3P{qTdmr51qe4KC-aM5;I;r`xKGXiMhO1lP zrue03ZL1y~=dq>-(X~9!z)kUE;Hq`PCG(qvhYeRnc=!UJgLZW?fzb-UvDDlj4HfXN zZ930}ZV%lwL1S-uc)BR<`=gsKPY#dPQhmG42LCoyrIi(S{f0a*)-_6h|lLVJ8<0Lg2c8_0A#?=;}$IP}w;O)pfkU9F&8M-U=>rcV*L zGE>vjkejEJU)8-K1@}tBz&GVg1_6ws4hbP;KmlZm7>k~%RkQas7EJ+{#?N=B;J|ng z=+oCE$6e-WI+FzXrl2SzYK{JaePP?36$UQp$i!e6`u<6aJQAWU74FVWelsSzd^!{AqlVyys?7r0dIDFm}$0W{}E3=kgV;X+^ z?dgkylQw2@>#Q#?A+gs)txH%)Wd*<^htG(ss&#~!?jUPG$9OIaM1+Z}p{tcgstes@fp(3MT>4%#a zT{_55g)CQTqc`32v=cBzDtr&FoB^>Nf(OCj`K)qkEdX{%aSOudsG{B5x?IWvGVJq67Z?uQum4H7dy|uJtI(s7>AA;c*_E ztV))a(;j^j$_5%_q@-q$cryl>O9vdD$Ab1^f zu5}0_j$c!s9j33=Ow)44q(4Wfui)~%#xQLm&o@-12M2QFVFLXggYZ+0(H+<^aNm?5 z6ke=4OEowAl#5S%ZwNU9ZC`5W@Dcu=dJCH_xL!0R47u=bc<;b)|48IE)A;DE+OMlm z)x|vm6H#(%*o@fUfC>h3Ap5n&`G_`XAYF4nmrI-#Fx^2a@U(|~XP2(@-2uf)f z)MC150LrGZ*QbOZE#(-`$NOUFlK@OngXK;yy1PHd5MYnArQq$vbw`*j$LF@R@2|)z z-Zw?4W5FiLxMUu>_&$(B zUb`s&b+CY#UHb{XTxF@1zOIJbXw4Qi7tEg{@H88v3cY&!vl%RFO2uv#zM{5z^vuyw z`uFLo*b3L`b)Nog+Z4WizDtG1Ozbe9w;LGo-e&8P>{%hm1s5$_YZ(avMyManRHH$a>dfgdG_s3be%@3W4$&yzox9Jevy;5=!aJGiK6 zjCCxDb$$_^!M+GBt&}27foIJ{_!uV*_|ynYt3*`}GtSSeAl#P90`A1-9D<|5)eK|D zI1wALddqwWQ6ID}MsG~S*7WEK)<^;NqwTtS^b3uwAON{w)rqqF2R1OTAs&s*;gaJ?Hj=pNcg5I75L!mE7Hp`AQf;IZm$P4PHgNn==YUzIv--?++@68Ypb%D)*Zh*& zjyBK}t%vOI3LuN4(^RqLqq9~YU@GgkrGn4s46k<@@6iFE4DM6PAhG#ztoFOox9+Fu zvv)#6wXoo9XUnZv-A||*S)sOr&r^n_L>_jG>w6UsZwDU@SG2Kh zxvFi9U4iJ*9EU2Yq{`wM@2D=8WFNt(B^zraXUqrpyJ4^7Jl?IRTnV89+eWJ>K@C{} z00;SayzXjrw^@vRyYtMwmzJ$vLagf$SxtQE#WgOR;ujaiDB(ET1m4{(>rt~UIaib- z|IS(KZ0F}Q8hvzFx}@jyDMyM;+VnJIw79;|^{N}O&Su(o#+ZMdR;@oX)K*Bq$%QNV z41IH}LL#GfQlxkPmP3v&z0Zolk*sHQV_xtYXYTvG6K zpxGKkPs58EM>be|^$X+1Z!vn=b?l;g)^f!LJ6*Q6_OW){-5p01II|Jcj>HTRA}a6) zzz*{MT{uMPC0(UbkYrbpQ(S3?&3SN_f6H$0fy{a%`$Y(aWLs8m)Od<}bb3wrY5cfe z?tbT%IKjse=F?8_R6{SH&31!@4(4g(WTe<;FTCn!_x5Idia1iV^vIN$B?sqRFrWj0 ztZmO*AO-sO{ghl$3amoNRc9vly3yy2vy)ioM)QuZ6!+Q~&HV#U0dVi}dymcIRoN>Y zjoT>$noW!cD~X^L|cC^ zG;)-3S}t<$$fuG@EVwIP?#-$^)!j4d#>_|P_m7W~oqtl0t~roCyHhpYRXe;{a+4BQ zy0n8g!IVJxqh1d&J0pCaRsD7Gu4=@JZk8-&Y6rwmMCk~-tc3i&_z*HZ3_C%$qe1;} zYs;^LHUyVcC-_59u#!yn$eQQ#UbPRqw6k7CFa5&gElbzOFBoSha4b7+NY{!1n!`+6 z=M2=Za@VMF`ql}W!TX|bS=ukLH2kpo)~x4BpYe3<6K8Mt??BliSyv2%eD#}-w2;{@ zWS8Ns+^SLxouj8o#EVZaKX$WsGh4aPGd|LZyMR1Y82)}uVEbs@y%aKrTu$jyE2vsr z#R?i&rS?9^Q$O;Oi<|-XPl~JH2sY3gg1Vt)V5^j$-Dx3&XnOl1H#Fjyl37)I8ccIs zAAf&p3z@vNljf*Zm?@7iU!3_6`GH18*9{B%nA_5(_M;7^jwoGre(UM4{2jQv44O!# zJUz|(Kc|N-mfwe{4i7UVm9b=3>hhavGBM@--Bd`)q+KZGxF#d}m1l=cA{ncy&>fwf z`^oTY$N0~v)GFvRh|Z#`YA;uoddQc|LlX1MHUP|>fuWe6m&gT27FUUl1=r)kO7M;u zZEF!T<^vV8M}}h=hf3+DV^@{VYSW`;mfjU;XQ1cpBew&XuVo1r!k3)((j^t4_??@O z7AW3kSd=CEDQj=M*U#vim=65&w)lZsy7h8%HFd4DLFW!abd2u`*rh~gG;Tmgi}VCj zTGdnYU}IP-=mxVDO%DbA_&2#R7ZF$2_O{&rxS!TyaP>2M%Qm zwJOsip-}|Xraerw(dF30Cr8&5y0jsgGh~7e)n%+hJf~xHa~v;=o(RCNZ~K%@9XX=3 zJdZwbnLDGl3o}VxDyaPyDMcOk+#H&&T6|rs*(oCYa6+d%=g?2}$aK0aM7Fqe0JU2u zk=>p*2h$p`Wzb#FL&FZ(bD~Tm(&-R+vg&IIJ{rAM^8pTeXr=^b)Mm{u>r3(%)_BeG zP|A6jXF1E+&9xz3K;uI6IWIT-#HRw^>;gE4+JE!;+fvj))5U=bCHam_{{PCebQ;V( zOS|~*PVT>?Sw?(b%3ztrxdDqWJwqpBCte$#A`^BXvrRsEH_5p@Y7tqf)Z6BIxKgu|<^&;v)dlV_AHJ0Xe7;cHYos;{Fz~H7M>UXdvNHF8F zE#27<|NPrrlj*!RAIPeMht53N$?Z5oA3}h!RiY$T%E1iDY$n zH^2RTUyznjlJQ0?(8e>7H?uL?V=Qccu9tWi0KAry&qG?m(mVMO&v*X$^*=H*e|%dv z5nAMh?JSw9)iiuMB)b*+r~Gl|4T^91i&fwRHp?^{glvUOwN^o(FP%;g1-}YwonEv4 zsk(%Nn{AO|mp4%M(s37si3WW}ibhuE4q0WjdJT+8&Hfu);IDDB=yuKY%zwswWoS>) zpxnm<+YA(LqWdI1x$R#0xXeIv ziMW8%a;)b>KJ=Y)tRPm_Ig5F0RaMm`sbaq)>c-^Jm2xjPrx~ije;G4f6Qif&rvf*{ zpOJK9NvM!gRMD)0YGFj@@Vac!GYdAg^-=w}f&Muy4Q{oXRz|n(TjjcoT)01Ruh>i( zQSrqkD6W0WZlY2Gf;7^h#qn_s9Ev0iVAuWVvj4}xD%#7^SX-(*2R1Z&G)`ve(gGKJ z!<}U2S|QrrcX~-iFq!~eXPu~JF$-_IcZI*EmnmD0H|0V}yLlwc*IX{9`uZS>u65)+ zyMLN|aviePbwJ5&hLA>@qRHgHP<}iCGDE50gN^xWrd?dTM^5^zH~w&Tju5o8%Ioe> z8O*X*b9$(=g-2=pu8S`_kSnfJ&j`i%Wqi!|AJZ1&zenzEg|-ztX0NugF5b6iyn?xl zRr{E8=7H+?zUzQB8aB&RDd1cdsW*gm|4NZJ2FL6dGa{#=4z@%q_f5DEe9nBj<7?(e z8=iTV$JJppf| z(UayS%r1zMf(HRHMt#T-(aPm>Hyk@L`;*dbpP8X;_3sN#tk&uj6mERZjuIpfZ?}m- zOP19as)c!vs!bXG#PhE`2I&p?mTevl_KWJIX2U!YS@1Pn^s} zw6~=!_Y)O#x-0v?8=}c6+2W+U=0iwuZhuT029 zX1Ru5Of*-U?^Iivj{778f09sudd8%!ljGtP64y{I?6_j8)>(*Pa(ynRnIf+`xN&{F z@z*LHeSFZLoIx3z(1rKXUBP3>iUA=rE}9c@3Q+v7G_*73!dGJxQm5FnF0(0vEx<}L zUuEvfvwRVa+{FjW&`My*3`8;SpzA6wylfxHv^J4D$5eD2bzSA#8c)tc%kuS<@ze$r z;mln;JeQm@L9Kc?@qV&Cw@HHB8;}lo8*b?OH4PqztNQszcX4=tcx|N7!Kf6JJwkwq zFJ~*HTpidOQc1SuITKzoM0?KYQvuAF*-=Ky!(vQG9JloRczf4GrDcpq52<8(p^i7x z|3z=q9c1kv&1gUh^3Ii=`1L-kSBwttDoHz-Yb3$O#*nw@895z#W@`X;rc5yXp;}DE z1TW=~HMA-n?VGgjAAO)bFnU*uL%>a{L}dorw=?$R=#Pfs3_Ht{i3S_LNCXQWmAC#D z+Q@vQ`n$JBpj?)EprVC!2Q84-4o7v3_-np-Y#WHA=f!)3YVDK_?5Y%2A$j<;y9S(E zbutq%{iORt%4u&BwHEpsHo1|K?}j(!3l1?AMTbAQcvtNJ3<|U*HBhz=-CY0n4-F^E z0^*pAtjFzJOdvADM2{~`%JJfntihS7ZS%&o)%0c0%x~v#8R~B>{&k@#$AeA#w=^{r zJSw?&pkWibM2KFfAEhxa9&JU7icE-nqSSUW7jNS@3Zb=KQ7pD*Q(v6*$Z;8_$Kl{i zD68Hd(S`#h*DzOGaaQ;;g%=@{tM7@ih?Zxm+%d2Y~X`oqND>N_H+E?jX zYlOvtwXv|Ip2jWBON^Ah;r79(rs$1Fc%DShb(?xAN&KWw-xWP8LBwp6sNObw0AhdF zLEKi(rtzOR$IJ`bcMN*CqAaX%ib%r7O!$ZqDwky51%b~1?-N5of6-w149PViLTvNo z6YKOJx7Yu$>;C^=gPEhPH@M^1gO?;?XejEnNl2`6gRzmvu`k(Z#yT-_wpZiiq#b^K zdz6up5f_|>v|Z(^uygefx#~qfU4MO{O?r+&H5$=X9d9f5iDkpyC@#hfO@@{wT1m-4 z0nDPJxu6grNvfuv-b5{)^*?}UItad1mfRX@?NtpM{`f|P-8wzh{1pWh-3L0V+v6$| zf!My;iLC6kF{J6vzRzcXbO5xY?-Gpme$FnuVvOgGtqy;m0Xn_}efXoY;&9G`s|!B} zC!HjF2!hNcBsf1{h&`-;AE)h)dumj;55u`vs2+z8Ap0qRAR!@{93}vIB*>?yuuE+Zyo}hwWSjl5{TUPV z?YsJz@{6@+|1{=LXw2-6i6M)r-ClUb;kN8n^}$){z*E#zW3&|8@>A?(?cwuXQxBFv(EeQlu+Cu(L~aW(}e9keZNFs>h3Xj^;r>O&VUbn+Z zNpNooX93=*zfQXrY&zyJWr;%F+$*^0br$doO!wtn9Vgw`W@FrD_;xOlcn1;)KlTVh zC%U)(^WEPC|Aw^)`EO-X>@1E`a#gkV7^B>rP`hFJKOm)xHTD|YST^M!dPDNvu^LGO z?a(ieb)!T^vgsgdR~!g5H<9|}Hr_?5$Hw_^ErZV)J&mV$b`^c|gVh!0;Djq1I3 z1yS9PKws#qY@zpWc!W#Vg;WcSm|LA9QT1tpliX;)SFlx=tHHXKxnQU6+_FWm5Tz~z z+@lmR8_LCBLu)CdjxvwGaVQmcPj5lpMcdcv$lpDxdNJbYldPqlqXxg;lKLJy$o_+i zv?)R}C_kIN40OV$s@}^v-|B_G_M^Ju0S&q z%v*fU^4LISMD@5SB+KqbyD);j!_As4*-V@7**o^1AoU_b%if@fBH9N9pd(Hm)<*(c z!(7mzUUXhK15+2AU$Hf%Q?;tfY;W&ZyUngv0sv*ZFk|TVE|b*u8znBOO<;xcA&Q?^6{jIzO*4F;)qXBDd*ES8rIaLd?~Kj!nX)Ge{NV#%J$grF zRX~2~BJHfZf$7IQ5EsACrV=`0V#S!`fSSv{m%-|Ib~qChfEoGK>PSN3u;8Jy+V=i; zT{nnI*jN(DJ0l~iWd1t{I|g@RMM8J^7?D^>)^iHbCnNoKe}hv6gST6s&h1S+RqZ0w zYf1Uk3vwQ@E)f@3EM2F5gbL_efoRMly>^{Yfhc(Da3@IMXY5ZJ3$;Vs%I4>}u(I=c ziksjzqqSjCC{O$9#ec<=_*yDGLp|-wV9;~@#oPa1Wm&{YNc<|?Es8_N@hRnZNYGS- z(`fIrJa3k-&N51R78g0ajdIhoRL=tR?ty^TywLEj1Im3T%G_BlF9?QUc0-_p^uD92 zmFP^rzL*6yRD>on2(jW)^q(>-YT91vm{Av+oS|Wn+m*0n;PDi)YtD*HU@R%$wdn$| z3A8EaXvou22LZ!vQ1{=I*Kph6$xdTerpN!CT_1IXd0D#cl{5<|H7v7Jgt;D9mfs{n z)0_~xxj7fL<6%F=v#T&d#l~EI!^;lN*RNg8k z;I!H`1ov-EGdMD8n+H=gFk1|@?M2SuJ72ocFH~uF605qve(U^DpikgRd8%F@Fi_RP z3@Km_is{dL=3MG3uGQS6GtWg&k{RgZ;pk&-H`{?ynK(CR(8x1&5e?v%ph}bg#kanA zJp}{+c=PZKxaKXlX(zGnY0n%heEFI8tawvq0j2)c%FJ@^sMHG59=UI8A4<1mVIQcN zv?*(cT4wiM;_-h0$H=-a1%$~V*CMNs(L(RdR%!p>Ny6ojQw8m6NAGn&i29YOR!!U8 z7mLEyo)q3c5uCS4V6ESx3Ndk)uJ;8nm+2A|&b1MO=sg>nRUT;2)GB@K-n>>E;PzB+ zNF5vRN%39l%hEjSx>g}HR#1JvTrUxAmYOf54eCIgF&DV%k~=_QfAISYL)%{X!PY^E zYZObwwuf7iok|R93gA8Hy+1d~OUip+vQCh@26~JoA@Jt@Hbj^I_}iARGp0ZLvCiCG$h^osN@LWuCfV90W9 ze3$tBRv%5=wl*dELap_c1lRM63+komn+NrM1GdfxRFP-t6~|?@-($kOF&2>~`lcXK zBxMZjgYxqv=u1R?Z~=ZK4WO6jx6Qn&RZG0GRl0Cm^yXEo_tw%85gmAyr`mcbtsL$C zsnYCUJrO=R#e}I^ z46jZ(RUO}`xvV3*{D+OgK$Qv8z2lp@e=vCu3&5P*T56$lT&%V3q@11>*?2iA!hHt+ zy%1H5Q^g<$nsN?%7!cuxgX>@Je^pObFgtn~aai&KA);@^@#d{q6uP7xpCiZLb(ePq zWN>6bc+CrD1d>wa?GF$cuC`G9yt!HP{gKMqapkOnmIAdcDX)g-2$51~IiGX(Twyy@ zZS3Z&Qj{{{Dm$)1M`bm7?Q8kdZ^M<FCTEpgcZ;;9bqFEnoNw% z`-J}N`PYy^s~f0|sQ24Qi(rakBSbz^iVYLzW+*tL{-1y@JNgad0Dy!pQ1%bs2j`wv zFH^bh=k+(^quDBX(?#@|DtF};!l~wZd&UkcZtlDGt-{W( zu>4LL6Zb74Msu+w@NF;=R8H8c0s%6aghW+GZ(?$|`2UW@{q0))lHZu(TSV(bcBZwJ z%CxonTs-IZC>4zyay^FZixTt{-*6!k*BMR+rlM}Q);yuMCB5N8gn(4YFnrW}W5_k6 zqPAO4I10zC=c^W*0|d#*XLBO9sou-&qm4A%Z zrzIGJqL&{712Wb#gqcftUxe#;Q%7fS2lKP7b&E?;gnfDx)4}S4GET&2g!FaGd1}_Bm(L-~?rjLmA_9m`1Qp%GNz$&p~-`|2laS$%H)?Y$TrW^1I$n$*a6Auu( z368Uy!ALUpj%%bqSrF|ZLJ;T-NhbNUuM`!2=QgsAwLSK--=>##dLiBdUCSc{ubUy5 z;od)i<4M9H1mF9+c_=A2Ca@K;xzKhF+-&J?gsyXtfY+%JIi(E32PFEgyT8Eg%*UAW zn`OWEkLjjI&F56)r2&DILzlzaEm}W_*!`18{pbt{8pd^bnjt@264(?s#+**#~nm#2_+xmaaf<*^_57PhDgHiwktm zPw3vXp0+b&{;Gp~0acyE_0%(fxKqTZe8i^>TnBj0+o$-xU)D4pGi7Te%GqNg_y4qC z#cG4%;?QK_reCrIvu^@s{~2-i?1;115<+^oSU*$H@!ojcg00B`$f*(W{iiJh&q(z5 zzqp5V)^lXDL_crkYJrCkh6f>{$9jkYy8lJvbZPsUh{o7DmL}i{*U=GQenk}WYK=W{ znur#$R4(8=as(2YLiAPTAK%h6K0c?(a=2el7q|7GgFY6Vmc<$orDC?M7qE?;8}Dlr zXUaxO+s&m~FmAvm$pZwtfZ#rgUM66_^KDpe1Ac+1eKNjwlIRl9^VD>K%6~}3G z5fHBS5EmcqXdmj1R4OC_z{YyK!T5ufO-BSQJjpqiOxNQX(KudoW$4mFB-RUMbO_(y=zO#2mS*lA0b=9d%>jH-SgcK zvIIs=Yp&b0@z-EB4Mde}G08+t!f~WwOgh+g)+&mf2$if|+?uf%Qj zEQaK|VLltj?MHX7!)(qF-_0e?b~H=jt+-(CuW>G@^0UfdB~l0dlk`oV4JZ2x*Z32y z^LVt>80?L;BgqLrL$~HbNLZBtKgoS(UJqvedQ*C3M?G0{9!^^g$*QE&? zJ|`j4q`x2U5krS6zZv^HI<7ZY5KNCT*dR}seuv2P_Wk*Sj!AVFiLfS$Cx#4xsj*`4 zzuunkj@U&F%Z3q$>hVKTkfwbTI9n6Y z(X>R6r~x@l7|2yT-exZp!14N^713Jem#+$ zA+!XE*=DibX)_=w3iMcrrV6~E{3hqyvNsn_goe2F?-!1tRbUoZ-ch|Rt;0+j13 z;=t300~cv$IT<+UBmdYs7pSV#e|8XX`W6-UaR>Z7T(JF~{RM+7z+5~LhMR!pq7JbH z{Rii6&wXuw-2m*kH;6!9VoH#x+Ly*LOSaSKvE@pj9sdH_@hMTxlnGO#Tt^YZLQuJv z;nh^nG^cI>z3&T1J6Y=u1kzF)T2#J|Ubs=uWf-=ZuV&9l?BHaP5;km6hc6w`2&)QU za=6+bKZZ!31@os&oIgLp{7I0vE2KmjcktdmGtFn1?9gWd7R<{=N;n^p3|j&jJ=2D! z1s$3|+?zYOc0^k1E!WQj)5(!&;%N|eziT>kw`GZ@(RX7uB;v0RBpjmaT^ytxYxqJ9IW}tVZzcTp+l#Fe!dobl({uBPp{blt>rNOYQTJ+ zF39^jSpSX$f=P~uO(AEaP2RN9dJeqg;Wh$IY91d#>`6J!+LBHaZMpMJ1Kc3;t7*j; zgQ$x^-X`txNA zrx1JJRW#=iUkiSr3P!c^s7kG)XEWiZ&8IhRc%!7@fkXq++x+FffIu$%Uc{>tB%otbs1=tbuv z5KQ+c#8}bqL5TG^X|*x|)DE&3DX-r;tnm%ckZouAThmv1T-Sb@agOXk;rM+}aaK3y zkZesK6gZ!M4~j%TVwJl6!lW;nEV*)%TQWy*@~X9cZ(fdc?`aSAP9*A+sxPbS?3ij= zDrMdNpYpVzWXiA49fx;m_RN+qSo;1T4PR?8)f)C%?u|xGy6MdMslJDWy1-n76$2)B z$b}|)qnYRP@A6_10;O4r)b1Vohl>^(S+hHlt=xY<@AzGr^PDd^b`oadE2mjk7O^c8 zHTpz6r{#J~75SdHZrb!hoik7e9B~9aL|gCmQI>y!G-r4qqwIhHeg?4Vl4$t$Vxx=w zQsDH+?Ok!K!Dy>bHY39Fq_lRsi6UpjDR8W+AjkxxGH?hv6){p;I0ao#( z!1z&0j>G4YB25z!T@Z9GX3{f-;m}-p*{k;s8RkXQFzLJ9&?_~~owIHC)`CNz9%E*@ z2^qN<-kfQpDlT=wGqwoLs)`8_gq4s_MgKC>-@~`9|EAzk`ICSOi~72kO}BO5LQPUP zex16alhyEVjKETGtZd9>jl70HlcN#-b4e7Yh6T--J#U*r0QjUxoEIE0G$BmV1HPrj`B>G&NtK1=8 zxB($y*Rj#|&sXlhc*Pd4VWJ&^Y=TIsxCZvD*OYS=C|Y!KBaz6EUX&o6c(two=Mg;b zdd=EUiOORkLJ74|)5MFIcmb)`D>qiRLZ#+FaR))Kn%1v!vRvyW$#*_qJUrY8A+!F@ z-Mpf`V(`~Jzx#rNEx-&3GfrtLFt7@?%vlaOg^FP>fZ z>60pR8CE=3c5YXXTzfq>@xXnIPmFjFyXrhM5+|jig8Za3DA7|vg8AN7tx``*5%jc; zA-u-jWwOWllgF#^mm$&n?!e0~XqkiW)s;=M;r^#anGUMxd4#-0!19aJ-JD z)?GWfLcBf!c6GN3`r?Uupl`(effvy??3fGWLb2riuE|bMm-cG&cJuUXzy71xr{fxv zs;5o%`yy$xep`lgyR+3oR#5(fn9~|LJSK7R;wCfO?2z9Pio9eKX^&a;c<1P8n(Lx< zP>WC`fO+nU_i%)eL5 zd`x7V##~Ll#yq09LFU$cr>hc*9bg{Q%l6x1EQnk3J>7n724yU*Fj=*tSMllps_eX@ zn#%S)u2%;JL=Y9FXBdh@l_DTTa4bNmQbLg48A30i6NaG)8qm+GDfbF$CQ$#0+E_xm|RK+xRW_jLhQlBdJF zNmxpS9N3QW(R9DcV#B>eG%B^A7L_vV%_6lYi^Ag$_z0mAj=W8Mg)+#GOo)Ydm{K74qV?qFHx^!U29Py-9YPse&_{h$b2wJ`FR}#Pw z$(8G1lRO^NxYGpSVBdpP40RaH+Rlu-bWh`&Q*(BN6XoqDMvzWEw z4YJwd2u|2wG_rNzy8s7Drm}I@{*f3x51SCfp&q_*;bA8 z(L`C`9XGN2!vI{0tL+S=w=SuAdMI8-Es;k^ji{IdVqFTX;Z97!U>U!Y0za_Jle$<+ zxTtHjjY1@pmGqOR(rH(U#HrMEpT+{~J+gL#pqe|JjkdCe>+Mn>C07^2 z&k}V)q^(W`E(gL4hg#!=<{Y_VDU`fZ;YRxej%hRfLLIC+PJur4G?8>s+}c_mBcoG3 z4es96Jmpk$$nZQnB=XIhDMeAvSJVdhx83ogw}4 zjmHDLW#nd04^fG}v{Ns&11SW0jD61$CSx%%)5h(uiKiG0{-R}Wp>N@UVT-;}(OTXP zH-gk(L?Tm4e9=u!Uzy7ebH%7J28;Y`TBda9B`Eolc!q?kF z-*0-?lJK%M5dxiB`>(ejJBcLnY~lHW7viVKt=P?c1$M>V=g;#xY$*k)Y|S^mye-G*j$XB{5-u-nh?DzfA||KqO`PJ$EtrFzgk@oM0HIc zK%3>@l*Q8-$CGa-a-bK}{I}bz7kXIHT3tP4KIi&BDiYxzsL!=?c@A27M6wEYX~vAs ze~OIp1=+wdoQDewqL+K+74JU})KT`)Zl+Jqc^Mgg+YX0>FC~%pf6wzfJipqIz?C4d zyaOo%YATVJ2-O&34H26@hBDg7noG-{-*|uMp5|-4j0;D<+%|P$@WQqr0u%jQlg9F~ zV!H)8W%P@wwaX?xx3p%T%}ls;n@%QgjeIsK4MIO(=opfYl5an)kin}{nI^=FnLRwT z+nYu9XTI|5okX4GiKEwMB9P_)+$>ReSSbEtru~=p#eSN8ZNVKUsWTZAl+I9PWT8bY zJ8wT1*MdMy%|y`pqRD*0=MNRGdVRP?J%_;2u=VCE3%wRjFu$-6^sXXi!LxY%tK5#< zw#1tza`wfXdsF4VQHtiFR|c#)JkD1O%Dv4PME=y84A<*b^FPiFrAc(4UgUi z_2`*|csI?Jmkrk75#q)e68%j$q9e56sjbbmUNc2|OI*QqVKvT2;Ux)(m*GT$oX}DE zoIv1TP}Ir*-GpPhL>ypr?+cYgg}%2`)E9RnMI6z;b*OWQS*yttd-@u@La!Zd@R(5R zkSZLZk8Z48 zmio1v8~=mD8B;_R(VmEkwta@OJXlZp@@^}^MzlO<%cEcItIE9{`MpROiZAAOha|Am(GH;H}c!oe2`nqlIl!aF-HQY}Dh5{*xNu_SHr|vBt$sJdPi&@ImRp)lA+hc^( zdfJsm+7=A%*u>aPZ9E0&#?6Sw-cu>N1sEf>ToJY)8?i zQ(GA1%an#g(<>3nF2XGU$(D>zJa9G=)M4(%(6;ROT85<>Z_HFk>#qk7gxoaptS11a z`#v=wdFCUqnbeDv0R*y7Z&yW=U0* zP9?)?*i$VRRYC~C(7MsMFsYrboy6YZ5;5v#XpvN3Rgu(*4knjexIN|PZJESz=E?}% z!1f@H`cf{T!v6KCjINs4h`PQ;FXCvW=*FwoV(fnbHFW^S*vInf`4cA~MFcoEW8sCU zAd&kaeh-<|o)m>4W5jYHznPPmxnV)O9q#hUwJsWQ0oMXwS|nKX5cDBta;}~M$C>!>l!v|jE&dLj!m2P>u~tq$S%rWWPMvU zMp&_7b-r+Z-K0);ebuZuyGtaP)&E@;B*FmJx`NZi+Q64GPSW2i#G2Z9t`d1fzEd4R8pV~n=0%z;qs ze0k;Dm><6zZalZ7?;o;v1*=2@`+*NX+&5insE>T{`SP%>r4Pq1Wql5q*MB~e7pvCE zITEy4vPK~~B3bJLp^YKv4i9DNZo!_ofNx}lC5TG) zt#6_M`~TT`5z2{y#_tx!FlC*NYBrOW?p^XRCeEuYEpC;;?SOTkVC=x9qpiHTG@1u8l-x z9p9&LAROO0V3WK+FV%)Jm{g}N4`&qCE* z%m=j1;%tpY+^gxO0}a}QhGV(`m&drdgCoOIy6VI=g^+zWO%;(gcXNgA*ofO>I!8n5 zV_xpe{OQ7M*RguJ-#pHdLr_@x;aAgX)o-*8-Qz!gYn*75+fm9CAT9v-V|PL;Sq9t= z(YCTH-80Sd>1xUwd68AY6>C?`!?TZf!$fBnyQuIy!Wl3oS)g(&Dm=V5sxFMPWh>r> zMSYonj`xx_EnuaGA;VmgKVE9caEd;56s$_aa->I^NzUJPg(YQ-%r(!*l9$Vq$=9 zEZ67T3I{yv*845xiX#}4^Vg*w8e=(xKVzr!PWlX({r1(*|F*R;^3XP0*WA8g39s zMms1hykjY(C{PWlr?2FPhJ>U%KG&ebdSW8>KTDQ4ANX1k-ghH)zIu{~E%f_~{d(Ws zj761WNGo%5a6bYcGHbmmvE};UZ_fvh@{??XGMmmL@<{+O=2d>;cemvA zt=q~qH|iKvL9`MJ=~cd$V_?fq4EM_hUu@-^xKsN#=VdJ#02nK-^g#(m-Q0-7p$PfQ zR+mAHb1urcC$sS3<*S(x%n~diQqtdqN`r!FNUOpRKK>^Lh@=R(N`U|QzzE_i0kR>W z-oygxO|Di4NdHL(f35$*@AvUoKQ9AuF83#**t*}Ics9TY3;T0#<4e}VD=acUJh<^B z@mS&llJ38AR(nt0%25f_2lyXpWxM*wQMNDUl!8vOa(U46V-8Gv3Q z@l)2OJJ9=^u2yy4zXBic+}w$x z2jKidt5D<6yPNZd(8fEXe&mAQdqRLWIb?zb-EF)7FMmK=i1q)5%yf3?&HgxC<%0e? zssx}x@zLzkcL5=&CsST$W3H$FU~hv2os?wJNC2FI^$SBnop_EAtmnTcmo{?Q?U;Te z4wc+}c*%9HJL43{y(oSn3H@0XA<%OW(Ovj`s5&si+28l=co~hW0JJ8P-p!UHIt`$j zV1J#_xrtZu(@4K+Gx$2@4E)xqR>%4@pay_Ss}R_dc1VBG_}A<6ADBh*$T=zbm=ck}(lE~C#CyJzhg{^dtD`fvL|yxH&NKiZTf z=KgV_b*5o`Rr>|!{uRIPPR!O6N6NU_r3F5}3ZcWJld2!l`n<2@HKC^9clGa--?IJV EpUiJdFaQ7m literal 0 HcmV?d00001 diff --git a/ej2-asp-core-mvc/file-manager/images/navigationpane-template.png b/ej2-asp-core-mvc/file-manager/images/navigationpane-template.png new file mode 100644 index 0000000000000000000000000000000000000000..e3bc25e8bc38c52ee0d8246f9e0c7665eb3fa8f9 GIT binary patch literal 64050 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

5%wXXP8LhF=Qqb8d?%7RQpgD4!>-b->Yo0eOU3 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 NTX%1k-mv=pKLF6{erf;! literal 0 HcmV?d00001 diff --git a/ej2-asp-core-mvc/file-manager/user-interface.md b/ej2-asp-core-mvc/file-manager/user-interface.md index 4932580680..ef57bb6e6e 100644 --- a/ej2-asp-core-mvc/file-manager/user-interface.md +++ b/ej2-asp-core-mvc/file-manager/user-interface.md @@ -50,6 +50,10 @@ The File Manager provides navigation between files and folders using the followi The File Manager provides a navigation pane that displays the folder hierarchy of the file system and enables easy navigation to the desired folder. Using [`navigationPaneSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.FileManager.FileManagerNavigationPaneSettings.html) minimum and maximum width of the navigation pane can be changed. The navigation pane can be shown or hidden using the `visible` option in the `navigationPaneSettings`. +You can customize the appearance of the navigation pane by using the `navigationPaneTemplate` property. This enables you to modify icons, display text, and include additional elements to suit your application's requirements. + +![Navigation Pane Template Output](./images/navigationpane-template.png) + ### BreadCrumb The File Manager provides breadcrumb for navigating to the parent folders. The breadcrumb in the File Manager is responsible for resizing. Whenever the path length exceeds the breadcrumb length, a dropdown button will be added at the starting of the breadcrumb to hold the parent folders adjacent to root. @@ -71,6 +75,10 @@ In the large icons view, the thumbnail icons will be shown in a larger size, whi ![LargeIconView](./images/largeiconsview.png) +The `largeIconsTemplate` property enables complete customization of how folders and files are rendered in the `Large Icons View`. It allows you to enhance the layout by adding background images, custom file-type icons, and actions such as dropdown menus. + +![Large Icon View Template Output](./images/large-icons-view-template.png) + ### Details view The File Manager view can be changed from large icon to details view by using the [`View`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.FileManager.FileManager.html#Syncfusion_EJ2_FileManager_FileManager_View) property. In the details view, the files are displayed in a sorted list order. This file list comprises of several columns of information about the files such as **Name**, **Date Modified**, **Type**, and **Size**. Each file has its own small icon representing the file type. Additional columns can be added using [`detailsViewSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.FileManager.FileManagerDetailsViewSettings.html) API. The details view allows you to perform sorting using column header. diff --git a/ej2-asp-core-mvc/file-manager/views.md b/ej2-asp-core-mvc/file-manager/views.md index 459ef148cd..95de03d948 100644 --- a/ej2-asp-core-mvc/file-manager/views.md +++ b/ej2-asp-core-mvc/file-manager/views.md @@ -51,6 +51,33 @@ The output will look like the image below. ![File Manager largeicons view](./images/large_icons.PNG) +### Customize existing Large Icons View + +The large icons view layout can be customized using the `largeIconsTemplate` property, which allows you to display file or folder information, apply custom formatting, and use conditional rendering based on item type. You can customize it further based on your application requirements. + +{% if page.publishingplatform == "aspnet-core" %} + +{% tabs %} +{% highlight cshtml tabtitle="CSHTML" %} +{% include code-snippet/file-manager/large-icon-view-template/tagHelper %} +{% endhighlight %} +{% highlight c# tabtitle="HomeController_core.cs" %} +{% include code-snippet/file-manager/large-icon-view-template/HomeController_core.cs %} +{% endhighlight %} +{% endtabs %} + +{% elsif page.publishingplatform == "aspnet-mvc" %} + +{% tabs %} +{% highlight razor tabtitle="CSHTML" %} +{% include code-snippet/file-manager/large-icon-view-template/razor %} +{% endhighlight %} +{% highlight c# tabtitle="HomeController_mvc.cs" %} +{% include code-snippet/file-manager/large-icon-view-template/HomeController_mvc.cs %} +{% endhighlight %} +{% endtabs %} +{% endif %} + ## Details View The default appearance of the File Manager can be changed from largeicons to details view by using the `view` property. In the Details view, the files are displayed in a sorted list order. This file list comprises of several columns of information about the files such as **Name**, **Date Modified**, **Type**, and **Size**. The following example demonstrates the File Manager with details view. diff --git a/ej2-asp-core-toc.html b/ej2-asp-core-toc.html index ffe3137ef5..09462a894e 100644 --- a/ej2-asp-core-toc.html +++ b/ej2-asp-core-toc.html @@ -1126,6 +1126,7 @@

  • Render FileManager in Internet Explorer
  • Implement own service provider
  • Pass custom value from client to server
  • +
  • Customize Navigation Items
  • diff --git a/ej2-asp-mvc-toc.html b/ej2-asp-mvc-toc.html index 89b80e5396..a8785c6694 100644 --- a/ej2-asp-mvc-toc.html +++ b/ej2-asp-mvc-toc.html @@ -1071,6 +1071,7 @@
  • Render FileManager in Internet Explorer
  • Implement own service provider
  • Pass custom value from client to server
  • +
  • Customize Navigation Items
  • From ffb046bb99b051f9b5fc8fd6043c79c56911f0d2 Mon Sep 17 00:00:00 2001 From: PrasanthMadhaiyan Date: Tue, 16 Dec 2025 13:28:51 +0530 Subject: [PATCH 2/2] 998894: Include UG document for the Template support in EJ2 Navigation pane and LargeIcons view. --- .../file-manager/how-to/customize-navigation-items.md | 2 +- ej2-asp-core-mvc/file-manager/user-interface.md | 4 ++-- ej2-asp-core-mvc/file-manager/views.md | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ej2-asp-core-mvc/file-manager/how-to/customize-navigation-items.md b/ej2-asp-core-mvc/file-manager/how-to/customize-navigation-items.md index 8bf2f183f3..d3a58b94a0 100644 --- a/ej2-asp-core-mvc/file-manager/how-to/customize-navigation-items.md +++ b/ej2-asp-core-mvc/file-manager/how-to/customize-navigation-items.md @@ -1,6 +1,6 @@ --- layout: post -title: Customize the Navigation Pane in ##Platform_Name## File Manager Control | Syncfusion +title: Customize Navigation Pane in ##Platform_Name## Syncfusion File Manager description: Learn here all about Customize the Navigation Pane in Syncfusion ##Platform_Name## File Manager control of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Customize the Navigation Pane diff --git a/ej2-asp-core-mvc/file-manager/user-interface.md b/ej2-asp-core-mvc/file-manager/user-interface.md index ef57bb6e6e..795c048554 100644 --- a/ej2-asp-core-mvc/file-manager/user-interface.md +++ b/ej2-asp-core-mvc/file-manager/user-interface.md @@ -35,7 +35,7 @@ The `Toolbar` provides easy access to the file operations using different button If the toolbar items exceed the size of the toolbar, the excess items will be moved to a toolbar popup with a dropdown button at the end of the toolbar. -*Refer [Toolbar](./file-operations/#toolbar) section in file operations to know more about the buttons present in toolbar*. +*Refer [Toolbar](./file-operations#toolbar) section in file operations to know more about the buttons present in toolbar*. ![Toolbar](./images/toolbar.png) @@ -91,6 +91,6 @@ The context menu appears on user interaction such as right-click. The File Manag Context menu can be customized using the [`contextMenuSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.FileManager.FileManagerContextMenuSettings.html), [`menuOpen`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.FileManager.FileManager.html#Syncfusion_EJ2_FileManager_FileManager_MenuOpen), and [`menuClick`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.FileManager.FileManager.html#Syncfusion_EJ2_FileManager_FileManager_MenuClose) events. -*Refer [Context Menu](./file-operations/#context-menu) section in file operations to know more about the menu items present in context menu*. +*Refer [Context Menu](./file-operations#context-menu) section in file operations to know more about the menu items present in context menu*. ![Context Menu](./images/contextmenu.png) \ No newline at end of file diff --git a/ej2-asp-core-mvc/file-manager/views.md b/ej2-asp-core-mvc/file-manager/views.md index 95de03d948..afa2e4fc9d 100644 --- a/ej2-asp-core-mvc/file-manager/views.md +++ b/ej2-asp-core-mvc/file-manager/views.md @@ -9,7 +9,7 @@ documentation: ug --- -# Views +# Views in File Manager Control The view section displays files and folders for user browsing. The `view` API can also be used to change the initial view of the File Manager.