ARCHITECTURE_1.svg 40 KB

1
  1. <svg id="mermaid-svg" width="100%" xmlns="http://www.w3.org/2000/svg" class="flowchart" style="max-width: 1484px;" viewBox="0 0 1484 1189.0032958984375" role="graphics-document document" aria-roledescription="flowchart-v2" xmlns:xlink="http://www.w3.org/1999/xlink"><style xmlns="http://www.w3.org/1999/xhtml">@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css");</style><style>#mermaid-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg .error-icon{fill:#552222;}#mermaid-svg .error-text{fill:#552222;stroke:#552222;}#mermaid-svg .edge-thickness-normal{stroke-width:1px;}#mermaid-svg .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg .marker{fill:#333333;stroke:#333333;}#mermaid-svg .marker.cross{stroke:#333333;}#mermaid-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg p{margin:0;}#mermaid-svg .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg .cluster-label text{fill:#333;}#mermaid-svg .cluster-label span{color:#333;}#mermaid-svg .cluster-label span p{background-color:transparent;}#mermaid-svg .label text,#mermaid-svg span{fill:#333;color:#333;}#mermaid-svg .node rect,#mermaid-svg .node circle,#mermaid-svg .node ellipse,#mermaid-svg .node polygon,#mermaid-svg .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg .rough-node .label text,#mermaid-svg .node .label text,#mermaid-svg .image-shape .label,#mermaid-svg .icon-shape .label{text-anchor:middle;}#mermaid-svg .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg .rough-node .label,#mermaid-svg .node .label,#mermaid-svg .image-shape .label,#mermaid-svg .icon-shape .label{text-align:center;}#mermaid-svg .node.clickable{cursor:pointer;}#mermaid-svg .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg .arrowheadPath{fill:#333333;}#mermaid-svg .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg .cluster text{fill:#333;}#mermaid-svg .cluster span{color:#333;}#mermaid-svg div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg rect.text{fill:none;stroke-width:0;}#mermaid-svg .icon-shape,#mermaid-svg .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg .icon-shape p,#mermaid-svg .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg .icon-shape rect,#mermaid-svg .image-shape rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker id="mermaid-svg_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="mermaid-svg_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="mermaid-svg_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="mermaid-svg_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="mermaid-svg_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"/></marker><marker id="mermaid-svg_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"/></marker><g class="root"><g class="clusters"><g class="cluster " id="OUT" data-look="classic"><rect style="" x="861.6875" y="8" width="310" height="772"/><g class="cluster-label " transform="translate(967.34375, 8)"><foreignObject width="98.6875" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>Delivery sinks</p></span></div></foreignObject></g></g><g class="cluster " id="DATA" data-look="classic"><rect style="" x="861.6875" y="800" width="614.3125" height="289.8938846588135"/><g class="cluster-label " transform="translate(1138.609375, 800)"><foreignObject width="60.46875" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>Data tier</p></span></div></foreignObject></g></g><g class="cluster " id="BA" data-look="classic"><rect style="" x="299.328125" y="19" width="512.359375" height="1138.9588708877563"/><g class="cluster-label " transform="translate(495.4609375, 19)"><foreignObject width="120.09375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>Broad-Announce</p></span></div></foreignObject></g></g><g class="cluster " id="S" data-look="classic"><rect style="" x="8" y="745.003267288208" width="241.328125" height="436"/><g class="cluster-label " transform="translate(99.3125, 745.003267288208)"><foreignObject width="58.703125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>Sources</p></span></div></foreignObject></g></g></g><g class="edgePaths"><path d="M219.875,1119.003L224.784,1119.003C229.693,1119.003,239.51,1119.003,248.586,1119.003C257.661,1119.003,265.995,1119.003,274.328,1119.003C282.661,1119.003,290.995,1119.003,305.836,1100.078C320.677,1081.153,342.027,1043.303,352.701,1024.378L363.376,1005.453" id="L_WH_IG_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_WH_IG_0" data-points="W3sieCI6MjE5Ljg3NSwieSI6MTExOS4wMDMyNjcyODgyMDh9LHsieCI6MjQ5LjMyODEyNSwieSI6MTExOS4wMDMyNjcyODgyMDh9LHsieCI6Mjc0LjMyODEyNSwieSI6MTExOS4wMDMyNjcyODgyMDh9LHsieCI6Mjk5LjMyODEyNSwieSI6MTExOS4wMDMyNjcyODgyMDh9LHsieCI6MzY1LjM0MTAwODg4NDYzMzEsInkiOjEwMDEuOTY5MTY1ODAyMDAyfV0=" marker-end="url(#mermaid-svg_flowchart-v2-pointEnd)"/><path d="M224.328,1015.003L228.495,1015.003C232.661,1015.003,240.995,1015.003,249.328,1015.003C257.661,1015.003,265.995,1015.003,274.328,1015.003C282.661,1015.003,290.995,1015.003,298.972,1013.126C306.949,1011.248,314.57,1007.493,318.38,1005.615L322.191,1003.737" id="L_WS_IG_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_WS_IG_0" data-points="W3sieCI6MjI0LjMyODEyNSwieSI6MTAxNS4wMDMyNjcyODgyMDh9LHsieCI6MjQ5LjMyODEyNSwieSI6MTAxNS4wMDMyNjcyODgyMDh9LHsieCI6Mjc0LjMyODEyNSwieSI6MTAxNS4wMDMyNjcyODgyMDh9LHsieCI6Mjk5LjMyODEyNSwieSI6MTAxNS4wMDMyNjcyODgyMDh9LHsieCI6MzI1Ljc3ODU0Nzk1MjU3MywieSI6MTAwMS45NjkxNjU4MDIwMDJ9XQ==" marker-end="url(#mermaid-svg_flowchart-v2-pointEnd)"/><path d="M219.867,911.003L224.777,911.003C229.688,911.003,239.508,911.003,248.585,911.003C257.661,911.003,265.995,911.003,274.328,911.003C282.661,911.003,290.995,911.003,302.463,916.752C313.93,922.5,328.533,933.998,335.834,939.746L343.135,945.495" id="L_MQ_IG_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_MQ_IG_0" data-points="W3sieCI6MjE5Ljg2NzE4NzUsInkiOjkxMS4wMDMyNjcyODgyMDh9LHsieCI6MjQ5LjMyODEyNSwieSI6OTExLjAwMzI2NzI4ODIwOH0seyJ4IjoyNzQuMzI4MTI1LCJ5Ijo5MTEuMDAzMjY3Mjg4MjA4fSx7IngiOjI5OS4zMjgxMjUsInkiOjkxMS4wMDMyNjcyODgyMDh9LHsieCI6MzQ2LjI3Nzk5MjQ3NTMzOTE1LCJ5Ijo5NDcuOTY5MTY1ODAyMDAyfV0=" marker-end="url(#mermaid-svg_flowchart-v2-pointEnd)"/><path d="M221.797,807.003L226.385,807.003C230.974,807.003,240.151,807.003,248.906,807.003C257.661,807.003,265.995,807.003,274.328,807.003C282.661,807.003,290.995,807.003,306.235,829.897C321.475,852.792,343.622,898.58,354.696,921.474L365.769,944.368" id="L_GR_IG_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_GR_IG_0" data-points="W3sieCI6MjIxLjc5Njg3NSwieSI6ODA3LjAwMzI2NzI4ODIwOH0seyJ4IjoyNDkuMzI4MTI1LCJ5Ijo4MDcuMDAzMjY3Mjg4MjA4fSx7IngiOjI3NC4zMjgxMjUsInkiOjgwNy4wMDMyNjcyODgyMDh9LHsieCI6Mjk5LjMyODEyNSwieSI6ODA3LjAwMzI2NzI4ODIwOH0seyJ4IjozNjcuNTEwODgxNDk2OTg2OSwieSI6OTQ3Ljk2OTE2NTgwMjAwMn1d" marker-end="url(#mermaid-svg_flowchart-v2-pointEnd)"/><path d="M425.487,1001.969L431.541,1005.608C437.595,1009.248,449.704,1016.526,471.079,1020.166C492.453,1023.805,523.094,1023.805,553.734,1023.805C584.375,1023.805,615.016,1023.805,644.172,1023.805C673.328,1023.805,701,1023.805,728.672,1023.805C756.344,1023.805,784.016,1023.805,802.018,1023.805C820.021,1023.805,828.354,1023.805,836.688,1023.805C845.021,1023.805,853.354,1023.805,878.029,1023.805C902.703,1023.805,943.719,1023.805,964.227,1023.805L984.734,1023.805" id="L_IG_RD_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_IG_RD_0" data-points="W3sieCI6NDI1LjQ4NjgxNjM4NjY4MzcsInkiOjEwMDEuOTY5MTY1ODAyMDAyfSx7IngiOjQ2MS44MTI1LCJ5IjoxMDIzLjgwNTA5MTg1NzkxMDJ9LHsieCI6NTUzLjczNDM3NSwieSI6MTAyMy44MDUwOTE4NTc5MTAyfSx7IngiOjY0NS42NTYyNSwieSI6MTAyMy44MDUwOTE4NTc5MTAyfSx7IngiOjcyOC42NzE4NzUsInkiOjEwMjMuODA1MDkxODU3OTEwMn0seyJ4Ijo4MTEuNjg3NSwieSI6MTAyMy44MDUwOTE4NTc5MTAyfSx7IngiOjgzNi42ODc1LCJ5IjoxMDIzLjgwNTA5MTg1NzkxMDJ9LHsieCI6ODYxLjY4NzUsInkiOjEwMjMuODA1MDkxODU3OTEwMn0seyJ4Ijo5ODguNzM0Mzc1LCJ5IjoxMDIzLjgwNTA5MTg1NzkxMDJ9XQ==" marker-end="url(#mermaid-svg_flowchart-v2-pointEnd)"/><path d="M436.367,952.259L440.608,950.533C444.849,948.807,453.331,945.355,461.076,943.247C468.82,941.14,475.828,940.378,479.332,939.997L482.836,939.615" id="L_IG_BR_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_IG_BR_0" data-points="W3sieCI6NDM2LjM2NzE4NzUsInkiOjk1Mi4yNTkxMTY4NDIxNjkyfSx7IngiOjQ2MS44MTI1LCJ5Ijo5NDEuOTAyNTQ1OTI4OTU1MX0seyJ4Ijo0ODYuODEyNSwieSI6OTM5LjE4Mjg0NTA5NjA0Njd9XQ==" marker-end="url(#mermaid-svg_flowchart-v2-pointEnd)"/><path d="M620.656,945.873L624.823,949.702C628.99,953.531,637.323,961.189,645.466,963.728C653.609,966.266,661.563,963.685,665.539,962.394L669.516,961.104" id="L_BR_RT_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_BR_RT_0" data-points="W3sieCI6NjIwLjY1NjI1LCJ5Ijo5NDUuODcyNzU2MzczMzY0Nn0seyJ4Ijo2NDUuNjU2MjUsInkiOjk2OC44NDc4NTQ2MTQyNTc4fSx7IngiOjY3My4zMjAzMTI1LCJ5Ijo5NTkuODY4NjIwODQyODgwM31d" marker-end="url(#mermaid-svg_flowchart-v2-pointEnd)"/><path d="M784.023,941.903L788.634,941.903C793.245,941.903,802.466,941.903,811.243,941.903C820.021,941.903,828.354,941.903,836.688,941.903C845.021,941.903,853.354,941.903,868.756,934.85C884.157,927.798,906.627,913.694,917.862,906.642L929.097,899.59" id="L_RT_PG_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_RT_PG_0" data-points="W3sieCI6Nzg0LjAyMzQzNzUsInkiOjk0MS45MDI1NDU5Mjg5NTUxfSx7IngiOjgxMS42ODc1LCJ5Ijo5NDEuOTAyNTQ1OTI4OTU1MX0seyJ4Ijo4MzYuNjg3NSwieSI6OTQxLjkwMjU0NTkyODk1NTF9LHsieCI6ODYxLjY4NzUsInkiOjk0MS45MDI1NDU5Mjg5NTUxfSx7IngiOjkzMi40ODQzNzUsInkiOjg5Ny40NjI5NTA3MDM1MzIzfV0=" marker-end="url(#mermaid-svg_flowchart-v2-pointEnd)"/><path d="M673.32,935.235L668.71,934.68C664.099,934.124,654.878,933.013,646.767,932.458C638.656,931.903,631.656,931.903,628.156,931.903L624.656,931.903" id="L_RT_BR_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_RT_BR_0" data-points="W3sieCI6NjczLjMyMDMxMjUsInkiOjkzNS4yMzQ5MzgxNzQzOTA4fSx7IngiOjY0NS42NTYyNSwieSI6OTMxLjkwMjU0NTkyODk1NTF9LHsieCI6NjIwLjY1NjI1LCJ5Ijo5MzEuOTAyNTQ1OTI4OTU1MX1d" marker-end="url(#mermaid-svg_flowchart-v2-pointEnd)"/><path d="M572.466,893.529L584.665,868.117C596.863,842.705,621.26,791.88,646.103,711.775C670.947,631.67,696.238,522.284,708.883,467.59L721.528,412.897" id="L_BR_DV_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_BR_DV_0" data-points="W3sieCI6NTcyLjQ2NjIwMjM4NjY4MjcsInkiOjg5My41Mjg2NTY5OTYwNzA0fSx7IngiOjY0NS42NTYyNSwieSI6NzQxLjA1NjMyNDk1ODgwMTN9LHsieCI6NzIyLjQyOTMzOTQ0NDQ1MTIsInkiOjQwOX1d" marker-end="url(#mermaid-svg_flowchart-v2-pointEnd)"/><path d="M735.856,355L748.495,307.5C761.133,260,786.41,165,803.216,117.5C820.021,70,828.354,70,836.688,70C845.021,70,853.354,70,869.165,70C884.977,70,908.266,70,919.91,70L931.555,70" id="L_DV_FCM_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_DV_FCM_0" data-points="W3sieCI6NzM1Ljg1NTkxOTQ3MTE1MzgsInkiOjM1NX0seyJ4Ijo4MTEuNjg3NSwieSI6NzB9LHsieCI6ODM2LjY4NzUsInkiOjcwfSx7IngiOjg2MS42ODc1LCJ5Ijo3MH0seyJ4Ijo5MzUuNTU0Njg3NSwieSI6NzB9XQ==" marker-end="url(#mermaid-svg_flowchart-v2-pointEnd)"/><path d="M739.448,355L751.488,324.833C763.528,294.667,787.608,234.333,803.814,204.167C820.021,174,828.354,174,836.688,174C845.021,174,853.354,174,872.203,174C891.052,174,920.417,174,935.099,174L949.781,174" id="L_DV_TG_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_DV_TG_0" data-points="W3sieCI6NzM5LjQ0Nzk0MTcwNjczMDcsInkiOjM1NX0seyJ4Ijo4MTEuNjg3NSwieSI6MTc0fSx7IngiOjgzNi42ODc1LCJ5IjoxNzR9LHsieCI6ODYxLjY4NzUsInkiOjE3NH0seyJ4Ijo5NTMuNzgxMjUsInkiOjE3NH1d" marker-end="url(#mermaid-svg_flowchart-v2-pointEnd)"/><path d="M750.224,355L760.468,342.167C770.712,329.333,791.2,303.667,805.61,290.833C820.021,278,828.354,278,836.688,278C845.021,278,853.354,278,870.424,278C887.495,278,913.302,278,926.206,278L939.109,278" id="L_DV_SMS_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_DV_SMS_0" data-points="W3sieCI6NzUwLjIyNDAwODQxMzQ2MTUsInkiOjM1NX0seyJ4Ijo4MTEuNjg3NSwieSI6Mjc4fSx7IngiOjgzNi42ODc1LCJ5IjoyNzh9LHsieCI6ODYxLjY4NzUsInkiOjI3OH0seyJ4Ijo5NDMuMTA5Mzc1LCJ5IjoyNzh9XQ==" marker-end="url(#mermaid-svg_flowchart-v2-pointEnd)"/><path d="M786.688,382L790.854,382C795.021,382,803.354,382,811.688,382C820.021,382,828.354,382,836.688,382C845.021,382,853.354,382,874.353,382C895.352,382,929.016,382,945.848,382L962.68,382" id="L_DV_EM_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_DV_EM_0" data-points="W3sieCI6Nzg2LjY4NzUsInkiOjM4Mn0seyJ4Ijo4MTEuNjg3NSwieSI6MzgyfSx7IngiOjgzNi42ODc1LCJ5IjozODJ9LHsieCI6ODYxLjY4NzUsInkiOjM4Mn0seyJ4Ijo5NjYuNjc5Njg3NSwieSI6MzgyfV0=" marker-end="url(#mermaid-svg_flowchart-v2-pointEnd)"/><path d="M750.224,409L760.468,421.833C770.712,434.667,791.2,460.333,805.61,473.167C820.021,486,828.354,486,836.688,486C845.021,486,853.354,486,874.427,486C895.5,486,929.313,486,946.219,486L963.125,486" id="L_DV_SL_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_DV_SL_0" data-points="W3sieCI6NzUwLjIyNDAwODQxMzQ2MTUsInkiOjQwOX0seyJ4Ijo4MTEuNjg3NSwieSI6NDg2fSx7IngiOjgzNi42ODc1LCJ5Ijo0ODZ9LHsieCI6ODYxLjY4NzUsInkiOjQ4Nn0seyJ4Ijo5NjcuMTI1LCJ5Ijo0ODZ9XQ==" marker-end="url(#mermaid-svg_flowchart-v2-pointEnd)"/><path d="M739.448,409L751.488,439.167C763.528,469.333,787.608,529.667,803.814,559.833C820.021,590,828.354,590,836.688,590C845.021,590,853.354,590,871.414,590C889.474,590,917.26,590,931.154,590L945.047,590" id="L_DV_MT_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_DV_MT_0" data-points="W3sieCI6NzM5LjQ0Nzk0MTcwNjczMDcsInkiOjQwOX0seyJ4Ijo4MTEuNjg3NSwieSI6NTkwfSx7IngiOjgzNi42ODc1LCJ5Ijo1OTB9LHsieCI6ODYxLjY4NzUsInkiOjU5MH0seyJ4Ijo5NDkuMDQ2ODc1LCJ5Ijo1OTB9XQ==" marker-end="url(#mermaid-svg_flowchart-v2-pointEnd)"/><path d="M735.59,409L748.273,458.5C760.956,508,786.322,607,803.171,656.5C820.021,706,828.354,706,836.688,706C845.021,706,853.354,706,861.021,706C868.688,706,875.688,706,879.188,706L882.688,706" id="L_DV_WH2_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_DV_WH2_0" data-points="W3sieCI6NzM1LjU4OTg0Mzc1LCJ5Ijo0MDl9LHsieCI6ODExLjY4NzUsInkiOjcwNn0seyJ4Ijo4MzYuNjg3NSwieSI6NzA2fSx7IngiOjg2MS42ODc1LCJ5Ijo3MDZ9LHsieCI6ODg2LjY4NzUsInkiOjcwNn1d" marker-end="url(#mermaid-svg_flowchart-v2-pointEnd)"/><path d="M1100.891,876.024L1112.69,876.024C1124.49,876.024,1148.089,876.024,1170.503,876.024C1192.917,876.024,1214.146,876.024,1234.708,876.024C1255.271,876.024,1275.167,876.024,1285.115,876.024L1295.063,876.024" id="L_PG_CH_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_PG_CH_0" data-points="W3sieCI6MTEwMC44OTA2MjUsInkiOjg3Ni4wMjM4NTcxMTY2OTkyfSx7IngiOjExNzEuNjg3NSwieSI6ODc2LjAyMzg1NzExNjY5OTJ9LHsieCI6MTIzNS4zNzUsInkiOjg3Ni4wMjM4NTcxMTY2OTkyfSx7IngiOjEyOTkuMDYyNSwieSI6ODc2LjAyMzg1NzExNjY5OTJ9XQ==" marker-end="url(#mermaid-svg_flowchart-v2-pointEnd)"/><path d="M426.3,837.044L432.219,840.539C438.137,844.034,449.975,851.023,471.214,854.517C492.453,858.012,523.094,858.012,553.734,858.012C584.375,858.012,615.016,858.012,644.172,858.012C673.328,858.012,701,858.012,728.672,858.012C756.344,858.012,784.016,858.012,802.018,858.012C820.021,858.012,828.354,858.012,836.688,858.012C845.021,858.012,853.354,858.012,868.658,859.306C883.962,860.6,906.237,863.189,917.374,864.483L928.511,865.777" id="L_AD_PG_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_AD_PG_0" data-points="W3sieCI6NDI2LjI5OTk3NTEyNDI4MDU0LCJ5Ijo4MzcuMDQ0Mzk2NDAwNDUxN30seyJ4Ijo0NjEuODEyNSwieSI6ODU4LjAxMTkyODU1ODM0OTZ9LHsieCI6NTUzLjczNDM3NSwieSI6ODU4LjAxMTkyODU1ODM0OTZ9LHsieCI6NjQ1LjY1NjI1LCJ5Ijo4NTguMDExOTI4NTU4MzQ5Nn0seyJ4Ijo3MjguNjcxODc1LCJ5Ijo4NTguMDExOTI4NTU4MzQ5Nn0seyJ4Ijo4MTEuNjg3NSwieSI6ODU4LjAxMTkyODU1ODM0OTZ9LHsieCI6ODM2LjY4NzUsInkiOjg1OC4wMTE5Mjg1NTgzNDk2fSx7IngiOjg2MS42ODc1LCJ5Ijo4NTguMDExOTI4NTU4MzQ5Nn0seyJ4Ijo5MzIuNDg0Mzc1LCJ5Ijo4NjYuMjM4OTQ5NTU2MTJ9XQ==" marker-end="url(#mermaid-svg_flowchart-v2-pointEnd)"/><path d="M403.681,837.044L413.37,848.363C423.058,859.682,442.435,882.32,455.651,894.672C468.866,907.025,475.92,909.093,479.447,910.127L482.974,911.16" id="L_AD_BR_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_AD_BR_0" data-points="W3sieCI6NDAzLjY4MTQwMDk3ODc4NDUsInkiOjgzNy4wNDQzOTY0MDA0NTE3fSx7IngiOjQ2MS44MTI1LCJ5Ijo5MDQuOTU3MjM3MjQzNjUyM30seyJ4Ijo0ODYuODEyNSwieSI6OTEyLjI4NTU1NTA5MTA5MTV9XQ==" marker-end="url(#mermaid-svg_flowchart-v2-pointEnd)"/><path d="M383.495,783.044L396.548,662.537C409.601,542.03,435.707,301.015,464.08,180.507C492.453,60,523.094,60,553.734,60C584.375,60,615.016,60,642.845,108.521C670.675,157.042,695.694,254.084,708.203,302.606L720.712,351.127" id="L_AD_DV_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_AD_DV_0" data-points="W3sieCI6MzgzLjQ5NDg1ODEzMDkzNDcsInkiOjc4My4wNDQzOTY0MDA0NTE3fSx7IngiOjQ2MS44MTI1LCJ5Ijo2MH0seyJ4Ijo1NTMuNzM0Mzc1LCJ5Ijo2MH0seyJ4Ijo2NDUuNjU2MjUsInkiOjYwfSx7IngiOjcyMS43MTA5Mzc1LCJ5IjozNTV9XQ==" marker-end="url(#mermaid-svg_flowchart-v2-pointEnd)"/></g><g class="edgeLabels"><g class="edgeLabel"><g class="label" data-id="L_WH_IG_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_WS_IG_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_MQ_IG_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_GR_IG_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_IG_RD_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_IG_BR_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_BR_RT_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_RT_PG_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_RT_BR_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_BR_DV_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_DV_FCM_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_DV_TG_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_DV_SMS_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_DV_EM_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_DV_SL_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_DV_MT_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_DV_WH2_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(1235.375, 876.0238571166992)"><g class="label" data-id="L_PG_CH_0" transform="translate(-38.6875, -12)"><foreignObject width="77.375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "><p>archive job</p></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_AD_PG_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_AD_BR_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_AD_DV_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g></g><g class="nodes"><g class="node default " id="flowchart-WH-0" transform="translate(128.6640625, 1119.003267288208)"><rect class="basic label-container" style="" x="-91.2109375" y="-27" width="182.421875" height="54"/><g class="label" style="" transform="translate(-61.2109375, -12)"><rect/><foreignObject width="122.421875" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>Webhook / HTTP</p></span></div></foreignObject></g></g><g class="node default " id="flowchart-WS-1" transform="translate(128.6640625, 1015.003267288208)"><rect class="basic label-container" style="" x="-95.6640625" y="-27" width="191.328125" height="54"/><g class="label" style="" transform="translate(-65.6640625, -12)"><rect/><foreignObject width="131.328125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>WebSocket clients</p></span></div></foreignObject></g></g><g class="node default " id="flowchart-MQ-2" transform="translate(128.6640625, 911.003267288208)"><rect class="basic label-container" style="" x="-91.203125" y="-27" width="182.40625" height="54"/><g class="label" style="" transform="translate(-61.203125, -12)"><rect/><foreignObject width="122.40625" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>MQTT publishers</p></span></div></foreignObject></g></g><g class="node default " id="flowchart-GR-3" transform="translate(128.6640625, 807.003267288208)"><rect class="basic label-container" style="" x="-93.1328125" y="-27" width="186.265625" height="54"/><g class="label" style="" transform="translate(-63.1328125, -12)"><rect/><foreignObject width="126.265625" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>gRPC bidi-stream</p></span></div></foreignObject></g></g><g class="node default " id="flowchart-IG-4" transform="translate(380.5703125, 974.969165802002)"><rect class="basic label-container" style="" x="-55.796875" y="-27" width="111.59375" height="54"/><g class="label" style="" transform="translate(-25.796875, -12)"><rect/><foreignObject width="51.59375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>ingestd</p></span></div></foreignObject></g></g><g class="node default " id="flowchart-BR-5" transform="translate(553.734375, 931.9025459289551)"><path d="M0,12.927079560545696 a66.921875,12.927079560545696 0,0,0 133.84375,0 a66.921875,12.927079560545696 0,0,0 -133.84375,0 l0,51.92707956054569 a66.921875,12.927079560545696 0,0,0 133.84375,0 l0,-51.92707956054569" class="basic label-container" style="" label-offset-y="12.927079560545696" transform="translate(-66.921875, -38.890619340818546)"/><g class="label" style="" transform="translate(-59.421875, -2)"><rect/><foreignObject width="118.84375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>NATS JetStream</p></span></div></foreignObject></g></g><g class="node default " id="flowchart-RT-6" transform="translate(728.671875, 941.9025459289551)"><rect class="basic label-container" style="" x="-55.3515625" y="-27" width="110.703125" height="54"/><g class="label" style="" transform="translate(-25.3515625, -12)"><rect/><foreignObject width="50.703125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>routerd</p></span></div></foreignObject></g></g><g class="node default " id="flowchart-DV-7" transform="translate(728.671875, 382)"><rect class="basic label-container" style="" x="-58.015625" y="-27" width="116.03125" height="54"/><g class="label" style="" transform="translate(-28.015625, -12)"><rect/><foreignObject width="56.03125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>deliverd</p></span></div></foreignObject></g></g><g class="node default " id="flowchart-AD-8" transform="translate(380.5703125, 810.0443964004517)"><rect class="basic label-container" style="" x="-56.2421875" y="-27" width="112.484375" height="54"/><g class="label" style="" transform="translate(-26.2421875, -12)"><rect/><foreignObject width="52.484375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>admind</p></span></div></foreignObject></g></g><g class="node default " id="flowchart-PG-9" transform="translate(1016.6875, 876.0238571166992)"><path d="M0,14.349238470550643 a84.203125,14.349238470550643 0,0,0 168.40625,0 a84.203125,14.349238470550643 0,0,0 -168.40625,0 l0,53.349238470550645 a84.203125,14.349238470550643 0,0,0 168.40625,0 l0,-53.349238470550645" class="basic label-container" style="" label-offset-y="14.349238470550643" transform="translate(-84.203125, -41.02385770582597)"/><g class="label" style="" transform="translate(-76.703125, -2)"><rect/><foreignObject width="153.40625" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>Postgres + Timescale</p></span></div></foreignObject></g></g><g class="node default " id="flowchart-CH-10" transform="translate(1375.03125, 876.0238571166992)"><path d="M0,13.715865493116677 a75.96875,13.715865493116677 0,0,0 151.9375,0 a75.96875,13.715865493116677 0,0,0 -151.9375,0 l0,52.71586549311668 a75.96875,13.715865493116677 0,0,0 151.9375,0 l0,-52.71586549311668" class="basic label-container" style="" label-offset-y="13.715865493116677" transform="translate(-75.96875, -40.073798239675014)"/><g class="label" style="" transform="translate(-68.46875, -2)"><rect/><foreignObject width="136.9375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>ClickHouse archive</p></span></div></foreignObject></g></g><g class="node default " id="flowchart-RD-11" transform="translate(1016.6875, 1023.8050918579102)"><path d="M0,7.725859388495422 a27.953125,7.725859388495422 0,0,0 55.90625,0 a27.953125,7.725859388495422 0,0,0 -55.90625,0 l0,46.72585938849542 a27.953125,7.725859388495422 0,0,0 55.90625,0 l0,-46.72585938849542" class="basic label-container" style="" label-offset-y="7.725859388495422" transform="translate(-27.953125, -31.088789082743133)"/><g class="label" style="" transform="translate(-20.453125, -2)"><rect/><foreignObject width="40.90625" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>Redis</p></span></div></foreignObject></g></g><g class="node default " id="flowchart-FCM-12" transform="translate(1016.6875, 70)"><rect class="basic label-container" style="" x="-81.1328125" y="-27" width="162.265625" height="54"/><g class="label" style="" transform="translate(-51.1328125, -12)"><rect/><foreignObject width="102.265625" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>FCM / Android</p></span></div></foreignObject></g></g><g class="node default " id="flowchart-TG-13" transform="translate(1016.6875, 174)"><rect class="basic label-container" style="" x="-62.90625" y="-27" width="125.8125" height="54"/><g class="label" style="" transform="translate(-32.90625, -12)"><rect/><foreignObject width="65.8125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>Telegram</p></span></div></foreignObject></g></g><g class="node default " id="flowchart-SMS-14" transform="translate(1016.6875, 278)"><rect class="basic label-container" style="" x="-73.578125" y="-27" width="147.15625" height="54"/><g class="label" style="" transform="translate(-43.578125, -12)"><rect/><foreignObject width="87.15625" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>SMS / Voice</p></span></div></foreignObject></g></g><g class="node default " id="flowchart-EM-15" transform="translate(1016.6875, 382)"><rect class="basic label-container" style="" x="-50.0078125" y="-27" width="100.015625" height="54"/><g class="label" style="" transform="translate(-20.0078125, -12)"><rect/><foreignObject width="40.015625" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>Email</p></span></div></foreignObject></g></g><g class="node default " id="flowchart-SL-16" transform="translate(1016.6875, 486)"><rect class="basic label-container" style="" x="-49.5625" y="-27" width="99.125" height="54"/><g class="label" style="" transform="translate(-19.5625, -12)"><rect/><foreignObject width="39.125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>Slack</p></span></div></foreignObject></g></g><g class="node default " id="flowchart-MT-17" transform="translate(1016.6875, 590)"><rect class="basic label-container" style="" x="-67.640625" y="-27" width="135.28125" height="54"/><g class="label" style="" transform="translate(-37.640625, -12)"><rect/><foreignObject width="75.28125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>MS Teams</p></span></div></foreignObject></g></g><g class="node default " id="flowchart-WH2-18" transform="translate(1016.6875, 706)"><rect class="basic label-container" style="" x="-130" y="-39" width="260" height="78"/><g class="label" style="" transform="translate(-100, -24)"><rect/><foreignObject width="200" height="48"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;"><span class="nodeLabel "><p>Custom outbound webhooks</p></span></div></foreignObject></g></g></g></g></g></svg>