From 37408a3910f323fa0bfb55a3347c62001f4c3e0e Mon Sep 17 00:00:00 2001 From: Stevan Andjelkovic Date: Tue, 8 Feb 2022 09:27:52 +0100 Subject: [PATCH] docs(course): add motivation for each chapter --- doc/advanced-testing-mini-course/README.md | 91 +- doc/event-loop-disruptor.excalidraw | 4459 ++++++++++++++++++++ doc/event-loop-disruptor.svg | 16 + 3 files changed, 4562 insertions(+), 4 deletions(-) create mode 100644 doc/event-loop-disruptor.excalidraw create mode 100644 doc/event-loop-disruptor.svg diff --git a/doc/advanced-testing-mini-course/README.md b/doc/advanced-testing-mini-course/README.md index 6c78bbe1..71221534 100644 --- a/doc/advanced-testing-mini-course/README.md +++ b/doc/advanced-testing-mini-course/README.md @@ -45,7 +45,16 @@ ### 1. State machine testing -* The software under test (SUT) +* Motivation + + - Testing: "the process of using or trying something to see if it works, is + suitable, obeys the rules, etc." -- Cambridge dictionary + + - In order to check that the software under test (SUT) obeys the rules we must + first write the rules down + + - State machine specifications are one of many ways to formally "write down + the rules" ```haskell newtype Counter = Counter (IORef Int) @@ -83,22 +92,96 @@ step m cmd = case cmd of exec :: Counter -> Command -> IO Response exec = undefined -genCommands :: Model -> Gen [Command] -genCommands = undefined +newtype Program = Program [Command] + +genProgram :: Model -> Gen Program +genProgram = undefined prop_counter :: Property -prop_counter = forAll genCommands $ \cmds -> do +prop_counter = forAll genProgram $ \(Program cmds) -> do undefined ``` +* Excerises + +1. Implement shrinking for programs. + +2. Collect timing information about how long each command takes to execute on + average. + +* See also + + - Why state machines over other forms of specifications? + + Executable (we will use this later) + + Gurevich's generalisation of the Church-Turing thesis + + Already heavily used in distributed systems + ### 2. Concurrent state machine testing with linearisability +* Motivation + + - In the previous chapter we saw how to test if a sequential (single-threaded) + program respects some state machine specification + + - Next we show how the *same* specification can be used to check if a + concurrent execution is correct using linearisability + + - E.g. counters are often shared among different threads, how can we test that + the counter implementation is thread-safe? + +```haskell +newtype Program = Program [Command] + +newtype ConcProgram = ConcProgram [[Command]] + +genConcProgram :: Model -> Gen ConcProgram +genConcProgram = undefined + +validConcProgram :: Model -> Precondition -> ConcProgram -> Bool +validConcProgram = undefined + +data History = History Op + +execConc :: ConcProgram -> IO History +execConc = undefined + +linearisable :: History -> Bool +linearisable = undefined +``` + ### 3. Consumer-driven contract testing using state machines +* Motivation + + - Components rarely exist in isolation, they almost always depend on some + other component; + + - When we test we often want to test as if the component existed in isolation, + e.g. if component A depends on component B, we'd like to test B first and + then *assume* that B is working when testing A; + + - Assumptions like these can be justified using so called *contract tests*. + ### 4. Fault-injection +* Motivation + - "almost all (92%) of the catastrophic system failures are the result of + incorrect handling of non-fatal errors explicitly signaled in software. + [...] in 58% of the catastrophic failures, the underlying faults could + easily have been detected through simple testing of error handling code." -- + [Simple Testing Can Prevent Most Critical Failures: An Analysis of + Production Failures in Distributed Data-intensive + Systems](http://www.eecg.toronto.edu/~yuan/papers/failure_analysis_osdi14.pdf) + (2014) Yuan et al; + ### 5. Simulation testing +* Motivation + + - "haven't tested foundation[db] in part because their testing appears to be + waaaay more rigorous than mine." -- Kyle + ["aphyr"](https://twitter.com/aphyr/status/405017101804396546) Kingsbury + ```haskell data Network = Network { deploy :: Addr -> IO () -- bind and listen diff --git a/doc/event-loop-disruptor.excalidraw b/doc/event-loop-disruptor.excalidraw new file mode 100644 index 00000000..c2d78c9d --- /dev/null +++ b/doc/event-loop-disruptor.excalidraw @@ -0,0 +1,4459 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw.com", + "elements": [ + { + "type": "rectangle", + "version": 102, + "versionNonce": 1266010450, + "isDeleted": false, + "id": "8EOPoCGc4kR7r6eoea63l", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 384, + "y": 230, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 969, + "height": 611, + "seed": 1323558414, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "line", + "version": 44, + "versionNonce": 141180686, + "isDeleted": false, + "id": "kDH249Y5hJnkv76GbOPAi", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 225.99999999999997, + "y": 229, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 66, + "height": 1, + "seed": 1484797838, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 66, + -1 + ] + ] + }, + { + "type": "line", + "version": 160, + "versionNonce": 1789892622, + "isDeleted": false, + "id": "oOoQRGNhVEX3ucBkD-TY1", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 294, + "y": 231, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 0.8800490024219698, + "height": 274.23657077625387, + "seed": 656978066, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0.8800490024219698, + 274.23657077625387 + ] + ] + }, + { + "type": "text", + "version": 16, + "versionNonce": 107189906, + "isDeleted": false, + "id": "kA0UhqXXssaKQTmyRADOc", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 185, + "y": 195.5, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 103, + "height": 26, + "seed": 1917338382, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "Event loop", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 16, + "versionNonce": 875844494, + "isDeleted": false, + "id": "KYP270iRctMFsae9xap07", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 410, + "y": 194, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 103, + "height": 26, + "seed": 2085648210, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "Event loop", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "ellipse", + "version": 178, + "versionNonce": 1257358290, + "isDeleted": false, + "id": "m72U9U-IAJ9tQzCOfURA5", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 185, + "y": 574, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 99, + "height": 49, + "seed": 165106130, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 222, + "versionNonce": 1269509198, + "isDeleted": false, + "id": "b9w5gruYf_iF3hlrOW7Ku", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 207, + "y": 586.5, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 65, + "height": 26, + "seed": 251231118, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "vOY_6eThS_7_n8Xh0wNd1" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Clients", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "rectangle", + "version": 161, + "versionNonce": 69547794, + "isDeleted": false, + "id": "H4N9hxo34J_6sFhLYXOox", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 454, + "y": 310, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 143, + "height": 52, + "seed": 1372492626, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "BtM0R_9AXz7gzmz-6pps4", + "C5VllspLp9zN1A3mvlzOY", + "9qwfx7vvhLVYt_xILl-MT", + "YGg4nuZMKa1P0pZY0A_-_" + ] + }, + { + "type": "rectangle", + "version": 108, + "versionNonce": 1229575186, + "isDeleted": false, + "id": "ATb3QUwKijtxTy7FiSQqV", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 383, + "y": 362, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 25, + "height": 59.00000000000001, + "seed": 61000530, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "bTM7FUN1dgUq8z-SLO-kf", + "aZrahEIvxB1gh-jdDKQOd" + ] + }, + { + "type": "rectangle", + "version": 142, + "versionNonce": 1052330190, + "isDeleted": false, + "id": "47cOcJQP8SVlH82x-7-tZ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 382.0722891566271, + "y": 450.28915662650616, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 25.771084337349404, + "height": 105.57831325301203, + "seed": 1487482002, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "vOY_6eThS_7_n8Xh0wNd1", + "dWAYuXiuoobbvMLpo8CNt", + "C5VllspLp9zN1A3mvlzOY" + ] + }, + { + "type": "rectangle", + "version": 62, + "versionNonce": 430341970, + "isDeleted": false, + "id": "3eFHlg8qD5RGcnofA_k9s", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 256, + "y": 359, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 39, + "height": 102, + "seed": 236552402, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "bTM7FUN1dgUq8z-SLO-kf" + ] + }, + { + "type": "rectangle", + "version": 209, + "versionNonce": 1277969426, + "isDeleted": false, + "id": "25N9gN0db-f8OXJYmYItn", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 462, + "y": 411, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 125, + "height": 151.99999999999994, + "seed": 1811818386, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "aZrahEIvxB1gh-jdDKQOd", + "dWAYuXiuoobbvMLpo8CNt", + "CRT-tlzs_LlEKThmdsrCY", + "Fn1FrXPpw3HJ1rW00-gcd", + "dW2zHtdZITPHSMSEF9N14" + ] + }, + { + "type": "rectangle", + "version": 262, + "versionNonce": 2015110930, + "isDeleted": false, + "id": "-2ad8fI57Axskh6NTuTQF", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 758, + "y": 461, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 125, + "height": 151.99999999999994, + "seed": 1758899726, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "Ie6wYa63bHc4NPj2EUmcK", + "-U0uvnPoImVPzvvXJ8eth" + ] + }, + { + "type": "rectangle", + "version": 238, + "versionNonce": 1889934542, + "isDeleted": false, + "id": "dTlAtWLdyQ05p9DHF0wd4", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1063, + "y": 489, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 125, + "height": 151.99999999999994, + "seed": 322051346, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "ZxMLOB5n_9gI9iM2402Ua", + "e6xlikRVFqOuhHl1WGAU9" + ] + }, + { + "type": "rectangle", + "version": 298, + "versionNonce": 1209269586, + "isDeleted": false, + "id": "gqrNI1fcTWCaSAr86MrVc", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1067, + "y": 251, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 125, + "height": 151.99999999999994, + "seed": 1815384334, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "zGNf2Vw3RN-QfJ9UdJAhN" + ] + }, + { + "type": "rectangle", + "version": 394, + "versionNonce": 678542098, + "isDeleted": false, + "id": "6QbY6BifRh3pF6LM0mi8g", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 647, + "y": 262, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 125, + "height": 151.99999999999994, + "seed": 1927047246, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "NUmwcQ2mtnuD5eFCzBwkw", + "l8ecOxgmI2p4x5XpnhCab" + ] + }, + { + "type": "ellipse", + "version": 100, + "versionNonce": 651373458, + "isDeleted": false, + "id": "6KndxbiepfFjKHBMS0_2x", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 475, + "y": 432, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 107, + "height": 111, + "seed": 389111698, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "nadsRD1YaMucnPHJbywLj" + ] + }, + { + "type": "ellipse", + "version": 155, + "versionNonce": 1069776274, + "isDeleted": false, + "id": "Eq782tZZigy2vBxeF7JgP", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 771, + "y": 482, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 107, + "height": 111, + "seed": 935166418, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "ellipse", + "version": 131, + "versionNonce": 1347321678, + "isDeleted": false, + "id": "Y_lwcDpb6gaGsNpg750b4", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1076, + "y": 510, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 107, + "height": 111, + "seed": 106394894, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "ellipse", + "version": 193, + "versionNonce": 373679890, + "isDeleted": false, + "id": "llBMOces6-ajTajEH1zrW", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1080, + "y": 272, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 107, + "height": 111, + "seed": 199446226, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "fU2tMgtCYbf_RAER4WP8C" + ] + }, + { + "type": "ellipse", + "version": 334, + "versionNonce": 1504526286, + "isDeleted": false, + "id": "wybR1vOnpflXMF1L8kWuH", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 660, + "y": 284, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 107, + "height": 111, + "seed": 95914898, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "ellipse", + "version": 107, + "versionNonce": 1157241166, + "isDeleted": false, + "id": "EGwhZErbC1gerM1glKt9e", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 509, + "y": 470, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 41, + "height": 43, + "seed": 640920402, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "ellipse", + "version": 163, + "versionNonce": 778722446, + "isDeleted": false, + "id": "mvB2U9A8__jRIlHQ_3LyI", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 805, + "y": 520, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 41, + "height": 43, + "seed": 1311882318, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "ellipse", + "version": 139, + "versionNonce": 120580114, + "isDeleted": false, + "id": "vCQcyvFU7Ym0CS37lHDqg", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1110, + "y": 548, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 41, + "height": 43, + "seed": 1154525906, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "ellipse", + "version": 200, + "versionNonce": 1724338066, + "isDeleted": false, + "id": "1C9wav_SpLdOaOWkHrrGn", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1114, + "y": 310, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 41, + "height": 43, + "seed": 299581262, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "ellipse", + "version": 323, + "versionNonce": 1386343442, + "isDeleted": false, + "id": "IqSWUenvhIil0YED9BsRr", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 694, + "y": 322, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 41, + "height": 43, + "seed": 2080779918, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "line", + "version": 98, + "versionNonce": 843672210, + "isDeleted": false, + "id": "dOByeqEvcaKLrdxd-VlN6", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 513, + "y": 438, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 12, + "height": 34, + "seed": 120436818, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 12, + 34 + ] + ] + }, + { + "type": "line", + "version": 154, + "versionNonce": 157416274, + "isDeleted": false, + "id": "0uD0VZuzI0XBx6pb_zipQ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 809, + "y": 488, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 12, + "height": 34, + "seed": 873559954, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 12, + 34 + ] + ] + }, + { + "type": "line", + "version": 130, + "versionNonce": 2005872270, + "isDeleted": false, + "id": "TxoxT8OawM9Vi9SSxm5Ap", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1114, + "y": 516, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 12, + "height": 34, + "seed": 771859278, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 12, + 34 + ] + ] + }, + { + "type": "line", + "version": 191, + "versionNonce": 1204071054, + "isDeleted": false, + "id": "_U_kbtmKaPQM-t1jXH5QO", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1118, + "y": 278, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 12, + "height": 34, + "seed": 2079696018, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 12, + 34 + ] + ] + }, + { + "type": "line", + "version": 314, + "versionNonce": 298849806, + "isDeleted": false, + "id": "kmK4ydGIc8YZVNBa1BVuZ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 698, + "y": 290, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 12, + "height": 34, + "seed": 1369721170, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 12, + 34 + ] + ] + }, + { + "type": "line", + "version": 112, + "versionNonce": 21348238, + "isDeleted": false, + "id": "bncxbWfvUFJOCPrxQgH1W", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 560, + "y": 442, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 16, + "height": 31, + "seed": 2103549330, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + -16, + 31 + ] + ] + }, + { + "type": "line", + "version": 168, + "versionNonce": 843815630, + "isDeleted": false, + "id": "QD-0IretvxOa8BqKy15zf", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 856, + "y": 492, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 16, + "height": 31, + "seed": 1771111054, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + -16, + 31 + ] + ] + }, + { + "type": "line", + "version": 144, + "versionNonce": 1937756494, + "isDeleted": false, + "id": "w0QUqy2-GpDdTdSH4zpkx", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1161, + "y": 520, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 16, + "height": 31, + "seed": 1725399186, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + -16, + 31 + ] + ] + }, + { + "type": "line", + "version": 205, + "versionNonce": 68914514, + "isDeleted": false, + "id": "et2RqlGA91PZJMFzbwnEW", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1165, + "y": 282, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 16, + "height": 31, + "seed": 588391822, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + -16, + 31 + ] + ] + }, + { + "type": "line", + "version": 328, + "versionNonce": 1131321810, + "isDeleted": false, + "id": "HLECip4WPfPQFi7N2mLpb", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 745, + "y": 294, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 16, + "height": 31, + "seed": 1084042446, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + -16, + 31 + ] + ] + }, + { + "type": "line", + "version": 98, + "versionNonce": 1856129106, + "isDeleted": false, + "id": "n1VI2zw5vE1rn2vNHffdb", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 550, + "y": 497, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 25, + "height": 8, + "seed": 975231566, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 25, + 8 + ] + ] + }, + { + "type": "line", + "version": 154, + "versionNonce": 501924114, + "isDeleted": false, + "id": "jPOZDUSQ3-Zzcq9m4GHp3", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 846, + "y": 547, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 25, + "height": 8, + "seed": 1977660754, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 25, + 8 + ] + ] + }, + { + "type": "line", + "version": 130, + "versionNonce": 463025682, + "isDeleted": false, + "id": "1UiXGoTvmFmAuxGAUPf55", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1151, + "y": 575, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 25, + "height": 8, + "seed": 885787022, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 25, + 8 + ] + ] + }, + { + "type": "line", + "version": 191, + "versionNonce": 120334542, + "isDeleted": false, + "id": "gl3JcBd6EIFt2u67Zf-cW", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1155, + "y": 337, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 25, + "height": 8, + "seed": 1790394962, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 25, + 8 + ] + ] + }, + { + "type": "line", + "version": 314, + "versionNonce": 1673405518, + "isDeleted": false, + "id": "jcZpOtIO5oNdsb6lgC6EM", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 735, + "y": 349, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 25, + "height": 8, + "seed": 78860050, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 25, + 8 + ] + ] + }, + { + "type": "line", + "version": 107, + "versionNonce": 2042797518, + "isDeleted": false, + "id": "dspcXdacopTJBjV1R6sSV", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 531, + "y": 514, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 9, + "height": 29, + "seed": 1737164690, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 9, + 29 + ] + ] + }, + { + "type": "line", + "version": 163, + "versionNonce": 468390158, + "isDeleted": false, + "id": "-ljg747rH3anj7DfWsbXj", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 827, + "y": 564, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 9, + "height": 29, + "seed": 1571651790, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 9, + 29 + ] + ] + }, + { + "type": "line", + "version": 139, + "versionNonce": 397230222, + "isDeleted": false, + "id": "7TEYrnpl-nIQ9FJaKk1m4", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1132, + "y": 592, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 9, + "height": 29, + "seed": 1425907282, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 9, + 29 + ] + ] + }, + { + "type": "line", + "version": 200, + "versionNonce": 1872892690, + "isDeleted": false, + "id": "D2dQVFDDC6RLkjPO1hhVY", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1136, + "y": 354, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 9, + "height": 29, + "seed": 823280590, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 9, + 29 + ] + ] + }, + { + "type": "line", + "version": 323, + "versionNonce": 1507823506, + "isDeleted": false, + "id": "zpALhTmmVPV7WPTmNcV7u", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 716, + "y": 366, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 9, + "height": 29, + "seed": 1312449294, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 9, + 29 + ] + ] + }, + { + "type": "line", + "version": 96, + "versionNonce": 1872326162, + "isDeleted": false, + "id": "Lo2CQH4ALWinCT9c2Hhme", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 512, + "y": 504, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 22, + "height": 23, + "seed": 2045450834, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + -22, + 23 + ] + ] + }, + { + "type": "line", + "version": 152, + "versionNonce": 953470674, + "isDeleted": false, + "id": "te_uMv5SzITYDNDnr4Na0", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 808, + "y": 554, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 22, + "height": 23, + "seed": 1048722194, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + -22, + 23 + ] + ] + }, + { + "type": "line", + "version": 169, + "versionNonce": 502999762, + "isDeleted": false, + "id": "uqdbkMifoyTEFpIyWke6N", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1113, + "y": 582, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 22, + "height": 23, + "seed": 972007374, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + -22, + 23 + ] + ] + }, + { + "type": "line", + "version": 189, + "versionNonce": 1636425486, + "isDeleted": false, + "id": "yqdJL7ZxAX_O8g-k0UHpo", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1117, + "y": 344, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 22, + "height": 23, + "seed": 1392453650, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + -22, + 23 + ] + ] + }, + { + "type": "line", + "version": 312, + "versionNonce": 1632660110, + "isDeleted": false, + "id": "Gjx7TgHQskX1RS-0j1uVU", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 697, + "y": 356, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 22, + "height": 23, + "seed": 324771026, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + -22, + 23 + ] + ] + }, + { + "type": "line", + "version": 101, + "versionNonce": 59356174, + "isDeleted": false, + "id": "i37rkFZ6bbR4IxqGbRGEF", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 510, + "y": 482, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 32, + "height": 9, + "seed": 814473102, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + -32, + -9 + ] + ] + }, + { + "type": "line", + "version": 157, + "versionNonce": 113360718, + "isDeleted": false, + "id": "Wt64qpSZNsef9NUL4RMnS", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 806, + "y": 532, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 32, + "height": 9, + "seed": 236992270, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + -32, + -9 + ] + ] + }, + { + "type": "line", + "version": 133, + "versionNonce": 1296902094, + "isDeleted": false, + "id": "qUUTaayXccHE1bfuP6czz", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1111, + "y": 560, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 32, + "height": 9, + "seed": 1545208850, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + -32, + -9 + ] + ] + }, + { + "type": "line", + "version": 194, + "versionNonce": 1003610322, + "isDeleted": false, + "id": "vGBJ28nidjt0EzIPIPeU_", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1115, + "y": 322, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 32, + "height": 9, + "seed": 1039440398, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + -32, + -9 + ] + ] + }, + { + "type": "line", + "version": 317, + "versionNonce": 1781255506, + "isDeleted": false, + "id": "JFvA3R0xi5d_F3bCpaNof", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 695, + "y": 334, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 32, + "height": 9, + "seed": 391565646, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + -32, + -9 + ] + ] + }, + { + "type": "rectangle", + "version": 103, + "versionNonce": 438688722, + "isDeleted": false, + "id": "KoUy6wTvp43gjx4dLYLEq", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 566, + "y": 391, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 21, + "height": 19, + "seed": 1522830162, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "rectangle", + "version": 159, + "versionNonce": 246883474, + "isDeleted": false, + "id": "PN5TSvqTZ3LWCgWO3NlIO", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 862, + "y": 441, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 21, + "height": 19, + "seed": 208472274, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "rectangle", + "version": 135, + "versionNonce": 348923794, + "isDeleted": false, + "id": "tpaZCaz1H_IhlgrL6KJtY", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1167, + "y": 469, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 21, + "height": 19, + "seed": 226852366, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "rectangle", + "version": 196, + "versionNonce": 190238030, + "isDeleted": false, + "id": "n2bn_lLX91j715Pp69MZb", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1171, + "y": 231, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 21, + "height": 19, + "seed": 1019499986, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "rectangle", + "version": 319, + "versionNonce": 2034231502, + "isDeleted": false, + "id": "Q7cJ5Wh8GT0glgB5q74o2", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 751, + "y": 243, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 21, + "height": 19, + "seed": 1261712018, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "line", + "version": 103, + "versionNonce": 1367470798, + "isDeleted": false, + "id": "uIHNeSyQVOGE5uvXD7gPn", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 296, + "y": 506.00000000000006, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 0.2253276710569594, + "height": 19.527599068731035, + "seed": 859958738, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0.2253276710569594, + 19.527599068731035 + ] + ] + }, + { + "type": "rectangle", + "version": 43, + "versionNonce": 1647450958, + "isDeleted": false, + "id": "BnK18jrhLBl86Q7x0_8xS", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 466, + "y": 601, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 134, + "height": 43, + "seed": 633867278, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "Fn1FrXPpw3HJ1rW00-gcd" + ] + }, + { + "type": "rectangle", + "version": 75, + "versionNonce": 1873105678, + "isDeleted": false, + "id": "zmlEtBh5o7nR6KTIs45p5", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 1064, + "y": 677, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 134, + "height": 43, + "seed": 516996498, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "e6xlikRVFqOuhHl1WGAU9" + ] + }, + { + "type": "rectangle", + "version": 68, + "versionNonce": 1617913810, + "isDeleted": false, + "id": "HYCBUpMbJgodrkcnBSXzA", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 619, + "y": 499, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 92.99999999999999, + "height": 33, + "seed": 17866254, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "rectangle", + "version": 28, + "versionNonce": 2096976718, + "isDeleted": false, + "id": "peSghU85YFJSwj0QihYaz", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 838, + "y": 296, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 106, + "height": 41, + "seed": 1647457554, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "zGNf2Vw3RN-QfJ9UdJAhN", + "NUmwcQ2mtnuD5eFCzBwkw" + ] + }, + { + "type": "ellipse", + "version": 55, + "versionNonce": 1984320398, + "isDeleted": false, + "id": "LaVdVaRIM84MNEF0INQuj", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 446, + "y": 691, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 29, + "height": 37, + "seed": 1714444242, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "ellipse", + "version": 87, + "versionNonce": 1079515986, + "isDeleted": false, + "id": "3voipl0Y8jz_n91AP0-W7", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 1044, + "y": 767, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 29, + "height": 37, + "seed": 30481550, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "line", + "version": 53, + "versionNonce": 916780114, + "isDeleted": false, + "id": "BTU6NVJKFalhdkgtiDqjx", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 458, + "y": 693, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 157, + "height": 1, + "seed": 132917074, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 157, + 1 + ] + ] + }, + { + "type": "line", + "version": 85, + "versionNonce": 625441486, + "isDeleted": false, + "id": "5Yv67UoHht9BAhHJcLm-M", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 1056, + "y": 769, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 157, + "height": 1, + "seed": 348601170, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 157, + 1 + ] + ] + }, + { + "type": "line", + "version": 49, + "versionNonce": 697348558, + "isDeleted": false, + "id": "fXEwarCCpGprm_C1Dmu_n", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 462, + "y": 727, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 149, + "height": 1, + "seed": 4851986, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 149, + -1 + ] + ] + }, + { + "type": "line", + "version": 81, + "versionNonce": 1360847122, + "isDeleted": false, + "id": "WMR4nBkj274wdZZ09aga9", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 1060, + "y": 803, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 149, + "height": 1, + "seed": 1792694990, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 149, + -1 + ] + ] + }, + { + "type": "line", + "version": 88, + "versionNonce": 2053544466, + "isDeleted": false, + "id": "93tADxkfplqyxTkHzy_TM", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 618, + "y": 697, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 13, + "height": 31, + "seed": 464800978, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 5, + 20 + ], + [ + -8, + 31 + ] + ] + }, + { + "type": "line", + "version": 120, + "versionNonce": 74117390, + "isDeleted": false, + "id": "3YRAsZoITRHbXtilj1_b1", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 1216, + "y": 773, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 13, + "height": 31, + "seed": 178782482, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 5, + 20 + ], + [ + -8, + 31 + ] + ] + }, + { + "type": "text", + "version": 54, + "versionNonce": 1335363858, + "isDeleted": false, + "id": "dQBY4vrgeX6dWZF3TUcg7", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 318, + "y": 332, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 99, + "height": 26, + "seed": 692634194, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "BtM0R_9AXz7gzmz-6pps4" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Transport", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 29, + "versionNonce": 478878734, + "isDeleted": false, + "id": "e72f70AweimaCKvbPTqnq", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 500, + "y": 699, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 78, + "height": 52, + "seed": 159935374, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "Journal\n(outer?)", + "baseline": 44, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 60, + "versionNonce": 1409361806, + "isDeleted": false, + "id": "_EltX4RNmVDHPG6vmHRR-", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 1098, + "y": 775, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 82, + "height": 52, + "seed": 1419890958, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "kZyTBNw6Hw8nKgGxfNBHQ" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Journal \n(inner?)", + "baseline": 44, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 16, + "versionNonce": 349289934, + "isDeleted": false, + "id": "tnjEsY3mtmqGizbOF4MQh", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 487, + "y": 619, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 91, + "height": 26, + "seed": 705849618, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "N28dkYNeWqYzfrFXKwKXu" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Journaler", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 48, + "versionNonce": 1694662990, + "isDeleted": false, + "id": "-9VJA_cAd4zGT4tIpWN3K", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 1085, + "y": 695, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 91, + "height": 26, + "seed": 468324050, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "kZyTBNw6Hw8nKgGxfNBHQ" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Journaler", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 16, + "versionNonce": 86663122, + "isDeleted": false, + "id": "AC3Cjdag0Q79_eortJwxo", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 629, + "y": 504, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 79, + "height": 26, + "seed": 278429774, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "dW2zHtdZITPHSMSEF9N14", + "nadsRD1YaMucnPHJbywLj", + "Ie6wYa63bHc4NPj2EUmcK" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Decoder", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 27, + "versionNonce": 449931090, + "isDeleted": false, + "id": "7uBBKB32WGbMK0xLl27G5", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 853, + "y": 306, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 75, + "height": 26, + "seed": 284269202, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "Encoder", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 49, + "versionNonce": 25321166, + "isDeleted": false, + "id": "_4rWDqYffq-aYRrG_OK1o", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 465.5, + "y": 412, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 57, + "height": 26, + "seed": 632474962, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "Bytes", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "rectangle", + "version": 24, + "versionNonce": 1069647762, + "isDeleted": false, + "id": "-YpFED7teLbs_cvn9xqXI", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 586, + "y": 587, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 14, + "height": 14, + "seed": 1604932878, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "56_BWm1qM8PJwAZIRHNP7" + ] + }, + { + "type": "rectangle", + "version": 56, + "versionNonce": 1066636238, + "isDeleted": false, + "id": "U911qDZHbntSRrW4FxXqk", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 1184, + "y": 663, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 14, + "height": 14, + "seed": 2057338702, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "xu-xTikFjqfpKWNOYu-ll" + ] + }, + { + "type": "rectangle", + "version": 22, + "versionNonce": 208439506, + "isDeleted": false, + "id": "zjgjG9EN36fQ7zi434gWQ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 582, + "y": 296, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 13, + "height": 16, + "seed": 374894226, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "l8ecOxgmI2p4x5XpnhCab" + ] + }, + { + "type": "rectangle", + "version": 18, + "versionNonce": 237102098, + "isDeleted": false, + "id": "GqVE0d7rC5DqtgMCYN2Gu", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 697, + "y": 486, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 14, + "height": 11, + "seed": 1147306510, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "56_BWm1qM8PJwAZIRHNP7" + ] + }, + { + "type": "rectangle", + "version": 12, + "versionNonce": 1858482574, + "isDeleted": false, + "id": "pJ0XdXzB8WnAC7CGfXLxo", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 933, + "y": 282, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 13, + "height": 16, + "seed": 1430289362, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "text", + "version": 29, + "versionNonce": 394290002, + "isDeleted": false, + "id": "NrW0h-QgFgsDXAU-xwS-O", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 761, + "y": 460, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 56, + "height": 26, + "seed": 1830418002, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "Event", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 17, + "versionNonce": 2052870926, + "isDeleted": false, + "id": "1UqVECZRFxYk_EWomzx10", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 489, + "y": 324, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 64, + "height": 26, + "seed": 73011474, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "Replier", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 56, + "versionNonce": 1563565138, + "isDeleted": false, + "id": "yP2MExbulMmR7d4sTLpYl", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 650, + "y": 262, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 130, + "height": 78, + "seed": 646753554, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "Bytes & \nremote ref\nor client ref?", + "baseline": 70, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 30, + "versionNonce": 2049742802, + "isDeleted": false, + "id": "dd2n_fIxeCWJHbdP4V_b1", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 767, + "y": 652, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 120, + "height": 44, + "seed": 355311694, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "qvaRyOlIq1OeTC_p3dfZG", + "ZxMLOB5n_9gI9iM2402Ua" + ] + }, + { + "type": "rectangle", + "version": 21, + "versionNonce": 1109212562, + "isDeleted": false, + "id": "6eJiRmci9XjivGmHx8DNG", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 868, + "y": 635, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 20, + "height": 16, + "seed": 1099811858, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "diamond", + "version": 13, + "versionNonce": 572971410, + "isDeleted": false, + "id": "fdG6qgYAjLxLTYtd-BcmD", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 768, + "y": 746, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 47, + "height": 50, + "seed": 1213517586, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "diamond", + "version": 30, + "versionNonce": 236314190, + "isDeleted": false, + "id": "pwtF4iFP9pkkGYXTJYXLZ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 860, + "y": 744, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 51, + "height": 54, + "seed": 461029518, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "line", + "version": 16, + "versionNonce": 2092445774, + "isDeleted": false, + "id": "bt__Rd9oyyfkQLMpQ6pi1", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 827, + "y": 767, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 24, + "height": 1, + "seed": 1836610962, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 24, + -1 + ] + ] + }, + { + "type": "text", + "version": 34, + "versionNonce": 819897870, + "isDeleted": false, + "id": "x9K-e5wYDiiBPRZQ4T-HI", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 803, + "y": 730, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 65, + "height": 26, + "seed": 1730737806, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "qvaRyOlIq1OeTC_p3dfZG", + "oxXNwdvvovYBqriiWCrJg" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Actors", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "ellipse", + "version": 68, + "versionNonce": 1066014994, + "isDeleted": false, + "id": "VKC-lK4S-YfCMtPS5F3Fd", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 188, + "y": 663, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 92, + "height": 45, + "seed": 1846584082, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "K4lsTuEFPy0RQu44qa3n7" + ] + }, + { + "type": "text", + "version": 37, + "versionNonce": 2090694226, + "isDeleted": false, + "id": "2YWwOVJbyQKBh2imrhAGl", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 208.5, + "y": 672.5, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 51, + "height": 26, + "seed": 136585874, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "Admin", + "baseline": 18, + "textAlign": "center", + "verticalAlign": "middle" + }, + { + "type": "arrow", + "version": 114, + "versionNonce": 791371662, + "isDeleted": false, + "id": "bTM7FUN1dgUq8z-SLO-kf", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 304.375, + "y": 377.4366078222407, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 72.375, + "height": 4.442809945579654, + "seed": 1772597966, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "3eFHlg8qD5RGcnofA_k9s", + "gap": 9.375, + "focus": -0.5882352941176471 + }, + "endBinding": { + "elementId": "ATb3QUwKijtxTy7FiSQqV", + "gap": 6.25, + "focus": 0.6435643564356436 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 72.375, + -4.442809945579654 + ] + ] + }, + { + "type": "rectangle", + "version": 46, + "versionNonce": 1771196430, + "isDeleted": false, + "id": "PUMAenytp6LTQMx3w48yd", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 382, + "y": 583, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 29, + "height": 117, + "seed": 1001008142, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "K4lsTuEFPy0RQu44qa3n7", + "CRT-tlzs_LlEKThmdsrCY", + "9qwfx7vvhLVYt_xILl-MT" + ] + }, + { + "type": "text", + "version": 32, + "versionNonce": 498898514, + "isDeleted": false, + "id": "XvwjUGsLGgwX9EeTLFwIt", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 308, + "y": 562, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 155, + "height": 26, + "seed": 115174798, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "Admin transport", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 40, + "versionNonce": 213566098, + "isDeleted": false, + "id": "5m9BHcz8znHt956PEKYIt", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 325, + "y": 429, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 83, + "height": 26, + "seed": 162367954, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "Frontend", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 29, + "versionNonce": 1115337806, + "isDeleted": false, + "id": "lEkp7q_uJUdov__Y8ub3E", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 779, + "y": 662, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 97, + "height": 26, + "seed": 556310610, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "-U0uvnPoImVPzvvXJ8eth", + "oxXNwdvvovYBqriiWCrJg" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Executor?", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "text", + "version": 18, + "versionNonce": 1606381774, + "isDeleted": false, + "id": "HzeNMkExvaWsHz7yq1M1r", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 1069, + "y": 494, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 155, + "height": 26, + "seed": 607052370, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "oO2YvLGjKcYMIYx59l_RF" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Execution step?", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "arrow", + "version": 20, + "versionNonce": 2032600978, + "isDeleted": false, + "id": "vOY_6eThS_7_n8Xh0wNd1", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 284, + "y": 592, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 94, + "height": 95, + "seed": 671880722, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "b9w5gruYf_iF3hlrOW7Ku", + "focus": 0.817380206520478, + "gap": 12 + }, + "endBinding": { + "elementId": "47cOcJQP8SVlH82x-7-tZ", + "focus": 0.3527719107590043, + "gap": 4.072289156627107 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 94, + -95 + ] + ] + }, + { + "type": "arrow", + "version": 19, + "versionNonce": 1754085646, + "isDeleted": false, + "id": "K4lsTuEFPy0RQu44qa3n7", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 288, + "y": 672, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 87, + "height": 36, + "seed": 566510930, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "VKC-lK4S-YfCMtPS5F3Fd", + "focus": 0.30011594899601185, + "gap": 12.16258691528526 + }, + "endBinding": { + "elementId": "PUMAenytp6LTQMx3w48yd", + "focus": 0.223202352312216, + "gap": 7 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 87, + -36 + ] + ] + }, + { + "type": "arrow", + "version": 102, + "versionNonce": 670739982, + "isDeleted": false, + "id": "aZrahEIvxB1gh-jdDKQOd", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 417, + "y": 391, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 29, + "height": 18, + "seed": 1289676622, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "ATb3QUwKijtxTy7FiSQqV", + "focus": -0.3715872281351226, + "gap": 9 + }, + "endBinding": { + "elementId": "25N9gN0db-f8OXJYmYItn", + "focus": 0.2550315410033044, + "gap": 16 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 29, + 18 + ] + ] + }, + { + "type": "arrow", + "version": 22, + "versionNonce": 1735510286, + "isDeleted": false, + "id": "dWAYuXiuoobbvMLpo8CNt", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 410, + "y": 501, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 34, + "height": 6, + "seed": 148225102, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "47cOcJQP8SVlH82x-7-tZ", + "focus": 0.01046412850412694, + "gap": 2.1566265060234855 + }, + "endBinding": { + "elementId": "25N9gN0db-f8OXJYmYItn", + "focus": 0.071307874281852, + "gap": 18 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 34, + -6 + ] + ] + }, + { + "type": "arrow", + "version": 14, + "versionNonce": 1601002254, + "isDeleted": false, + "id": "CRT-tlzs_LlEKThmdsrCY", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 412, + "y": 624, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 43, + "height": 50, + "seed": 548501326, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "PUMAenytp6LTQMx3w48yd", + "focus": 0.006943372936275266, + "gap": 1 + }, + "endBinding": { + "elementId": "25N9gN0db-f8OXJYmYItn", + "focus": -0.0416080087595808, + "gap": 11 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 43, + -50 + ] + ] + }, + { + "type": "arrow", + "version": 15, + "versionNonce": 1875161810, + "isDeleted": false, + "id": "Fn1FrXPpw3HJ1rW00-gcd", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 534, + "y": 572, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 1, + "height": 27, + "seed": 2003487054, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "25N9gN0db-f8OXJYmYItn", + "focus": -0.1936489934788772, + "gap": 9 + }, + "endBinding": { + "elementId": "BnK18jrhLBl86Q7x0_8xS", + "focus": -0.012838022398251844, + "gap": 2 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -1, + 27 + ] + ] + }, + { + "type": "arrow", + "version": 147, + "versionNonce": 680283666, + "isDeleted": false, + "id": "N28dkYNeWqYzfrFXKwKXu", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 531.3389965299862, + "y": 652, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 0.24195203789145125, + "height": 30.618261330621294, + "seed": 638224530, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "tnjEsY3mtmqGizbOF4MQh", + "focus": 0.021993403180879383, + "gap": 7 + }, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -0.24195203789145125, + 30.618261330621294 + ] + ] + }, + { + "type": "arrow", + "version": 9, + "versionNonce": 1140100750, + "isDeleted": false, + "id": "nadsRD1YaMucnPHJbywLj", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 591, + "y": 517, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 27, + "height": 2, + "seed": 391840914, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "6KndxbiepfFjKHBMS0_2x", + "focus": 0.6133865521883691, + "gap": 15.259327289946668 + }, + "endBinding": { + "elementId": "AC3Cjdag0Q79_eortJwxo", + "focus": 0.3604651162790698, + "gap": 11 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 27, + -2 + ] + ] + }, + { + "type": "arrow", + "version": 44, + "versionNonce": 17415758, + "isDeleted": false, + "id": "Ie6wYa63bHc4NPj2EUmcK", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 714, + "y": 513, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 32, + "height": 0, + "seed": 1002409166, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "AC3Cjdag0Q79_eortJwxo", + "focus": -0.3076923076923077, + "gap": 6 + }, + "endBinding": { + "elementId": "-2ad8fI57Axskh6NTuTQF", + "focus": 0.3157894736842106, + "gap": 12 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 32, + 0 + ] + ] + }, + { + "type": "arrow", + "version": 20, + "versionNonce": 1147865870, + "isDeleted": false, + "id": "-U0uvnPoImVPzvvXJ8eth", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 820, + "y": 620, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 3, + "height": 27, + "seed": 1176028302, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "-2ad8fI57Axskh6NTuTQF", + "focus": 0.1370399373531715, + "gap": 7 + }, + "endBinding": { + "elementId": "lEkp7q_uJUdov__Y8ub3E", + "focus": -0.027808676307007785, + "gap": 15 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 3, + 27 + ] + ] + }, + { + "type": "arrow", + "version": 8, + "versionNonce": 1704747598, + "isDeleted": false, + "id": "qvaRyOlIq1OeTC_p3dfZG", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 824, + "y": 704, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 2, + "height": 23, + "seed": 1362262350, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "dd2n_fIxeCWJHbdP4V_b1", + "focus": 0.09058988764044944, + "gap": 8 + }, + "endBinding": { + "elementId": "x9K-e5wYDiiBPRZQ4T-HI", + "focus": -0.2411118293471235, + "gap": 3 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 2, + 23 + ] + ] + }, + { + "type": "arrow", + "version": 13, + "versionNonce": 1313933778, + "isDeleted": false, + "id": "oxXNwdvvovYBqriiWCrJg", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 856, + "y": 725, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 1, + "height": 22, + "seed": 1219946638, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "x9K-e5wYDiiBPRZQ4T-HI", + "focus": 0.5947802197802199, + "gap": 5 + }, + "endBinding": { + "elementId": "lEkp7q_uJUdov__Y8ub3E", + "focus": -0.6268518518518518, + "gap": 15 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 1, + -22 + ] + ] + }, + { + "type": "arrow", + "version": 15, + "versionNonce": 2120681038, + "isDeleted": false, + "id": "ZxMLOB5n_9gI9iM2402Ua", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 896, + "y": 674, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 142, + "height": 80, + "seed": 1056178066, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "dd2n_fIxeCWJHbdP4V_b1", + "focus": 0.696617869762746, + "gap": 9 + }, + "endBinding": { + "elementId": "dTlAtWLdyQ05p9DHF0wd4", + "focus": 0.1824974670719352, + "gap": 25 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 142, + -80 + ] + ] + }, + { + "type": "arrow", + "version": 19, + "versionNonce": 1777426194, + "isDeleted": false, + "id": "e6xlikRVFqOuhHl1WGAU9", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 1122, + "y": 651, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 0, + "height": 26, + "seed": 948767886, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "dTlAtWLdyQ05p9DHF0wd4", + "focus": 0.056, + "gap": 10 + }, + "endBinding": { + "elementId": "zmlEtBh5o7nR6KTIs45p5", + "focus": -0.13432835820895522, + "gap": 1 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 0, + 26 + ] + ] + }, + { + "type": "arrow", + "version": 48, + "versionNonce": 1130070674, + "isDeleted": false, + "id": "kZyTBNw6Hw8nKgGxfNBHQ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 1140.64975790045, + "y": 735, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 1.4808920770790337, + "height": 32.60294973477721, + "seed": 1180150994, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "-9VJA_cAd4zGT4tIpWN3K", + "focus": -0.19360531565816466, + "gap": 14 + }, + "endBinding": { + "elementId": "_EltX4RNmVDHPG6vmHRR-", + "focus": 0.11018265847711191, + "gap": 7.397050265222788 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 1.4808920770790337, + 32.60294973477721 + ] + ] + }, + { + "type": "text", + "version": 54, + "versionNonce": 339867282, + "isDeleted": false, + "id": "z48sBLQJ_SfHlG2f_cHEr", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 1066, + "y": 253, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 81, + "height": 26, + "seed": 1274726610, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "Envelope", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 36, + "versionNonce": 657748046, + "isDeleted": false, + "id": "d6lISifoLqUeL-enBqio2", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 1057, + "y": 424, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 128, + "height": 33, + "seed": 1105982350, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "rectangle", + "version": 11, + "versionNonce": 695242574, + "isDeleted": false, + "id": "74mBKntXCwDx2uihHi_NK", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 1166, + "y": 411, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 18, + "height": 14, + "seed": 1437444434, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "xu-xTikFjqfpKWNOYu-ll" + ] + }, + { + "type": "text", + "version": 53, + "versionNonce": 311319438, + "isDeleted": false, + "id": "MtUUwG5VhMKX1HC1IaocJ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 1058, + "y": 429, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 132, + "height": 26, + "seed": 1151309330, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [ + "oO2YvLGjKcYMIYx59l_RF", + "fU2tMgtCYbf_RAER4WP8C" + ], + "fontSize": 20, + "fontFamily": 1, + "text": "Filter replies?", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "arrow", + "version": 128, + "versionNonce": 1758600782, + "isDeleted": false, + "id": "oO2YvLGjKcYMIYx59l_RF", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 1112.4097244803884, + "y": 481, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 3.795426876345118, + "height": 16, + "seed": 1996851922, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "HzeNMkExvaWsHz7yq1M1r", + "focus": -0.4974974974974975, + "gap": 13 + }, + "endBinding": { + "elementId": "MtUUwG5VhMKX1HC1IaocJ", + "focus": 0.03385631709331131, + "gap": 10 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 3.795426876345118, + -16 + ] + ] + }, + { + "type": "arrow", + "version": 143, + "versionNonce": 1440031886, + "isDeleted": false, + "id": "fU2tMgtCYbf_RAER4WP8C", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 1105.5201784897872, + "y": 418, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 1.07513607308465, + "height": 18.23380110179295, + "seed": 898635986, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "MtUUwG5VhMKX1HC1IaocJ", + "focus": -0.2518597236981934, + "gap": 11 + }, + "endBinding": { + "elementId": "llBMOces6-ajTajEH1zrW", + "focus": 0.6215682675652084, + "gap": 22.676111088983077 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -1.07513607308465, + -18.23380110179295 + ] + ] + }, + { + "type": "arrow", + "version": 30, + "versionNonce": 1899149518, + "isDeleted": false, + "id": "zGNf2Vw3RN-QfJ9UdJAhN", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 1052, + "y": 324, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 97, + "height": 2, + "seed": 1186810638, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "gqrNI1fcTWCaSAr86MrVc", + "focus": 0.059490462851807424, + "gap": 15 + }, + "endBinding": { + "elementId": "peSghU85YFJSwj0QihYaz", + "focus": 0.5010742420625448, + "gap": 11 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -97, + 2 + ] + ] + }, + { + "type": "arrow", + "version": 51, + "versionNonce": 1521406098, + "isDeleted": false, + "id": "NUmwcQ2mtnuD5eFCzBwkw", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 826, + "y": 320, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 24, + "height": 1, + "seed": 1816030990, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "peSghU85YFJSwj0QihYaz", + "focus": -0.273394495412844, + "gap": 12 + }, + "endBinding": { + "elementId": "6QbY6BifRh3pF6LM0mi8g", + "focus": -0.29075006626027045, + "gap": 30 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -24, + -1 + ] + ] + }, + { + "type": "arrow", + "version": 11, + "versionNonce": 485013262, + "isDeleted": false, + "id": "l8ecOxgmI2p4x5XpnhCab", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 625, + "y": 323, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 26, + "height": 2, + "seed": 1902833234, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "6QbY6BifRh3pF6LM0mi8g", + "focus": 0.26606377915278445, + "gap": 22 + }, + "endBinding": { + "elementId": "zjgjG9EN36fQ7zi434gWQ", + "focus": 2.565610859728507, + "gap": 13 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -26, + 2 + ] + ] + }, + { + "type": "arrow", + "version": 85, + "versionNonce": 1372636366, + "isDeleted": false, + "id": "YGg4nuZMKa1P0pZY0A_-_", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 451, + "y": 323, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 112, + "height": 37, + "seed": 50751054, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "H4N9hxo34J_6sFhLYXOox", + "focus": -0.2340080971659919, + "gap": 3 + }, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -112, + -37 + ] + ] + }, + { + "type": "text", + "version": 90, + "versionNonce": 1441116686, + "isDeleted": false, + "id": "6ePj31VYwLPm8itE6sLo-", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 606, + "y": 781, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 111, + "height": 26, + "seed": 1899257746, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [], + "fontSize": 20, + "fontFamily": 1, + "text": "Application?", + "baseline": 18, + "textAlign": "left", + "verticalAlign": "top" + }, + { + "type": "rectangle", + "version": 33, + "versionNonce": 1492398866, + "isDeleted": false, + "id": "67ssoUxZMCXIa0r7nvh-6", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 745, + "y": 731, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 180, + "height": 84, + "seed": 1368233746, + "groupIds": [], + "strokeSharpness": "sharp", + "boundElementIds": [] + }, + { + "type": "arrow", + "version": 146, + "versionNonce": 1567158866, + "isDeleted": false, + "id": "xu-xTikFjqfpKWNOYu-ll", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 1192, + "y": 418.00000000000006, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 96, + "height": 249.99999999999994, + "seed": 1488629070, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "74mBKntXCwDx2uihHi_NK", + "focus": -1.2639094042343646, + "gap": 8 + }, + "endBinding": { + "elementId": "U911qDZHbntSRrW4FxXqk", + "focus": 0.6267281105990783, + "gap": 3 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 96, + 150.99999999999994 + ], + [ + 9, + 249.99999999999994 + ] + ] + }, + { + "type": "arrow", + "version": 161, + "versionNonce": 1302899790, + "isDeleted": false, + "id": "56_BWm1qM8PJwAZIRHNP7", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 70, + "angle": 0, + "x": 718.0000000000001, + "y": 484.00000000000006, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 122, + "height": 116.99999999999994, + "seed": 265021966, + "groupIds": [], + "strokeSharpness": "round", + "boundElementIds": [], + "startBinding": { + "elementId": "GqVE0d7rC5DqtgMCYN2Gu", + "focus": -1.9618874773139892, + "gap": 7.000000000000114 + }, + "endBinding": { + "elementId": "-YpFED7teLbs_cvn9xqXI", + "focus": 0.037037037037035835, + "gap": 2.0000000000001137 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 6, + 73.99999999999994 + ], + [ + -41, + 116.99999999999994 + ], + [ + -116, + 110.99999999999994 + ] + ] + } + ], + "appState": { + "gridSize": null, + "viewBackgroundColor": "#ffffff" + }, + "files": {} +} \ No newline at end of file diff --git a/doc/event-loop-disruptor.svg b/doc/event-loop-disruptor.svg new file mode 100644 index 00000000..2f6e5723 --- /dev/null +++ b/doc/event-loop-disruptor.svg @@ -0,0 +1,16 @@ + + + + + + + Event loopEvent loopClientsTransportJournal(outer?)Journal (inner?)JournalerJournalerDecoderEncoderBytesEventReplierBytes & remote refor client ref?ActorsAdminAdmin transportFrontendExecutor?Execution step?EnvelopeFilter replies?Application? \ No newline at end of file