diff --git a/KB-Samples/LargeDiagram/Components/App.razor b/KB-Samples/LargeDiagram/Components/App.razor new file mode 100644 index 00000000..f89f0045 --- /dev/null +++ b/KB-Samples/LargeDiagram/Components/App.razor @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/KB-Samples/LargeDiagram/Components/Layout/MainLayout.razor b/KB-Samples/LargeDiagram/Components/Layout/MainLayout.razor new file mode 100644 index 00000000..f170e386 --- /dev/null +++ b/KB-Samples/LargeDiagram/Components/Layout/MainLayout.razor @@ -0,0 +1,9 @@ +@inherits LayoutComponentBase + +
+
+
+ @Body +
+
+
diff --git a/KB-Samples/LargeDiagram/Components/Layout/MainLayout.razor.css b/KB-Samples/LargeDiagram/Components/Layout/MainLayout.razor.css new file mode 100644 index 00000000..08472038 --- /dev/null +++ b/KB-Samples/LargeDiagram/Components/Layout/MainLayout.razor.css @@ -0,0 +1,98 @@ +.page { + position: relative; + display: flex; + flex-direction: column; +} + +main { + flex: 1; +} + +.sidebar { + background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%); +} + +.top-row { + background-color: #f7f7f7; + border-bottom: 1px solid #d6d5d5; + justify-content: flex-end; + height: 3.5rem; + display: flex; + align-items: center; +} + +.top-row ::deep a, .top-row ::deep .btn-link { + white-space: nowrap; + margin-left: 1.5rem; + text-decoration: none; +} + +.top-row ::deep a:hover, .top-row ::deep .btn-link:hover { + text-decoration: underline; +} + +.top-row ::deep a:first-child { + overflow: hidden; + text-overflow: ellipsis; +} + +@media (max-width: 640.98px) { + .top-row { + justify-content: space-between; + } + + .top-row ::deep a, .top-row ::deep .btn-link { + margin-left: 0; + } +} + +@media (min-width: 641px) { + .page { + flex-direction: row; + } + + .sidebar { + width: 250px; + height: 100vh; + position: sticky; + top: 0; + } + + .top-row { + position: sticky; + top: 0; + z-index: 1; + } + + .top-row.auth ::deep a:first-child { + flex: 1; + text-align: right; + width: 0; + } + + .top-row, article { + padding-left: 2rem !important; + padding-right: 1.5rem !important; + } +} + +#blazor-error-ui { + color-scheme: light only; + background: lightyellow; + bottom: 0; + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2); + box-sizing: border-box; + display: none; + left: 0; + padding: 0.6rem 1.25rem 0.7rem 1.25rem; + position: fixed; + width: 100%; + z-index: 1000; +} + +#blazor-error-ui .dismiss { + cursor: pointer; + position: absolute; + right: 0.75rem; + top: 0.5rem; +} diff --git a/KB-Samples/LargeDiagram/Components/Pages/DiagramFeatures.razor b/KB-Samples/LargeDiagram/Components/Pages/DiagramFeatures.razor new file mode 100644 index 00000000..7c0d3b0f --- /dev/null +++ b/KB-Samples/LargeDiagram/Components/Pages/DiagramFeatures.razor @@ -0,0 +1,350 @@ +@page "/" + +@using Syncfusion.Blazor.Diagram +@using Syncfusion.Blazor.Diagram.SymbolPalette +@using Syncfusion.Blazor.Buttons +@using Microsoft.JSInterop +@using Syncfusion.Blazor.Navigations +@using Syncfusion.Blazor.Inputs +@rendermode InteractiveServer +@using LargeDiagram.Components.Pages +@inject IJSRuntime jsRuntime + +
+
+ +
+ + +
+ + +
+ + + +
+ + +
+ Save + Load + + + + + +
+
+ + +
+ +@code { + //Reference to uploder + SfUploader uploadFiles; + SfDiagramComponent diagram; + private string fileName; + // Method to customize the tool + public InteractionControllerBase GetCustomTool(DiagramElementAction action, string id) + { + InteractionControllerBase tool = null; + if (id == "Draw") + { + tool = new DrawTool(diagram); + } + else + { + tool = new AddDeleteTool(diagram); + } + return tool; + } + // Custom tool to delete the node. + public class AddDeleteTool : InteractionControllerBase + { + SfDiagramComponent sfDiagram; + Node deleteObject = null; + public AddDeleteTool(SfDiagramComponent Diagram) : base(Diagram) + { + sfDiagram = Diagram; + } + public override void OnMouseDown(DiagramMouseEventArgs args) + { + if (sfDiagram.SelectionSettings.Nodes.Count > 0 && ((sfDiagram.SelectionSettings.Nodes[0]) is Node)) + { + deleteObject = (sfDiagram.SelectionSettings.Nodes[0]) as Node; + } + base.OnMouseDown(args); + } + public override void OnMouseUp(DiagramMouseEventArgs args) + { + if (deleteObject != null) + { + sfDiagram.StartGroupAction(); + sfDiagram.BeginUpdate(); + sfDiagram.Nodes.Remove(deleteObject); + _ = sfDiagram.EndUpdateAsync(); + sfDiagram.EndGroupAction(); + } + base.OnMouseUp(args); + this.InAction = true; + } + } + public class DrawTool : ConnectorDrawingController + { + SfDiagramComponent sfDiagram; + Connector newConnector = null; + public DrawTool(SfDiagramComponent Diagram) : base(Diagram, DiagramElementAction.ConnectorSourceEnd) + { + sfDiagram = Diagram; + newConnector = new Connector() + { + ID = "OrthogonalConnector", + SourceID = sfDiagram.SelectionSettings.Nodes[0].ID, + Type = ConnectorSegmentType.Orthogonal, + }; + Diagram.InteractionController = DiagramInteractions.DrawOnce; + Diagram.DrawingObject = newConnector; + } + public override void OnMouseDown(DiagramMouseEventArgs args) + { + base.OnMouseDown(args); + } + public override void OnMouseUp(DiagramMouseEventArgs args) + { + base.OnMouseUp(args); + } + } + DiagramObjectCollection Nodes = new DiagramObjectCollection(); + DiagramObjectCollection Connectors = new DiagramObjectCollection(); + private string ExtensionType = ".json"; + //Method to save the diagram + public async Task SaveDiagram() + { + fileName = await jsRuntime.InvokeAsync("getDiagramFileName", ""); + await DownloadDiagram(fileName); + } + + //Method to download the diagram + public async Task DownloadDiagram(string fileName) + { + string data = diagram.SaveDiagram(); + await FileUtil.SaveAs(jsRuntime, data, fileName); + } + + //Method to load the diagram + public async Task LoadDiagram() + { + diagram.BeginUpdate(); + ExtensionType = ".json"; + await FileUtil.Click(jsRuntime); + await diagram.EndUpdateAsync(); + } + string json; + public async Task OnUploadFileSelected(UploadingEventArgs args) + { + if (args.FileData.Type == "json") + { + json = await FileUtil.LoadFile(jsRuntime, args.FileData); + json = json.Replace(System.Environment.NewLine, string.Empty); + await diagram.LoadDiagramAsync(json.ToString()); + await uploadFiles.ClearAllAsync(); + } + } + protected override async Task OnAfterRenderAsync(bool firstRender) + { + SymbolPalette.Targets = new DiagramObjectCollection() { }; + SymbolPalette.Targets.Add(diagram); + } + + private async void OnCreate() + { + json = File.ReadAllText("wwwroot/PathShape.json"); + await diagram.LoadDiagramAsync(json); + } + SymbolMargin SymbolMargin = new SymbolMargin + { + Left = 15, + Right = 15, + Top = 15, + Bottom = 15 + }; + SfSymbolPaletteComponent SymbolPalette; + DiagramObjectCollection Palettes = new DiagramObjectCollection(); + DiagramObjectCollection PaletteNodes = new DiagramObjectCollection(); + DiagramObjectCollection PalettePathNodes = new DiagramObjectCollection(); + + protected override void OnInitialized() + { + InitPaletteModel(); + } + + private void InitPaletteModel() + { + CreatePalettPathNode("Decision"); + CreatePalettPathNode("Process"); + CreatePalettPathNode("Terminator"); + CreatePalettPathNode("Event"); + CreatePalettPathNode("Delay"); + CreatePalettPathNode("Manual-Operation"); + CreatePalettPathNode("Manual-Input"); + CreatePalettPathNode("Data"); + CreatePalettPathNode("Card"); + CreatePaletteNode(NodeBasicShapes.Rectangle, "Rectangle"); + CreatePaletteNode(NodeBasicShapes.Ellipse, "Ellipse"); + CreatePaletteNode(NodeBasicShapes.Diamond, "Diamond"); + CreatePaletteNode(NodeBasicShapes.Rectangle, "Rectangle"); + CreatePaletteNode(NodeBasicShapes.Ellipse, "Ellipse"); + CreatePaletteNode(NodeBasicShapes.Star, "Star"); + Palettes = new DiagramObjectCollection() + { + new Palette(){Symbols = PaletteNodes,Title = "Basic Shapes", ID = "Basic Shapes" }, + new Palette(){Symbols = PalettePathNodes,Title = "Path Shapes", ID = "Path Shapes" }, + }; + } + private void CreatePaletteNode(NodeBasicShapes basicShape, string id) + { + Node node = new Node() + { + ID = id, + Shape = new BasicShape() { Type = NodeShapes.Basic, Shape = basicShape }, + Style = new ShapeStyle() { Fill = "#6495ED", StrokeColor = "#6495ED" }, + }; + PaletteNodes.Add(node); + } + private void CreatePalettPathNode(string id, bool isShadow = false) + { + Node diagramNode = new Node() + { + ID = id, + Style = new ShapeStyle() + { + StrokeColor = "#2847e5", + StrokeWidth = 1, + Gradient = new LinearGradientBrush() + { + X1 = 0, + Y1 = 0, + X2 = 50, + Y2 = 50, + GradientStops = new DiagramObjectCollection() + { + new GradientStop(){ Color = "Black", Offset = 0}, + new GradientStop(){ Color = "#4b1a4d", Offset = 100} + }, + } + }, + Annotations = new DiagramObjectCollection() + { + new ShapeAnnotation() + { + Style = new TextStyle() + { + Color = "White", + FontSize = 16, + Bold = false, + TextOverflow = TextOverflow.Wrap, + TextWrapping = Syncfusion.Blazor.Diagram.TextWrap.WrapWithOverflow + } + } + } + }; + + if (id == "Decision") + { + diagramNode.Shape = new PathShape() { Type = Syncfusion.Blazor.Diagram.NodeShapes.Path, Data = "M 5 45 L 45, 5 Q 50 0 55 5 L 95 45 Q 100 50 95 55 L 55 95 Q 50 100 45 95 L 5 55 Q 0 50 5 45 Z" }; + diagramNode.Width = 100; + diagramNode.Height = 100; + diagramNode.Style.Fill = "#114e0f"; + diagramNode.Style.Gradient!.GradientStops[0].Color = "Black"; + diagramNode.Style.Gradient.GradientStops[1].Color = "#114e0f"; + } + else if (id == "Process") + { + diagramNode.Shape = new PathShape() { Type = Syncfusion.Blazor.Diagram.NodeShapes.Path, Data = "M 5 0 L135 0 Q 140 0 140 5 L 140 65 Q 140 70 135 70 L 5 70 Q 0 70 0 65 L 0 5 Q 0 0 5 0 Z" }; + diagramNode.Width = 140; + diagramNode.Height = 70; + diagramNode.Style.Fill = "#173987"; + diagramNode.Style.Gradient!.GradientStops[0].Color = "Black"; + diagramNode.Style.Gradient.GradientStops[1].Color = "#173987"; + } + else if (id == "Terminator") + { + diagramNode.Shape = new PathShape() { Type = Syncfusion.Blazor.Diagram.NodeShapes.Path, Data = "M 20 0 L 120 0 Q 140 0 140 20 Q 140 40 120 40 L 20 40 Q 0 40 0 20 Q 0 0 20 0 Z" }; + diagramNode.Width = 140; + diagramNode.Height = 40; + diagramNode.Style.Fill = "#405176"; + diagramNode.Style.Gradient!.GradientStops[0].Color = "Black"; + diagramNode.Style.Gradient.GradientStops[1].Color = "#405176"; + } + else if (id == "Event") + { + diagramNode.Shape = new PathShape() { Type = Syncfusion.Blazor.Diagram.NodeShapes.Path, Data = "M 20 0 L 120 0 Q 140 0 140 20 L 140 50 Q 140 70 120 70 L 20 70 Q 0 70 0 50 L 0 20 Q 0 0 20 0 Z" }; + diagramNode.Width = 140; + diagramNode.Height = 70; + diagramNode.Style.Fill = "#173987"; + diagramNode.Style.Gradient!.GradientStops[0].Color = "Black"; + diagramNode.Style.Gradient.GradientStops[1].Color = "#173987"; + } + else if (id == "Delay") + { + diagramNode.Shape = new PathShape() { Type = Syncfusion.Blazor.Diagram.NodeShapes.Path, Data = "M 0 0 L 105 0 Q 140 0 140 35 Q 140 70 105 70 L 0 70 L 0 0 Z" }; + diagramNode.Width = 140; + diagramNode.Height = 70; + diagramNode.Style.Fill = "#493e13"; + diagramNode.Style.Gradient!.GradientStops[0].Color = "Black"; + diagramNode.Style.Gradient.GradientStops[1].Color = "#493e13"; + } + else if (id == "Manual-Operation") + { + diagramNode.Shape = new PathShape() { Type = Syncfusion.Blazor.Diagram.NodeShapes.Path, Data = "M 0 0 L 140 0 L 115 70 L 25 70 L 0 0 Z" }; + diagramNode.Width = 140; + diagramNode.Height = 70; + diagramNode.Style.Fill = "#310031"; + diagramNode.Style.Gradient!.GradientStops[0].Color = "Black"; + diagramNode.Style.Gradient.GradientStops[1].Color = "#310031"; + } + else if (id == "Manual-Input") + { + diagramNode.Shape = new PathShape() { Type = Syncfusion.Blazor.Diagram.NodeShapes.Path, Data = "M 140 0 L 140 60 Q 140 70 120 70 L 10 70 Q 0 70 0 60 L 0 35 L 140 0 Z" }; + diagramNode.Width = 140; + diagramNode.Height = 70; + diagramNode.Style.Fill = "#4b1a4d"; + diagramNode.Style.Gradient!.GradientStops[0].Color = "Black"; + diagramNode.Style.Gradient.GradientStops[1].Color = "#4b1a4d"; + } + else if (id == "Data") + { + diagramNode.Shape = new PathShape() { Type = Syncfusion.Blazor.Diagram.NodeShapes.Path, Data = "M 20 0 L 140 0 L 120 70 L 0 70 L 2 0 Z" }; + diagramNode.Width = 140; + diagramNode.Height = 70; + diagramNode.Style.Fill = "#5a1414"; + diagramNode.Style.Gradient!.GradientStops[0].Color = "Black"; + diagramNode.Style.Gradient.GradientStops[1].Color = "#5a1414"; + } + else if (id == "Card") + { + diagramNode.Shape = new PathShape() { Type = Syncfusion.Blazor.Diagram.NodeShapes.Path, Data = "M 35 0 L 130 0 Q 140 0 140 10 L 140 60 Q 140 70 130 70 L 10 70 Q 0 70 0 60 L 0 35 L 35 0 Z" }; + diagramNode.Width = 140; + diagramNode.Height = 70; + diagramNode.Style.Fill = "#68682f"; + diagramNode.Style.Gradient!.GradientStops[0].Color = "Black"; + diagramNode.Style.Gradient.GradientStops[1].Color = "#68682f"; + } + + // Add shadow effect if requested + if (isShadow) + { + diagramNode.Shadow = new Shadow() + { + Angle = 45, + Color = "lightgrey", + Distance = 5, + Opacity = 0.7 + }; + } + PalettePathNodes.Add(diagramNode); + } +} + diff --git a/KB-Samples/LargeDiagram/Components/Pages/FileUtil.cs b/KB-Samples/LargeDiagram/Components/Pages/FileUtil.cs new file mode 100644 index 00000000..23f4614d --- /dev/null +++ b/KB-Samples/LargeDiagram/Components/Pages/FileUtil.cs @@ -0,0 +1,25 @@ +using Microsoft.JSInterop; + +namespace LargeDiagram.Components.Pages +{ + + public class FileUtil + { + public async static Task SaveAs(IJSRuntime js, string data, string fileName) + { + await js.InvokeAsync( + "saveDiagram", + Convert.ToString(data), fileName).ConfigureAwait(true); + } + public async static Task Click(IJSRuntime js) + { + await js.InvokeAsync( + "click").ConfigureAwait(true); + } + public async static Task LoadFile(IJSRuntime js, object data) + { + return await js.InvokeAsync( + "loadFile", data).ConfigureAwait(true); + } + } +} diff --git a/KB-Samples/LargeDiagram/Components/Routes.razor b/KB-Samples/LargeDiagram/Components/Routes.razor new file mode 100644 index 00000000..f756e19d --- /dev/null +++ b/KB-Samples/LargeDiagram/Components/Routes.razor @@ -0,0 +1,6 @@ + + + + + + diff --git a/KB-Samples/LargeDiagram/Components/_Imports.razor b/KB-Samples/LargeDiagram/Components/_Imports.razor new file mode 100644 index 00000000..3bc18618 --- /dev/null +++ b/KB-Samples/LargeDiagram/Components/_Imports.razor @@ -0,0 +1,11 @@ +@using System.Net.Http +@using System.Net.Http.Json +@using Microsoft.AspNetCore.Components.Forms +@using Microsoft.AspNetCore.Components.Routing +@using Microsoft.AspNetCore.Components.Web +@using static Microsoft.AspNetCore.Components.Web.RenderMode +@using Microsoft.AspNetCore.Components.Web.Virtualization +@using Microsoft.JSInterop +@using LargeDiagram +@using LargeDiagram.Components +@using Syncfusion.Blazor \ No newline at end of file diff --git a/KB-Samples/LargeDiagram/LargeDiagram.csproj b/KB-Samples/LargeDiagram/LargeDiagram.csproj new file mode 100644 index 00000000..ca83c5bc --- /dev/null +++ b/KB-Samples/LargeDiagram/LargeDiagram.csproj @@ -0,0 +1,19 @@ + + + + net9.0 + enable + enable + + + + + + + + + + + + + diff --git a/KB-Samples/LargeDiagram/LargeDiagram.csproj.user b/KB-Samples/LargeDiagram/LargeDiagram.csproj.user new file mode 100644 index 00000000..9ff5820a --- /dev/null +++ b/KB-Samples/LargeDiagram/LargeDiagram.csproj.user @@ -0,0 +1,6 @@ + + + + https + + \ No newline at end of file diff --git a/KB-Samples/LargeDiagram/Program.cs b/KB-Samples/LargeDiagram/Program.cs new file mode 100644 index 00000000..3524f292 --- /dev/null +++ b/KB-Samples/LargeDiagram/Program.cs @@ -0,0 +1,35 @@ +using LargeDiagram; +using LargeDiagram.Components; +using Syncfusion.Blazor; +using System.Globalization; +using Microsoft.JSInterop; + +var builder = WebApplication.CreateBuilder(args); + +// Add services to the container. +builder.Services.AddRazorComponents() + .AddInteractiveServerComponents(); +builder.Services.AddSyncfusionBlazor(); +builder.Services.AddControllers(); +builder.Services.AddServerSideBlazor().AddHubOptions(o => +{ + o.MaximumReceiveMessageSize = 102400000; // Increased limit to handle large JSON data +}); + +var app = builder.Build(); +if (!app.Environment.IsDevelopment()) +{ + app.UseExceptionHandler("/Error", createScopeForErrors: true); + app.UseHsts(); +} + +app.UseHttpsRedirection(); + +app.UseAntiforgery(); + +app.MapStaticAssets(); +app.MapRazorComponents() + .AddInteractiveServerRenderMode(); + +app.MapControllers(); +app.Run(); diff --git a/KB-Samples/LargeDiagram/Properties/launchSettings.json b/KB-Samples/LargeDiagram/Properties/launchSettings.json new file mode 100644 index 00000000..50d45b10 --- /dev/null +++ b/KB-Samples/LargeDiagram/Properties/launchSettings.json @@ -0,0 +1,38 @@ +{ + "profiles": { + "http": { + "commandName": "Project", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + }, + "dotnetRunMessages": true, + "applicationUrl": "http://localhost:5221" + }, + "https": { + "commandName": "Project", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + }, + "dotnetRunMessages": true, + "applicationUrl": "https://localhost:7253;http://localhost:5221" + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + }, + "$schema": "https://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:62063/", + "sslPort": 44393 + } + } +} \ No newline at end of file diff --git a/KB-Samples/LargeDiagram/appsettings.Development.json b/KB-Samples/LargeDiagram/appsettings.Development.json new file mode 100644 index 00000000..0c208ae9 --- /dev/null +++ b/KB-Samples/LargeDiagram/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/KB-Samples/LargeDiagram/appsettings.json b/KB-Samples/LargeDiagram/appsettings.json new file mode 100644 index 00000000..10f68b8c --- /dev/null +++ b/KB-Samples/LargeDiagram/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/KB-Samples/LargeDiagram/wwwroot/FlowShape.json b/KB-Samples/LargeDiagram/wwwroot/FlowShape.json new file mode 100644 index 00000000..f0fda896 --- /dev/null +++ b/KB-Samples/LargeDiagram/wwwroot/FlowShape.json @@ -0,0 +1 @@ +{ "Tooltip": null, "bridgeDirection": 2, "ID": "QcLWf", "dataSourceSettings": null, "width": "100%", "contextMenuSettings": { "show": true, "items": [ { "iconCss": "e-file", "id": "AddNote", "items": null, "separator": false, "text": "Add Note", "hidden": false, "disabled": false, "url": "" }, { "iconCss": "e-file", "id": "ViewNote", "items": null, "separator": false, "text": "View Note", "hidden": false, "disabled": false, "url": "" }, { "iconCss": "e-search", "id": "MoveToFront", "items": null, "separator": false, "text": "Bring To Front", "hidden": false, "disabled": false, "url": "" }, { "iconCss": "e-search", "id": "MoveForward", "items": null, "separator": false, "text": "Bring Forward", "hidden": false, "disabled": false, "url": "" }, { "iconCss": "e-search", "id": "MoveToBack", "items": null, "separator": false, "text": "Send to Back", "hidden": false, "disabled": false, "url": "" }, { "iconCss": "e-search", "id": "MoveBackward", "items": null, "separator": false, "text": "Send Backward", "hidden": false, "disabled": false, "url": "" } ], "showCustomMenuOnly": false }, "constraints": 1788, "interactionController": 3, "enableChunkMessages": false, "snapSettings": { "verticalGridLines": { "lineColor": "#e0e0e0", "lineDashArray": "", "lineIntervals": [ 1, 9, 0.25, 9.75, 0.25, 9.75, 0.25, 9.75, 0.25, 9.75, 0.25, 9.75, 0.25, 9.75, 0.25, 9.75, 0.25, 9.75, 0.25, 9.75 ], "dotIntervals": [ 1, 19, 0.5, 19.5, 0.5, 19.5, 0.5, 19.5, 0.5, 19.5 ], "snapIntervals": [ 20 ] }, "horizontalGridLines": { "lineColor": "#e0e0e0 ", "lineDashArray": "", "lineIntervals": [ 1, 9, 0.25, 9.75, 0.25, 9.75, 0.25, 9.75, 0.25, 9.75, 0.25, 9.75, 0.25, 9.75, 0.25, 9.75, 0.25, 9.75, 0.25, 9.75 ], "dotIntervals": [ 1, 19, 0.5, 19.5, 0.5, 19.5, 0.5, 19.5, 0.5, 19.5 ], "snapIntervals": [ 20 ] }, "constraints": 31, "snapDistance": 5, "snapAngle": 5, "gridType": 0 }, "connectorSegmentThumb": { "Shape": 0 }, "rulerSettings": null, "pageSettings": { "width": 1123, "height": 794, "orientation": 0, "boundaryConstraints": 0, "multiplePage": false, "showPageBreaks": false, "margin": { "left": 0, "right": 0, "top": 0, "bottom": 0 }, "background": { "imageSource": "", "background": "transparent", "imageScale": 0, "imageAlign": 0 } }, "lineRoutingSettings": { "routingType": 2, "obstaclePadding": 12 }, "scrollSettings": { "horizontalOffset": 0, "enableAutoScroll": false, "autoScrollPadding": { "left": 20, "right": 20, "top": 20, "bottom": 20 }, "scrollPadding": { "left": 0, "right": 0, "top": 0, "bottom": 0 }, "verticalOffset": 0, "currentZoom": 1, "minZoom": 0.2, "maxZoom": 30, "scrollLimit": 0, "ScrollableArea": null }, "height": "100%", "layout": null, "commandManager": { "commands": [] }, "selectedItems": { "width": 0, "height": 0, "offsetX": 0, "offsetY": 0, "rotateAngle": 0, "pivot": { "x": 0.5, "y": 0.5 }, "userHandles": [ { "name": "Delete", "id": "EFyUE", "pathData": "M0.54700077,2.2130003 L7.2129992,2.2130003 7.2129992,8.8800011 C7.2129992,9.1920013 7.1049975,9.4570007 6.8879985,9.6739998 6.6709994,9.8910007 6.406,10 6.0939997,10 L1.6659999,10 C1.3539997,10 1.0890004,9.8910007 0.87200136,9.6739998 0.65500242,9.4570007 0.54700071,9.1920013 0.54700077,8.8800011 z M2.4999992,0 L5.2600006,0 5.8329986,0.54600048 7.7599996,0.54600048 7.7599996,1.6660004 0,1.6660004 0,0.54600048 1.9270014,0.54600048 z", "source": null, "imageUrl": null, "backgroundColor": "black", "side": 3, "borderColor": "", "borderWidth": 0.5, "size": 25, "pathColor": "white", "displacement": 10, "visible": true, "offset": 0.5, "margin": { "left": 0, "right": 0, "top": 0, "bottom": 0 }, "VisibleTarget": 1, "horizontalAlignment": 3, "verticalAlignment": 3, "Template": false, "tooltip": null }, { "name": "Draw", "id": "CGZhP", "pathData": "M3.9730001,0 L8.9730001,5.0000007 3.9730001,10.000001 3.9730001,7.0090005 0,7.0090005 0,2.9910006 3.9730001,2.9910006 z", "source": null, "imageUrl": null, "backgroundColor": "black", "side": 1, "borderColor": "", "borderWidth": 0.5, "size": 25, "pathColor": "white", "displacement": 10, "visible": true, "offset": 0.5, "margin": { "left": 0, "right": 0, "top": 0, "bottom": 0 }, "VisibleTarget": 1, "horizontalAlignment": 3, "verticalAlignment": 3, "Template": false, "tooltip": null } ], "rubberBandSelectionMode": 0, "constraints": 16382, "canToggleSelection": false }, "drawingObject": "{ \u0022constraints\u0022: 144958, \u0022sourcePoint\u0022: { \u0022x\u0022: 0, \u0022y\u0022: 0 }, \u0022targetPoint\u0022: { \u0022x\u0022: 0, \u0022y\u0022: 0 }, \u0022shape\u0022: null, \u0022fixedUserHandles\u0022: [], \u0022sourceID\u0022: \u0022Manual-OperationgFHsE\u0022, \u0022targetID\u0022: \u0022\u0022, \u0022sourcePortID\u0022: \u0022\u0022, \u0022targetPortID\u0022: \u0022\u0022, \u0022cornerRadius\u0022: 0, \u0022hitPadding\u0022: 10, \u0022sourcePadding\u0022: 0, \u0022targetPadding\u0022: 0, \u0022connectionPadding\u0022: 0, \u0022bridgeSpace\u0022: 10, \u0022type\u0022: 1, \u0022segments\u0022: [], \u0022SegmentThumbSettings\u0022: { \u0022Shape\u0022: 0 }, \u0022annotations\u0022: [ { \u0022offset\u0022: 0.5, \u0022displacement\u0022: { \u0022x\u0022: 0, \u0022y\u0022: 0 }, \u0022alignment\u0022: 0, \u0022segmentAngle\u0022: false, \u0022id\u0022: \u0022bTtEu\u0022, \u0022content\u0022: \u0022\u0022, \u0022visibility\u0022: true, \u0022constraints\u0022: 4, \u0022UseTemplate\u0022: false, \u0022hyperlink\u0022: null, \u0022width\u0022: null, \u0022height\u0022: null, \u0022rotationAngle\u0022: 0, \u0022style\u0022: { \u0022bold\u0022: false, \u0022color\u0022: \u0022Black\u0022, \u0022fontFamily\u0022: \u0022Arial\u0022, \u0022fontSize\u0022: 12, \u0022italic\u0022: false, \u0022textAlign\u0022: \u0022Center\u0022, \u0022textDecoration\u0022: \u0022None\u0022, \u0022textOverflow\u0022: \u0022Wrap\u0022, \u0022textWrapping\u0022: \u0022WrapWithOverflow\u0022, \u0022fill\u0022: \u0022White\u0022, \u0022gradient\u0022: null, \u0022opacity\u0022: 1, \u0022strokeColor\u0022: \u0022White\u0022, \u0022strokeDashArray\u0022: \u0022\u0022, \u0022strokeWidth\u0022: 4 }, \u0022horizontalAlignment\u0022: 3, \u0022verticalAlignment\u0022: 3, \u0022margin\u0022: { \u0022left\u0022: 0, \u0022right\u0022: 0, \u0022top\u0022: 0, \u0022bottom\u0022: 0 }, \u0022additionalInfo\u0022: {} } ], \u0022style\u0022: { \u0022fill\u0022: \u0022white\u0022, \u0022gradient\u0022: null, \u0022opacity\u0022: 1, \u0022strokeColor\u0022: \u0022black\u0022, \u0022strokeDashArray\u0022: \u0022\u0022, \u0022strokeWidth\u0022: 1 }, \u0022sourceDecorator\u0022: { \u0022width\u0022: 10, \u0022height\u0022: 10, \u0022shape\u0022: 1, \u0022pathData\u0022: \u0022\u0022, \u0022pivot\u0022: { \u0022x\u0022: 0, \u0022y\u0022: 0.5 }, \u0022style\u0022: { \u0022fill\u0022: \u0022black\u0022, \u0022gradient\u0022: null, \u0022opacity\u0022: 1, \u0022strokeColor\u0022: \u0022black\u0022, \u0022strokeDashArray\u0022: \u0022\u0022, \u0022strokeWidth\u0022: 1 } }, \u0022targetDecorator\u0022: { \u0022width\u0022: 10, \u0022height\u0022: 10, \u0022shape\u0022: 0, \u0022pathData\u0022: \u0022\u0022, \u0022pivot\u0022: { \u0022x\u0022: 0, \u0022y\u0022: 0.5 }, \u0022style\u0022: { \u0022fill\u0022: \u0022black\u0022, \u0022gradient\u0022: null, \u0022opacity\u0022: 1, \u0022strokeColor\u0022: \u0022black\u0022, \u0022strokeDashArray\u0022: \u0022\u0022, \u0022strokeWidth\u0022: 1 } }, \u0022BezierConnectorSettings\u0022: { \u0022ControlPointsVisibility\u0022: 14, \u0022SegmentEditOrientation\u0022: 1, \u0022Smoothness\u0022: 6, \u0022AllowSegmentsReset\u0022: true }, \u0022id\u0022: \u0022OrthogonalConnector\u0022, \u0022SearchTags\u0022: [], \u0022tooltip\u0022: null, \u0022zIndex\u0022: -2147483648, \u0022margin\u0022: { \u0022left\u0022: 0, \u0022right\u0022: 0, \u0022top\u0022: 0, \u0022bottom\u0022: 0 }, \u0022isVisible\u0022: true, \u0022canAutoLayout\u0022: true, \u0022additionalInfo\u0022: {}, \u0022flip\u0022: 0, \u0022FlipMode\u0022: 3}", "nodes": [ { "borderColor": "none", "id": "DecisionuGsxG", "parentId": "", "backgroundColor": "transparent", "verticalAlignment": "Top", "horizontalAlignment": "Left", "flip": "None", "constraints": "Default", "isExpanded": true, "canShapeLayout": true, "isVisible": true, "borderWidth": 0, "zIndex": 0, "offsetX": 250, "offsetY": 130, "laneOffsetX": 0, "laneOffsetY": 0, "width": 100, "height": 100, "rotateAngle": 0, "additionalInfo": "{}", "annotations": "[{\u0022offset\u0022:{\u0022x\u0022:0.5,\u0022y\u0022:0.5},\u0022rotationReference\u0022:\u0022Parent\u0022,\u0022id\u0022:\u0022qsomv\u0022,\u0022content\u0022:\u00221\u0022,\u0022visibility\u0022:true,\u0022constraints\u0022:4,\u0022UseTemplate\u0022:false,\u0022hyperlink\u0022:null,\u0022width\u0022:null,\u0022height\u0022:null,\u0022rotationAngle\u0022:0,\u0022style\u0022:{\u0022bold\u0022:false,\u0022color\u0022:\u0022White\u0022,\u0022fontFamily\u0022:\u0022Arial\u0022,\u0022fontSize\u0022:16,\u0022italic\u0022:false,\u0022textAlign\u0022:\u0022Center\u0022,\u0022textDecoration\u0022:\u0022None\u0022,\u0022textOverflow\u0022:\u0022Wrap\u0022,\u0022textWrapping\u0022:\u0022WrapWithOverflow\u0022,\u0022fill\u0022:\u0022transparent\u0022,\u0022gradient\u0022:null,\u0022opacity\u0022:1,\u0022strokeColor\u0022:\u0022transparent\u0022,\u0022strokeDashArray\u0022:\u0022\u0022,\u0022strokeWidth\u0022:1},\u0022horizontalAlignment\u0022:3,\u0022verticalAlignment\u0022:3,\u0022margin\u0022:{\u0022left\u0022:0,\u0022right\u0022:0,\u0022top\u0022:0,\u0022bottom\u0022:0},\u0022additionalInfo\u0022:{}}]", "ports": "[]", "fixedUserHandles": "[]", "inEdges": "[]", "outEdges": "[\u0022OrthogonalConnectorWlhOh\u0022]", "pivot": "{\u0022x\u0022:0.5,\u0022y\u0022:0.5}", "shadow": "{\u0022angle\u0022:45,\u0022color\u0022:\u0022lightgrey\u0022,\u0022distance\u0022:5,\u0022opacity\u0022:0.7}", "shape": "{ \u0022type\u0022: \u0022Path\u0022, \u0022data\u0022: \u0022M 5 45 L 45, 5 Q 50 0 55 5 L 95 45 Q 100 50 95 55 L 55 95 Q 50 100 45 95 L 5 55 Q 0 50 5 45 Z\u0022}", "style": "{\u0022fill\u0022:\u0022#114e0f\u0022,\u0022gradient\u0022:{\u0022type\u0022:\u0022Linear\u0022,\u0022stops\u0022:\u0022[{\\u0022color\\u0022:\\u0022Black\\u0022,\\u0022offset\\u0022:0,\\u0022opacity\\u0022:1},{\\u0022color\\u0022:\\u0022#114e0f\\u0022,\\u0022offset\\u0022:100,\\u0022opacity\\u0022:1}]\u0022,\u0022x1\u0022:0,\u0022y1\u0022:0,\u0022x2\u0022:50,\u0022y2\u0022:50},\u0022opacity\u0022:1,\u0022strokeColor\u0022:\u0022#2847e5\u0022,\u0022strokeDashArray\u0022:\u0022\u0022,\u0022strokeWidth\u0022:1}", "margin": "{\u0022left\u0022:0,\u0022right\u0022:0,\u0022top\u0022:0,\u0022bottom\u0022:0}" }, { "borderColor": "none", "id": "Manual-OperationgFHsE", "parentId": "", "backgroundColor": "transparent", "verticalAlignment": "Top", "horizontalAlignment": "Left", "flip": "None", "constraints": "Default", "isExpanded": true, "canShapeLayout": true, "isVisible": true, "borderWidth": 0, "zIndex": 1, "offsetX": 490, "offsetY": 130, "laneOffsetX": 0, "laneOffsetY": 0, "width": 140, "height": 70, "rotateAngle": 0, "additionalInfo": "{}", "annotations": "[{\u0022offset\u0022:{\u0022x\u0022:0.5,\u0022y\u0022:0.5},\u0022rotationReference\u0022:\u0022Parent\u0022,\u0022id\u0022:\u0022UlOyy\u0022,\u0022content\u0022:\u00222\u0022,\u0022visibility\u0022:true,\u0022constraints\u0022:4,\u0022UseTemplate\u0022:false,\u0022hyperlink\u0022:null,\u0022width\u0022:null,\u0022height\u0022:null,\u0022rotationAngle\u0022:0,\u0022style\u0022:{\u0022bold\u0022:false,\u0022color\u0022:\u0022White\u0022,\u0022fontFamily\u0022:\u0022Arial\u0022,\u0022fontSize\u0022:16,\u0022italic\u0022:false,\u0022textAlign\u0022:\u0022Center\u0022,\u0022textDecoration\u0022:\u0022None\u0022,\u0022textOverflow\u0022:\u0022Wrap\u0022,\u0022textWrapping\u0022:\u0022WrapWithOverflow\u0022,\u0022fill\u0022:\u0022transparent\u0022,\u0022gradient\u0022:null,\u0022opacity\u0022:1,\u0022strokeColor\u0022:\u0022transparent\u0022,\u0022strokeDashArray\u0022:\u0022\u0022,\u0022strokeWidth\u0022:1},\u0022horizontalAlignment\u0022:3,\u0022verticalAlignment\u0022:3,\u0022margin\u0022:{\u0022left\u0022:0,\u0022right\u0022:0,\u0022top\u0022:0,\u0022bottom\u0022:0},\u0022additionalInfo\u0022:{}}]", "ports": "[]", "fixedUserHandles": "[]", "inEdges": "[\u0022OrthogonalConnectorWlhOh\u0022]", "outEdges": "[\u0022OrthogonalConnectorzbvlI\u0022]", "pivot": "{\u0022x\u0022:0.5,\u0022y\u0022:0.5}", "shadow": "{\u0022angle\u0022:45,\u0022color\u0022:\u0022lightgrey\u0022,\u0022distance\u0022:5,\u0022opacity\u0022:0.7}", "shape": "{ \u0022type\u0022: \u0022Path\u0022, \u0022data\u0022: \u0022M 0 0 L 140 0 L 115 70 L 25 70 L 0 0 Z\u0022}", "style": "{\u0022fill\u0022:\u0022#310031\u0022,\u0022gradient\u0022:{\u0022type\u0022:\u0022Linear\u0022,\u0022stops\u0022:\u0022[{\\u0022color\\u0022:\\u0022Black\\u0022,\\u0022offset\\u0022:0,\\u0022opacity\\u0022:1},{\\u0022color\\u0022:\\u0022#310031\\u0022,\\u0022offset\\u0022:100,\\u0022opacity\\u0022:1}]\u0022,\u0022x1\u0022:0,\u0022y1\u0022:0,\u0022x2\u0022:50,\u0022y2\u0022:50},\u0022opacity\u0022:1,\u0022strokeColor\u0022:\u0022#2847e5\u0022,\u0022strokeDashArray\u0022:\u0022\u0022,\u0022strokeWidth\u0022:1}", "margin": "{\u0022left\u0022:0,\u0022right\u0022:0,\u0022top\u0022:0,\u0022bottom\u0022:0}" }, { "borderColor": "none", "id": "DataOucUC", "parentId": "", "backgroundColor": "transparent", "verticalAlignment": "Top", "horizontalAlignment": "Left", "flip": "None", "constraints": "Default", "isExpanded": true, "canShapeLayout": true, "isVisible": true, "borderWidth": 0, "zIndex": 2, "offsetX": 750, "offsetY": 125, "laneOffsetX": 0, "laneOffsetY": 0, "width": 140, "height": 70, "rotateAngle": 0, "additionalInfo": "{}", "annotations": "[{\u0022offset\u0022:{\u0022x\u0022:0.5,\u0022y\u0022:0.5},\u0022rotationReference\u0022:\u0022Parent\u0022,\u0022id\u0022:\u0022TlNkb\u0022,\u0022content\u0022:\u00223\u0022,\u0022visibility\u0022:true,\u0022constraints\u0022:4,\u0022UseTemplate\u0022:false,\u0022hyperlink\u0022:null,\u0022width\u0022:null,\u0022height\u0022:null,\u0022rotationAngle\u0022:0,\u0022style\u0022:{\u0022bold\u0022:false,\u0022color\u0022:\u0022White\u0022,\u0022fontFamily\u0022:\u0022Arial\u0022,\u0022fontSize\u0022:16,\u0022italic\u0022:false,\u0022textAlign\u0022:\u0022Center\u0022,\u0022textDecoration\u0022:\u0022None\u0022,\u0022textOverflow\u0022:\u0022Wrap\u0022,\u0022textWrapping\u0022:\u0022WrapWithOverflow\u0022,\u0022fill\u0022:\u0022transparent\u0022,\u0022gradient\u0022:null,\u0022opacity\u0022:1,\u0022strokeColor\u0022:\u0022transparent\u0022,\u0022strokeDashArray\u0022:\u0022\u0022,\u0022strokeWidth\u0022:1},\u0022horizontalAlignment\u0022:3,\u0022verticalAlignment\u0022:3,\u0022margin\u0022:{\u0022left\u0022:0,\u0022right\u0022:0,\u0022top\u0022:0,\u0022bottom\u0022:0},\u0022additionalInfo\u0022:{}}]", "ports": "[]", "fixedUserHandles": "[]", "inEdges": "[\u0022OrthogonalConnectorzbvlI\u0022]", "outEdges": "[]", "pivot": "{\u0022x\u0022:0.5,\u0022y\u0022:0.5}", "shadow": "{\u0022angle\u0022:45,\u0022color\u0022:\u0022lightgrey\u0022,\u0022distance\u0022:5,\u0022opacity\u0022:0.7}", "shape": "{ \u0022type\u0022: \u0022Path\u0022, \u0022data\u0022: \u0022M 20 0 L 140 0 L 120 70 L 0 70 L 2 0 Z\u0022}", "style": "{\u0022fill\u0022:\u0022#5a1414\u0022,\u0022gradient\u0022:{\u0022type\u0022:\u0022Linear\u0022,\u0022stops\u0022:\u0022[{\\u0022color\\u0022:\\u0022Black\\u0022,\\u0022offset\\u0022:0,\\u0022opacity\\u0022:1},{\\u0022color\\u0022:\\u0022#5a1414\\u0022,\\u0022offset\\u0022:100,\\u0022opacity\\u0022:1}]\u0022,\u0022x1\u0022:0,\u0022y1\u0022:0,\u0022x2\u0022:50,\u0022y2\u0022:50},\u0022opacity\u0022:1,\u0022strokeColor\u0022:\u0022#2847e5\u0022,\u0022strokeDashArray\u0022:\u0022\u0022,\u0022strokeWidth\u0022:1}", "margin": "{\u0022left\u0022:0,\u0022right\u0022:0,\u0022top\u0022:0,\u0022bottom\u0022:0}" } ], "connectors": [ { "constraints": 144958, "sourcePoint": { "x": 299.86, "y": 130 }, "targetPoint": { "x": 432.5, "y": 130 }, "shape": null, "fixedUserHandles": [], "sourceID": "DecisionuGsxG", "targetID": "Manual-OperationgFHsE", "sourcePortID": "", "targetPortID": "", "cornerRadius": 0, "hitPadding": 10, "sourcePadding": 0, "targetPadding": 0, "connectionPadding": 0, "bridgeSpace": 10, "type": 1, "segments": [ { "type": "Orthogonal", "allowDrag": true } ], "SegmentThumbSettings": { "Shape": 0 }, "annotations": [ { "offset": 0.5, "displacement": { "x": 0, "y": 0 }, "alignment": 0, "segmentAngle": false, "id": "pzKRe", "content": "", "visibility": true, "constraints": 4, "UseTemplate": false, "hyperlink": null, "width": null, "height": null, "rotationAngle": 0, "style": { "bold": false, "color": "Black", "fontFamily": "Arial", "fontSize": 12, "italic": false, "textAlign": "Center", "textDecoration": "None", "textOverflow": "Wrap", "textWrapping": "WrapWithOverflow", "fill": "White", "gradient": null, "opacity": 1, "strokeColor": "White", "strokeDashArray": "", "strokeWidth": 4 }, "horizontalAlignment": 3, "verticalAlignment": 3, "margin": { "left": 0, "right": 0, "top": 0, "bottom": 0 }, "additionalInfo": {} } ], "style": { "fill": "transparent", "gradient": null, "opacity": 1, "strokeColor": "black", "strokeDashArray": "", "strokeWidth": 1 }, "sourceDecorator": { "width": 10, "height": 10, "shape": 1, "pathData": "", "pivot": { "x": 0, "y": 0.5 }, "style": { "fill": "black", "gradient": null, "opacity": 1, "strokeColor": "black", "strokeDashArray": "", "strokeWidth": 1 } }, "targetDecorator": { "width": 10, "height": 10, "shape": 0, "pathData": "", "pivot": { "x": 0, "y": 0.5 }, "style": { "fill": "black", "gradient": null, "opacity": 1, "strokeColor": "black", "strokeDashArray": "", "strokeWidth": 1 } }, "BezierConnectorSettings": { "ControlPointsVisibility": 14, "SegmentEditOrientation": 1, "Smoothness": 6, "AllowSegmentsReset": true }, "id": "OrthogonalConnectorWlhOh", "SearchTags": [], "tooltip": null, "zIndex": 3, "margin": { "left": 0, "right": 0, "top": 0, "bottom": 0 }, "isVisible": true, "canAutoLayout": true, "additionalInfo": {}, "flip": 0, "FlipMode": 3 }, { "constraints": 144958, "sourcePoint": { "x": 547.49, "y": 130 }, "targetPoint": { "x": 681, "y": 125 }, "shape": null, "fixedUserHandles": [], "sourceID": "Manual-OperationgFHsE", "targetID": "DataOucUC", "sourcePortID": "", "targetPortID": "", "cornerRadius": 0, "hitPadding": 10, "sourcePadding": 0, "targetPadding": 0, "connectionPadding": 0, "bridgeSpace": 10, "type": 1, "segments": [ { "type": "Orthogonal", "allowDrag": true } ], "SegmentThumbSettings": { "Shape": 0 }, "annotations": [ { "offset": 0.5, "displacement": { "x": 0, "y": 0 }, "alignment": 0, "segmentAngle": false, "id": "bTtEu", "content": "", "visibility": true, "constraints": 4, "UseTemplate": false, "hyperlink": null, "width": null, "height": null, "rotationAngle": 0, "style": { "bold": false, "color": "Black", "fontFamily": "Arial", "fontSize": 12, "italic": false, "textAlign": "Center", "textDecoration": "None", "textOverflow": "Wrap", "textWrapping": "WrapWithOverflow", "fill": "White", "gradient": null, "opacity": 1, "strokeColor": "White", "strokeDashArray": "", "strokeWidth": 4 }, "horizontalAlignment": 3, "verticalAlignment": 3, "margin": { "left": 0, "right": 0, "top": 0, "bottom": 0 }, "additionalInfo": {} } ], "style": { "fill": "transparent", "gradient": null, "opacity": 1, "strokeColor": "black", "strokeDashArray": "", "strokeWidth": 1 }, "sourceDecorator": { "width": 10, "height": 10, "shape": 1, "pathData": "", "pivot": { "x": 0, "y": 0.5 }, "style": { "fill": "black", "gradient": null, "opacity": 1, "strokeColor": "black", "strokeDashArray": "", "strokeWidth": 1 } }, "targetDecorator": { "width": 10, "height": 10, "shape": 0, "pathData": "", "pivot": { "x": 0, "y": 0.5 }, "style": { "fill": "black", "gradient": null, "opacity": 1, "strokeColor": "black", "strokeDashArray": "", "strokeWidth": 1 } }, "BezierConnectorSettings": { "ControlPointsVisibility": 14, "SegmentEditOrientation": 1, "Smoothness": 6, "AllowSegmentsReset": true }, "id": "OrthogonalConnectorzbvlI", "SearchTags": [], "tooltip": null, "zIndex": 4, "margin": { "left": 0, "right": 0, "top": 0, "bottom": 0 }, "isVisible": true, "canAutoLayout": true, "additionalInfo": {}, "flip": 0, "FlipMode": 3 } ], "swimlanes": [], "enableConnectorSplitting": false} \ No newline at end of file diff --git a/KB-Samples/LargeDiagram/wwwroot/Interop.js b/KB-Samples/LargeDiagram/wwwroot/Interop.js new file mode 100644 index 00000000..b84fd73a --- /dev/null +++ b/KB-Samples/LargeDiagram/wwwroot/Interop.js @@ -0,0 +1,27 @@ +function getDiagramFileName() { + return document.getElementById('diagramName').innerHTML.toString(); +} + +function saveDiagram(data, filename) { + if (window.navigator.msSaveBlob) { + let blob = new Blob([data], { type: 'data:text/json;charset=utf-8,' }); + window.navigator.msSaveOrOpenBlob(blob, filename + '.json'); + } else { + let dataStr = 'data:text/json;charset=utf-8,' + encodeURIComponent(data); + let a = document.createElement('a'); + a.href = dataStr; + a.download = filename + '.json'; + document.body.appendChild(a); + a.click(); + a.remove(); + } +} + +function click() { + document.getElementById('UploadFiles').click(); +} +function loadFile(file) { + var base64 = file.rawFile.replace("data:application/json;base64,", ""); + var json = atob(base64) + return json; +} \ No newline at end of file diff --git a/KB-Samples/LargeDiagram/wwwroot/PathShape.json b/KB-Samples/LargeDiagram/wwwroot/PathShape.json new file mode 100644 index 00000000..64f11f80 --- /dev/null +++ b/KB-Samples/LargeDiagram/wwwroot/PathShape.json @@ -0,0 +1 @@ +{ "Tooltip": null, "bridgeDirection": 2, "ID": "qxonS", "dataSourceSettings": null, "width": "100%", "contextMenuSettings": { "show": true, "items": [ { "iconCss": "e-file", "id": "AddNote", "items": null, "separator": false, "text": "Add Note", "hidden": false, "disabled": false, "url": "" }, { "iconCss": "e-file", "id": "ViewNote", "items": null, "separator": false, "text": "View Note", "hidden": false, "disabled": false, "url": "" }, { "iconCss": "e-search", "id": "MoveToFront", "items": null, "separator": false, "text": "Bring To Front", "hidden": false, "disabled": false, "url": "" }, { "iconCss": "e-search", "id": "MoveForward", "items": null, "separator": false, "text": "Bring Forward", "hidden": false, "disabled": false, "url": "" }, { "iconCss": "e-search", "id": "MoveToBack", "items": null, "separator": false, "text": "Send to Back", "hidden": false, "disabled": false, "url": "" }, { "iconCss": "e-search", "id": "MoveBackward", "items": null, "separator": false, "text": "Send Backward", "hidden": false, "disabled": false, "url": "" } ], "showCustomMenuOnly": false }, "constraints": 1788, "interactionController": 3, "enableChunkMessages": false, "snapSettings": { "verticalGridLines": { "lineColor": "#e0e0e0", "lineDashArray": "", "lineIntervals": [ 1, 9, 0.25, 9.75, 0.25, 9.75, 0.25, 9.75, 0.25, 9.75, 0.25, 9.75, 0.25, 9.75, 0.25, 9.75, 0.25, 9.75, 0.25, 9.75 ], "dotIntervals": [ 1, 19, 0.5, 19.5, 0.5, 19.5, 0.5, 19.5, 0.5, 19.5 ], "snapIntervals": [ 20 ] }, "horizontalGridLines": { "lineColor": "#e0e0e0 ", "lineDashArray": "", "lineIntervals": [ 1, 9, 0.25, 9.75, 0.25, 9.75, 0.25, 9.75, 0.25, 9.75, 0.25, 9.75, 0.25, 9.75, 0.25, 9.75, 0.25, 9.75, 0.25, 9.75 ], "dotIntervals": [ 1, 19, 0.5, 19.5, 0.5, 19.5, 0.5, 19.5, 0.5, 19.5 ], "snapIntervals": [ 20 ] }, "constraints": 31, "snapDistance": 5, "snapAngle": 5, "gridType": 0 }, "connectorSegmentThumb": { "Shape": 0 }, "rulerSettings": null, "pageSettings": { "width": 1123, "height": 794, "orientation": 0, "boundaryConstraints": 0, "multiplePage": false, "showPageBreaks": false, "margin": { "left": 0, "right": 0, "top": 0, "bottom": 0 }, "background": { "imageSource": "", "background": "transparent", "imageScale": 0, "imageAlign": 0 } }, "lineRoutingSettings": { "routingType": 2, "obstaclePadding": 12 }, "scrollSettings": { "horizontalOffset": 0, "enableAutoScroll": false, "autoScrollPadding": { "left": 20, "right": 20, "top": 20, "bottom": 20 }, "scrollPadding": { "left": 0, "right": 0, "top": 0, "bottom": 0 }, "verticalOffset": 0, "currentZoom": 1, "minZoom": 0.2, "maxZoom": 30, "scrollLimit": 0, "ScrollableArea": null }, "height": "100%", "layout": null, "commandManager": { "commands": [] }, "selectedItems": { "width": 0, "height": 0, "offsetX": 0, "offsetY": 0, "rotateAngle": 0, "pivot": { "x": 0.5, "y": 0.5 }, "userHandles": [ { "name": "Delete", "id": "cBafF", "pathData": "M0.54700077,2.2130003 L7.2129992,2.2130003 7.2129992,8.8800011 C7.2129992,9.1920013 7.1049975,9.4570007 6.8879985,9.6739998 6.6709994,9.8910007 6.406,10 6.0939997,10 L1.6659999,10 C1.3539997,10 1.0890004,9.8910007 0.87200136,9.6739998 0.65500242,9.4570007 0.54700071,9.1920013 0.54700077,8.8800011 z M2.4999992,0 L5.2600006,0 5.8329986,0.54600048 7.7599996,0.54600048 7.7599996,1.6660004 0,1.6660004 0,0.54600048 1.9270014,0.54600048 z", "source": null, "imageUrl": null, "backgroundColor": "black", "side": 3, "borderColor": "", "borderWidth": 0.5, "size": 25, "pathColor": "white", "displacement": 10, "visible": true, "offset": 0.5, "margin": { "left": 0, "right": 0, "top": 0, "bottom": 0 }, "VisibleTarget": 1, "horizontalAlignment": 3, "verticalAlignment": 3, "Template": false, "tooltip": null }, { "name": "Draw", "id": "SuLhf", "pathData": "M3.9730001,0 L8.9730001,5.0000007 3.9730001,10.000001 3.9730001,7.0090005 0,7.0090005 0,2.9910006 3.9730001,2.9910006 z", "source": null, "imageUrl": null, "backgroundColor": "black", "side": 1, "borderColor": "", "borderWidth": 0.5, "size": 25, "pathColor": "white", "displacement": 10, "visible": true, "offset": 0.5, "margin": { "left": 0, "right": 0, "top": 0, "bottom": 0 }, "VisibleTarget": 1, "horizontalAlignment": 3, "verticalAlignment": 3, "Template": false, "tooltip": null } ], "rubberBandSelectionMode": 0, "constraints": 16382, "canToggleSelection": false }, "drawingObject": "{ \u0022constraints\u0022: 144958, \u0022sourcePoint\u0022: { \u0022x\u0022: 0, \u0022y\u0022: 0 }, \u0022targetPoint\u0022: { \u0022x\u0022: 0, \u0022y\u0022: 0 }, \u0022shape\u0022: null, \u0022fixedUserHandles\u0022: [], \u0022sourceID\u0022: \u0022DatahUHNd\u0022, \u0022targetID\u0022: \u0022\u0022, \u0022sourcePortID\u0022: \u0022\u0022, \u0022targetPortID\u0022: \u0022\u0022, \u0022cornerRadius\u0022: 0, \u0022hitPadding\u0022: 10, \u0022sourcePadding\u0022: 0, \u0022targetPadding\u0022: 0, \u0022connectionPadding\u0022: 0, \u0022bridgeSpace\u0022: 10, \u0022type\u0022: 1, \u0022segments\u0022: [], \u0022SegmentThumbSettings\u0022: { \u0022Shape\u0022: 0 }, \u0022annotations\u0022: [ { \u0022offset\u0022: 0.5, \u0022displacement\u0022: { \u0022x\u0022: 0, \u0022y\u0022: 0 }, \u0022alignment\u0022: 0, \u0022segmentAngle\u0022: false, \u0022id\u0022: \u0022tHIen\u0022, \u0022content\u0022: \u0022\u0022, \u0022visibility\u0022: true, \u0022constraints\u0022: 4, \u0022UseTemplate\u0022: false, \u0022hyperlink\u0022: null, \u0022width\u0022: null, \u0022height\u0022: null, \u0022rotationAngle\u0022: 0, \u0022style\u0022: { \u0022bold\u0022: false, \u0022color\u0022: \u0022Black\u0022, \u0022fontFamily\u0022: \u0022Arial\u0022, \u0022fontSize\u0022: 12, \u0022italic\u0022: false, \u0022textAlign\u0022: \u0022Center\u0022, \u0022textDecoration\u0022: \u0022None\u0022, \u0022textOverflow\u0022: \u0022Wrap\u0022, \u0022textWrapping\u0022: \u0022WrapWithOverflow\u0022, \u0022fill\u0022: \u0022White\u0022, \u0022gradient\u0022: null, \u0022opacity\u0022: 1, \u0022strokeColor\u0022: \u0022White\u0022, \u0022strokeDashArray\u0022: \u0022\u0022, \u0022strokeWidth\u0022: 4 }, \u0022horizontalAlignment\u0022: 3, \u0022verticalAlignment\u0022: 3, \u0022margin\u0022: { \u0022left\u0022: 0, \u0022right\u0022: 0, \u0022top\u0022: 0, \u0022bottom\u0022: 0 }, \u0022additionalInfo\u0022: {} } ], \u0022style\u0022: { \u0022fill\u0022: \u0022white\u0022, \u0022gradient\u0022: null, \u0022opacity\u0022: 1, \u0022strokeColor\u0022: \u0022black\u0022, \u0022strokeDashArray\u0022: \u0022\u0022, \u0022strokeWidth\u0022: 1 }, \u0022sourceDecorator\u0022: { \u0022width\u0022: 10, \u0022height\u0022: 10, \u0022shape\u0022: 1, \u0022pathData\u0022: \u0022\u0022, \u0022pivot\u0022: { \u0022x\u0022: 0, \u0022y\u0022: 0.5 }, \u0022style\u0022: { \u0022fill\u0022: \u0022black\u0022, \u0022gradient\u0022: null, \u0022opacity\u0022: 1, \u0022strokeColor\u0022: \u0022black\u0022, \u0022strokeDashArray\u0022: \u0022\u0022, \u0022strokeWidth\u0022: 1 } }, \u0022targetDecorator\u0022: { \u0022width\u0022: 10, \u0022height\u0022: 10, \u0022shape\u0022: 0, \u0022pathData\u0022: \u0022\u0022, \u0022pivot\u0022: { \u0022x\u0022: 0, \u0022y\u0022: 0.5 }, \u0022style\u0022: { \u0022fill\u0022: \u0022black\u0022, \u0022gradient\u0022: null, \u0022opacity\u0022: 1, \u0022strokeColor\u0022: \u0022black\u0022, \u0022strokeDashArray\u0022: \u0022\u0022, \u0022strokeWidth\u0022: 1 } }, \u0022BezierConnectorSettings\u0022: { \u0022ControlPointsVisibility\u0022: 14, \u0022SegmentEditOrientation\u0022: 1, \u0022Smoothness\u0022: 6, \u0022AllowSegmentsReset\u0022: true }, \u0022id\u0022: \u0022OrthogonalConnector\u0022, \u0022SearchTags\u0022: [], \u0022tooltip\u0022: null, \u0022zIndex\u0022: -2147483648, \u0022margin\u0022: { \u0022left\u0022: 0, \u0022right\u0022: 0, \u0022top\u0022: 0, \u0022bottom\u0022: 0 }, \u0022isVisible\u0022: true, \u0022canAutoLayout\u0022: true, \u0022additionalInfo\u0022: {}, \u0022flip\u0022: 0, \u0022FlipMode\u0022: 3}", "nodes": [ { "borderColor": "none", "id": "DecisionMsWKW", "parentId": "", "backgroundColor": "transparent", "verticalAlignment": "Top", "horizontalAlignment": "Left", "flip": "None", "constraints": "Default", "isExpanded": true, "canShapeLayout": true, "isVisible": true, "borderWidth": 0, "zIndex": 0, "offsetX": 170, "offsetY": 130, "laneOffsetX": 0, "laneOffsetY": 0, "width": 100, "height": 100, "rotateAngle": 0, "additionalInfo": "{}", "annotations": "[{\u0022offset\u0022:{\u0022x\u0022:0.5,\u0022y\u0022:0.5},\u0022rotationReference\u0022:\u0022Parent\u0022,\u0022id\u0022:\u0022NQEVB\u0022,\u0022content\u0022:\u00221\u0022,\u0022visibility\u0022:true,\u0022constraints\u0022:4,\u0022UseTemplate\u0022:false,\u0022hyperlink\u0022:null,\u0022width\u0022:null,\u0022height\u0022:null,\u0022rotationAngle\u0022:0,\u0022style\u0022:{\u0022bold\u0022:false,\u0022color\u0022:\u0022White\u0022,\u0022fontFamily\u0022:\u0022Arial\u0022,\u0022fontSize\u0022:16,\u0022italic\u0022:false,\u0022textAlign\u0022:\u0022Center\u0022,\u0022textDecoration\u0022:\u0022None\u0022,\u0022textOverflow\u0022:\u0022Wrap\u0022,\u0022textWrapping\u0022:\u0022WrapWithOverflow\u0022,\u0022fill\u0022:\u0022transparent\u0022,\u0022gradient\u0022:null,\u0022opacity\u0022:1,\u0022strokeColor\u0022:\u0022transparent\u0022,\u0022strokeDashArray\u0022:\u0022\u0022,\u0022strokeWidth\u0022:1},\u0022horizontalAlignment\u0022:3,\u0022verticalAlignment\u0022:3,\u0022margin\u0022:{\u0022left\u0022:0,\u0022right\u0022:0,\u0022top\u0022:0,\u0022bottom\u0022:0},\u0022additionalInfo\u0022:{}}]", "ports": "[]", "fixedUserHandles": "[]", "inEdges": "[]", "outEdges": "[\u0022OrthogonalConnectorxVBwP\u0022]", "pivot": "{\u0022x\u0022:0.5,\u0022y\u0022:0.5}", "shadow": "{\u0022angle\u0022:45,\u0022color\u0022:\u0022lightgrey\u0022,\u0022distance\u0022:5,\u0022opacity\u0022:0.7}", "shape": "{ \u0022type\u0022: \u0022Path\u0022, \u0022data\u0022: \u0022M 5 45 L 45, 5 Q 50 0 55 5 L 95 45 Q 100 50 95 55 L 55 95 Q 50 100 45 95 L 5 55 Q 0 50 5 45 Z\u0022}", "style": "{\u0022fill\u0022:\u0022#114e0f\u0022,\u0022gradient\u0022:{\u0022type\u0022:\u0022Linear\u0022,\u0022stops\u0022:\u0022[{\\u0022color\\u0022:\\u0022Black\\u0022,\\u0022offset\\u0022:0,\\u0022opacity\\u0022:1},{\\u0022color\\u0022:\\u0022#114e0f\\u0022,\\u0022offset\\u0022:100,\\u0022opacity\\u0022:1}]\u0022,\u0022x1\u0022:0,\u0022y1\u0022:0,\u0022x2\u0022:50,\u0022y2\u0022:50},\u0022opacity\u0022:1,\u0022strokeColor\u0022:\u0022#2847e5\u0022,\u0022strokeDashArray\u0022:\u0022\u0022,\u0022strokeWidth\u0022:1}", "margin": "{\u0022left\u0022:0,\u0022right\u0022:0,\u0022top\u0022:0,\u0022bottom\u0022:0}" }, { "borderColor": "none", "id": "ProcessvFaSO", "parentId": "", "backgroundColor": "transparent", "verticalAlignment": "Top", "horizontalAlignment": "Left", "flip": "None", "constraints": "Default", "isExpanded": true, "canShapeLayout": true, "isVisible": true, "borderWidth": 0, "zIndex": 1, "offsetX": 370, "offsetY": 130, "laneOffsetX": 0, "laneOffsetY": 0, "width": 140, "height": 70, "rotateAngle": 0, "additionalInfo": "{}", "annotations": "[{\u0022offset\u0022:{\u0022x\u0022:0.5,\u0022y\u0022:0.5},\u0022rotationReference\u0022:\u0022Parent\u0022,\u0022id\u0022:\u0022sbiMO\u0022,\u0022content\u0022:\u00222\u0022,\u0022visibility\u0022:true,\u0022constraints\u0022:4,\u0022UseTemplate\u0022:false,\u0022hyperlink\u0022:null,\u0022width\u0022:null,\u0022height\u0022:null,\u0022rotationAngle\u0022:0,\u0022style\u0022:{\u0022bold\u0022:false,\u0022color\u0022:\u0022White\u0022,\u0022fontFamily\u0022:\u0022Arial\u0022,\u0022fontSize\u0022:16,\u0022italic\u0022:false,\u0022textAlign\u0022:\u0022Center\u0022,\u0022textDecoration\u0022:\u0022None\u0022,\u0022textOverflow\u0022:\u0022Wrap\u0022,\u0022textWrapping\u0022:\u0022WrapWithOverflow\u0022,\u0022fill\u0022:\u0022transparent\u0022,\u0022gradient\u0022:null,\u0022opacity\u0022:1,\u0022strokeColor\u0022:\u0022transparent\u0022,\u0022strokeDashArray\u0022:\u0022\u0022,\u0022strokeWidth\u0022:1},\u0022horizontalAlignment\u0022:3,\u0022verticalAlignment\u0022:3,\u0022margin\u0022:{\u0022left\u0022:0,\u0022right\u0022:0,\u0022top\u0022:0,\u0022bottom\u0022:0},\u0022additionalInfo\u0022:{}}]", "ports": "[]", "fixedUserHandles": "[]", "inEdges": "[\u0022OrthogonalConnectorxVBwP\u0022]", "outEdges": "[\u0022OrthogonalConnectorVyvBN\u0022]", "pivot": "{\u0022x\u0022:0.5,\u0022y\u0022:0.5}", "shadow": "{\u0022angle\u0022:45,\u0022color\u0022:\u0022lightgrey\u0022,\u0022distance\u0022:5,\u0022opacity\u0022:0.7}", "shape": "{ \u0022type\u0022: \u0022Path\u0022, \u0022data\u0022: \u0022M 5 0 L135 0 Q 140 0 140 5 L 140 65 Q 140 70 135 70 L 5 70 Q 0 70 0 65 L 0 5 Q 0 0 5 0 Z\u0022}", "style": "{\u0022fill\u0022:\u0022#173987\u0022,\u0022gradient\u0022:{\u0022type\u0022:\u0022Linear\u0022,\u0022stops\u0022:\u0022[{\\u0022color\\u0022:\\u0022Black\\u0022,\\u0022offset\\u0022:0,\\u0022opacity\\u0022:1},{\\u0022color\\u0022:\\u0022#173987\\u0022,\\u0022offset\\u0022:100,\\u0022opacity\\u0022:1}]\u0022,\u0022x1\u0022:0,\u0022y1\u0022:0,\u0022x2\u0022:50,\u0022y2\u0022:50},\u0022opacity\u0022:1,\u0022strokeColor\u0022:\u0022#2847e5\u0022,\u0022strokeDashArray\u0022:\u0022\u0022,\u0022strokeWidth\u0022:1}", "margin": "{\u0022left\u0022:0,\u0022right\u0022:0,\u0022top\u0022:0,\u0022bottom\u0022:0}" }, { "borderColor": "none", "id": "TerminatorQhQQZ", "parentId": "", "backgroundColor": "transparent", "verticalAlignment": "Top", "horizontalAlignment": "Left", "flip": "None", "constraints": "Default", "isExpanded": true, "canShapeLayout": true, "isVisible": true, "borderWidth": 0, "zIndex": 2, "offsetX": 590, "offsetY": 130, "laneOffsetX": 0, "laneOffsetY": 0, "width": 140, "height": 40, "rotateAngle": 0, "additionalInfo": "{}", "annotations": "[{\u0022offset\u0022:{\u0022x\u0022:0.5,\u0022y\u0022:0.5},\u0022rotationReference\u0022:\u0022Parent\u0022,\u0022id\u0022:\u0022HWSxH\u0022,\u0022content\u0022:\u00223\u0022,\u0022visibility\u0022:true,\u0022constraints\u0022:4,\u0022UseTemplate\u0022:false,\u0022hyperlink\u0022:null,\u0022width\u0022:null,\u0022height\u0022:null,\u0022rotationAngle\u0022:0,\u0022style\u0022:{\u0022bold\u0022:false,\u0022color\u0022:\u0022White\u0022,\u0022fontFamily\u0022:\u0022Arial\u0022,\u0022fontSize\u0022:16,\u0022italic\u0022:false,\u0022textAlign\u0022:\u0022Center\u0022,\u0022textDecoration\u0022:\u0022None\u0022,\u0022textOverflow\u0022:\u0022Wrap\u0022,\u0022textWrapping\u0022:\u0022WrapWithOverflow\u0022,\u0022fill\u0022:\u0022transparent\u0022,\u0022gradient\u0022:null,\u0022opacity\u0022:1,\u0022strokeColor\u0022:\u0022transparent\u0022,\u0022strokeDashArray\u0022:\u0022\u0022,\u0022strokeWidth\u0022:1},\u0022horizontalAlignment\u0022:3,\u0022verticalAlignment\u0022:3,\u0022margin\u0022:{\u0022left\u0022:0,\u0022right\u0022:0,\u0022top\u0022:0,\u0022bottom\u0022:0},\u0022additionalInfo\u0022:{}}]", "ports": "[]", "fixedUserHandles": "[]", "inEdges": "[\u0022OrthogonalConnectorVyvBN\u0022]", "outEdges": "[\u0022OrthogonalConnectorkkZUS\u0022]", "pivot": "{\u0022x\u0022:0.5,\u0022y\u0022:0.5}", "shadow": "{\u0022angle\u0022:45,\u0022color\u0022:\u0022lightgrey\u0022,\u0022distance\u0022:5,\u0022opacity\u0022:0.7}", "shape": "{ \u0022type\u0022: \u0022Path\u0022, \u0022data\u0022: \u0022M 20 0 L 120 0 Q 140 0 140 20 Q 140 40 120 40 L 20 40 Q 0 40 0 20 Q 0 0 20 0 Z\u0022}", "style": "{\u0022fill\u0022:\u0022#405176\u0022,\u0022gradient\u0022:{\u0022type\u0022:\u0022Linear\u0022,\u0022stops\u0022:\u0022[{\\u0022color\\u0022:\\u0022Black\\u0022,\\u0022offset\\u0022:0,\\u0022opacity\\u0022:1},{\\u0022color\\u0022:\\u0022#405176\\u0022,\\u0022offset\\u0022:100,\\u0022opacity\\u0022:1}]\u0022,\u0022x1\u0022:0,\u0022y1\u0022:0,\u0022x2\u0022:50,\u0022y2\u0022:50},\u0022opacity\u0022:1,\u0022strokeColor\u0022:\u0022#2847e5\u0022,\u0022strokeDashArray\u0022:\u0022\u0022,\u0022strokeWidth\u0022:1}", "margin": "{\u0022left\u0022:0,\u0022right\u0022:0,\u0022top\u0022:0,\u0022bottom\u0022:0}" }, { "borderColor": "none", "id": "EventQhkqB", "parentId": "", "backgroundColor": "transparent", "verticalAlignment": "Top", "horizontalAlignment": "Left", "flip": "None", "constraints": "Default", "isExpanded": true, "canShapeLayout": true, "isVisible": true, "borderWidth": 0, "zIndex": 3, "offsetX": 170, "offsetY": 265, "laneOffsetX": 0, "laneOffsetY": 0, "width": 140, "height": 70, "rotateAngle": 0, "additionalInfo": "{}", "annotations": "[{\u0022offset\u0022:{\u0022x\u0022:0.5,\u0022y\u0022:0.5},\u0022rotationReference\u0022:\u0022Parent\u0022,\u0022id\u0022:\u0022pJSZS\u0022,\u0022content\u0022:\u00224\u0022,\u0022visibility\u0022:true,\u0022constraints\u0022:4,\u0022UseTemplate\u0022:false,\u0022hyperlink\u0022:null,\u0022width\u0022:null,\u0022height\u0022:null,\u0022rotationAngle\u0022:0,\u0022style\u0022:{\u0022bold\u0022:false,\u0022color\u0022:\u0022White\u0022,\u0022fontFamily\u0022:\u0022Arial\u0022,\u0022fontSize\u0022:16,\u0022italic\u0022:false,\u0022textAlign\u0022:\u0022Center\u0022,\u0022textDecoration\u0022:\u0022None\u0022,\u0022textOverflow\u0022:\u0022Wrap\u0022,\u0022textWrapping\u0022:\u0022WrapWithOverflow\u0022,\u0022fill\u0022:\u0022transparent\u0022,\u0022gradient\u0022:null,\u0022opacity\u0022:1,\u0022strokeColor\u0022:\u0022transparent\u0022,\u0022strokeDashArray\u0022:\u0022\u0022,\u0022strokeWidth\u0022:1},\u0022horizontalAlignment\u0022:3,\u0022verticalAlignment\u0022:3,\u0022margin\u0022:{\u0022left\u0022:0,\u0022right\u0022:0,\u0022top\u0022:0,\u0022bottom\u0022:0},\u0022additionalInfo\u0022:{}}]", "ports": "[]", "fixedUserHandles": "[]", "inEdges": "[\u0022OrthogonalConnectorkkZUS\u0022]", "outEdges": "[\u0022OrthogonalConnectorddTOM\u0022]", "pivot": "{\u0022x\u0022:0.5,\u0022y\u0022:0.5}", "shadow": "{\u0022angle\u0022:45,\u0022color\u0022:\u0022lightgrey\u0022,\u0022distance\u0022:5,\u0022opacity\u0022:0.7}", "shape": "{ \u0022type\u0022: \u0022Path\u0022, \u0022data\u0022: \u0022M 20 0 L 120 0 Q 140 0 140 20 L 140 50 Q 140 70 120 70 L 20 70 Q 0 70 0 50 L 0 20 Q 0 0 20 0 Z\u0022}", "style": "{\u0022fill\u0022:\u0022#173987\u0022,\u0022gradient\u0022:{\u0022type\u0022:\u0022Linear\u0022,\u0022stops\u0022:\u0022[{\\u0022color\\u0022:\\u0022Black\\u0022,\\u0022offset\\u0022:0,\\u0022opacity\\u0022:1},{\\u0022color\\u0022:\\u0022#173987\\u0022,\\u0022offset\\u0022:100,\\u0022opacity\\u0022:1}]\u0022,\u0022x1\u0022:0,\u0022y1\u0022:0,\u0022x2\u0022:50,\u0022y2\u0022:50},\u0022opacity\u0022:1,\u0022strokeColor\u0022:\u0022#2847e5\u0022,\u0022strokeDashArray\u0022:\u0022\u0022,\u0022strokeWidth\u0022:1}", "margin": "{\u0022left\u0022:0,\u0022right\u0022:0,\u0022top\u0022:0,\u0022bottom\u0022:0}" }, { "borderColor": "none", "id": "DelayyhTTL", "parentId": "", "backgroundColor": "transparent", "verticalAlignment": "Top", "horizontalAlignment": "Left", "flip": "None", "constraints": "Default", "isExpanded": true, "canShapeLayout": true, "isVisible": true, "borderWidth": 0, "zIndex": 4, "offsetX": 370, "offsetY": 265, "laneOffsetX": 0, "laneOffsetY": 0, "width": 140, "height": 70, "rotateAngle": 0, "additionalInfo": "{}", "annotations": "[{\u0022offset\u0022:{\u0022x\u0022:0.5,\u0022y\u0022:0.5},\u0022rotationReference\u0022:\u0022Parent\u0022,\u0022id\u0022:\u0022vTfis\u0022,\u0022content\u0022:\u00225\u0022,\u0022visibility\u0022:true,\u0022constraints\u0022:4,\u0022UseTemplate\u0022:false,\u0022hyperlink\u0022:null,\u0022width\u0022:null,\u0022height\u0022:null,\u0022rotationAngle\u0022:0,\u0022style\u0022:{\u0022bold\u0022:false,\u0022color\u0022:\u0022White\u0022,\u0022fontFamily\u0022:\u0022Arial\u0022,\u0022fontSize\u0022:16,\u0022italic\u0022:false,\u0022textAlign\u0022:\u0022Center\u0022,\u0022textDecoration\u0022:\u0022None\u0022,\u0022textOverflow\u0022:\u0022Wrap\u0022,\u0022textWrapping\u0022:\u0022WrapWithOverflow\u0022,\u0022fill\u0022:\u0022transparent\u0022,\u0022gradient\u0022:null,\u0022opacity\u0022:1,\u0022strokeColor\u0022:\u0022transparent\u0022,\u0022strokeDashArray\u0022:\u0022\u0022,\u0022strokeWidth\u0022:1},\u0022horizontalAlignment\u0022:3,\u0022verticalAlignment\u0022:3,\u0022margin\u0022:{\u0022left\u0022:0,\u0022right\u0022:0,\u0022top\u0022:0,\u0022bottom\u0022:0},\u0022additionalInfo\u0022:{}}]", "ports": "[]", "fixedUserHandles": "[]", "inEdges": "[\u0022OrthogonalConnectorddTOM\u0022]", "outEdges": "[\u0022OrthogonalConnectorZPMXf\u0022]", "pivot": "{\u0022x\u0022:0.5,\u0022y\u0022:0.5}", "shadow": "{\u0022angle\u0022:45,\u0022color\u0022:\u0022lightgrey\u0022,\u0022distance\u0022:5,\u0022opacity\u0022:0.7}", "shape": "{ \u0022type\u0022: \u0022Path\u0022, \u0022data\u0022: \u0022M 0 0 L 105 0 Q 140 0 140 35 Q 140 70 105 70 L 0 70 L 0 0 Z\u0022}", "style": "{\u0022fill\u0022:\u0022#493e13\u0022,\u0022gradient\u0022:{\u0022type\u0022:\u0022Linear\u0022,\u0022stops\u0022:\u0022[{\\u0022color\\u0022:\\u0022Black\\u0022,\\u0022offset\\u0022:0,\\u0022opacity\\u0022:1},{\\u0022color\\u0022:\\u0022#493e13\\u0022,\\u0022offset\\u0022:100,\\u0022opacity\\u0022:1}]\u0022,\u0022x1\u0022:0,\u0022y1\u0022:0,\u0022x2\u0022:50,\u0022y2\u0022:50},\u0022opacity\u0022:1,\u0022strokeColor\u0022:\u0022#2847e5\u0022,\u0022strokeDashArray\u0022:\u0022\u0022,\u0022strokeWidth\u0022:1}", "margin": "{\u0022left\u0022:0,\u0022right\u0022:0,\u0022top\u0022:0,\u0022bottom\u0022:0}" }, { "borderColor": "none", "id": "Manual-OperationnhNrx", "parentId": "", "backgroundColor": "transparent", "verticalAlignment": "Top", "horizontalAlignment": "Left", "flip": "None", "constraints": "Default", "isExpanded": true, "canShapeLayout": true, "isVisible": true, "borderWidth": 0, "zIndex": 5, "offsetX": 570, "offsetY": 265, "laneOffsetX": 0, "laneOffsetY": 0, "width": 140, "height": 70, "rotateAngle": 0, "additionalInfo": "{}", "annotations": "[{\u0022offset\u0022:{\u0022x\u0022:0.5,\u0022y\u0022:0.5},\u0022rotationReference\u0022:\u0022Parent\u0022,\u0022id\u0022:\u0022AhbXK\u0022,\u0022content\u0022:\u00226\u0022,\u0022visibility\u0022:true,\u0022constraints\u0022:4,\u0022UseTemplate\u0022:false,\u0022hyperlink\u0022:null,\u0022width\u0022:null,\u0022height\u0022:null,\u0022rotationAngle\u0022:0,\u0022style\u0022:{\u0022bold\u0022:false,\u0022color\u0022:\u0022White\u0022,\u0022fontFamily\u0022:\u0022Arial\u0022,\u0022fontSize\u0022:16,\u0022italic\u0022:false,\u0022textAlign\u0022:\u0022Center\u0022,\u0022textDecoration\u0022:\u0022None\u0022,\u0022textOverflow\u0022:\u0022Wrap\u0022,\u0022textWrapping\u0022:\u0022WrapWithOverflow\u0022,\u0022fill\u0022:\u0022transparent\u0022,\u0022gradient\u0022:null,\u0022opacity\u0022:1,\u0022strokeColor\u0022:\u0022transparent\u0022,\u0022strokeDashArray\u0022:\u0022\u0022,\u0022strokeWidth\u0022:1},\u0022horizontalAlignment\u0022:3,\u0022verticalAlignment\u0022:3,\u0022margin\u0022:{\u0022left\u0022:0,\u0022right\u0022:0,\u0022top\u0022:0,\u0022bottom\u0022:0},\u0022additionalInfo\u0022:{}}]", "ports": "[]", "fixedUserHandles": "[]", "inEdges": "[\u0022OrthogonalConnectorZPMXf\u0022]", "outEdges": "[\u0022OrthogonalConnectorawkNO\u0022]", "pivot": "{\u0022x\u0022:0.5,\u0022y\u0022:0.5}", "shadow": "{\u0022angle\u0022:45,\u0022color\u0022:\u0022lightgrey\u0022,\u0022distance\u0022:5,\u0022opacity\u0022:0.7}", "shape": "{ \u0022type\u0022: \u0022Path\u0022, \u0022data\u0022: \u0022M 0 0 L 140 0 L 115 70 L 25 70 L 0 0 Z\u0022}", "style": "{\u0022fill\u0022:\u0022#310031\u0022,\u0022gradient\u0022:{\u0022type\u0022:\u0022Linear\u0022,\u0022stops\u0022:\u0022[{\\u0022color\\u0022:\\u0022Black\\u0022,\\u0022offset\\u0022:0,\\u0022opacity\\u0022:1},{\\u0022color\\u0022:\\u0022#310031\\u0022,\\u0022offset\\u0022:100,\\u0022opacity\\u0022:1}]\u0022,\u0022x1\u0022:0,\u0022y1\u0022:0,\u0022x2\u0022:50,\u0022y2\u0022:50},\u0022opacity\u0022:1,\u0022strokeColor\u0022:\u0022#2847e5\u0022,\u0022strokeDashArray\u0022:\u0022\u0022,\u0022strokeWidth\u0022:1}", "margin": "{\u0022left\u0022:0,\u0022right\u0022:0,\u0022top\u0022:0,\u0022bottom\u0022:0}" }, { "borderColor": "none", "id": "Manual-InputQHnGK", "parentId": "", "backgroundColor": "transparent", "verticalAlignment": "Top", "horizontalAlignment": "Left", "flip": "None", "constraints": "Default", "isExpanded": true, "canShapeLayout": true, "isVisible": true, "borderWidth": 0, "zIndex": 6, "offsetX": 790, "offsetY": 265, "laneOffsetX": 0, "laneOffsetY": 0, "width": 140, "height": 70, "rotateAngle": 0, "additionalInfo": "{}", "annotations": "[{\u0022offset\u0022:{\u0022x\u0022:0.5,\u0022y\u0022:0.5},\u0022rotationReference\u0022:\u0022Parent\u0022,\u0022id\u0022:\u0022xXSZD\u0022,\u0022content\u0022:\u00227\u0022,\u0022visibility\u0022:true,\u0022constraints\u0022:4,\u0022UseTemplate\u0022:false,\u0022hyperlink\u0022:null,\u0022width\u0022:null,\u0022height\u0022:null,\u0022rotationAngle\u0022:0,\u0022style\u0022:{\u0022bold\u0022:false,\u0022color\u0022:\u0022White\u0022,\u0022fontFamily\u0022:\u0022Arial\u0022,\u0022fontSize\u0022:16,\u0022italic\u0022:false,\u0022textAlign\u0022:\u0022Center\u0022,\u0022textDecoration\u0022:\u0022None\u0022,\u0022textOverflow\u0022:\u0022Wrap\u0022,\u0022textWrapping\u0022:\u0022WrapWithOverflow\u0022,\u0022fill\u0022:\u0022transparent\u0022,\u0022gradient\u0022:null,\u0022opacity\u0022:1,\u0022strokeColor\u0022:\u0022transparent\u0022,\u0022strokeDashArray\u0022:\u0022\u0022,\u0022strokeWidth\u0022:1},\u0022horizontalAlignment\u0022:3,\u0022verticalAlignment\u0022:3,\u0022margin\u0022:{\u0022left\u0022:0,\u0022right\u0022:0,\u0022top\u0022:0,\u0022bottom\u0022:0},\u0022additionalInfo\u0022:{}}]", "ports": "[]", "fixedUserHandles": "[]", "inEdges": "[\u0022OrthogonalConnectorawkNO\u0022]", "outEdges": "[\u0022OrthogonalConnectorxHHAJ\u0022]", "pivot": "{\u0022x\u0022:0.5,\u0022y\u0022:0.5}", "shadow": "{\u0022angle\u0022:45,\u0022color\u0022:\u0022lightgrey\u0022,\u0022distance\u0022:5,\u0022opacity\u0022:0.7}", "shape": "{ \u0022type\u0022: \u0022Path\u0022, \u0022data\u0022: \u0022M 140 0 L 140 60 Q 140 70 120 70 L 10 70 Q 0 70 0 60 L 0 35 L 140 0 Z\u0022}", "style": "{\u0022fill\u0022:\u0022#4b1a4d\u0022,\u0022gradient\u0022:{\u0022type\u0022:\u0022Linear\u0022,\u0022stops\u0022:\u0022[{\\u0022color\\u0022:\\u0022Black\\u0022,\\u0022offset\\u0022:0,\\u0022opacity\\u0022:1},{\\u0022color\\u0022:\\u0022#4b1a4d\\u0022,\\u0022offset\\u0022:100,\\u0022opacity\\u0022:1}]\u0022,\u0022x1\u0022:0,\u0022y1\u0022:0,\u0022x2\u0022:50,\u0022y2\u0022:50},\u0022opacity\u0022:1,\u0022strokeColor\u0022:\u0022#2847e5\u0022,\u0022strokeDashArray\u0022:\u0022\u0022,\u0022strokeWidth\u0022:1}", "margin": "{\u0022left\u0022:0,\u0022right\u0022:0,\u0022top\u0022:0,\u0022bottom\u0022:0}" }, { "borderColor": "none", "id": "DatahUHNd", "parentId": "", "backgroundColor": "transparent", "verticalAlignment": "Top", "horizontalAlignment": "Left", "flip": "None", "constraints": "Default", "isExpanded": true, "canShapeLayout": true, "isVisible": true, "borderWidth": 0, "zIndex": 7, "offsetX": 170, "offsetY": 425, "laneOffsetX": 0, "laneOffsetY": 0, "width": 140, "height": 70, "rotateAngle": 0, "additionalInfo": "{}", "annotations": "[{\u0022offset\u0022:{\u0022x\u0022:0.5,\u0022y\u0022:0.5},\u0022rotationReference\u0022:\u0022Parent\u0022,\u0022id\u0022:\u0022pRwAT\u0022,\u0022content\u0022:\u00228\u0022,\u0022visibility\u0022:true,\u0022constraints\u0022:4,\u0022UseTemplate\u0022:false,\u0022hyperlink\u0022:null,\u0022width\u0022:null,\u0022height\u0022:null,\u0022rotationAngle\u0022:0,\u0022style\u0022:{\u0022bold\u0022:false,\u0022color\u0022:\u0022White\u0022,\u0022fontFamily\u0022:\u0022Arial\u0022,\u0022fontSize\u0022:16,\u0022italic\u0022:false,\u0022textAlign\u0022:\u0022Center\u0022,\u0022textDecoration\u0022:\u0022None\u0022,\u0022textOverflow\u0022:\u0022Wrap\u0022,\u0022textWrapping\u0022:\u0022WrapWithOverflow\u0022,\u0022fill\u0022:\u0022transparent\u0022,\u0022gradient\u0022:null,\u0022opacity\u0022:1,\u0022strokeColor\u0022:\u0022transparent\u0022,\u0022strokeDashArray\u0022:\u0022\u0022,\u0022strokeWidth\u0022:1},\u0022horizontalAlignment\u0022:3,\u0022verticalAlignment\u0022:3,\u0022margin\u0022:{\u0022left\u0022:0,\u0022right\u0022:0,\u0022top\u0022:0,\u0022bottom\u0022:0},\u0022additionalInfo\u0022:{}}]", "ports": "[]", "fixedUserHandles": "[]", "inEdges": "[\u0022OrthogonalConnectorxHHAJ\u0022]", "outEdges": "[\u0022OrthogonalConnectorSCJAd\u0022]", "pivot": "{\u0022x\u0022:0.5,\u0022y\u0022:0.5}", "shadow": "{\u0022angle\u0022:45,\u0022color\u0022:\u0022lightgrey\u0022,\u0022distance\u0022:5,\u0022opacity\u0022:0.7}", "shape": "{ \u0022type\u0022: \u0022Path\u0022, \u0022data\u0022: \u0022M 20 0 L 140 0 L 120 70 L 0 70 L 2 0 Z\u0022}", "style": "{\u0022fill\u0022:\u0022#5a1414\u0022,\u0022gradient\u0022:{\u0022type\u0022:\u0022Linear\u0022,\u0022stops\u0022:\u0022[{\\u0022color\\u0022:\\u0022Black\\u0022,\\u0022offset\\u0022:0,\\u0022opacity\\u0022:1},{\\u0022color\\u0022:\\u0022#5a1414\\u0022,\\u0022offset\\u0022:100,\\u0022opacity\\u0022:1}]\u0022,\u0022x1\u0022:0,\u0022y1\u0022:0,\u0022x2\u0022:50,\u0022y2\u0022:50},\u0022opacity\u0022:1,\u0022strokeColor\u0022:\u0022#2847e5\u0022,\u0022strokeDashArray\u0022:\u0022\u0022,\u0022strokeWidth\u0022:1}", "margin": "{\u0022left\u0022:0,\u0022right\u0022:0,\u0022top\u0022:0,\u0022bottom\u0022:0}" }, { "borderColor": "none", "id": "CardeUkzg", "parentId": "", "backgroundColor": "transparent", "verticalAlignment": "Top", "horizontalAlignment": "Left", "flip": "None", "constraints": "Default", "isExpanded": true, "canShapeLayout": true, "isVisible": true, "borderWidth": 0, "zIndex": 8, "offsetX": 370, "offsetY": 425, "laneOffsetX": 0, "laneOffsetY": 0, "width": 140, "height": 70, "rotateAngle": 0, "additionalInfo": "{}", "annotations": "[{\u0022offset\u0022:{\u0022x\u0022:0.5,\u0022y\u0022:0.5},\u0022rotationReference\u0022:\u0022Parent\u0022,\u0022id\u0022:\u0022QFPRW\u0022,\u0022content\u0022:\u00229\u0022,\u0022visibility\u0022:true,\u0022constraints\u0022:4,\u0022UseTemplate\u0022:false,\u0022hyperlink\u0022:null,\u0022width\u0022:null,\u0022height\u0022:null,\u0022rotationAngle\u0022:0,\u0022style\u0022:{\u0022bold\u0022:false,\u0022color\u0022:\u0022White\u0022,\u0022fontFamily\u0022:\u0022Arial\u0022,\u0022fontSize\u0022:16,\u0022italic\u0022:false,\u0022textAlign\u0022:\u0022Center\u0022,\u0022textDecoration\u0022:\u0022None\u0022,\u0022textOverflow\u0022:\u0022Wrap\u0022,\u0022textWrapping\u0022:\u0022WrapWithOverflow\u0022,\u0022fill\u0022:\u0022transparent\u0022,\u0022gradient\u0022:null,\u0022opacity\u0022:1,\u0022strokeColor\u0022:\u0022transparent\u0022,\u0022strokeDashArray\u0022:\u0022\u0022,\u0022strokeWidth\u0022:1},\u0022horizontalAlignment\u0022:3,\u0022verticalAlignment\u0022:3,\u0022margin\u0022:{\u0022left\u0022:0,\u0022right\u0022:0,\u0022top\u0022:0,\u0022bottom\u0022:0},\u0022additionalInfo\u0022:{}}]", "ports": "[]", "fixedUserHandles": "[]", "inEdges": "[\u0022OrthogonalConnectorSCJAd\u0022]", "outEdges": "[]", "pivot": "{\u0022x\u0022:0.5,\u0022y\u0022:0.5}", "shadow": "{\u0022angle\u0022:45,\u0022color\u0022:\u0022lightgrey\u0022,\u0022distance\u0022:5,\u0022opacity\u0022:0.7}", "shape": "{ \u0022type\u0022: \u0022Path\u0022, \u0022data\u0022: \u0022M 35 0 L 130 0 Q 140 0 140 10 L 140 60 Q 140 70 130 70 L 10 70 Q 0 70 0 60 L 0 35 L 35 0 Z\u0022}", "style": "{\u0022fill\u0022:\u0022#68682f\u0022,\u0022gradient\u0022:{\u0022type\u0022:\u0022Linear\u0022,\u0022stops\u0022:\u0022[{\\u0022color\\u0022:\\u0022Black\\u0022,\\u0022offset\\u0022:0,\\u0022opacity\\u0022:1},{\\u0022color\\u0022:\\u0022#68682f\\u0022,\\u0022offset\\u0022:100,\\u0022opacity\\u0022:1}]\u0022,\u0022x1\u0022:0,\u0022y1\u0022:0,\u0022x2\u0022:50,\u0022y2\u0022:50},\u0022opacity\u0022:1,\u0022strokeColor\u0022:\u0022#2847e5\u0022,\u0022strokeDashArray\u0022:\u0022\u0022,\u0022strokeWidth\u0022:1}", "margin": "{\u0022left\u0022:0,\u0022right\u0022:0,\u0022top\u0022:0,\u0022bottom\u0022:0}" } ], "connectors": [ { "constraints": 144958, "sourcePoint": { "x": 219.86, "y": 130 }, "targetPoint": { "x": 300, "y": 130 }, "shape": null, "fixedUserHandles": [], "sourceID": "DecisionMsWKW", "targetID": "ProcessvFaSO", "sourcePortID": "", "targetPortID": "", "cornerRadius": 0, "hitPadding": 10, "sourcePadding": 0, "targetPadding": 0, "connectionPadding": 0, "bridgeSpace": 10, "type": 1, "segments": [ { "type": "Orthogonal", "allowDrag": true } ], "SegmentThumbSettings": { "Shape": 0 }, "annotations": [ { "offset": 0.5, "displacement": { "x": 0, "y": 0 }, "alignment": 0, "segmentAngle": false, "id": "leCNF", "content": "", "visibility": true, "constraints": 4, "UseTemplate": false, "hyperlink": null, "width": null, "height": null, "rotationAngle": 0, "style": { "bold": false, "color": "Black", "fontFamily": "Arial", "fontSize": 12, "italic": false, "textAlign": "Center", "textDecoration": "None", "textOverflow": "Wrap", "textWrapping": "WrapWithOverflow", "fill": "White", "gradient": null, "opacity": 1, "strokeColor": "White", "strokeDashArray": "", "strokeWidth": 4 }, "horizontalAlignment": 3, "verticalAlignment": 3, "margin": { "left": 0, "right": 0, "top": 0, "bottom": 0 }, "additionalInfo": {} } ], "style": { "fill": "transparent", "gradient": null, "opacity": 1, "strokeColor": "black", "strokeDashArray": "", "strokeWidth": 1 }, "sourceDecorator": { "width": 10, "height": 10, "shape": 1, "pathData": "", "pivot": { "x": 0, "y": 0.5 }, "style": { "fill": "black", "gradient": null, "opacity": 1, "strokeColor": "black", "strokeDashArray": "", "strokeWidth": 1 } }, "targetDecorator": { "width": 10, "height": 10, "shape": 0, "pathData": "", "pivot": { "x": 0, "y": 0.5 }, "style": { "fill": "black", "gradient": null, "opacity": 1, "strokeColor": "black", "strokeDashArray": "", "strokeWidth": 1 } }, "BezierConnectorSettings": { "ControlPointsVisibility": 14, "SegmentEditOrientation": 1, "Smoothness": 6, "AllowSegmentsReset": true }, "id": "OrthogonalConnectorxVBwP", "SearchTags": [], "tooltip": null, "zIndex": 9, "margin": { "left": 0, "right": 0, "top": 0, "bottom": 0 }, "isVisible": true, "canAutoLayout": true, "additionalInfo": {}, "flip": 0, "FlipMode": 3 }, { "constraints": 144958, "sourcePoint": { "x": 440, "y": 130 }, "targetPoint": { "x": 520, "y": 130 }, "shape": null, "fixedUserHandles": [], "sourceID": "ProcessvFaSO", "targetID": "TerminatorQhQQZ", "sourcePortID": "", "targetPortID": "", "cornerRadius": 0, "hitPadding": 10, "sourcePadding": 0, "targetPadding": 0, "connectionPadding": 0, "bridgeSpace": 10, "type": 1, "segments": [ { "type": "Orthogonal", "allowDrag": true } ], "SegmentThumbSettings": { "Shape": 0 }, "annotations": [ { "offset": 0.5, "displacement": { "x": 0, "y": 0 }, "alignment": 0, "segmentAngle": false, "id": "hitEk", "content": "", "visibility": true, "constraints": 4, "UseTemplate": false, "hyperlink": null, "width": null, "height": null, "rotationAngle": 0, "style": { "bold": false, "color": "Black", "fontFamily": "Arial", "fontSize": 12, "italic": false, "textAlign": "Center", "textDecoration": "None", "textOverflow": "Wrap", "textWrapping": "WrapWithOverflow", "fill": "White", "gradient": null, "opacity": 1, "strokeColor": "White", "strokeDashArray": "", "strokeWidth": 4 }, "horizontalAlignment": 3, "verticalAlignment": 3, "margin": { "left": 0, "right": 0, "top": 0, "bottom": 0 }, "additionalInfo": {} } ], "style": { "fill": "transparent", "gradient": null, "opacity": 1, "strokeColor": "black", "strokeDashArray": "", "strokeWidth": 1 }, "sourceDecorator": { "width": 10, "height": 10, "shape": 1, "pathData": "", "pivot": { "x": 0, "y": 0.5 }, "style": { "fill": "black", "gradient": null, "opacity": 1, "strokeColor": "black", "strokeDashArray": "", "strokeWidth": 1 } }, "targetDecorator": { "width": 10, "height": 10, "shape": 0, "pathData": "", "pivot": { "x": 0, "y": 0.5 }, "style": { "fill": "black", "gradient": null, "opacity": 1, "strokeColor": "black", "strokeDashArray": "", "strokeWidth": 1 } }, "BezierConnectorSettings": { "ControlPointsVisibility": 14, "SegmentEditOrientation": 1, "Smoothness": 6, "AllowSegmentsReset": true }, "id": "OrthogonalConnectorVyvBN", "SearchTags": [], "tooltip": null, "zIndex": 10, "margin": { "left": 0, "right": 0, "top": 0, "bottom": 0 }, "isVisible": true, "canAutoLayout": true, "additionalInfo": {}, "flip": 0, "FlipMode": 3 }, { "constraints": 144958, "sourcePoint": { "x": 590, "y": 150 }, "targetPoint": { "x": 170, "y": 230 }, "shape": null, "fixedUserHandles": [], "sourceID": "TerminatorQhQQZ", "targetID": "EventQhkqB", "sourcePortID": "", "targetPortID": "", "cornerRadius": 0, "hitPadding": 10, "sourcePadding": 0, "targetPadding": 0, "connectionPadding": 0, "bridgeSpace": 10, "type": 1, "segments": [ { "type": "Orthogonal", "allowDrag": true } ], "SegmentThumbSettings": { "Shape": 0 }, "annotations": [ { "offset": 0.5, "displacement": { "x": 0, "y": 0 }, "alignment": 0, "segmentAngle": false, "id": "GALVb", "content": "", "visibility": true, "constraints": 4, "UseTemplate": false, "hyperlink": null, "width": null, "height": null, "rotationAngle": 0, "style": { "bold": false, "color": "Black", "fontFamily": "Arial", "fontSize": 12, "italic": false, "textAlign": "Center", "textDecoration": "None", "textOverflow": "Wrap", "textWrapping": "WrapWithOverflow", "fill": "White", "gradient": null, "opacity": 1, "strokeColor": "White", "strokeDashArray": "", "strokeWidth": 4 }, "horizontalAlignment": 3, "verticalAlignment": 3, "margin": { "left": 0, "right": 0, "top": 0, "bottom": 0 }, "additionalInfo": {} } ], "style": { "fill": "transparent", "gradient": null, "opacity": 1, "strokeColor": "black", "strokeDashArray": "", "strokeWidth": 1 }, "sourceDecorator": { "width": 10, "height": 10, "shape": 1, "pathData": "", "pivot": { "x": 0, "y": 0.5 }, "style": { "fill": "black", "gradient": null, "opacity": 1, "strokeColor": "black", "strokeDashArray": "", "strokeWidth": 1 } }, "targetDecorator": { "width": 10, "height": 10, "shape": 0, "pathData": "", "pivot": { "x": 0, "y": 0.5 }, "style": { "fill": "black", "gradient": null, "opacity": 1, "strokeColor": "black", "strokeDashArray": "", "strokeWidth": 1 } }, "BezierConnectorSettings": { "ControlPointsVisibility": 14, "SegmentEditOrientation": 1, "Smoothness": 6, "AllowSegmentsReset": true }, "id": "OrthogonalConnectorkkZUS", "SearchTags": [], "tooltip": null, "zIndex": 11, "margin": { "left": 0, "right": 0, "top": 0, "bottom": 0 }, "isVisible": true, "canAutoLayout": true, "additionalInfo": {}, "flip": 0, "FlipMode": 3 }, { "constraints": 144958, "sourcePoint": { "x": 240, "y": 265 }, "targetPoint": { "x": 300, "y": 265 }, "shape": null, "fixedUserHandles": [], "sourceID": "EventQhkqB", "targetID": "DelayyhTTL", "sourcePortID": "", "targetPortID": "", "cornerRadius": 0, "hitPadding": 10, "sourcePadding": 0, "targetPadding": 0, "connectionPadding": 0, "bridgeSpace": 10, "type": 1, "segments": [ { "type": "Orthogonal", "allowDrag": true } ], "SegmentThumbSettings": { "Shape": 0 }, "annotations": [ { "offset": 0.5, "displacement": { "x": 0, "y": 0 }, "alignment": 0, "segmentAngle": false, "id": "IxfLA", "content": "", "visibility": true, "constraints": 4, "UseTemplate": false, "hyperlink": null, "width": null, "height": null, "rotationAngle": 0, "style": { "bold": false, "color": "Black", "fontFamily": "Arial", "fontSize": 12, "italic": false, "textAlign": "Center", "textDecoration": "None", "textOverflow": "Wrap", "textWrapping": "WrapWithOverflow", "fill": "White", "gradient": null, "opacity": 1, "strokeColor": "White", "strokeDashArray": "", "strokeWidth": 4 }, "horizontalAlignment": 3, "verticalAlignment": 3, "margin": { "left": 0, "right": 0, "top": 0, "bottom": 0 }, "additionalInfo": {} } ], "style": { "fill": "transparent", "gradient": null, "opacity": 1, "strokeColor": "black", "strokeDashArray": "", "strokeWidth": 1 }, "sourceDecorator": { "width": 10, "height": 10, "shape": 1, "pathData": "", "pivot": { "x": 0, "y": 0.5 }, "style": { "fill": "black", "gradient": null, "opacity": 1, "strokeColor": "black", "strokeDashArray": "", "strokeWidth": 1 } }, "targetDecorator": { "width": 10, "height": 10, "shape": 0, "pathData": "", "pivot": { "x": 0, "y": 0.5 }, "style": { "fill": "black", "gradient": null, "opacity": 1, "strokeColor": "black", "strokeDashArray": "", "strokeWidth": 1 } }, "BezierConnectorSettings": { "ControlPointsVisibility": 14, "SegmentEditOrientation": 1, "Smoothness": 6, "AllowSegmentsReset": true }, "id": "OrthogonalConnectorddTOM", "SearchTags": [], "tooltip": null, "zIndex": 12, "margin": { "left": 0, "right": 0, "top": 0, "bottom": 0 }, "isVisible": true, "canAutoLayout": true, "additionalInfo": {}, "flip": 0, "FlipMode": 3 }, { "constraints": 144958, "sourcePoint": { "x": 440, "y": 265 }, "targetPoint": { "x": 512.5, "y": 265 }, "shape": null, "fixedUserHandles": [], "sourceID": "DelayyhTTL", "targetID": "Manual-OperationnhNrx", "sourcePortID": "", "targetPortID": "", "cornerRadius": 0, "hitPadding": 10, "sourcePadding": 0, "targetPadding": 0, "connectionPadding": 0, "bridgeSpace": 10, "type": 1, "segments": [ { "type": "Orthogonal", "allowDrag": true } ], "SegmentThumbSettings": { "Shape": 0 }, "annotations": [ { "offset": 0.5, "displacement": { "x": 0, "y": 0 }, "alignment": 0, "segmentAngle": false, "id": "IBdoy", "content": "", "visibility": true, "constraints": 4, "UseTemplate": false, "hyperlink": null, "width": null, "height": null, "rotationAngle": 0, "style": { "bold": false, "color": "Black", "fontFamily": "Arial", "fontSize": 12, "italic": false, "textAlign": "Center", "textDecoration": "None", "textOverflow": "Wrap", "textWrapping": "WrapWithOverflow", "fill": "White", "gradient": null, "opacity": 1, "strokeColor": "White", "strokeDashArray": "", "strokeWidth": 4 }, "horizontalAlignment": 3, "verticalAlignment": 3, "margin": { "left": 0, "right": 0, "top": 0, "bottom": 0 }, "additionalInfo": {} } ], "style": { "fill": "transparent", "gradient": null, "opacity": 1, "strokeColor": "black", "strokeDashArray": "", "strokeWidth": 1 }, "sourceDecorator": { "width": 10, "height": 10, "shape": 1, "pathData": "", "pivot": { "x": 0, "y": 0.5 }, "style": { "fill": "black", "gradient": null, "opacity": 1, "strokeColor": "black", "strokeDashArray": "", "strokeWidth": 1 } }, "targetDecorator": { "width": 10, "height": 10, "shape": 0, "pathData": "", "pivot": { "x": 0, "y": 0.5 }, "style": { "fill": "black", "gradient": null, "opacity": 1, "strokeColor": "black", "strokeDashArray": "", "strokeWidth": 1 } }, "BezierConnectorSettings": { "ControlPointsVisibility": 14, "SegmentEditOrientation": 1, "Smoothness": 6, "AllowSegmentsReset": true }, "id": "OrthogonalConnectorZPMXf", "SearchTags": [], "tooltip": null, "zIndex": 13, "margin": { "left": 0, "right": 0, "top": 0, "bottom": 0 }, "isVisible": true, "canAutoLayout": true, "additionalInfo": {}, "flip": 0, "FlipMode": 3 }, { "constraints": 144958, "sourcePoint": { "x": 627.49, "y": 265 }, "targetPoint": { "x": 721.42, "y": 265 }, "shape": null, "fixedUserHandles": [], "sourceID": "Manual-OperationnhNrx", "targetID": "Manual-InputQHnGK", "sourcePortID": "", "targetPortID": "", "cornerRadius": 0, "hitPadding": 10, "sourcePadding": 0, "targetPadding": 0, "connectionPadding": 0, "bridgeSpace": 10, "type": 1, "segments": [ { "type": "Orthogonal", "allowDrag": true } ], "SegmentThumbSettings": { "Shape": 0 }, "annotations": [ { "offset": 0.5, "displacement": { "x": 0, "y": 0 }, "alignment": 0, "segmentAngle": false, "id": "Htrhc", "content": "", "visibility": true, "constraints": 4, "UseTemplate": false, "hyperlink": null, "width": null, "height": null, "rotationAngle": 0, "style": { "bold": false, "color": "Black", "fontFamily": "Arial", "fontSize": 12, "italic": false, "textAlign": "Center", "textDecoration": "None", "textOverflow": "Wrap", "textWrapping": "WrapWithOverflow", "fill": "White", "gradient": null, "opacity": 1, "strokeColor": "White", "strokeDashArray": "", "strokeWidth": 4 }, "horizontalAlignment": 3, "verticalAlignment": 3, "margin": { "left": 0, "right": 0, "top": 0, "bottom": 0 }, "additionalInfo": {} } ], "style": { "fill": "transparent", "gradient": null, "opacity": 1, "strokeColor": "black", "strokeDashArray": "", "strokeWidth": 1 }, "sourceDecorator": { "width": 10, "height": 10, "shape": 1, "pathData": "", "pivot": { "x": 0, "y": 0.5 }, "style": { "fill": "black", "gradient": null, "opacity": 1, "strokeColor": "black", "strokeDashArray": "", "strokeWidth": 1 } }, "targetDecorator": { "width": 10, "height": 10, "shape": 0, "pathData": "", "pivot": { "x": 0, "y": 0.5 }, "style": { "fill": "black", "gradient": null, "opacity": 1, "strokeColor": "black", "strokeDashArray": "", "strokeWidth": 1 } }, "BezierConnectorSettings": { "ControlPointsVisibility": 14, "SegmentEditOrientation": 1, "Smoothness": 6, "AllowSegmentsReset": true }, "id": "OrthogonalConnectorawkNO", "SearchTags": [], "tooltip": null, "zIndex": 14, "margin": { "left": 0, "right": 0, "top": 0, "bottom": 0 }, "isVisible": true, "canAutoLayout": true, "additionalInfo": {}, "flip": 0, "FlipMode": 3 }, { "constraints": 144958, "sourcePoint": { "x": 790, "y": 300 }, "targetPoint": { "x": 170, "y": 390 }, "shape": null, "fixedUserHandles": [], "sourceID": "Manual-InputQHnGK", "targetID": "DatahUHNd", "sourcePortID": "", "targetPortID": "", "cornerRadius": 0, "hitPadding": 10, "sourcePadding": 0, "targetPadding": 0, "connectionPadding": 0, "bridgeSpace": 10, "type": 1, "segments": [ { "type": "Orthogonal", "allowDrag": true } ], "SegmentThumbSettings": { "Shape": 0 }, "annotations": [ { "offset": 0.5, "displacement": { "x": 0, "y": 0 }, "alignment": 0, "segmentAngle": false, "id": "iGoIO", "content": "", "visibility": true, "constraints": 4, "UseTemplate": false, "hyperlink": null, "width": null, "height": null, "rotationAngle": 0, "style": { "bold": false, "color": "Black", "fontFamily": "Arial", "fontSize": 12, "italic": false, "textAlign": "Center", "textDecoration": "None", "textOverflow": "Wrap", "textWrapping": "WrapWithOverflow", "fill": "White", "gradient": null, "opacity": 1, "strokeColor": "White", "strokeDashArray": "", "strokeWidth": 4 }, "horizontalAlignment": 3, "verticalAlignment": 3, "margin": { "left": 0, "right": 0, "top": 0, "bottom": 0 }, "additionalInfo": {} } ], "style": { "fill": "transparent", "gradient": null, "opacity": 1, "strokeColor": "black", "strokeDashArray": "", "strokeWidth": 1 }, "sourceDecorator": { "width": 10, "height": 10, "shape": 1, "pathData": "", "pivot": { "x": 0, "y": 0.5 }, "style": { "fill": "black", "gradient": null, "opacity": 1, "strokeColor": "black", "strokeDashArray": "", "strokeWidth": 1 } }, "targetDecorator": { "width": 10, "height": 10, "shape": 0, "pathData": "", "pivot": { "x": 0, "y": 0.5 }, "style": { "fill": "black", "gradient": null, "opacity": 1, "strokeColor": "black", "strokeDashArray": "", "strokeWidth": 1 } }, "BezierConnectorSettings": { "ControlPointsVisibility": 14, "SegmentEditOrientation": 1, "Smoothness": 6, "AllowSegmentsReset": true }, "id": "OrthogonalConnectorxHHAJ", "SearchTags": [], "tooltip": null, "zIndex": 15, "margin": { "left": 0, "right": 0, "top": 0, "bottom": 0 }, "isVisible": true, "canAutoLayout": true, "additionalInfo": {}, "flip": 0, "FlipMode": 3 }, { "constraints": 144958, "sourcePoint": { "x": 230, "y": 425 }, "targetPoint": { "x": 300.38, "y": 425 }, "shape": null, "fixedUserHandles": [], "sourceID": "DatahUHNd", "targetID": "CardeUkzg", "sourcePortID": "", "targetPortID": "", "cornerRadius": 0, "hitPadding": 10, "sourcePadding": 0, "targetPadding": 0, "connectionPadding": 0, "bridgeSpace": 10, "type": 1, "segments": [ { "type": "Orthogonal", "allowDrag": true } ], "SegmentThumbSettings": { "Shape": 0 }, "annotations": [ { "offset": 0.5, "displacement": { "x": 0, "y": 0 }, "alignment": 0, "segmentAngle": false, "id": "tHIen", "content": "", "visibility": true, "constraints": 4, "UseTemplate": false, "hyperlink": null, "width": null, "height": null, "rotationAngle": 0, "style": { "bold": false, "color": "Black", "fontFamily": "Arial", "fontSize": 12, "italic": false, "textAlign": "Center", "textDecoration": "None", "textOverflow": "Wrap", "textWrapping": "WrapWithOverflow", "fill": "White", "gradient": null, "opacity": 1, "strokeColor": "White", "strokeDashArray": "", "strokeWidth": 4 }, "horizontalAlignment": 3, "verticalAlignment": 3, "margin": { "left": 0, "right": 0, "top": 0, "bottom": 0 }, "additionalInfo": {} } ], "style": { "fill": "transparent", "gradient": null, "opacity": 1, "strokeColor": "black", "strokeDashArray": "", "strokeWidth": 1 }, "sourceDecorator": { "width": 10, "height": 10, "shape": 1, "pathData": "", "pivot": { "x": 0, "y": 0.5 }, "style": { "fill": "black", "gradient": null, "opacity": 1, "strokeColor": "black", "strokeDashArray": "", "strokeWidth": 1 } }, "targetDecorator": { "width": 10, "height": 10, "shape": 0, "pathData": "", "pivot": { "x": 0, "y": 0.5 }, "style": { "fill": "black", "gradient": null, "opacity": 1, "strokeColor": "black", "strokeDashArray": "", "strokeWidth": 1 } }, "BezierConnectorSettings": { "ControlPointsVisibility": 14, "SegmentEditOrientation": 1, "Smoothness": 6, "AllowSegmentsReset": true }, "id": "OrthogonalConnectorSCJAd", "SearchTags": [], "tooltip": null, "zIndex": 16, "margin": { "left": 0, "right": 0, "top": 0, "bottom": 0 }, "isVisible": true, "canAutoLayout": true, "additionalInfo": {}, "flip": 0, "FlipMode": 3 } ], "swimlanes": [], "enableConnectorSplitting": false} \ No newline at end of file