Index: Core/Common/src/Core.Common.Base/Plugin/ApplicationCore.cs =================================================================== diff -u -r5d0590c1dde44d6dc5397a3a9ffad15163f1e463 -rd1e069321cba9d3b92f873fdd18e393a20659542 --- Core/Common/src/Core.Common.Base/Plugin/ApplicationCore.cs (.../ApplicationCore.cs) (revision 5d0590c1dde44d6dc5397a3a9ffad15163f1e463) +++ Core/Common/src/Core.Common.Base/Plugin/ApplicationCore.cs (.../ApplicationCore.cs) (revision d1e069321cba9d3b92f873fdd18e393a20659542) @@ -6,37 +6,50 @@ namespace Core.Common.Base.Plugin { + /// + /// Class that manages plugins and exposes their contents (file importers, file exporters and data items). + /// public class ApplicationCore : IDisposable { private readonly List plugins; + /// + /// Constructs a new . + /// public ApplicationCore() { plugins = new List(); } + /// + /// This method adds to the collection of plugins. + /// Additionally, the provided is activated. + /// + /// The to add and activate. public void AddPlugin(ApplicationPlugin applicationPlugin) { plugins.Add(applicationPlugin); applicationPlugin.Activate(); } + /// + /// This method removes from the collection of plugins. + /// Additionally, the provided is deactivated. + /// + /// The to remove and deactivate. public void RemovePlugin(ApplicationPlugin applicationPlugin) { plugins.Remove(applicationPlugin); applicationPlugin.Deactivate(); } - public virtual void Dispose() - { - foreach (var plugin in plugins.ToList()) - { - RemovePlugin(plugin); - } - } - + /// + /// This method returns a collection of that support the . + /// + /// The target to get the collection of supported for. + /// The collection of supported . public IEnumerable GetSupportedFileImporters(object target) { if (target == null) @@ -51,6 +64,11 @@ && fileImporter.CanImportFor(target)); } + /// + /// This method returns a collection of that support the . + /// + /// The source to get the collection of supported for. + /// The collection of supported . public IEnumerable GetSupportedFileExporters(object source) { if (source == null) @@ -65,6 +83,11 @@ && fileExporter.CanExportFor(source)); } + /// + /// This method returns a collection of that support the . + /// + /// The target to get the collection of supported for. + /// The collection of supported . public IEnumerable GetSupportedDataItemInfos(object target) { if (target == null) @@ -75,5 +98,13 @@ return plugins.SelectMany(p => p.GetDataItemInfos()) .Where(dataItemInfo => dataItemInfo.AdditionalOwnerCheck == null || dataItemInfo.AdditionalOwnerCheck(target)); } + + public virtual void Dispose() + { + foreach (var plugin in plugins.ToList()) + { + RemovePlugin(plugin); + } + } } } \ No newline at end of file Index: Core/Common/src/Core.Common.Base/Plugin/ApplicationPlugin.cs =================================================================== diff -u -r1f79b34c12554e2b9878f6296168d18232cc9852 -rd1e069321cba9d3b92f873fdd18e393a20659542 --- Core/Common/src/Core.Common.Base/Plugin/ApplicationPlugin.cs (.../ApplicationPlugin.cs) (revision 1f79b34c12554e2b9878f6296168d18232cc9852) +++ Core/Common/src/Core.Common.Base/Plugin/ApplicationPlugin.cs (.../ApplicationPlugin.cs) (revision d1e069321cba9d3b92f873fdd18e393a20659542) @@ -4,45 +4,48 @@ namespace Core.Common.Base.Plugin { /// - /// Template class for application plugin definitions. + /// Class that provides application plugin objects (file importers, file exporters and data items). /// public abstract class ApplicationPlugin { /// - /// Activates the application plugin. + /// This method activates the . /// public virtual void Activate() { } /// - /// Deactivates the application plugin. + /// This method deactivates the . /// public virtual void Deactivate() { } /// - /// File importers which can be provided by the application plugin. + /// This method returns a collection of . /// + /// The collection of provided by the . public virtual IEnumerable GetFileImporters() { yield break; } /// - /// File exporters which can be provided by the application plugin. + /// This method returns a collection of . /// + /// The collection of provided by the . public virtual IEnumerable GetFileExporters() { yield break; } /// - /// Data items which can be provided by the application plugin. + /// This method returns a collection of . /// + /// The collection of provided by the . public virtual IEnumerable GetDataItemInfos() { yield break; Index: Core/Common/src/Core.Common.Base/Plugin/DataItemInfo.cs =================================================================== diff -u -r1f79b34c12554e2b9878f6296168d18232cc9852 -rd1e069321cba9d3b92f873fdd18e393a20659542 --- Core/Common/src/Core.Common.Base/Plugin/DataItemInfo.cs (.../DataItemInfo.cs) (revision 1f79b34c12554e2b9878f6296168d18232cc9852) +++ Core/Common/src/Core.Common.Base/Plugin/DataItemInfo.cs (.../DataItemInfo.cs) (revision d1e069321cba9d3b92f873fdd18e393a20659542) @@ -4,57 +4,50 @@ namespace Core.Common.Base.Plugin { /// - /// Information for creating data objects + /// Class that holds information for creating data objects. /// public class DataItemInfo { /// - /// The type of data to create + /// Gets or sets the of the data to create. /// public Type ValueType { get; set; } /// - /// The name of the data to create + /// Gets or sets the name of the data to create. /// public string Name { get; set; } /// - /// The category of the data to create + /// Gets or sets the category of the data to create. /// public string Category { get; set; } /// - /// The image of the data to create + /// Gets or sets the image of the data to create. /// public Image Image { get; set; } /// - /// Method for determining whether or not the data item information is relevant for the proposed owner + /// Gets or set a method for determining whether or not the data item information is relevant for the proposed owner. /// public Func AdditionalOwnerCheck { get; set; } /// - /// Function for creating the data + /// Gets or set a function for creating the data. + /// The object parameter holds the proposed owner of the data to create. /// - /// - /// The object parameter holds the proposed owner of the data to create - /// public Func CreateData { get; set; } - - /// - /// Action for adding example data to the created data - /// - public Action AddExampleData { get; set; } } /// - /// Information for creating data objects + /// Class that holds information for creating data objects. /// - /// The type of data to create + /// The type of data to create. public class DataItemInfo { /// - /// The type of data to create + /// Gets the of the data to create. /// public Type ValueType { @@ -65,38 +58,36 @@ } /// - /// The name of the data to create + /// Gets or sets the name of the data to create. /// public string Name { get; set; } /// - /// The category of the data to create + /// Gets or sets the category of the data to create. /// public string Category { get; set; } /// - /// The image of the data to create + /// Gets or sets the image of the data to create. /// public Image Image { get; set; } /// - /// Method for determining whether or not the data item information is relevant for the proposed owner + /// Gets or set a method for determining whether or not the data item information is relevant for the proposed owner. /// public Func AdditionalOwnerCheck { get; set; } /// - /// Function for creating the data + /// Gets or set a function for creating the data. + /// The object parameter holds the proposed owner of the data to create. /// - /// - /// The object parameter holds the proposed owner of the data to create - /// public Func CreateData { get; set; } /// - /// Action for adding example data to the created data + /// This operator converts a into a . /// - public Action AddExampleData { get; set; } - + /// The to convert. + /// The converted . public static implicit operator DataItemInfo(DataItemInfo dataItemInfo) { return new DataItemInfo @@ -110,10 +101,7 @@ : (Func) null, CreateData = dataItemInfo.CreateData != null ? owner => dataItemInfo.CreateData(owner) - : (Func) null, - AddExampleData = dataItemInfo.AddExampleData != null - ? d => dataItemInfo.AddExampleData((TValue) d) - : (Action) null + : (Func) null }; } } Index: Core/Common/src/Core.Common.Gui/Forms/SelectItemDialog.Designer.cs =================================================================== diff -u -reee6c7815d1e418eac38c1c552fb279c0887ef55 -rd1e069321cba9d3b92f873fdd18e393a20659542 --- Core/Common/src/Core.Common.Gui/Forms/SelectItemDialog.Designer.cs (.../SelectItemDialog.Designer.cs) (revision eee6c7815d1e418eac38c1c552fb279c0887ef55) +++ Core/Common/src/Core.Common.Gui/Forms/SelectItemDialog.Designer.cs (.../SelectItemDialog.Designer.cs) (revision d1e069321cba9d3b92f873fdd18e393a20659542) @@ -37,7 +37,6 @@ this.label1 = new System.Windows.Forms.Label(); this.listViewItemTypes = new System.Windows.Forms.ListView(); this.imageList = new System.Windows.Forms.ImageList(this.components); - this.checkBoxExample = new System.Windows.Forms.CheckBox(); this.SuspendLayout(); // // buttonOk @@ -83,7 +82,6 @@ this.listViewItemTypes.Sorting = System.Windows.Forms.SortOrder.Ascending; this.listViewItemTypes.UseCompatibleStateImageBehavior = false; this.listViewItemTypes.View = System.Windows.Forms.View.Tile; - this.listViewItemTypes.SelectedIndexChanged += new System.EventHandler(this.listViewItemTypes_SelectedIndexChanged); this.listViewItemTypes.DoubleClick += new System.EventHandler(this.listViewItemTypes_DoubleClick); // // imageList @@ -94,20 +92,12 @@ this.imageList.Images.SetKeyName(1, "chart_curve.png"); this.imageList.Images.SetKeyName(2, "map.png"); // - // checkBoxExample - // - resources.ApplyResources(this.checkBoxExample, "checkBoxExample"); - this.checkBoxExample.Name = "checkBoxExample"; - this.checkBoxExample.UseVisualStyleBackColor = true; - this.checkBoxExample.CheckedChanged += new System.EventHandler(this.checkBoxDemo_CheckedChanged); - // // SelectItemDialog // this.AcceptButton = this.buttonOk; resources.ApplyResources(this, "$this"); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.CancelButton = this.buttonCancel; - this.Controls.Add(this.checkBoxExample); this.Controls.Add(this.listViewItemTypes); this.Controls.Add(this.label1); this.Controls.Add(this.buttonCancel); @@ -130,6 +120,5 @@ private System.Windows.Forms.Label label1; private ListView listViewItemTypes; private System.Windows.Forms.ImageList imageList; - private CheckBox checkBoxExample; } } \ No newline at end of file Index: Core/Common/src/Core.Common.Gui/Forms/SelectItemDialog.cs =================================================================== diff -u -r622c20f6fc0b693b67a3e57b2ece939823002c62 -rd1e069321cba9d3b92f873fdd18e393a20659542 --- Core/Common/src/Core.Common.Gui/Forms/SelectItemDialog.cs (.../SelectItemDialog.cs) (revision 622c20f6fc0b693b67a3e57b2ece939823002c62) +++ Core/Common/src/Core.Common.Gui/Forms/SelectItemDialog.cs (.../SelectItemDialog.cs) (revision d1e069321cba9d3b92f873fdd18e393a20659542) @@ -12,16 +12,10 @@ { public partial class SelectItemDialog : Form { - private string newItemName; - - private int previousSelectedItemIndex; - public SelectItemDialog() { InitializeComponent(); - ShowExampleCheckBox = false; - imageList.Images.Clear(); listViewItemTypes.Clear(); listViewItemTypes.Groups.Clear(); @@ -49,32 +43,6 @@ } } - public Func ItemSupportsExample { get; set; } - - public bool IsExample - { - get - { - return checkBoxExample.Checked; - } - set - { - checkBoxExample.Checked = value; - } - } - - public bool ShowExampleCheckBox - { - get - { - return checkBoxExample.Visible; - } - set - { - checkBoxExample.Visible = value; - } - } - public void AddItemType(string name, string category, Image image, object tag) { if (!ContainsCategory(category)) @@ -157,33 +125,5 @@ { buttonOk.PerformClick(); } - - private void listViewItemTypes_SelectedIndexChanged(object sender, EventArgs e) - { - var selectedItemName = ""; - - if (SelectedItem == null) - { - newItemName = ""; - } - else - { - previousSelectedItemIndex = listViewItemTypes.SelectedIndices[0]; - - selectedItemName = SelectedItem.Text; - newItemName = Resources.SelectItemDialog_listViewItemTypes_SelectedIndexChanged_New + selectedItemName; - } - - if (string.IsNullOrEmpty(newItemName)) - { - ShowExampleCheckBox = false; - } - else if (ItemSupportsExample != null) - { - ShowExampleCheckBox = ItemSupportsExample(selectedItemName); - } - } - - private void checkBoxDemo_CheckedChanged(object sender, EventArgs e) {} } } \ No newline at end of file Index: Core/Common/src/Core.Common.Gui/Forms/SelectItemDialog.resx =================================================================== diff -u -r67e117952bef2b1524aebb434c654c2c9be77dbd -rd1e069321cba9d3b92f873fdd18e393a20659542 --- Core/Common/src/Core.Common.Gui/Forms/SelectItemDialog.resx (.../SelectItemDialog.resx) (revision 67e117952bef2b1524aebb434c654c2c9be77dbd) +++ Core/Common/src/Core.Common.Gui/Forms/SelectItemDialog.resx (.../SelectItemDialog.resx) (revision d1e069321cba9d3b92f873fdd18e393a20659542) @@ -145,7 +145,7 @@ $this - 4 + 3 Bottom, Right @@ -172,7 +172,7 @@ $this - 3 + 2 True @@ -181,7 +181,7 @@ 12, 25 - 34, 13 + 39, 13 5 @@ -199,7 +199,7 @@ $this - 2 + 1 Top, Bottom, Left, Right @@ -208,72 +208,82 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBgAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lCkl0ZW1zQ291bnQFSXRlbTABBAIBAAQoU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRh - bEFsaWdubWVudAIAAAAIIVN5c3RlbS5XaW5kb3dzLkZvcm1zLkxpc3RWaWV3SXRlbQIAAAACAAAABgMA - AAAHSGFiaXRhdAX8////KFN5c3RlbS5XaW5kb3dzLkZvcm1zLkhvcml6b250YWxBbGlnbm1lbnQBAAAA - B3ZhbHVlX18ACAIAAAAAAAAACgYFAAAADmxpc3RWaWV3R3JvdXAxAQAAAAkGAAAADAcAAABRU3lzdGVt - LkRyYXdpbmcsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1i - MDNmNWY3ZjExZDUwYTNhBQYAAAAhU3lzdGVtLldpbmRvd3MuRm9ybXMuTGlzdFZpZXdJdGVtCAAAAARU - ZXh0CkltYWdlSW5kZXgJQmFja0NvbG9yB0NoZWNrZWQERm9udAlGb3JlQ29sb3IXVXNlSXRlbVN0eWxl - Rm9yU3ViSXRlbXMFR3JvdXABAAQABAQABAgUU3lzdGVtLkRyYXdpbmcuQ29sb3IHAAAAARNTeXN0ZW0u - RHJhd2luZy5Gb250BwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgcAAAABIlN5c3RlbS5XaW5kb3dzLkZv - cm1zLkxpc3RWaWV3R3JvdXACAAAAAgAAAAYIAAAAH0dyaWQgU3BhdGlhbCBEYXRhICgyRCwgcmVndWxh - cin/////Bff///8UU3lzdGVtLkRyYXdpbmcuQ29sb3IEAAAABG5hbWUFdmFsdWUKa25vd25Db2xvcgVz - dGF0ZQEAAAAJBwcHAAAACgAAAAAAAAAAGAABAAAJCgAAAAH1////9////woAAAAAAAAAABoAAQABCQEA - AAAFCgAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5 - c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQcAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0BwAAAAcA - AAAGDQAAABRNaWNyb3NvZnQgU2FucyBTZXJpZgAABEEF8v///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5 - bGUBAAAAB3ZhbHVlX18ACAcAAAAAAAAABfH///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAA - AAd2YWx1ZV9fAAgHAAAAAwAAAAs= + ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBwAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh + ZwROYW1lCkl0ZW1zQ291bnQFSXRlbTAFSXRlbTEBBAIBAAQEKFN5c3RlbS5XaW5kb3dzLkZvcm1zLkhv + cml6b250YWxBbGlnbm1lbnQCAAAACCFTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0l0ZW0CAAAA + IVN5c3RlbS5XaW5kb3dzLkZvcm1zLkxpc3RWaWV3SXRlbQIAAAACAAAABgMAAAAHSGFiaXRhdAX8//// + KFN5c3RlbS5XaW5kb3dzLkZvcm1zLkhvcml6b250YWxBbGlnbm1lbnQBAAAAB3ZhbHVlX18ACAIAAAAA + AAAACgYFAAAADmxpc3RWaWV3R3JvdXAxAgAAAAkGAAAACQcAAAAMCAAAAFFTeXN0ZW0uRHJhd2luZywg + VmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFk + NTBhM2EFBgAAACFTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0l0ZW0IAAAABFRleHQKSW1hZ2VJ + bmRleAlCYWNrQ29sb3IHQ2hlY2tlZARGb250CUZvcmVDb2xvchdVc2VJdGVtU3R5bGVGb3JTdWJJdGVt + cwVHcm91cAEABAAEBAAECBRTeXN0ZW0uRHJhd2luZy5Db2xvcggAAAABE1N5c3RlbS5EcmF3aW5nLkZv + bnQIAAAAFFN5c3RlbS5EcmF3aW5nLkNvbG9yCAAAAAEiU3lzdGVtLldpbmRvd3MuRm9ybXMuTGlzdFZp + ZXdHcm91cAIAAAACAAAABgkAAAAfR3JpZCBTcGF0aWFsIERhdGEgKDJELCByZWd1bGFyKf////8F9v// + /xRTeXN0ZW0uRHJhd2luZy5Db2xvcgQAAAAEbmFtZQV2YWx1ZQprbm93bkNvbG9yBXN0YXRlAQAAAAkH + BwgAAAAKAAAAAAAAAAAYAAEAAAkLAAAAAfT////2////CgAAAAAAAAAAGgABAAEJAQAAAAEHAAAABgAA + AAYOAAAAH0dyaWQgU3BhdGlhbCBEYXRhICgyRCwgcmVndWxhcin/////AfH////2////CgAAAAAAAAAA + GAABAAAJEAAAAAHv////9v///woAAAAAAAAAABoAAQABCQEAAAAFCwAAABNTeXN0ZW0uRHJhd2luZy5G + b250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQgA + AAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0CAAAAAgAAAAGEwAAABRNaWNyb3NvZnQgU2FucyBT + ZXJpZgAABEEF7P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAgAAAAAAAAA + Bev///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgIAAAAAwAAAAEQAAAA + CwAAAAYWAAAAFE1pY3Jvc29mdCBTYW5zIFNlcmlmAAAEQQHp////7P///wAAAAAB6P///+v///8DAAAA + Cw== AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBgAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lCkl0ZW1zQ291bnQFSXRlbTABBAIBAAQoU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRh - bEFsaWdubWVudAIAAAAIIVN5c3RlbS5XaW5kb3dzLkZvcm1zLkxpc3RWaWV3SXRlbQIAAAACAAAABgMA - AAAFU29iZWsF/P///yhTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AQAAAAd2 - YWx1ZV9fAAgCAAAAAAAAAAoGBQAAAA5saXN0Vmlld0dyb3VwMwEAAAAJBgAAAAwHAAAAUVN5c3RlbS5E - cmF3aW5nLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAz - ZjVmN2YxMWQ1MGEzYQUGAAAAIVN5c3RlbS5XaW5kb3dzLkZvcm1zLkxpc3RWaWV3SXRlbQgAAAAEVGV4 - dApJbWFnZUluZGV4CUJhY2tDb2xvcgdDaGVja2VkBEZvbnQJRm9yZUNvbG9yF1VzZUl0ZW1TdHlsZUZv - clN1Ykl0ZW1zBUdyb3VwAQAEAAQEAAQIFFN5c3RlbS5EcmF3aW5nLkNvbG9yBwAAAAETU3lzdGVtLkRy - YXdpbmcuRm9udAcAAAAUU3lzdGVtLkRyYXdpbmcuQ29sb3IHAAAAASJTeXN0ZW0uV2luZG93cy5Gb3Jt - cy5MaXN0Vmlld0dyb3VwAgAAAAIAAAAGCAAAABFHcmlkIDFEIChOZXR3b3JrKf////8F9////xRTeXN0 - ZW0uRHJhd2luZy5Db2xvcgQAAAAEbmFtZQV2YWx1ZQprbm93bkNvbG9yBXN0YXRlAQAAAAkHBwcAAAAK - AAAAAAAAAAAYAAEAAAkKAAAAAfX////3////CgAAAAAAAAAAGgABAAEJAQAAAAUKAAAAE1N5c3RlbS5E - cmF3aW5nLkZvbnQEAAAABE5hbWUEU2l6ZQVTdHlsZQRVbml0AQAEBAsYU3lzdGVtLkRyYXdpbmcuRm9u - dFN0eWxlBwAAABtTeXN0ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQHAAAABwAAAAYNAAAAFE1pY3Jvc29m - dCBTYW5zIFNlcmlmAAAEQQXy////GFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAI - BwAAAAAAAAAF8f///xtTeXN0ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAcAAAAD - AAAACw== + ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBwAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh + ZwROYW1lCkl0ZW1zQ291bnQFSXRlbTAFSXRlbTEBBAIBAAQEKFN5c3RlbS5XaW5kb3dzLkZvcm1zLkhv + cml6b250YWxBbGlnbm1lbnQCAAAACCFTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0l0ZW0CAAAA + IVN5c3RlbS5XaW5kb3dzLkZvcm1zLkxpc3RWaWV3SXRlbQIAAAACAAAABgMAAAAFU29iZWsF/P///yhT + eXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAoGBQAAAA5saXN0Vmlld0dyb3VwMwIAAAAJBgAAAAkHAAAADAgAAABRU3lzdGVtLkRyYXdpbmcsIFZl + cnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUw + YTNhBQYAAAAhU3lzdGVtLldpbmRvd3MuRm9ybXMuTGlzdFZpZXdJdGVtCAAAAARUZXh0CkltYWdlSW5k + ZXgJQmFja0NvbG9yB0NoZWNrZWQERm9udAlGb3JlQ29sb3IXVXNlSXRlbVN0eWxlRm9yU3ViSXRlbXMF + R3JvdXABAAQABAQABAgUU3lzdGVtLkRyYXdpbmcuQ29sb3IIAAAAARNTeXN0ZW0uRHJhd2luZy5Gb250 + CAAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcggAAAABIlN5c3RlbS5XaW5kb3dzLkZvcm1zLkxpc3RWaWV3 + R3JvdXACAAAAAgAAAAYJAAAAEUdyaWQgMUQgKE5ldHdvcmsp/////wX2////FFN5c3RlbS5EcmF3aW5n + LkNvbG9yBAAAAARuYW1lBXZhbHVlCmtub3duQ29sb3IFc3RhdGUBAAAACQcHCAAAAAoAAAAAAAAAABgA + AQAACQsAAAAB9P////b///8KAAAAAAAAAAAaAAEAAQkBAAAAAQcAAAAGAAAABg4AAAARR3JpZCAxRCAo + TmV0d29yayn/////AfH////2////CgAAAAAAAAAAGAABAAAJEAAAAAHv////9v///woAAAAAAAAAABoA + AQABCQEAAAAFCwAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEA + BAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQgAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0 + CAAAAAgAAAAGEwAAABRNaWNyb3NvZnQgU2FucyBTZXJpZgAABEEF7P///xhTeXN0ZW0uRHJhd2luZy5G + b250U3R5bGUBAAAAB3ZhbHVlX18ACAgAAAAAAAAABev///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NV + bml0AQAAAAd2YWx1ZV9fAAgIAAAAAwAAAAEQAAAACwAAAAYWAAAAFE1pY3Jvc29mdCBTYW5zIFNlcmlm + AAAEQQHp////7P///wAAAAAB6P///+v///8DAAAACw== AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBgAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh - ZwROYW1lCkl0ZW1zQ291bnQFSXRlbTABBAIBAAQoU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRh - bEFsaWdubWVudAIAAAAIIVN5c3RlbS5XaW5kb3dzLkZvcm1zLkxpc3RWaWV3SXRlbQIAAAACAAAABgMA - AAAHRGVsZnQzRAX8////KFN5c3RlbS5XaW5kb3dzLkZvcm1zLkhvcml6b250YWxBbGlnbm1lbnQBAAAA - B3ZhbHVlX18ACAIAAAAAAAAACgYFAAAADmxpc3RWaWV3R3JvdXAyAQAAAAkGAAAADAcAAABRU3lzdGVt - LkRyYXdpbmcsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1i - MDNmNWY3ZjExZDUwYTNhBQYAAAAhU3lzdGVtLldpbmRvd3MuRm9ybXMuTGlzdFZpZXdJdGVtCAAAAARU - ZXh0CkltYWdlSW5kZXgJQmFja0NvbG9yB0NoZWNrZWQERm9udAlGb3JlQ29sb3IXVXNlSXRlbVN0eWxl - Rm9yU3ViSXRlbXMFR3JvdXABAAQABAQABAgUU3lzdGVtLkRyYXdpbmcuQ29sb3IHAAAAARNTeXN0ZW0u - RHJhd2luZy5Gb250BwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgcAAAABIlN5c3RlbS5XaW5kb3dzLkZv - cm1zLkxpc3RWaWV3R3JvdXACAAAAAgAAAAYIAAAAFkdyaWQgM0QgKFVuc3RydWN0dXJlZCn/////Bff/ - //8UU3lzdGVtLkRyYXdpbmcuQ29sb3IEAAAABG5hbWUFdmFsdWUKa25vd25Db2xvcgVzdGF0ZQEAAAAJ - BwcHAAAACgAAAAAAAAAAGAABAAAJCgAAAAH1////9////woAAAAAAAAAABoAAQABCQEAAAAFCgAAABNT - eXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3 - aW5nLkZvbnRTdHlsZQcAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0BwAAAAcAAAAGDQAAABRN - aWNyb3NvZnQgU2FucyBTZXJpZgAABEEF8v///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3Zh - bHVlX18ACAcAAAAAAAAABfH///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9f - AAgHAAAAAwAAAAs= + ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBwAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh + ZwROYW1lCkl0ZW1zQ291bnQFSXRlbTAFSXRlbTEBBAIBAAQEKFN5c3RlbS5XaW5kb3dzLkZvcm1zLkhv + cml6b250YWxBbGlnbm1lbnQCAAAACCFTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0l0ZW0CAAAA + IVN5c3RlbS5XaW5kb3dzLkZvcm1zLkxpc3RWaWV3SXRlbQIAAAACAAAABgMAAAAHRGVsZnQzRAX8//// + KFN5c3RlbS5XaW5kb3dzLkZvcm1zLkhvcml6b250YWxBbGlnbm1lbnQBAAAAB3ZhbHVlX18ACAIAAAAA + AAAACgYFAAAADmxpc3RWaWV3R3JvdXAyAgAAAAkGAAAACQcAAAAMCAAAAFFTeXN0ZW0uRHJhd2luZywg + VmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFk + NTBhM2EFBgAAACFTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0l0ZW0IAAAABFRleHQKSW1hZ2VJ + bmRleAlCYWNrQ29sb3IHQ2hlY2tlZARGb250CUZvcmVDb2xvchdVc2VJdGVtU3R5bGVGb3JTdWJJdGVt + cwVHcm91cAEABAAEBAAECBRTeXN0ZW0uRHJhd2luZy5Db2xvcggAAAABE1N5c3RlbS5EcmF3aW5nLkZv + bnQIAAAAFFN5c3RlbS5EcmF3aW5nLkNvbG9yCAAAAAEiU3lzdGVtLldpbmRvd3MuRm9ybXMuTGlzdFZp + ZXdHcm91cAIAAAACAAAABgkAAAAWR3JpZCAzRCAoVW5zdHJ1Y3R1cmVkKf////8F9v///xRTeXN0ZW0u + RHJhd2luZy5Db2xvcgQAAAAEbmFtZQV2YWx1ZQprbm93bkNvbG9yBXN0YXRlAQAAAAkHBwgAAAAKAAAA + AAAAAAAYAAEAAAkLAAAAAfT////2////CgAAAAAAAAAAGgABAAEJAQAAAAEHAAAABgAAAAYOAAAAFkdy + aWQgM0QgKFVuc3RydWN0dXJlZCn/////AfH////2////CgAAAAAAAAAAGAABAAAJEAAAAAHv////9v// + /woAAAAAAAAAABoAAQABCQEAAAAFCwAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUF + U3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQgAAAAbU3lzdGVtLkRyYXdpbmcu + R3JhcGhpY3NVbml0CAAAAAgAAAAGEwAAABRNaWNyb3NvZnQgU2FucyBTZXJpZgAABEEF7P///xhTeXN0 + ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAgAAAAAAAAABev///8bU3lzdGVtLkRyYXdp + bmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgIAAAAAwAAAAEQAAAACwAAAAYWAAAAFE1pY3Jvc29m + dCBTYW5zIFNlcmlmAAAEQQHp////7P///wAAAAAB6P///+v///8DAAAACw== @@ -292,12 +302,15 @@ LkZvbnRTdHlsZQMAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AwAAAAMAAAAGCQAAABRNaWNy b3NvZnQgU2FucyBTZXJpZgAABEEF9v///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVl X18ACAMAAAAAAAAABfX///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgD - AAAAAwAAAAUIAAAAIlN5c3RlbS5XaW5kb3dzLkZvcm1zLkxpc3RWaWV3R3JvdXAGAAAABkhlYWRlcg9I - ZWFkZXJBbGlnbm1lbnQDVGFnBE5hbWUKSXRlbXNDb3VudAVJdGVtMAEEAgEABChTeXN0ZW0uV2luZG93 - cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAghU3lzdGVtLldpbmRvd3MuRm9ybXMuTGlzdFZp - ZXdJdGVtAgAAAAIAAAAGDAAAAAVTb2JlawXz////KFN5c3RlbS5XaW5kb3dzLkZvcm1zLkhvcml6b250 - YWxBbGlnbm1lbnQBAAAAB3ZhbHVlX18ACAIAAAAAAAAACgYOAAAADmxpc3RWaWV3R3JvdXAzAQAAAAkB - AAAACw== + AAAAAwAAAAUIAAAAIlN5c3RlbS5XaW5kb3dzLkZvcm1zLkxpc3RWaWV3R3JvdXAHAAAABkhlYWRlcg9I + ZWFkZXJBbGlnbm1lbnQDVGFnBE5hbWUKSXRlbXNDb3VudAVJdGVtMAVJdGVtMQEEAgEABAQoU3lzdGVt + LldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVudAIAAAAIIVN5c3RlbS5XaW5kb3dzLkZvcm1z + Lkxpc3RWaWV3SXRlbQIAAAAhU3lzdGVtLldpbmRvd3MuRm9ybXMuTGlzdFZpZXdJdGVtAgAAAAIAAAAG + DAAAAAVTb2JlawXz////KFN5c3RlbS5XaW5kb3dzLkZvcm1zLkhvcml6b250YWxBbGlnbm1lbnQBAAAA + B3ZhbHVlX18ACAIAAAAAAAAACgYOAAAADmxpc3RWaWV3R3JvdXAzAgAAAAkPAAAACQEAAAABDwAAAAEA + AAAGEQAAABFHcmlkIDFEIChOZXR3b3JrKf////8B7v////v///8KAAAAAAAAAAAYAAEAAAkTAAAAAez/ + ///7////CgAAAAAAAAAAGgABAAEJCAAAAAETAAAABgAAAAYWAAAAFE1pY3Jvc29mdCBTYW5zIFNlcmlm + AAAEQQHp////9v///wAAAAAB6P////X///8DAAAACw== @@ -316,12 +329,15 @@ YXdpbmcuRm9udFN0eWxlAwAAABtTeXN0ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQDAAAAAwAAAAYJAAAA FE1pY3Jvc29mdCBTYW5zIFNlcmlmAAAEQQX2////GFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQEAAAAH dmFsdWVfXwAIAwAAAAAAAAAF9f///xtTeXN0ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVl - X18ACAMAAAADAAAABQgAAAAiU3lzdGVtLldpbmRvd3MuRm9ybXMuTGlzdFZpZXdHcm91cAYAAAAGSGVh - ZGVyD0hlYWRlckFsaWdubWVudANUYWcETmFtZQpJdGVtc0NvdW50BUl0ZW0wAQQCAQAEKFN5c3RlbS5X - aW5kb3dzLkZvcm1zLkhvcml6b250YWxBbGlnbm1lbnQCAAAACCFTeXN0ZW0uV2luZG93cy5Gb3Jtcy5M - aXN0Vmlld0l0ZW0CAAAAAgAAAAYMAAAAB0RlbGZ0M0QF8////yhTeXN0ZW0uV2luZG93cy5Gb3Jtcy5I - b3Jpem9udGFsQWxpZ25tZW50AQAAAAd2YWx1ZV9fAAgCAAAAAAAAAAoGDgAAAA5saXN0Vmlld0dyb3Vw - MgEAAAAJAQAAAAs= + X18ACAMAAAADAAAABQgAAAAiU3lzdGVtLldpbmRvd3MuRm9ybXMuTGlzdFZpZXdHcm91cAcAAAAGSGVh + ZGVyD0hlYWRlckFsaWdubWVudANUYWcETmFtZQpJdGVtc0NvdW50BUl0ZW0wBUl0ZW0xAQQCAQAEBChT + eXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAghU3lzdGVtLldpbmRvd3Mu + Rm9ybXMuTGlzdFZpZXdJdGVtAgAAACFTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0l0ZW0CAAAA + AgAAAAYMAAAAB0RlbGZ0M0QF8////yhTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25t + ZW50AQAAAAd2YWx1ZV9fAAgCAAAAAAAAAAoGDgAAAA5saXN0Vmlld0dyb3VwMgIAAAAJDwAAAAkBAAAA + AQ8AAAABAAAABhEAAAAWR3JpZCAzRCAoVW5zdHJ1Y3R1cmVkKf////8B7v////v///8KAAAAAAAAAAAY + AAEAAAkTAAAAAez////7////CgAAAAAAAAAAGgABAAEJCAAAAAETAAAABgAAAAYWAAAAFE1pY3Jvc29m + dCBTYW5zIFNlcmlmAAAEQQHp////9v///wAAAAAB6P////X///8DAAAACw== @@ -341,11 +357,15 @@ AwAAAAYJAAAAFE1pY3Jvc29mdCBTYW5zIFNlcmlmAAAEQQX2////GFN5c3RlbS5EcmF3aW5nLkZvbnRT dHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9f///xtTeXN0ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQB AAAAB3ZhbHVlX18ACAMAAAADAAAABQgAAAAiU3lzdGVtLldpbmRvd3MuRm9ybXMuTGlzdFZpZXdHcm91 - cAYAAAAGSGVhZGVyD0hlYWRlckFsaWdubWVudANUYWcETmFtZQpJdGVtc0NvdW50BUl0ZW0wAQQCAQAE - KFN5c3RlbS5XaW5kb3dzLkZvcm1zLkhvcml6b250YWxBbGlnbm1lbnQCAAAACCFTeXN0ZW0uV2luZG93 - cy5Gb3Jtcy5MaXN0Vmlld0l0ZW0CAAAAAgAAAAYMAAAAB0hhYml0YXQF8////yhTeXN0ZW0uV2luZG93 - cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AQAAAAd2YWx1ZV9fAAgCAAAAAAAAAAoGDgAAAA5saXN0 - Vmlld0dyb3VwMQEAAAAJAQAAAAs= + cAcAAAAGSGVhZGVyD0hlYWRlckFsaWdubWVudANUYWcETmFtZQpJdGVtc0NvdW50BUl0ZW0wBUl0ZW0x + AQQCAQAEBChTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAghU3lzdGVt + LldpbmRvd3MuRm9ybXMuTGlzdFZpZXdJdGVtAgAAACFTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmll + d0l0ZW0CAAAAAgAAAAYMAAAAB0hhYml0YXQF8////yhTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9u + dGFsQWxpZ25tZW50AQAAAAd2YWx1ZV9fAAgCAAAAAAAAAAoGDgAAAA5saXN0Vmlld0dyb3VwMQIAAAAJ + DwAAAAkBAAAAAQ8AAAABAAAABhEAAAAfR3JpZCBTcGF0aWFsIERhdGEgKDJELCByZWd1bGFyKf////8B + 7v////v///8KAAAAAAAAAAAYAAEAAAkTAAAAAez////7////CgAAAAAAAAAAGgABAAEJCAAAAAETAAAA + BgAAAAYWAAAAFE1pY3Jvc29mdCBTYW5zIFNlcmlmAAAEQQHp////9v///wAAAAAB6P////X///8DAAAA + Cw== @@ -409,82 +429,82 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACG - EQAAAk1TRnQBSQFMAgEBAwEAATwBAAE8AQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA - AwABEAMAAQEBAAEgBgABEJIAAVcCVQG3AVsBZgFdAf8BXwFrAWAB/wFgAWsBYAH/AWABawFhAf8BYAFr - AWEB/wFgAWsBYgH/AWABawFiAf8BYAFrAWIB/wFgAWsBYgH/AWABawFiAf8BYAFrAWMB/wFgAWsBYwH/ - AWABbAFjAf8BXQFoAV8B/wFXAlUBt0QAAVsCWQHEAY0BZQFSAfQB0QGWAWUB/wHOAZIBYAH/AcsBjgFb - Af8ByQGKAVgB/wHHAYcBUwH/AcMBhAFPAf8BwwGEAU8B/wHDAYQBTwH/AcMBhAFPAf8BwwGEAU8B/wHD - AYQBTwH/AVUCUwGwCAABtAFmASgB/wGzAWUBKAH/AbIBZQEnAf8BsQFlAScB/wGwAWMBJwH/Aa8BYwEn - Af8BrwFjASYB/wGuAWIBJgH/Aa4BYgElAf8BrQFhASUB/wGtAWEBJQH/AawBYQElAf8BqwFgASUB/wGr - AWABJQH/BAABWwFmAVwB/wHrAfUB7AH/AdQB7QHXAf8B1AHuAdcB/wHUAe4B2AH/AdUB7gHYAf8B1QHu + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAB+ + EQAAAk1TRnQBSQFMAgEBAwEAAUQBAAFEAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA + AwABEAMAAQEBAAEgBgABEJIAAVcCVQG3AVoBZQFcAf8BXgFqAV8B/wFfAWoBXwH/AV8BagFgAf8BXwFq + AWAB/wFfAWoBYQH/AV8BagFhAf8BXwFqAWEB/wFfAWoBYQH/AV8BagFhAf8BXwFqAWIB/wFfAWoBYgH/ + AV8BawFiAf8BXAFnAV4B/wFXAlUBt0QAAVsCWQHEAYoBZQFSAfQB0QGWAWQB/wHOAZIBXwH/AcsBjgFa + Af8ByQGKAVcB/wHHAYcBUgH/AcMBhAFOAf8BwwGEAU4B/wHDAYQBTgH/AcMBhAFOAf8BwwGEAU4B/wHD + AYQBTgH/AVUCUwGwCAABtAFlAScB/wGzAWQBJwH/AbIBZAEmAf8BsQFkASYB/wGwAWIBJgH/Aa8BYgEm + Af8BrwFiASUB/wGuAWEBJQH/Aa4BYQEkAf8BrQFgASQB/wGtAWABJAH/AawBYAEkAf8BqwFfASQB/wGr + AV8BJAH/BAABWgFlAVsB/wHrAfUB7AH/AdQB7QHXAf8B1AHuAdcB/wHUAe4B2AH/AdUB7gHYAf8B1QHu AdkB/wHVAe4B2QH/AdYB7wHaAf8B1gHvAdoB/wHUAeIB7AH/Ac8B5QHWAf8B1QHtAdkB/wHYAe8B3AH/ - AdUB7QHZAf8BXQFoAV8B/0QAAdcBoQFyAf8B+AHyAe0B/wH3AfAB6gH/AfYB7QHmAf8B9AHqAeIB/wHz + AdUB7QHZAf8BXAFnAV4B/0QAAdcBoQFxAf8B+AHyAe0B/wH3AfAB6gH/AfYB7QHmAf8B9AHqAeIB/wHz AecB3gH/AfEB5AHbAf8B8AHiAdgB/wHwAeIB2AH/AfAB4gHYAf8B8AHiAdgB/wHwAeIB2AH/AfAB4gHY - Af8BuAGEAU8B/QgAAbYBZwEqAf8DMQFPAy0BRgMtAUUDBwEJBAADFQEdCAADFQEdBAADEwEaAT0CPAFo - AwkBDAQAAV4BagFgAf8B7gH4Ae8B/wGkAdsBvAH/AYwBygGmAf8BmAHVAbEB/wGGAckBoQH/AXABrQHA - Af8BUgGHAcYB/wGDAcIBtgH/AXMBrAGvAf8BZQFsAesB/wGBAcUBowH/AYwB0AGmAf8BhQHKAaAB/wHS - AekB1wH/AWABawFjAf9EAAHZAaQBdwH/AfkB8wHuAf8B6wHSAb4F/wHrAdMBvw3/AeoBxwGtDf8B8AHi - AdgB/wHGAYwBXAH/CAABtwFoASoB/wMSARkDTgGZAVwBWAFVAeIBUwFZAU0B7QE9AjwBaBAAAwYBCAFa - AVgBVQHeA0wBkwgAAV0BagFgAf8B7AH3Ae4B/wGWAdsBrwH/AYEByQGaAf8BjwHYAaoB/wF2AcgBlwH/ - AYoB1gGpAf8BWwGiAawB/wFRAYgB1wH/AUQBWQHgAf8BdQGoAckB/wGBAckBmQH/AYcB0AGgAf8BgQHK - AZoB/wHWAe4B2gH/AWABawFiAf9EAAHdAagBgQH/AfkB8wHvAf8B6wHQAboB/wHrAdABuwH/AesB0AG7 - Af8B6wHQAbsB/wHrAdABuwH/AesB0QG9Af8B6gHNAbUB/wHqAc0BtQH/AeoBzQG1Af8B6gHNAbUB/wHw - AeIB2AH/AcYBigFZAf8IAAG5AWoBKwH/AyoBQAgAAU4CTQGWAVMBYgFKAfEDUQGiAwkBDAgAAUkCSAGI - AU8BYgFKAe8MAAFdAWoBXwH/AfcB+wH4Af8BmwHeAcQB/wFvAcMBkwH/AYEBzwGfAf8BawHBAY8B/wGB - Ac4BnQH/AWoBvwGMAf8BbAGkAbsB/wFEAVQB2gH/AUgBeAHRAf8BTQGNAbYB/wFvAb4BnQH/AXABwwGP - Af8B1wHvAdoB/wFgAWsBYgH/RAAB3wGqAYIB/wH5AfMB7wH/AeoBzgG3Bf8B6wHQAbsN/wHqAc8BugH/ - AfsB9gHyCf8B8AHiAdgB/wHIAY0BXAH/CAABuwFrASwB/wM0AVQDEQEXCAADLwFKAVcBXwFSAegBXwFd - AVkB4AFVAlMBrQFZAlYBvgFQAWcBQwH0AzkBXwQAAxMBGgQAAV0BagFfAf8B+AH8AfkB/wG8AvsB/wGd - AecB3wH/AZMB4QG7Af8BcwHJAZcB/wGJAdoBqQH/AXEBxgGYAf8BbQF4AfMB/wFnAa4BrQH/AYIB4QHd - Af8BVAGnAeEB/wFSAYwB5gH/AV0BnwG9Af8B0AHpAdsB/wFgAWsBYgH/RAAB4QGuAYcB/wH6AfQB8AH/ - AeoBywGyAf8B6gHMAbMB/wHqAcwBswH/AeoBzAGzAf8B6gHMAbMB/wHqAc4BtwH/AegBxwGsAf8B6AHH - AawB/wHoAcgBsAH/AegByAGuAf8B8AHiAdgB/wHEAYYBUQH/CAABvQFsAS0B/wMxAU8BWgFVAWEB3AwA - A0MBdwFPAk4BlwNZAcwCWgFZAc0DNQFXCAABVAJTAbAEAAFcAWkBXwH/AfgB/AH4Af8BpAHrAe0B/wGN - At8B/wGXAusB/wFuAc8BtwH/AXABygGZAf8BUgGDAbAB/wFcAXQB1wH/AU0BwwG2Af8BkAHVAc0B/wFM - AsYB/wGBAdAB3QH/AWABmQHbAf8BygHkAdwB/wFgAWsBYgH/RAAB4wGxAYwB/wH6AfYB8QH/AeoByQGu - Bf8B6gHJAbAN/wHoAccBrA3/AfEB5QHbAf8BxgGGAVIB/wgAAb4BbgEtAf8DIAEvARkBEgHlAf4DSAGG - A0gBhAHgAVQBAAH/AcABSwEPAf0BywFYAQgB/gM1AVcQAAEtASUBuAH6BAABXAFpAV4B/wH4AfwB+AH/ - Aa8C+gH/AZQC6wH/AaIB+QH6Af8BigHqAesB/wGVAe0B8wH/AVUBWwHrAf8BhwHZAeYB/wFYAdIB0QH/ - AdwB2wHJAf8BrAHUAc0B/wGXAdoB1AH/AXMB0QHOAf8B1AHvAdsB/wFgAWsBYQH/RAAB5QG0AY8B/wH6 - AfYB8gH/AekBxgGqAf8B6QHGAawB/wHqAccBrAH/AekBxwGtAf8B6QHJAa4B/wHpAckBsAH/AegBxwGs - Af8B6QHJAbAB/wHoAcgBsAH/AegBzAG1Af8B8gHnAd4B/wHIAYoBVgH/CAABwAFvAS8B/wQAAVECTwGl - ASQBIQHCAfsBjwFRATwB9wNMAZIDAgEDAVcCVgG4AaQBXAEoAfgBRgJFAX4IAANYAcABTgFDAXwB8AQA - AVwBaQFdAf8B+AH8AfgB/wGfAvEB/wGBAd0B3wH/AYoB6gHrAf8BcQLeAf8BYQGRAe4B/wFRAYEB4gH/ - AWQB3AHdAf8BcwG/AbcB/wHlAcgBsgH/AdoBugGjAf8B3gG8AaYB/wHZAbcBnwH/AdYB7QHYAf8BYAFr - AWAB/0QAAecBtwGUAf8B+wH3AfQB/wHpAcMBpgX/AegBxAGpDf8B6AHHAawN/wH3AfEB6wH/AcsBjwFc - Af8IAAHCAXABLwH/CAABQQEvAdMB/gFHAUABpQH5DAABUwJSAagBugFfASIB+wFRAlABnwMaASUBMwEw - AfYB/wFPAk4BlwQAAVsBaQFdAf8B+AH8AfgB/wGmAvkB/wGLAekB6gH/AZkB+AH6Af8BdAHTAesB/wFh - AWcC/wFzAdwB6gH/AWwB3wHeAf8BwQHFAbUB/wHxAdEBugH/AeUBwQGpAf8B6gHHAa4B/wHkAb0BoQH/ - AdYB7QHXAf8BXwFrAWAB/0QAAekBugGYAf8B+wH3AfQB/wHpAcMBpgH/AekBwwGmAf8B6QHDAaYB/wHp - AcMBpgH/AekBwwGmAf8B6QHDAaYB/wHpAcMBpgH/AekBwwGmAf8B6QHDAaYB/wHpAcMBpgH/AfsB9wH0 - Af8BzgGTAWEB/wgAAcMBcAEwAf8DFQEdA0oBigGZAU0BUQH6AVEBOgGkAfcBTgJNAZUMAANKAY0BvwFv - AUAB/QG7AWIBMgH7AawBagFBAfkBygF/AUIB/gQAAVsBaQFdAf8B+AH8AfgB/wGQAuoB/wF0Ad0B3gH/ - AYEB6QHqAf8BSgFnAeIB/wFfAZ0B7gH/AVoC1wH/AVcBywHJAf8B1AGwAZcB/wHiAboBnwH/AdYBrAGP - Af8B2wGwAZEB/wHUAacBhgH/AdYB7QHXAf8BXwFqAWAB/0QAAesBvQGbAf8B+wH3AfQp/wH7AfcB9AH/ - AdEBlwFnAf8IAAHEAXEBMQH/AwIBAwGtAWoBOQH5A1YBtgFJAkgBhwFHAUIB3AH+AygBPAgAAxgBIgFX - AU0BggHxAU4BSAGTAfYBRwJGAYAIAAFbAWkBXQH/AfcB/AH4Af8BnwL5Af8BhQHpAeoB/wGEAdMB+gH/ - AU4BVgHwAf8BhwHyAfcB/wFcAdoB1wH/AZgB1QHKAf8B4AG3AZwB/wHtAccBqQH/AeABswGUAf8B5gG4 - AZgB/wHeAa4BjAH/AdcB7AHWAf8BXwFqAWAB/0QAAewBvwGeAf8B+wH3AfQB/wGcAdUBpQH/AZgB0wGh - Af8BlAHQAZ0B/wGQAc4BmAH/AYsBywGTAf8BhwHJAY4B/wGCAcYBiQH/AYEBwwGEAf8BdwHBAYEB/wFz - Ab4BgAH/AfsB9wH0Af8B1AGbAWwB/wgAAcUBcgExAf8DIwEzAb8BgwFAAf0DBwEJBAABWwJZAcMCTQGx - AfoBXQJaAcoBXgFXAV4B3QFXAU0BvgH7AV0BVgFiAeIDGAEiDAABWwFpAVwB/wH3AfwB+AH/AYoC6gH/ - AW4B3QHeAf8BUgFhAfAB/wFSAZ8B3wH/AW8C6AH/AUICwQH/ArsBpQH/AdABpAGDAf8B3gGwAY4B/wHR - AZ4BdgH/AdYBogF2Af8BzwGYAW0B/wHXAesB1QH/AV4BagFgAf9EAAF8AWgBYAHrAfsB9wH0Af8B+wH3 - AfQB/wH7AfcB9AH/AfsB9wH0Af8B+wH3AfQB/wH7AfcB9AH/AfsB9wH0Af8B+wH3AfQB/wH7AfcB9AH/ - AfsB9wH0Af8B+wH3AfQB/wH7AfcB9AH/AaABegFcAfgIAAHGAXMBMQH/AzwBZgFSAlEBpwwAA0oBigFf - AVkBYgHgAVoBWQFaAdMDOAFeFAABWwFpAVwB/wH3AfwB+AH/AZ0C+QH/AWgBtAHtAf8BXgFtAf4B/wGB - AecB6QH/AYwC9AH/AU4CzQH/AewBwgGkAf8B3QGtAYoB/wHrAboBlwH/Ad0BpwGBAf8B4gGrAYMB/wHa - AaABcQH/AdkB6gHUAf8BXQFqAWAB/0QAAUYCRQF+AWkBXwFYAeMB7QHAAZ8B/wHrAb4BnQH/AesBvAGa - Af8B6QG6AZYB/wHnAbcBkwH/AeYBtQGQAf8B5AGyAYwB/wHiAa8BiAH/AeABrAGEAf8B3QGpAYEB/wHc - AaUBgQH/AV0CWgHKCAABxgFzATEB/wM0AVQ0AAFYAWYBWQH/AfsB/AH7Af8B/AH+AfwB/wH3AfwB+AH/ - AfcB/AH4Af8B9wH8AfgB/wH4AfwB+AH/AfcB/AH5Af8B+AH8AfgB/wH4AfwB+AH/AewB9wHuAf8B7QH3 - Ae4B/wHvAfYB7QH/Ae4B9AHsAf8B6wH0AesB/wFaAWYBWwH/wAADVwG9AVgBZgFZAf8BWwFpAVwB/wFb - AWkBXAH/AVsBaQFcAf8BWwFpAVwB/wFbAWkBXQH/AVsBaQFdAf8BWwFpAV0B/wFbAWkBXQH/AVwBaQFd - Af8BXAFpAV4B/wFcAWkBXgH/AVwBaQFfAf8BWgFmAVsB/wFZAlcBvUAAAUIBTQE+BwABPgMAASgDAAFA - AwABEAMAAQEBAAEBBQABgBcAA/8BAAT/BAABgAEBAYABAQQAAYABAQGCAdEEAAGAAQEBgQHjBAABgAEB - AZgBZwQAAYABAQGMAQUEAAGAAQEBjgENBAABgAEBAYABPQQAAYABAQGgARkEAAGAAQEBswGBBAABgAEB - AYEBwQQAAYABAQGAAcMEAAGAAQEBhAEHBAABgAEBAY4BHwQAAYABAQGfAf8EAAT/BAAL + Af8BtwGEAU4B/QgAAbYBZgEpAf8DMQFPAy0BRgMtAUUDBwEJBAADFQEdCAADFQEdBAADEwEaAT0CPAFo + AwkBDAQAAV0BaQFfAf8B7gH4Ae8B/wGkAdsBvAH/AYwBygGmAf8BmAHVAbEB/wGGAckBoQH/AW8BrQHA + Af8BUQGHAcYB/wGDAcIBtgH/AXIBrAGvAf8BZAFrAesB/wGBAcUBowH/AYwB0AGmAf8BhQHKAaAB/wHS + AekB1wH/AV8BagFiAf9EAAHZAaQBdgH/AfkB8wHuAf8B6wHSAb4F/wHrAdMBvw3/AeoBxwGtDf8B8AHi + AdgB/wHGAYwBWwH/CAABtwFnASkB/wMSARkDTgGZAV0BWgFWAeIBVAFaAVAB7QE9AjwBaBAAAwYBCAJa + AVYB3gNMAZMIAAFcAWkBXwH/AewB9wHuAf8BlgHbAa8B/wGBAckBmgH/AY8B2AGqAf8BdQHIAZcB/wGK + AdYBqQH/AVoBogGsAf8BUAGIAdcB/wFDAVgB4AH/AXQBqAHJAf8BgQHJAZkB/wGHAdABoAH/AYEBygGa + Af8B1gHuAdoB/wFfAWoBYQH/RAAB3QGoAYEB/wH5AfMB7wH/AesB0AG6Af8B6wHQAbsB/wHrAdABuwH/ + AesB0AG7Af8B6wHQAbsB/wHrAdEBvQH/AeoBzQG1Af8B6gHNAbUB/wHqAc0BtQH/AeoBzQG1Af8B8AHi + AdgB/wHGAYoBWAH/CAABuQFpASoB/wMqAUAIAAFOAk0BlgFTAWIBTQHxA1EBogMJAQwIAAFJAkgBiAFQ + AWIBSwHvDAABXAFpAV4B/wH3AfsB+AH/AZsB3gHEAf8BbgHDAZMB/wGBAc8BnwH/AWoBwQGPAf8BgQHO + AZ0B/wFpAb8BjAH/AWsBpAG7Af8BQwFTAdoB/wFHAXcB0QH/AUwBjQG2Af8BbgG+AZ0B/wFvAcMBjwH/ + AdcB7wHaAf8BXwFqAWEB/0QAAd8BqgGCAf8B+QHzAe8B/wHqAc4BtwX/AesB0AG7Df8B6gHPAboB/wH7 + AfYB8gn/AfAB4gHYAf8ByAGNAVsB/wgAAbsBagErAf8DNAFUAxEBFwgAAy8BSgFXAV8BVQHoAV8BXgFa + AeABVQJTAa0BWQJWAb4BUQFmAUQB9AM5AV8EAAMTARoEAAFcAWkBXgH/AfgB/AH5Af8BvAL7Af8BnQHn + Ad8B/wGTAeEBuwH/AXIByQGXAf8BiQHaAakB/wFwAcYBmAH/AWwBdwHzAf8BZgGuAa0B/wGCAeEB3QH/ + AVMBpwHhAf8BUQGMAeYB/wFcAZ8BvQH/AdAB6QHbAf8BXwFqAWEB/0QAAeEBrgGHAf8B+gH0AfAB/wHq + AcsBsgH/AeoBzAGzAf8B6gHMAbMB/wHqAcwBswH/AeoBzAGzAf8B6gHOAbcB/wHoAccBrAH/AegBxwGs + Af8B6AHIAbAB/wHoAcgBrgH/AfAB4gHYAf8BxAGGAVAB/wgAAb0BawEsAf8DMQFPAVsBVgFhAdwMAAND + AXcBTwJOAZcDWQHMA1oBzQM1AVcIAAFUAlMBsAQAAVsBaAFeAf8B+AH8AfgB/wGkAesB7QH/AY0C3wH/ + AZcC6wH/AW0BzwG3Af8BbwHKAZkB/wFRAYMBsAH/AVsBcwHXAf8BTAHDAbYB/wGQAdUBzQH/AUsCxgH/ + AYEB0AHdAf8BXwGZAdsB/wHKAeQB3AH/AV8BagFhAf9EAAHjAbEBjAH/AfoB9gHxAf8B6gHJAa4F/wHq + AckBsA3/AegBxwGsDf8B8QHlAdsB/wHGAYYBUQH/CAABvgFtASwB/wMgAS8BGQESAeMB/gNIAYYDSAGE + AeABUwEAAf8BvgFKARAB/QHJAVgBCAH+AzUBVxAAAS0BJgGzAfoEAAFbAWgBXQH/AfgB/AH4Af8BrwL6 + Af8BlALrAf8BogH5AfoB/wGKAeoB6wH/AZUB7QHzAf8BVAFaAesB/wGHAdkB5gH/AVcB0gHRAf8B3AHb + AckB/wGsAdQBzQH/AZcB2gHUAf8BcgHRAc4B/wHUAe8B2wH/AV8BagFgAf9EAAHlAbQBjwH/AfoB9gHy + Af8B6QHGAaoB/wHpAcYBrAH/AeoBxwGsAf8B6QHHAa0B/wHpAckBrgH/AekByQGwAf8B6AHHAawB/wHp + AckBsAH/AegByAGwAf8B6AHMAbUB/wHyAecB3gH/AcgBigFVAf8IAAHAAW4BLgH/BAABUQJPAaUBJAEh + Ab8B+wGNAVEBPQH3A0wBkgMCAQMBVwJWAbgBoAFcASsB+AFGAkUBfggAA1gBwAFOAUUBeQHwBAABWwFo + AVwB/wH4AfwB+AH/AZ8C8QH/AYEB3QHfAf8BigHqAesB/wFwAt4B/wFgAZEB7gH/AVABgQHiAf8BYwHc + Ad0B/wFyAb8BtwH/AeUByAGyAf8B2gG6AaMB/wHeAbwBpgH/AdkBtwGfAf8B1gHtAdgB/wFfAWoBXwH/ + RAAB5wG3AZQB/wH7AfcB9AH/AekBwwGmBf8B6AHEAakN/wHoAccBrA3/AfcB8QHrAf8BywGPAVsB/wgA + AcIBbwEuAf8IAAFBAS8B0QH+AUcBQQGhAfkMAAFTAlIBqAG2AV8BIgH7AVECUAGfAxoBJQEyAS8B9gH/ + AU8CTgGXBAABWgFoAVwB/wH4AfwB+AH/AaYC+QH/AYsB6QHqAf8BmQH4AfoB/wFzAdMB6wH/AWABZgL/ + AXIB3AHqAf8BawHfAd4B/wHBAcUBtQH/AfEB0QG6Af8B5QHBAakB/wHqAccBrgH/AeQBvQGhAf8B1gHt + AdcB/wFeAWoBXwH/RAAB6QG6AZgB/wH7AfcB9AH/AekBwwGmAf8B6QHDAaYB/wHpAcMBpgH/AekBwwGm + Af8B6QHDAaYB/wHpAcMBpgH/AekBwwGmAf8B6QHDAaYB/wHpAcMBpgH/AekBwwGmAf8B+wH3AfQB/wHO + AZMBYAH/CAABwwFvAS8B/wMVAR0DSgGKAZYBTQFQAfoBUQE7AaEB9wFOAk0BlQwAA0oBjQG+AW0BQAH9 + AbcBYAEyAfsBqQFqAUEB+QHIAX8BQgH+BAABWgFoAVwB/wH4AfwB+AH/AZAC6gH/AXMB3QHeAf8BgQHp + AeoB/wFJAWYB4gH/AV4BnQHuAf8BWQLXAf8BVgHLAckB/wHUAbABlwH/AeIBugGfAf8B1gGsAY8B/wHb + AbABkQH/AdQBpwGGAf8B1gHtAdcB/wFeAWkBXwH/RAAB6wG9AZsB/wH7AfcB9Cn/AfsB9wH0Af8B0QGX + AWYB/wgAAcQBcAEwAf8DAgEDAaoBagE7AfkDVgG2AUkCSAGHAUcBQgHaAf4DKAE8CAADGAEiAVcBUAGA + AfEBTQFIAZAB9gFHAkYBgAgAAVoBaAFcAf8B9wH8AfgB/wGfAvkB/wGFAekB6gH/AYQB0wH6Af8BTQFV + AfAB/wGHAfIB9wH/AVsB2gHXAf8BmAHVAcoB/wHgAbcBnAH/Ae0BxwGpAf8B4AGzAZQB/wHmAbgBmAH/ + Ad4BrgGMAf8B1wHsAdYB/wFeAWkBXwH/RAAB7AG/AZ4B/wH7AfcB9AH/AZwB1QGlAf8BmAHTAaEB/wGU + AdABnQH/AZABzgGYAf8BiwHLAZMB/wGHAckBjgH/AYIBxgGJAf8BgQHDAYQB/wF2AcEBgQH/AXIBvgGA + Af8B+wH3AfQB/wHUAZsBawH/CAABxQFxATAB/wMjATMBvgGDAUAB/QMHAQkEAAFbAlkBwwJNAa4B+gFd + AloBygFeAVgBXgHdAVcBTQG6AfsBXQFXAWEB4gMYASIMAAFaAWgBWwH/AfcB/AH4Af8BigLqAf8BbQHd + Ad4B/wFRAWAB8AH/AVEBnwHfAf8BbgLoAf8BQQLBAf8CuwGlAf8B0AGkAYMB/wHeAbABjgH/AdEBngF1 + Af8B1gGiAXUB/wHPAZgBbAH/AdcB6wHVAf8BXQFpAV8B/0QAAXgBZwFgAesB+wH3AfQB/wH7AfcB9AH/ + AfsB9wH0Af8B+wH3AfQB/wH7AfcB9AH/AfsB9wH0Af8B+wH3AfQB/wH7AfcB9AH/AfsB9wH0Af8B+wH3 + AfQB/wH7AfcB9AH/AfsB9wH0Af8BnQF5AVwB+AgAAcYBcgEwAf8DPAFmAVICUQGnDAADSgGKAV8BWgFh + AeADWgHTAzgBXhQAAVoBaAFbAf8B9wH8AfgB/wGdAvkB/wFnAbQB7QH/AV0BbAH+Af8BgQHnAekB/wGM + AvQB/wFNAs0B/wHsAcIBpAH/Ad0BrQGKAf8B6wG6AZcB/wHdAacBgQH/AeIBqwGDAf8B2gGgAXAB/wHZ + AeoB1AH/AVwBaQFfAf9EAAFGAkUBfgFmAV8BWAHjAe0BwAGfAf8B6wG+AZ0B/wHrAbwBmgH/AekBugGW + Af8B5wG3AZMB/wHmAbUBkAH/AeQBsgGMAf8B4gGvAYgB/wHgAawBhAH/Ad0BqQGBAf8B3AGlAYEB/wFd + AloByggAAcYBcgEwAf8DNAFUNAABVwFlAVgB/wH7AfwB+wH/AfwB/gH8Af8B9wH8AfgB/wH3AfwB+AH/ + AfcB/AH4Af8B+AH8AfgB/wH3AfwB+QH/AfgB/AH4Af8B+AH8AfgB/wHsAfcB7gH/Ae0B9wHuAf8B7wH2 + Ae0B/wHuAfQB7AH/AesB9AHrAf8BWQFlAVoB/8AAA1cBvQFXAWUBWAH/AVoBaAFbAf8BWgFoAVsB/wFa + AWgBWwH/AVoBaAFbAf8BWgFoAVwB/wFaAWgBXAH/AVoBaAFcAf8BWgFoAVwB/wFbAWgBXAH/AVsBaAFd + Af8BWwFoAV0B/wFbAWgBXgH/AVkBZQFaAf8BWQJXAb1AAAFCAU0BPgcAAT4DAAEoAwABQAMAARADAAEB + AQABAQUAAYAXAAP/AQAE/wQAAYABAQGAAQEEAAGAAQEBggHRBAABgAEBAYEB4wQAAYABAQGYAWcEAAGA + AQEBjAEFBAABgAEBAY4BDQQAAYABAQGAAT0EAAGAAQEBoAEZBAABgAEBAbMBgQQAAYABAQGBAcEEAAGA + AQEBgAHDBAABgAEBAYQBBwQAAYABAQGOAR8EAAGAAQEBnwH/BAAE/wQACw== @@ -506,33 +526,6 @@ $this - 1 - - - True - - - 552, 470 - - - 66, 17 - - - 6 - - - Voorbeeld - - - checkBoxExample - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - 0 Index: Core/Common/src/Core.Common.Gui/GuiCommandHandler.cs =================================================================== diff -u -r1f79b34c12554e2b9878f6296168d18232cc9852 -rd1e069321cba9d3b92f873fdd18e393a20659542 --- Core/Common/src/Core.Common.Gui/GuiCommandHandler.cs (.../GuiCommandHandler.cs) (revision 1f79b34c12554e2b9878f6296168d18232cc9852) +++ Core/Common/src/Core.Common.Gui/GuiCommandHandler.cs (.../GuiCommandHandler.cs) (revision d1e069321cba9d3b92f873fdd18e393a20659542) @@ -392,11 +392,6 @@ selectDataDialog.AddItemType(dataItemInfo.Name, dataItemInfo.Category, dataItemInfo.Image, dataItemInfo); } - if (dataItemInfos.Any()) - { - selectDataDialog.ItemSupportsExample = name => dataItemInfos.First(i => i.Name == name).AddExampleData != null; - } - return selectDataDialog; } @@ -422,14 +417,7 @@ return null; } - var newDataObject = dataItemInfo.CreateData != null ? dataItemInfo.CreateData(parent) : null; - - if (selectDataDialog.IsExample) - { - dataItemInfo.AddExampleData(newDataObject); - } - - return newDataObject; + return dataItemInfo.CreateData != null ? dataItemInfo.CreateData(parent) : null; } public void AddItemToProject(object newItem) Index: Core/Common/test/Core.Common.Base.Test/Plugin/DataItemInfoTest.cs =================================================================== diff -u -r6016a9db20f1833086b35bc6aedcb2b0a3efe19d -rd1e069321cba9d3b92f873fdd18e393a20659542 --- Core/Common/test/Core.Common.Base.Test/Plugin/DataItemInfoTest.cs (.../DataItemInfoTest.cs) (revision 6016a9db20f1833086b35bc6aedcb2b0a3efe19d) +++ Core/Common/test/Core.Common.Base.Test/Plugin/DataItemInfoTest.cs (.../DataItemInfoTest.cs) (revision d1e069321cba9d3b92f873fdd18e393a20659542) @@ -20,7 +20,6 @@ Assert.IsNull(info.Image); Assert.IsNull(info.AdditionalOwnerCheck); Assert.IsNull(info.CreateData); - Assert.IsNull(info.AddExampleData); } [Test] @@ -36,14 +35,12 @@ Assert.IsNull(info.Image); Assert.IsNull(info.AdditionalOwnerCheck); Assert.IsNull(info.CreateData); - Assert.IsNull(info.AddExampleData); } [Test] public void GetSetAutomaticProperties_NonGeneric_ExpectedBehavior() { // setup & call - bool addExampleDataCalled = false; var info = new DataItemInfo { ValueType = typeof(double), @@ -52,9 +49,7 @@ Image = new Bitmap(16, 16), AdditionalOwnerCheck = o => true, CreateData = o => 1.2, - AddExampleData = delegate { addExampleDataCalled = true; } }; - info.AddExampleData(null); // assert Assert.AreEqual(typeof(double), info.ValueType); @@ -63,24 +58,20 @@ Assert.IsNotNull(info.Image); Assert.IsTrue(info.AdditionalOwnerCheck(null)); Assert.AreEqual(1.2, info.CreateData(null)); - Assert.IsTrue(addExampleDataCalled); } [Test] public void GetSetAutomaticProperties_Generic_ExpectedBehavior() { // setup & call - bool addExampleDataNotCalled = true; var info = new DataItemInfo { Name = "Some integer", Category = "Better category", Image = new Bitmap(16, 16), AdditionalOwnerCheck = o => false, CreateData = o => -1, - AddExampleData = delegate { addExampleDataNotCalled = false; } }; - info.AddExampleData(1); // assert Assert.AreEqual(typeof(int), info.ValueType); @@ -89,22 +80,19 @@ Assert.IsNotNull(info.Image); Assert.IsFalse(info.AdditionalOwnerCheck(null)); Assert.AreEqual(-1, info.CreateData(null)); - Assert.IsFalse(addExampleDataNotCalled); } [Test] public void ImplicitConversion_FromGenericToNonGeneric_ShouldCopyValues() { // setup - bool addExampleDataCalled = false; var info = new DataItemInfo { Name = "Some integer", Category = "Better category", Image = new Bitmap(16, 16), AdditionalOwnerCheck = o => false, CreateData = o => -1, - AddExampleData = delegate { addExampleDataCalled = true; } }; // call @@ -116,8 +104,6 @@ Assert.AreEqual(info.Category, nonGenericInfo.Category); Assert.AreEqual(info.AdditionalOwnerCheck(1), nonGenericInfo.AdditionalOwnerCheck(1)); Assert.AreEqual(info.CreateData(null), nonGenericInfo.CreateData(null)); - nonGenericInfo.AddExampleData(1); - Assert.IsTrue(addExampleDataCalled); } [Test] @@ -140,7 +126,6 @@ Assert.AreEqual(info.Category, nonGenericInfo.Category); Assert.IsNull(nonGenericInfo.AdditionalOwnerCheck); Assert.IsNull(nonGenericInfo.CreateData); - Assert.IsNull(nonGenericInfo.AddExampleData); } } } \ No newline at end of file Index: Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/RingtoetsApplicationPluginTest.cs =================================================================== diff -u -r1f79b34c12554e2b9878f6296168d18232cc9852 -rd1e069321cba9d3b92f873fdd18e393a20659542 --- Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/RingtoetsApplicationPluginTest.cs (.../RingtoetsApplicationPluginTest.cs) (revision 1f79b34c12554e2b9878f6296168d18232cc9852) +++ Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/RingtoetsApplicationPluginTest.cs (.../RingtoetsApplicationPluginTest.cs) (revision d1e069321cba9d3b92f873fdd18e393a20659542) @@ -43,15 +43,13 @@ TestHelper.AssertImagesAreEqual(RingtoetsFormsResources.AssessmentSectionFolderIcon, dikeAssessmentSectionDataItemDefinition.Image); Assert.IsNull(dikeAssessmentSectionDataItemDefinition.AdditionalOwnerCheck); Assert.IsInstanceOf(dikeAssessmentSectionDataItemDefinition.CreateData(new Project())); - Assert.IsNull(dikeAssessmentSectionDataItemDefinition.AddExampleData); DataItemInfo duneAssessmentDataItemDefinition = dataItemDefinitions.Single(did => did.ValueType == typeof(DuneAssessmentSection)); Assert.AreEqual("Duintraject", duneAssessmentDataItemDefinition.Name); Assert.AreEqual("Algemeen", duneAssessmentDataItemDefinition.Category); TestHelper.AssertImagesAreEqual(RingtoetsFormsResources.AssessmentSectionFolderIcon, duneAssessmentDataItemDefinition.Image); Assert.IsNull(duneAssessmentDataItemDefinition.AdditionalOwnerCheck); Assert.IsInstanceOf(duneAssessmentDataItemDefinition.CreateData(new Project())); - Assert.IsNull(duneAssessmentDataItemDefinition.AddExampleData); } [Test]